/* Adopted 2026 design system.  Keep the existing data and actions; replace the visual shell. */
:root {
  --primary:#203963; --primary-h:#142d54; --primary-l:#eaf1fc; --primary-xl:#f4f8ff;
  --accent:#bd9250; --accent-l:#fbf5e9;
  --green:#28845d; --green-l:#e4f5ec; --red:#b4474e; --red-l:#fcecef;
  --bg:#f7faff; --surface:#fff; --surface-2:#f3f7fd; --surface-3:#eaf0f9;
  --t1:#172b4f; --t2:#3f567a; --t3:#6e80a1; --t4:#a1afc4;
  --bdr:#cbd8ee; --bdr-l:#dce6f5; --content-max:1380px;
  --r-sm:4px; --r-md:5px; --r-lg:6px; --r-xl:8px;
  --sh-card:0 2px 12px rgba(29,57,98,.035); --sh-md:0 7px 24px rgba(29,57,98,.07);
}
body { letter-spacing:0;font-size:15px; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="link"]:focus-visible { outline:3px solid #80a9e9; outline-offset:2px; }
body:has(.investigation-add-panel.open) #calc-fab,body:has(.email-composer-overlay) #calc-fab,body:has(.mail-modal-overlay) #calc-fab,body:has(#pdf-upload-workspace) #calc-fab,body:has(.template-form-page) #calc-fab { display:none!important; }
body[data-view="doc-form"] #calc-fab,body[data-view="case-form"] #calc-fab,body[data-view="client-form"] #calc-fab { display:none!important; }
body:has(#fin-modal[style*="display: flex"]) #calc-fab { z-index:900; }
body[data-view="doc-detail"] { overflow-anchor:none; }
html:has(body[data-view="doc-detail"]),html:has(body[data-view="doc-form"]) { scroll-behavior:auto!important; }
.page-header,.page-header-sub,.doc-type-tabs,.filter-row { background:transparent; }
.page-header { border-bottom:0; }
.page-header h1 { font-size:32px; letter-spacing:-.025em; }
.page-count { margin-left:12px;font-size:16px;font-weight:500;color:var(--t2);letter-spacing:0; }
.page-subtitle { color:var(--t2); }
.header-action,.btn-primary,.save-btn { background:var(--primary); color:#fff; border:1px solid var(--primary); border-radius:5px; box-shadow:none; font-weight:700; }
.header-action:hover,.btn-primary:hover,.save-btn:hover { background:var(--primary-h); }
.btn-outline { display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;background:#fff;color:var(--primary);border:1px solid var(--bdr);border-radius:5px;font-weight:700;white-space:nowrap; }
.btn-outline:hover { background:var(--primary-xl);border-color:#94afd9; }
.list-card,.form-group-card,.fin-panel,.fin-import-box,.fin-tx-table,.fin-imports-table { border:1px solid var(--bdr);border-radius:5px;box-shadow:var(--sh-card);background:#fff; }
.row-badge,.contact-tag,.due-tag { border-radius:4px; }
.row-icon,.row-avatar { border-radius:6px; }
.search-input,.form-input,.fin-select { border:1px solid var(--bdr);border-radius:5px;background:#fff; }
.doc-tab,.fin-subtab,.pill { font-weight:600; }
.doc-tab.active { color:var(--primary)!important; }
.doc-tab.active::after { background:var(--primary)!important; }
.doc-tab .tab-count { border-radius:4px; }
.form-label { color:var(--t1); }
.form-input:focus,.fin-select:focus { border-color:#6b96d7;box-shadow:0 0 0 3px #e6f0ff; }
.sheet,.mail-modal,.fin-modal-box { border-radius:6px; }
@media (min-width:960px) {
  :root { --content-max:1380px; }
  .app-topbar { height:76px;padding:0 32px;padding-top:var(--safe-t);gap:32px;background:#fff;border-bottom:1px solid var(--bdr);box-shadow:none; }
  .app-topbar .brand { padding:0;background:none;box-shadow:none;border-radius:0;gap:18px; }
  .app-topbar .brand:hover { transform:none;box-shadow:none; }
  .brand-wordmark { font-size:26px;letter-spacing:-.045em;color:var(--primary);line-height:1; }
  .brand-company { color:var(--primary);font-size:15px;font-weight:700;white-space:nowrap; }
  .top-nav { gap:12px;background:none;border:0;border-radius:0;padding:0;margin:0 auto 0 76px; }
  .top-nav-btn { color:var(--primary);font-size:17px;font-weight:700;padding:12px 22px;border-radius:6px;gap:9px; }
  .top-nav-btn i { font-size:15px; }
  .top-nav-btn:hover { background:var(--primary-xl);color:var(--primary); }
  .top-nav-btn.active,.top-nav-btn.active:hover { color:var(--primary);background:#eaf2ff; }
  .top-actions { border-left:1px solid var(--bdr);padding-left:14px; }
  .top-icon-btn,.top-icon-btn.active { background:none;color:var(--primary); }
  .top-icon-btn:hover { color:var(--primary);background:var(--primary-xl); }
  #app { padding-top:calc(76px + var(--safe-t)); }
  .page { padding-bottom:56px; }
  .page-header { padding:36px 38px 22px; }
  .page-header-sub { top:76px;padding:16px 38px;z-index:60;border-bottom:1px solid var(--bdr); }
  .doc-type-tabs { padding:0 38px;border-bottom:1px solid var(--bdr); }
  .filter-row { padding:18px 38px 14px;max-width:none; }
  .list-area { max-width:none;padding:0 38px 24px; }
  .section { max-width:none;padding:0 38px 24px; }
  .form-body { max-width:1380px;margin:0 auto;padding:24px 38px 80px; }
  .page-inner { max-width:1380px; }
  .dash { max-width:none;margin:0;padding:0 38px 32px; }
}
@media (max-width:1390px) and (min-width:960px) {
  .app-topbar { gap:18px;padding-left:22px;padding-right:22px; }
  .top-nav { margin-left:12px;gap:4px; }
  .top-nav-btn { padding:10px 11px;font-size:15px; }
}
@media (max-width:1190px) and (min-width:960px) {
  .app-topbar { gap:12px;padding-left:18px;padding-right:18px; }
  .top-nav { margin-left:12px;gap:2px; }
  .top-nav-btn { padding:10px 8px;font-size:13px; }
  .brand-company { display:none; }
}

/* Home: six clear launch actions, then follow-up and cost panels. */
.touch-grid { gap:14px; }
.touch-btn { min-height:190px;background:#fff;border:1px solid var(--bdr);border-radius:6px;padding:30px 36px;box-shadow:var(--sh-card);align-items:flex-start;justify-content:flex-start;text-align:left; }
.touch-btn::before { display:none; }
.touch-copy { align-items:flex-start; }
.touch-btn:hover { background:#fff; }
.touch-btn:first-child { background:var(--primary);border-color:var(--primary);color:#fff; }
.touch-btn:first-child .touch-ic,.touch-btn:first-child .touch-label,.touch-btn:first-child .touch-sub,.touch-btn:first-child .touch-arrow { color:#fff!important; }
.touch-btn:first-child:hover { background:var(--primary-h); }
.touch-ic { width:48px;height:48px;border-radius:8px;background:var(--primary-xl);display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:16px; }
.touch-btn:first-child .touch-ic { background:rgba(255,255,255,.14); }
.touch-label { font-size:20px;font-weight:800; }
.touch-sub { font-size:14px;color:var(--t3); }
.dash { display:flex;flex-direction:column; }
.dash .touch-grid { order:0; }
.dash-panel:not(.dash-panel-alert) { order:1; }
.dash-panel-alert { order:2; }
.dash-panel { background:#fff;border:1px solid var(--bdr);border-radius:6px;box-shadow:var(--sh-card); }
.dash-panel-head { border-bottom:1px solid var(--bdr-l);padding-bottom:12px; }
.dash-panel-head h2 { font-size:18px; }
.upcoming-row { border-bottom:1px solid var(--bdr-l);border-radius:0; }
.upcoming-row:last-child { border-bottom:0; }
.dash-panel:not(.dash-panel-alert) .upcoming-row { display:grid;grid-template-columns:minmax(220px,1.5fr) 120px minmax(175px,1fr) 145px;gap:16px;align-items:center;padding:15px 12px; }
.dash-panel:not(.dash-panel-alert) .up-status { display:none; }
.dash-panel:not(.dash-panel-alert) .up-body { min-width:0; }
.dash-panel:not(.dash-panel-alert) .up-meta { font-size:12px; }
.follow-status { width:max-content;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:700; }
.follow-date { color:var(--t2);font-size:13px; }
.dash-panel:not(.dash-panel-alert) .due-tag { margin-left:auto; }

/* List/preview workspaces for documents, clients and templates. */
.document-workspace,.client-workspace,.template-workspace { display:grid;grid-template-columns:minmax(330px,36%) minmax(0,1fr);min-height:calc(100vh - 250px);background:#fff;border:1px solid var(--bdr);border-radius:5px;overflow:hidden; }
.document-rail,.client-rail,.template-rail { min-width:0;border-right:1px solid var(--bdr);background:#fff; }
.document-rail .list-card,.client-rail .list-card { border:0;box-shadow:none;border-radius:0; }
.document-rail .filter-row { padding:18px 18px 10px;border:0; }
.document-rail .filter-bar { display:flex;flex-direction:column;align-items:stretch;gap:10px; }
.document-rail .search-box,.document-rail .search-input,.document-status-filter { width:100%;max-width:none; }
.document-status-filter { padding:10px 12px; }
.document-rail .list-row,.client-rail .list-row { border-bottom:1px solid var(--bdr-l);padding:18px 20px; }
.document-rail .list-row.selected,.client-rail .list-row.selected,.template-list-row.selected { background:#edf4ff;box-shadow:inset 4px 0 0 var(--primary); }
.document-rail .row-icon { display:none; }
.document-rail .row-amount { font-size:16px; }
.document-list-open { flex:1;min-width:0;align-self:stretch;display:flex;align-items:center;border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer; }
.document-list-open:focus-visible,.document-status-control:focus-visible { outline:2px solid var(--primary);outline-offset:3px; }
.document-list-dates { display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:6px;font-size:12px;line-height:1.6;color:var(--t3); }
.document-list-dates>span { display:flex;flex-wrap:wrap;gap:0 6px;min-width:0; }
.document-list-dates time { white-space:nowrap;font-variant-numeric:tabular-nums; }
.document-list-due { color:var(--primary);font-weight:600; }
.document-header-actions { display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px; }
.document-header-actions button { min-height:44px; }
.email-log-content { max-width:1100px;margin:0 auto;padding:0 24px 40px; }
body[data-view="email-logs"] #calc-fab { display:none!important; }
.email-log-help { color:var(--t2);font-size:13px;line-height:1.8;margin:0 0 20px; }
.email-log-scope { display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px; }
.email-log-filters { display:flex;align-items:flex-end;gap:12px;margin-bottom:22px; }
.email-log-filters label { flex:1;min-width:0;display:grid;gap:6px;color:var(--t2);font-size:13px; }
.email-log-filters button,.email-log-filters input,.email-log-filters select,.email-log-pagination button { min-height:44px; }
.email-log-filters button { padding:10px 18px; }
.email-log-card { min-width:0;padding:20px 24px;margin-bottom:14px;background:#fff;border:1px solid var(--bdr);border-radius:6px;overflow-wrap:anywhere; }
.email-log-card-head { display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:12px;color:var(--t3); }
.email-log-card-head time { margin-left:auto;font-variant-numeric:tabular-nums; }
.email-log-card h2 { font-size:17px;line-height:1.5;margin:12px 0 8px; }
.email-log-recipient,.email-log-reference { margin:5px 0;font-size:13px;color:var(--t2); }
.email-log-status { padding:4px 10px;border-radius:4px;background:var(--surface-3);color:var(--t2);font-weight:700; }
.email-log-status-sent { background:var(--green-l);color:var(--green); }
.email-log-status-failed { background:var(--red-l);color:var(--red); }
.email-log-warning { padding:12px;background:#fff6e8;border:1px solid #edc78b;border-radius:5px;color:#7f4c10;font-size:13px;line-height:1.7;overflow-wrap:anywhere; }
.email-log-notice { padding:12px;background:var(--primary-xl);color:var(--t2);font-size:13px;line-height:1.7; }
.email-log-card summary { cursor:pointer;padding:13px 0;min-height:44px;color:var(--primary);font-size:13px;font-weight:600; }
.email-log-facts { margin:12px 0;text-align:left; }
.email-log-facts>div { display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--bdr-l);font-size:13px; }
.email-log-facts dt { color:var(--t3); }
.email-log-facts dd { min-width:0;margin:0;overflow-wrap:anywhere; }
.email-log-pagination { display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:13px; }
.email-log-pagination button:disabled { opacity:.45;cursor:default; }
.email-result-dialog { width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px;border:1px solid var(--bdr);border-radius:10px;margin:auto;background:#fff;color:var(--t1);box-shadow:var(--sh-md); }
.email-result-dialog::backdrop { background:rgba(15,30,50,.48); }
.email-result-dialog h2 { font-size:22px;line-height:1.5;margin:14px 0 10px; }
.email-result-dialog>p { font-size:13px;line-height:1.7;color:var(--t2); }
.email-result-icon { display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--green-l);color:var(--green);font-size:25px; }
.email-result-actions { display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:22px; }
.email-result-actions button { min-height:44px;padding:10px 16px; }
@media (max-width:599px) {
  .document-header-actions { gap:7px; }
  .document-header-actions button { font-size:12px;padding-left:10px;padding-right:10px; }
  .email-log-content { padding:0 16px 30px; }
  .email-log-filters { flex-wrap:wrap; }
  .email-log-filters label:first-child { flex-basis:100%; }
  .email-log-filters input,.email-log-filters select { font-size:16px; }
  .email-log-card { padding:16px; }
  .email-log-card-head time { width:100%;margin:0; }
  .email-result-dialog { padding:20px; }
  .email-result-dialog h2 { font-size:20px; }
  .email-log-facts>div { grid-template-columns:65px minmax(0,1fr);gap:8px; }
}
.document-status-control { appearance:none;max-width:140px;min-height:30px;padding:4px 25px 4px 10px;border:1px solid transparent;border-radius:4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%2364748B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;font:inherit;font-size:11px;font-weight:700;text-align:center;cursor:pointer; }
.document-status-control:hover { border-color:currentColor; }
.document-status-control:disabled { opacity:.55;cursor:wait; }
.document-selection-status { font-size:12px;min-height:34px; }
.document-rail .row-chevron,.client-rail .row-chevron { display:none; }
.document-selection,.client-selection,.template-selection { min-width:0;background:var(--primary-xl); }
.selection-head { background:#fff;padding:22px 28px;border-bottom:1px solid var(--bdr);position:relative; }
.selection-head h2 { margin:18px 0 4px;font-size:24px;line-height:1.35; }
.selection-head p { color:var(--t3);font-size:13px;margin-top:8px; }
.selection-meta,.selection-actions,.selection-summary { display:flex;align-items:center;gap:12px; }
.selection-meta { font-size:13px;color:var(--t3); }
.selection-actions { flex-wrap:wrap;margin-top:14px;gap:7px; }
.selection-actions .btn-outline { padding:7px 11px;font-size:12px; }
.selection-meta { flex-wrap:wrap;overflow-wrap:anywhere; }
.selection-summary { flex-wrap:wrap;justify-content:space-between;color:var(--t2); }
.selection-summary>span { min-width:0;flex:1 1 180px;overflow-wrap:anywhere; }
.selection-summary strong { margin-left:auto;font-size:24px;color:var(--t1);font-variant-numeric:tabular-nums; }
.selection-pdf { padding:16px;background:#f0f5fc; }
/* Give an A4 sheet its full height, including the embedded viewer's page margins. */
.selection-pdf iframe { display:block;width:100%;height:auto;aspect-ratio:210/310;min-height:640px;max-height:1180px;border:1px solid var(--bdr);background:#fff;box-shadow:0 5px 20px rgba(23,43,79,.07); }
.paper-preview { display:none;width:max-content;max-width:100%;margin:0 auto;background:#fff;box-shadow:0 4px 18px rgba(23,43,79,.09); }
.paper-preview canvas { display:block;max-width:100%;height:auto; }
.pdf-canvas-ready .paper-preview { display:block; }
.pdf-canvas-ready .selection-pdf-fallback { display:none; }
.client-selection { padding:30px; }
.client-rail .client-search-bar { padding:16px 18px 10px; }
.client-rail .client-search-bar .filter-bar { display:block; }
.client-rail .search-box,.client-rail .search-input { width:100%;max-width:none; }
.client-selection-head { display:flex;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--bdr); }
.client-selection-avatar { width:62px;height:62px;border-radius:8px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:27px;font-weight:800; }
.client-selection h2 { font-size:26px; }
.client-selection p,.eyebrow { color:var(--t3);font-size:12px; }
.client-selection-actions { display:flex;gap:10px;margin:22px 0; }
.client-selection-actions .btn-primary { padding:9px 17px; }
.client-selection-facts { background:#fff;border:1px solid var(--bdr);border-radius:5px; }
.client-selection-facts div { display:grid;grid-template-columns:130px 1fr;gap:12px;padding:15px 20px;border-bottom:1px solid var(--bdr-l); }
.client-selection-facts div:last-child { border-bottom:0; }
.client-selection-facts dt { color:var(--t3);font-size:13px; }
.client-selection-facts dd { font-weight:600;overflow-wrap:anywhere; }
.client-selection-facts a { color:var(--primary); }
.client-selection-foot { margin-top:20px;color:var(--t3);font-size:12px; }
.template-workspace { grid-template-columns:minmax(380px,51%) minmax(0,1fr);gap:12px;border:0;background:transparent;overflow:visible; }
.template-rail,.template-selection { border:1px solid var(--bdr);border-radius:5px;background:#fff;overflow:hidden; }
.template-table-head { display:grid;grid-template-columns:1fr 125px;padding:14px 22px;background:var(--primary-xl);font-weight:700;color:var(--t2);border-bottom:1px solid var(--bdr); }
.template-list-row { width:100%;display:grid;grid-template-columns:1fr 125px;gap:12px;align-items:start;text-align:left;padding:20px 22px;border-bottom:1px solid var(--bdr-l); }
.template-list-row strong { display:block;font-size:16px;color:var(--t1); }
.template-list-row small { display:block;color:var(--t2);font-size:12px;line-height:1.5;margin-top:4px; }
.template-cat { display:inline-block;width:max-content;padding:4px 9px;border-radius:4px;font-size:12px;font-weight:700; }
.template-selection { padding:22px 24px; }
.template-selection>h3 { font-size:14px;margin-bottom:18px; }
.template-preview-header h2 { margin:12px 0 18px;font-size:23px; }
.template-preview-field { padding:15px 0;border-top:1px solid var(--bdr); }
.template-preview-field small { display:block;color:var(--t2);font-weight:700;margin-bottom:8px; }
.template-preview-field strong { font-size:16px; }
.template-preview-body p { max-height:370px;overflow:auto;line-height:1.8; }
.template-preview-actions { display:flex;gap:10px;margin-top:18px; }
.template-preview-actions button { flex:1;padding:11px; }
.template-form-background { position:fixed;inset:76px 0 0;overflow:hidden;pointer-events:none; }
.template-form-background .page-header { padding-bottom:14px; }
.template-back-list { width:480px;margin-left:38px;background:#fff;border:1px solid var(--bdr); }
.template-back-list div { min-height:105px;padding:22px;border-bottom:1px solid var(--bdr-l); }
.template-back-list strong,.template-back-list small { display:block; }
.template-back-list small { margin-top:8px;color:var(--t3); }
.template-form-backdrop { position:fixed;inset:76px 0 0;z-index:112;background:rgba(16,34,65,.4); }
.template-form-page { position:fixed;top:76px;right:0;z-index:113;width:min(970px,100vw);height:calc(100vh - 76px);overflow:auto;background:#fff;box-shadow:-16px 0 40px rgba(16,34,65,.13); }
.template-form-page .page-header-sub { display:block;position:static;padding:24px 36px 10px;border:0; }
.template-form-page .page-header-sub-inner { justify-content:space-between; }
.template-form-page .header-title-center { position:static;transform:none;font-size:27px;font-weight:800; }
.template-form-page .page-header-sub p { color:var(--t2);margin-top:4px; }
.template-form-page .sheet-close { margin-left:auto; }
.template-wizard { display:grid;grid-template-columns:repeat(3,1fr);position:relative;margin:12px 36px 22px; }
.template-wizard::before { content:"";position:absolute;top:15px;left:15%;right:15%;height:1px;background:var(--bdr); }
.template-wizard-step { position:relative;display:flex;align-items:center;flex-direction:column;gap:5px;background:none;color:var(--t2);font-size:12px; }
.template-wizard-step b { width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--bdr);border-radius:50%;background:#fff; }
.template-wizard-step.active b,.template-wizard-step.done b { background:var(--primary);border-color:var(--primary);color:#fff; }
.template-wizard-step.active { color:var(--primary); }
.template-form-page .form-body { padding:0 36px 24px;max-width:none;min-height:calc(100vh - 375px); }
.template-step-panel[hidden],.template-form-footer [hidden] { display:none!important; }
.template-step-panel h2 { font-size:22px;margin-bottom:5px; }
.template-step-lead { color:var(--t2);margin-bottom:20px; }
.template-form-page .form-input { width:100%; }
.template-basic-summary { display:flex;align-items:center;gap:20px;padding:14px 18px;border:1px solid var(--bdr);border-radius:4px;background:var(--primary-xl);margin:0 0 20px; }
.template-basic-summary>span { color:var(--t3);font-size:12px; }
.template-basic-summary strong { flex:1; }
.template-basic-summary button { color:var(--primary);font-weight:700; }
.template-vars { border:1px solid var(--bdr);border-radius:4px;background:var(--primary-xl);padding:12px 15px; }
.template-vars summary { color:var(--primary);font-weight:700;cursor:pointer; }
.template-vars[open] summary i { transform:rotate(90deg); }
.template-vars .var-hint { margin:12px 0 0; }
.template-review { border:1px solid var(--bdr);border-radius:4px;overflow:hidden;margin-bottom:20px; }
.template-review div { display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--bdr-l); }
.template-review div:last-child { border:0; }
.template-review dt,.template-review dd { padding:14px 18px; }
.template-review dt { background:var(--primary-xl);color:var(--t2);font-weight:700; }
.template-review dd { overflow-wrap:anywhere;line-height:1.7; }
.template-form-footer { position:sticky;bottom:0;display:flex;align-items:center;gap:10px;padding:14px 36px;background:#fff;border-top:1px solid var(--bdr); }
.template-form-footer span { color:var(--t3);font-size:12px;margin-right:auto; }
.template-form-footer .btn-primary,.template-form-footer .btn-outline { padding:10px 18px; }

/* Case table and five-step creation. */
.case-category-select { min-width:195px;padding:10px 12px; }
body[data-view="cases"] .filter-bar { flex-direction:row;justify-content:flex-start;gap:14px; }
body[data-view="cases"] .search-box { order:0;width:min(510px,55%); }
body[data-view="cases"] .search-input { width:100%;max-width:none; }
body[data-view="cases"] #case-cat-pills { order:1; }
body[data-view="cases"] .doc-tab { border-radius:0;background:transparent;border-bottom:3px solid transparent; }
body[data-view="cases"] .doc-tab.active { border-bottom-color:var(--primary); }
body[data-view="cases"] .doc-tab i { display:none; }
.case-table { background:#fff;border:1px solid var(--bdr);border-radius:5px;overflow:hidden; }
.case-table-head,.case-table-row { display:grid;grid-template-columns:minmax(230px,1.65fr) minmax(140px,1fr) minmax(100px,.72fr) minmax(130px,1fr) minmax(120px,.8fr) minmax(135px,.95fr);gap:12px;align-items:center;padding:14px 22px; }
.case-table-head { background:var(--primary-xl);color:var(--t2);font-size:12px;font-weight:700; }
.case-table-row { min-height:110px;border-top:1px solid var(--bdr-l);cursor:pointer; }
.case-table-row:hover { background:#f7faff; }
.case-table-name strong,.case-table-name small { display:block; }
.case-table-name strong { font-size:17px;line-height:1.4; }
.case-table-name small { color:var(--t3);font-size:12px;margin-top:3px; }
.case-table-row>span:not(:first-child) { color:var(--t2);font-size:13px; }
.case-table-row .contact-tag { font-size:11px; }
.case-muted { color:var(--t3); }
.case-table-row>* { min-width:0;overflow-wrap:anywhere; }
.case-table-action { display:flex;align-items:center;gap:16px;white-space:nowrap; }
.case-table-action .case-row-add { background:#fff;color:var(--green);border:1px solid #a9d6c5;border-radius:5px;padding:8px 11px;white-space:nowrap;width:auto; }
.case-table-action>i { color:var(--primary); }
.case-table-foot { border-top:1px solid var(--bdr-l);padding:16px 22px;color:var(--t2);font-size:12px; }
body[data-view="dashboard"] .page-header,body[data-view="dashboard"] .dash { max-width:1372px;margin:0 auto; }
.touch-btn:first-child .touch-arrow { color:var(--primary)!important;background:#fff;opacity:1; }
.case-step-hidden { display:none!important; }
.case-create-page .page-header-sub { position:static;background:transparent;border:0; }
.case-create-page .page-header-sub-inner { max-width:1380px;margin:0 auto;display:block; }
.case-create-page .header-title-center { position:static;transform:none;display:block;font-size:26px;margin-top:12px; }
.case-create-page .header-text-action { display:none; }
.case-create-page .form-body { padding-top:0; }
.case-wizard { display:grid;grid-template-columns:repeat(5,1fr);position:relative;margin:6px 0 28px; }
.case-wizard::before { content:"";height:1px;background:var(--bdr);position:absolute;left:10%;right:10%;top:18px; }
.case-wizard-step { position:relative;display:flex;align-items:center;flex-direction:column;gap:7px;background:transparent;color:var(--t2);font-size:12px;font-weight:700; }
.case-wizard-step b { width:37px;height:37px;display:grid;place-items:center;background:#fff;border:1px solid #aabbd5;border-radius:50%;color:var(--t2);font-size:15px; }
.case-wizard-step.active b,.case-wizard-step.done b { background:var(--primary);border-color:var(--primary);color:#fff; }
.case-wizard-step.active { color:var(--primary); }
.case-step-heading { display:flex;align-items:baseline;gap:18px;margin:0 0 16px; }
.case-step-heading small { color:var(--primary);font-weight:700; }
.case-step-heading h2 { font-size:20px; }
.case-create-page .form-group-card { margin-bottom:14px; }
.case-contact-more { border-top:1px solid var(--bdr-l);margin-top:14px; }
.case-contact-more summary { display:flex;align-items:center;gap:10px;padding:13px 4px;color:var(--primary);font-weight:700;cursor:pointer;list-style:none; }
.case-contact-more summary::-webkit-details-marker { display:none; }
.case-contact-more summary i { font-size:11px;transition:transform .2s; }
.case-contact-more[open] summary i { transform:rotate(90deg); }
.case-contact-more summary span { margin-left:auto;color:var(--t3);font-size:11px;font-weight:400; }
.case-contact-more[open] summary { border-bottom:1px solid var(--bdr-l);margin-bottom:14px; }
.case-review-content { display:grid;grid-template-columns:1fr 1fr;gap:0 20px; }
.case-review-content div { display:flex;justify-content:space-between;border-bottom:1px solid var(--bdr-l);padding:14px 0;gap:12px; }
.case-review-content span { color:var(--t3); }
.case-wizard-footer { position:sticky;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#fff;border:1px solid var(--bdr);box-shadow:0 -5px 18px rgba(23,43,79,.05); }
.case-wizard-footer .secondary-btn,.case-wizard-footer .btn-primary { width:auto;min-width:100px;margin:0;padding:10px 20px; }
.case-wizard-footer span { margin-left:auto;color:var(--t3);font-size:12px; }
.case-final-save { position:fixed;bottom:14px;right:38px;z-index:31;margin:0;width:220px; }
.case-detail-page .page-header-sub { border:0;padding-bottom:0; }
.case-detail-page .detail-header { background:transparent;border:0;box-shadow:none; }
.case-detail-page .detail-header-inner { position:relative;max-width:none;padding:10px 38px 22px; }
.case-detail-page .detail-status-row { display:none; }
.case-detail-page .detail-client { font-size:31px;font-weight:800;color:var(--t1);line-height:1.3; }
.case-detail-page .detail-num { color:var(--t2);font-size:14px;margin-top:8px; }
.case-detail-page .detail-num i { display:none; }
.case-detail-actions { display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px; }
.case-detail-actions .btn-primary,.case-detail-actions .btn-outline { padding:10px 17px;min-height:43px; }
.case-status-select { width:140px;min-height:43px;background:var(--primary-xl);color:var(--primary);font-weight:700; }
.case-detail-tabs { display:flex;gap:0;align-items:stretch;overflow:auto;margin:0 38px 22px;border-bottom:1px solid var(--bdr); }
.case-detail-tabs button { flex:1;min-width:max-content;padding:14px 15px;border-bottom:3px solid transparent;color:var(--t2);font-weight:700; }
.case-detail-tabs button.active { color:var(--primary);border-bottom-color:var(--primary); }
.case-detail-page>.section { max-width:none;margin:0 38px 15px;padding:20px 22px;border:1px solid var(--bdr);border-radius:5px;background:#fff; }
.case-detail-page>.section[hidden] { display:none!important; }
.case-detail-page .section-title { font-size:18px;font-weight:800; }
.case-detail-page .board-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0; }
.case-progress { display:grid;grid-template-columns:repeat(3,1fr);position:relative;margin:20px auto 5px;max-width:1040px; }
.case-progress::before { content:"";position:absolute;top:9px;left:16.67%;right:16.67%;height:2px;background:var(--bdr); }
.case-progress-step { display:flex;align-items:center;flex-direction:column;gap:3px;position:relative;text-align:center;font-size:14px;color:var(--t2); }
.case-progress-step strong { color:var(--t1);font-size:15px;margin-top:5px; }
.case-progress-step small { color:var(--t3);font-size:12px; }
.case-progress-dot { width:18px;height:18px;border:2px solid #8da5c8;border-radius:50%;background:#fff; }
.case-progress-step.complete .case-progress-dot { background:#1852ad;border-color:#1852ad; }
.case-detail-page .board-card { border:0;box-shadow:none;border-right:1px solid var(--bdr-l);border-radius:0;justify-content:center; }
.case-detail-page .board-card:last-child { border-right:0; }
.case-detail-page .profit-grid { gap:0; }
.case-detail-page .profit-card { border:0;border-right:1px solid var(--bdr-l);border-radius:0;box-shadow:none; }
.case-detail-page .profit-card:last-child { border-right:0; }
.case-detail-page .pc-value { color:var(--t1);font-size:28px; }
.case-detail-page .pc-profit .pc-value { color:var(--green); }
.case-detail-page .investigation-section .investigation-summary-grid { display:none; }
.case-detail-page .investigation-list { display:grid;gap:8px; }
.case-detail-page .inv-acc { border:1px solid var(--bdr);box-shadow:none;border-radius:4px; }
.investigation-backdrop { display:none; }
.investigation-section.is-editing .investigation-backdrop { display:block;position:fixed;inset:76px 0 0;z-index:111;background:rgba(16,34,65,.4); }
.case-detail-page .investigation-add-panel.open { position:fixed;z-index:112;right:0;top:76px;bottom:0;width:min(760px,100vw);height:auto;overflow:hidden;margin:0;padding:0;background:#fff;box-shadow:-18px 0 50px rgba(16,34,65,.15); }
.case-detail-page .investigation-form-card { display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none;padding:0;height:100%; }
.case-detail-page .investigation-form-head { position:sticky;top:0;z-index:2;background:#fff;padding:24px 28px 16px;border-bottom:1px solid var(--bdr); }
.case-detail-page .investigation-form-title { font-size:25px;color:var(--t1); }
.case-detail-page .investigation-form-title i { display:none; }
.case-detail-page .investigation-form-path { color:var(--t3);font-size:12px; }
.investigation-wizard { display:grid;grid-template-columns:repeat(3,1fr);position:relative;margin:18px 28px 24px; }
.investigation-wizard::before { content:"";position:absolute;top:15px;left:14%;right:14%;height:1px;background:var(--bdr); }
.investigation-wizard button { display:flex;align-items:center;flex-direction:column;gap:5px;position:relative;color:var(--t2);background:none;font-size:12px;font-weight:700; }
.investigation-wizard b { width:32px;height:32px;display:grid;place-items:center;background:#fff;border:1px solid var(--bdr);border-radius:50%; }
.investigation-wizard .active b,.investigation-wizard .done b { background:var(--primary);border-color:var(--primary);color:#fff; }
.investigation-wizard .active { color:var(--primary); }
.inv-form-step { margin:0 28px 20px; }
.case-detail-page .inv-form-step:not([hidden]) { flex:1;min-height:0;overflow:auto; }
.inv-form-step[hidden],.investigation-form-actions [hidden] { display:none!important; }
.inv-form-step h3 { font-size:20px;margin-bottom:4px; }
.inv-step-lead { color:var(--t2);margin-bottom:14px; }
.inv-step-summary { display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--primary-xl);border:1px solid var(--bdr);border-radius:5px;margin-bottom:20px; }
.inv-step-summary i { color:var(--green); }
.inv-step-summary span { flex:1; }
.inv-step-summary button { color:var(--primary);font-weight:700; }
.case-detail-page .costitems-box { margin:0;border:0;padding:0; }
.case-detail-page .costitem-row { border-color:var(--bdr);box-shadow:none; }
.case-detail-page .investigation-form-actions { flex:0 0 auto;position:sticky;bottom:0;z-index:2;justify-content:flex-end;gap:10px;background:#fff;border-top:1px solid var(--bdr);padding:14px 28px;margin:0; }
.case-detail-page .investigation-form-actions button { width:auto;margin:0;padding:10px 18px; }
.inv-review { border:1px solid var(--bdr);border-radius:5px; }
.inv-review div { display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--bdr-l); }
.inv-review div:last-child { border-bottom:0; }
.inv-review dt,.inv-review dd { padding:12px 15px; }
.inv-review dt { background:var(--primary-xl);font-weight:700;color:var(--t2); }
.case-edit-page .form-body { max-width:800px; }
.case-edit-background,.client-form-background { position:fixed;inset:76px 0 0;overflow:hidden;pointer-events:none; }
.case-edit-backdrop,.client-form-backdrop { position:fixed;inset:0;z-index:112;background:rgba(16,34,65,.38);cursor:default; }
.case-edit-page,.client-form-page { position:fixed;z-index:113;right:0;top:0;width:min(760px,100vw);height:100vh;overflow-y:auto;background:#fff;box-shadow:-18px 0 50px rgba(16,34,65,.12);padding:0; }
.case-edit-page .page-header-sub,.client-form-page .page-header-sub { top:0;position:sticky;background:#fff;border-bottom:1px solid var(--bdr);padding:18px 25px; }
.case-edit-page .form-body,.client-form-page .form-body { padding:24px 26px 90px; }
.case-edit-page .header-title-center,.client-form-page .header-title-center { position:static;transform:none; }
.client-form-footer { position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:15px 25px;background:#fff;border-top:1px solid var(--bdr); }
.client-form-footer .btn-primary { padding:9px 17px; }
.client-form-footer .btn-outline { padding:9px 17px; }

/* Finance: a broad balance card and three equal summary panels. */
body[data-view="finance"] .page { position:relative; }
body[data-view="finance"] .page-header { padding:14px 38px 8px; }
body[data-view="finance"] .page-header h1 { font-size:36px; }
body[data-view="finance"] .page-subtitle { font-size:16px; }
.fin-subtabs { margin:0 38px 14px;border:0;border-bottom:1px solid var(--bdr);border-radius:0;padding:0;background:#fff; }
.fin-subtabs-inner { justify-content:space-between; }
.fin-subtab { border-radius:4px 4px 0 0;color:var(--t2);padding:15px 18px;font-size:17px; }
.fin-subtab.active { background:var(--primary);box-shadow:none;color:#fff; }
#fin-body { padding:0 38px 36px; }
.fin-month-bar { position:absolute;top:32px;right:38px;margin:0;border:1px solid var(--bdr);border-radius:28px;box-shadow:none;padding:3px; }
.fin-month-today { background:#fff;color:var(--primary);border:1px solid var(--bdr); }
#fin-summary-body { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
#fin-summary-body>.fin-balance-card { grid-column:1/-1;display:grid;grid-template-columns:42% minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 30px;margin:0;padding:24px 26px; }
.fin-balance-head { grid-column:1;grid-row:1;align-self:start; }
.fin-balance-total { grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;margin:0;padding:0;border:0; }
.fin-balance-total-val { font-size:44px;line-height:1.2;color:var(--t1); }
.fin-balance-list { grid-column:2;grid-row:1/span 2;border-left:1px solid var(--bdr);padding-left:28px;margin:0; }
.fin-balance-item { background:#fff;border-bottom:1px solid var(--bdr-l);border-radius:0; }
.fin-balance-item:last-child { border-bottom:0; }
.fin-balance-item-ic { border-radius:5px; }
.fin-balance-foot,#fin-summary-body>.fin-hero,#fin-summary-body>.fin-stat-grid { display:none; }
#fin-summary-body>.fin-panel-row { display:contents; }
#fin-summary-body .fin-panel { margin:0; }
#fin-summary-body>.fin-panel:not(:last-child) { grid-column:auto; }
#fin-summary-body>.fin-panel:last-child { grid-column:1/-1; }
#fin-summary-body>.fin-panel-row+.fin-panel { background:#fffcf5;border-color:#ecdfc9; }
#fin-summary-body>.fin-panel-row+.fin-panel .fin-vis-total { background:#fff9eb!important; }
.fin-panel-head { padding:17px 20px; }
.fin-panel-head h2 { font-size:16px; }
.fin-panel-body { padding:16px 20px; }
.fin-summary-balance-foot { display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--bdr-l);margin:0 20px;padding:13px 0;color:var(--t3);font-size:12px; }
.fin-summary-balance-foot span { display:flex;flex-direction:column;gap:3px; }
.fin-summary-balance-foot span:last-child { text-align:right; }
.fin-summary-balance-foot strong { color:var(--t1);font-size:15px; }
.fin-summary-balance-foot i { color:#91a7c9; }
.fin-vis-bar { display:none; }
.fin-vis-row { grid-template-columns:1fr auto; }
.fin-vis-amt { font-size:14px; }
.fin-vis-total { background:var(--primary-xl)!important;border-radius:5px; }
.fin-fc-list-head,.fin-fc-row { display:grid;grid-template-columns:150px minmax(0,1fr) 140px;align-items:center;gap:18px; }
.fin-fc-list-head { background:var(--primary-xl);padding:10px 13px;color:var(--t2);font-size:12px;font-weight:700; }
.fin-fc-list-head span:last-child { text-align:right; }
.fin-fc-row { border-bottom:1px solid var(--bdr-l);border-radius:0;padding:11px 13px; }
.fin-fc-date { width:auto;background:none;color:var(--t2);white-space:nowrap;text-align:left;padding:0; }
.fin-fc-amt { text-align:right; }
.fin-fixed-table { border:1px solid var(--bdr);border-radius:5px;overflow:auto;background:#fff; }
.fin-fixed-table table { width:100%;min-width:790px;border-collapse:collapse;table-layout:fixed; }
.fin-fixed-table th,.fin-fixed-table td { border-bottom:1px solid var(--bdr-l);text-align:left;vertical-align:middle;padding:17px 20px;color:var(--t1); }
.fin-fixed-table thead th { background:#f7faff;color:var(--t2);font-size:13px;font-weight:700;padding-top:13px;padding-bottom:13px; }
.fin-fixed-table thead th:nth-child(1) { width:22%; }.fin-fixed-table thead th:nth-child(2) { width:26%; }.fin-fixed-table thead th:nth-child(3) { width:22%; }.fin-fixed-table thead th:nth-child(4) { width:14%; }.fin-fixed-table thead th:nth-child(5) { width:16%; }
.fin-fixed-table tbody:last-child tr:last-child>* { border-bottom:0; }
.fin-fixed-table .fin-fixed-day { background:#fbfdff;border-right:1px solid var(--bdr);font-weight:400; }
.fin-fixed-day>div { display:flex;align-items:center;gap:15px; }
.fin-fixed-day i { color:var(--t3);font-size:19px; }
.fin-fixed-day span { color:var(--t3);font-size:12px;white-space:nowrap; }
.fin-fixed-day strong { display:block;color:var(--t1);font-size:21px;margin-top:5px; }
.fin-fixed-name strong,.fin-fixed-name small { display:block; }
.fin-fixed-name strong { font-size:16px; }.fin-fixed-name small { color:var(--t3);font-size:13px;margin-top:4px; }
.fin-fixed-table .amount { text-align:right;white-space:nowrap; }
.fin-fixed-actions { white-space:nowrap; }
.fin-fixed-actions button { color:var(--t2);font-weight:700;font-size:13px;padding:4px 7px; }
.fin-fixed-actions button+button { border-left:1px solid var(--bdr);margin-left:5px;padding-left:13px; }
.fin-fixed-actions .danger { color:var(--red); }
.fin-fixed-table tr.inactive { opacity:.55; }
body[data-view="finance"] #fin-body:has(#fin-vc-list .empty-state) .fin-list-head button,body[data-view="finance"] #fin-body:has(#fin-vc-list .empty-state) .fin-section-note { display:none; }
#fin-vc-list .empty-state { padding:84px 24px; }
#fin-vc-list .empty-icon { width:86px;height:86px;border-radius:50%;margin-bottom:24px;color:var(--primary);background:#edf4ff;font-size:31px; }
#fin-vc-list .empty-state h3 { font-size:26px;margin-bottom:16px; }
#fin-vc-list .empty-state p { font-size:17px;line-height:1.9;margin-bottom:28px;color:var(--t2); }
#fin-vc-list .empty-state .btn-primary { min-width:215px;min-height:60px;justify-content:center;font-size:16px; }
.fin-settings-grid { display:grid;grid-template-columns:1fr;gap:18px; }
.fin-settings-section { padding:0;border:0;border-radius:0;box-shadow:none;background:transparent; }
.fin-settings-section .fin-list-head { padding:10px 0 15px;margin:0; }
.fin-bank-table { overflow:auto;background:#fff;border-top:1px solid var(--bdr); }
.fin-bank-table table { width:100%;min-width:790px;border-collapse:collapse;table-layout:fixed; }
.fin-bank-table th,.fin-bank-table td { padding:12px 18px;border-bottom:1px solid var(--bdr-l);text-align:left;color:var(--t1); }
.fin-bank-table th { background:#fbfdff;color:var(--t2);font-size:12px;font-weight:700; }
.fin-bank-table th:nth-child(1) { width:24%; }.fin-bank-table th:nth-child(2) { width:19%; }.fin-bank-table th:nth-child(3) { width:23%; }.fin-bank-table th:nth-child(4) { width:17%; }.fin-bank-table th:nth-child(5) { width:17%; }
.fin-bank-name { display:flex;align-items:center;gap:12px;white-space:nowrap; }
.fin-bank-name i { font-size:19px;color:var(--primary); }
.fin-bank-table tr.inactive { opacity:.55; }
.fin-account-section { border-top:10px solid #f2f6fc;padding-top:10px; }
.fin-acct-columns { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.fin-acct-column { min-width:0;padding-right:20px;border-right:1px solid var(--bdr); }
.fin-acct-column:last-child { border-right:0;padding-right:0; }
.fin-acct-group { margin:0 0 24px; }
.fin-acct-group-head { font-size:14px;margin:0 0 6px; }
.fin-acct-row { padding:6px 0;min-height:34px;border-bottom:1px solid var(--bdr-l);gap:8px; }
.fin-acct-code { width:60px;flex:none;color:var(--t3); }
.fin-acct-name { flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.fin-acct-row .fin-card-actions { flex:none; }
.fin-acct-row .icon-btn { padding:3px 6px; }
.fin-tx-table-head,.fin-tx-row,.fin-imports-head,.fin-imports-row { border-color:var(--bdr-l); }
.fin-import-box,.fin-tx-table,.fin-imports-table { overflow:hidden; }
.fin-tx-workspace { display:grid;grid-template-columns:minmax(0,2.1fr) minmax(310px,1fr);gap:12px;align-items:stretch; }
.fin-tx-master,.fin-tx-detail { min-width:0;background:#fff;border:1px solid var(--bdr);border-radius:5px;overflow:hidden; }
.fin-tx-list-title { display:flex;align-items:center;justify-content:space-between;padding:18px 20px; }
.fin-tx-list-title h2,.fin-tx-detail h2 { font-size:19px;color:var(--t1); }
.fin-tx-list-title h2 i,.fin-tx-detail h2 i { color:var(--accent);margin-right:9px; }
.fin-tx-list-title>span { color:var(--t3);font-size:13px; }
.fin-tx-master .fin-tx-table { border:0;border-radius:0; }
.fin-tx-master .fin-tx-table-head,.fin-tx-master .fin-tx-row { grid-template-columns:90px minmax(130px,1.5fr) minmax(130px,1.2fr) 100px;gap:12px;padding:12px 15px; }
.fin-tx-master .th-actions,.fin-tx-master .fin-tx-actions { display:none; }
.fin-tx-master .fin-tx-row { min-height:65px;cursor:pointer;border-bottom:1px solid var(--bdr-l); }
.fin-tx-master .fin-tx-row.selected { background:#edf4ff;box-shadow:inset 4px 0 0 var(--primary); }
.fin-tx-master .fin-tx-bank { border-radius:4px; }
.fin-tx-master .fin-tx-amt { font-size:15px; }
.fin-tx-detail { padding:20px 22px; }
.fin-tx-detail h2 { padding-bottom:18px; }
.fin-tx-facts { border-bottom:1px solid var(--bdr);margin-bottom:20px; }
.fin-tx-facts div { display:grid;grid-template-columns:110px 1fr;gap:8px;padding:14px 0;border-top:1px solid var(--bdr-l); }
.fin-tx-facts dt { color:var(--t3);font-size:13px; }
.fin-tx-facts dd { font-weight:700;color:var(--t1);overflow-wrap:anywhere; }
.fin-tx-facts dd.red { color:var(--red);font-size:22px; }
.fin-tx-facts dd.green { color:var(--green);font-size:22px; }
.fin-tx-detail h3 { font-size:14px;margin-bottom:12px; }
.fin-tx-empty-detail { color:var(--t3);font-size:14px;line-height:1.7;padding:30px 0; }
.fin-tx-detail-actions { display:grid;gap:8px; }
.fin-tx-detail-actions .btn-outline { width:100%;padding:11px; }
.fin-journal-tabs { border-bottom:1px solid var(--bdr); }
.fin-journal-tab { border-radius:0;font-weight:700; }
.fin-pending-workspace { display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--bdr);border-radius:5px;background:#fff;overflow:hidden; }
.fin-pending-guide { border-right:1px solid var(--bdr);padding:24px 22px;color:var(--t2); }
.fin-pending-guide h3 { color:var(--t1);font-size:22px;margin-bottom:24px; }
.fin-pending-guide section { margin-bottom:29px; }
.fin-pending-guide h4 { color:var(--t1);font-size:16px;margin-bottom:8px; }
.fin-pending-guide p { font-size:14px;line-height:1.7; }
.fin-pending-guide-foot { border-top:1px solid var(--bdr);padding-top:19px;font-size:13px; }
.fin-pending-main { min-width:0;padding:15px 24px 20px; }
.fin-pending-main .fin-list-head { margin:0 0 9px;padding:0; }
.fin-pending-main .fin-list-head h2 { font-size:24px; }
.fin-pending-list { gap:0; }
.fin-pending-day { display:flex;gap:10px;align-items:center;background:var(--primary-xl);padding:9px 14px;margin-top:7px;color:var(--t2); }
.fin-pending-day strong { font-size:16px;color:var(--t1); }
.fin-pending-row { grid-template-columns:minmax(0,1fr) 135px 250px;gap:14px;padding:8px 12px 8px 55px;border:0;border-bottom:1px solid var(--bdr-l);border-radius:0; }
.fin-pending-desc-main { font-size:15px;font-weight:700; }
.fin-pending-desc small { font-size:12px;color:var(--t3); }
.fin-pending-amount { font-size:18px; }
.fin-pending-actions { justify-content:flex-end; }
.fin-pending-actions .fin-tx-act { border:1px solid var(--bdr);border-radius:4px;min-width:100px;min-height:38px;color:var(--primary);font-weight:700; }
.fin-pending-journal-btn { min-width:105px;justify-content:center; }
.fin-list-head { border-bottom:1px solid var(--bdr); }
.fin-je-empty { color:var(--t1);font-size:14px;padding:28px 0 40px; }
.fin-je-empty-title h3 { font-size:24px;margin-bottom:8px; }
.fin-je-empty-title p { color:var(--t2); }
.fin-je-empty-actions { display:grid;grid-template-columns:1fr 1fr;margin-top:26px; }
.fin-je-empty-actions>div { min-height:290px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:14px;padding:25px;text-align:center; }
.fin-je-empty-actions>div+div { border-left:1px solid var(--bdr); }
.fin-je-empty-actions h4 { font-size:20px; }
.fin-je-empty-actions h4 span { font-size:13px;background:var(--primary-xl);padding:5px 10px;border-radius:16px; }
.fin-je-empty-actions p { color:var(--t2); }
.fin-je-empty-actions button { min-width:240px;padding:12px 18px; }
.fin-je-empty-icon { width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--primary-xl);color:var(--primary);font-size:30px; }
.fin-je-form { border:1px solid var(--bdr);border-radius:5px;box-shadow:none;padding:18px 32px 28px; }
.fin-je-form-head h2 { font-size:29px; }
.fin-je-form-head h2 i { display:none; }
.fin-je-form-head h2 { flex:1;white-space:nowrap; }
.fin-je-form-head .secondary-btn { width:auto;flex:none;border:1px solid var(--bdr);padding:9px 18px; }
.fin-je-form .fin-form-row { grid-template-columns:1fr 1.7fr;gap:26px;margin:24px 0 30px; }
.fin-je-form .fin-form-col label { font-size:17px;color:var(--t1);margin-bottom:8px; }
.fin-je-form .fin-form-col input { padding:13px 15px;font-size:17px; }
.fin-je-form .je-table { display:block; }
.fin-je-form .je-side-col { position:relative;padding:0;background:none;border-radius:0;margin-bottom:24px; }
.fin-je-form .je-side-head { font-size:22px;padding:8px 0 12px;margin-bottom:10px; }
.fin-je-form .je-line-labels,.fin-je-form .je-line { display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(100px,.7fr) minmax(160px,1.2fr) 45px;gap:12px;align-items:center; }
.fin-je-form .je-line-labels { color:var(--t2);font-size:14px;padding:0 0 7px; }
.fin-je-form .je-line { margin:0 0 8px; }
.fin-je-form .je-line>* { width:100%;min-width:0;min-height:42px;font-size:16px;border:1px solid var(--bdr);border-radius:4px;padding:9px 12px; }
.fin-je-form .je-line .icon-btn { width:44px; }
.fin-je-form .je-add-line { width:auto;font-size:15px;border-style:solid;color:var(--primary);margin-top:4px;padding:9px 18px; }
.fin-je-form .je-side-total { position:absolute;right:0;top:9px;border:0;font-size:16px;margin:0;padding:0;pointer-events:none; }
.fin-je-footer { display:flex;align-items:center;gap:20px;margin-top:28px;border-top:1px solid var(--bdr);padding-top:14px; }
.fin-je-form .je-balance { flex:1;text-align:left;background:none;border:0;color:var(--t2);border-radius:0;margin:0;padding:0; }
.fin-je-form .je-balance.empty { color:var(--t2);font-size:15px; }
.fin-je-form-actions .btn-primary { padding:11px 35px;min-width:200px; }
.fin-file-input { border:1px dashed var(--bdr);padding:8px;background:var(--primary-xl);border-radius:4px; }
.fin-modal-box { border:1px solid var(--bdr);box-shadow:0 24px 80px rgba(20,42,80,.18); }
@media (min-width:800px) {
  .fin-modal-overlay { justify-content:flex-end;align-items:stretch;padding:0;background:rgba(16,34,65,.38); }
  .fin-modal-box { width:min(590px,100vw);max-width:none;height:100vh;max-height:none;overflow-y:auto;border-radius:0;padding:5px 28px 25px; }
  #fin-modal:has(#fc-name) .fin-modal-box,#fin-modal:has(#vc-name) .fin-modal-box { width:min(560px,100vw); }
  #fin-modal:has(#acct-name) .fin-modal-box,#fin-modal:has(#ba-name) .fin-modal-box { width:min(460px,100vw); }
  .fin-modal-box h3 { font-size:27px;margin-bottom:20px;padding-bottom:14px;border-bottom:0; }
  .fin-modal-box .fin-form { gap:9px; }
  .fin-modal-box .fin-form label:not(.fin-checkbox) { font-size:17px;margin-top:10px;color:var(--t1);font-weight:700; }
  .fin-modal-box .fin-form label:first-child { margin-top:0; }
  .fin-modal-box .fin-form input:not([type="checkbox"]),.fin-modal-box .fin-form select,.fin-modal-box .fin-form textarea { min-height:49px;font-size:17px;padding:11px 13px; }
  .fin-modal-box .fin-form-hint { font-size:13px;color:var(--t3); }
  .fin-modal-box .fin-checkbox { margin-top:13px;font-size:16px;font-weight:700; }
  #fin-modal-content { min-height:100%;display:flex;flex-direction:column; }
  .fin-modal-actions { position:sticky;bottom:-25px;margin:24px -28px -25px;padding:15px 28px;background:#fff;border-top:1px solid var(--bdr);margin-top:auto; }
  .fin-modal-actions .secondary-btn,.fin-modal-actions .btn-primary { flex:1;padding:12px;font-size:16px; }
}
@media (min-width:960px) {
  .fin-modal-overlay { top:76px;height:calc(100vh - 76px); }
  .fin-modal-box { height:100%; }
}

/* Drawers and document editor. */
.form-group-card { border-color:var(--bdr);box-shadow:none; }
.form-group-title { color:var(--t1);border-bottom-color:var(--bdr-l); }
.mail-modal-overlay.open { background:rgba(15,34,68,.38);backdrop-filter:none; }
@media (min-width:960px) {
  html:has(body[data-view="doc-detail"]),body[data-view="doc-detail"] { overflow:hidden; }
  .mail-modal-overlay { top:76px;height:calc(100vh - 76px);justify-content:flex-end;align-items:stretch;padding:0; }
  .mail-modal { height:100%;max-height:none;width:min(700px,100vw);max-width:none;border-radius:0;display:flex;flex-direction:column;transform:translateX(24px); }
  .mail-modal-body { flex:1; }
  .mail-modal-actions { justify-content:flex-end; }
  .mail-modal-actions>* { flex:0 1 auto; }
  .template-mail-modal { width:min(740px,100vw); }
  .template-mail-modal.compose-modal { width:min(920px,100vw); }
  .sheet { border-radius:0;width:min(720px,100vw);height:100vh;max-height:none; }
  .sheet-bg { align-items:stretch;justify-content:flex-end; }
  .detail-with-preview { max-width:none;margin:0;height:calc(100vh - 143px);overflow:hidden; }
  .detail-preview-panel { order:-1;width:68.4%;flex:0 0 68.4%;margin:0;border:0;border-right:1px solid var(--bdr);box-shadow:none;position:relative;top:0;height:100%;border-radius:0; }
  .detail-main-col { max-width:none;flex:1;height:100%;overflow-y:auto;border:1px solid var(--bdr);border-left:0;background:#fff; }
}
.template-mail-modal .mail-modal-head { padding:26px 30px 18px; }
.template-mail-modal .mail-modal-head h3 { color:var(--t1);font-size:26px; }
.template-mail-modal .mail-modal-body { padding:8px 30px 25px; }
.template-mail-steps { display:flex;align-items:center;justify-content:center;gap:0;margin:0 30px 24px;color:var(--t3); }
.template-mail-steps>div { position:relative;min-width:180px;display:flex;align-items:center;flex-direction:column;gap:5px;font-size:12px;font-weight:700; }
.template-mail-steps>div+div::before { content:"";position:absolute;top:15px;right:calc(50% + 18px);width:calc(100% - 35px);height:2px;background:#b4c5e2; }
.template-mail-steps b { display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#dfe7f5;color:#fff;font-size:13px; }
.template-mail-steps .active { color:#1268e5; }
.template-mail-steps .active b { background:#1268e5; }
.template-mail-steps .done b { background:#627797; }
.template-mail-used { display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--bdr);border-radius:5px;margin-bottom:20px;color:var(--t1); }
.template-mail-used span { color:var(--t2);font-size:13px;white-space:nowrap; }
.template-mail-used strong { flex:1;font-size:16px; }
.template-mail-used small { padding:4px 10px;border-radius:3px;background:#fceaf0;color:#bc4e68;font-weight:700; }
.template-mail-modal h4 { margin:18px 0 10px;font-size:16px; }
.template-recipient-choice { border:1px solid var(--bdr);border-radius:5px;margin-bottom:8px; }
.template-recipient-choice.active { border-color:#b5cdf8; }
.template-recipient-choice>label { display:flex;align-items:center;gap:10px;padding:14px 17px;font-size:14px;font-weight:700;cursor:pointer; }
.template-recipient-choice.active>label { background:#edf4ff; }
.template-recipient-choice input[type="radio"] { accent-color:#1268e5;width:16px;height:16px; }
.template-recipient-fields { padding:14px 18px 18px; }
.template-recipient-fields[hidden] { display:none; }
.template-recipient-fields .form-input { width:100%;border-radius:4px; }
.template-mail-note { color:var(--t3);font-size:12px;margin:11px 0 18px; }
.template-mail-preview { background:#f3f6fc;border-radius:5px;padding:15px 17px;font-size:13px;color:var(--t2); }
.template-mail-preview strong { color:var(--t1); }
.template-mail-preview small { float:right; }
.template-mail-preview p { margin:12px 0 0;white-space:pre-line;line-height:1.6; }
.template-mail-modal .mail-modal-actions { padding:15px 30px;gap:9px; }
.template-mail-modal .mail-modal-actions>span { flex:1;color:var(--t3);font-size:12px; }
.template-mail-modal .mail-modal-actions .secondary-btn,.template-mail-modal .mail-modal-actions .save-btn { width:auto;min-width:145px;max-width:none;padding:10px 18px; }
.template-mail-back { margin-right:auto;color:#1468d9;font-weight:700;font-size:13px; }
.compose-modal #mm-body { min-height:380px;line-height:1.65;font-size:14px; }
.compose-modal .mail-modal-actions { flex-wrap:wrap; }
.pdf-preview-panel { border-color:var(--bdr); }
.detail-header,.client-hero { background:transparent; }
.detail-total-card { border:1px solid var(--bdr);background:var(--primary-xl); }
.info-grid,.note-card { border-color:var(--bdr); }
body[data-view="doc-detail"] .detail-with-preview { align-items:stretch; }
body[data-view="doc-detail"] .detail-header { padding:0; }
body[data-view="doc-detail"] .detail-main-col .section { max-width:none;padding:18px 24px; }
body[data-view="doc-detail"] .detail-header-inner { padding:22px 24px 16px; }
body[data-view="doc-detail"] .detail-header .detail-status-row { display:flex;align-items:center;gap:12px; }
body[data-view="doc-detail"] .detail-client { font-size:23px;line-height:1.35;margin-top:13px;overflow-wrap:anywhere; }
body[data-view="doc-detail"] .detail-num { color:var(--t2);font-size:13px;overflow-wrap:anywhere; }
body[data-view="doc-detail"] .detail-total-card { border:0;border-bottom:1px solid var(--bdr);border-radius:0;box-shadow:none;background:transparent;padding:15px 0 8px;margin:12px 0 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:9px; }
body[data-view="doc-detail"] .detail-total-label { flex-shrink:0;color:var(--t3);font-size:12px; }
body[data-view="doc-detail"] .detail-total { max-width:100%;margin-left:auto;font-size:clamp(24px,3vw,30px);color:var(--t1);font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
body[data-view="doc-detail"] .detail-main-col .section-title { font-size:15px; }
body[data-view="doc-detail"] .detail-main-col .info-grid { display:block;border:0;box-shadow:none; }
body[data-view="doc-detail"] .detail-main-col .info-item { display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--bdr-l); }
body[data-view="doc-detail"] .detail-main-col .info-label { flex:0 0 84px;color:var(--t3); }
body[data-view="doc-detail"] .detail-main-col .info-value { min-width:0;overflow-wrap:anywhere;text-align:right;font-weight:700; }
.detail-primary-actions { display:grid;gap:8px;padding:15px 24px 22px;border-bottom:1px solid var(--bdr); }
.mobile-document-action { display:none; }
.detail-primary-actions>.btn-primary,.detail-primary-actions>.btn-outline { width:100%;min-height:43px; }
.detail-primary-actions>[data-duplicate-document] { min-height:44px; }
[data-duplicate-document]:disabled { opacity:.6;cursor:wait; }
.detail-more-actions { position:relative; }
.detail-more-actions summary { display:flex;align-items:center;justify-content:center;gap:10px;min-height:43px;border:1px solid var(--bdr);border-radius:5px;color:var(--primary);font-weight:700;cursor:pointer;list-style:none; }
.detail-more-actions summary::-webkit-details-marker { display:none; }
.detail-more-menu { position:absolute;right:0;top:45px;z-index:12;min-width:190px;background:#fff;border:1px solid var(--bdr);border-radius:5px;box-shadow:var(--sh-md);padding:5px; }
.detail-more-menu .detail-action-btn { display:block;width:100%;text-align:left;padding:9px 11px;font-size:13px; }
.detail-preview-panel .pdf-panel-header { display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-bottom:1px solid var(--bdr);padding:14px 35px;min-height:86px; }
.detail-preview-controls { display:flex;align-items:center;gap:5px; }
.detail-preview-controls .detail-action-btn { width:auto;min-height:34px;padding:5px 9px;font-size:12px;border:1px solid var(--bdr);border-radius:4px; }
.detail-preview-zoom { display:flex;align-items:center;margin-left:10px;border:1px solid var(--bdr);border-radius:4px;overflow:hidden;background:#fff; }
.detail-preview-zoom button { min-width:31px;height:32px;background:#fff;color:var(--primary);font-weight:800;font-size:17px;border-right:1px solid var(--bdr); }
.detail-preview-zoom button:hover { background:var(--primary-xl); }
.detail-preview-zoom button:last-child { border-left:1px solid var(--bdr);border-right:0;margin-left:5px;font-size:12px; }
.detail-preview-zoom span { min-width:45px;text-align:center;color:var(--t1);font-size:12px;font-weight:700; }
body[data-view="doc-detail"] .detail-status-section { display:none; }
body[data-view="doc-detail"] .detail-delete-section { border-top:1px solid var(--bdr);margin-top:20px; }
body[data-view="doc-form"] .page { padding-bottom:110px; }
body[data-view="doc-form"] .page-header-sub { display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 20px;position:sticky;top:76px;z-index:55;background:#fff;padding:12px 36px;border-bottom:1px solid var(--bdr); }
body[data-view="doc-form"] .page-header-sub .back-btn { grid-column:1/-1;justify-self:start; }
.doc-form-heading { display:flex;align-items:baseline;gap:20px; }
.doc-form-heading strong { font-size:26px;color:var(--t1); }
.doc-form-heading span { color:var(--t2);font-size:14px; }
.doc-form-format { display:flex;align-items:center;gap:14px;margin:0!important;white-space:nowrap; }
.doc-form-format .form-label { margin:0; }
.doc-form-format .format-toggle { margin:0; }
body[data-view="doc-form"] .form-with-preview { max-width:none;align-items:stretch; }
body[data-view="doc-form"] .form-main-col { max-width:none;flex:0 0 60%;min-width:0;border-right:1px solid var(--bdr);background:#fff; }
body[data-view="doc-form"] #inv-form.form-body { max-width:none;padding:23px 36px 25px; }
.doc-form-section-title { font-size:19px;border-bottom:1px solid var(--bdr);padding-bottom:12px;margin:0 0 18px; }
body[data-view="doc-form"] #pdf-preview-panel { flex:1;width:auto;min-width:0;height:calc(100vh - 280px);min-height:500px;top:220px;margin:0;border:0;border-radius:0;box-shadow:none;background:var(--primary-xl); }
body[data-view="doc-form"] #pdf-preview-panel .pdf-panel-header { background:transparent;border:0;padding:20px 22px 12px; }
body[data-view="doc-form"] #pdf-preview-panel .pdf-panel-header span { color:var(--t1);font-size:15px;font-weight:800; }
body[data-view="doc-form"] #pdf-preview-iframe { background:var(--primary-xl); }
body[data-view="doc-form"] #items-box .item-block { border:1px solid var(--bdr);border-radius:4px;padding:12px;margin-bottom:8px;box-shadow:none; }
body[data-view="doc-form"] .item-block .form-input { margin-bottom:4px; }
body[data-view="doc-form"] .item-num-col { min-width:0; }
body[data-view="doc-form"] .add-item-area { width:max-content;padding:10px 18px;border:1px solid var(--bdr);border-radius:4px;background:#fff;color:var(--primary);font-weight:700; }
.doc-form-footer { position:fixed;left:0;right:0;bottom:0;z-index:65;display:flex;align-items:center;gap:16px;padding:12px 36px;background:#fff;border-top:1px solid var(--bdr);box-shadow:0 -5px 20px rgba(20,42,80,.05); }
.doc-form-footer>.btn-outline,.doc-form-footer>.btn-primary { padding:11px 20px;white-space:nowrap; }
.doc-form-footer-totals { margin-left:auto; }
.doc-form-footer .totals-card { display:flex;align-items:center;gap:0;padding:0;margin:0;border:0;box-shadow:none;background:none; }
.doc-form-footer .totals-row { display:flex;align-items:baseline;gap:10px;white-space:nowrap;padding:0 16px;border-right:1px solid var(--bdr);font-size:13px; }
.doc-form-footer .totals-row:last-child { border-right:0; }
.doc-form-footer .totals-row.total { background:var(--primary-xl);padding:8px 15px;border-radius:4px; }
.doc-form-footer .totals-row.total span:last-child { font-size:21px;color:var(--t1);font-weight:800; }

/* Register an existing PDF without changing its contents. */
#pdf-upload-workspace { position:fixed;inset:76px 0 0;z-index:160;background:#fff;display:flex;flex-direction:column;color:var(--t1); }
.pdf-upload-heading { display:flex;align-items:center;gap:24px;min-height:116px;padding:17px 36px;border-bottom:1px solid var(--bdr); }
.pdf-upload-heading .back-btn { align-self:flex-start;white-space:nowrap; }
.pdf-upload-heading h1 { display:inline;margin:0 18px 0 0;font-size:26px;line-height:1.35; }
.pdf-upload-heading p { display:inline;color:var(--t2);font-size:14px; }
.pdf-upload-layout { display:grid;grid-template-columns:minmax(0,65%) minmax(350px,35%);min-height:0;flex:1; }
.pdf-upload-preview { display:flex;flex-direction:column;min-width:0;padding:18px 18px 0 36px;background:#f8fbff; }
.pdf-upload-file { display:flex;align-items:center;gap:14px;padding:15px 18px;border:1px solid var(--bdr);border-radius:5px;background:#fff;min-height:75px; }
.pdf-upload-file>i { color:#df3f42;font-size:25px; }
.pdf-upload-file>div { display:flex;flex-direction:column;min-width:0;flex:1;gap:3px; }
.pdf-upload-file strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px; }
.pdf-upload-file span { color:var(--t3);font-size:12px; }
.pdf-upload-file-limit { white-space:nowrap; }
.pdf-upload-file .btn-outline { white-space:nowrap;padding:8px 12px; }
.pdf-upload-canvas { flex:1;min-height:0;display:flex;flex-direction:column;margin-top:12px;background:#e8eef6;border-radius:4px 4px 0 0;padding:10px 18px 0; }
.pdf-upload-preview-toolbar { display:flex;justify-content:space-between;gap:15px;padding:5px 0 12px;color:var(--t2);font-size:12px; }
.pdf-upload-preview-toolbar span:first-child { font-weight:700;color:var(--t1); }
.pdf-upload-canvas iframe { flex:1;width:100%;min-height:300px;border:0;background:#fff; }
.pdf-upload-form { display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--bdr);background:#fff; }
.pdf-upload-form-content { flex:1;min-height:0;overflow:auto;padding:23px 27px; }
.pdf-upload-form h2 { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 25px;padding-left:13px;border-left:4px solid var(--primary);font-size:21px; }
.pdf-upload-form h2 small { color:var(--t3);font-size:12px;font-weight:600; }
.pdf-upload-form label { display:block;margin:0 0 19px;color:var(--t1);font-size:13px;font-weight:700; }
.pdf-upload-form input,.pdf-upload-form select { display:block;width:100%;height:44px;margin-top:8px;padding:8px 12px;border:1px solid var(--bdr);border-radius:4px;background:#fff;color:var(--t1);font:inherit;font-weight:500; }
.pdf-upload-form input:focus,.pdf-upload-form select:focus { outline:2px solid #bcd1f0;border-color:var(--primary); }
.pdf-upload-amount { display:flex;align-items:center;margin-top:8px;border:1px solid var(--bdr);border-radius:4px; }
.pdf-upload-amount span { padding:0 17px;font-size:20px;color:var(--t2);border-right:1px solid var(--bdr); }
.pdf-upload-amount input { margin:0;border:0;font-size:25px;font-weight:800;height:52px; }
.pdf-upload-hint { margin:-11px 0 19px;color:var(--t3);font-size:11px;line-height:1.6; }
.pdf-upload-form hr { border:0;border-top:1px solid var(--bdr);margin:24px 0; }
.pdf-upload-form-footer { border-top:1px solid var(--bdr);padding:17px 27px 20px;display:grid;gap:10px;background:#fff; }
.pdf-upload-form-footer button { width:100%;min-height:45px; }

/* Send mail with its attachment visible during composition. */
#sheet-overlay.email-composer-overlay { top:76px;z-index:210;align-items:stretch;background:#fff; }
#sheet-overlay.email-composer-overlay .sheet-bg { display:none; }
#sheet-overlay.email-composer-overlay .email-composer { display:grid;grid-template-columns:minmax(0,57%) minmax(360px,43%);grid-template-rows:auto minmax(0,1fr) auto;width:100%;max-width:none;max-height:none;height:100%;padding:0;overflow:hidden;border:0;border-radius:0;box-shadow:none;background:#fff;transform:none; }
.email-composer .sheet-handle { display:none; }
.email-preview-column { grid-column:1;grid-row:1/4;min-width:0;min-height:0;display:flex;flex-direction:column;padding:17px 20px 0 34px;background:#f8fbff;border-right:1px solid var(--bdr); }
.email-preview-title { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;color:var(--t1); }
.email-preview-title strong { font-size:15px; }
.email-preview-title span { color:var(--t3);font-size:12px; }
.email-preview-toolbar { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;color:var(--t3);font-size:12px; }
.email-preview-toolbar button { background:#fff;border:1px solid var(--bdr);border-radius:4px;padding:8px 12px;color:var(--primary);font-weight:700; }
.email-preview-column iframe { flex:1;min-height:0;width:100%;border:0;background:#fff; }
.email-composer .sheet-header { grid-column:2;grid-row:1;border-bottom:1px solid var(--bdr);padding:18px 24px 14px; }
.email-composer .sheet-header h3 { font-size:23px;color:var(--t1); }
.email-composer .sheet-close { background:none;color:var(--t2); }
.email-composer .sheet-body { grid-column:2;grid-row:2;min-height:0;overflow:auto;padding:18px 24px 25px; }
.email-composer .form-section { margin-bottom:14px; }
.email-composer .form-label { font-size:12px;font-weight:700;margin-bottom:6px; }
.email-composer .form-input { width:100%;border-radius:4px; }
.email-composer #em-body { min-height:200px;font-size:13px;line-height:1.5; }
.email-composer-footer { grid-column:2;grid-row:3;display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--bdr);background:#fff;padding:14px 24px; }
.email-composer-footer span { margin-right:auto;color:var(--t2);font-size:12px;white-space:nowrap; }
.email-composer-footer button { margin:0;width:auto;white-space:nowrap;min-height:43px;padding:9px 14px; }
.email-composer-footer .save-btn { background:#243e66; }
.email-secondary-actions { margin-top:14px;border:1px solid var(--bdr);border-radius:4px; }
.email-secondary-actions summary { list-style:none;cursor:pointer;padding:10px 13px;display:flex;justify-content:space-between;color:var(--primary);font-size:13px;font-weight:700; }
.email-secondary-actions summary::-webkit-details-marker { display:none; }
.email-secondary-actions>div { padding:4px 13px 12px; }
.email-secondary-actions .secondary-btn { margin:6px 0; }

@media (max-width:959px) {
  /* Keep touch actions visible, above navigation and the Android browser chrome. */
  .page-header,.page-header-inner { flex-wrap:wrap;gap:12px; }
  .page-header h1 { font-size:clamp(26px,5vw,32px); }
  .header-action { flex-shrink:0;min-height:44px;height:auto;padding-top:10px;padding-bottom:10px; }
  .form-input:not([type="checkbox"]):not([type="radio"]),.search-input { min-width:0;min-height:44px;font-size:16px; }
  .form-row-2>* { min-width:0; }
  .format-toggle-btn,.section-edit-btn,.add-item-btn,.fin-month-today,.case-status-select,.case-detail-actions .btn-primary,.case-detail-actions .btn-outline { min-height:44px; }
  .section-edit-btn,.add-item-btn { padding-left:12px;padding-right:12px; }
  .item-remove,.fin-month-btn { min-width:44px;min-height:44px; }
  .dash-link { display:inline-flex;align-items:center;min-height:44px; }
  .fin-month-bar { gap:4px;max-width:calc(100% - 28px); }
  .tab-btn { min-width:0;padding-left:2px;padding-right:2px; }
  .tab-btn span { white-space:nowrap;font-size:10px; }
  .header-text-action,.back-btn,.status-dropdown,.doc-tab,.pill,.preview-file-tab { min-height:44px; }
  .document-list-open { min-height:56px; }
  .document-rail .row-title { white-space:normal;overflow-wrap:anywhere; }
  .document-rail .row-sub { overflow-wrap:anywhere; }
  .document-rail .row-right { max-width:45%; }
  .mobile-document-action { display:flex; }
  .detail-primary-actions .pdf-preview-toggle-mobile { margin:0;background:var(--primary-l);border-color:var(--bdr);font-weight:700; }
  body[data-view="doc-detail"] .detail-header { padding:0; }
  body[data-view="doc-detail"] .detail-header-inner { padding:20px 16px 12px; }
  body[data-view="doc-detail"] .detail-primary-actions { padding:12px 16px 18px; }
  body[data-view="doc-detail"] .detail-main-col .section { padding:16px; }
  body[data-view="doc-detail"] .info-value { min-width:0;overflow-wrap:anywhere; }
  body[data-view="doc-detail"] .detail-more-menu { position:static;margin-top:5px; }
  body[data-view="doc-detail"] .detail-more-menu .detail-action-btn { min-height:44px; }
  body[data-view="doc-form"] .tab-bar,body[data-view="case-form"] .tab-bar { display:none; }
  body.pdf-modal-open #calc-fab { display:none!important; }
  body[data-view="doc-form"] #app { padding-bottom:0; }
  body[data-view="doc-form"] .page { padding-bottom:180px; }
  body[data-view="doc-form"] .page-header-sub { position:static; }
  .doc-form-heading span { display:block;margin-top:5px;overflow-wrap:anywhere; }
  body[data-view="doc-form"] .item-num-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .doc-form-footer { padding-bottom:calc(10px + env(safe-area-inset-bottom,0px)); }
  .doc-form-footer .totals-card { flex-wrap:wrap;gap:6px; }
  .doc-form-footer .totals-row.total { margin-left:auto; }
  .doc-form-footer>.btn-primary,.doc-form-footer>.btn-outline { min-height:44px; }
  .template-selection.template-selection-mobile { display:block;margin:0 14px 100px;padding:18px; }
  .template-selection-mobile h2,.template-selection-mobile p,.template-selection-mobile strong { overflow-wrap:anywhere; }
  .template-selection-mobile .template-preview-body p { max-height:none; }
  .template-selection-mobile .template-preview-actions { flex-wrap:wrap; }
  .template-list-row,.template-table-head { grid-template-columns:minmax(0,1fr) 90px;gap:8px;padding:15px; }
  .template-list-row strong,.template-list-row small { overflow-wrap:anywhere; }
  .case-table-head { display:none; }
  .case-table .case-table-row { min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;padding:16px; }
  .case-table-row .case-table-name { grid-column:1/-1;overflow-wrap:anywhere; }
  .case-table-row .case-table-action { grid-column:1/-1;justify-content:flex-end; }
  .case-table-action .case-row-add { min-height:44px; }
  .case-wizard-footer { flex-wrap:wrap;gap:8px;padding:12px; }
  .case-wizard-footer span { order:-1;width:100%;text-align:center; }
  .case-wizard-footer #case-step-next { margin-left:auto; }
  .case-wizard-footer button { min-height:44px; }
  .case-final-save { position:static;width:100%;margin:16px 0;min-height:44px; }
  .case-review-content { grid-template-columns:1fr; }
  .case-edit-page,.client-form-page,.template-form-page { height:100dvh; }
  .client-form-footer { padding-bottom:calc(15px + env(safe-area-inset-bottom,0px)); }
  .client-form-footer button { min-height:44px; }
  .document-status-control { min-height:44px; }
  .dash-panel:not(.dash-panel-alert) .upcoming-row { grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0; }
  .dash-panel:not(.dash-panel-alert) .follow-date { min-width:0;font-size:12px;overflow-wrap:anywhere; }
  body[data-view="finance"] .page-header { padding:18px 16px 12px; }
  body[data-view="finance"] .page-header h1 { font-size:29px; }
  body[data-view="finance"] .page-subtitle { font-size:13px; }
  .fin-subtab { font-size:14px;padding:11px 15px; }
  .fin-je-footer { gap:10px; }
  .fin-je-form-actions .btn-primary { min-width:120px; }
  .fin-pending-workspace { grid-template-columns:1fr; }
  .fin-pending-guide { border-right:0;border-bottom:1px solid var(--bdr); }
  .fin-pending-row { grid-template-columns:minmax(0,1fr) auto;padding:10px 14px; }
  .fin-pending-actions { grid-column:1/-1; }
  .fin-acct-columns { grid-template-columns:1fr; }
  .fin-acct-column { padding:0;border-right:0; }
  .document-workspace,.client-workspace,.template-workspace { display:block;min-height:0; }
  .document-rail,.client-rail,.template-rail { border-right:0; }
  .document-selection,.client-selection,.template-selection { display:none; }
  .document-rail .list-row,.client-rail .list-row { padding:15px; }
  .case-table { overflow-x:auto; }
  .case-table-head { min-width:880px; }
  .fin-subtabs { margin:0 16px 15px; }
  #fin-body { padding:0 16px 30px; }
  .fin-month-bar { position:static;margin:0 auto 14px; }
  #fin-summary-body { display:block; }
  #fin-summary-body>.fin-balance-card { display:block;margin-bottom:14px; }
  .fin-balance-list { border-left:0;padding-left:0;margin-top:14px; }
  .fin-panel { margin-bottom:14px!important; }
  .case-wizard-step span { display:none; }
  .case-detail-page .detail-header-inner { padding:12px 16px; }
  .case-detail-actions { position:static;margin-top:15px;flex-wrap:wrap; }
  .case-detail-tabs { margin:0 16px 18px; }
  .case-detail-page>.section { margin:0 16px 14px;padding:17px; }
  .template-form-page { top:0;height:100vh;height:100dvh; }
  .template-form-backdrop { inset:0; }
  .template-form-page .page-header-sub,.template-form-page .form-body,.template-form-footer { padding-left:18px;padding-right:18px; }
  .template-wizard { margin-left:18px;margin-right:18px; }
  .template-form-footer>span { display:none; }
  .template-form-footer { justify-content:flex-end; }
  .fin-tx-workspace { grid-template-columns:1fr; }
  .fin-tx-master .fin-tx-table-head { display:none; }
  .fin-tx-master .fin-tx-row { grid-template-columns:90px 1fr auto; }
  .fin-tx-master .fin-tx-bal { display:none; }
  .fin-je-form .je-line-labels { display:none; }
  .fin-je-form .je-line { grid-template-columns:minmax(120px,1fr) 105px; }
  .fin-je-form .je-line-memo { grid-column:1; }
  .fin-je-form .je-side-total { margin:10px 0 0; }
  .fin-je-empty-actions { grid-template-columns:1fr; }
  .fin-je-empty-actions>div+div { border-left:0;border-top:1px solid var(--bdr); }
  body[data-view="doc-form"] .page-header-sub { top:0;padding:12px 16px; }
  .doc-form-heading { display:block; }
  .doc-form-heading strong { font-size:21px; }
  .doc-form-format { grid-column:1/-1; }
  body[data-view="doc-form"] .form-main-col { flex:1;border:0; }
  body[data-view="doc-form"] #inv-form.form-body { padding:18px 16px 40px; }
  .doc-form-footer { padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));flex-wrap:wrap; }
  .doc-form-footer-totals { order:-1;width:100%; }
  .doc-form-footer .totals-card { justify-content:space-between; }
  .doc-form-footer .totals-row { font-size:11px;padding:0 5px; }
  .doc-form-footer>.btn-primary { margin-left:auto; }
  .detail-preview-controls { flex-wrap:wrap; }
  #pdf-upload-workspace { inset:0;overflow:auto; }
  .pdf-upload-heading { display:block;min-height:0;padding:17px; }
  .pdf-upload-heading h1 { display:block;margin:13px 0 4px;font-size:22px; }
  .pdf-upload-heading p { display:block; }
  .pdf-upload-layout { display:block;overflow:auto; }
  .pdf-upload-preview { height:480px;padding:12px; }
  .pdf-upload-file { flex-wrap:wrap; }
  .pdf-upload-file-limit { display:none; }
  .pdf-upload-form { border-left:0; }
  #sheet-overlay.email-composer-overlay { top:0; }
  #sheet-overlay.email-composer-overlay .email-composer { display:flex;flex-direction:column;overflow:auto; }
  .email-preview-column { flex:0 0 260px;padding:10px 14px; }
  .email-composer .sheet-header { order:-1;padding:13px 15px; }
  .email-composer .sheet-body { overflow:visible;padding:14px 16px; }
  .email-composer-footer { position:sticky;bottom:0;flex-wrap:wrap;padding:11px 16px; }
  .email-composer-footer span { width:100%; }
}

/* Compact laptops/tablets retain a usable detail column and every table action. */
@media (min-width:960px) and (max-width:1199px) {
  .detail-preview-panel { width:58%;flex-basis:58%; }
  .case-table-head,.case-table-row { grid-template-columns:minmax(0,1.8fr) minmax(0,1.1fr) minmax(0,.85fr) minmax(0,.95fr) minmax(0,1fr) 120px;gap:10px;padding:14px 16px; }
  .case-table-action { gap:8px; }
  .case-table-name strong { font-size:15px; }
  .detail-preview-panel .pdf-panel-header { padding:14px 16px;flex-wrap:wrap;gap:10px; }
  .detail-preview-controls { margin-left:auto; }
}
@media (max-width:599px) {
  .touch-btn { min-width:0;min-height:158px;padding:18px 16px 30px; }
  .touch-ic { width:40px;height:40px;font-size:22px;margin-bottom:10px; }
  .touch-label { font-size:17px;line-height:1.4; }
  .touch-sub { font-size:12px;line-height:1.5; }
  body[data-view="cases"] .filter-bar { flex-direction:column;align-items:stretch;gap:10px; }
  body[data-view="cases"] .search-box,.case-category-select { width:100%;min-width:0; }
  .doc-form-footer { gap:10px; }
  .doc-form-footer-totals { min-width:0; }
  .doc-form-footer .totals-card { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px; }
  .doc-form-footer .totals-row { min-width:0;justify-content:space-between;gap:4px;border:0;padding:0; }
  .doc-form-footer .totals-row.total { grid-column:1/-1;margin:0; }
}
@media (pointer:coarse) {
  .top-nav-btn,.top-icon-btn,.header-action,.status-dropdown,.document-status-control,.case-row-add,.detail-preview-controls button { min-height:44px; }
  .top-icon-btn,.detail-preview-zoom button { min-width:44px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}

/* Real document preview; no reliance on a native PDF iframe on Android. */
body.pdf-modal-open { overflow:hidden; }
.mobile-preview-toolbar { display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--bdr); }
.mobile-preview-file-label { display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 100%;font-size:12px;color:var(--t2); }
.mobile-preview-file-label select { flex:1;min-width:0;min-height:44px;border:1px solid var(--bdr);border-radius:4px;padding:6px;font-size:16px;background:#fff; }
.mobile-preview-toolbar a { display:flex;align-items:center;min-height:44px;color:var(--primary);font-size:12px;text-decoration:underline; }
.mobile-preview-zoom,.mobile-preview-page-controls { display:flex;align-items:center;gap:4px;margin-left:auto; }
.mobile-preview-page-controls[hidden] { display:none; }
.mobile-preview-zoom button,.mobile-preview-page-controls button { min-width:44px;min-height:44px;background:#fff;border:1px solid var(--bdr);border-radius:4px;color:var(--primary); }
.mobile-preview-zoom button { padding:6px;font-size:13px; }
.mobile-preview-page-controls button:disabled { opacity:.4; }
.mobile-preview-body { min-height:0;background:var(--primary-xl);overscroll-behavior:contain; }
.mobile-preview-body canvas { display:block;margin:12px;max-width:none;background:#fff;box-shadow:var(--sh-card); }
.mobile-preview-body iframe { display:block;width:100%;height:100%;min-height:240px;border:0; }
.mobile-preview-message { padding:24px 16px;text-align:center;color:var(--t2); }
.mobile-preview-message p { margin-bottom:12px; }
@media (max-width:959px) {
  .pdf-modal-overlay { padding:0; }
  .pdf-modal { width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;border-radius:0; }
  .pdf-modal-header { flex-shrink:0;padding:calc(8px + env(safe-area-inset-top,0px)) 14px 8px; }
  .pdf-modal-header .sheet-close { min-width:44px;min-height:44px; }
  .pdf-modal-body { padding-bottom:env(safe-area-inset-bottom,0px); }
}
