:root{color-scheme:light;font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#f4f7fb;color:#1f2937;--sf-red: #c71f2d;--sf-red-dark: #a51622;--sf-red-soft: #fff0f1;--sf-navy: #203052;--sf-navy-deep: #17233c;--sf-blue: #30446b;--page: #f4f7fb;--surface: #ffffff;--surface-soft: #f8fbff;--line: #dfe6ef;--line-strong: #c9d4e0;--text: #1f2937;--muted: #667389;--success: #17724f;--danger: #b42318;--warning: #8f5f0d;--shadow: 0 14px 34px rgba(24, 34, 54, .08);--shadow-soft: 0 8px 18px rgba(24, 34, 54, .05)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#fff,#f4f7fb00 240px),var(--page)}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}@keyframes bootProgress{0%{transform:translate(-110%)}to{transform:translate(260%)}}.loginShell{min-height:100vh;display:grid;align-content:center;justify-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(199,31,45,.04),transparent 28%),radial-gradient(circle at 80% 12%,rgba(48,68,107,.055),transparent 30%),var(--page)}.loginPanel{width:min(480px,100%);display:grid;gap:26px;border:1px solid var(--line);border-radius:12px;padding:44px 40px 38px;background:#fffffff0;box-shadow:var(--shadow)}.bootPanel{width:min(360px,100%);display:grid;justify-items:center;gap:12px;padding:30px;color:var(--sf-navy)}.bootPanel h1{margin:0;font-size:26px;letter-spacing:0}.bootProgress{position:relative;width:172px;height:4px;overflow:hidden;border-radius:999px;background:#2f3a6824}.bootProgress:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:44%;border-radius:inherit;background:var(--sf-red);animation:bootProgress 1.1s ease-in-out infinite}.loginPanel svg{color:var(--sf-navy)}.loginPanel h1{font-size:24px;margin:4px 0 0}.loginPanel .eyebrow{margin-bottom:4px}.loginPanel label{display:grid;gap:10px;color:var(--muted);font-size:14px;font-weight:500}.loginPanel input{height:48px;border:1px solid var(--line-strong);border-radius:10px;padding:0 16px;font-size:15px;color:var(--text);background:#fff;outline:none}.loginPanel input:focus{border-color:var(--sf-blue);box-shadow:0 0 0 3px #2f3a681a}.loginPanel button{height:48px;border:0;border-radius:10px;font-size:16px;font-weight:600;color:#fff;background:var(--sf-navy);cursor:pointer;margin-top:4px}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:10px;padding:18px 14px;border-right:1px solid var(--line);background:#fffffff0;color:var(--text)}.rail:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--sf-red)}.railBrand{position:relative;display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 6px 18px;margin-bottom:4px;border-bottom:1px solid var(--line)}.mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;flex:0 0 auto;color:var(--sf-navy);background:#fff;border:1px solid var(--line);box-shadow:0 8px 18px #26304a0f}.mark svg{width:28px;height:28px;display:block}.railBrandText{display:grid;gap:3px;min-width:0}.railBrandText strong{overflow:hidden;color:var(--text);font-size:15px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.railBrandText span{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.railNav{display:grid;gap:6px}.railButton{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:8px;padding:0 11px;color:#536078;background:transparent;cursor:pointer;text-align:left;transition:background .16s ease,color .16s ease,border-color .16s ease}.railButton:hover{color:var(--sf-navy);background:#f5f8fc}.railButton.active{position:relative;border-color:#f4d4d6;color:var(--sf-red-dark);background:var(--sf-red-soft);box-shadow:none}.railButton.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:999px;background:var(--sf-red)}.railButton svg{flex:0 0 auto}.railLabel{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.railExit{margin-top:auto}.workspace{min-width:0;padding:28px 34px 40px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:74px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.topActions{display:flex;align-items:center;gap:10px}.pageHeading{display:grid;gap:8px;min-width:0}.pageLead{max-width:780px;color:var(--muted);font-size:14px;line-height:1.55}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{color:var(--text);font-size:clamp(26px,2.5vw,36px);line-height:1.12;font-weight:720;letter-spacing:0}.statusPill{display:inline-flex;align-items:center;gap:8px;border:1px solid #cfe6da;border-radius:999px;padding:8px 12px;color:#12633f;background:#f1fbf6;white-space:nowrap}.statusPill span{width:8px;height:8px;border-radius:999px;background:#20b26b;box-shadow:0 0 0 5px #20b26b24}.loginHint{border:1px solid #f0c7ca;border-radius:8px;padding:12px 14px;color:#9d1d22;background:#fff4f4}.toast{position:fixed;top:24px;right:24px;z-index:50;min-width:min(420px,calc(100vw - 32px));max-width:520px;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;box-shadow:0 18px 40px #18223624;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast.success{color:var(--success);background:#f0fbf5f5;border-color:#bfe4d0}.toast.error{color:#9d1d22;background:#fff4f4f7;border-color:#f0c7ca}.toast span{flex:1;color:inherit;font-size:13px;line-height:1.5}.toastClose{width:24px;height:24px;display:grid;place-items:center;border:0;padding:0;color:inherit;background:transparent;cursor:pointer;opacity:.72}.toastClose:hover{opacity:1}.metricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}.metric,.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.metric{position:relative;overflow:hidden;padding:18px}.metric:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--sf-red);opacity:.72}.metricIcon{width:36px;height:36px;display:grid;place-items:center;border:1px solid #e1e7f0;border-radius:8px;color:var(--sf-blue);background:#f5f8fc;margin-bottom:16px}.metric span,.metric p,.row span,.clientItem p,.auditItem span{color:var(--muted);font-size:13px}.metric strong{display:block;margin:4px 0;color:#182033;font-size:28px;line-height:1.1;font-weight:760;letter-spacing:0}.mainGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px}.compactGrid{margin-bottom:0}.panel{padding:18px}.panel:first-child{grid-row:span 2}.panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2{color:var(--text);font-size:18px;font-weight:760}.panel>header>button,.confirmButton,.modalActions button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--sf-navy);border-radius:8px;padding:8px 12px;color:#fff;background:var(--sf-navy);cursor:pointer;white-space:nowrap;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.panel>header>button:hover,.confirmButton:hover,.modalActions button[type=submit]:hover{border-color:var(--sf-navy-deep);background:var(--sf-navy-deep);box-shadow:0 10px 20px #27324f1f}.muted{color:var(--muted);font-size:14px}.directorySummary,.directoryDetail{display:grid;gap:16px}.directoryHeadline{display:grid;gap:6px}.directoryHeadline strong{color:var(--text);font-size:20px}.directoryHeadline span{color:var(--muted);font-size:13px}.directoryStats,.directoryMetaGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.directoryStats div,.panelInset{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface-soft)}.directoryStats small,.panelInset span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.directoryStats strong,.panelInset strong{color:var(--sf-blue);font-size:20px}.directoryBanner{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:8px;padding:18px;background:linear-gradient(90deg,rgba(199,31,45,.04),transparent 42%),var(--surface-soft)}.ghostButton,.iconTextButton,.iconButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;color:var(--sf-blue);background:#fff;cursor:pointer;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.ghostButton:hover,.iconTextButton:hover,.iconButton:hover{border-color:#b8c4d6;background:#f8fafd}.iconButton{width:34px;height:34px;padding:0}.iconTextButton.danger,.iconButton.danger{border-color:#f0c6c8;color:var(--danger);background:#fff6f6}.iconTextButton.danger:hover,.iconButton.danger:hover{border-color:#eaa8ab;background:#fff0f0}.table,.clientStack,.auditList{display:grid;gap:10px}.row,.auditItem{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}.sessionRow{min-height:54px}.row div,.auditItem div,.clientItem div{display:grid;gap:4px;min-width:0}.row strong,.clientItem strong,.auditItem strong{overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-flex;align-items:center;width:fit-content;max-width:100%;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;white-space:nowrap}.badge.green{color:#12633f;background:#dcf4e6}.badge.gray{color:#596476;background:#eef2f7}.badge.red{color:var(--danger);background:#fff1f2}.clientItem{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.clientHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.clientHeader>div:first-child{min-width:0}code{overflow:hidden;color:#7a4c0d;text-overflow:ellipsis}.emptyState{display:grid;gap:4px;justify-items:start;border-top:1px solid var(--line);padding-top:12px}.emptyState strong{color:var(--text);font-size:14px}.emptyState p{color:var(--muted);font-size:13px}.tableToolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.toolbarMeta{display:flex;align-items:center;gap:10px}.toolbarChip{display:inline-flex;align-items:center;min-height:38px;border:1px solid var(--line);border-radius:999px;padding:0 12px;color:var(--muted);background:var(--surface-soft);white-space:nowrap}.searchBox{flex:1;min-width:220px;height:40px;display:flex;align-items:center;gap:9px;border:1px solid var(--line-strong);border-radius:8px;padding:0 11px;color:var(--muted);background:#fff}.searchBox:focus-within{border-color:var(--sf-blue);box-shadow:0 0 0 3px #2f3a681a}.searchBox input{width:100%;min-width:0;border:0;outline:0;color:var(--text);background:transparent}.dataTableWrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.dataTableHead{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 14px;color:var(--muted);font-size:13px;background:var(--surface-soft)}.dataTable{width:100%;min-width:1080px;border-collapse:collapse}.mobileRecordList{display:none}.dataTable th,.dataTable td{border-bottom:1px solid var(--line);padding:13px 12px;text-align:left;vertical-align:middle;font-size:13px}.dataTable th{color:#4c5870;font-weight:760;background:#f3f6fa}.dataTable tr:last-child td{border-bottom:0}.dataTable td{color:#2b3342}.dataTable tbody tr:hover{background:#f7fbff}.dataTable td:nth-child(2),.dataTable td:nth-child(6),.stackCell small{color:var(--muted)}.stackCell{display:grid;gap:4px}.stackCell small{font-size:12px}.tableActions{display:flex;align-items:center;gap:7px}.mobileRecordCard{display:grid;gap:14px;border-top:1px solid var(--line);padding:14px}.mobileRecordHeader,.mobileRecordFoot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobileRecordIdentity{display:grid;gap:4px;min-width:0}.mobileRecordIdentity strong,.mobileRecordMeta span,.mobileRecordFoot p{color:var(--text)}.mobileRecordIdentity span,.mobileRecordMeta small,.mobileRecordFoot p{font-size:13px;line-height:1.5}.mobileRecordIdentity span,.mobileRecordMeta small{color:var(--muted)}.mobileRecordMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mobileRecordMeta div{display:grid;gap:4px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--surface-soft)}.modalScrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:#1822363d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modalCard{width:min(620px,100%);border:1px solid var(--line);border-radius:8px;padding:22px;background:#fffffffa;box-shadow:0 24px 70px #18223629}.modalCardWide{width:min(760px,100%)}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.modalHeader h3{margin:0;color:var(--text);font-size:22px}.modalForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clientModalForm{grid-template-columns:minmax(0,1.1fr) minmax(180px,.9fr)}.modalForm label{display:grid;gap:6px;color:#4c5870;font-size:13px}.modalForm input,.modalForm select,.modalForm textarea{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:8px;color:var(--text);background:#fff;outline:none}.modalForm input,.modalForm select{height:42px;padding:0 12px}.modalForm textarea{min-height:92px;padding:10px 12px;resize:vertical}.modalForm input[readonly]{color:var(--muted);background:#f7f9fc}.modalForm input:focus,.modalForm select:focus,.modalForm textarea:focus,.tableToolbar input:focus,.searchBox input:focus{border-color:var(--sf-blue);box-shadow:0 0 0 3px #2f3a681a}.modalForm input[autocomplete=off]::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none}.modalActions,.pagination,.pagination div{display:flex;align-items:center;gap:10px}.modalActions{grid-column:1 / -1;justify-content:flex-end;margin-top:6px}.fullSpan{grid-column:1 / -1}.pagination{justify-content:space-between;margin-top:14px;color:var(--muted);font-size:13px}.pagination strong{color:var(--text)}.checkboxLine{display:flex!important;align-items:center;grid-template-columns:none;gap:8px!important}.checkboxLine input{width:16px;height:16px;accent-color:var(--sf-navy)}.confirmBody{display:grid;gap:16px}.confirmBody p{color:var(--text);line-height:1.6}.confirmButton.danger{border-color:#f0c6c8;color:#fff;background:var(--danger)}.confirmButton.danger:hover{border-color:#a61a12;background:#a61a12}@media (max-width: 900px){.shell{grid-template-columns:1fr}.rail{position:sticky;z-index:20;height:auto;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding:12px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.rail:before{height:3px}.railBrand{flex:0 0 auto;min-height:44px;padding:0 12px 0 0;margin:0 4px 0 0;border-right:1px solid var(--line);border-bottom:0}.railBrandText strong{max-width:92px}.railNav{display:flex;flex:0 0 auto;gap:8px}.railButton{width:auto;flex:0 0 auto}.workspace{padding:22px}.mainGrid,.directoryStats,.directoryMetaGrid{grid-template-columns:1fr}.panel:first-child{grid-row:auto}.topbar{flex-direction:column}.topActions,.tableToolbar,.pagination,.pagination div{width:100%;grid-template-columns:1fr;flex-direction:column;align-items:stretch}.toolbarMeta{width:100%;flex-direction:column;align-items:stretch}.toolbarChip{justify-content:center}.dataTableDesktop{display:none}.mobileRecordList{display:grid}.dataTableWrap{overflow:hidden}.dataTableHead{align-items:flex-start;flex-direction:column}.mobileRecordMeta{grid-template-columns:1fr}.mobileRecordFoot{flex-direction:column;align-items:stretch}.modalForm{grid-template-columns:1fr}.modalActions{justify-content:stretch}.toast{top:12px;right:12px;left:12px;min-width:0}}
