:root{
  --bg:#f4f5f7;--panel:#ffffff;--ink:#17191d;--muted:#6b7280;--line:#dfe3e8;--soft:#f8f9fb;
  --accent:#20242a;--accent2:#eceff3;--warn:#8a5a00;--warnbg:#fff6df;--bad:#9b2c2c;--good:#28634c;
  --shadow:0 1px 3px rgba(0,0,0,.05);--radius:16px
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit}.shell{max-width:1400px;margin:0 auto;padding:20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow);position:sticky;top:10px;z-index:20}.brand{display:flex;align-items:center;gap:13px}.brand img{width:86px;height:auto;display:block}.brand h1{font-size:18px;margin:0}.brand p{margin:3px 0 0;font-size:12px;color:var(--muted)}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a,.nav button,.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 14px;font-weight:700;font-size:13px;text-decoration:none;cursor:pointer}.nav a.active,.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.soft{background:var(--accent2)}.btn.warn{background:var(--warnbg);color:#5f4200;border-color:#ead39c}.btn.danger{background:#fff1f1;color:#7f1d1d;border-color:#efc7c7}.btn:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;gap:14px}.grid.kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.kpi .label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.kpi .value{font-size:28px;font-weight:800;margin-top:8px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 10px}.section-head h2{margin:0;font-size:19px}.section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:11px 12px;border-bottom:1px solid #eceff2;text-align:left;white-space:nowrap}.table th{background:#f6f7f9;font-size:11px;text-transform:uppercase;color:#5f6671;letter-spacing:.05em;position:sticky;top:0;z-index:1}.table tr:hover td{background:#fafbfc}.table a{font-weight:800;text-decoration:none}.money{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#eef0f3;color:#353a40}.pill.warn{background:var(--warnbg);color:#6a4900}.pill.good{background:#eaf5ef;color:#1f5a43}.pill.bad{background:#faeaea;color:#842727}.muted{color:var(--muted)}.filters{display:grid;grid-template-columns:1.6fr .8fr .8fr auto;gap:10px;margin-bottom:12px}.field label{display:block;font-size:11px;text-transform:uppercase;font-weight:800;color:#5f6671;margin:0 0 5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd5dc;border-radius:10px;padding:10px 11px;background:#fff;color:#15181c;font:inherit}.field textarea{min-height:92px;resize:vertical}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.timeline{display:grid;gap:10px}.event{display:grid;grid-template-columns:130px 1fr;gap:12px;border-left:3px solid #d7dbe0;padding:2px 0 12px 13px}.event .date{font-size:12px;color:var(--muted);font-weight:700}.event .type{font-weight:800;margin-bottom:4px;text-transform:capitalize}.task{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid #eceff2}.task:last-child{border-bottom:0}.task input[type=checkbox]{margin-top:3px}.task.done .task-title{text-decoration:line-through;color:#7b828c}.notice{background:#f8f9fb;border:1px solid var(--line);border-left:4px solid #999;padding:12px 14px;border-radius:10px;font-size:13px}.notice.warn{background:var(--warnbg);border-left-color:#c99d36}.empty{padding:34px;text-align:center;color:var(--muted)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.login-card img{width:110px;display:block;margin:0 auto 20px}.login-card h1{text-align:center;margin:0 0 8px;font-size:22px}.login-card p{text-align:center;color:var(--muted);font-size:13px}.login-card .field{margin:18px 0 10px}.error{color:#8a2424;background:#fff0f0;border:1px solid #efcaca;border-radius:10px;padding:10px 12px;font-size:13px}.hidden{display:none!important}.split-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.case-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.case-title h2{margin:0;font-size:24px}.case-title .sub{margin-top:5px;color:var(--muted)}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fafbfc}.detail .label{font-size:10px;text-transform:uppercase;font-weight:800;color:#6c737e}.detail .value{font-weight:700;margin-top:4px;word-break:break-word}.statusline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.footer-note{font-size:11px;color:#747b85;margin:18px 2px 4px}
@media(max-width:1000px){.grid.kpis{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.three-col{grid-template-columns:1fr}.topbar{position:static}.nav{justify-content:flex-start}}
@media(max-width:620px){.shell{padding:10px}.topbar{align-items:flex-start;flex-direction:column}.grid.kpis{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr}.event{grid-template-columns:1fr}.case-title{flex-direction:column}}
.command-hero{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.command-hero h2{font-size:28px;margin:3px 0 7px}.command-hero p{margin:0;color:var(--muted);max-width:760px}.eyebrow{font-size:10px;letter-spacing:.09em;font-weight:900;color:#69707a}.run-status{margin-top:12px;display:inline-flex;padding:7px 10px;border-radius:999px;background:#f3f5f7;color:#505761;font-size:12px}.command-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:14px}.command-kpis .kpi{min-height:116px}.command-kpis .kpi.action{border-top:3px solid #59616b}.kpi-note{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.3}.queue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.queue-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #eceff2}.queue-head h3,.card-title{font-size:15px;margin:0}.queue-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.count-badge{min-width:32px;height:32px;border-radius:999px;background:#eef0f3;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.queue-body{padding:0 14px}.queue-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 2px;border-bottom:1px solid #eef0f2}.queue-row:last-child{border-bottom:0}.queue-unit{font-size:15px;font-weight:900;text-decoration:none}.queue-name{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-meta{display:flex;align-items:center;gap:6px;font-size:12px}.btn.compact{padding:6px 9px;font-size:11px}.queue-empty{padding:20px 4px;color:var(--muted);font-size:12px;text-align:center}.queue-more{padding:9px 16px;background:#fafbfc;border-top:1px solid #eef0f2;color:var(--muted);font-size:11px}.mini-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eceff2;font-size:12px}.mini-row:last-child{border-bottom:0}.mini-row a{font-weight:800;text-decoration:none}.mini-row span{color:var(--muted);white-space:nowrap}.next-action{margin-top:8px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-left:5px solid #6b7280;border-radius:16px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.next-action h2{margin:3px 0 5px;font-size:20px}.next-action p{margin:0;color:var(--muted);max-width:800px}.next-action.warn{background:#fffaf0;border-left-color:#bd8b28}.next-action.good{background:#f4fbf7;border-left-color:#3f765e}.next-action.bad{background:#fff7f7;border-left-color:#a34a4a}.balance-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.balance-strip>div{border:1px solid var(--line);background:#fafbfc;border-radius:12px;padding:12px}.balance-strip span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.balance-strip b{display:block;margin-top:5px;font-size:17px}.pill.good{background:#eaf5ef;color:#1f5a43}.pill.bad{background:#faeaea;color:#842727}.pill.warn{background:var(--warnbg);color:#6a4900}
@media(max-width:1180px){.command-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.queue-grid{grid-template-columns:1fr}.command-hero{flex-direction:column}.balance-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.command-kpis{grid-template-columns:1fr}.queue-row{grid-template-columns:1fr auto}.queue-row .btn{grid-column:1/-1}.balance-strip{grid-template-columns:1fr}.next-action{flex-direction:column;align-items:flex-start}}

.active-source-callout{margin:14px 0 10px;padding:12px 14px;border:2px solid #20242a;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:2px;max-width:760px}.active-source-callout span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#68707b}.active-source-callout strong{font-size:19px;line-height:1.15;color:#20242a}.active-source-callout small{font-size:12px;font-weight:700;color:#68707b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v2.4 workspaces */
.showcase-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.workspace-launchers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.workspace-card{display:flex;flex-direction:column;gap:5px;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow);min-height:112px}.workspace-card:hover{border-color:#aeb5bd;transform:translateY(-1px)}.workspace-card span{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.workspace-card b{font-size:17px}.workspace-card small{color:var(--muted);line-height:1.35}.workspace-card.plan{border-top:3px solid #b18a35}.workspace-card.eviction{border-top:3px solid #9a4141}.plan-btn{background:#fff8e8!important;color:#61450b!important;border-color:#e5cb8c!important}.workflow-card .btn{width:100%;margin-top:9px}.plan-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.plan-summary>div{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fafbfc}.plan-summary span{display:block;font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}.plan-summary b{display:block;margin-top:5px}.overdue-text{color:#8a2f2f}.confirm-line{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:13px;font-weight:700}.confirm-line input{width:auto}.history-table th,.history-table td{font-size:11px}.app-modal-back{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;display:grid;place-items:center;padding:18px}.app-modal{width:min(840px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 18px 55px rgba(0,0,0,.22);padding:18px}.app-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:11px;margin-bottom:14px}.app-modal-head h2{margin:0;font-size:19px}.modal-x{border:0;background:#f0f2f4;border-radius:999px;width:34px;height:34px;font-size:22px;cursor:pointer}.app-modal-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.history-filters{grid-template-columns:2fr 1fr auto}.link-button{border:0;background:transparent;color:var(--accent);font-weight:900;padding:0;cursor:pointer;font:inherit}.history-case{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.history-case:last-child{border-bottom:0}.print-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:10px 0}.legal-summary{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.legal-summary header{display:flex;align-items:flex-start;gap:20px;border-bottom:2px solid #20242a;padding-bottom:18px}.legal-summary header img{width:105px}.legal-summary header h1{margin:4px 0 5px;font-size:24px}.legal-summary header p{margin:0;color:var(--muted);font-size:12px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.summary-grid>div{border:1px solid var(--line);border-radius:10px;padding:11px}.summary-grid span{display:block;font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}.summary-grid b{display:block;margin-top:5px}.legal-summary section{margin-top:22px}.legal-summary section h2{font-size:16px;border-bottom:1px solid var(--line);padding-bottom:7px}.legal-summary section table{width:100%;border-collapse:collapse;font-size:11px}.legal-summary section th,.legal-summary section td{border:1px solid #dfe3e8;padding:7px;text-align:left;vertical-align:top}.legal-summary section th{background:#f5f6f8}.legal-summary footer{margin-top:24px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:10px;line-height:1.4}
@media(max-width:1100px){.workspace-launchers{grid-template-columns:repeat(2,1fr)}.showcase-kpis{grid-template-columns:repeat(3,1fr)}.plan-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.workspace-launchers,.showcase-kpis,.plan-summary,.summary-grid{grid-template-columns:1fr}.history-filters{grid-template-columns:1fr}.app-modal{padding:14px}}
@media print{body{background:#fff}.legal-shell{max-width:none;padding:0}.print-toolbar{display:none!important}.legal-summary{border:0;box-shadow:none;border-radius:0;padding:0}.legal-summary a,.legal-summary button{display:none!important}.legal-summary section{break-inside:avoid}.legal-summary .table-wrap{overflow:visible;border:0}.legal-summary .table th{position:static}}


/* Payment plan resident packet */
.payment-packet{max-width:850px;margin:0 auto}.payment-page{background:#fff;color:#17191c;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:16px;padding:54px 58px;margin:16px 0;min-height:960px}.payment-letter-head,.payment-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;border-bottom:2px solid #1f2327;padding-bottom:18px}.payment-letter-head img,.payment-summary-head img{width:108px;height:auto}.payment-letter-head>div,.payment-summary-head>div{font-size:11px;line-height:1.55;text-align:right;color:#4a5159}.payment-summary-head>div{text-align:left;flex:1}.payment-summary-head h1{font-size:22px;margin:5px 0 4px}.payment-summary-head p{margin:0;color:#69717a}.payment-date{text-align:right;margin:28px 0 20px;font-size:12px}.payment-address{font-size:12px;line-height:1.55;margin-bottom:38px}.payment-letter h1{font-size:25px;margin:0 0 28px}.payment-letter p{font-size:13.2px;line-height:1.68;margin:0 0 19px}.payment-signoff{margin-top:8px!important}.payment-courtesy-note{margin-top:36px;border-top:1px solid #d8dde2;padding-top:14px;color:#606871;font-size:10.5px;line-height:1.5}.payment-summary-intro{margin:26px 0 22px;padding:14px 16px;background:#f7f8f9;border:1px solid #e0e4e8;border-radius:10px;font-size:12px;line-height:1.55}.payment-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.payment-summary-grid>div{border:1px solid #dfe3e8;border-radius:10px;padding:16px;background:#fff}.payment-summary-grid span{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#68717a}.payment-summary-grid b{display:block;margin-top:7px;font-size:15px}.payment-contact-box{margin-top:28px;padding:20px;border:1px solid #dfe3e8;border-radius:12px}.payment-contact-box h2{font-size:17px;margin:0 0 10px}.payment-contact-box p{font-size:12px;line-height:1.55;margin:8px 0}.payment-summary-footer{margin-top:34px;border-top:1px solid #d8dde2;padding-top:14px;color:#5f6770;font-size:10.5px;line-height:1.5}
@media print{@page{size:Letter;margin:0}.payment-packet{max-width:none;margin:0}.payment-page{box-shadow:none;border:0;border-radius:0;margin:0;padding:.46in .55in;min-height:auto;break-after:page}.payment-page:last-child{break-after:auto}.payment-letter-head,.payment-summary-head{break-inside:avoid}.payment-letter-head{padding-bottom:14px}.payment-date{margin:20px 0 15px}.payment-address{margin-bottom:26px}.payment-letter h1{font-size:23px;margin-bottom:20px}.payment-letter p{font-size:12.2px;line-height:1.52;margin-bottom:13px}.payment-courtesy-note{margin-top:20px;padding-top:10px;font-size:9.5px;line-height:1.4}.payment-summary-grid,.payment-contact-box{break-inside:avoid}}

/* v2.4.15 per-unit resident packet option */
.payment-packet-actions{align-items:center;flex-wrap:wrap}
.packet-option{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #d7dde3;border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:#24313b;cursor:pointer;white-space:nowrap}
.packet-option input{width:17px;height:17px;margin:0;accent-color:#153b34}
@media(max-width:760px){.packet-option{width:100%;justify-content:flex-start;border-radius:12px}.payment-packet-actions{width:100%}}

/* v2.4.17 service/calendar/scan archive */
.bulk-scan-map{display:grid;gap:10px;margin-top:14px;max-height:360px;overflow:auto;padding-right:4px}
.bulk-scan-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(260px,1.8fr) minmax(160px,.9fr);gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}
.bulk-file{display:flex;flex-direction:column;gap:4px;min-width:0}.bulk-file b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bulk-file span{font-size:12px;color:var(--muted)}
.document-list{display:grid;gap:8px}.document-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfc;text-decoration:none;color:inherit}.document-row:hover{background:#f4f7f9}.document-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.document-row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-row span:not(.pill){font-size:12px;color:var(--muted)}
@media(max-width:900px){.bulk-scan-row{grid-template-columns:1fr}.bulk-scan-map{max-height:none}}


/* v2.4.19 scan sorter + legal draft */
.app-modal:has(.scan-sorter){width:min(1180px,98vw)}
.scan-sorter-tools{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.scan-sorter-tools .field{min-width:280px;flex:1}.scan-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:520px;overflow:auto;padding:4px}.scan-page-card{position:relative;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px;cursor:pointer;display:block}.scan-page-card.selected{outline:3px solid #355f55}.scan-page-card.assigned{border-color:#8eb1a8}.scan-page-card>input{position:absolute;top:10px;left:10px;width:18px;height:18px;z-index:2;accent-color:#173f37}.scan-thumb{height:160px;background:#edf1ef;border-radius:8px;overflow:hidden;display:grid;place-items:center}.scan-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}.scan-page-placeholder{text-align:center;color:#7b8581;font-size:11px}.scan-page-placeholder b{font-size:30px;color:#34413d}.scan-page-meta{padding-top:7px;display:grid;gap:3px}.scan-page-meta b{font-size:12px}.scan-page-meta small{font-size:10px;color:var(--muted)}.scan-match{font-size:8px;font-weight:900;letter-spacing:.06em}.scan-match.good{color:#2d6a55}.scan-match.warn{color:#9b6b12}.scan-pdf-preview{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f4f5f5}.scan-pdf-preview iframe{width:100%;height:430px;border:0}.legal-readiness{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.legal-ready-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;gap:12px;background:#fff}.legal-ready-row b{font-size:12px}.legal-ready-row span{font-size:10px;color:var(--muted);text-align:right}.legal-ready-row.good{border-left:4px solid #5b8d76}.legal-ready-row.warn{border-left:4px solid #d0a247}.legal-ready-row.bad{border-left:4px solid #b74f4f}.legal-email-body{min-height:285px;font-family:Arial,sans-serif;line-height:1.45}.legal-doc-list{display:grid;gap:7px}.legal-doc{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.legal-doc div{display:grid;gap:3px}.legal-doc span{font-size:10px;color:var(--muted)}
@media(max-width:760px){.legal-readiness{grid-template-columns:1fr}.scan-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-pdf-preview iframe{height:360px}}


/* v2.4.22 two-pane, date-scoped scan sorter + same-origin preview */
.app-modal:has(.scan-sorter){width:min(1360px,98vw)}
.scan-batch-fields{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:12px}
.scan-sorter-workspace{display:grid;grid-template-columns:minmax(430px,.86fr) minmax(520px,1.14fr);gap:14px;align-items:start;margin-top:4px}
.scan-sorter-left{min-width:0}
.scan-sorter-workspace .scan-page-grid{grid-template-columns:repeat(3,minmax(120px,1fr));max-height:620px;overflow:auto;padding:4px}
.scan-page-card.previewing{box-shadow:0 0 0 3px rgba(45,82,72,.18);border-color:#527c70}
.scan-page-select{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:#59635f;margin:0 0 6px;cursor:pointer}.scan-page-select input{width:17px;height:17px;margin:0;accent-color:#173f37}
.scan-page-placeholder{display:grid;place-items:center;gap:2px}.scan-page-placeholder small{font-size:9px;color:#8a9490;font-weight:700}
.scan-preview-pane{position:sticky;top:0;border:1px solid var(--line);border-radius:12px;background:#f4f5f5;overflow:hidden;min-height:650px}
.scan-preview-head{height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:#fff;border-bottom:1px solid var(--line)}.scan-preview-head>div{display:grid;gap:2px}.scan-preview-head b{font-size:12px}.scan-preview-head span{font-size:10px;color:var(--muted)}
.scan-preview-pane iframe{display:block;width:100%;height:602px;border:0;background:#e9eceb}
#bulkNoticeDateHelp{font-size:10px;margin-top:5px}
@media(max-width:1050px){.scan-batch-fields{grid-template-columns:repeat(2,1fr)}.scan-sorter-workspace{grid-template-columns:1fr}.scan-preview-pane{position:relative;min-height:520px}.scan-preview-pane iframe{height:520px}.scan-sorter-workspace .scan-page-grid{grid-template-columns:repeat(4,minmax(115px,1fr));max-height:420px}}
@media(max-width:700px){.scan-batch-fields{grid-template-columns:1fr}.scan-sorter-workspace .scan-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-preview-pane iframe{height:440px}}

/* v2.4.22 large scan sorter */
.app-modal:has(.scan-sorter){width:min(1760px,99vw)!important;max-width:none!important;max-height:96vh!important}
.app-modal:has(.scan-sorter) .modal-body{max-height:90vh!important;overflow:auto!important}
.scan-sorter-workspace{grid-template-columns:minmax(330px,.52fr) minmax(760px,1.48fr)!important;gap:16px!important}
.scan-sorter-left{min-width:0!important}
.scan-page-help{display:grid;gap:3px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--line);border-radius:10px;background:#fff}.scan-page-help b{font-size:12px}.scan-page-help span{font-size:10px;color:var(--muted)}
.scan-sorter-workspace .scan-page-grid{grid-template-columns:repeat(2,minmax(145px,1fr))!important;max-height:72vh!important;gap:12px!important}
.scan-page-card{padding:10px!important}.scan-page-select{font-size:11px!important;justify-content:flex-start!important}.scan-page-select input{width:20px!important;height:20px!important}
.scan-thumb{height:205px!important}.scan-page-placeholder span{font-size:11px!important;letter-spacing:.08em}.scan-page-placeholder b{font-size:46px!important}.scan-page-placeholder small{font-size:10px!important}
.scan-page-meta b{font-size:13px!important}.scan-page-meta small{font-size:11px!important}.scan-match{font-size:9px!important}
.scan-preview-pane{min-height:76vh!important;height:76vh!important;position:sticky!important;top:0!important}
.scan-preview-pane iframe{height:calc(76vh - 66px)!important;min-height:640px!important;background:#dfe3e1!important}
.scan-preview-head{height:auto!important;min-height:58px!important;padding:8px 12px!important;align-items:center!important}.scan-preview-head>div:first-child{min-width:120px}.scan-preview-head b{font-size:13px!important}.scan-preview-head span{font-size:11px!important}.scan-preview-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.scan-preview-actions .btn{margin:0!important;white-space:nowrap!important}
@media(max-width:1180px){.scan-sorter-workspace{grid-template-columns:minmax(280px,.46fr) minmax(600px,1.54fr)!important}.scan-sorter-workspace .scan-page-grid{grid-template-columns:1fr!important}.scan-thumb{height:180px!important}}
@media(max-width:900px){.scan-sorter-workspace{grid-template-columns:1fr!important}.scan-sorter-workspace .scan-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:420px!important}.scan-preview-pane{position:relative!important;height:65vh!important;min-height:560px!important}.scan-preview-pane iframe{height:calc(65vh - 78px)!important;min-height:480px!important}}

/* v2.4.23 simple packet-first scan sorter */
.packet-sorter-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:2px 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.packet-sorter-head>div:first-child{display:grid;gap:3px}.packet-sorter-head b{font-size:13px}.packet-sorter-head span{font-size:11px;color:var(--muted)}.packet-sorter-workspace{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(760px,1.28fr);gap:16px;align-items:start}.packet-list{display:grid;gap:10px;max-height:72vh;overflow:auto;padding:2px 5px 2px 2px}.packet-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:12px;display:grid;gap:10px;cursor:pointer}.packet-card.active{outline:3px solid #355f55}.packet-card.assigned{border-left:5px solid #5d8c7c}.packet-card-top,.packet-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}.packet-card-top>div{display:grid;gap:2px}.packet-card-top span{font-size:9px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.packet-card-top b{font-size:15px}.packet-case-select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;font-weight:700}.packet-unit-preview{display:grid;gap:2px;padding:10px 12px;background:#f5f7f6;border-radius:10px}.packet-unit-preview b{font-size:14px}.packet-unit-preview span{font-size:11px;color:var(--muted)}.packet-card-foot{font-size:10px;color:var(--muted)}.packet-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.packet-summary span{font-size:11px;color:var(--muted)}.packet-preview-pane iframe{height:calc(78vh - 66px)!important;min-height:680px!important}.packet-preview-pane{height:78vh!important;min-height:720px!important}.scan-page-help{gap:10px;align-items:center}.scan-page-help .btn{margin-left:auto}
@media(max-width:1100px){.packet-sorter-workspace{grid-template-columns:1fr}.packet-list{max-height:360px}.packet-preview-pane{height:65vh!important;min-height:560px!important}.packet-preview-pane iframe{height:calc(65vh - 70px)!important;min-height:500px!important}}
