:root{
  --ink:#1e2522;
  --muted:#66736d;
  --soft:#eef4f1;
  --paper:#fbfaf5;
  --panel:#fff;
  --line:#d8ded8;
  --line-strong:#b9c5bc;
  --dark:#0d1715;
  --dark-2:#13211e;
  --teal:#0f766e;
  --green:#147a4d;
  --gold:#986f24;
  --orange:#f97316;
  --red:#b42318;
  --blue:#2856b6;
  --shadow:0 12px 34px rgba(26,34,30,.10);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:#edf3f0}
body{margin:0}
button,input,select,textarea{font:inherit}
.authPending .app{display:none}
.authReady .authGate{display:none}
.authGate{min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf3f0}
.authCard{width:min(440px,100%);display:grid;gap:18px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:26px;box-shadow:var(--shadow)}
.authBrand{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}
.authBrand strong{font-size:27px;font-weight:950;letter-spacing:.16em;color:var(--dark)}
.authBrand span{color:var(--muted);font-size:13px;font-weight:850;text-align:right}
.authHeading{display:grid;gap:7px}
.authHeading h1{margin:0;font-size:25px}
.authHeading p{margin:0;color:var(--muted);line-height:1.55}
.authLoginForm{display:grid;gap:12px}
.authSubmit,.authReset{width:100%}
.authError{border:1px solid #ffc8c2;border-radius:8px;background:#fff4f2;padding:10px 12px;color:var(--red);font-weight:850;line-height:1.45}
.authFoot{border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:12px;text-align:center}
.app{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:var(--dark);color:#f6fbf8;padding:18px;border-right:1px solid rgba(255,255,255,.08)}
.brandPanel{border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#12231f;padding:18px}
.brandMark{font-size:32px;font-weight:950;letter-spacing:.18em}
.brandText{margin-top:8px;color:#bfd0ca;font-size:13px;line-height:1.45}
.casePanel{display:block;width:100%;margin-top:12px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:var(--dark-2);color:inherit;text-align:left;cursor:pointer}
.casePanel:hover,.casePanel:focus-visible{border-color:rgba(255,255,255,.35);outline:none}
.casePanel:disabled{cursor:default;opacity:.72}
.casePanel:disabled:hover{border-color:rgba(255,255,255,.12)}
.casePanel span{display:block;color:#a8b9b4;font-size:12px;font-weight:800}
.casePanel strong{display:block;margin-top:4px;line-height:1.35}
.casePanel small{display:block;margin-top:6px;color:#b7c9c3}
.nav{display:grid;gap:6px;margin-top:14px}
.nav button{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;width:100%;border:0;border-radius:8px;padding:10px;background:transparent;color:#d8e5e1;text-align:left;cursor:pointer}
.nav button:hover,.nav button.active{background:#173632;color:#fff}
.nav .idx{display:grid;place-items:center;height:24px;border-radius:6px;background:rgba(255,255,255,.09);font-size:12px;font-weight:900}
.nav .count{font-size:12px;color:#9db4ad}
.main{min-width:0;padding:22px}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 16px;background:linear-gradient(180deg,#edf3f0 72%,rgba(237,243,240,0))}
.eyebrow{font-size:12px;color:var(--teal);font-weight:950;letter-spacing:.06em}
h1{margin:4px 0 0;font-size:26px;letter-spacing:0}
.topActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sessionChip{display:flex;align-items:center;min-height:38px;border:1px solid #b8d9ce;border-radius:8px;background:#f3fbf8;padding:6px 10px;color:#155e4b;font-size:12px;font-weight:900;white-space:nowrap}
.iconBtn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:20px;font-weight:900;cursor:pointer}
.iconBtn:hover{border-color:var(--teal);color:var(--teal)}
.iconBtn:focus-visible{outline:3px solid rgba(15,118,110,.28);outline-offset:2px}
.saveState{display:flex;align-items:center;min-height:38px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap}
.saveState:before{content:"";width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--green)}
.saveState[data-state="saving"]:before{background:var(--gold);animation:pulse 1s infinite}
.saveState[data-state="error"]:before,.saveState[data-state="conflict"]:before{background:var(--red)}
@keyframes pulse{50%{opacity:.35}}
.btn{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);min-height:38px;padding:8px 12px;font-weight:850;cursor:pointer}
.btn:hover{border-color:var(--teal)}
.btn:focus-visible,.nav button:focus-visible,.step:focus-visible{outline:3px solid rgba(15,118,110,.28);outline-offset:2px}
.btn:disabled{cursor:wait;opacity:.68}
.caseRow .btn:disabled{cursor:not-allowed;opacity:.42}
.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.ghost{background:#f8fbfa}
.btn.danger{background:#fff1f0;border-color:#ffc8c2;color:var(--red)}
.btn.small{min-height:32px;padding:6px 10px;font-size:13px}
.statusGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.statusCard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px;box-shadow:var(--shadow)}
.statusCard span{display:block;color:var(--muted);font-size:12px;font-weight:850}
.statusCard strong{display:block;margin-top:4px;font-size:24px}
.statusCard small{display:block;margin-top:4px;color:var(--muted)}
.view{display:grid;gap:16px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.panelHead{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 16px}
.panelHead h2{margin:0;font-size:18px}
.panelBody{padding:16px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wide{grid-column:1/-1}
.field{display:grid;gap:6px}
.field label,.field span{font-size:12px;color:var(--muted);font-weight:850}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;min-height:40px;padding:9px 10px;outline:none;color:var(--ink)}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,118,110,.14)}
.companyContext{display:grid;gap:3px;align-content:center;border-left:3px solid var(--teal);background:#f4fbf8;padding:9px 12px}
.companyContext span,.companyContext small{color:var(--muted);font-size:11px;font-weight:800}
.companyContext strong{font-size:14px}
.required label:after,.required span:after{content:" 必填";color:var(--red);font-size:11px}
.workflow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.step{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;cursor:pointer}
.step.active{border-color:var(--teal);background:#f4fffd}
.step b{display:block}
.step small{display:block;color:var(--muted);margin-top:4px}
.sharedCaseNotice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;border-left:4px solid var(--teal);background:#f3fbf8;padding:10px 12px}
.sharedCaseNotice span{color:var(--muted);font-size:12px;line-height:1.45}
.caseToolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:center;margin-bottom:12px}
.caseSearch input{width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 11px;outline:none}
.caseSearch input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,118,110,.14)}
.segmented{display:flex;border:1px solid var(--line);border-radius:8px;background:#f6f8f7;padding:3px;overflow:auto}
.segmented button{min-height:32px;border:0;border-radius:6px;background:transparent;padding:5px 9px;color:var(--muted);font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}
.segmented button.active{background:#fff;color:var(--teal);box-shadow:0 1px 4px rgba(20,31,27,.12)}
.caseListHead,.caseRow{display:grid;grid-template-columns:minmax(190px,1.35fr) minmax(130px,.9fr) minmax(135px,.85fr) minmax(150px,1fr) 86px 136px;gap:12px;align-items:center}
.caseListHead{padding:0 12px 7px;color:var(--muted);font-size:11px;font-weight:900}
.caseList{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.caseRow{min-height:76px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--line)}
.caseRow:last-child{border-bottom:0}
.caseRow:hover{background:#f8fbfa}
.caseRow.archived{background:#f5f6f6;color:#52605a}
.caseIdentity{display:grid;gap:4px;min-width:0;border:0;background:transparent;padding:0;color:inherit;text-align:left;cursor:pointer}
.caseName{overflow:hidden;text-overflow:ellipsis;font-weight:950;white-space:nowrap}
.caseNo,.caseStore span,.caseDate span{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:11px;white-space:nowrap}
.caseStore,.caseDate{display:grid;gap:4px;min-width:0;font-size:13px}
.caseProgress{display:grid;gap:7px}
.caseProgress>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:900}
.caseProgress small{color:var(--muted)}
.progressTrack{display:block;width:100%;height:6px;border:0;border-radius:999px;background:#e5ebe7;overflow:hidden;appearance:none}
.progressTrack::-webkit-progress-bar{background:#e5ebe7;border-radius:999px}
.progressTrack::-webkit-progress-value{background:var(--teal);border-radius:999px}
.progressTrack::-moz-progress-bar{background:var(--teal);border-radius:999px}
.caseActions{display:flex;justify-content:flex-end;gap:6px}
.conflictBanner{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #f4aaa2;border-radius:8px;background:#fff4f2;padding:12px 14px;color:#7b251e}
.conflictBanner div:first-child{display:grid;gap:3px}
.conflictBanner span{font-size:12px;line-height:1.45}
.conflictBanner div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.cloudBoundary{margin-top:12px;border-left:4px solid var(--gold);background:#fffbf1;padding:12px 14px}
.cloudBoundary p{margin:5px 0 0;color:var(--muted);line-height:1.55}
.cloudChecklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:8px;background:var(--line);overflow:hidden}
.cloudChecklist>div{display:grid;gap:6px;align-content:start;background:#fff;padding:14px}
.cloudChecklist .badge{justify-self:start}
.cloudChecklist small{color:var(--muted);line-height:1.45}
.setupState,.accessDenied{max-width:720px;padding:8px 2px}
.setupState h3,.accessDenied h3{margin:12px 0 6px;font-size:20px}
.setupState p,.accessDenied p{margin:0 0 14px;color:var(--muted);line-height:1.6}
.accountSession{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #b8d9ce;border-radius:8px;background:#f3fbf8;padding:10px 12px;font-size:13px;font-weight:850}
.accountInviteForm{display:grid;gap:14px}
.accountInviteNote{display:grid;align-content:center;gap:4px;border-left:3px solid var(--teal);padding:8px 12px;background:#f6fbf9}
.accountInviteNote span{color:var(--muted);font-size:12px;line-height:1.45}
.storeScope{margin:0;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.storeScope legend{padding:0 5px;color:var(--muted);font-size:12px;font-weight:850}
.storeScope>div{display:flex;gap:8px;flex-wrap:wrap}
.storeScope label{display:flex;align-items:center;gap:6px;min-height:36px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:6px 9px;cursor:pointer}
.storeScope input{width:18px;height:18px;margin:0}
.storeScope span{font-size:13px;font-weight:850}
.formFooter{display:flex;align-items:center;justify-content:space-between;gap:12px}
.formFooter>span{color:var(--muted);font-size:12px}
.accountToolbar{display:grid;grid-template-columns:minmax(240px,1fr) 150px 150px auto;gap:10px;align-items:end;margin-bottom:12px}
.compactSelect{display:grid;gap:5px}
.compactSelect span{color:var(--muted);font-size:11px;font-weight:850}
.compactSelect select{min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 9px;color:var(--ink)}
.accountError{margin-bottom:12px;border:1px solid #ffc8c2;border-radius:8px;background:#fff4f2;padding:10px 12px;color:var(--red);font-weight:850}
.accountListHead,.accountRow{display:grid;grid-template-columns:minmax(210px,1.05fr) minmax(210px,1fr) minmax(150px,.7fr) minmax(340px,1.5fr);gap:12px;align-items:center}
.accountListHead{padding:0 12px 7px;color:var(--muted);font-size:11px;font-weight:900}
.accountList{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.accountPagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--muted);font-size:12px;font-weight:850}
.accountPagination>div{display:flex;align-items:center;gap:8px}
.accountRow{min-height:78px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}
.accountRow:last-child{border-bottom:0}
.accountRow:hover{background:#f9fbfa}
.accountRow.disabledAccount{background:#f5f6f6;color:#53615b}
.accountIdentity,.accountRole,.accountState{display:grid;gap:4px;min-width:0}
.accountIdentity strong,.accountIdentity span,.accountRole span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accountIdentity span,.accountRole span,.accountState small{color:var(--muted);font-size:11px}
.accountRole b{font-size:13px}
.accountState .badge{justify-self:start}
.accountActions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.accountRow .btn:disabled{cursor:not-allowed;opacity:.42}
.accountEdit{grid-column:1/-1;display:grid;grid-template-columns:1fr 180px 180px;gap:12px;border-top:1px solid var(--line);padding-top:12px}
.accountEdit .storeScope{grid-column:1/-1}
.accountEditActions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}
.bossLoginForm{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.8fr) minmax(220px,.8fr) auto;gap:12px;align-items:end}
.bossLoginForm>div p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.authSetupPage{min-height:100vh;background:#edf3f0;padding:28px}
.authSetupShell{width:min(560px,100%);margin:6vh auto}
.authSetupPage .authBrand{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;color:#173632}
.authSetupPage .authBrand span{font-size:30px;font-weight:950;letter-spacing:.14em}
.authSetupPage .authBrand small{color:var(--muted);font-weight:850}
.authSetupPanel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:26px;box-shadow:var(--shadow)}
.authSetupPanel h1{margin:13px 0 8px;font-size:26px}
.authSetupPanel>p{margin:0 0 18px;color:var(--muted);line-height:1.6}
.authSetupPanel form{display:grid;gap:14px}
.passwordRule{border-left:3px solid var(--teal);background:#f4faf7;padding:9px 11px;color:var(--muted);font-size:12px;line-height:1.5}
.authError{color:var(--red)!important;font-weight:850}
.authSuccess{color:var(--green)!important;font-weight:900}
.authLink{display:inline-flex;align-items:center;text-decoration:none}
.archivedView .field input,.archivedView .field select,.archivedView .field textarea{background:#f2f4f3;color:#5e6864}
.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;padding:3px 8px;background:#eef6f4;color:var(--teal);font-size:12px;font-weight:900}
.badge.green{background:#eaf7ef;color:var(--green)}
.badge.gold{background:#fff5dc;color:#855b12}
.badge.red{background:#fff1f0;color:var(--red)}
.badge.blue{background:#eef2ff;color:var(--blue)}
.docGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.docItem{border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px;display:grid;gap:10px}
.docTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.docTop b{display:block}
.docTop small{display:block;margin-top:4px;color:var(--muted)}
.attachmentNotice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;border:1px solid #b8d9ce;border-radius:8px;background:#f3fbf8;padding:10px 12px}
.attachmentNotice span{color:var(--muted);font-size:13px}
.fileActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fileInfo{display:grid;gap:3px;border:1px dashed var(--line-strong);border-radius:8px;background:#fafcfb;padding:9px 10px;min-width:0}
.fileInfo.ready{border-style:solid;border-color:#bdd9c8;background:#f8fcf9}
.fileInfo strong{overflow-wrap:anywhere;font-size:13px}
.fileInfo span,.attachmentMeta{color:var(--muted);font-size:12px;line-height:1.45}
.attachmentPreview{display:block;width:100%;max-height:240px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#f5f7f6}
.attachmentPreview.pdf,.attachmentPreview.file{padding:12px;color:var(--muted);font-size:12px;line-height:1.5}
.securityPanel{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #b8d9ce;border-radius:8px;background:#f3fbf8;padding:12px}
.securityPanel p{margin:4px 0 0;color:var(--muted);font-size:13px}
.integrityNote{color:var(--muted);font-size:12px;line-height:1.5}
.legalList{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:12px}
.legalDocCard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}
.legalDocCard.complete{border-color:#a7d7bd;background:#fbfffc}
.legalDocCard.active{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.legalDocCard h3{margin:7px 0 3px;font-size:15px;line-height:1.35}
.legalDocCard small{color:var(--muted);font-weight:800}
.legalActions{display:grid;gap:8px;justify-items:end}
.checkLine{display:flex;gap:8px;align-items:flex-start;justify-content:flex-end;font-size:13px;font-weight:850;color:var(--ink);line-height:1.5}
.checkLine input{width:18px;height:18px;margin-top:1px;flex:0 0 auto}
.legalDocDetail{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.legalDetailHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid var(--line);background:#fbfcf9}
.legalDetailHead h3{margin:7px 0 0;font-size:18px;line-height:1.35}
.legalBody{display:grid;gap:10px;padding:14px}
.legalSection{border-left:3px solid #d5e5dc;padding-left:12px}
.legalSection h4{margin:0 0 6px;font-size:14px;color:#1c514b}
.legalSection ul{margin:0;padding-left:18px;color:#35423d;line-height:1.65}
.legalSection li+li{margin-top:3px}
.legalEmpty{margin-top:0}
.tableWrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 10px;white-space:nowrap;vertical-align:middle}
th{position:sticky;top:0;background:#f4f6ec;color:#34431f;text-align:left;font-size:13px}
th:last-child,td:last-child{border-right:0}
tr:last-child td{border-bottom:0}
.issueList{display:grid;gap:8px}
.issue{border:1px solid #ffc8c2;border-radius:8px;background:#fff8f7;color:var(--red);padding:10px;font-weight:850}
.okBox{border:1px solid #bfdec9;border-radius:8px;background:#f4fbf6;color:var(--green);padding:14px;font-weight:900}
.sigGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sigCard{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}
.sigCard h3{margin:0 0 8px;font-size:15px}
.sigPad{width:100%;height:150px;border:1px dashed var(--line-strong);border-radius:8px;background:#fff;touch-action:none;display:block}
.sigTools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;flex-wrap:wrap}
.sigTools>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.exportGrid{display:grid;gap:10px}
.exportProtection{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}
.exportProtection>div:first-child b{display:block}
.exportProtection>div:first-child p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.exportPasswordFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.exportSecretPanel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid #9fd2b7;border-radius:8px;background:#f2fbf6;padding:14px}
.exportSecretPanel>div:first-child{display:grid;gap:4px}
.exportSecretPanel>div:first-child .badge{justify-self:start}
.exportSecretPanel p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.exportSecretPanel code{display:block;border:1px solid #9fc4b0;border-radius:7px;background:#fff;padding:10px 12px;color:#0a4f3d;font-size:17px;font-weight:950;letter-spacing:0;white-space:nowrap;user-select:all}
.exportSecretActions{display:flex;gap:8px}
.exportRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}
.exportRow b{display:block}
.exportRow p{margin:4px 0 0;color:var(--muted);font-size:13px}
.exportVault{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}
.exportVaultHead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.exportVaultHead b{display:block}
.exportVaultHead p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.exportRecordList{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.exportRecord{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 12px;border-bottom:1px solid var(--line);background:#fff}
.exportRecord:last-child{border-bottom:0}
.exportRecordMeta{display:grid;gap:3px;min-width:0}
.exportRecordMeta b,.exportRecordMeta span,.exportRecordMeta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exportRecordMeta span,.exportRecordMeta small{color:var(--muted);font-size:11px}
.exportRecovery{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;border-top:1px solid var(--line);padding-top:10px}
.exportRecovery>div{display:flex;gap:8px}
.toast{position:fixed;right:18px;bottom:18px;z-index:80;background:#10201d;color:white;padding:11px 14px;border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.22);font-weight:850}
.empty{border:1px dashed var(--line-strong);border-radius:8px;background:#fff;padding:24px;text-align:center;color:var(--muted)}
.rightRail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}
.summaryBox{display:grid;gap:10px}
.summaryLine{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:8px}
.summaryLine:last-child{border-bottom:0}
.summaryLine span{color:var(--muted)}
.printOnly{display:none}
@media print{
  body{background:#fff}
  .sidebar,.topbar,.statusGrid,.btn,.noPrint{display:none!important}
  .app{display:block}
  .main{padding:0}
  .panel{box-shadow:none;border:0;border-radius:0;break-inside:avoid}
  .panelHead{padding:8px 0}
  .panelBody{padding:8px 0}
  .printOnly{display:block}
}
@media(max-width:1080px){
  .app{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .main{padding:14px}
  .topbar{position:relative;align-items:flex-start}
  .statusGrid,.workflow,.grid3,.sigGrid,.rightRail{grid-template-columns:1fr}
  .legalDocCard{grid-template-columns:1fr}
  .legalActions{justify-items:start}
  .legalDetailHead{display:grid}
  .checkLine{justify-content:flex-start}
  .caseToolbar{grid-template-columns:1fr}
  .accountToolbar{grid-template-columns:1fr 1fr 1fr}
  .accountToolbar .caseSearch{grid-column:1/-1}
  .accountListHead{display:none}
  .accountRow{grid-template-columns:1fr 1fr;grid-template-areas:"accountIdentity accountState" "accountRole accountRole" "accountActions accountActions"}
  .accountIdentity{grid-area:accountIdentity}.accountRole{grid-area:accountRole}.accountState{grid-area:accountState}.accountActions{grid-area:accountActions;justify-content:flex-start}
  .accountEdit{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .accountEdit .storeScope,.accountEditActions{grid-column:1/-1}
  .bossLoginForm{grid-template-columns:1fr 1fr}
  .bossLoginForm>div{grid-column:1/-1}
  .caseListHead{display:none}
  .caseRow{grid-template-columns:minmax(0,1.4fr) minmax(120px,.8fr) minmax(130px,.8fr);grid-template-areas:"identity store status" "date progress actions"}
  .caseIdentity{grid-area:identity}.caseStore{grid-area:store}.caseDate{grid-area:date}.caseProgress{grid-area:progress}.caseStatus{grid-area:status}.caseActions{grid-area:actions}
}
@media(max-width:720px){
  .topbar,.topActions,.grid2,.docGrid,.exportRow,.exportPasswordFields,.exportProtection,.exportSecretPanel,.exportRecord,.exportRecovery{display:grid;grid-template-columns:1fr}
  .sidebar{display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px;padding:10px}
  .brandPanel{padding:12px}
  .brandMark{font-size:20px}
  .brandText{display:none}
  .casePanel{margin-top:0;padding:10px}
  .casePanel small{margin-top:3px}
  .nav{grid-column:1/-1;display:flex;gap:4px;margin-top:0;overflow-x:auto;padding-bottom:2px}
  .nav button{flex:0 0 auto;grid-template-columns:24px auto auto;width:auto;padding:8px}
  .topActions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .topActions .saveState{grid-column:1/-1}
  .statusGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .attachmentNotice,.securityPanel,.sharedCaseNotice{align-items:flex-start;display:grid}
  .btn,.btn.small{min-height:44px}
  .segmented button,.nav button,.caseIdentity,.field input,.field select,.compactSelect select,.caseSearch input,.storeScope label{min-height:44px}
  .nav{grid-template-columns:1fr 1fr}
  h1{font-size:22px}
  th,td{padding:8px}
  .saveState{justify-content:center}
  .caseRow{grid-template-columns:1fr auto;grid-template-areas:"identity status" "store store" "date date" "progress progress" "actions actions";gap:9px}
  .caseActions{justify-content:stretch}
  .caseActions .btn{flex:1}
  .segmented{width:100%}
  .segmented button{flex:1}
  .conflictBanner{display:grid}
  .cloudChecklist,.accountToolbar,.accountEdit,.bossLoginForm{grid-template-columns:1fr}
  .accountToolbar .caseSearch,.accountEdit .storeScope,.accountEditActions,.bossLoginForm>div{grid-column:auto}
  .accountRow{grid-template-columns:1fr;grid-template-areas:"accountIdentity" "accountRole" "accountState" "accountActions"}
  .accountActions{display:grid;grid-template-columns:1fr}
  .formFooter,.accountSession{align-items:stretch;display:grid}
  .accountPagination{align-items:stretch;display:grid}
  .accountPagination>div{display:grid;grid-template-columns:1fr auto 1fr;text-align:center}
  .exportSecretActions,.exportRecovery>div{display:grid;grid-template-columns:1fr 1fr}
  .exportVaultHead{align-items:flex-start;display:grid}
  .exportRecord .badge{justify-self:start}
  .storeScope>div{display:grid;grid-template-columns:1fr 1fr}
  .authSetupPage{padding:14px}
  .authSetupPanel{padding:20px 16px}
  .authGate{padding:12px}
  .authCard{padding:20px 16px}
  .authBrand{align-items:flex-start;display:grid}
  .authBrand span{text-align:left}
  .sessionChip{justify-content:center}
  .iconBtn{width:100%;height:44px}
}
