:root{color-scheme:light;--desktop-ink: #172521;--desktop-ink-soft: #5f746d;--desktop-primary: #1f6b59;--desktop-primary-strong: #185746;--desktop-primary-soft: #e8f3ef;--desktop-primary-hover: #dcece5;--desktop-border: rgba(23, 63, 54, .12);--desktop-border-strong: rgba(23, 63, 54, .2);--desktop-surface: rgba(255, 255, 255, .94);--desktop-surface-soft: #f3f8f5;--desktop-white: #ffffff;--desktop-danger: #a52f24;--desktop-danger-soft: #fff1ef;--desktop-space-2: 8px;--desktop-space-3: 12px;--desktop-space-4: 16px;--desktop-space-5: 24px;--desktop-space-6: 32px;--desktop-font-body: 16px;--desktop-font-card-title: 18px;--desktop-font-page-title: 28px;--desktop-font-compact: 14px;--desktop-font-caption: 13px;--desktop-control-height: 44px;--desktop-action-min-width: 96px;--desktop-focus-ring: rgba(31, 107, 89, .22);--desktop-card-radius: 12px;--desktop-control-radius: 8px;--desktop-pill-radius: 999px;--desktop-card-shadow: 0 8px 20px rgba(23, 63, 54, .05);--desktop-audit-max-width: 1120px;--desktop-audit-table-min-width: 760px;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;background:var(--desktop-surface-soft);color:var(--desktop-ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-size:var(--desktop-font-body)}button,input{font:inherit}.portal-frame{min-height:100vh;display:grid;place-items:center;padding:var(--desktop-space-5) var(--desktop-space-4)}.portal-panel{width:min(100%,440px);padding:var(--desktop-space-6) var(--desktop-space-5);border:1px solid var(--desktop-border);border-radius:var(--desktop-card-radius);background:var(--desktop-surface);box-shadow:var(--desktop-card-shadow)}.portal-nav{width:min(100%,720px)}.portal-panel h1{margin:0 0 var(--desktop-space-2);font-size:var(--desktop-font-page-title);line-height:1.25}.lede,.auth-step-hint,.app-card p{margin:0;color:var(--desktop-ink-soft);line-height:1.55}.badge{display:inline-flex;margin:0 0 var(--desktop-space-3);padding:var(--desktop-space-2) var(--desktop-space-3);border-radius:var(--desktop-pill-radius);background:var(--desktop-primary-soft);color:var(--desktop-primary-strong);font-size:12px;font-weight:700}.auth-form,.stack,.auth-identify-row{display:grid;gap:var(--desktop-space-3);margin-top:var(--desktop-space-5)}.portal-panel:not(.portal-nav) h1{margin-bottom:0}.auth-form:has(.auth-identify-row),.auth-form:has(.stack){margin-top:var(--desktop-space-3)}.auth-identify-row,.auth-form>.stack{margin-top:0}.field{display:grid;gap:var(--desktop-space-2)}.field input{width:100%;min-height:44px;padding:var(--desktop-space-3);border:1px solid var(--desktop-border-strong);border-radius:var(--desktop-control-radius);background:var(--desktop-white);color:var(--desktop-ink)}.button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:var(--desktop-space-2) var(--desktop-space-3);border:0;border-radius:var(--desktop-control-radius);font-weight:700;cursor:pointer}.button-primary{background:var(--desktop-primary);color:var(--desktop-white)}.button-primary:hover{background:var(--desktop-primary-strong)}.button-secondary{background:var(--desktop-primary-soft);color:var(--desktop-primary-strong)}.button-secondary:hover{background:var(--desktop-primary-hover)}.button:disabled{opacity:.55;cursor:not-allowed}.button:focus-visible,.field input:focus-visible{outline:3px solid var(--desktop-focus-ring);outline-offset:2px}.inline-error{margin:0;padding:var(--desktop-space-3);border-radius:var(--desktop-control-radius);background:var(--desktop-danger-soft);color:var(--desktop-danger)}.auth-totp-secret{margin:0;padding:var(--desktop-space-3);border:1px dashed var(--desktop-border-strong);border-radius:var(--desktop-control-radius);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;word-break:break-all}.totp-setup-qr{width:220px;height:220px;margin:0 auto}.nav-head{display:flex;justify-content:space-between;gap:var(--desktop-space-4);align-items:flex-start}.nav-head .button{width:auto;min-width:96px}.nav-actions{display:flex;flex-wrap:wrap;gap:var(--desktop-space-2)}.portal-audit{width:min(100%,var(--desktop-audit-max-width))}.audit-head{margin-bottom:var(--desktop-space-5)}.audit-head .badge{margin-bottom:var(--desktop-space-2)}.audit-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--desktop-space-3);padding:var(--desktop-space-4) 0;border-top:1px solid var(--desktop-border);border-bottom:1px solid var(--desktop-border)}.audit-filters .field{min-width:0;margin:0}.audit-filters .field span{color:var(--desktop-ink-soft);font-size:var(--desktop-font-compact)}.audit-filters input,.audit-filters select{width:100%;min-width:0;min-height:var(--desktop-control-height);padding:var(--desktop-space-2) var(--desktop-space-3);border:1px solid var(--desktop-border-strong);border-radius:var(--desktop-control-radius);background:var(--desktop-white);color:var(--desktop-ink)}.audit-filters input:focus-visible,.audit-filters select:focus-visible{outline:3px solid var(--desktop-focus-ring);outline-offset:2px}.audit-filter-query{grid-column:span 2}.audit-filter-actions{display:flex;align-items:end;gap:var(--desktop-space-2)}.audit-filter-actions .button{width:auto;min-width:var(--desktop-action-min-width)}.audit-summary{min-height:var(--desktop-control-height);display:flex;align-items:center;color:var(--desktop-ink-soft);font-size:var(--desktop-font-compact)}.audit-table-wrap{width:100%;overflow-x:auto;border-top:1px solid var(--desktop-border-strong)}.audit-table{width:100%;min-width:var(--desktop-audit-table-min-width);border-collapse:collapse;text-align:left}.audit-table th,.audit-table td{padding:var(--desktop-space-3);border-bottom:1px solid var(--desktop-border);vertical-align:top;line-height:1.45;overflow-wrap:anywhere}.audit-table th{color:var(--desktop-ink-soft);font-size:var(--desktop-font-caption);font-weight:700}.audit-table td{font-size:var(--desktop-font-compact)}.audit-table td small{display:block;margin-top:4px;color:var(--desktop-ink-soft)}.audit-time{white-space:nowrap}.audit-result.is-success{color:var(--desktop-primary-strong)}.audit-result.is-failure{color:var(--desktop-danger)}.audit-pagination{display:flex;justify-content:flex-end;gap:var(--desktop-space-2);padding-top:var(--desktop-space-4)}.audit-pagination .button{width:auto;min-width:var(--desktop-action-min-width)}.app-list{display:grid;gap:var(--desktop-space-3);margin:var(--desktop-space-5) 0 0;padding:0;list-style:none}.app-card{display:flex;justify-content:space-between;gap:var(--desktop-space-4);align-items:center;padding:var(--desktop-space-4);border:1px solid var(--desktop-border);border-left:4px solid var(--desktop-primary);border-radius:var(--desktop-card-radius);background:var(--desktop-white)}.app-card.is-locked{border-left-color:var(--desktop-border-strong)}.app-card h2{margin:0 0 var(--desktop-space-2);font-size:var(--desktop-font-card-title)}.app-card .button{width:auto;min-width:112px}@media(max-width:900px){.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-query{grid-column:span 2}}@media(max-width:640px){.nav-head,.app-card,.audit-head{display:grid}.nav-head .button,.app-card .button{width:100%}.nav-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filters{grid-template-columns:minmax(0,1fr)}.audit-filter-query{grid-column:auto}.audit-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-actions .button{width:100%}.audit-pagination{justify-content:stretch}.audit-pagination .button{flex:1}}@media(prefers-reduced-motion:reduce){.button{transition:none}}
