/* staff-portal.css — the styles of the Staff Portal (Meeting Tracker, expenses, work status, scorecards, client projects, My Materials).
   Moved out of index.html on 2026-10-05 (sustained-load programme Wave 4) and linked from the
   SAME position its <style> block held, so the cascade order is unchanged. index.html is fetched
   fresh on every navigation; a file can come back as 304 Not Modified. Edit it here. */
#tab-staff-portal{--navy:#1F3864;--mid:#2E5496;--midlt:#3A6AAD;--light:#D9E2F3;--accent:#EEF3FB;--gold:#C8A951;--golddark:#a8842e;--sub:#5a5a5a;--border:#C8D6ED;--lp:#145a32;--ls:#1d6a3d;--ep:#1F3864;--po:#5a3e8a;--r:6px;--topbar-h:64px;--pto:#b5451b;--telework:#1a6b3a;--offsite:#5a3e8a;--danger:#c0392b;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.45;background:#0f1525;min-height:100vh}
:where(#tab-staff-portal) *,:where(#tab-staff-portal) *::before,:where(#tab-staff-portal) *::after{box-sizing:border-box;margin:0;padding:0}
.js-hidden{display:none!important}
#sp-header{background:#1a2d55;padding:0 16px;position:sticky;top:99px;z-index:300;box-shadow:0 2px 10px rgba(0,0,0,.4);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--topbar-h)}
#sp-backBtn{background:transparent;border:none;color:rgba(255,255,255,.75);font-size:22px;cursor:pointer;padding:4px 8px 4px 0;line-height:1;display:flex;align-items:center;justify-self:start}

#sp-titles{display:flex;flex-direction:column;align-items:center;gap:2px;justify-self:center;text-align:center}
.topbar-logo-svg{height:38px;width:auto;flex-shrink:0}
#sp-sub{color:#8da6cf;font-size:11px;letter-spacing:1px;text-transform:uppercase;display:block;margin-top:1px}
/* BD Trips shows the wordmark on one line with the page name spelled out
   underneath. Scoped to this page so the other portal pages keep the stacked
   mark they have always had. */
.sp-logo-1line{display:none}
#tab-staff-portal:has(:is(#page-bt,#page-ca).active) .sp-logo-stack{display:none}
#tab-staff-portal:has(:is(#page-bt,#page-ca).active) .sp-logo-1line{display:block;height:26px}
#tab-staff-portal:has(:is(#page-bt,#page-ca).active) #sp-sub{text-transform:none;font-size:12.5px;letter-spacing:.3px;margin-top:3px}

#sp-printBtn{height:40px;padding:0 14px;background:var(--gold);border:none;border-radius:6px;font-weight:700;font-size:13px;cursor:pointer;color:var(--navy);white-space:nowrap;display:flex;align-items:center;justify-self:end}

#tab-staff-portal .page{display:none;max-width:1180px;margin:24px auto;padding:0 0 60px;background:#f4f6f9;border-radius:var(--r);box-shadow:0 2px 16px rgba(0,0,0,.18);overflow:hidden;color:#1a1a1a}
#tab-staff-portal #page-mt{max-width:calc(100vw - 32px);overflow:clip;margin:16px auto}
#tab-staff-portal .page.active{display:block}
.home-hero{text-align:center;padding:36px 28px 28px}
.home-logo-wrap{display:flex;justify-content:center;margin-bottom:20px}
.home-logo-svg{height:72px;width:auto}
.home-divider{width:60px;height:2px;background:var(--gold);margin:0 auto 20px;border-radius:2px}
.home-hero h2{font-size:20px;color:var(--navy);font-weight:800;margin-bottom:6px}
.home-hero p{color:var(--sub);font-size:13px}
#tab-staff-portal .nav-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,220px));justify-content:center;gap:14px;margin-top:4px;padding:0 28px 28px}
#tab-staff-portal .nav-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:22px 16px 18px;cursor:pointer;text-align:center;box-shadow:0 2px 8px rgba(31,56,100,.07);appearance:none;display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .12s,box-shadow .12s,border-color .12s}
#tab-staff-portal .nav-card:active{transform:scale(.97)}
@media(hover:hover){#tab-staff-portal .nav-card:hover{border-color:var(--mid);box-shadow:0 4px 18px rgba(31,56,100,.13);transform:translateY(-2px)}}
#tab-staff-portal .nav-card .icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px}
#tab-staff-portal .icon-ca{background:#e8edf8}#tab-staff-portal .icon-ws{background:#e8f3ec}#tab-staff-portal .icon-er{background:#fef3e2}#tab-staff-portal .icon-sc{background:#f3e8f8}#tab-staff-portal .icon-qr{background:#e2f0fb}#tab-staff-portal .icon-ci{background:#edf8ee}#tab-staff-portal .icon-fp{background:#fce8e8}#tab-staff-portal .icon-mt{background:#e8f1f7}#tab-staff-portal .icon-bt{background:#e7f0fa}
#tab-staff-portal .nav-card h3{font-size:14px;font-weight:700;color:var(--navy);margin:0}
#tab-staff-portal .nav-card p{font-size:12px;color:var(--sub);line-height:1.5;margin:0}
.section-head{background:#1a2d55;color:#fff;padding:18px 20px 14px;border-radius:var(--r) var(--r) 0 0;display:flex;align-items:flex-start;gap:16px}
.section-head-logo svg{height:32px;width:auto;display:block;flex-shrink:0;margin-top:2px}
.section-head-text .firm{font-size:10px;letter-spacing:1.5px;color:#8da6cf;text-transform:uppercase;margin-bottom:4px}
.section-head-text h2{font-size:18px;margin-bottom:4px}
.section-head-text .meta{font-size:12px;color:#afc3e3;line-height:1.6}
@media(max-width:599px){.section-head{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:14px 16px 12px}.section-head-logo{display:none}}
#tab-staff-portal .ca-filter{background:var(--light);border:1px solid var(--border);border-top:none;padding:10px 14px;display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
#tab-staff-portal .sel-wrap{flex:1;min-width:160px;position:relative;display:flex}
#tab-staff-portal .sel-wrap::after,#tab-staff-portal .sel-inner::after,#tab-staff-portal .er-sel-wrap::after,#tab-staff-portal .modal-field .sel-wrap-inner::after,#tab-staff-portal .ci-sel-wrap::after{content:'▼';font-size:10px;color:var(--navy);position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none}
#tab-staff-portal .ca-filter select,#tab-staff-portal .form-field select,#tab-staff-portal .er-sel-wrap select,#tab-staff-portal .modal-field select,#tab-staff-portal .ci-sel-wrap select{height:44px;padding:0 34px 0 12px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-weight:600;color:var(--navy);background:#fff;-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;transition:border-color .15s;width:100%}
#tab-staff-portal .ca-filter select:focus,#tab-staff-portal .er-sel-wrap select:focus,#tab-staff-portal .ci-sel-wrap select:focus{outline:2px solid var(--gold);outline-offset:2px}
#tab-staff-portal .count-bar{background:var(--light);border:1px solid var(--border);border-top:none;padding:9px 16px;font-size:13px;color:var(--navy);font-weight:700}
#tab-staff-portal .tbl-wrap{border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);overflow-x:auto;background:#fff}
#tab-staff-portal table{width:100%;border-collapse:collapse;font-size:13px;min-width:500px}
#tab-staff-portal thead th{background:var(--mid);color:#fff;padding:0 12px;height:44px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid #b4c6e7;cursor:pointer;user-select:none;white-space:nowrap}
@media(hover:hover){#tab-staff-portal thead th:hover{background:var(--midlt)}}
#tab-staff-portal .sp-si{margin-left:4px;opacity:.45;font-size:10px}
#tab-staff-portal th.asc .sp-si::after{content:'▲';opacity:1}#tab-staff-portal th.desc .sp-si::after{content:'▼';opacity:1}#tab-staff-portal th:not(.asc):not(.desc) .sp-si::after{content:'⇅'}
#tab-staff-portal tbody tr{border-bottom:1px solid #e4ecf7}#tab-staff-portal tbody tr:nth-child(even){background:var(--accent)}
@media(hover:hover){#tab-staff-portal tbody tr:hover{background:#dce9f8}}
#tab-staff-portal td{padding:10px 12px;vertical-align:top;line-height:1.4}
#tab-staff-portal .cn{font-weight:700;color:var(--navy)}#tab-staff-portal .lp-c{color:var(--lp)}#tab-staff-portal .ls-c{color:var(--ls)}#tab-staff-portal .ep-c{color:var(--ep);font-weight:700}#tab-staff-portal .es-c{color:var(--mid)}#tab-staff-portal .co{color:var(--sub);font-size:11px}#tab-staff-portal .po{color:var(--po);font-size:11px}#tab-staff-portal .dash{color:#bbb}
#tab-staff-portal .ca-placeholder{text-align:center;color:var(--sub);padding:48px 24px;font-size:15px;font-style:italic;line-height:1.7;background:#fff;border:1px solid var(--border);border-radius:0 0 var(--r) var(--r)}
#tab-staff-portal .footnote{margin-top:14px;font-size:11px;color:#999;font-style:italic;text-align:center;line-height:1.7;padding:0 4px}
#tab-staff-portal .sort-bar{background:var(--light);border:1px solid var(--border);border-top:none;padding:7px 14px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
#tab-staff-portal .sort-label{font-size:11px;color:var(--sub);font-weight:600;white-space:nowrap;margin-right:2px}
#tab-staff-portal .pill{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;height:32px;border-radius:20px;border:1.5px solid var(--border);background:#fff;font-size:12px;font-weight:600;color:var(--navy);cursor:pointer;white-space:nowrap}
#tab-staff-portal .pill.active{background:var(--mid);color:#fff;border-color:var(--mid)}
/* ── MT full-page layout — the tracker owns the viewport below the nav ── */
/* The portal wrapper normally forces a 100vh dark canvas; while the tracker
   is open, drop that so the page can't scroll into a dark void below. */
#tab-staff-portal:has(#page-mt.active){min-height:0;background:#f2f5fc}
#tab-staff-portal #page-mt{max-width:none;min-width:0;width:100%;margin:0;border-radius:0;padding-bottom:0;box-shadow:none;background:#f2f5fc}
/* Fallback height; mtFitViewport() sets the exact px height at runtime. */
#tab-staff-portal #page-mt.active{display:flex;flex-direction:column;height:calc(100vh - 150px);min-height:420px}
#tab-staff-portal #page-mt{--mt-open-zoom:.67}
/* CSS zoom automatically exposes inverse layout space while preserving a
   100% visual box. Keep both dimensions at 100%; inverse sizing here would
   expand the tracker beyond the viewport and hide its scrollbars. */
#tab-staff-portal #page-mt.active .mt-shell{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;width:100%;height:100%;box-sizing:border-box;zoom:var(--mt-open-zoom)}
#tab-staff-portal #page-mt.active #mt-content{flex:1;flex-direction:column;min-width:0;min-height:0;width:100%;max-width:100%}
#tab-staff-portal #page-mt.active #mt-content:not(.js-hidden){display:flex}
@media(max-width:900px){#tab-staff-portal #page-mt.active{display:block;height:auto}#tab-staff-portal #page-mt.active .mt-shell{height:auto}.mt-table-wrap{height:92vh}}
/* Entry transition: the tracker expands into place */
@keyframes mtEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
#page-mt.active .mt-shell{animation:mtEnter .28s ease-out}
@media(prefers-reduced-motion:reduce){#page-mt.active .mt-shell{animation:none}}
.mt-shell{background:#f2f5fc;border:none;border-radius:0;padding:6px 18px 14px}
/* ── MT slim heading (replaces the navy banner) ── */
.mt-headbar-eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#64748b;background:#fff;border:1px solid #e3e9f6;border-radius:999px;padding:3px 10px}
.mt-headbar-meta{font-size:12px;color:#64748b;font-weight:600}
.mt-state{background:#fff;border:1px solid #e3e9f6;border-radius:14px;padding:24px 16px;text-align:center;color:var(--sub);font-size:13px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.mt-state.error{border-color:#f1b8b8;background:#fff5f5;color:var(--danger);font-weight:700}
/* ── MT stat cards (5-up on desktop, wrapping cleanly below it) ── */
.mt-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 10px;min-width:0;width:100%}
.mt-stat{border:1px solid #e3e9f6;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);padding:11px 16px;display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px}
.mt-stat-value{font-size:28px;line-height:1;font-weight:800;color:#101635;margin:0}
.mt-stat-label{font-size:15px;line-height:1.25;color:#64748b;font-weight:700;text-transform:none;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.mt-stat-multi{flex-direction:column;justify-content:flex-start;gap:6px}
.mt-stat-rows{display:flex;flex-direction:column;gap:2px}
.mt-stat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;line-height:1.4;color:#475569}
.mt-stat-row b{font-weight:800;color:#101635;font-size:17px}
@media(max-width:1150px){.mt-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.mt-stats{grid-template-columns:repeat(2,1fr)}}
/* ── MT single control bar: add + filters + menus + status on one row ──
   Flex BASIS values decide wrapping, so they stay small; grow shares the
   leftover space on wide screens. With the client filter gone and live-sync
   status moved to the headbar, this now fits comfortably on one row from
   ~1100px+ (down from ~1360px when it also carried those two elements). */
.mt-controlbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 10px}
.mt-controlbar .mt-search{flex:1 1 170px;min-width:140px}
.mt-controlbar .mt-combobox{flex:1 1 150px;min-width:130px}
.mt-controlbar .mt-select-wrap{flex:1 1 140px;min-width:120px}
.mt-controlbar-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex:0 0 auto;white-space:nowrap}
.mt-search,.mt-select-wrap select{height:38px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#1a1a1a;font-family:inherit;font-size:13px;width:100%}
.mt-search{padding:0 12px}
.mt-search::placeholder{color:#94a3b8}
.mt-search:focus,.mt-select-wrap select:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.14)}
.mt-select-wrap{position:relative;display:flex}
#tab-staff-portal .mt-select-wrap::after{content:'▼';font-size:10px;color:var(--navy);position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}
.mt-select-wrap select{padding:0 30px 0 10px;-webkit-appearance:none;appearance:none;cursor:pointer}
.mt-combobox{position:relative;display:flex}
.mt-combobox::after{content:'▼';font-size:10px;color:var(--navy);position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;transition:transform .15s;z-index:1}
.mt-combobox.drop-open::after{transform:translateY(-50%) rotate(180deg)}
.mt-combo-input{height:38px;padding:0 30px 0 10px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#1a1a1a;font-family:inherit;font-size:13px;width:100%;-webkit-appearance:none;appearance:none;cursor:pointer}
.mt-combo-input:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.14);cursor:text}
.mt-combo-input::placeholder{color:#94a3b8}
.mt-combo-drop{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.14);max-height:260px;overflow-y:auto;z-index:500}
.mt-combo-drop.open{display:block}
.mt-combo-opt{padding:8px 12px;font-size:13px;color:#1a1a1a;cursor:pointer;line-height:1.3}
.mt-combo-opt:hover,.mt-combo-opt.focused{background:#eef2ff}
.mt-combo-opt.selected{background:#101635;color:#fff}
.mt-combo-empty{padding:12px;font-size:12px;color:var(--sub);text-align:center;font-style:italic}
.mt-count{font-size:12px;font-weight:700;color:#64748b;white-space:nowrap}
.mt-add-btn{height:38px;padding:0 16px;border:none;border-radius:10px;background:#101635;color:#fff;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit;letter-spacing:.3px;box-shadow:0 1px 2px rgba(15,23,42,.18);white-space:nowrap}
.mt-add-btn:hover{background:#232f5c}
.mt-add-btn:disabled{opacity:.45;cursor:not-allowed}
.mt-live-status{font-size:12px;color:var(--sub);font-weight:700;white-space:nowrap}
.mt-live-status.saving{color:#8a5d00}.mt-live-status.saved{color:var(--lp)}.mt-live-status.error{color:var(--danger)}
.mt-reset{height:38px;padding:0 12px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.mt-reset:hover{background:#f4f6fd;color:#101635}
/* ── MT Table wrapper — white rounded card, fills the remaining viewport ── */
.mt-table-wrap{overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e3e9f6;border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,.04);height:calc(100vh - 420px);min-width:0;max-width:100%;width:100%;min-height:320px;scrollbar-gutter:stable}
#tab-staff-portal #page-mt.active .mt-table-wrap{flex:1;height:auto;min-height:240px}
/* Visible, grabbable scrollbars for long vertical + wide horizontal travel */
.mt-table-wrap::-webkit-scrollbar{width:12px;height:12px}
.mt-table-wrap::-webkit-scrollbar-track{background:#f2f5fc;border-radius:0 0 14px 0}
.mt-table-wrap::-webkit-scrollbar-thumb{background:#c3cade;border-radius:8px;border:3px solid #f2f5fc}
.mt-table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3c0}
.mt-table{min-width:2202px;table-layout:fixed;width:100%}
.mt-table th{cursor:pointer;white-space:nowrap}
.mt-table th.mt-th-docs{width:88px;cursor:default}
.mt-table td{font-size:16px;padding:1px 5px;vertical-align:middle}
.mt-table th[data-key="name"]{width:116px}.mt-table th[data-key="client"]{width:106px}.mt-table th[data-key="member"]{width:112px}.mt-table th[data-key="issue"]{width:118px}.mt-table th[data-key="policy"]{width:100px}.mt-table th[data-key="requestType"]{width:44px}.mt-table th[data-key="meetingStatus"]{width:116px}.mt-table th[data-key="meetingStart"]{width:104px}.mt-table th[data-key="edocsSent"]{width:70px}.mt-table th[data-key="willSupport"]{width:66px}.mt-table th[data-key="jagAttendee"]{width:84px}.mt-table th[data-key="whitePaperStatus"]{width:98px}.mt-table th[data-key="slideDeckStatus"]{width:88px}.mt-table th[data-key="languageStatus"]{width:80px}.mt-table th[data-key="ndaaFormStatus"]{width:92px}.mt-table th[data-key="appropsFormStatus"]{width:92px}.mt-table th[data-key="ndaaDueDate"]{width:88px}.mt-table th[data-key="appropsDueDate"]{width:88px}.mt-table th:last-child{width:42px}
/* ── MT sticky header — light band, dark text (top:0 within scroll container) ── */
#mt-table thead th{position:sticky;top:0;z-index:8;background:#f8fafc;color:#5b6b83;border-bottom:1.5px solid #e3e9f6;text-transform:none;font-size:16px;letter-spacing:0;font-weight:700}
@media(hover:hover){#tab-staff-portal #mt-table thead th:hover{background:#eef2fb}}
/* ── MT zebra + row hover (soft) ── */
#mt-table tbody tr:nth-child(even){background:#f7f9fe}
/* ── MT frozen lead columns: handled by the generated-header rules further
   down (.mt-c-bar/.mt-c-check/[data-mt-cell="name"]) — positional nth-child
   freezing is gone because the two-row band header made it misfire. ── */
/* ── MT row clickable ── */
#mt-table tbody tr[data-mt-row]{cursor:pointer}
/* Meeting Date Status: the select itself is now the full-bleed color block
   (see .mt-cell-select below), so the td no longer needs its own tint. */
/* ── MT group header rows ── */
.mt-group-header td{background:#f4f6fd!important;border-top:1.5px solid #e3e9f6;padding:8px 14px;cursor:pointer;position:static!important;left:auto!important;box-shadow:none!important}
.mt-group-header:hover td{background:#eef2fb!important}
.mt-group-arrow{display:inline-block;width:14px;font-size:10px;color:#64748b}
.mt-group-name{font-weight:800;font-size:12px;color:#101635;margin:0 8px 0 2px}
.mt-group-count{font-size:11px;font-weight:700;background:#101635;color:#fff;border-radius:20px;padding:2px 9px}
/* ── MT action dropdown menus (View / Export / Tools) ── */
.mt-menu{position:relative;display:inline-flex}
.mt-menu-btn{height:38px;padding:0 11px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#3b4a63;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.mt-menu-btn:hover{background:#f4f6fd}
.mt-menu.open .mt-menu-btn{background:#101635;color:#fff;border-color:#101635}
.mt-menu-caret{font-size:9px;opacity:.7}
.mt-menu-drop{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:196px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.16);z-index:640;padding:4px}
.mt-menu.open .mt-menu-drop{display:block}
.mt-menu-item{display:flex;width:100%;align-items:center;gap:8px;padding:8px 10px;border:none;background:none;border-radius:7px;font-family:inherit;font-size:12px;font-weight:600;color:#1f2937;cursor:pointer;text-align:left;white-space:nowrap}
.mt-menu-item:hover{background:#f4f6fd}
.mt-menu-item.active{color:#101635;font-weight:800}
.mt-menu-item.active::after{content:'✓';margin-left:auto;color:#16a34a;font-weight:800}
/* Columns show/hide dropdown (mtColsMenuHtml) */
.mt-cols-drop{min-width:252px;max-height:440px;overflow:auto;padding:8px}
.mt-cols-chips{display:flex;flex-wrap:wrap;gap:4px;padding:2px 2px 8px;border-bottom:1px solid #eef1f8;margin-bottom:4px}
.mt-cols-chip{border:1.5px solid #e2e8f0;border-radius:999px;background:#fff;color:#3b4a63;font-family:inherit;font-size:11.5px;font-weight:700;padding:4px 10px;cursor:pointer}
.mt-cols-chip:hover{background:#f4f6fd}
.mt-cols-chip.active{background:#101635;border-color:#101635;color:#fff}
.mt-cols-chip.is-custom{cursor:default}
.mt-cols-group-label{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a94ad;padding:8px 4px 3px}
.mt-cols-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:6px;font-size:12px;font-weight:600;color:#1f2937;cursor:pointer}
.mt-cols-row:hover{background:#f4f6fd}
.mt-cols-row input{accent-color:#101635;width:14px;height:14px;cursor:pointer;margin:0;flex-shrink:0}
.mt-cols-row.is-forced{opacity:.55;cursor:default}
.mt-cols-modes{display:flex;gap:4px;padding:2px 2px 8px;border-bottom:1px solid #eef1f8;margin-bottom:4px}
.mt-cols-mode{flex:1;border:1.5px solid #e2e8f0;border-radius:7px;background:#fff;color:#3b4a63;font-family:inherit;font-size:11.5px;font-weight:700;padding:5px 8px;cursor:pointer}
.mt-cols-mode:hover{background:#f4f6fd}
.mt-cols-mode.on{background:#101635;border-color:#101635;color:#fff}
.mt-cols-hd{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a94ad;padding:2px 4px 3px}
.mt-cols-stamp{font-size:11px;color:#8a94ad;padding:0 4px 6px}
.mt-cols-team{margin-left:auto;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#2E5496;background:#e5f0fb;border-radius:3px;padding:1px 4px}
.mt-cols-foot{border-top:1px solid #eef1f8;margin-top:6px;padding-top:6px}
.mt-cols-reset{width:100%;border:0;background:none;font-family:inherit;font-size:12px;font-weight:700;color:#3b4a63;padding:7px;border-radius:7px;cursor:pointer;text-align:center}
.mt-cols-reset:hover{background:#f4f6fd}
/* ── MT column group separators: driven by .mtx-grp-start (MT_COLUMNS bands),
   not positional nth-child — see the matrix rules further down. ── */
/* ── MT cell inputs ── */
.mt-cell-input,.mt-detail-input,.mt-detail-textarea{width:100%;border:1px solid transparent;border-radius:5px;background:transparent;color:#1a1a1a;font-family:inherit;font-size:16px;line-height:1.25;padding:2px 5px}
.mt-cell-input:hover,.mt-detail-input:hover,.mt-detail-textarea:hover{border-color:var(--border);background:#fff}
.mt-cell-input:focus,.mt-detail-input:focus,.mt-detail-textarea:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12);background:#fff}
.mt-cell-input.title{font-weight:700;color:var(--navy)}
.mt-cell-type{font-weight:700;text-align:center;font-size:11px;letter-spacing:.5px}
.mt-cell-date{min-width:108px}
/* ── MT status selects: solid, full-bleed Monday-style blocks ──
   The td loses its own padding so the select's solid color runs edge-to-edge
   (no inset pill, no gap) — the color IS the cell, matching the reference
   design. Options/values are unchanged; only the visual treatment changed. */
#mt-table td:has(>.mt-cell-select){padding:0}
.mt-cell-select{width:100%;font-family:inherit;padding:0}
#mt-table .mt-cell-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath fill='%23000' fill-opacity='.3' d='M0 0l4 5 4-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-color:#eef1f5;color:#64748b;display:block;height:24px;border:none;border-radius:0;font-weight:700;font-size:14px;letter-spacing:0;text-align:center;text-align-last:center;cursor:pointer;padding:0 20px 0 6px;transition:filter .12s}
#mt-table .mt-cell-select:hover{filter:brightness(1.08)}
#mt-table .mt-cell-select:focus{outline:2px solid #101635;outline-offset:-2px;box-shadow:none}
/* ── MT row hover ── */
#mt-table tbody tr:hover{background:#c6d5f5}
/* ── MT misc ── */
.mt-title{font-weight:800;color:#101635;line-height:1.25}
.mt-sub{font-size:14px;color:var(--sub);margin-top:0;line-height:1.2;padding-left:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* Docs/Links: fixed 2-letter chips (WP/SD/LN), always one row — the user's
   custom title shows on hover here and in full in the detail panel. */
.mt-docs{display:flex;gap:4px;flex-wrap:nowrap;align-items:center}
/* 2026-10-03: a filled chip is a real <a> — one click opens the document — and
   the single ✎ at the end of the cell opens the larger editor. 24px tall / 11px
   type so a mouse hits them; the touch and phone rules below grow them to 36px+. */
.mt-doc-chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:24px;min-width:30px;padding:0 7px;border:none;border-radius:6px;background:#eef1f5;color:#94a3b8;font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.02em;line-height:1;text-decoration:none;cursor:pointer}
.mt-doc-chip.has{background:#eef2ff;color:#4f46e5}
.mt-doc-chip.has:hover{background:#e0e7ff;text-decoration:none}
.mt-doc-chip.is-text{border:1px dashed #c7d2fe;background:#fff}
.mt-doc-chip.mt-doc-add{background:transparent;color:#94a3b8;font-weight:700}
.mt-doc-chip:not(.has):hover{background:#e2e8f0;color:#64748b}
.mt-doc-edit{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin-left:auto;border:none;border-radius:6px;background:transparent;color:#94a3b8;font-size:12px;line-height:1;cursor:pointer}
.mt-doc-edit:hover{background:#e2e8f0;color:#475569}
.mt-doc-edit:focus-visible,.mt-doc-chip:focus-visible{outline:2px solid #4f46e5;outline-offset:1px}
@media (pointer: coarse), (max-width: 599px){
  .mt-doc-chip{height:36px;min-width:40px;padding:0 10px;font-size:12px}
  .mt-doc-edit{width:40px;height:36px;font-size:15px}
  .mt-docs{gap:6px}
}
/* Detail-panel titled-link pills (mtDetailLinks / mtDocLink) — unaffected by
   the compact grid chips above; these show the user's full custom title. */
.mt-doc-link{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;background:#eef2ff;border:none;color:#4f46e5;font-size:11px;font-weight:700;text-decoration:none}
.mt-doc-link:hover{background:#e0e7ff;text-decoration:none}
/* ── MT titled-link editor modal ── */
.mt-link-overlay{display:none;position:fixed;inset:0;z-index:9700;background:rgba(10,31,60,.5);align-items:center;justify-content:center;padding:16px}
.mt-link-overlay.open{display:flex}
.mt-link-panel{background:#fff;border-radius:14px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(15,23,42,.3);padding:20px 22px}
.mt-link-panel h3{margin:0 0 4px;font-size:15px;color:#101635}
.mt-link-hint{font-size:12px;color:#64748b;margin:0 0 12px;line-height:1.5}
.mt-link-lbl{display:block;font-size:11px;font-weight:800;color:#3b4a63;text-transform:uppercase;letter-spacing:.04em;margin:10px 0 4px}
.mt-link-lbl span{font-weight:600;color:#94a3b8;text-transform:none;letter-spacing:0}
.mt-link-input{width:100%;height:38px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#1a1a1a;font-family:inherit;font-size:13px;padding:0 10px;box-sizing:border-box}
.mt-link-input:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.14)}
.mt-link-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.mt-link-cancel{height:36px;padding:0 14px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.mt-link-cancel:hover{background:#f4f6fd;color:#101635}
.mt-link-save{height:36px;padding:0 16px;border:none;border-radius:10px;background:#101635;color:#fff;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit}
.mt-link-save:hover{background:#232f5c}
/* LD-2 lobbying report window — borrows the link panel's shape, adds a date
   row, the shown-of-total honesty line, and the collapsed bill wording. */
.mt-ld2-panel{max-width:520px;max-height:88vh;overflow-y:auto}
.mt-ld2-dates{display:flex;gap:12px}
.mt-ld2-dates>label{flex:1;margin-top:0}
.mt-ld2-count{margin-top:12px;padding:9px 11px;border-radius:9px;background:#f4f6fd;border:1px solid #e3e9f6;color:#3b4a63;font-size:11.5px;line-height:1.5}
.mt-ld2-bills{margin-top:14px;border-top:1px solid #e3e9f6;padding-top:10px}
.mt-ld2-bills>summary{cursor:pointer;font-size:11px;font-weight:800;color:#3b4a63;text-transform:uppercase;letter-spacing:.04em;list-style:revert}
.mt-ld2-bills>summary span{font-weight:600;color:#94a3b8;text-transform:none;letter-spacing:0}
.mt-ld2-bills .mt-link-hint{margin:12px 0 0}
/* ── MT detail-panel links section ── */
.mt-links{display:flex;flex-direction:column;gap:6px}
.mt-link-row{display:flex;align-items:center;gap:10px}
.mt-link-name{flex:0 0 108px;font-size:11px;font-weight:800;color:#3b4a63}
.mt-link-pill{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-link-edit{height:26px;padding:0 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#4f46e5;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.mt-link-edit:hover{background:#eef2ff;border-color:#c7d2fe}
.mt-detail-btn{height:26px;width:36px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:16px;line-height:1;cursor:pointer;font-family:inherit;padding:0;display:flex;align-items:center;justify-content:center}
.mt-detail-btn:hover{background:#f4f6fd;color:#101635}
.mt-empty{text-align:center;padding:48px 16px;color:#bbb;font-size:13px}
/* ── MT Detail panel ── */
.mt-detail-overlay{display:none;position:fixed;inset:0;z-index:9600;background:rgba(10,31,60,.55);align-items:flex-end;justify-content:center;padding:16px}
.mt-detail-overlay.open{display:flex}
.mt-detail-panel{background:#fff;border-radius:14px;width:100%;max-width:860px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.32);display:flex;flex-direction:column}
.mt-detail-head{background:#1a2d55;color:#fff;padding:16px 20px;display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.mt-detail-head h3{font-size:16px;line-height:1.35;margin:0;font-weight:700}
.mt-detail-head p{font-size:12px;color:#afc3e3;margin-top:3px}
.mt-detail-close{background:rgba(255,255,255,.12);border:none;border-radius:6px;color:#fff;font-size:20px;width:32px;height:32px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
.mt-detail-close:hover{background:rgba(255,255,255,.22)}
.mt-activity-overlay{display:none;position:fixed;inset:0;z-index:2100;background:rgba(10,20,40,.45)}
.mt-activity-overlay.open{display:flex;justify-content:flex-end}
.mt-activity-panel{width:360px;max-width:100vw;background:#1a2540;height:100%;overflow-y:auto;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,.4)}
.mt-activity-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}
.mt-activity-head h3{color:#fff;font-size:15px;font-weight:700;margin:0}
.mt-activity-close{background:rgba(255,255,255,.12);border:none;color:#fff;font-size:18px;line-height:1;width:30px;height:30px;border-radius:6px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center}
.mt-activity-close:hover{background:rgba(255,255,255,.22)}
.mt-activity-list{flex:1;padding:8px 0}
.mt-activity-entry{padding:10px 20px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;gap:10px;align-items:flex-start}
.mt-activity-entry:last-child{border-bottom:none}
.mt-activity-badge{flex-shrink:0;font-size:10px;font-weight:800;padding:2px 7px;border-radius:10px;margin-top:2px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.mt-activity-badge.added{background:#1a5c30;color:#a8f0c6}
.mt-activity-badge.updated{background:#004085;color:#9ecfff}
.mt-activity-badge.deleted{background:#6b1624;color:#ffb3ba}
.mt-activity-info{flex:1;min-width:0}
.mt-activity-name{font-size:13px;font-weight:600;color:#e8edf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-activity-meta{font-size:11px;color:#8899bb;margin-top:2px}
.mt-activity-empty,.mt-activity-loading{padding:40px 20px;text-align:center;color:#8899bb;font-size:13px}
/* Plain-English history: the sentence, then when it happened. */
.mt-activity-said{font-size:12px;color:#c8d4e8;margin-top:3px;line-height:1.45}
.mt-activity-section{padding:14px 20px 6px;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#8899bb}
.mt-activity-hint{display:block;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:#7a89a8;margin-top:3px}
.mt-activity-restore{flex-shrink:0;align-self:center;background:rgba(26,127,75,.2);border:1px solid rgba(26,127,75,.45);color:#a8f0c6;font-size:11px;font-weight:700;border-radius:6px;padding:5px 10px;cursor:pointer;font-family:inherit;white-space:nowrap}
.mt-activity-restore:hover{background:rgba(26,127,75,.34);border-color:rgba(26,127,75,.75)}
.mt-detail-history-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:6px;color:#dbe4f2;font-size:12px;font-weight:700;height:32px;padding:0 12px;cursor:pointer;font-family:inherit;white-space:nowrap}
.mt-detail-history-btn:hover{background:rgba(255,255,255,.18)}
/* "Someone deleted this while you were editing it." Steady, never animated —
   a remote change must never flash (owner rule, 2026-08-17). */
.mt-ghost-bar{margin:0 0 8px;display:flex;flex-direction:column;gap:6px}
.mt-ghost-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#5a4a16;color:#ffe9b0;border:1px solid #7a6520;border-radius:6px;padding:8px 12px;font-size:12.5px;line-height:1.4}
.mt-ghost-text{flex:1;min-width:220px}
.mt-ghost-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12px;font-weight:700;border-radius:5px;padding:5px 10px;cursor:pointer;font-family:inherit;white-space:nowrap}
.mt-ghost-btn:hover{background:rgba(255,255,255,.24)}
.mt-ghost-btn.primary{background:rgba(26,127,75,.5);border-color:rgba(26,127,75,.8)}
.mt-ghost-btn.primary:hover{background:rgba(26,127,75,.68)}
/* A Request Form row whose change has not reached the database yet — the same
   amber marker the meetings grid uses. */
#mt-rf-body tr.rf-unconfirmed>td:first-child{box-shadow:inset 3px 0 0 0 #f5a623}
.mt-analyze-panel{width:460px}
.mt-analyze-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}
.mt-analyze-run-row{display:flex;gap:8px;flex-wrap:wrap}
.mt-analyze-run-btn{flex:1;background:#6b46c1;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:700;height:34px;padding:0 10px;cursor:pointer;font-family:inherit;white-space:nowrap}
.mt-analyze-run-btn:hover{background:#7c53d4}
.mt-analyze-run-btn:disabled{opacity:.5;cursor:default}
.mt-analyze-run-btn.secondary{background:rgba(255,255,255,.12)}
.mt-analyze-run-btn.secondary:hover{background:rgba(255,255,255,.2)}
.mt-analyze-summary{background:rgba(255,255,255,.06);border-radius:8px;padding:14px;color:#e8edf5;font-size:13px;line-height:1.5}
.mt-analyze-meta{color:#8899bb;font-size:11px;margin-bottom:8px}
.mt-analyze-section-label{color:#a8b3cc;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;margin:10px 0 4px}
.mt-analyze-list{margin:0;padding-left:18px;color:#dbe2f0;font-size:12.5px;line-height:1.5}
.mt-analyze-list li{margin-bottom:4px}
.mt-analyze-table{width:100%;border-collapse:collapse;font-size:12px;color:#dbe2f0;forced-color-adjust:none}
.mt-analyze-table th,.mt-analyze-table td{text-align:left;padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.08);background:transparent!important;color:#dbe2f0!important}
.mt-analyze-table th{color:#8899bb!important;font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.3px}
.mt-analyze-table tbody tr,.mt-analyze-table tbody tr:hover,.mt-analyze-table tbody tr:hover td{background:transparent!important;color:#dbe2f0!important}
.mt-analyze-history-head{color:#a8b3cc;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}
.mt-analyze-history{display:flex;flex-direction:column;gap:6px}
.mt-analyze-history-entry{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:8px 10px;cursor:pointer}
.mt-analyze-history-entry:hover{background:rgba(255,255,255,.1)}
.mt-analyze-history-title{font-size:12px;font-weight:600;color:#e8edf5}
.mt-analyze-history-meta{font-size:11px;color:#8899bb;margin-top:2px}
.mt-detail-save-btn{background:rgba(26,127,75,.18);border:1px solid rgba(26,127,75,.4);border-radius:6px;color:#a8f0c6;font-size:12px;font-weight:700;height:32px;padding:0 12px;cursor:pointer;font-family:inherit;white-space:nowrap}
.mt-detail-save-btn:hover{background:rgba(26,127,75,.32);border-color:rgba(26,127,75,.7)}
.mt-detail-delete-btn{background:rgba(220,53,69,.15);border:1px solid rgba(220,53,69,.35);border-radius:6px;color:#ffb3ba;font-size:12px;font-weight:700;height:32px;padding:0 12px;cursor:pointer;font-family:inherit;white-space:nowrap}
.mt-detail-delete-btn:hover{background:rgba(220,53,69,.32);border-color:rgba(220,53,69,.65)}
.mt-detail-body{padding:18px 20px;overflow-y:auto}
.mt-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mt-detail-field{border:1px solid var(--border);border-radius:7px;padding:10px 12px;background:#fbfcff;min-width:0}
.mt-detail-field.wide{grid-column:1/-1}
.mt-detail-label{font-size:10px;text-transform:uppercase;color:var(--sub);font-weight:800;margin-bottom:5px;letter-spacing:.5px}
.mt-detail-value{font-size:13px;color:#1a1a1a;line-height:1.45;word-break:break-word}
.mt-detail-input,.mt-detail-textarea{width:100%;border:1.5px solid var(--border);border-radius:5px;background:#fff;font-size:13px;font-family:inherit;padding:6px 8px;color:#1a1a1a}
.mt-detail-input:focus,.mt-detail-textarea:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.mt-detail-textarea{min-height:70px;resize:vertical;line-height:1.5}
.mt-detail-value .mt-doc-link{margin-top:6px}
tr.mt-row-highlight>td{background-color:#ffcdd2!important}
/* Row has local edits not yet confirmed by the server (pending, in flight,
   or parked in the retry queue) — amber inset bar on the leading cell. */
tr.mt-unconfirmed>td:first-child{box-shadow:inset 3px 0 0 0 #f5a623}
.mt-hl-toggle{padding:6px 16px;border-radius:6px;border:1.5px solid #ddd;background:#f8f8f8;color:#666;cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s}
.mt-hl-toggle:hover{border-color:#999}
.mt-hl-toggle.active{background:#ffcdd2;border-color:#e57373;color:#721c24;font-weight:600}

/* ═══════════════════════════════════════════════════════════════════════════
 * MEETING TRACKER — MONDAY BOARD PARITY
 * Uses the same measured tokens and interaction proportions as Client
 * Renewals, with a deliberately denser 30px data row so more meetings remain
 * visible without browser zoom or undersized text.
 * ═══════════════════════════════════════════════════════════════════════════ */
#page-mt{
  --mn-text:#323338;--mn-text-2:#676879;--mn-text-3:#9699a6;--mn-placeholder:#c5c7d0;
  --mn-line:#e6e9ef;--mn-line-2:#d0d4e4;--mn-surface:#fff;--mn-hover:#f5f6f8;
  --mn-primary:#0073ea;--mn-primary-h:#0060b9;--mn-link:#1f76c2;--mn-selected:#cce5ff;
  --mn-green:#00c875;--mn-orange:#fdab3d;--mn-red:#e2445c;--mn-grey:#c4c4c4;
  --mn-dark-grey:#808080;--mn-blue:#579bfc;--mn-dark-blue:#0086c0;--mn-purple:#a25ddc;
  --mn-yellow:#ffcb00;--mn-timeline:#333333;--mn-shell:#f6f7fb;
  /* The Request Form Tracker reuses the shared .mnb-board layer, which sizes
     everything off these three. Matches the meeting grid's 30px row. */
  --mn-row-h:30px;--mn-cell-fs:12.5px;--mn-av:24px;--mn-group:#0086c0;
  font-family:Figtree,-apple-system,'Segoe UI',system-ui,Roboto,sans-serif;
  color:var(--mn-text);background:#fff!important
}
#page-mt *{box-sizing:border-box}
/* The MT overlays are SIBLINGS of #page-mt (still inside #tab-staff-portal),
   so the tokens above never reach them — every var(--mn-…) inside silently
   dropped its declaration (the New Meeting form rendered white-on-white).
   Same trick as .mt-pop: carry the tokens themselves. Tokens + a dark text
   baseline only — no background here, each overlay paints its own. */
#mt-bigtext-overlay,#mt-new-overlay,#mt-notes-overlay,#mt-link-overlay{
  --mn-text:#323338;--mn-text-2:#676879;--mn-text-3:#9699a6;--mn-placeholder:#c5c7d0;
  --mn-line:#e6e9ef;--mn-line-2:#d0d4e4;--mn-surface:#fff;--mn-hover:#f5f6f8;
  --mn-primary:#0073ea;--mn-primary-h:#0060b9;--mn-link:#1f76c2;--mn-selected:#cce5ff;
  --mn-green:#00c875;--mn-orange:#fdab3d;--mn-red:#e2445c;--mn-grey:#c4c4c4;
  --mn-blue:#579bfc;--mn-yellow:#ffcb00;--mn-row-h:30px;--mn-cell-fs:12.5px;--mn-av:24px;
  font-family:Figtree,-apple-system,'Segoe UI',system-ui,Roboto,sans-serif;color:#323338
}
#tab-staff-portal:has(#page-mt.active){background:#fff}
#tab-staff-portal #page-mt.active .mt-shell{zoom:1!important}
.mt-shell{background:#fff;padding:14px 0 18px}
/* One-row top bar: identity left, FY pills + tracker toggle centre, views +
   sync state right. Replaces the three stacked rows the page used to spend. */
.mt-topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 18px 8px;border-bottom:1px solid var(--mn-line);background:linear-gradient(180deg,#fff,#fafbfd)}
.mt-topbar-l{display:flex;align-items:baseline;gap:10px;min-width:0}
.mt-topbar-l h2{font-size:19px;line-height:1.25;font-weight:700;color:var(--mn-text);letter-spacing:-.2px;margin:0;white-space:nowrap}
.mt-headbar-eyebrow{display:inline;padding:0;border:0;background:transparent;border-radius:0;color:var(--mn-text-2);font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap}
.mt-topbar-r{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0;flex-wrap:wrap}
.mt-topbar-sep{width:1px;height:18px;background:var(--mn-line-2)}
.mt-headbar-meta,.mt-live-status{font-size:11.5px;font-weight:500;color:var(--mn-text-2);white-space:nowrap}
.mt-live-status::before{content:'◉';font-size:8px;margin-right:5px;color:var(--mn-placeholder)}
.mt-live-status.saving::before{color:var(--mn-orange)}.mt-live-status.saved::before{color:var(--mn-green)}.mt-live-status.error::before{color:var(--mn-red)}
/* Desktop: the top bar stays ONE row. It used to need ~1,600px, so on most
   monitors the view buttons and sync status dropped onto a second line of
   their own, floating right over an empty band. Now only the TEXT gives way —
   below 1600px the eyebrow (which repeats the FY pill beside it) is dropped,
   and the sync status and meeting count truncate with an ellipsis (the status
   carries its full wording as a tooltip, set in mtSetLiveStatus). The title,
   FY pills, tracker tabs and view buttons never shrink. Below 1100px the old
   wrapping layout is unchanged. */
@media(min-width:1100px){
  .mt-topbar{flex-wrap:nowrap}
  .mt-topbar-l{flex-shrink:0}
  .mt-topbar-r{flex:0 1 auto;flex-wrap:nowrap}
  .mt-topbar-sep{flex-shrink:0}
  .mt-live-status,.mt-headbar-meta{min-width:0;overflow:hidden;text-overflow:ellipsis}
}
@media(min-width:1100px) and (max-width:1599px){
  .mt-headbar-eyebrow{display:none}
}
@media(min-width:1100px) and (max-width:1279px){
  .mt-topbar{gap:8px;padding-inline:12px}
}
.mt-state{margin:14px 18px;border-radius:6px;box-shadow:none}
.mt-stats[hidden]{display:none!important}
.mt-stats{margin:8px 18px 0;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--mn-line);border:1px solid var(--mn-line);border-radius:4px;overflow:hidden}
.mt-stat{min-height:66px;border:0;border-radius:0;box-shadow:none;padding:8px 11px;background:#fff;gap:3px}
.mt-stat-value{font-size:21px;color:var(--mn-text)}
.mt-stat-label{font-size:11.5px;font-weight:500;color:var(--mn-text-2)}
.mt-stat-row{font-size:10.5px;line-height:1.25}.mt-stat-row b{font-size:11px}

/* Monday-style single-line toolbar. */
.mt-controlbar{gap:4px;padding:8px 18px;margin:0;flex-wrap:wrap;border:0;border-bottom:1px solid var(--mn-line)}
.mt-new{display:inline-flex;align-items:stretch;border-radius:6px;overflow:hidden;margin-right:5px;box-shadow:0 1px 2px rgba(0,115,234,.35)}
.mt-add-btn,.mt-new-caret{height:30px;border:0;border-radius:0;background:var(--mn-primary);color:#fff;font:400 13px/1 inherit;box-shadow:none;cursor:pointer}
.mt-add-btn{padding:0 13px}.mt-new-caret{width:25px;border-left:1px solid rgba(255,255,255,.3)}
.mt-add-btn:hover,.mt-new-caret:hover{background:var(--mn-primary-h)}
.mt-search-wrap{display:flex;align-items:center;gap:5px;height:30px;border:1px solid var(--mn-line);border-radius:5px;padding:0 8px;box-sizing:border-box}
.mt-search-wrap:hover,.mt-search-wrap:focus-within{background:var(--mn-hover);border-color:var(--mn-line-2)}
.mt-search-wrap .mt-search{width:92px;min-width:0;height:28px;padding:0;border:0;border-radius:0;background:transparent;font-size:13px;box-shadow:none;outline:none}
.mt-search-wrap .mt-search:focus{border:0;box-shadow:none}
.mt-tool-icon{font-size:12px;color:var(--mn-text-2)}
.mt-controlbar .mt-combobox{flex:0 1 150px;min-width:118px}
.mt-controlbar .mt-select-wrap{flex:0 1 148px;min-width:116px}
#mt-table-wrap{overflow-anchor:none}/* the live reconcile moves scrollTop itself when rows land above the viewport — the browser must not compensate a second time */
.mt-combo-input,.mt-search,.mt-select-wrap select{height:30px;border:0;border-radius:4px;background:transparent;color:var(--mn-text-2);font-size:12.5px;padding-left:8px;box-shadow:none}
.mt-combo-input:hover,.mt-select-wrap select:hover,.mt-combo-input:focus,.mt-select-wrap select:focus{background:var(--mn-hover);border:0;box-shadow:none}
.mt-select-wrap .sp-csel-trigger{height:30px;line-height:30px;border:0;border-radius:4px;background:transparent;color:var(--mn-text-2);padding:0 24px 0 8px;font-size:12.5px;font-weight:400;box-shadow:none;outline:0}
.mt-select-wrap .sp-csel-trigger:hover,.mt-select-wrap .sp-csel-trigger:focus{background:var(--mn-hover);border:0;box-shadow:none;outline:0}
.mt-select-wrap .sp-csel-trigger.placeholder{color:var(--mn-text-2)}
.mt-combobox::after,#tab-staff-portal .mt-select-wrap::after{font-size:8px;right:8px;color:var(--mn-text-2)}
.mt-menu-btn,.mt-reset{height:30px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--mn-text-2);padding:0 8px;font-size:12.5px;font-weight:400;box-sizing:border-box}
.mt-menu-btn:hover,.mt-reset:hover{background:var(--mn-hover);border-color:var(--mn-line);color:var(--mn-text)}
.mt-menu-btn.active{background:var(--mn-selected);color:var(--mn-text);font-weight:500}
.mt-menu.open .mt-menu-btn{background:var(--mn-selected);border-color:transparent;color:var(--mn-text)}
.mt-menu-drop,.mt-combo-drop{border:1px solid var(--mn-line-2);border-radius:6px;box-shadow:0 6px 20px rgba(50,51,56,.2)}
.mt-controlbar-right{gap:8px}
.mt-count,.mt-selected-count{font-size:11.5px;font-weight:400;color:var(--mn-text-2)}
.mt-selected-count{height:24px;line-height:24px;padding:0 8px;border-radius:4px;background:var(--mn-selected);color:var(--mn-text)}

/* Group title and the full-width board grid. */
.mt-group-head{display:flex;align-items:center;gap:6px;height:29px;margin:1px 18px 0;color:var(--mn-group)}
.mt-group-toggle{width:20px;height:20px;padding:0;border:0;background:transparent;border-radius:3px;color:inherit;font-size:9px;cursor:pointer}
.mt-group-toggle:hover{background:var(--mn-hover)}
.mt-board-group-name{font-size:14px;font-weight:700}.mt-board-group-count{font-size:12px;color:var(--mn-text-2)}
.mt-table-wrap{margin:0 18px;width:calc(100% - 36px);max-width:calc(100% - 36px);border:0;border-radius:0;box-shadow:none;background:#fff;scrollbar-gutter:stable;min-height:260px}
.mt-table-wrap::-webkit-scrollbar{width:14px;height:14px}
.mt-table-wrap::-webkit-scrollbar-track{background:#fff}
.mt-table-wrap::-webkit-scrollbar-thumb{background:#c3cade;border-radius:8px;border:3px solid #fff}
/* Proxy horizontal scrollbar above the grid — the real one lives on the
   bottom edge of a tall scroll box, below the fold on most screens. */
#page-mt .mt-hbar{display:none;height:22px;overflow-x:scroll;overflow-y:hidden;margin:0 18px}
#page-mt .mt-hbar > div{height:1px}
#page-mt .mt-hbar::-webkit-scrollbar{height:22px}
#page-mt .mt-hbar::-webkit-scrollbar-track{background:#f1f3f8;border-radius:10px}
#page-mt .mt-hbar::-webkit-scrollbar-thumb{background:#98a1ba;border-radius:10px;border:4px solid #f1f3f8;min-width:40px}
#page-mt .mt-hbar::-webkit-scrollbar-thumb:hover{background:#7d87a3}
.mt-table{min-width:2307px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px;background:#fff}
.mt-table th,.mt-table td{border-right:1px solid var(--mn-line);border-bottom:1px solid var(--mn-line)}
#mt-table thead th{height:28px;padding:0 5px;background:#fff;color:var(--mn-text-2);font-size:11.5px;font-weight:400;text-transform:none;letter-spacing:0;text-align:center;user-select:none}
#mt-table thead th:hover{background:var(--mn-hover)}
#mt-table thead th.asc,#mt-table thead th.desc{color:var(--mn-text);font-weight:500}
#mt-table thead th.asc .sp-si::after{content:'▲';font-size:8px;color:var(--mn-primary);margin-left:3px}
#mt-table thead th.desc .sp-si::after{content:'▼';font-size:8px;color:var(--mn-primary);margin-left:3px}
#mt-table tbody tr[data-mt-row]{height:var(--mn-row-h);background:#fff}
#mt-table tbody tr[data-mt-row]>td{height:var(--mn-row-h);padding:0 5px;background:#fff;color:var(--mn-text);font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#mt-table tbody tr:nth-child(even),#mt-table tbody tr:nth-child(even)>td{background:#fff}
/* Windowed body: two spacer rows stand in for the height above and below the
   rendered window (staff-portal.js _mtSetBody), so the scrollbar, its position
   and the board's total height are exactly what a fully-rendered table gives.
   They must paint nothing and carry none of the table's cell borders — the ID
   selector out-ranks the shared .mt-table td border rule. */
#mt-table tbody tr.mt-vpad{pointer-events:none;height:auto}
#mt-table tbody tr.mt-vpad>td{background:#fff;border:0;padding:0}
#mt-table tbody tr[data-mt-row]:hover,#mt-table tbody tr[data-mt-row]:hover>td{background:var(--mn-hover)}
#mt-table tbody tr.mt-row-selected>td{background:#d7ebff}
#mt-table tbody tr.mt-row-selected:hover>td{background:#cce5ff}
#mt-table th.mt-c-bar,#mt-table td.mt-c-bar{width:6px;min-width:6px;padding:0;border-right:0;position:sticky;left:0;z-index:5}
/* Must out-rank the tr[data-mt-row]>td row-paint rules above, hover and
   selected included, or the bar renders white like any other cell. */
#mt-table tbody tr[data-mt-row]>td.mt-c-bar,#mt-table tbody tr[data-mt-row]:hover>td.mt-c-bar,#mt-table tbody tr.mt-row-selected>td.mt-c-bar,#mt-table tbody tr.mt-row-selected:hover>td.mt-c-bar{background:var(--mt-row-bar,var(--mn-group))}
/* Row status bar: the 6px left bar answers "where does this meeting stand?"
   before any cell is read. Tones set per row via data-mt-bar (mtRowBarTone). */
#mt-table tbody tr[data-mt-bar="unscheduled"]{--mt-row-bar:#e2445c}
#mt-table tbody tr[data-mt-bar="requested"]{--mt-row-bar:#fdab3d}
#mt-table tbody tr[data-mt-bar="scheduled"]{--mt-row-bar:#579bfc}
#mt-table tbody tr[data-mt-bar="complete"]{--mt-row-bar:#00c875}
#mt-table tbody tr[data-mt-bar="none"]{--mt-row-bar:#808faf}
#mt-table th.mt-c-check,#mt-table td.mt-c-check{width:34px;min-width:34px;padding:0;text-align:center;position:sticky;left:6px;z-index:5;border-right:0}
#mt-table thead th.mt-c-bar,#mt-table thead th.mt-c-check{z-index:12;background:#fff}
.mt-check{width:15px;height:15px;margin:0;appearance:none;-webkit-appearance:none;border:1px solid var(--mn-line-2);border-radius:3px;background:#fff;vertical-align:middle;cursor:pointer}
.mt-check:hover{border-color:var(--mn-primary)}
.mt-check:checked{background-color:var(--mn-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.2 6.2 4.8 8.7 9.8 3.5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:11px;border-color:var(--mn-primary)}
/* ── MT_COLUMNS matrix (PR#551 port): widths come from the generated
   #mt-colgroup; the two-row band header + row cells are class-driven. ── */
/* Desktop rows are already windowed. Paint their buffer eagerly to avoid
   a second rendering delay during fast scrolling. */
#mt-table tbody tr[data-mt-row]{content-visibility:visible}
/* Frozen name column (after the 6px bar + 34px checkbox lead columns). */
#mt-table tr.mt-head-row th[data-key="name"],#mt-table tbody td[data-mt-cell="name"]{position:sticky;left:40px;z-index:5;background:#fff;box-shadow:1px 0 0 var(--mn-line)}
#mt-table tr.mt-head-row th[data-key="name"]{z-index:12;text-align:left}
#mt-table tbody tr:hover td[data-mt-cell="name"]{background:var(--mn-hover)}
#mt-table tbody tr.mt-row-selected td[data-mt-cell="name"]{background:#d7ebff}
/* Band row (group labels): sticky at top:0; the label row stacks below it. */
#mt-table tr.mt-band-row th{top:0;height:24px;background:#f5f6f8;color:var(--mn-text-2);font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;cursor:default}
#mt-table tr.mt-head-row th{top:24px}
#mt-table tr.mt-band-row th.mt-band-lead{position:sticky;left:0;z-index:13;text-align:left;padding-left:10px}
#mt-table thead th.mtx-td-actions{cursor:default}
/* Group separators driven by the MT_COLUMNS bands. */
#mt-table thead th.mtx-grp-start,#mt-table tbody td.mtx-grp-start{border-left:1px solid var(--mn-line-2)}
/* Matrix cells: text-first, dense; the td owns no padding so buttons and the
   on-demand editor run edge-to-edge. */
#mt-table tbody td.mtx-td{padding:0}
.mtx-cell{padding:0 6px;height:calc(var(--mn-row-h) - 1px);line-height:calc(var(--mn-row-h) - 1px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}
.mtx-strong{font-weight:600;color:var(--mn-text)}
.mtx-ro,#mt-table td.mtx-td .mt-rf-due{color:var(--mn-text-2);font-size:10.5px}
#mt-table td.mtx-td .mt-rf-due-overdue{color:var(--mn-red);font-weight:600}
.mtx-td-ro .mtx-cell{cursor:default}
.mtx-cell-error{background:#fff3f3;color:#a33}
.mtx-row-error{padding:8px 12px;font-size:12px;color:#a33;background:#fff6f6}
/* Single-link cells reuse the doc-chip look at full cell size. */
#mt-table td.mtx-td .mt-docs-single>.mt-doc-chip{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start}
#mt-table td.mtx-td .mt-docs{display:flex;align-items:center;justify-content:flex-start;height:var(--mn-row-h);padding:0 4px;box-sizing:border-box}
/* The on-demand cell editor (only ever exists in the active cell). */
.mtx-edit{display:block;width:100%;height:var(--mn-row-h);border:1px solid var(--mn-primary);border-radius:0;background:#fff;color:var(--mn-text);font-family:inherit;font-size:12px;padding:0 4px;box-sizing:border-box;outline:none}
select.mtx-edit{cursor:pointer;font-weight:600}
#mt-table tbody td.mtx-td:not(.mtx-td-ro):hover{box-shadow:inset 0 0 0 1px var(--mn-line-2)}
/* Remote edits apply silently — deliberately NO highlight/flash animation on
   cells rewritten by another user's change (owner decision, 2026-08-17). */
/* Live presence (soft indicator): a colleague's editor is open in this cell.
   A steady outline + initials chip, no animation. */
#mt-table tbody td.mt-cell-presence{outline:2px solid var(--mn-purple);outline-offset:-2px}
/* The frozen name cell is already positioned (sticky) — flipping it to
   relative would unfreeze it, so only unpositioned cells gain the chip's
   containing block. td overflow is hidden, so the chip sits inside-top-right. */
#mt-table tbody td.mt-cell-presence:not([data-mt-cell="name"]){position:relative}
.mt-presence-chip{position:absolute;top:1px;right:1px;z-index:3;font-size:9px;font-weight:700;line-height:1;background:var(--mn-purple);color:#fff;border-radius:8px;padding:2px 4px;pointer-events:none}
.mt-group-header td{height:30px!important;padding:0 8px!important;background:#f5f6f8!important;border-top:0;border-bottom:1px solid var(--mn-line);position:static!important;box-shadow:none!important}
.mt-group-header:hover td{background:#eef2fb!important}.mt-group-name{font-size:12px;color:var(--mn-group)}.mt-group-count{background:transparent;color:var(--mn-text-2);padding:0;font-weight:400}

/* Dense cell controls. */
.mt-cell-input{height:29px;border:0;border-radius:0;background:transparent;font-size:12px;line-height:29px;padding:0 4px;color:var(--mn-text)}
.mt-cell-input:hover{border:0;background:rgba(0,0,0,.025)}
.mt-cell-input:focus{border:1px solid var(--mn-primary);border-radius:0;background:#fff;box-shadow:none;outline:0;padding:0 3px}
.mt-cell-input.title{font-weight:400;color:var(--mn-text)}
.mt-cell-type{font-size:11px;text-align:center;font-weight:500}
.mt-sub{font-size:9px;line-height:10px;height:10px;margin-top:-8px;padding-left:4px;color:var(--mn-text-2)}
/* Pill/date cells run edge-to-edge — the color reaches the cell border.
   The row-paint rule above is (1,1,3), so these need the type class to win. */
#mt-table tbody tr[data-mt-row]>td.mtx-t-select{padding:0}
#mt-table tbody tr[data-mt-row]>td.mtx-t-date{padding:0}
#mt-table tbody tr[data-mt-row]>td.mtx-t-capPriority{padding:0}
.mt-status-button{display:block;width:100%;height:var(--mn-row-h);border:0;border-radius:0;padding:0 5px;font:500 11.5px/1 inherit;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.mt-status-button:hover{filter:brightness(1.06)}.mt-status-button:focus-visible{outline:2px solid var(--mn-text);outline-offset:-2px}
/* MP — a meeting's package (bio + published documents). Quiet until the meeting is set. */
.mt-mp-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;margin:calc((var(--mn-row-h) - 23px)/2) auto 0;padding:0 8px;border:1px solid var(--mn-line-2,#d0d4e4);border-radius:11px;background:#fff;color:var(--mn-text-2,#676879);font:700 10.5px/1 inherit;letter-spacing:.04em;cursor:pointer}
#mt-table td[data-mt-cell="mp"]{text-align:center}
.mt-mp-btn.mt-mp-set{border-color:#0073ea;background:#0073ea;color:#fff}
.mt-mp-btn:hover{filter:brightness(1.06)}.mt-mp-btn:focus-visible{outline:2px solid var(--mn-text);outline-offset:1px}
.mt-people-button{display:flex;align-items:center;justify-content:center;width:100%;height:var(--mn-row-h);padding:0;border:0;background:transparent;border-radius:0;cursor:pointer}
.mt-people-button:hover{background:rgba(0,0,0,.03)}
.mt-people{display:flex;align-items:center;justify-content:center}
.mt-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:-5px;border:1.5px solid #fff;border-radius:50%;color:#fff;font-size:8.5px;font-weight:600;letter-spacing:.1px}
.mt-avatar:first-child{margin-left:0}.mt-avatar-more{background:#c4c4c4}.mt-avatar-empty{background:#fff;border:1px solid var(--mn-line-2);color:var(--mn-placeholder);font-size:12px}
#mt-table td:has(>.mt-date-button){padding:0}
.mt-date-button{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:var(--mn-row-h);border:0;background:transparent;color:var(--mn-link);font:400 11.5px/1 inherit;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.mt-date-button:hover{background:rgba(0,0,0,.03)}.mt-date-button.is-empty{color:var(--mn-placeholder)}.mt-date-button.is-past{color:var(--mn-red);font-weight:500}.mt-date-button.is-soon{color:#b26b00;font-weight:500}
.mt-docs{gap:3px}.mt-doc-chip{height:24px;min-width:30px;border-radius:4px;background:transparent;color:var(--mn-placeholder);font-size:11px}
.mt-doc-chip.has{background:#eef2ff;color:var(--mn-link)}.mt-doc-chip:hover,.mt-doc-chip.has:hover{background:var(--mn-hover);color:var(--mn-link)}
.mt-doc-chip.is-text{border:1px dashed var(--mn-line-2);background:#fff}
.mt-doc-edit{color:var(--mn-text-3)}.mt-doc-edit:hover{background:var(--mn-hover);color:var(--mn-text)}
.mt-detail-btn{width:28px;height:26px;border:0;border-radius:4px;background:transparent;color:var(--mn-text-3);font-size:15px}.mt-detail-btn:hover{background:var(--mn-line);color:var(--mn-text)}
.mt-empty{padding:42px 14px;color:var(--mn-text-2)}

/* Anchored cell editor shared by status, people, calendar and link cells. */
.mt-pop{--mn-text:#323338;--mn-text-2:#676879;--mn-text-3:#9699a6;--mn-placeholder:#c5c7d0;--mn-line:#e6e9ef;--mn-line-2:#d0d4e4;--mn-hover:#f5f6f8;--mn-primary:#0073ea;--mn-link:#1f76c2;position:fixed;z-index:10030;width:286px;padding:10px;background:#fff;border:1px solid var(--mn-line-2);border-radius:8px;box-shadow:0 6px 20px rgba(50,51,56,.2);color:var(--mn-text);font:400 12.5px/1.35 Figtree,-apple-system,'Segoe UI',sans-serif}
.mt-pop::before{content:'';position:absolute;left:calc(var(--mt-pop-arrow,50%) - 7px);top:-7px;width:13px;height:13px;background:#fff;border-left:1px solid var(--mn-line-2);border-top:1px solid var(--mn-line-2);transform:rotate(45deg)}
.mt-pop[data-side="top"]::before{top:auto;bottom:-7px;transform:rotate(225deg)}
.mt-pop.is-calendar{width:238px;padding:8px}.mt-pop.is-link{width:248px;padding:12px}
.mt-pop-title{position:relative;margin:0 0 8px;font-size:14px;font-weight:600}
.mt-pop-label{display:block;margin:7px 0 3px;color:var(--mn-text-2);font-size:11px}
.mt-pop-input{width:100%;height:30px;border:1px solid #c3c6d4;border-radius:4px;background:#fff;padding:0 8px;color:var(--mn-text);font:inherit;outline:0}
.mt-pop-input:focus{border-color:var(--mn-primary);box-shadow:0 0 0 1px var(--mn-primary)}
.mt-pop-search{position:relative;margin-bottom:9px}.mt-pop-search .mt-pop-input{padding-left:28px}.mt-pop-search-icon{position:absolute;left:9px;top:7px;color:var(--mn-text-3)}
.mt-pop-section{margin:6px 0 4px;color:var(--mn-text-2);font-size:11px}.mt-pop-foot{margin:9px -10px -10px;padding:7px 10px;border-radius:0 0 8px 8px;background:#d7ebff;color:var(--mn-text-2);font-size:11px}
.mt-label-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:2px 5px 9px}
.mt-label-choice{height:25px;border:0;border-radius:1px;color:#fff;font-size:11px;font-weight:500;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.mt-label-choice:hover{filter:brightness(1.08);outline:2px solid rgba(50,51,56,.16)}.mt-label-choice.is-current{outline:2px solid var(--mn-text);outline-offset:1px}.mt-label-edit{border-top:1px solid var(--mn-line-2);padding-top:8px;text-align:center;color:var(--mn-placeholder);font-size:11px}
.mt-person-chips{display:flex;flex-wrap:wrap;gap:4px;min-height:4px;margin-bottom:8px}.mt-person-chip{display:inline-flex;align-items:center;gap:4px;height:26px;border:1px solid #c9dfff;border-radius:4px;background:#e7f2ff;padding:0 5px 0 2px;max-width:100%}.mt-person-chip .mt-avatar{width:20px;height:20px;margin:0;font-size:8px}.mt-person-chip-name{max-width:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-person-chip-x{border:0;background:transparent;color:var(--mn-text-2);padding:0 1px;font-size:13px;cursor:pointer}
.mt-person-results{max-height:178px;overflow-y:auto}.mt-person-option{display:flex;align-items:center;gap:7px;width:100%;min-height:34px;border:0;background:transparent;border-radius:4px;padding:3px 5px;color:var(--mn-text);text-align:left;cursor:pointer}.mt-person-option:hover,.mt-person-option.is-selected{background:#e7f2ff}.mt-person-option .mt-avatar{width:22px;height:22px;margin:0;border:0}.mt-person-option-copy{min-width:0}.mt-person-option-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-person-option-role{display:block;color:var(--mn-text-2);font-size:10px}.mt-person-empty{padding:14px 5px;text-align:center;color:var(--mn-text-2)}
.mt-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.mt-cal-today,.mt-cal-clear{height:25px;border:1px solid var(--mn-line-2);border-radius:4px;background:#fff;color:var(--mn-text-2);font-size:11px;cursor:pointer}.mt-cal-today{padding:0 8px}.mt-cal-clear{padding:0 6px}.mt-cal-input{height:29px;margin-bottom:7px}.mt-cal-nav{display:grid;grid-template-columns:1fr auto auto;gap:4px;align-items:center;margin-bottom:4px}.mt-cal-month{font-size:12px;font-weight:500;padding-left:3px}.mt-cal-navbtn{width:25px;height:25px;border:0;border-radius:4px;background:transparent;color:var(--mn-text-2);cursor:pointer}.mt-cal-navbtn:hover{background:var(--mn-hover)}.mt-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}.mt-cal-dow{height:23px;line-height:23px;color:var(--mn-text-2);font-size:10px}.mt-cal-day{height:27px;border:0;border-radius:3px;background:transparent;color:var(--mn-text);font-size:11px;cursor:pointer}.mt-cal-day:hover{background:var(--mn-hover)}.mt-cal-day.is-other{color:var(--mn-placeholder)}.mt-cal-day.is-selected{background:var(--mn-primary);color:#fff;font-weight:600}
.mt-pop-actions{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:9px}.mt-pop-action{height:27px;border:1px solid var(--mn-line-2);border-radius:4px;background:#fff;color:var(--mn-text-2);padding:0 9px;font-size:11px;cursor:pointer}.mt-pop-action.primary{margin-left:auto;border-color:var(--mn-primary);background:var(--mn-primary);color:#fff}.mt-pop-open{color:var(--mn-link);font-size:11px;text-decoration:none}

/* Monday's edit modal is a centered white sheet with a quiet header. */
.mt-detail-overlay{align-items:center;background:rgba(50,51,56,.5)}
.mt-detail-panel{max-width:900px;border-radius:10px;box-shadow:0 10px 32px rgba(50,51,56,.24)}
.mt-detail-head{background:#fff;color:var(--mn-text);border-bottom:1px solid var(--mn-line);padding:17px 20px}
.mt-detail-head h3{color:var(--mn-text);font-size:17px}.mt-detail-head p{color:var(--mn-text-2)}
.mt-detail-save-btn{height:34px;border:0;border-radius:4px;background:var(--mn-primary);color:#fff;padding:0 15px}.mt-detail-save-btn:hover{background:var(--mn-primary-h)}
.mt-detail-delete-btn{height:34px;border:0;border-radius:4px;background:#ffe3e6;color:var(--mn-red)}.mt-detail-delete-btn:hover{background:#ffd4d9}
.mt-detail-close{width:32px;height:32px;background:transparent;color:var(--mn-text-2)}.mt-detail-close:hover{background:var(--mn-hover)}

/* ── New Meeting modal (mt-nm-*) + keyboard listbox (mt-lb-*) ──────────────
   Centered sheet on the mt-detail-overlay base; the body scrolls internally.
   Field rules ride the #tab-staff-portal ID because the portal's generic
   element rules carry one and outrank any class-only rule here. */
.mt-new-panel{max-width:720px}
.mt-new-body{flex:1;overflow-y:auto;padding:2px 22px 16px}
.mt-new-foot{display:flex;align-items:center;gap:9px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--mn-line);background:#fff}
.mt-new-error{margin-right:auto;color:var(--mn-red);font-size:12px}
#tab-staff-portal .mt-nm-sec{padding:15px 0;border-bottom:1px solid var(--mn-line)}
#tab-staff-portal .mt-nm-sec:last-child{border-bottom:none}
#tab-staff-portal .mt-nm-sec-hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:11px}
#tab-staff-portal .mt-nm-sec-t{font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--mn-text)}
#tab-staff-portal .mt-nm-sec-n{font-size:11.5px;color:var(--mn-text-3);font-weight:500;white-space:nowrap}
#tab-staff-portal .mt-nm-fld{display:flex;flex-direction:column;gap:5px;margin-bottom:13px;min-width:0}
#tab-staff-portal .mt-nm-fld-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
#tab-staff-portal .mt-nm-fld label{font-size:12.5px;font-weight:600;color:var(--mn-text-2)}
#tab-staff-portal .mt-nm-rq{color:var(--mn-red);margin-left:2px}
#tab-staff-portal .mt-nm-hint{font-size:11.5px;color:var(--mn-text-3);font-weight:400}
#tab-staff-portal .mt-nm-inp{height:36px;border:1.5px solid var(--mn-line-2);border-radius:5px;background:#fff;font-size:13px;color:var(--mn-text);padding:0 10px;font-family:inherit;width:100%;box-sizing:border-box}
#tab-staff-portal .mt-nm-ta{border:1.5px solid var(--mn-line-2);border-radius:5px;background:#fff;font-size:13px;color:var(--mn-text);padding:8px 10px;font-family:inherit;width:100%;min-height:60px;resize:vertical;line-height:1.5;box-sizing:border-box}
#tab-staff-portal .mt-nm-inp:focus,#tab-staff-portal .mt-nm-ta:focus{outline:none;border-color:var(--mn-primary);box-shadow:0 0 0 3px rgba(0,115,234,.13)}
#tab-staff-portal .mt-nm-inp::placeholder,#tab-staff-portal .mt-nm-ta::placeholder{color:var(--mn-placeholder)}
#tab-staff-portal .mt-nm-invalid{background:#fff3f3!important;border-color:var(--mn-red)!important}
#tab-staff-portal .mt-nm-cancel{height:34px;border:1px solid var(--mn-line-2);border-radius:4px;background:#fff;color:var(--mn-text-2);padding:0 13px;font-family:inherit;font-size:13px;cursor:pointer}
#tab-staff-portal .mt-nm-cancel:hover{background:var(--mn-hover)}
#tab-staff-portal .mt-lb{position:relative;min-width:0}
#tab-staff-portal .mt-lb-btn{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:36px;width:100%;border:1.5px solid var(--mn-line-2);border-radius:5px;background:#fff;font-size:13px;color:var(--mn-text);padding:4px 26px 4px 9px;font-family:inherit;text-align:left;cursor:pointer;box-sizing:border-box}
#tab-staff-portal .mt-lb-btn:focus{outline:none;border-color:var(--mn-primary);box-shadow:0 0 0 3px rgba(0,115,234,.13)}
#tab-staff-portal .mt-lb-btn::after{content:'▾';position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--mn-text-2);pointer-events:none}
#tab-staff-portal .mt-lb-btn .mt-lb-ph{color:var(--mn-placeholder)}
#tab-staff-portal .mt-lb-chip{display:inline-flex;align-items:center;gap:3px;height:24px;border:1px solid #c9dfff;border-radius:4px;background:#e7f2ff;padding:0 2px 0 7px;font-size:12px;max-width:100%}
#tab-staff-portal .mt-lb-chip-x{border:0;background:transparent;color:var(--mn-text-2);padding:0 4px;font-size:13px;cursor:pointer;line-height:1;font-family:inherit}
#tab-staff-portal .mt-lb-chip-x:hover{color:var(--mn-red)}
#tab-staff-portal .mt-lb-panel{position:absolute;left:0;right:0;top:calc(100% + 3px);z-index:30;background:#fff;border:1px solid var(--mn-line-2);border-radius:6px;box-shadow:0 8px 24px rgba(50,51,56,.18);padding:6px;max-height:224px;display:flex;flex-direction:column}
#tab-staff-portal .mt-lb-panel[hidden]{display:none} /* display:flex above would defeat the hidden attribute */
#tab-staff-portal .mt-lb-panel.drop-up{top:auto;bottom:calc(100% + 3px)}
#tab-staff-portal .mt-lb-filter{height:29px;border:1px solid var(--mn-line-2);border-radius:4px;padding:0 8px;font-size:12.5px;font-family:inherit;margin-bottom:5px;flex:none;box-sizing:border-box;width:100%}
#tab-staff-portal .mt-lb-filter:focus{outline:none;border-color:var(--mn-primary)}
#tab-staff-portal .mt-lb-opts{overflow-y:auto;min-height:0}
#tab-staff-portal .mt-lb-grp{padding:5px 7px 2px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mn-text-3)}
#tab-staff-portal .mt-lb-opt{display:flex;align-items:center;gap:6px;min-height:31px;border-radius:4px;padding:3px 7px;color:var(--mn-text);font-size:12.5px;cursor:pointer}
#tab-staff-portal .mt-lb-opt.is-hi{background:#e7f2ff}
#tab-staff-portal .mt-lb-opt[aria-selected="true"]{font-weight:600}
#tab-staff-portal .mt-lb-opt[aria-selected="true"]::before{content:'✓';color:var(--mn-primary);font-size:11px}
#tab-staff-portal .mt-lb-meta{color:var(--mn-text-2);font-size:10.5px;margin-left:auto;padding-left:8px}
#tab-staff-portal .mt-lb-empty{padding:10px;color:var(--mn-text-2);font-size:12px;text-align:center}
/* Avatar bubbles in the listbox (staffing fields) */
#tab-staff-portal .mt-lb-avchip{display:inline-flex;align-items:center}
#tab-staff-portal .mt-lb-avchip .mt-avatar{margin:0}
#tab-staff-portal .mt-lb-avchip .mt-lb-chip-x{padding:0 2px;margin-left:-2px}
#tab-staff-portal .mt-lb-avname{margin-left:4px}
#tab-staff-portal .mt-lb-opt .mt-avatar{flex:none;margin:0;border:0}
/* $/P/QFR tokens as colored squares (grid cell + popover + form chips) */
.mt-req-button{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:var(--mn-row-h);border:0;background:transparent;cursor:pointer;padding:0 2px;overflow:hidden;font:inherit}
.mt-req-button:hover{background:rgba(0,0,0,.03)}
.mt-req-chip{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:5px;color:#fff;font:700 10px/1 inherit;letter-spacing:.02em}
.mt-req-grid{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 4px}
.mt-req-opt{height:26px;min-width:36px;padding:0 10px;border:1px solid var(--mn-line-2);border-radius:6px;background:#fff;color:var(--mn-text);font:600 11.5px/1 inherit;cursor:pointer}
.mt-req-opt:hover{filter:brightness(.97)}
.mt-req-opt[aria-pressed="true"]{color:#fff;border-color:transparent}
/* Type cell editor: DRL / BL toggles above a $ ___ M amount box. */
.mt-pop.is-reqdetail{width:232px}
.mt-reqamt{display:flex;align-items:center;gap:6px;padding:2px 0 4px}
.mt-reqamt-fix{color:var(--mn-text-2);font-size:13px;font-weight:600;line-height:1}
.mt-reqamt-input{text-align:right;height:29px}
.mt-reqdetail-foot{display:flex;justify-content:flex-end;margin-top:9px;padding-top:7px;border-top:1px solid var(--mn-line-2)}
.mt-reqdetail-clear{border:0;background:transparent;color:var(--mn-text-2);font-size:11px;padding:2px 4px;cursor:pointer}
.mt-reqdetail-clear:hover{color:var(--mn-text);text-decoration:underline}
/* The same control mounted inline in the New Meeting window. The popover constrains its own width; a form field does not, so the amount box is capped here rather than stretching the whole row. */
#tab-staff-portal .mt-nm-reqdetail{border:1px solid var(--mn-line-2);border-radius:6px;background:#fff;padding:7px 10px 9px}
#tab-staff-portal .mt-nm-reqdetail .mt-pop-section:first-child{margin-top:0}
#tab-staff-portal .mt-nm-reqdetail .mt-reqamt-input{width:108px}
#tab-staff-portal .mt-nm-reqdetail .mt-reqdetail-foot{margin-top:7px;padding-top:6px}
.mt-reqdetail-odd{margin:0 0 6px;color:var(--mn-text-2);font-size:11px}
/* Notes cell: chat bubble with the saver's initials */
#mt-table tbody tr[data-mt-row]>td[data-mt-cell="notes"]{padding:0}
.mt-note-button{display:flex;align-items:center;justify-content:center;width:100%;height:var(--mn-row-h);border:0;background:transparent;cursor:pointer;font:inherit}
.mt-note-button:hover{background:rgba(0,0,0,.03)}
.mt-note-button.is-empty{color:var(--mn-placeholder);font-size:14px}
.mt-note-bubble{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:19px;padding:0 5px;border-radius:9px;color:#fff;font:700 9.5px/1 inherit;letter-spacing:.05em}
.mt-note-bubble::after{content:'';position:absolute;left:4px;bottom:-3px;width:7px;height:7px;background:inherit;clip-path:polygon(0 0,100% 0,0 100%)}
/* Notes editor modal — the Team Clients compose toolbar, re-tokened for MT */
#tab-staff-portal .mt-notes-panel{max-width:640px}
#tab-staff-portal .mt-notes-body{flex:1;overflow-y:auto;padding:14px 20px 8px;display:flex;flex-direction:column}
#tab-staff-portal .mt-notes-saved{margin-right:auto;color:var(--mn-text-3);font-size:11.5px}
#tab-staff-portal .mt-cmp-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;border:1px solid var(--mn-line-2);border-bottom:none;border-radius:6px 6px 0 0;background:var(--mn-hover);flex:none}
#tab-staff-portal .mt-cmp-tools select{height:26px;padding:0 4px;border:1px solid var(--mn-line-2);border-radius:5px;font-size:11.5px;font-family:inherit;background:#fff;color:var(--mn-text-2);width:auto}
#tab-staff-portal .mt-cmp-font{min-width:104px}
#tab-staff-portal .mt-cmp-size{min-width:80px}
#tab-staff-portal .mt-cmp-tbtn{height:26px;min-width:28px;padding:0 7px;border:1px solid var(--mn-line-2);background:#fff;border-radius:5px;font-size:12px;color:var(--mn-text-2);cursor:pointer;font-family:inherit;line-height:1}
#tab-staff-portal .mt-cmp-tbtn:hover{background:var(--mn-selected);color:var(--mn-text)}
#tab-staff-portal .mt-cmp-tsep{width:1px;height:18px;background:var(--mn-line-2);margin:0 2px}
#tab-staff-portal .mt-cmp-editor{flex:1;min-height:180px;overflow:auto;padding:12px 14px;border:1px solid var(--mn-line-2);border-radius:0 0 6px 6px;background:#fff;color:var(--mn-text);font-family:Cambria,Georgia,'Times New Roman',serif;font-size:15px;line-height:1.55;outline:none}
#tab-staff-portal .mt-cmp-editor:focus{border-color:var(--mn-primary);box-shadow:0 0 0 2px rgba(0,115,234,.12)}
#tab-staff-portal .mt-cmp-editor p{margin:0 0 10px}
#tab-staff-portal .mt-cmp-editor ul,#tab-staff-portal .mt-cmp-editor ol{margin:0 0 10px;padding-left:22px}
#tab-staff-portal .mt-cmp-editor a{color:var(--mn-link)}
/* Staff filter dropdown rows with avatar bubbles */
.mt-combo-opt.mt-combo-person{display:flex;align-items:center;gap:7px}
.mt-combo-opt.mt-combo-person .mt-avatar{margin:0;border:0;flex:none}
.mt-combo-opt.mt-combo-person.selected .mt-person-option-role{color:#c9d4e8}
@media(max-width:700px){#tab-staff-portal .mt-nm-fld-2{grid-template-columns:1fr}}
/* ── Combo cells: remembered dropdowns in the grid (member / issue /
   committee / hearing title). The cell is a BUTTON, not an editable box —
   free typing in place is what let one issue be spelled three ways. */
#tab-staff-portal .mt-combo-cell{display:block;width:100%;height:var(--mn-row-h);padding:0 8px;border:0;background:transparent;color:var(--mn-text);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tab-staff-portal .mt-combo-cell:hover{background:rgba(0,0,0,.03)}
#tab-staff-portal .mt-combo-cell:not(.has){color:var(--mn-placeholder)}
#tab-staff-portal td.mtx-t-combo{padding:0}
/* Long plain-text cells (QFR Submitted, Hearing Question) */
#tab-staff-portal .mt-bigtext-cell{display:block;width:100%;height:var(--mn-row-h);padding:0 8px;border:0;background:transparent;color:var(--mn-text);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tab-staff-portal .mt-bigtext-cell:hover{background:rgba(0,0,0,.03)}
#tab-staff-portal .mt-bigtext-cell:not(.has){color:var(--mn-placeholder)}
#tab-staff-portal td.mtx-t-bigtext{padding:0}
#tab-staff-portal .mt-bigtext-panel{max-width:680px}
#tab-staff-portal .mt-bigtext-body{flex:1;overflow-y:auto;padding:14px 20px 8px;display:flex}
#tab-staff-portal .mt-bigtext-input{flex:1;min-height:240px;padding:11px 13px;border:1px solid var(--mn-line-2);border-radius:6px;background:#fff;color:var(--mn-text);font-family:inherit;font-size:13.5px;line-height:1.6;resize:vertical}
#tab-staff-portal .mt-bigtext-input:focus{outline:none;border-color:var(--mn-primary);box-shadow:0 0 0 2px rgba(0,115,234,.12)}
/* An inline listbox has no trigger — the panel IS the widget, sitting in the
   popover. Relative (not absolute) so #mt-pop can measure its real height. */
#tab-staff-portal .mt-lb-inline{display:block}
#tab-staff-portal .mt-lb-inline>.mt-lb-panel{position:relative;top:0;left:0;right:auto;width:260px;max-width:78vw;box-shadow:none;border:0;padding:0;margin:0}
#tab-staff-portal .mt-pop-combo{padding:8px}
/* An inline MULTI listbox has no trigger to carry its chips, so they sit in a
   strip at the top of the panel instead. */
#tab-staff-portal .mt-lb-inline-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px;max-height:96px;overflow-y:auto}
#tab-staff-portal .mt-lb-inline-chips .mt-lb-chip{max-width:100%}
#tab-staff-portal .mt-lb-chips-empty{color:var(--mn-text-3);font-size:11px}
/* Why the Gov Body picker opened by itself. */
#tab-staff-portal .mt-combo-note{margin:0 0 8px;padding:7px 8px;border-radius:6px;background:#fff7e6;border:1px solid #ffe0a3;color:var(--mn-text-2);font-size:11.5px;line-height:1.45}
/* A multi combo cell stays ONE line tall — overflow is a "+N", never a wrap,
   because the windowed grid sizes its scroll spacers from a uniform height. */
#tab-staff-portal .mt-combo-cell .mt-combo-first{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tab-staff-portal .mt-combo-more{display:inline-flex;align-items:center;height:17px;padding:0 5px;margin-left:4px;border-radius:9px;background:var(--mn-hover);color:var(--mn-text-3);font:700 10px/1 inherit;vertical-align:middle}
#tab-staff-portal td[data-mt-cell="ld2Code"] .mt-combo-cell{text-align:center;font-weight:700;letter-spacing:.02em}
/* Notes thread */
#tab-staff-portal .mt-note-more{display:inline-flex;align-items:center;justify-content:center;height:19px;padding:0 5px;margin-left:3px;border-radius:9px;background:var(--mn-hover);color:var(--mn-text-3);font:700 9.5px/1 inherit}
#tab-staff-portal .mt-note-button{gap:2px}
#tab-staff-portal .mt-notes-list{flex:none;max-height:44vh;overflow-y:auto;padding:12px 20px 4px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--mn-line-2)}
#tab-staff-portal .mt-note-empty{color:var(--mn-text-3);font-size:12.5px;padding:6px 0 10px}
#tab-staff-portal .mt-note-card{border:1px solid var(--mn-line-2);border-radius:8px;background:var(--mn-hover);padding:9px 11px}
#tab-staff-portal .mt-note-card.is-mine{background:#fff;border-color:var(--mn-primary)}
#tab-staff-portal .mt-note-head{display:flex;align-items:center;gap:7px;margin-bottom:5px}
#tab-staff-portal .mt-note-who{font-weight:700;font-size:12px;color:var(--mn-text)}
#tab-staff-portal .mt-note-when{color:var(--mn-text-3);font-size:11px}
#tab-staff-portal .mt-note-acts{margin-left:auto;display:flex;gap:4px}
#tab-staff-portal .mt-note-act{height:22px;padding:0 8px;border:1px solid var(--mn-line-2);border-radius:5px;background:#fff;color:var(--mn-text-2);font:600 11px/1 inherit;cursor:pointer}
#tab-staff-portal .mt-note-act:hover{background:var(--mn-hover)}
#tab-staff-portal .mt-note-act.is-danger{color:var(--mn-red)}
#tab-staff-portal .mt-note-body{font-family:Cambria,Georgia,"Times New Roman",serif;font-size:14px;line-height:1.55;color:var(--mn-text);word-break:break-word}
#tab-staff-portal .mt-note-body p{margin:0 0 8px}
#tab-staff-portal .mt-note-body a{color:var(--mn-link)}
#tab-staff-portal .mt-notes-body .mt-cmp-editor{min-height:110px}
/* Meeting window extras that came across from the deleted detail panel */
#tab-staff-portal .mt-nm-fld-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
#tab-staff-portal .mt-nm-read{min-height:36px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--mn-line-2);border-radius:6px;background:var(--mn-hover);color:var(--mn-text-2);font-size:12.5px}
#tab-staff-portal .mt-nm-notes-btn{min-height:36px;padding:0 12px;border:1px solid var(--mn-line-2);border-radius:6px;background:#fff;color:var(--mn-text);font:600 12.5px/1 inherit;cursor:pointer;text-align:left}
#tab-staff-portal .mt-nm-notes-btn:hover{border-color:var(--mn-primary);color:var(--mn-primary)}
@media(max-width:700px){#tab-staff-portal .mt-nm-fld-3{grid-template-columns:1fr}}


@media(min-width:901px){
  #tab-staff-portal #page-mt.active .mt-shell{width:calc(100% - 24px);max-width:2560px;margin:0 auto}
  #tab-staff-portal #page-mt.active #mt-content{overflow:hidden}
  #tab-staff-portal #page-mt.active .mt-table-wrap{flex:1;height:auto;min-height:240px}
}
/* ── MT responsive ── */
@media(max-width:1150px){.mt-controlbar-right{margin-left:0}}
@media(max-width:560px){.mt-shell{padding:8px 10px 10px}.mt-topbar{padding:8px 10px}.mt-topbar-l,.mt-topbar-r{width:100%}.mt-topbar-r{justify-content:space-between;gap:6px 10px}.mt-topbar-sep{display:none}.mt-headbar-meta{white-space:normal}.mt-controlbar .mt-search,.mt-controlbar .mt-combobox,.mt-controlbar .mt-select-wrap{flex:1 1 100%}.mt-stats{grid-template-columns:1fr 1fr;gap:8px}.mt-stats .mt-stat:last-child{grid-column:1/-1}.mt-stat{min-width:0;padding:10px 12px}.mt-detail-overlay{padding:0;align-items:stretch}.mt-detail-panel{border-radius:0;max-height:none}.mt-detail-grid{grid-template-columns:1fr 1fr}.mt-detail-field.wide{grid-column:1/-1}}
.ws-card{background:#fff;border:1px solid var(--border);border-radius:0 0 var(--r) var(--r);padding:24px 20px 28px}
.notice-banner{background:#fff8e6;border:1.5px solid #e5c44a;border-radius:8px;padding:12px 16px;margin-bottom:22px;display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#7a5500;line-height:1.5}
.notice-banner .bell{font-size:18px;flex-shrink:0;margin-top:1px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}}
.form-field{display:flex;flex-direction:column;gap:5px}.form-field.full{grid-column:1/-1}
.form-field label,.er-field label,.sheet-field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#4a5568}
.req{color:#c0392b;margin-left:2px}
.form-field input,.form-field textarea{border:1.5px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px;color:#1a1a1a;font-family:inherit;background:#fff;-webkit-appearance:none;appearance:none;transition:border-color .15s;width:100%}
.sel-inner{position:relative}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.sheet-field input:focus,.sheet-field select:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.form-field textarea{height:100px;resize:vertical;line-height:1.5}
.type-pills{display:flex;gap:8px;flex-wrap:wrap}
.type-pill{flex:1;min-width:90px;height:46px;display:flex;align-items:center;justify-content:center;gap:7px;border:2px solid var(--border);border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;color:#555;background:#fff;transition:all .15s}
.dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex-shrink:0}
.type-pill.sel-pto{border-color:var(--pto)!important;background:var(--pto)!important;color:#fff!important}
.type-pill.sel-telework{border-color:var(--telework)!important;background:var(--telework)!important;color:#fff!important}
.type-pill.sel-offsite{border-color:var(--offsite)!important;background:var(--offsite)!important;color:#fff!important}
.type-pill.sel-condo{border-color:#c0392b!important;background:#c0392b!important;color:#fff!important}
.type-pill.active{border-color:var(--mid)!important;background:var(--mid)!important;color:#fff!important}
.ws-submit{margin-top:22px;width:100%;height:50px;background:var(--navy);border:none;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;color:#fff;transition:background .15s}
.ws-submit:hover{background:var(--mid)}.ws-submit:disabled{background:#b0bfd4;cursor:not-allowed}
.ws-note{font-size:11px;color:#888;text-align:center;margin-top:10px;font-style:italic}
.ws-confirm-step{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}
.ws-modal-state{display:none}
#ws-modal-overlay[data-state=loading] .ws-state-loading,
#ws-modal-overlay[data-state=success] .ws-state-success,
#ws-modal-overlay[data-state=warning] .ws-state-warning,
#ws-modal-overlay[data-state=error] .ws-state-error{display:block}
.ca-modal-state{display:none}
#modal-overlay:not([data-state]) .ca-state-form,#modal-overlay[data-state=form] .ca-state-form,#modal-overlay[data-state=loading] .ca-state-loading,#modal-overlay[data-state=success] .ca-state-success,#modal-overlay[data-state=error] .ca-state-error{display:block}
.ws-spinner{width:36px;height:36px;border:4px solid #e8ecf0;border-top-color:var(--navy);border-radius:50%;animation:ws-spin .8s linear infinite;margin:0 auto}
@keyframes ws-spin{to{transform:rotate(360deg)}}
.ws-confirm-step:last-child{border-bottom:none;padding-bottom:4px}
.step-icon{font-size:22px;width:28px;flex-shrink:0;text-align:center;margin-top:1px}
.step-body strong{font-size:14px;color:#1a1a1a;display:block;margin-bottom:3px}
.step-body span{font-size:12px;color:var(--sub);line-height:1.5;display:block}
#ws-ics-name{font-size:11px;color:var(--mid);font-family:monospace;margin-top:4px;word-break:break-all;display:block}
.er-hdr,.sc-hdr{background:#fff;border:1px solid var(--border);border-top:none;padding:16px}
.er-hdr-fields,.sc-hdr-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.er-hdr-fields,.sc-hdr-fields{grid-template-columns:1fr}}
.er-field{display:flex;flex-direction:column;gap:5px}
.er-sel-wrap{position:relative}
.er-sel-wrap select{height:44px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;color:#1a1a1a;background:#fff;-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;transition:border-color .15s;width:100%;padding:0 34px 0 12px}
.er-sel-wrap select:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.er-sel-wrap select:disabled{background:#f5f7fa;color:#888;cursor:not-allowed}
.er-save-row{display:flex;align-items:center;justify-content:flex-end;margin-top:10px;min-height:20px}
.er-save-status{font-size:12px;color:var(--lp);font-weight:600;opacity:0;transition:opacity .3s;white-space:nowrap}
.er-save-status.visible{opacity:1}
.er-period-lock{display:none;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--sub);flex-wrap:wrap}
.er-period-lock .unlock-btn{background:none;border:none;color:var(--mid);font-size:12px;cursor:pointer;text-decoration:underline;padding:0;font-weight:600}
.er-section-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:16px}
.er-sec-head{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.er-sec-head.cc{background:#1a3a6e;color:#fff}.er-sec-head.ri{background:#2a4f96;color:#fff}
.er-sec-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.er-sec-title-text{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.er-count-badge{background:rgba(255,255,255,.2);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:12px;white-space:nowrap}
.er-sec-amt{font-size:15px;font-weight:800;color:#fff;white-space:nowrap}
.er-empty{text-align:center;padding:32px 16px;font-size:14px;color:#aaa;font-style:italic}
.exp-card{padding:14px 16px;border-bottom:1px solid var(--border);background:#fff;cursor:pointer;transition:background .12s}
.exp-card:last-child{border-bottom:none}
@media(hover:hover){.exp-card:hover{background:var(--accent)}}
.exp-card-row1{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}
.exp-card-date{font-size:12px;color:var(--sub)}
.exp-card-amount{font-size:19px;font-weight:800;color:var(--navy)}
.exp-card-amount.missing{font-size:13px;color:#ccc;font-style:italic;font-weight:400}
.exp-card-vendor{font-weight:700;font-size:15px;color:#1a1a1a}
.exp-card-purpose{font-size:13px;color:var(--sub);margin-top:2px}
.exp-card-billable{font-size:12px;color:var(--lp);margin-top:4px;font-weight:600}
.exp-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid #f0f0f0}
.exp-card-edit-btn{background:var(--accent);color:var(--mid);border:1.5px solid var(--border);border-radius:6px;padding:5px 14px;font-size:12px;font-weight:700;cursor:pointer}
.exp-card-del-btn{background:none;border:none;color:#ccc;font-size:13px;cursor:pointer;padding:4px 8px;font-weight:700}
.exp-card-del-btn:hover{color:var(--danger)}
.er-tbl-scroll{overflow-x:auto}
.exp-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:600px}
.exp-tbl thead th{background:#eef2fa;color:var(--navy);padding:9px 10px;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid var(--border);white-space:nowrap}
.exp-tbl tbody td{padding:9px 10px;border-bottom:1px solid #edf1f9;vertical-align:middle;font-size:13px}
.exp-tbl tbody tr.exp-tbl-row{cursor:pointer;transition:background .1s}
.exp-tbl tbody tr.exp-tbl-row:nth-child(even){background:var(--accent)}
@media(hover:hover){.exp-tbl tbody tr.exp-tbl-row:hover{background:#d8e8f8}}
.exp-tbl-total td{background:var(--light);font-weight:700;color:var(--navy);padding:8px 10px;border-top:2px solid var(--border);font-size:13px}
.exp-edit-btn,.exp-del-btn{background:none;border:none;font-size:14px;cursor:pointer;padding:2px 4px;opacity:.6}
.exp-del-btn{color:var(--danger)}.exp-edit-btn:hover,.exp-del-btn:hover{opacity:1}
.billable-yes{color:var(--lp);font-weight:600;font-size:12px}.billable-no{color:#bbb;font-size:12px}
.er-add-btn{width:100%;padding:12px;background:#fff;border:none;border-top:1px dashed var(--border);color:var(--mid);font-size:14px;font-weight:700;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .12s}
.er-add-btn:hover{background:var(--accent)}
.er-add-btn .plus-icon{width:24px;height:24px;background:var(--mid);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;flex-shrink:0}
.er-grand{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:14px 20px;margin-top:16px;display:flex;justify-content:flex-end;align-items:center;gap:16px}
.gt-label{font-size:14px;color:var(--sub);font-weight:600}.gt-val{font-size:26px;font-weight:800;color:var(--navy)}
.er-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.er-btn{flex:1;height:50px;border:none;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;min-width:110px;transition:opacity .15s}
.er-btn:disabled{opacity:.35;cursor:not-allowed}
.er-btn-clear{background:#fff;border:1.5px solid var(--border)!important;color:var(--sub)}
.er-btn-clear:hover:not(:disabled){background:#fff0f0;border-color:#e0a0a0!important;color:var(--danger)}
.er-btn-dl{background:var(--gold);color:var(--navy)}.er-btn-dl:hover:not(:disabled){background:var(--golddark)}
.er-btn-send{background:var(--navy);color:#fff}.er-btn-send:hover:not(:disabled){background:var(--mid)}
.er-import-banner{background:#fff;border:1px solid var(--border);border-top:none;padding:12px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.er-import-btn{height:38px;padding:0 14px;background:var(--navy);border:none;border-radius:6px;font-weight:700;font-size:13px;cursor:pointer;color:#fff;display:flex;align-items:center;gap:6px;flex-shrink:0;transition:background .15s}
.er-import-btn:hover{background:var(--mid)}
.er-scan-btn{background:var(--telework)!important}.er-scan-btn:hover{background:#0f5a2e!important}
.er-import-hint{font-size:12px;color:var(--sub);line-height:1.5}
@keyframes imp-spin{to{transform:rotate(360deg)}}
#imp-overlay{display:none;position:fixed;inset:0;z-index:950;background:rgba(10,20,45,.55);backdrop-filter:blur(3px);align-items:flex-end;justify-content:center}
#imp-overlay.open{display:flex}
#imp-sheet{background:#fff;width:100%;max-height:90vh;border-radius:20px 20px 0 0;overflow:hidden;display:flex;flex-direction:column}
#imp-sheet-head{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:#fff}
.imp-spinner{width:34px;height:34px;border:3px solid var(--light);border-top-color:var(--navy);border-radius:50%;animation:imp-spin .75s linear infinite;margin:0 auto 18px}
.imp-drop-zone{border:2px dashed var(--border);border-radius:12px;padding:36px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.imp-drop-zone.drag-over,.imp-drop-zone:hover{border-color:var(--mid)}
.imp-drop-zone.drag-over{background:var(--accent)}
.imp-err{display:none;background:#fff0f0;border:1.5px solid #f5a0a0;border-radius:8px;padding:10px 14px;font-size:13px;color:var(--danger);margin-top:14px;line-height:1.5}
.imp-cell-input{border:1px solid transparent;border-radius:4px;padding:4px 7px;font-size:12px;font-family:inherit;background:transparent;color:#1a1a1a;width:100%;transition:border-color .1s;-webkit-appearance:none}
.imp-cell-input:hover{border-color:var(--border)}.imp-cell-input:focus{outline:none;border-color:var(--mid);background:#f2f6ff}
.imp-sec-btn{height:26px;padding:0 9px;border-radius:5px;border:1.5px solid var(--border);font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.imp-sec-cc{background:#e8edf8;border-color:#c8d6ed;color:var(--navy)}.imp-sec-ri{background:#eef3fb;border-color:#b4c6e7;color:#2a4f96}
@media(min-width:701px){#imp-overlay{align-items:center}#imp-sheet{max-width:800px;border-radius:12px;max-height:88vh}}
.sticky-item{display:flex;flex-direction:column;align-items:center;padding:0 16px;flex:1}
.sticky-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8da6cf;margin-bottom:1px}
.sticky-val{font-size:15px;font-weight:800;color:#fff}
.sticky-divider{width:1px;height:32px;background:rgba(255,255,255,.2)}
.sticky-item-total .sticky-val{color:var(--gold);font-size:17px}
#er-entry-overlay{display:none;position:fixed;inset:0;z-index:900;background:rgba(10,20,45,.55);backdrop-filter:blur(3px);align-items:flex-end;justify-content:center}
#er-entry-overlay.open{display:flex}
.er-entry-sheet{background:#fff;width:100%;max-height:92vh;border-radius:20px 20px 0 0;overflow-y:auto;padding:8px 20px 32px}
@keyframes sheet-up{from{transform:translateY(40px);opacity:.6}to{transform:translateY(0);opacity:1}}
.sheet-handle{width:40px;height:4px;background:#e0e0e0;border-radius:2px;margin:8px auto 16px}
.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.sheet-title{font-size:18px;font-weight:800;color:var(--navy)}
.sheet-subtitle{font-size:12px;color:var(--sub);margin-top:2px}
.sheet-close{background:none;border:none;font-size:20px;color:#bbb;cursor:pointer;padding:4px;line-height:1}
.scan-btn-primary{width:100%;height:52px;background:var(--navy);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}
.scan-btn-primary:hover{background:var(--mid)}
.scan-or{text-align:center;font-size:12px;color:#bbb;margin:14px 0 4px;letter-spacing:.5px}
.sheet-fields{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.sheet-field{display:flex;flex-direction:column;gap:5px}
.sheet-field input{border:1.5px solid var(--border);border-radius:8px;padding:11px 14px;font-size:15px;color:#1a1a1a;font-family:inherit;background:#fff;-webkit-appearance:none;transition:border-color .15s;width:100%}
.sheet-field .er-sel-wrap select{border-radius:8px;font-size:15px;height:48px}
#er-entry-overlay .er-entry-sheet,
#imp-overlay #imp-sheet{color:#1a1a1a;color-scheme:light}
.imp-cell-input,
#er-entry-overlay .sheet-field input,
#er-entry-overlay .sheet-field textarea,
#er-entry-overlay .sheet-field select,
#er-entry-overlay .er-attendee-input{
  color:#1a1a1a!important;
  -webkit-text-fill-color:#1a1a1a!important;
  caret-color:#1a1a1a;
}
#er-entry-overlay .sheet-field input::placeholder,
#er-entry-overlay .sheet-field textarea::placeholder,
#er-entry-overlay .er-attendee-input::placeholder,
#imp-overlay .imp-cell-input::placeholder{
  color:#6b7280!important;
  -webkit-text-fill-color:#6b7280!important;
}
#er-entry-overlay .sheet-title{color:var(--navy)}
#er-entry-overlay .sheet-subtitle,
#er-entry-overlay .toggle-text,
#er-entry-overlay #modal-receipt-status,
#imp-overlay #imp-sel-count{color:var(--sub)}
#er-entry-overlay .sheet-field label{color:#4a5568}
#er-entry-overlay input[type=date]::-webkit-datetime-edit,
#er-entry-overlay input[type=date]::-webkit-datetime-edit-text,
#er-entry-overlay input[type=date]::-webkit-datetime-edit-month-field,
#er-entry-overlay input[type=date]::-webkit-datetime-edit-day-field,
#er-entry-overlay input[type=date]::-webkit-datetime-edit-year-field,
#imp-overlay input[type=date]::-webkit-datetime-edit,
#imp-overlay input[type=date]::-webkit-datetime-edit-text,
#imp-overlay input[type=date]::-webkit-datetime-edit-month-field,
#imp-overlay input[type=date]::-webkit-datetime-edit-day-field,
#imp-overlay input[type=date]::-webkit-datetime-edit-year-field{
  color:#1a1a1a!important;
  -webkit-text-fill-color:#1a1a1a!important;
}
.toggle-label-wrap{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px 0}
.toggle-switch{position:relative;flex-shrink:0}.toggle-switch input{display:none}
.toggle-track{display:block;width:48px;height:28px;background:#ccc;border-radius:14px;transition:background .2s;position:relative}
.toggle-switch input:checked + .toggle-track{background:var(--lp)}
.toggle-thumb{position:absolute;top:4px;left:4px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.toggle-switch input:checked + .toggle-track .toggle-thumb{transform:translateX(20px)}
.toggle-text{font-size:14px;font-weight:600;color:var(--sub)}
.toggle-switch input:checked ~ .toggle-text{color:var(--lp)}
.sheet-actions{display:flex;gap:10px;margin-top:20px}
.btn-cancel{flex:0 0 auto;height:50px;padding:0 20px;background:transparent;border:1.5px solid var(--border);border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;color:var(--sub)}
.btn-save-exp{flex:1;height:50px;background:var(--navy);border:none;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;color:#fff}
.btn-save-exp:hover{background:var(--mid)}
.sheet-err{background:#fff0f0;border:1.5px solid #f5a0a0;border-radius:8px;padding:10px 14px;font-size:13px;color:var(--danger);display:none;margin-bottom:4px;line-height:1.5}
.sheet-err.visible{display:block}
.er-type-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;letter-spacing:.3px;text-transform:uppercase;background:#e8f0fb;color:var(--mid);margin-right:5px;vertical-align:middle}
.er-type-badge.meal{background:#fff3e0;color:#bf360c}
.er-type-badge.travel{background:#e8f5e9;color:#2e7d32}
.er-type-badge.hotel{background:#f3e5f5;color:#6a1b9a}
.er-type-badge.entertainment{background:#fce4ec;color:#880e4f}
.er-type-badge.other{background:#f5f5f5;color:#555}
.er-attendees-note{font-size:11px;color:#888;font-style:italic;margin-bottom:8px;line-height:1.4}
.er-attendee-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.er-attendee-input{flex:1;height:38px;border:1.5px solid var(--border);border-radius:6px;padding:0 10px;font-size:14px;font-family:inherit;color:#1a1a1a;background:#fff;-webkit-appearance:none;transition:border-color .15s}
.er-attendee-input:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.er-attendee-del{background:none;border:1.5px solid #ddd;border-radius:6px;color:#bbb;font-size:16px;cursor:pointer;padding:0 9px;height:38px;flex-shrink:0;transition:all .12s;font-family:inherit;line-height:1}
.er-attendee-del:hover{border-color:#f5a0a0;color:var(--danger)}
.er-add-attendee-btn{background:none;border:1.5px dashed var(--border);border-radius:6px;color:var(--mid);font-size:13px;font-weight:700;cursor:pointer;padding:8px 14px;width:100%;text-align:center;transition:all .12s;font-family:inherit;margin-top:2px}
.er-add-attendee-btn:hover{background:var(--accent);border-color:var(--mid)}
.er-receipt-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:8px;transition:background .15s,box-shadow .15s}
.er-receipt-wrap.drag-over{background:var(--accent);box-shadow:0 0 0 2px var(--mid) inset}
#er-receipt-wrap #er-receipt-note{flex:1;min-width:200px;width:auto}
.er-receipt-btn{background:var(--accent);border:1.5px solid var(--border);border-radius:6px;color:var(--navy);font-size:13px;font-weight:700;cursor:pointer;padding:8px 14px;font-family:inherit;white-space:nowrap;transition:all .12s}
.er-receipt-btn:hover{background:#d8e8f8;border-color:var(--mid)}
#modal-receipt-status{font-size:12px;color:#555;flex:1;min-width:0;word-break:break-all}
.exp-receipt-link{color:var(--mid);text-decoration:none;font-size:11px;white-space:nowrap}
.exp-receipt-link:hover{text-decoration:underline}
.er-receipt-item{display:inline-flex;align-items:center;gap:3px;background:var(--accent);border:1px solid var(--border);border-radius:5px;padding:2px 4px 2px 8px;margin:2px 3px 2px 0}
.er-receipt-del{background:none;border:none;color:#aaa;font-size:13px;line-height:1;cursor:pointer;padding:0 3px;font-family:inherit;border-radius:3px;transition:color .1s}
.er-receipt-del:hover{color:#c0392b}
.exp-attendees{font-size:11px;color:var(--sub);margin-top:3px;line-height:1.5}
@media(min-width:701px){#er-entry-overlay{align-items:center}.er-entry-sheet{max-width:520px;border-radius:12px}.sheet-handle{display:none}}
.sc-hdr-fields{grid-template-columns:1fr 1fr}.sc-hdr-fields .er-field.full{grid-column:1/-1}
.sc-hdr-fields input[type=text],.sc-hdr-fields input[type=date]{border:1.5px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px;font-family:inherit;background:#fff;-webkit-appearance:none;width:100%;color:#1a1a1a;transition:border-color .15s}
.sc-hdr-fields input:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.sc-hdr-fields textarea{border:1.5px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px;font-family:inherit;background:#fff;width:100%;color:#1a1a1a;resize:vertical;min-height:80px;line-height:1.5;transition:border-color .15s}
.sc-hdr-fields textarea:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.sc-criteria-wrap{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.sc-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.sc-card-head{padding:14px 16px 10px;display:flex;align-items:flex-start;gap:12px}
.sc-num{width:26px;height:26px;background:var(--light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--navy);flex-shrink:0;margin-top:1px}
.sc-card-body{flex:1;min-width:0}
.sc-crit-label{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:2px}
.sc-crit-desc{font-size:12px;color:var(--sub);line-height:1.5}
.sc-score-row{padding:0 16px 14px 54px}
.sc-slider-wrap{width:100%;display:flex;flex-direction:column;gap:3px}
.sc-slider-top{display:flex;justify-content:flex-end;padding-right:2px}
.sc-slider-val{font-size:22px;font-weight:800;color:#999;line-height:1;transition:color .3s;min-width:28px;text-align:right}
.sc-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:4px;background:#dde0e4;outline:none;cursor:pointer;display:block}
.sc-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--navy);cursor:pointer;border:2.5px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.25);transition:transform .12s}
.sc-slider::-webkit-slider-thumb:hover,.sc-slider::-webkit-slider-thumb:active{transform:scale(1.2)}
.sc-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--navy);cursor:pointer;border:2.5px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.25);border-collapse:separate}
.sc-ticks{display:flex;justify-content:space-between;padding:2px 11px 0;user-select:none}
.sc-ticks span{font-size:12px;font-weight:700;color:#222;text-align:center;line-height:1}
.sc-notes-btn{font-size:12px;color:var(--mid);background:none;border:none;cursor:pointer;padding:0 0 10px 54px;display:block;font-weight:600;text-decoration:underline;width:100%;text-align:left}
.sc-notes-field{display:none;padding:0 16px 12px 54px}
.sc-notes-field textarea{width:100%;border:1.5px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;line-height:1.5;resize:none;height:64px;color:#555;transition:border-color .15s}
.sc-summary{background:#fff;border:1px solid var(--border);border-radius:var(--r);margin-top:16px;overflow:hidden}
.sc-summary-head{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff}
.sc-summary-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.sc-total-display{font-size:28px;font-weight:900}
.sc-summary-body{padding:18px 20px}
.sc-recommendation{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;margin-bottom:16px;font-size:15px;font-weight:700}
.sc-rec-strong{background:#e8f5ec;color:#145a32;border:1.5px solid #a8d8b8}
.sc-rec-conditional{background:#fff8e6;color:#7a5500;border:1.5px solid #e5c44a}
.sc-rec-borderline{background:#fff3e0;color:#8d4a00;border:1.5px solid #f5c07a}
.sc-rec-no{background:#fff0f0;color:#c0392b;border:1.5px solid #f5a0a0}
.sc-rec-pending{background:#f5f5f5;color:#999;border:1.5px solid #e0e0e0}
.sc-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
@media(max-width:560px){.sc-score-grid{grid-template-columns:1fr}}
.sc-score-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px solid #f0f0f0;font-size:13px}
.sc-score-item-label{color:var(--sub)}.sc-score-item-val{font-weight:700;color:var(--navy);min-width:30px;text-align:right}
#modal-overlay,#ws-modal-overlay,#er-modal-overlay,#sc-modal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(10,20,45,.55);backdrop-filter:blur(3px);align-items:center;justify-content:center;padding:16px}
#modal-overlay.open,#ws-modal-overlay.open,#er-modal-overlay.open,#sc-modal-overlay.open{display:flex}
.modal-box{background:#fff;border-radius:12px;width:100%;max-width:480px;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}
@keyframes modal-in{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-head{background:var(--navy);color:#fff;padding:18px 20px 14px}
.modal-head h3{font-size:15px;font-weight:700;margin-bottom:2px}.modal-head p{font-size:12px;color:#afc3e3;line-height:1.5}
.modal-body{padding:20px}
.modal-field{margin-bottom:16px}
.modal-field label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#4a5568;margin-bottom:5px}
.modal-field select,.modal-field textarea{width:100%;border:1.5px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px;color:#1a1a1a;font-family:inherit;background:#fff;-webkit-appearance:none}
.modal-field select{height:44px;cursor:pointer}.modal-field textarea{height:110px;resize:vertical;line-height:1.5}
.modal-field select:focus,.modal-field textarea:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.modal-field .sel-wrap-inner{position:relative}
.modal-note{font-size:11px;color:#888;margin-top:-10px;margin-bottom:16px;font-style:italic;line-height:1.5}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;padding:0 20px 20px;flex-wrap:wrap}
.btn-cancel2{height:44px;padding:0 18px;background:transparent;border:1.5px solid var(--border);border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;color:var(--sub)}
.btn-send{height:44px;padding:0 20px;background:var(--navy);border:none;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;color:#fff}
.btn-send:hover{background:var(--mid)}.btn-send:disabled{background:#b0bfd4;cursor:not-allowed}
.btn-send-green{height:44px;padding:0 20px;background:var(--telework);border:none;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;color:#fff}
.btn-send-green:hover{background:#145a32}
@media(max-width:599px){
  #tab-staff-portal .tbl-wrap{overflow:visible;background:transparent;border:none}
  #tab-staff-portal table{display:block!important;min-width:unset}#tab-staff-portal thead{display:none!important}
  #tab-staff-portal tbody{display:flex!important;flex-direction:column;gap:10px}
  #tab-staff-portal tbody tr{display:flex!important;flex-direction:column;background:#fff!important;border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
  #tab-staff-portal tbody tr:nth-child(even){background:#fff!important}
  #tab-staff-portal td{display:block!important;padding:0;border:none;line-height:1.5}#tab-staff-portal td+td{margin-top:6px}
  /* Phone cards: a row that is hidden stays hidden (the card rule above is !important too). */
  #tab-staff-portal tbody tr.js-hidden{display:none!important}
  #tab-staff-portal .qrt-tbl tr.qrt-grp{background:var(--light)!important;padding:8px 12px}
  #tab-staff-portal td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--sub);margin-bottom:1px}
  #tab-staff-portal td.cn{font-size:16px;padding-bottom:8px!important;border-bottom:1px solid var(--border);margin-bottom:2px}#tab-staff-portal td.cn::before{display:none}
  #tab-staff-portal .count-bar{border-radius:var(--r) var(--r) 0 0;border:1px solid var(--border)}#tab-staff-portal .tbl-wrap{border-radius:0}
  /* The Meeting Tracker's own mobile row layout lives in meeting-tracker-ux.css
     (a by-NAME column picker, data-mt-cell/data-mt-mobile-summary) — it used
     to render underneath a SEPARATE, older by-POSITION card-grid layout
     defined here (nth-child-based: "column 3 is always the title", etc.),
     an accidental, untested-together hybrid of two designs that happened to
     look reasonable. Removed; see meeting-tracker-ux.css for the one that
     actually governs this now. */
  #tab-staff-portal #page-mt .mt-cell-input{min-height:34px;padding:6px 8px;background:#fff;border-color:#dbe3f0}
  #tab-staff-portal #page-mt .mt-status-button,#tab-staff-portal #page-mt .mt-people-button,#tab-staff-portal #page-mt .mt-date-button{height:36px;border-radius:5px}
  #tab-staff-portal #page-mt .mt-detail-btn{width:100%;height:38px}
  #tab-staff-portal #page-mt .mt-empty{padding:28px 12px}
  .sc-score-row{padding-left:16px}.sc-notes-btn,.sc-notes-field{padding-left:16px}
}
@media print{#modal-overlay,#ws-modal-overlay,#er-modal-overlay,#sc-modal-overlay,#er-entry-overlay,#imp-overlay,#tab-staff-portal .pill,#changeBtn,#sp-backBtn{display:none!important}#tab-staff-portal .page{padding:0!important;max-width:100%;background:#fff;box-shadow:none;border-radius:0;overflow:visible;margin:0;color:#000}#tab-staff-portal .section-head{border-radius:0!important}}
.fp-body{background:#fff;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);padding:24px 20px 32px}
.fp-notice{background:#fff8e6;border:1.5px solid #e5c44a;border-radius:8px;padding:12px 16px;margin-bottom:22px;display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#7a5500;line-height:1.6}
.fp-notice .fp-notice-icon{font-size:17px;flex-shrink:0;margin-top:1px}
.fp-policy-card{border:1.5px solid var(--border);border-radius:var(--r);padding:0;margin-bottom:14px;overflow:hidden;background:#fff}
.fp-policy-head{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--accent)}
.fp-policy-icon{font-size:26px;flex-shrink:0}
.fp-policy-meta{flex:1;min-width:0}
.fp-policy-meta .fp-pol-num{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#6b7a99;margin-bottom:3px}
.fp-policy-meta h3{font-size:15px;font-weight:800;color:var(--navy);margin:0 0 4px}
.fp-policy-meta .fp-pol-tags{display:flex;gap:6px;flex-wrap:wrap}
.fp-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:3px 8px;border-radius:20px;white-space:nowrap}
.fp-tag-active{background:#d4edda;color:#155724}
.fp-tag-compliance{background:#d1ecf1;color:#0c5460}
.fp-tag-hr{background:#f3e8f8;color:#6f42c1}
.fp-policy-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;align-items:center}
.fp-btn-dl{height:36px;padding:0 14px;background:var(--navy);border:none;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;color:#fff;font-family:inherit;transition:background .15s;white-space:nowrap}
.fp-btn-dl:hover{background:var(--mid)}
.fp-btn-view{height:36px;padding:0 14px;background:transparent;border:1.5px solid var(--navy);border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;color:var(--navy);font-family:inherit;transition:all .15s;white-space:nowrap}
.fp-btn-view:hover{background:var(--navy);color:#fff}
.fp-policy-body{padding:14px 18px;border-top:1px solid var(--border)}
.fp-policy-body p{font-size:13px;color:var(--sub);line-height:1.6;margin:0 0 10px}
.fp-policy-body p:last-child{margin-bottom:0}
.fp-policy-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;margin-top:10px}
.fp-detail{display:flex;flex-direction:column;gap:2px}
.fp-detail .fp-dl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#aaa}
.fp-detail .fp-dv{font-size:13px;color:var(--navy);font-weight:600}
.fp-viewer-overlay{display:none;position:fixed;inset:0;background:rgba(10,20,50,.7);z-index:500;align-items:center;justify-content:center}
.fp-viewer-overlay.open{display:flex}
.fp-viewer-box{background:#fff;border-radius:var(--r);width:92vw;max-width:860px;height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.4);overflow:hidden}
.fp-viewer-head{background:var(--navy);color:#fff;padding:14px 20px;display:flex;align-items:center;gap:14px;flex-shrink:0}
.fp-viewer-head h4{flex:1;font-size:15px;margin:0;font-weight:700}
.fp-viewer-close{background:transparent;border:none;color:rgba(255,255,255,.75);font-size:22px;cursor:pointer;padding:2px 6px;line-height:1}
.fp-viewer-close:hover{color:#fff}
.fp-viewer-frame{flex:1;border:none;display:block}
.fp-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-4px 0 16px}
.fp-editor-open{height:38px;padding:0 16px;border:0;border-radius:7px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit}
.fp-editor-open:hover{background:var(--mid)}
.fp-load-status{font-size:12px;color:var(--sub);margin-right:auto}
.fp-policy-actions .fp-btn-edit{height:36px;padding:0 12px;background:#fff;border:1.5px solid #b07a00;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;color:#8a5f00;font-family:inherit;white-space:nowrap}
.fp-policy-actions .fp-btn-edit:hover{background:#fff8e6}
.fp-empty{padding:32px 18px;text-align:center;border:1.5px dashed var(--border);border-radius:var(--r);color:var(--sub);font-size:13px}
.fp-editor-overlay{display:none;position:fixed;inset:0;background:rgba(10,20,50,.72);z-index:520;align-items:center;justify-content:center;padding:18px}
.fp-editor-overlay.open{display:flex}
.fp-editor-sheet{background:#fff;border-radius:var(--r);width:min(820px,96vw);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 22px 70px rgba(0,0,0,.42)}
.fp-editor-head{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--navy);color:#fff;flex-shrink:0}
.fp-editor-head h4{font-size:16px;margin:0;flex:1}
.fp-editor-close{border:0;background:transparent;color:rgba(255,255,255,.78);font-size:22px;cursor:pointer;padding:2px 6px}
.fp-editor-form{overflow:auto;padding:20px;display:flex;flex-direction:column;gap:16px}
.fp-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fp-editor-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.fp-editor-field.fp-wide{grid-column:1/-1}
.fp-editor-field>label,.fp-editor-label{font-size:10px;text-transform:uppercase;letter-spacing:.55px;font-weight:800;color:var(--sub)}
.fp-editor-field input,.fp-editor-field textarea,.fp-editor-field select{width:100%;border:1.5px solid var(--border);border-radius:7px;padding:9px 10px;font:inherit;font-size:13px;color:var(--navy);background:#fff}
.fp-editor-field textarea{min-height:92px;resize:vertical;line-height:1.5}
.fp-editor-field input:focus,.fp-editor-field textarea:focus,.fp-editor-field select:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(43,76,126,.12)}
.fp-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px;padding:11px;border:1.5px solid var(--border);border-radius:7px}
.fp-team-grid label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--navy);cursor:pointer}
.fp-team-grid input{width:15px;height:15px;accent-color:var(--navy)}
.fp-detail-list{display:flex;flex-direction:column;gap:8px}
.fp-detail-row{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(180px,1.5fr) 34px;gap:8px;align-items:center}
.fp-detail-row input{border:1.5px solid var(--border);border-radius:7px;padding:9px 10px;font:inherit;font-size:12px;color:var(--navy)}
.fp-detail-remove{height:34px;border:0;border-radius:6px;background:#fbe9e7;color:#a92b20;font-weight:800;cursor:pointer}
.fp-detail-add{align-self:flex-start;border:1.5px dashed var(--mid);border-radius:6px;background:#fff;color:var(--navy);font-size:12px;font-weight:700;padding:7px 11px;cursor:pointer}
.fp-file-current{font-size:12px;color:var(--sub);line-height:1.5}
.fp-file-remove{display:flex;align-items:center;gap:7px;font-size:12px;color:#8f2f27;text-transform:none;letter-spacing:0;font-weight:600;margin-top:3px}
.fp-file-remove input{width:15px;height:15px}
.fp-editor-status{min-height:18px;font-size:12px;color:var(--sub)}
.fp-editor-status.err{color:#a92b20}.fp-editor-status.ok{color:#18723d}
.fp-editor-actions{display:flex;align-items:center;gap:9px;padding:14px 20px;border-top:1px solid var(--border);background:#fafbfc;flex-shrink:0}
.fp-editor-actions button{height:38px;padding:0 15px;border-radius:7px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.fp-editor-delete{border:1.5px solid #b73228;background:#fff;color:#a92b20;margin-right:auto}
.fp-editor-cancel{border:1.5px solid var(--border);background:#fff;color:var(--sub)}
.fp-editor-save{border:0;background:var(--navy);color:#fff}
.fp-editor-actions button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:599px){.fp-policy-head{flex-direction:column;align-items:flex-start;gap:10px}.fp-policy-actions{width:100%}.fp-btn-dl,.fp-btn-view{flex:1;text-align:center}}
@media(max-width:699px){.fp-editor-grid{grid-template-columns:1fr}.fp-editor-field.fp-wide{grid-column:auto}.fp-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-detail-row{grid-template-columns:1fr 34px}.fp-detail-row input:nth-child(2){grid-column:1/2}.fp-detail-remove{grid-column:2;grid-row:1/3;height:100%}}
/* QR */
.qr-card{background:#fff;border:1.5px solid var(--border);padding:22px 20px}
.qr-header-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
@media(max-width:560px){.qr-header-grid{grid-template-columns:1fr}}
.qr-qpill{height:40px;padding:0 16px;border:1.5px solid var(--border);border-radius:6px;background:#fff;font-weight:700;font-size:13px;cursor:pointer;color:var(--navy);font-family:inherit;transition:all .12s}
.qr-qpill.sel-q{background:var(--navy);color:#fff;border-color:var(--navy)}
.qr-section-label{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#6b7a99;margin:22px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--light)}
.qr-tbl-wrap{overflow-x:auto;border:1.5px solid var(--border);border-radius:8px;margin-bottom:4px}
.qr-tbl{width:100%;border-collapse:collapse;font-size:13px}
.qr-tbl thead th{background:var(--mid);color:#fff;padding:0 10px;height:38px;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.qr-tbl tbody tr:nth-child(even){background:var(--accent)}.qr-tbl tbody tr:hover{background:#dde8f8}
.qr-tbl td{padding:6px 8px;border-bottom:1px solid #e8edf8;vertical-align:middle}
.qr-tbl td:first-child{font-size:11px;color:#aaa;font-weight:700;width:28px;text-align:center}
.qr-tbl td.qr-cn{font-weight:600;color:var(--navy);min-width:110px}
.qr-tbl td.qr-pos{font-size:11px;color:var(--sub);min-width:120px;white-space:nowrap}
.qr-inp{height:32px;padding:0 8px;border:1.5px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;width:100%;min-width:70px;background:#fff;color:#1a1a1a}
.qr-inp:focus{outline:none;border-color:var(--mid)}
.qr-other-client-tbl th.qr-client-name-col,.qr-other-client-tbl td.qr-cn{width:110px;min-width:110px}
.qr-other-client-tbl td.qr-contrib-cell{width:100%;vertical-align:top}
.qr-grow-ta{display:block;height:32px;min-height:32px;line-height:1.35;padding-top:7px;padding-bottom:7px;resize:none;overflow:hidden}
.qr-sel{height:32px;padding:0 6px;border:1.5px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;background:#fff;color:#1a1a1a;min-width:64px;cursor:pointer;-webkit-appearance:none}
.qr-sel:focus{outline:none;border-color:var(--mid)}
.qr-add-row-btn{margin-top:8px;background:transparent;border:1.5px dashed var(--border);border-radius:6px;padding:7px 14px;font-size:12px;font-weight:700;color:var(--mid);cursor:pointer;width:100%;text-align:center;font-family:inherit;transition:all .12s}
.qr-add-row-btn:hover{border-color:var(--mid);background:var(--accent)}
.qr-del-btn{background:transparent;border:none;color:#c0392b;font-size:15px;cursor:pointer;padding:2px 5px;line-height:1;border-radius:4px;opacity:.65}
.qr-del-btn:hover{opacity:1}
.qr-pos-pri{color:#145a32;font-weight:700}.qr-pos-sec{color:#5a3e8a;font-weight:600}
.qr-notes-ta{width:100%;border:1.5px solid var(--border);border-radius:6px;padding:10px 12px;font-size:13px;font-family:inherit;resize:none;min-height:70px;line-height:1.5;color:#1a1a1a;overflow:hidden}
.qr-notes-ta:focus{outline:none;border-color:var(--mid)}
/* Carried over from the previous quarter's review (qrApplyCarry). The tint
   comes off a field the moment it is edited, so what is left highlighted is
   what nobody has looked at yet. */
.qr-inp.qr-carried,.qr-sel.qr-carried,.qr-notes-ta.qr-carried{background:#fdf6dc;border-color:#e2c96a}
.qr-carry-note{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 18px;background:#fdf6dc;border:1px solid var(--border);border-top:none;border-left:4px solid #e2c96a;color:#3d3313;font-size:13px;line-height:1.5}
.qr-carry-note b{font-weight:800}
.qr-carry-text{flex:1 1 320px;min-width:0}
.qr-carry-sub{margin-top:4px;font-size:12px;color:#6b5d2e}
.qr-carry-blank{flex:0 0 auto;background:#fff;border:1.5px solid #e2c96a;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;color:#3d3313;cursor:pointer;font-family:inherit}
.qr-carry-blank:hover{background:#fff9e6}
.qr-action-bar{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.qr-btn{height:44px;padding:0 20px;border:none;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:7px;transition:background .12s}
.qr-btn-email{background:var(--gold);color:var(--navy)}.qr-btn-email:hover{background:var(--golddark);color:#fff}
.qr-btn-email:disabled,.qr-btn:disabled{opacity:.45;cursor:not-allowed}
.qr-placeholder{text-align:center;padding:44px 20px;color:#aaa;font-size:13px;font-style:italic;background:#fff;border:1.5px solid var(--border);border-radius:0 0 var(--r) var(--r)}
.qr-rev-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.qr-rev-label{font-size:12px;font-weight:700;color:var(--sub);white-space:nowrap}
.qr-rev-input{height:40px;padding:0 12px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-weight:700;font-family:inherit;color:var(--navy);width:160px}
/* Two multipliers, shown as text (owner ask 2026-10-16) */
.qr-rev-row{gap:10px 28px}
.qr-rev-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qr-rev-asof{font-weight:600}
output.qr-rev-input{display:inline-flex;align-items:center;background:#f8fafc}
/* My Review / Team Review tabs — same look as the Expense Report tabs */
#page-qr .qr-tabs{display:flex;gap:8px;padding:14px 0 12px}
#page-qr .qr-tab{height:38px;padding:0 16px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:var(--mid);font-size:12.5px;font-weight:800;cursor:pointer;font-family:inherit}
#page-qr .qr-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
#page-qr .qr-tab:not(.active):hover{background:var(--accent)}
/* A closed quarter, shown exactly as filed */
.qrf-note{border-left-color:#7d93b8;background:#eef3fb;color:#1f2f4d}
.qrf-card{border:1px solid var(--border);border-top:none;border-bottom:none;border-radius:0}
.qrf-last{border-bottom:1px solid var(--border);border-radius:0 0 var(--r) var(--r)}
.qrf-rev{display:flex;gap:10px 28px;flex-wrap:wrap;font-size:13px;color:var(--navy)}
.qrf-rev b{color:var(--sub);font-weight:700}
.qrf-val{white-space:pre-wrap;overflow-wrap:anywhere}
.qrf-text{font-size:13px;line-height:1.55;color:#1a1a1a}
.qrf-blank{color:#9aa3b5;font-style:italic}
.qrf-tbl td{vertical-align:top}
/* Team Review */
.qrt-intro{font-size:12.5px;color:var(--sub);margin:0 0 12px;line-height:1.5}
.qrt-bulk{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:12px;font-weight:700;color:var(--sub)}
.qrt-bulk label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.qrt-bulk input{height:34px;padding:0 8px;border:1.5px solid var(--border);border-radius:6px;font-family:inherit;color:var(--navy)}
.qrt-bulk .qrt-bulk-btn{margin:0;width:auto;height:34px;padding:0 14px}
.qrt-msg:empty{display:none}
.qrt-msg{font-size:12.5px;padding:8px 12px;border-radius:6px;margin-bottom:10px;background:#eef3fb;color:#1f2f4d}
.qrt-msg-warn{background:#fdf6dc;color:#3d3313}
.qrt-msg-err{background:#fdecec;color:#7a1f1f}
.qrt-msg-ok{background:#e8f6ee;color:#1d5a36}
.qrt-tbl tbody tr:nth-child(even){background:transparent}
.qrt-tbl td:first-child{font-size:13px;color:var(--navy);font-weight:600;width:auto;text-align:left}
.qrt-tbl .qr-inp{width:100%;min-width:96px}
.qrt-tbl .qrt-asof{min-width:140px}
.qrt-tbl tr.qrt-grp td{background:var(--light);color:#6b7a99;font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:6px 10px}
.qrt-tbl tr.qrt-dirty td{background:#fdf6dc}
.qrt-tbl tr.qrt-bad td{background:#fdecec}
.qrt-tbl td.qrt-err{color:#9b1c1c;font-size:12px;font-weight:600;text-align:left;padding-top:0}
.qrt-changed{font-size:12px;color:var(--sub);white-space:nowrap}
.qrt-by{font-size:11px;color:#9aa3b5}
.qrt-empty{text-align:center!important;color:#9aa3b5!important;font-style:italic;padding:18px!important;width:auto!important}
.qrt-actions{align-items:center;justify-content:flex-end}
.qrt-status{font-size:12.5px;color:var(--sub);font-weight:600}
/* CI */
.ci-card{background:#fff;border:1px solid var(--border);border-radius:0 0 var(--r) var(--r);padding:24px 20px 28px}
.ci-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.ci-grid{grid-template-columns:1fr}}
.ci-field{display:flex;flex-direction:column;gap:5px}.ci-field.full{grid-column:1/-1}
.ci-field label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#4a5568}
.ci-field input,.ci-field textarea{border:1.5px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px;color:#1a1a1a;font-family:inherit;background:#fff;-webkit-appearance:none;transition:border-color .15s;width:100%}
.ci-field input:focus,.ci-field textarea:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.ci-field textarea{resize:vertical;line-height:1.5;height:88px}
.ci-sel-wrap{position:relative}
.ci-sel-wrap select{height:44px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;color:#1a1a1a;background:#fff;-webkit-appearance:none;cursor:pointer;font-family:inherit;width:100%;padding:0 34px 0 12px;transition:border-color .15s}
.ci-sel-wrap select:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.ci-ext-input{display:none;margin-top:8px}
.ci-ext-input.visible{display:block}
.ci-evp-display{background:var(--navy);color:#fff;border-radius:6px;padding:11px 14px;font-size:14px;font-weight:700;min-height:44px;display:flex;align-items:center;gap:8px}
.ci-divider{grid-column:1/-1;border:none;border-top:1.5px solid var(--light);margin:4px 0}
.ci-conflict-banner{grid-column:1/-1;background:#fff8e6;border:1.5px solid #e5c44a;border-radius:8px;padding:11px 14px;font-size:12px;color:#7a5500;line-height:1.5;display:flex;align-items:flex-start;gap:8px}
.ci-conflict-banner b{display:block;font-size:11px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:2px}
.ci-conflict-ta{height:110px!important}
.ci-bottom-bar{display:flex;align-items:center;justify-content:space-between;margin-top:22px;flex-wrap:wrap;gap:12px}
.ci-save-status{font-size:12px;color:var(--lp);font-weight:600;opacity:0;transition:opacity .3s}
.ci-save-status.visible{opacity:1}
.ci-btn-submit{height:50px;padding:0 32px;background:var(--navy);border:none;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;color:#fff;font-family:inherit;transition:background .15s}
.ci-btn-submit:hover{background:var(--mid)}.ci-btn-submit:disabled{background:#b0bfd4;cursor:not-allowed}
.ci-btn-clear{height:50px;padding:0 20px;background:transparent;border:1.5px solid var(--border);border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;color:var(--sub);font-family:inherit}
.ci-btn-clear:hover{background:#fff0f0;border-color:#e0a0a0;color:var(--danger)}
/* The conflict check is a tick-box on the intake, not a rival button. Two
   submit buttons meant clicking either one cleared the form out from under
   the other, so only one of the pair could ever be sent. */
.ci-check-card{grid-column:1/-1;background:#fffdf3;border:2px solid var(--gold);border-radius:8px}
.ci-check-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;cursor:pointer;margin:0}
.ci-check-row input[type=checkbox]{width:19px;height:19px;margin:1px 0 0;flex-shrink:0;accent-color:var(--navy);cursor:pointer}
.ci-check-text b{display:block;font-size:13.5px;font-weight:800;color:var(--navy);margin-bottom:3px}
.ci-check-text em{display:block;font-style:normal;font-size:12px;color:#7a5500;line-height:1.5}
/* Submit confirmation — centred, and it names exactly what is about to go out */
#ci-confirm-ov{display:none;position:fixed;inset:0;z-index:10000;background:rgba(10,20,45,.55);backdrop-filter:blur(3px);align-items:center;justify-content:center;padding:20px}
#ci-confirm-ov.open{display:flex}
.ci-confirm-box{background:#fff;border-radius:14px;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:ciConfirmIn .16s ease-out}
@keyframes ciConfirmIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.ci-confirm-head{background:var(--navy);color:#fff;padding:18px 24px}
.ci-confirm-head .k{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#9ab0cc;font-weight:700}
.ci-confirm-head h3{margin:4px 0 0;font-size:19px;font-weight:800;letter-spacing:-.2px}
.ci-confirm-body{padding:20px 24px 2px}
.ci-confirm-lead{font-size:13px;color:var(--sub);line-height:1.55;margin:0 0 14px}
.ci-confirm-lead b{color:var(--navy)}
.ci-cf-item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--light)}
.ci-cf-item:first-child{border-top:none}
.ci-cf-item.off{opacity:.5}
.ci-cf-ico{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;background:var(--accent)}
.ci-cf-item.on .ci-cf-ico{background:#eaf1ff}
.ci-cf-t{font-size:13.5px;font-weight:800;color:var(--navy);margin-bottom:2px}
.ci-cf-d{font-size:12px;color:var(--sub);line-height:1.5}
.ci-confirm-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;flex-wrap:wrap}
.ci-cf-cancel{height:44px;padding:0 20px;background:#fff;border:1.5px solid var(--border);border-radius:8px;font-weight:700;font-size:14px;color:var(--sub);cursor:pointer;font-family:inherit}
.ci-cf-cancel:hover{background:var(--accent)}
.ci-cf-go{height:44px;padding:0 26px;background:var(--navy);border:none;border-radius:8px;font-weight:800;font-size:14px;color:#fff;cursor:pointer;font-family:inherit}
.ci-cf-go:hover{background:var(--mid)}
.ci-cf-go:disabled{background:#b0bfd4;cursor:not-allowed}
.ci-survey-panel{background:var(--accent);border:1.5px solid var(--border);border-radius:var(--r);padding:16px 20px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ci-survey-panel-text{flex:1;min-width:200px}
.ci-survey-panel-text strong{display:block;font-size:13px;color:var(--navy);margin-bottom:3px}
.ci-survey-panel-text span{font-size:12px;color:var(--sub);line-height:1.5}
.ci-survey-btns{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
.ci-btn-survey-dl{height:40px;padding:0 16px;background:var(--navy);border:none;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;color:#fff;font-family:inherit;transition:background .15s;white-space:nowrap}
.ci-btn-survey-dl:hover{background:var(--mid)}
.ci-btn-survey-email{height:40px;padding:0 16px;background:transparent;border:2px solid var(--navy);border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;color:var(--navy);font-family:inherit;transition:all .15s;white-space:nowrap}
.ci-btn-survey-email:hover{background:var(--navy);color:#fff}
/* ── Expense report side whitespace ─────────────────────────── */
#page-er{padding-left:20px;padding-right:20px}
#page-er>.section-head{margin-left:-20px;margin-right:-20px}
/* ── ER tabs (Submit Expense | My Monthly Statement) ── */
#page-er .er-tabs{display:flex;gap:8px;padding:14px 0 0}
#page-er .er-tab{height:38px;padding:0 16px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:var(--mid);font-size:12.5px;font-weight:800;cursor:pointer;font-family:inherit}
#page-er .er-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
#page-er .er-tab:not(.active):hover{background:var(--accent)}
/* ── My Monthly Statement ── */
.ms-intro h3{font-size:16px;color:var(--navy);margin:0 0 6px}
.ms-intro p{font-size:12.5px;color:var(--sub);line-height:1.6;margin:0 0 16px;max-width:640px}
.ms-list{display:flex;flex-direction:column;gap:8px}
.ms-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--border);border-radius:10px;background:#fbfcff;padding:10px 14px}
.ms-row-file{flex:1;min-width:160px;font-size:12px;color:#374151;overflow-wrap:anywhere}
.ms-row-meta{font-size:11px;color:var(--sub);white-space:nowrap}
.ms-row-rev{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;background:#e7f6ec;color:#15803d;font-size:10px;font-weight:800}
.ms-btn{height:30px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--mid);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.ms-btn:hover{border-color:var(--mid)}
.ms-btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}
.ms-btn-primary:hover{background:var(--mid)}
.ms-btn-send{background:#15803d;border-color:#15803d;color:#fff;margin-left:auto}
.ms-btn-send:hover{background:#116932;border-color:#116932}
.ms-btn-sent,.ms-btn-sent:hover{background:#e7f5ec;border-color:#9fd3b0;color:#15803d;margin-left:auto;cursor:default}
.ms-empty{padding:26px 14px;text-align:center;color:var(--sub);font-size:13px;border:1.5px dashed var(--border);border-radius:10px}
.ms-status{font-size:12px;font-weight:700;min-height:18px;margin-top:8px}
.ms-status.ok{color:#15803d}.ms-status.err{color:var(--danger)}
/* Admin post panel */
.ms-admin{border:1.5px solid #e5c44a;background:#fffbea;border-radius:10px;padding:14px;margin-bottom:18px}
.ms-admin-title{font-size:12.5px;font-weight:800;color:#7a5500;margin-bottom:10px}
.ms-admin-title span{font-weight:600;color:#a07c1f;font-size:11px}
.ms-admin-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.ms-admin-month-lbl{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#7a5500}
.ms-admin-month-lbl input{height:34px;border:1.5px solid var(--border);border-radius:8px;padding:0 8px;font-family:inherit;font-size:12.5px;background:#fff}
#ms-admin-search-combobox{width:240px;flex:0 0 auto}
.ms-admin-table-wrap{overflow-x:auto}
.ms-admin-table{width:100%;border-collapse:collapse;font-size:12.5px}
.ms-admin-table th{text-align:left;padding:8px 10px;font-size:11px;font-weight:800;color:#7a5500;text-transform:uppercase;letter-spacing:.3px;border-bottom:1.5px solid #e8d89a}
.ms-admin-table td{text-align:left;padding:10px;vertical-align:top;border-bottom:1px dashed #e8d89a}
.ms-admin-stmt-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ms-btn-danger{border-color:#e57373;color:var(--danger)}
.ms-btn-danger:hover{background:#fde8e8;border-color:var(--danger)}
.ms-admin-history{margin-top:8px}
.ms-admin-history summary{cursor:pointer;font-size:11.5px;font-weight:700;color:var(--mid);list-style-position:inside}
.ms-admin-history summary:hover{color:var(--navy)}
.ms-admin-history-body{margin-top:6px;display:flex;flex-direction:column;gap:6px}
.ms-admin-history-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;background:#fff;border:1px solid var(--border);border-radius:8px}
/* Superseded copies sit indented under the live file they were replaced by. */
.ms-admin-history-prev{margin-left:18px;background:#f7f9fc;border-style:dashed}
/* Month group: statement row + auto-captured expenses */
.ms-month{display:flex;flex-direction:column;gap:0}
.ms-month .ms-row{border-radius:10px 10px 0 0;border-bottom:none}
.ms-row-pending{font-size:12px;color:#8a5a00;background:#fff7e0;border-radius:8px;padding:3px 10px;display:inline-block}
.ms-receipts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--border);border-top:1px dashed #e3e8f0;background:#f7f9fc;padding:8px 14px}
.ms-month:has(.ms-exp) .ms-receipts{border-bottom:none}
.ms-month>.ms-receipts:last-child{border-radius:0 0 10px 10px}
.ms-receipts-none{font-size:11px;color:var(--sub)}
.ms-receipt-select{height:30px;max-width:280px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--mid);font-size:12px;font-weight:600;padding:0 8px;font-family:inherit;cursor:pointer}
.ms-receipt-select:hover{border-color:var(--mid)}
.ms-exp{border:1px solid var(--border);border-radius:0 0 10px 10px;background:#fff;padding:0}
.ms-exp summary{cursor:pointer;padding:8px 14px;font-size:12px;font-weight:700;color:var(--mid);list-style-position:inside}
.ms-exp summary:hover{background:var(--accent)}
.ms-exp-list{padding:4px 14px 10px;display:flex;flex-direction:column;gap:4px}
.ms-exp-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#374151;border-top:1px dashed #eef1f5;padding-top:4px}
.ms-exp-date{flex:0 0 84px;color:var(--sub)}
.ms-exp-vendor{flex:1;min-width:160px}
.ms-exp-type{flex:0 0 auto;font-size:10px;font-weight:800;color:#1f4e79;background:#e8f1fb;border-radius:8px;padding:1px 7px}
.ms-exp-status{font-size:10px;font-weight:800;border-radius:8px;padding:1px 7px;background:#fff7e0;color:#8a5a00;text-transform:capitalize}
.ms-exp-status.ok{background:#e7f6ec;color:#15803d}
.ms-exp-status.err{background:#fde8e8;color:#b91c1c}
.ms-exp-amt{margin-left:auto;font-weight:800;color:var(--navy);white-space:nowrap}
/* ── My Expenses (every submitted expense line, one table) ── */
.mx-viewer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1.5px solid #e5c44a;background:#fffbea;border-radius:10px;padding:10px 14px;margin-bottom:14px}
.mx-viewer label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#7a5500}
.mx-viewer .sel-inner{width:240px;flex:0 0 auto}
.mx-viewer-note{font-size:11px;color:#a07c1f;flex:1;min-width:180px}
.mx-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px}
.mx-tile{border:1px solid var(--border);border-radius:10px;background:#fbfcff;padding:10px 12px}
.mx-tile-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--sub)}
.mx-tile-val{font-size:17px;font-weight:800;color:var(--navy);margin-top:3px;letter-spacing:-.3px}
.mx-tile-sub{font-size:11px;color:var(--sub);margin-top:1px}
.mx-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.mx-filters .mx-sel{width:auto;min-width:170px;flex:0 0 auto}
.mx-search{height:34px;flex:1;min-width:200px;border:1.5px solid var(--border);border-radius:8px;padding:0 10px;font-family:inherit;font-size:12.5px;background:#fff;color:var(--mid)}
.mx-search:focus{outline:none;border-color:var(--navy)}
.mx-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:#fff}
.mx-table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:auto}
.mx-table th{text-align:left;padding:9px 8px;font-size:10px;font-weight:800;color:var(--sub);text-transform:uppercase;letter-spacing:.4px;background:#f4f7fb;border-bottom:1.5px solid var(--border);white-space:nowrap}
.mx-table th.mx-num,.mx-table td.mx-num{text-align:right}
.mx-table td{padding:9px 8px;vertical-align:top;border-bottom:1px solid #eef1f5;color:#374151}
.mx-table tbody tr.mx-row{cursor:pointer}
.mx-table tbody tr.mx-row:hover{background:var(--accent)}
.mx-table tbody tr.mx-row.open{background:#eef4fc}
.mx-date{white-space:nowrap;color:var(--mid);font-weight:700}
.mx-table td.mx-vendor{font-weight:700;color:var(--navy);overflow-wrap:anywhere;min-width:104px}
.mx-table td.mx-purpose{color:#4b5563;overflow-wrap:anywhere;min-width:120px;max-width:260px}
.mx-attendees{display:block;font-size:11px;color:var(--sub);margin-top:2px}
.mx-amt{white-space:nowrap;font-weight:800;color:var(--navy)}
.mx-table td.mx-period{font-size:11.5px;color:var(--sub);width:104px;min-width:92px}
.mx-pill{display:inline-block;font-size:10px;font-weight:800;padding:2px 8px;border-radius:10px;letter-spacing:.3px;white-space:nowrap}
.mx-pill-cc{background:#e8f1fb;color:#1f4e79}
.mx-pill-reimb{background:#f3e8fb;color:#6a1b9a}
.mx-pill-cat{background:#f1f5f9;color:#475569;white-space:normal;line-height:1.35}
.mx-pill-pending{background:#fff7e0;color:#8a5a00}
.mx-pill-approved{background:#e7f6ec;color:#15803d}
.mx-pill-denied{background:#fde8e8;color:#b91c1c}
.mx-pill-deleted{background:#f1f5f9;color:#64748b}
.mx-pill-client{background:#e7f6ec;color:#15803d;white-space:normal;line-height:1.35}
.mx-none{color:#9aa5b1}
.mx-table th.mx-rcpt-cell,.mx-table td.mx-rcpt-cell{width:96px;min-width:88px}
.mx-rcpts{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.mx-rcpt{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:7px;background:#f7f9fc;overflow:hidden;text-decoration:none;font-size:13px;flex:0 0 auto}
.mx-rcpt:hover{border-color:var(--navy)}
.mx-rcpt img{width:100%;height:100%;object-fit:cover;display:block}
.mx-rcpt-file{font-size:9px;font-weight:800;color:var(--mid);text-transform:uppercase;letter-spacing:.2px}
/* The thumbnail above opens a receipt; these save it. Separate controls
   because reviewing and filing are separate jobs. */
.mx-rcpt-dls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}
.mx-rcpt-dl{font-size:10px;font-weight:800;color:var(--navy);text-decoration:none;white-space:nowrap;letter-spacing:.2px}
.mx-rcpt-dl:hover{text-decoration:underline}
/* Report-level totals, used where a whole expense report is shown at once
   (the Operations Dashboard's expanded row). My Expenses has no tfoot. */
.mx-table tfoot td{padding:7px 8px;border-top:1px solid var(--border);font-size:11px;font-weight:700;color:var(--sub);background:#f9fbfd}
.mx-table tfoot tr.mx-foot-grand td{font-size:12.5px;font-weight:800;color:var(--navy);border-top:1.5px solid var(--border)}
/* ── One expense's full answer sheet (Operations Dashboard) ──
   Every question the Submit Expense form asks, blanks included. Hidden until
   the expense row is clicked — see opsLineToggle in staff-portal.js. */
.mx-table tbody tr.ops-eline{cursor:pointer}
.mx-table tbody tr.ops-eline:hover{background:var(--accent)}
.mx-table tbody tr.ops-eline.open{background:#eef4fc}
.mx-table tbody tr.ops-eline-detail{display:none}
.mx-table tbody tr.ops-eline-detail.open{display:table-row}
.mx-table tbody tr.ops-eline-detail>td{background:#f7f9fc;border-bottom:1px solid var(--border);padding:0}
.ops-eq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 18px;padding:13px 15px}
.ops-eq{display:flex;flex-direction:column;gap:2px;min-width:0}
.ops-eq.full{grid-column:1/-1}
.ops-eq-lbl{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--sub)}
.ops-eq-req{font-size:8.5px;font-weight:800;letter-spacing:.3px;padding:1px 5px;border-radius:8px;background:#e8f1fb;color:#1f4e79;text-transform:uppercase}
.ops-eq-val{font-size:12.5px;color:#374151;white-space:pre-wrap;overflow-wrap:anywhere}
.ops-eq-blank{color:#9aa5b1;font-style:italic}
.ops-eq-warn{color:#b45309;font-style:italic}
.ops-entries-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--sub);font-size:11px}
/* ── Receipts on the Operations Dashboard's main row ──
   The Hours column becomes Receipts on the Expense Reports filter: the first
   few attachments open on click, ⤓ All zips the whole report. */
.ops-rowrcpt-cell{white-space:normal!important;min-width:150px}
.ops-rowrcpts{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ops-rowrcpts .mx-rcpt{width:26px;height:26px;border-radius:6px}
.ops-rowrcpt-more,.ops-rowrcpt-dl{height:26px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:#fff;font-family:inherit;font-size:10.5px;font-weight:800;color:var(--navy);cursor:pointer;white-space:nowrap;letter-spacing:.2px}
.ops-rowrcpt-more:hover,.ops-rowrcpt-dl:hover{background:var(--accent);border-color:var(--navy)}
.ops-rowrcpt-dl:disabled{opacity:.55;cursor:default}
.ops-rowrcpt-none{font-size:11px;font-style:italic;color:#b45309}
.ops-rowrcpt-gap{font-size:10px;font-weight:700;color:#b45309;margin-top:3px}
/* Approved archive toolbar row */
.ops-approved-inp{height:32px;padding:0 8px;border:1.5px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit;color:var(--navy);background:#fff}
.ops-approved-inp:focus{outline:none;border-color:var(--navy)}
.ops-approved-note{font-size:11.5px;color:var(--sub);font-weight:700}
.ops-approved-note .ops-approved-warn{color:#b45309}
.mx-noreceipt{font-size:11px;color:var(--sub);font-style:italic;overflow-wrap:anywhere}
.mx-more{display:inline;padding:0;margin:0;border:0;background:none;font-family:inherit;font-size:11px;font-weight:800;font-style:normal;color:var(--navy);cursor:pointer;text-decoration:underline;white-space:nowrap}
.mx-more:hover{color:var(--mid)}
.mx-caret{display:inline-block;width:12px;color:var(--sub);font-size:9px}
.mx-detail-row>td{background:#f7f9fc;border-bottom:1px solid var(--border);padding:0}
.mx-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px 18px;padding:12px 14px}
.mx-detail-f{display:flex;flex-direction:column;gap:2px}
.mx-detail-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--sub)}
.mx-detail-val{font-size:12.5px;color:#374151;white-space:pre-wrap;overflow-wrap:anywhere}
.mx-detail-f.full{grid-column:1/-1}
.mx-detail-actions{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}
/* ── Editing one expense line in place ── */
.mx-edit{padding:14px}
.mx-edit-warn{margin:0 0 12px;padding:8px 10px;border-radius:8px;background:#fff7e0;border:1px solid #e5c44a;color:#7a5500;font-size:11.5px;line-height:1.5}
.mx-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px}
.mx-edit-f{display:flex;flex-direction:column;gap:3px}
.mx-edit-f.full{grid-column:1/-1}
.mx-edit-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--sub)}
.mx-edit input[type=text],.mx-edit input[type=date],.mx-edit select,.mx-edit textarea{width:100%;min-height:34px;border:1.5px solid var(--border);border-radius:8px;padding:6px 9px;font-family:inherit;font-size:12.5px;background:#fff;color:#1f2937;box-sizing:border-box}
.mx-edit textarea{resize:vertical;line-height:1.5}
.mx-edit input:focus,.mx-edit select:focus,.mx-edit textarea:focus{outline:none;border-color:var(--navy)}
.mx-edit select:disabled{background:#f1f5f9;color:#94a3b8}
.mx-edit-bill{display:flex;align-items:center;gap:10px}
.mx-edit-bill input[type=checkbox]{width:17px;height:17px;flex:0 0 auto;accent-color:var(--navy);-webkit-appearance:checkbox;appearance:auto;cursor:pointer}
.mx-edit-rcpts{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}
.mx-edit-rcpt-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:36px}
.mx-edit-rcpt{position:relative;display:inline-flex;flex:0 0 auto}
.mx-rcpt-x{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--danger);font-size:13px;font-weight:800;line-height:1;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center}
.mx-rcpt-x:hover{background:var(--danger);color:#fff;border-color:var(--danger)}
.mx-edit-none{font-size:11.5px;color:var(--sub);font-style:italic}
.mx-edit-rcpt-add{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.mx-edit-hint{font-size:11px;color:var(--sub)}
.mx-edit-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}
.mx-edit-status{flex:1;min-width:140px;font-size:11.5px;font-weight:700;color:var(--sub)}
.mx-edit-status.ok{color:#15803d}
.mx-edit-status.err{color:var(--danger)}
.mx-note{font-size:11.5px;color:var(--sub);margin:10px 0 0}
@media(max-width:600px){.mx-viewer .sel-inner{width:100%}.mx-search{min-width:100%}.mx-filters .mx-sel{min-width:100%;width:100%}}
#page-er .er-hdr{border-top:1px solid var(--border);margin-top:16px;border-radius:var(--r) var(--r) 0 0}
#page-er .er-import-banner{border-radius:0 0 var(--r) var(--r)}
@media(max-width:600px){#page-er{padding-left:12px;padding-right:12px}#page-er>.section-head{margin-left:-12px;margin-right:-12px}}
/* ── My Monthly Statement: in-browser edit modal ── */
.ms-edit-overlay{display:none;position:fixed;inset:0;z-index:9700;background:rgba(10,31,60,.55);align-items:center;justify-content:center;padding:20px}
.ms-edit-overlay.open{display:flex}
.ms-edit-panel{width:96vw;max-width:1360px;max-height:92vh;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}
.ms-edit-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.ms-edit-head h3{font-size:16px;color:var(--navy);margin:0}
.ms-edit-head p{font-size:12px;color:var(--sub);margin:2px 0 0}
.ms-edit-head .ms-edit-head-save{width:auto;height:36px;margin:0;padding:0 18px;background:var(--navy);color:#fff;font-size:12.5px;line-height:1;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ms-edit-head .ms-edit-head-save:hover{background:var(--mid)}
.ms-edit-body{flex:1;overflow:auto;padding:16px 20px}
.ms-edit-body .ms-edit-loading{padding:40px;text-align:center;color:var(--sub);font-size:13px}
#ms-edit-overlay,
#ms-edit-overlay .ms-edit-panel,
#ms-edit-overlay .ms-edit-body{color:#1a1a1a;color-scheme:light}
#ms-edit-grid,
#ms-edit-grid .jexcel_container,
#ms-edit-grid .jexcel_content,
#ms-edit-grid table.jexcel{color:#1a1a1a!important;background:#fff!important}
#ms-edit-grid .jexcel > thead > tr > td,
#ms-edit-grid .jexcel > tbody > tr > td:first-child{
  color:var(--navy)!important;
  -webkit-text-fill-color:var(--navy)!important;
  background:#f3f4f6!important;
  text-shadow:none!important;
}
#ms-edit-grid .jexcel > tbody > tr > td:not(:first-child){
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  background-color:#fff;
  text-shadow:none!important;
}
#ms-edit-grid .jexcel > tbody > tr:nth-child(even) > td:not(:first-child){background-color:#eef3fb}
#ms-edit-grid .jexcel > tbody > tr > td *,
#ms-edit-grid .jexcel > tbody > tr > td > input,
#ms-edit-grid .jexcel > tbody > tr > td > select,
#ms-edit-grid .jexcel > tbody > tr > td > textarea,
#ms-edit-grid .jexcel .editor,
#ms-edit-grid .jexcel .editor input,
#ms-edit-overlay .jexcel_textarea{
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  caret-color:#111827;
  text-shadow:none!important;
}
#ms-edit-grid .jexcel > tbody > tr > td > input,
#ms-edit-grid .jexcel > tbody > tr > td > select,
#ms-edit-grid .jexcel > tbody > tr > td > textarea,
#ms-edit-grid .jexcel .editor input{background:#fff!important}
#ms-edit-grid .jexcel_content{border:1px solid var(--border);border-radius:8px;box-shadow:inset 0 0 0 1px #eef2f7;background:#fff}
#ms-edit-grid .jexcel > tbody > tr > td{font-size:13px!important;line-height:1.35!important;padding:6px 8px!important;vertical-align:middle!important;border-color:#dbe3ef!important}
#ms-edit-grid .jexcel > thead > tr > td{font-size:11px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#37527a!important;background:#eef2f7!important;text-align:center!important}
#ms-edit-grid .jexcel > tbody > tr > td:first-child{font-size:11px!important;font-weight:700!important;color:#64748b!important;background:#f3f4f6!important;text-align:center!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-title > td:not(:first-child){background:#0d2240!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:20px!important;font-weight:800!important;letter-spacing:.01em!important;padding:10px 16px!important;border-color:#0d2240!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-subtitle > td:not(:first-child){background:#0d2240!important;color:#f5e9cc!important;-webkit-text-fill-color:#f5e9cc!important;font-size:12px!important;font-weight:700!important;padding:6px 16px!important;border-color:#0d2240!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-meta > td:not(:first-child){background:#fff!important;font-size:14px!important;color:#0d2240!important;-webkit-text-fill-color:#0d2240!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-meta > td.ms-edit-col-0{font-weight:800!important;text-transform:uppercase!important;font-size:11px!important;letter-spacing:.06em!important;color:#0d2240!important;-webkit-text-fill-color:#0d2240!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-meta > td.ms-edit-col-1{font-weight:400!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-section > td:not(:first-child){background:#0d2240!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:15px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;padding:8px 14px!important;border-color:#0d2240!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-columns > td:not(:first-child){background:#1a3a5c!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;text-align:left!important;border-color:#1a3a5c!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-entry > td:not(:first-child),
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-entry-empty > td:not(:first-child){background:#fff!important;font-size:13px!important;color:#111827!important;-webkit-text-fill-color:#111827!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-entry > td.ms-edit-staff-input,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-entry-empty > td.ms-edit-staff-input{background:#fefce8!important;color:#00008b!important;-webkit-text-fill-color:#00008b!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-entry > td.ms-edit-notes{background:#f5f5f5!important;color:#666666!important;-webkit-text-fill-color:#666666!important}
#ms-edit-grid .jexcel > tbody > tr > td.ms-edit-amount{text-align:right!important}
#ms-edit-grid .jexcel > tbody > tr > td.ms-edit-notes{white-space:normal!important;min-width:260px}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-total > td:not(:first-child),
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-grand-total > td:not(:first-child){background:#f5e9cc!important;color:#0d2240!important;-webkit-text-fill-color:#0d2240!important;font-size:14px!important;font-weight:800!important;border-top:2px solid #d8c28e!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-warning > td:not(:first-child){background:#fff0f0!important;color:#cc0000!important;-webkit-text-fill-color:#cc0000!important;font-size:12px!important;font-weight:800!important;white-space:normal!important;padding:9px 14px!important;border-top:2px solid #f0b4b4!important;border-bottom:2px solid #f0b4b4!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-note > td:not(:first-child){background:#f5e9cc!important;color:#666666!important;-webkit-text-fill-color:#666666!important;font-size:12px!important;white-space:normal!important;padding:8px 14px!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-spacer > td:not(:first-child){background:#fff!important;border-color:#fff!important;height:18px!important}
.jcontextmenu:empty{display:none!important} /* row ops go through the toolbar buttons; hide the suppressed (empty) right-click menu */
/* Banner/meta rows are merged in the real statement, so their full text must
   read across the row in the grid too: the first data cell overflows over its
   (blank) neighbors instead of clipping at the column edge. */
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-title > td.ms-edit-col-0,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-subtitle > td.ms-edit-col-0,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-section > td.ms-edit-col-0,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-warning > td.ms-edit-col-0,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-note > td.ms-edit-col-0,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-meta > td.ms-edit-col-1{position:relative;z-index:1;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-title > td:first-child,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-subtitle > td:first-child,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-section > td:first-child,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-columns > td:first-child,
#ms-edit-grid .jexcel > tbody > tr.ms-edit-row-grand-total > td:first-child{background:#e5e7eb!important;color:#37527a!important;-webkit-text-fill-color:#37527a!important}
.ms-edit-actions{display:flex;align-items:center;gap:10px;padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0}
.ms-edit-actions .ms-status{flex:1;margin:0}
.ms-edit-actions .ws-submit{width:auto;height:36px;margin-top:0;padding:0 20px;font-size:12.5px}
/* ── NDAA Tracker ────────────────────────────────────────────── */
.ndaa-widget{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:12px 18px;margin:0 28px 16px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.ndaa-widget-icon{font-size:22px;flex-shrink:0}
.ndaa-widget-info{flex:1;min-width:0}
.ndaa-widget-title{font-size:11px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.5px}
.ndaa-widget-stats{font-size:13px;color:var(--sub);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ndaa-hit-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e65100;margin-right:5px;vertical-align:middle}
.ndaa-widget-actions{display:flex;gap:8px;flex-shrink:0}
.ndaa-widget-btn{height:32px;padding:0 12px;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .12s}
.ndaa-btn-check{background:var(--navy);color:#fff}
.ndaa-btn-check:hover{background:var(--mid)}
.ndaa-btn-view{background:var(--accent);color:var(--navy);border:1.5px solid var(--border)!important}
.ndaa-btn-view:hover{background:#e8edf7}
.ndaa-staff-group{margin-bottom:4px}
.ndaa-staff-group-hdr{padding:8px 12px;font-size:12px;font-weight:700;color:var(--navy);background:var(--accent);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.4px;display:flex;align-items:center}
.ndaa-history-row{display:flex;align-items:center;gap:8px;padding:7px 14px;border-bottom:1px solid var(--border);font-size:12px;color:var(--sub)}
.ndaa-history-row:last-child{border-bottom:none}
.ndaa-history-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ndaa-history-match{font-weight:700;color:#1b5e20;background:#e8f5e9;border-radius:8px;padding:1px 7px}
.ndaa-warn-badge{font-size:10px;font-weight:700;background:#fff3e0;color:#e65100;border-radius:8px;padding:2px 7px;margin-left:5px;white-space:nowrap}
.ndaa-filter-row{display:flex;gap:8px;padding:12px 16px;background:#f8f9fb;border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center}
.ndaa-filter-btn{height:32px;padding:0 12px;border:1.5px solid var(--border);border-radius:16px;background:#fff;font-size:12px;font-weight:600;cursor:pointer;color:var(--sub);font-family:inherit;transition:all .12s}
.ndaa-filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.ndaa-stats-bar{display:flex;gap:20px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--border);flex-wrap:wrap}
.ndaa-stat{display:flex;flex-direction:column;gap:2px}
.ndaa-stat-val{font-size:22px;font-weight:800;color:var(--navy);line-height:1}
.ndaa-stat-label{font-size:11px;color:var(--sub);text-transform:uppercase;letter-spacing:.4px}
.ndaa-stat.hits .ndaa-stat-val{color:#e65100}
.ndaa-list{padding:12px 16px;display:flex;flex-direction:column;gap:10px}
.ndaa-empty{text-align:center;padding:40px 20px;color:#aaa;font-style:italic;font-size:14px}
.ndaa-card{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;transition:box-shadow .12s}
.ndaa-card:hover{box-shadow:0 2px 12px rgba(31,56,100,.1)}
.ndaa-card.has-hit{border-left:4px solid #e65100}
.ndaa-card-top{display:flex;align-items:flex-start;gap:10px}
.ndaa-card-num{font-size:12px;font-weight:800;color:var(--mid);background:var(--accent);border-radius:6px;padding:3px 8px;white-space:nowrap;flex-shrink:0}
.ndaa-card-sponsor{font-size:13px;font-weight:700;color:var(--navy);flex:1}
.ndaa-status-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}
.ndaa-status-filed{background:#e8f0fb;color:var(--mid)}
.ndaa-status-order{background:#e8f5e9;color:#2e7d32}
.ndaa-status-not-order{background:#fce4ec;color:#880e4f}
.ndaa-status-withdrawn{background:#f5f5f5;color:#555}
.ndaa-card-desc{font-size:13px;color:#444;margin-top:8px;line-height:1.5}
.ndaa-card-terms{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.ndaa-term-tag{font-size:11px;font-weight:700;background:#fff3e0;color:#bf360c;border-radius:10px;padding:2px 8px}
.ndaa-terms-panel{border-bottom:1px solid var(--border);background:#fafbfd}
.ndaa-terms-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--navy);text-align:left}
.ndaa-terms-toggle:hover{background:#f0f4ff}
.ndaa-terms-count-badge{font-size:11px;font-weight:600;background:#e8f0fb;color:var(--mid);border-radius:10px;padding:2px 8px}
.ndaa-terms-arrow{margin-left:auto;font-size:11px;color:var(--sub);transition:transform .15s}
.ndaa-terms-body{padding:12px 16px 16px;border-top:1px solid var(--border)}
.ndaa-terms-section{margin-bottom:14px}
.ndaa-terms-section:last-child{margin-bottom:0}
.ndaa-terms-section-label{font-size:11px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}
.ndaa-terms-custom-list,.ndaa-terms-default-list{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;align-items:center}
.ndaa-terms-empty-hint{font-size:12px;color:#bbb;font-style:italic}
.ndaa-custom-term-tag{font-size:12px;font-weight:600;background:#e3f2fd;color:#0d47a1;border-radius:12px;padding:3px 10px;display:inline-flex;align-items:center;gap:5px}
.ndaa-custom-term-tag .ndaa-term-remove{cursor:pointer;font-size:14px;line-height:1;color:#1565c0;font-weight:700;background:none;border:none;padding:0;font-family:inherit}
.ndaa-custom-term-tag .ndaa-term-remove:hover{color:#b71c1c}
.ndaa-default-term-tag{font-size:11px;font-weight:600;background:#f5f5f5;color:#666;border-radius:10px;padding:2px 8px}
.ndaa-terms-add-row{display:flex;gap:8px;margin-top:10px}
.ndaa-term-input{flex:1;height:36px;padding:0 12px;border:1.5px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit;outline:none}
.ndaa-term-input:focus{border-color:var(--navy)}
.ndaa-term-add-btn{height:36px;padding:0 16px;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.ndaa-term-add-btn:hover{opacity:.85}
.ndaa-check-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#f8f9fb;border-top:1px solid var(--border);font-size:12px;color:var(--sub)}
.ndaa-clients-panel{border-bottom:1px solid var(--border);background:#fafbfd}
.ndaa-client-card{background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:10px}
.ndaa-client-card:last-child{margin-bottom:0}
.ndaa-client-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ndaa-client-name{font-size:14px;font-weight:700;color:var(--navy)}
.ndaa-client-delete-btn{font-size:11px;font-weight:700;color:#c0392b;background:none;border:1.5px solid #f5c6cb;border-radius:6px;padding:3px 10px;cursor:pointer;font-family:inherit}
.ndaa-client-delete-btn:hover{background:#fff0f0}
.ndaa-client-section{margin-top:10px}
.ndaa-clients-add-row{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.ndaa-sent-select{height:32px;padding:0 28px 0 10px;border:1.5px solid var(--border);border-radius:6px;font-size:12px;font-family:inherit;color:var(--navy);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235a5a5a'/%3E%3C/svg%3E") no-repeat right 9px center;-webkit-appearance:none;appearance:none;outline:none;cursor:pointer;min-width:160px;max-width:220px}
.ndaa-sent-select:focus{border-color:var(--navy)}
.ndaa-sent-empty{font-size:13px;color:#bbb;font-style:italic;padding:18px 0;text-align:center}
.ndaa-sent-entry{border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-top:10px;background:#fff}
.ndaa-sent-entry-hdr{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.ndaa-sent-num{font-size:14px;font-weight:700;color:var(--navy)}
.ndaa-sent-badge-new{font-size:11px;font-weight:700;background:#e8f5e9;color:#1b5e20;border-radius:10px;padding:2px 9px;white-space:nowrap}
.ndaa-sent-badge-prev{font-size:11px;font-weight:700;background:#eaecf7;color:#3949ab;border-radius:10px;padding:2px 9px;white-space:nowrap}
.ndaa-sent-sponsor{font-size:13px;color:#444;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ndaa-sent-pdf{font-size:12px;color:var(--mid);font-weight:600;text-decoration:none;white-space:nowrap}
.ndaa-sent-pdf:hover{text-decoration:underline}
.ndaa-sent-desc{font-size:12px;color:#555;line-height:1.45;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ndaa-sent-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#888}
.ndaa-sent-meta-client{font-weight:700;color:var(--mid)}
.ndaa-sent-status{background:#f4f6f9;border-radius:6px;padding:1px 7px}
@media(max-width:560px){.ndaa-stats-bar{gap:14px;padding:12px 14px}}
/* ── Staff Portal responsive additions ──────────────────────── */
@media(max-width:768px){
  #tab-staff-portal .page{margin:12px;border-radius:var(--r)}
}
@media(max-width:600px){
  #tab-staff-portal .page{margin:0;border-radius:0;box-shadow:none}
  #tab-staff-portal .nav-cards{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px 20px}
  #tab-staff-portal .home-hero{padding:28px 16px 20px}
}
@media(max-width:480px){
  #tab-staff-portal .page{padding-bottom:72px}
  #tab-staff-portal .home-logo-svg{height:54px}
  #tab-staff-portal .home-hero{padding:22px 14px 18px}
  #tab-staff-portal .home-hero h2{font-size:17px}
  #tab-staff-portal .nav-cards{gap:10px;padding:0 14px 18px}
  #tab-staff-portal .nav-card{padding:16px 12px 14px}
  #tab-staff-portal .section-head{padding:14px 14px 12px}
  #tab-staff-portal .ca-filter,#tab-staff-portal .sort-bar,#tab-staff-portal .count-bar{padding:8px 12px}
  #tab-staff-portal .ws-card,#tab-staff-portal .fp-body,#tab-staff-portal .ci-card{padding:16px 14px 20px}
  #tab-staff-portal .er-hdr,#tab-staff-portal .sc-hdr{padding:14px}
  .form-grid,.ci-grid{grid-template-columns:1fr}
  .form-field input,.form-field textarea{min-height:44px}
  .type-pills{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .type-pill{height:46px}
  .ws-submit{width:100%}
  .er-actions{flex-wrap:wrap}
  .er-btn-send{flex-basis:100%;order:3;height:54px;font-size:15px}
  .er-btn-clear,.er-btn-dl{flex:1;min-width:0;font-size:13px}
  .ci-bottom-bar{flex-direction:column;align-items:stretch}
  .ci-bottom-bar button{width:100%!important;min-width:unset}
  .qr-action-bar{flex-direction:column}
  .qr-action-bar .qr-btn{width:100%}
  .qr-rev-row{flex-direction:column;align-items:flex-start}
  .qr-rev-input{width:100%}
  .modal-actions{flex-direction:column-reverse;padding:0 14px 16px}
  .modal-actions .btn-cancel2,.modal-actions .btn-send,.modal-actions .btn-send-green{width:100%}
  .er-grand{flex-direction:column;align-items:center;gap:8px;text-align:center}
  #sp-header{padding:0 10px}
  .topbar-logo-svg{height:30px}
  #sp-sub{font-size:10px}
  #sp-printBtn{height:34px;padding:0 10px;font-size:12px}
}
/* Custom select — always opens downward */
.sp-ready::after{display:none!important}
.sp-csel-trigger{flex:1;min-width:0;width:100%;height:44px;padding:0 34px 0 12px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-weight:600;color:var(--navy);background:#fff;cursor:pointer;font-family:inherit;text-align:left;display:block;transition:border-color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:44px;box-sizing:border-box;outline:none;-webkit-appearance:none;appearance:none}
.sp-csel-trigger:focus{outline:2px solid var(--gold);outline-offset:2px}
.sp-csel-trigger.placeholder{color:#aab7cb;font-weight:400}
.sp-csel-trigger[disabled]{background:#f5f7fa;color:#888;cursor:not-allowed;pointer-events:none}
.er-sel-wrap .sp-csel-trigger,.ci-sel-wrap .sp-csel-trigger{font-weight:400;color:#1a1a1a}
.er-sel-wrap .sp-csel-trigger:focus,.ci-sel-wrap .sp-csel-trigger:focus{outline:none;border-color:var(--mid);box-shadow:0 0 0 3px rgba(46,84,150,.12)}
.sheet-field .er-sel-wrap .sp-csel-trigger{border-radius:8px;font-size:15px;height:48px;line-height:48px}
.sp-csel-panel{position:fixed;background:#fff;border:1.5px solid var(--border);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.15);z-index:9999;max-height:260px;overflow-y:auto;display:none}
/* The optional search box (data-search="1"): pinned above the list while it scrolls.
   16px on phones so iOS does not zoom the page when it is tapped. */
.sp-csel-search-wrap{position:sticky;top:0;z-index:2;background:#fff;padding:8px;border-bottom:1px solid #e6e9ef}
.sp-csel-search{width:100%;height:36px;padding:0 10px 0 32px;border:1px solid #d0d4e4;border-radius:6px;font:inherit;font-size:14px;color:#323338;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='%239699a6' stroke-width='1.6'/%3E%3Cpath d='M11 11l3.5 3.5' stroke='%239699a6' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 10px center}
.sp-csel-search:focus{outline:none;border-color:#0073ea;box-shadow:0 0 0 3px rgba(0,115,234,.13)}
.sp-csel-search-wrap~div .sp-csel-grp{top:53px}
.sp-csel-opt.focused{background:#e8f0fb}
.sp-csel-empty{padding:14px;font-size:13px;color:#8b8e9c;text-align:center}
.sp-csel-panel:has(.sp-csel-search-wrap){max-height:min(340px,60vh)}
@media(max-width:599px){.sp-csel-search{height:42px;font-size:16px}.sp-csel-search-wrap~div .sp-csel-grp{top:59px}}
.sp-csel-grp{padding:7px 12px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#6b7a99;background:#f4f6f9;position:sticky;top:0}
.sp-csel-opt{padding:9px 14px;font-size:14px;color:var(--navy);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-csel-opt:hover,.sp-csel-opt.active{background:var(--accent)}
.sp-csel-opt.active{font-weight:700}
.sp-csel-opt.ph{color:#aab7cb;font-weight:400}
.er-sel-wrap .sp-csel-opt,.ci-sel-wrap .sp-csel-opt{color:#1a1a1a}
/* OPS DASHBOARD */
#page-ops .ops-toolbar{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.ops-toolbar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ops-search-bar-wrap{display:flex;align-items:center;gap:8px;margin-bottom:14px;background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:0 12px}
.ops-search-icon{font-size:17px;color:#aab7cb;line-height:1;user-select:none}
.ops-search-bar-wrap .ops-search-input{border:none;border-radius:0;padding:9px 4px;font-size:13px;flex:1;background:transparent;min-width:0}
.ops-search-bar-wrap .ops-search-input:focus{outline:none}
.ops-filter-group{display:flex;gap:4px;flex-wrap:wrap}
.ops-filter-btn{padding:6px 14px;border:1.5px solid var(--border);border-radius:20px;background:#fff;font-size:12px;font-weight:600;cursor:pointer;color:var(--sub);transition:all .15s}
.ops-filter-btn.active{border-color:var(--navy);background:var(--navy);color:#fff}
.ops-group-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--sub);white-space:nowrap;align-self:center;min-width:38px}
.ops-toolbar-actions{display:flex;gap:4px;margin-left:auto}
.ops-table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--border)}
.ops-table{width:100%;border-collapse:collapse;font-size:13px}
.ops-table thead th{position:sticky;top:0;z-index:2;background:#eef1f6;padding:10px 14px;text-align:left;font-weight:700;color:var(--sub);font-size:11px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;box-shadow:0 1px 0 var(--border)}
.ops-table td{padding:11px 14px;border-top:1px solid var(--border);vertical-align:middle}
/* ── Operations Review (staff hours roster) ──────────────────── */
.opsr-caption{background:#fff;border:1px solid var(--border);border-left:3px solid var(--navy);border-radius:8px;padding:12px 16px;margin-bottom:14px;font-size:12.5px;color:var(--sub);line-height:1.5}
.opsr-caption strong{color:var(--navy)}
.opsr-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:8px}
.opsr-legend span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--sub)}
.opsr-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.opsr-table thead th{text-align:center}
.opsr-table thead th:first-child{text-align:left}
.opsr-table tbody tr.opsr-row:hover td{background:#eef3fb}
.opsr-name{font-weight:700;color:var(--navy);white-space:nowrap}
.opsr-num{text-align:center;white-space:nowrap}
.opsr-num strong{font-size:14.5px;color:var(--navy);font-weight:800}
.opsr-unit{font-size:10px;color:var(--sub);font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-left:2px}
.opsr-zero{color:#c2ccd9;font-weight:600}
.opsr-pending{display:inline-block;font-size:11px;font-weight:700;color:#9aa6b6;background:#eef1f6;border:1px dashed #c2ccd9;border-radius:12px;padding:2px 10px}
.opsr-table tbody tr.opsr-total-row{background:#eef1f6}
.opsr-total-row td{border-top:2px solid var(--navy);font-weight:800;color:var(--navy)}
.opsr-total-row .opsr-name{font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.opsr-total-row strong{color:var(--navy)}
.opsr-expand{background:none;border:none;cursor:pointer;padding:0 6px 0 0;vertical-align:middle;line-height:1}
.opsr-chev{display:inline-block;transition:transform .2s;font-size:15px;color:#aab3c2}
.opsr-row.opsr-open .opsr-chev{transform:rotate(180deg)}
.opsr-expand-spacer{display:inline-block;width:18px}
.opsr-detail-row{display:none}
.opsr-detail-row.open{display:table-row}
.opsr-detail-row>td{background:#f5f8fc;border-top:none;padding:0}
.opsr-detail{padding:14px 18px 16px 40px;display:flex;flex-direction:column;gap:12px}
.opsr-dgroup{display:flex;flex-direction:column;gap:6px}
.opsr-dgroup-hd{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--navy)}
.opsr-dgroup-hd .opsr-dot{width:9px;height:9px}
.opsr-dgroup-count{font-size:11px;font-weight:600;color:var(--sub);text-transform:none;letter-spacing:0}
.opsr-days{display:flex;flex-wrap:wrap;gap:5px}
.opsr-day{font-size:11px;font-weight:600;color:#33415c;background:#fff;border:1px solid var(--border);border-radius:5px;padding:2px 7px;white-space:nowrap}
.opsr-day-hrs{font-weight:400;color:#6b7280;margin-left:3px}
.opsr-day-pencil{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:0;width:14px;height:14px;font-size:10px;line-height:1;border:none;border-radius:50%;background:rgba(0,0,0,.12);color:inherit;cursor:pointer;vertical-align:middle;opacity:.65;flex-shrink:0}
.opsr-day-pencil:hover{background:rgba(37,99,235,.75);color:#fff;opacity:1}
.opsr-day-pencil:disabled{opacity:.4;cursor:not-allowed}
#pto-day-menu,#pto-add-menu{position:fixed;z-index:9999;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.16);padding:10px 12px;min-width:164px}
#pto-add-menu{min-width:210px}
.ptoa-staff{font-size:11px;font-weight:700;color:var(--navy);margin-bottom:6px}
.ptoa-date-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.ptoa-date-input{flex:1;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px}
.ptoa-hrs-input{width:56px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;text-align:center}
.opsr-add-day{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:1px 7px;font-size:13px;font-weight:700;line-height:1;border:none;border-radius:4px;background:rgba(37,99,235,.15);color:#1a56c4;cursor:pointer;flex-shrink:0;vertical-align:middle}
.opsr-add-day:hover{background:#1a56c4;color:#fff}
.opsr-export-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;font-size:11px;font-weight:700;line-height:1.3;border:1px solid #1a7f4b;border-radius:5px;background:#eafbf1;color:#1a7f4b;cursor:pointer;white-space:nowrap}
.opsr-export-btn:hover{background:#1a7f4b;color:#fff}
.ptom-title{font-size:11px;font-weight:700;color:var(--navy);margin-bottom:8px}
.ptom-hrs-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.ptom-hrs-label{font-size:11px;color:var(--sub);flex-shrink:0}
.ptom-hrs-input{width:56px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;text-align:center}
.ptom-save{flex:1;padding:5px 0;border:none;border-radius:4px;background:#1a56c4;color:#fff;font-size:11px;font-weight:600;cursor:pointer}
.ptom-save:hover{background:#1646a9}
.ptom-del{width:100%;margin-top:4px;padding:5px 0;border:none;border-radius:4px;background:#fee2e2;color:#dc2626;font-size:11px;font-weight:600;cursor:pointer}
.ptom-del:hover{background:#dc2626;color:#fff}
.ptom-hint{font-size:10px;color:var(--sub);margin:4px 0 6px;text-align:center}
.opsr-detail-empty{font-size:12px;color:var(--sub);font-style:italic}
.ops-main-row{cursor:default;transition:background .1s}
.ops-main-row:hover td{background:#f0f4ff}
.ops-type-badge{display:inline-block;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:700;white-space:nowrap}
.ops-badge-ws{background:#e8f0fe;color:#1a56c4}
.ops-badge-er{background:#fff3e0;color:#b45309}
.ops-badge-sc{background:#f0fdf4;color:#166534}
.ops-badge-ci{background:#faf5ff;color:#7c3aed}
.ops-badge-qr{background:#fff1f2;color:#be123c}
.ops-badge-tof{background:#fef2f2;color:#c0392b}
.ops-badge-ca{background:#f0f4ff;color:#1e40af}
.ops-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.ops-status-badge::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0}
.ops-status-pending{background:#fef3c7;color:#92400e}.ops-status-pending::before{background:#d97706}
.ops-status-approved{background:#dcfce7;color:#166534}.ops-status-approved::before{background:#16a34a}
.ops-status-denied,.ops-status-rejected{background:#fee2e2;color:#991b1b}.ops-status-denied::before,.ops-status-rejected::before{background:#dc2626}
.ops-status-reviewed{background:#e0f2fe;color:#0369a1}.ops-status-reviewed::before{background:#0284c7}
.ops-status-deleted{background:#f1f5f9;color:#64748b}.ops-status-deleted::before{background:#94a3b8}
.ops-action-btn{padding:5px 12px;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;transition:opacity .15s}
.ops-action-btn:hover{opacity:.82}
.ops-btn-approve{background:#1a7f4b;color:#fff}
.ops-btn-deny{background:#c0392b;color:#fff}
.ops-btn-review{background:#0369a1;color:#fff}
.ops-btn-delete{background:none;border:1px solid #ddd;color:#999;padding:5px 8px;font-size:13px;border-radius:5px;cursor:pointer;margin-left:4px;transition:all .15s}.ops-btn-delete:hover{background:#fde8e8;border-color:#c0392b;color:#c0392b}
.ops-btn-edit{background:#0a1f3c;color:#fff}
/* WS EDIT MODAL */
#ws-edit-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;display:none;align-items:center;justify-content:center}
#ws-edit-modal.open{display:flex}
.ws-edit-box{background:#fff;border-radius:12px;padding:28px;width:100%;max-width:540px;box-shadow:0 8px 32px rgba(0,0,0,.18);max-height:90vh;overflow-y:auto}
.ws-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.ws-edit-field{display:flex;flex-direction:column;gap:6px}
.ws-edit-field.full{grid-column:1/-1}
.ws-edit-field label{font-size:11px;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.05em}
.ws-edit-field input[type=date],.ws-edit-field input[type=text]{padding:9px 12px;border:1.5px solid var(--border);border-radius:7px;font-size:14px;font-family:inherit;color:var(--navy);background:#fff;width:100%;box-sizing:border-box}
.ws-edit-field input[type=date]:focus,.ws-edit-field input[type=text]:focus,.ws-edit-field textarea:focus{outline:2px solid var(--gold);outline-offset:2px}
.ws-edit-field textarea{padding:9px 12px;border:1.5px solid var(--border);border-radius:7px;font-size:14px;font-family:inherit;color:var(--navy);background:#fff;width:100%;box-sizing:border-box;resize:vertical;min-height:72px}
.ws-edit-field .sel-inner{position:relative;display:block}
.ws-edit-field .sel-inner::after{content:'▼';font-size:10px;color:var(--navy);position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none}
.ws-edit-field select{height:44px;padding:0 34px 0 12px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-weight:600;color:var(--navy);background:#fff;-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;width:100%}
.ops-empty{text-align:center;padding:40px 20px;color:var(--sub);font-size:14px;font-style:italic}
.ops-empty-clear{color:#16a34a;font-style:normal;font-weight:600}
.ops-row-note{font-size:11px;color:var(--sub);font-style:italic;margin-top:3px}
.ops-loading{text-align:center;padding:32px;color:var(--sub);font-size:14px}
.ops-expand-btn{background:none;border:none;cursor:pointer;padding:0 5px 0 0;vertical-align:middle;line-height:1}
.ops-chevron{display:inline-block;transition:transform .2s;font-size:17px;color:#aaa}
.ops-detail-row{display:none}
.ops-detail-row.open{display:table-row}
.ops-detail-row>td{background:#f8fafc;border-bottom:2px solid var(--border);padding:0}
.ops-detail-body{padding:16px 20px}
.ops-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 24px;margin-bottom:8px}
.ops-df{display:flex;flex-direction:column;gap:2px}
.ops-dl{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.ops-dv{font-size:13px;color:#222;word-break:break-word}
.ops-entries-label{font-size:12px;font-weight:700;color:#555;margin:12px 0 6px}
.ops-entries-tbl{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:4px}
.ops-entries-tbl th{background:#f1f3f5;padding:5px 8px;border:1px solid #ddd;text-align:left;font-weight:600;color:#555}
.ops-entries-tbl td{padding:5px 8px;border:1px solid #eee;color:#333}
.ops-flag-edit{margin-top:14px;padding:12px 14px;background:#fef8f8;border:1px solid #f3d5d5;border-radius:8px}
.ofe-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.ofe-row label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#555}
.ofe-row input,.ofe-row select{padding:4px 8px;border:1px solid #ddd;border-radius:5px;font-size:12px;color:#222;background:#fff}
.ofe-row input.ofe-hours{width:64px;text-align:center}
.ofe-hint{font-size:11px;color:#888;margin-bottom:10px}
.ofe-actions{display:flex;gap:8px}
.ops-grand-total{display:inline-block;float:right;font-size:13px;font-weight:700;background:#0a1f3c;color:#fff;padding:7px 14px;border-radius:4px;margin-top:8px}
.ops-count-bar{font-size:12px;color:var(--sub);margin-bottom:10px}
/* OPS MODALS */
#ops-export-modal,#ops-action-modal,#ops-sync-modal,#ops-receipts-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;display:none;align-items:center;justify-content:center}
#ops-export-modal.open,#ops-action-modal.open,#ops-sync-modal.open,#ops-receipts-modal.open{display:flex}
/* Download Receipts modal */
.ops-rcpt-summary{font-size:12.5px;line-height:1.55;color:#374151;background:#f4f7fb;border:1px solid var(--border);border-radius:8px;padding:9px 11px;margin:2px 0 4px}
.ops-rcpt-summary strong{color:var(--navy)}
.ops-rcpt-summary .ops-rcpt-warn{display:block;margin-top:4px;color:#b45309}
.ops-rcpt-progress{margin-top:12px}
.ops-rcpt-bar{height:7px;border-radius:5px;background:#e3eaf3;overflow:hidden}
.ops-rcpt-bar-fill{height:100%;width:0;background:var(--navy);transition:width .18s}
.ops-rcpt-progress-txt{font-size:11.5px;font-weight:700;color:var(--sub);margin-top:5px}
.ops-export-field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.ops-export-label{font-size:12px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.04em}
.ops-export-select,.ops-export-input{padding:8px 10px;border:1.5px solid var(--border);border-radius:7px;font-size:14px;color:#222;background:#fff;width:100%}
.ops-export-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* OPS ACTION MODAL */
#ops-action-modal,#sp-pending-action-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;display:none;align-items:center;justify-content:center}
#ops-action-modal.open,#sp-pending-action-modal.open{display:flex}
.ops-modal-box{background:#fff;border-radius:12px;padding:28px;width:100%;max-width:420px;box-shadow:0 8px 32px rgba(0,0,0,.18)}
.ops-modal-box h4{margin:0 0 6px;font-size:16px;color:var(--navy)}
.ops-modal-box p{margin:0 0 16px;font-size:13px;color:var(--sub)}
.ops-modal-box textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;resize:vertical;min-height:80px}
.ops-modal-box textarea:focus{outline:none;border-color:var(--mid)}
.ops-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.ops-sync-matches{margin-top:10px;border:1px solid #d6e3da;border-radius:7px;overflow:hidden}
.ops-sync-match-title{padding:8px 10px;background:#f4faf6;color:#245c38;font-size:12px;font-weight:700}
.ops-sync-match-scroll{max-height:210px;overflow:auto}
.ops-sync-match-scroll table{width:100%;border-collapse:collapse;font-size:12px}
.ops-sync-match-scroll th{position:sticky;top:0;background:#fff;text-align:left;color:#666;font-size:10px;text-transform:uppercase;letter-spacing:.03em}
.ops-sync-match-scroll th,.ops-sync-match-scroll td{padding:7px 9px;border-top:1px solid #e6ece8;vertical-align:top}
.ops-sync-match-scroll td:nth-child(3){white-space:nowrap}
.ops-sync-match-status{display:inline-block;color:#4b5563;font-size:11px;font-weight:700;white-space:nowrap}
.ops-sync-match-status.pending{color:#137443}
.ops-modal-cancel{padding:8px 18px;border:1.5px solid var(--border);border-radius:8px;background:#fff;font-size:13px;font-weight:600;cursor:pointer;color:var(--sub)}
.ops-modal-confirm{padding:8px 18px;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;color:#fff}
/* OPS SEARCH */
.ops-search-input{padding:6px 12px;border:1.5px solid var(--border);border-radius:20px;font-size:12px;font-family:inherit;color:var(--navy);background:#fff;width:100%}
.ops-search-input:focus{outline:none;border-color:var(--mid)}
/* MY SUBMISSIONS */
.mysubs-table{width:100%;border-collapse:collapse;font-size:13px}
.mysubs-table th{background:var(--accent);padding:10px 14px;text-align:left;font-weight:700;color:var(--sub);font-size:11px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.mysubs-table td{padding:11px 14px;border-top:1px solid var(--border);vertical-align:middle}
.mysubs-row{cursor:pointer;transition:background .12s}
.mysubs-row:hover td{background:#f0f4ff}
.mysubs-row.open td{background:#f0f4ff}
.mysubs-chevron{float:right;font-size:10px;color:var(--sub);transition:transform .18s;display:inline-block;margin-left:6px}
.mysubs-chevron.open{transform:rotate(180deg)}
.mysubs-submitter{font-size:12px;color:#64748b;margin-top:3px}
.mysubs-reason{font-size:12px;color:#991b1b;margin-top:3px;font-style:italic}
.mysubs-detail-row td{padding:0;border-top:none}
.mysubs-detail-body{padding:14px 18px 18px;background:#f8fafc;border-top:1px solid #dde3f0;border-bottom:2px solid var(--border)}
.mysubs-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 20px;margin-bottom:12px}
.mysubs-detail-field{display:flex;flex-direction:column;gap:2px}
.mysubs-detail-label{font-size:10px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.05em}
.mysubs-detail-value{font-size:13px;color:#1e293b}
.mysubs-entries-section{margin-top:12px}
.mysubs-entries-title{font-size:11px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.mysubs-entries-table{width:100%;border-collapse:collapse;font-size:12px}
.mysubs-entries-table th{background:#e8edf5;padding:5px 8px;text-align:left;font-weight:600;color:#475569;white-space:nowrap}
.mysubs-entries-table td{padding:5px 8px;border-top:1px solid #e2e8f0;color:#334155}
.mysubs-entries-table tr:last-child td{font-weight:700;background:#f1f5fb}
.mysubs-entries-table td.mx-rcpt-cell{vertical-align:top;white-space:normal}
.mysubs-entries-total{text-align:right;font-weight:700;padding-top:4px;font-size:12px;color:#1e293b}
.mysubs-summary{display:none}
.mysubs-summary.has-data{display:block;background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:18px}
.mysubs-summary-title{font-size:11px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
.mysubs-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.mysubs-stat{background:var(--accent);border:1px solid var(--border);border-radius:8px;padding:10px 14px;position:relative;overflow:hidden}
.mysubs-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--stat-color,var(--navy))}
.mysubs-stat-label{font-size:10.5px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.mysubs-stat-value{font-size:21px;font-weight:800;color:var(--navy);line-height:1}
.mysubs-stat-value .mysubs-stat-unit{font-size:11px;font-weight:600;color:var(--sub);text-transform:uppercase;margin-left:4px}
.mysubs-summary-days{display:flex;flex-direction:column;gap:12px}
.mysubs-summary-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.mysubs-summary-month-lbl{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--navy);white-space:nowrap}
.mysubs-summary-month-lbl input[type=month]{height:30px;padding:0 8px;border:1.5px solid var(--border);border-radius:6px;font-size:12.5px;color:var(--navy)}
.mysubs-summary-picker{margin-left:auto;font-size:12.5px;color:var(--sub);font-weight:600;white-space:nowrap}
.mysubs-summary-picker select{margin-left:6px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:12.5px;color:var(--navy);font-weight:700;background:#fff;cursor:pointer}
.mysubs-summary-empty{font-size:13px;color:var(--sub);font-style:italic;padding:2px 0}
.mysubs-flag-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:0;width:14px;height:14px;font-size:9px;line-height:1;border:none;border-radius:50%;background:rgba(0,0,0,.12);color:inherit;cursor:pointer;vertical-align:middle;opacity:.6;flex-shrink:0}
.mysubs-flag-btn:hover{background:#c0392b;color:#fff;opacity:1}
.mysubs-flag-menu{position:fixed;z-index:9999;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.16);padding:12px 14px;width:280px}
.mfm-title{font-size:11.5px;font-weight:700;color:var(--navy);margin-bottom:8px}
.mfm-field-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--sub);font-weight:600;margin-bottom:6px}
.mfm-field-row input,.mfm-field-row select{padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--navy)}
.mfm-details{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;resize:vertical;margin-bottom:8px}
.mfm-actions{display:flex;gap:6px}
.mfm-actions .ptom-save,.mfm-actions .ptom-del{flex:1;width:auto;margin-top:0}
/* TEAM CALENDAR */
.teamcal-type-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.teamcal-nav{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.teamcal-nav-btn{padding:6px 14px;border:1.5px solid var(--border);border-radius:20px;background:#fff;font-size:12px;font-weight:700;cursor:pointer;color:var(--sub)}
.teamcal-nav-btn:hover{border-color:var(--navy);color:var(--navy)}
.teamcal-month-label{font-size:17px;font-weight:700;color:var(--navy);min-width:160px;text-align:center}
.teamcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.teamcal-day-header{background:var(--accent);padding:8px 4px;text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sub)}
.teamcal-cell{background:#fff;min-height:80px;padding:6px 6px 4px}
.teamcal-cell.other-month{background:#f9fafb}
.teamcal-cell.today .teamcal-date{background:var(--navy);color:#fff;border-radius:50%}
.teamcal-date{font-size:12px;font-weight:600;color:var(--sub);margin-bottom:3px;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.teamcal-event{font-size:10px;font-weight:600;border-radius:4px;padding:2px 5px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.teamcal-event-pto{background:#dbeafe;color:#1e40af}
.teamcal-event-telework{background:#dcfce7;color:#166534}
.teamcal-event-offsite{background:#fef9c3;color:#854d0e}
.teamcal-event-condo{background:#f3e8ff;color:#6b21a8}
.tc-cal{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}
.tc-hdr-row{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:1px solid #e2e8f0}
.tc-day-hdr{padding:8px 0;text-align:center;font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em;border-right:1px solid #e2e8f0}
.tc-day-hdr:last-child{border-right:none}
.tc-week{border-bottom:1px solid #e2e8f0}
.tc-week:last-child{border-bottom:none}
.tc-date-row{display:grid;grid-template-columns:repeat(7,1fr)}
.tc-date-cell{min-height:34px;padding:5px 8px;border-right:1px solid #e2e8f0}
.tc-date-cell:last-child{border-right:none}
.tc-date-cell.tc-other .tc-date-num{color:#ccc}
.tc-date-cell.tc-today .tc-date-num{background:#0a1f3c;color:#fff;border-radius:50%}
.tc-date-cell.tc-weekend{background:#eaecef}
.tc-date-cell.tc-holiday{background:#fef3e0}
.tc-holiday-lbl{display:block;font-size:9px;font-weight:700;color:#b45309;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.tc-day-hdr.tc-weekend-hdr{background:#dde0e4;color:#999}
.tc-wk-col-hdr.tc-weekend-hdr{background:#dde0e4!important}
.tc-wk-col.tc-weekend{background:#eaecef!important}
.tc-date-num{font-size:13px;color:#333;font-weight:500;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.tc-events-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:0 0 8px}
.tc-event-bar{height:22px;border-radius:4px;padding:0 7px;font-size:11.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 2px;display:flex;align-items:center;cursor:default;opacity:.93;transition:opacity .1s}
.tc-event-bar:hover{opacity:1}
.tc-bar-cont-left{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;padding-left:5px}
.tc-bar-cont-right{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0;padding-right:5px}
.teamcal-report-btn{background:var(--navy);color:#fff;border-color:var(--navy)}
.teamcal-report-btn:hover{background:#162d52;color:#fff}
#tc-report-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;align-items:center;justify-content:center;padding:16px}
#tc-report-modal.open{display:flex}
#tc-delete-log-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;align-items:center;justify-content:center;padding:16px}
#tc-delete-log-modal.open{display:flex}
#ops-holidays-modal,#od-cal-delete-log-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;align-items:center;justify-content:center;padding:16px}
#ops-holidays-modal.open,#od-cal-delete-log-modal.open{display:flex}
.tc-report-box{background:#fff;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.2);width:min(760px,100%);max-height:85vh;display:flex;flex-direction:column;overflow:hidden}
.tc-report-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #e5e7eb}
.tc-report-header h4{font-size:16px;font-weight:700;color:#1a1a1a;margin:0}
.tc-report-close-btn{background:none;border:none;font-size:20px;color:#999;cursor:pointer;line-height:1;padding:2px 6px}
.tc-report-controls{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}
.tc-report-lbl{display:flex;align-items:center;gap:7px;font-size:13px;color:#555;font-weight:600}
.tc-report-lbl input[type=date],.tc-report-lbl input[type=text]{padding:5px 10px;border:1.5px solid #d1d5db;border-radius:6px;font-size:13px;font-family:inherit;color:#222}
.tc-report-scroll{overflow-y:auto;flex:1;padding:20px 24px}
.tc-report-tbl{width:100%;border-collapse:collapse;font-size:13px}
.tc-report-tbl th{background:#f3f4f6;padding:9px 14px;text-align:left;font-weight:700;color:#555;font-size:11px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:2px solid #e5e7eb}
.tc-report-tbl th:not(:first-child){text-align:right}
.tc-report-tbl td{padding:9px 14px;border-bottom:1px solid #f3f4f6;color:#222}
.tc-report-tbl td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.tc-report-tbl tbody tr:hover td{background:#f8fafc}
.tc-report-tbl tfoot td{border-top:2px solid #e5e7eb;border-bottom:none;background:#f9fafb;font-weight:700}
.tc-report-zero{color:#ccc}
.tc-report-group-hdr td{padding:10px 14px 4px;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sub);background:#f9fafb;border-bottom:none}
.tc-report-grand{color:#1F3864;font-weight:800}
.tc-report-empty{text-align:center;padding:32px;color:#999;font-size:13px;font-style:italic}
.tc-report-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb}
.tc-report-export-btn{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:700;cursor:pointer;background:#1a7f4b;color:#fff;border:none}
.tc-report-cancel-btn{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;background:#fff;color:#555;border:1.5px solid #d1d5db}
#tab-staff-portal .staff-combobox{position:relative;flex:1;min-width:160px}
#tab-staff-portal .staff-combobox::after{content:'▼';font-size:10px;color:var(--navy);position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;transition:transform .15s;z-index:1}
#tab-staff-portal .staff-combobox.drop-open::after{transform:translateY(-50%) rotate(180deg)}
#tab-staff-portal .staff-search{height:44px;padding:0 34px 0 12px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-weight:600;color:var(--navy);background:#fff;-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;transition:border-color .15s;width:100%;display:block}
#tab-staff-portal .staff-search:focus{outline:2px solid var(--gold);outline-offset:2px;cursor:text}
#tab-staff-portal .staff-search::placeholder{color:#999;font-weight:400}
#tab-staff-portal .staff-search:disabled{background:#f3f4f6;color:#555;cursor:not-allowed}
#tab-staff-portal .staff-combobox:has(.staff-search:disabled)::after{display:none}
#tab-staff-portal .staff-drop{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid var(--border);border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.14);max-height:280px;overflow-y:auto;z-index:500}
#tab-staff-portal .staff-drop.open{display:block}
#tab-staff-portal .staff-drop-group{padding:4px 0}
#tab-staff-portal .staff-drop-group+.staff-drop-group{border-top:1px solid #e8eef7}
#tab-staff-portal .staff-drop-group-label{font-size:10px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.6px;padding:6px 12px 3px}
#tab-staff-portal .staff-drop-opt{padding:9px 14px;font-size:14px;font-weight:600;color:var(--navy);cursor:pointer;line-height:1.3}
#tab-staff-portal .staff-drop-opt:hover,#tab-staff-portal .staff-drop-opt.focused{background:#e8f0fb}
#tab-staff-portal .staff-drop-opt.selected{background:var(--mid);color:#fff}
#tab-staff-portal .staff-drop-empty{padding:16px 14px;font-size:13px;color:var(--sub);text-align:center;font-style:italic}
/* CALENDAR CONTROLS BAR */
.tc-controls-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.tc-controls-bar .teamcal-type-filters{margin-bottom:0;flex:1 1 auto}
.tc-view-toggle{display:flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}
.tc-view-btn{padding:6px 16px;border:none;border-right:1px solid var(--border);background:#fff;font-size:12px;font-weight:700;cursor:pointer;color:var(--sub);transition:background .12s,color .12s}
.tc-view-btn:last-child{border-right:none}
.tc-view-btn:hover{background:#f0f4fa;color:var(--navy)}
.tc-view-btn.active{background:var(--navy);color:#fff}
.tc-person-combo{position:relative;flex-shrink:0}
.tc-person-combo::after{content:'▼';font-size:9px;color:var(--navy);position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;transition:transform .15s}
.tc-person-combo.drop-open::after{transform:translateY(-50%) rotate(180deg)}
.tc-person-combo.active-filter::after{color:#fff}
.tc-person-inp{height:32px;padding:0 26px 0 12px;border:1.5px solid var(--border);border-radius:20px;background:#fff;font-size:12px;font-weight:700;color:var(--sub);cursor:pointer;font-family:inherit;min-width:90px;max-width:160px;-webkit-appearance:none;appearance:none;transition:border-color .15s,background .15s,color .15s}
.tc-person-inp:focus{outline:none;border-color:var(--mid);cursor:text}
.tc-person-inp.active{border-color:var(--navy);background:var(--navy);color:#fff}
.tc-person-drop{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:#fff;border:1.5px solid var(--border);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.14);max-height:260px;overflow-y:auto;z-index:600}
.tc-person-drop.open{display:block}
.tc-person-opt{padding:8px 12px;font-size:13px;color:#1a1a1a;cursor:pointer;line-height:1.3}
.tc-person-opt:hover,.tc-person-opt.focused{background:#e8f0fb}
.tc-person-opt.selected{background:var(--mid);color:#fff}
.tc-person-opt.reset-opt{font-weight:700;border-bottom:1px solid #e8eef7;color:var(--navy)}
.tc-person-opt.reset-opt.selected{background:#e8f0fb;color:var(--navy)}
.tc-person-empty{padding:10px 12px;font-size:12px;color:var(--sub);font-style:italic;text-align:center}
.tc-person-group-label{padding:6px 12px 2px;font-size:9.5px;font-weight:700;letter-spacing:.08em;color:var(--sub);text-transform:uppercase;pointer-events:none;user-select:none}
.tc-event-bar.tc-bar-hidden{opacity:0;pointer-events:none}
/* MONTH VIEW — taller cells, better readability */
.tc-date-cell{min-height:64px;padding:6px 8px 4px}
.tc-date-num{font-size:13px;font-weight:600}
.tc-event-bar{height:24px;font-size:11.5px;border-radius:5px}
/* WEEK VIEW */
.tc-wk-grid{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}
.tc-wk-hdr-row{display:grid;grid-template-columns:repeat(7,1fr);background:#f8fafc;border-bottom:2px solid #e2e8f0}
.tc-wk-col-hdr{padding:10px 6px 8px;text-align:center;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;gap:4px}
.tc-wk-col-hdr:last-child{border-right:none}
.tc-wk-col-hdr.tc-today-hdr{background:#eef2ff}
.tc-wk-col-hdr.tc-holiday-hdr{background:#fef3e0}
.tc-wk-holiday-lbl{font-size:9.5px;font-weight:700;color:#b45309;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tc-wk-dow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#888}
.tc-wk-date-num{font-size:20px;font-weight:700;color:#1e293b;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.tc-wk-date-num.tc-wk-today-num{background:var(--navy);color:#fff}
.tc-wk-body-row{display:grid;grid-template-columns:repeat(7,1fr)}
.tc-wk-col{min-height:180px;padding:8px 6px;border-right:1px solid #e2e8f0;background:#fff;display:flex;flex-direction:column;gap:5px}
.tc-wk-col:last-child{border-right:none}
.tc-wk-col.tc-wk-today{background:#fafbff}
.tc-wk-event{padding:5px 7px;border-radius:5px;font-size:11.5px;display:flex;flex-direction:column;gap:1px;cursor:default;position:relative}
.tc-wk-event-name{font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-wk-event-type{font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-wk-empty{color:#ccc;font-size:11px;display:block;text-align:center;margin-top:8px}
/* DAY VIEW */
.tc-day-wrap{padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;min-height:180px}
.tc-day-wrap.tc-day-today{border-color:var(--navy);box-shadow:0 0 0 2px rgba(10,31,60,.08)}
.tc-day-holiday-banner{background:#fef3e0;color:#b45309;font-size:13px;font-weight:700;padding:9px 14px;border-radius:6px;margin-bottom:14px}
.tc-day-group{margin-bottom:18px}
.tc-day-group:last-child{margin-bottom:0}
.tc-day-group-hdr{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--sub);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #e2e8f0}
.tc-day-event{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;background:#f8fafc;margin-bottom:5px;gap:12px}
.tc-day-event strong{font-size:13px;color:#1e293b}
.tc-day-event-range{font-size:11px;color:#64748b;white-space:nowrap}
.tc-del-btn{margin-left:4px;background:none;border:none;color:inherit;opacity:.5;cursor:pointer;font-size:13px;font-weight:700;padding:0 2px;line-height:1;flex-shrink:0}
.ops-holiday-del-btn{background:none;border:none;color:#c0392b;opacity:.65;cursor:pointer;font-size:14px;font-weight:700;padding:2px 7px;line-height:1;border-radius:4px;transition:all .15s}
.ops-holiday-del-btn:hover{opacity:1;background:rgba(192,57,43,.1)}
.tc-del-btn:hover{opacity:1}
.tc-day-empty{color:#999;font-size:13px;font-style:italic;text-align:center;padding:32px 0}
/* ── MT RF-linked due date cells ── */
.mt-rf-due{font-size:13px;color:#334155;white-space:nowrap}
.mt-rf-due-overdue{color:#dc2626;font-weight:700}
/* ── Meeting Tracker tab bar ── */
/* FY pills + tracker toggle render as quiet segmented controls in the topbar. */
.mt-tab-seg{display:inline-flex;gap:2px;padding:2px;background:var(--mn-hover,#eef1f8);border:1px solid var(--mn-line,#d0d4e4);border-radius:8px;flex-shrink:0}
.mt-tab{padding:0 15px;height:28px;border:0;border-radius:6px;background:transparent;font-family:inherit;font-size:12.5px;font-weight:600;color:#4a5a7a;cursor:pointer;transition:color .15s,background .15s,box-shadow .15s;letter-spacing:.01em}
.mt-tab:hover{color:#101635}
.mt-tab.active{background:#fff;color:var(--mn-primary,#0073ea);box-shadow:0 1px 2px rgba(50,51,56,.16)}
/* FY pills — a second, smaller group left of the sub-tabs */
.mt-fy-tabs{display:inline-flex;gap:2px;padding:2px;background:var(--mn-hover,#eef1f8);border:1px solid var(--mn-line,#d0d4e4);border-radius:8px;flex-shrink:0}
.mt-fy-pill{padding:0 12px;height:24px;border:0;border-radius:6px;background:transparent;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.02em;color:#64748b;cursor:pointer;transition:color .15s,background .15s,box-shadow .15s}
.mt-fy-pill:hover{color:#101635}
.mt-fy-pill.active{background:#fff;color:var(--mn-primary,#0073ea);box-shadow:0 1px 2px rgba(50,51,56,.16)}
#mt-meetings-body{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
#tab-staff-portal #page-mt.active #mt-meetings-body{flex:1;display:flex;flex-direction:column;min-height:0}
#tab-staff-portal #page-mt.active #mt-rf-body{flex:1;overflow:auto;min-height:0}
#tab-staff-portal #page-mt.active #mt-mm-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
@media(max-width:900px){#tab-staff-portal #page-mt.active #mt-mm-body{display:block;overflow:visible}}
/* Political Capital fills it the same way: leaderboard left, clients right. */
#tab-staff-portal #page-mt.active #mt-cap-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
@media(max-width:900px){#tab-staff-portal #page-mt.active #mt-cap-body{display:block;overflow:visible}}
/* ── Request Form Tracker ── */
.rf-wrap{display:flex;flex-direction:column;gap:12px;padding:8px 0 24px;height:100%;box-sizing:border-box}
.rf-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}
.rf-add-btn{height:38px;padding:0 16px;border:none;border-radius:10px;background:#101635;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.rf-add-btn:hover{background:#1e2d5e}
.rf-search{height:38px;padding:0 12px;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;font-family:inherit;font-size:13px;min-width:180px;flex:1;max-width:320px}
.rf-row-count{font-size:12px;color:#94a3b8;font-weight:600;white-space:nowrap;margin-left:2px}
/* RF table reuses mt-table styles; these patch the differences */
.rf-table{width:100%;table-layout:fixed}
.rf-table th{user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px}
.rf-table th:hover{background:#eef2fb}
.rf-table tbody tr:hover{background:#c6d5f5}
.rf-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
/* Column widths — 10 columns totalling 100% */
.rf-table col.rf-col-member  {width:17%}
.rf-table col.rf-col-ncnt    {width:7%}
.rf-table col.rf-col-nst     {width:11%}
.rf-table col.rf-col-ndue    {width:9%}
.rf-table col.rf-col-nlink   {width:8%}
.rf-table col.rf-col-acnt    {width:7%}
.rf-table col.rf-col-adue    {width:10%}
.rf-table col.rf-col-alink   {width:8%}
.rf-table col.rf-col-ast     {width:13%}
.rf-table col.rf-col-actions {width:10%}
.rf-editing-row{background:#fafbff}
.rf-editing-row td{padding:5px 4px;vertical-align:top}
/* Status badges */
.rf-st-badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.rf-st-have{background:#dcfce7;color:#166534}
.rf-st-need{background:#fee2e2;color:#991b1b}
.rf-st-req{background:#fef9c3;color:#854d0e}
.rf-st-na{background:#f1f5f9;color:#64748b}
/* Count badges */
.rf-cnt-badge{display:inline-block;min-width:24px;padding:1px 6px;border-radius:12px;background:#e0e7ff;color:#3730a3;font-size:16px;font-weight:700;text-align:center}
/* Due date cells */
.rf-due{font-size:16px;color:#334155;white-space:nowrap}
.rf-overdue{color:#dc2626;font-weight:700}
/* Link cells */
.rf-link-td a{color:#2563eb;font-size:16px;text-decoration:none;white-space:nowrap}
.rf-link-td a:hover{text-decoration:underline}
/* Full-bleed status select (table cells) */
#rf-table td:has(>.rf-cell-select){padding:0}
.rf-cell-select{width:100%;height:100%;min-height:36px;border:none;border-radius:0;font-family:inherit;font-size:16px;font-weight:600;padding:0 8px;cursor:pointer;appearance:auto}
.rf-cell-select:hover{filter:brightness(.95)}
.rf-cell-select:focus{outline:2px solid #101635;outline-offset:-2px}
/* Custom date picker (3 inline selects) */
.rf-date-picker{display:flex;gap:3px;align-items:center}
.rf-dp-sel{flex:1;min-width:0;border:1.5px solid #dbe3f0;border-radius:6px;background:#fff;font-family:inherit;font-size:16px;padding:4px 2px}
/* Inline edit */
.rf-edit-input{width:100%;border:1.5px solid #dbe3f0;border-radius:6px;background:#fff;font-family:inherit;font-size:16px;padding:4px 8px;box-sizing:border-box}
.rf-edit-input:focus{outline:2px solid #3b82f6;border-color:transparent}
.rf-edit-select{width:100%;border:1.5px solid #dbe3f0;border-radius:6px;background:#fff;font-family:inherit;font-size:16px;padding:4px 6px}
.rf-save-btn{padding:4px 12px;border:none;border-radius:6px;background:#101635;color:#fff;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer}
.rf-save-btn:hover{background:#1e2d5e}
.rf-cancel-btn{padding:4px 10px;border:1.5px solid #dbe3f0;border-radius:6px;background:#fff;font-family:inherit;font-size:16px;font-weight:600;color:#64748b;cursor:pointer}
.rf-cancel-btn:hover{background:#f4f6fd;color:#101635}
/* Add modal */
.rf-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:9000}
.rf-modal-box{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(15,23,42,.22);padding:28px 30px 24px;width:min(640px,95vw);max-height:90vh;overflow-y:auto}
.rf-modal-hd{font-size:18px;font-weight:800;color:#101635;margin-bottom:18px}
.rf-modal-body{display:flex;flex-direction:column;gap:12px}
.rf-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid #e3e9f6}
.rf-field{display:flex;flex-direction:column;gap:4px;flex:1}
.rf-field-wide{flex:2}
.rf-field-row{display:flex;gap:12px;flex-wrap:wrap}
.rf-field-section{font-size:12px;font-weight:700;color:#5b6b83;text-transform:uppercase;letter-spacing:.05em;margin-top:6px;padding-bottom:4px;border-bottom:1px solid #e3e9f6}
.rf-label{font-size:12px;font-weight:700;color:#5b6b83}
.rf-loading{padding:40px;text-align:center;color:#94a3b8;font-size:14px}
.rf-empty{padding:40px;text-align:center;color:#94a3b8;font-size:14px;font-style:italic}
/* Discrepancy alert banner */
/* Member name click-to-expand */
.rf-name-cell{transition:background .15s}
.rf-name-cell:hover{background:#f4f6fd}
.rf-name-inner{display:flex;align-items:flex-start;gap:6px}
.rf-chev{font-size:11px;color:#94a3b8;margin-top:3px;flex-shrink:0;user-select:none}
.rf-row-open .rf-name-cell{background:#f0f4ff}
/* Expand row sub-table */
.rf-expand-row td{padding:0;border-top:none}
.rf-expand-wrap{background:#f8faff;border-top:2px solid #dbeafe;padding:10px 18px 14px 36px;display:flex}
.rf-expand-table{display:inline-table;border-collapse:collapse;font-size:13px;margin-top:4px}
.rf-expand-table th{text-align:left;padding:5px 8px;background:#eef2fb;color:#334155;font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.rf-expand-table td{padding:5px 8px;border-bottom:1px solid #e8edf7;color:#334155;vertical-align:top;white-space:nowrap}
.rf-expand-table tbody tr:last-child td{border-bottom:none}
.rf-expand-table tbody tr:hover td{background:#edf2fb}
.rf-expand-empty{padding:14px 0;color:#94a3b8;font-size:13px;font-style:italic}

/* ── Client Assignments (redesigned 2026-10-21 in the BD Trips style) ───────
   A white page in the same visual language as bd-trips.css: a head card with
   underlined view tabs, a toolbar, summary tiles and role-grouped boards with
   a coloured bar per group. Every rule is scoped to #page-ca; the ones that
   must beat the portal's generic table rules carry #tab-staff-portal too
   (those rules are 1,0,x and some phone ones are !important). The page is
   allowed to overflow — the old card clipped the staff dropdown at its edge. */
#page-ca{
  --ca-text:#323338;--ca-text-2:#676879;--ca-text-3:#8b8e9c;--ca-placeholder:#a3a6b4;
  --ca-line:#e6e9ef;--ca-line-2:#d0d4e4;--ca-surface:#fff;--ca-hover:#f5f6f8;--ca-soft:#f7f8fb;
  --ca-primary:#0073ea;--ca-primary-h:#0060b9;--ca-selected:#e5f1ff;
  font-family:Figtree,-apple-system,'Segoe UI',system-ui,Roboto,sans-serif;
  color:var(--ca-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
#page-ca *{box-sizing:border-box}
#page-ca button{font-family:inherit;cursor:pointer}
#tab-staff-portal #page-ca{max-width:none;width:100%;margin:0;border-radius:0;box-shadow:none;background:var(--ca-surface);
  padding:0 0 48px;overflow:visible;color:var(--ca-text);min-height:calc(100vh - 163px)}
#tab-staff-portal:has(#page-ca.active){background:#fff}
#page-ca .ca-wrap{max-width:1180px;margin:0 auto;padding:20px 20px 0}

/* Head card */
#page-ca .ca-head{background:var(--ca-surface);border:1px solid var(--ca-line);border-bottom:none;border-radius:10px 10px 0 0;
  padding:16px 20px 0;box-shadow:0 1px 2px rgba(50,51,56,.05)}
#page-ca .ca-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
#page-ca .ca-head-text{min-width:0}
#page-ca .ca-title{font-size:22px;font-weight:700;letter-spacing:-.2px;line-height:1.15;margin:0;color:var(--ca-text)}
#page-ca .ca-eyebrow{font-size:12.5px;color:var(--ca-text-2);margin-top:5px;font-weight:500;line-height:1.5}
#page-ca .ca-eyebrow strong{color:var(--ca-text);font-weight:600}
#page-ca .ca-conf{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a5b00}
#page-ca .ca-sep{margin:0 7px;color:var(--ca-text-3)}
#page-ca .ca-new{height:34px;border:none;border-radius:5px;background:var(--ca-primary);color:#fff;font-size:13px;font-weight:600;
  padding:0 16px;white-space:nowrap;flex-shrink:0}
#page-ca .ca-new:hover{background:var(--ca-primary-h)}
#page-ca .ca-new:focus-visible{outline:2px solid var(--ca-primary);outline-offset:2px}
#page-ca .ca-views{display:flex;gap:20px;margin-top:14px}
#page-ca .ca-view{border:none;background:transparent;padding:0 0 10px;font-size:13.5px;font-weight:500;color:var(--ca-text-2);
  border-bottom:2px solid transparent;margin-bottom:-1px}
#page-ca .ca-view:hover{color:var(--ca-text)}
#page-ca .ca-view.active{font-weight:600;color:var(--ca-text);border-bottom-color:var(--ca-primary)}
#page-ca .ca-view:focus-visible{outline:2px solid var(--ca-primary);outline-offset:2px;border-radius:3px}

/* Toolbar */
#page-ca .ca-tools{position:relative;z-index:5;background:var(--ca-soft);border:1px solid var(--ca-line);border-radius:0 0 10px 10px;
  padding:10px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:0 1px 2px rgba(50,51,56,.05)}
#page-ca .ca-spacer{flex:1}
#page-ca .ca-count{font-size:12.5px;font-weight:600;color:var(--ca-text-2);white-space:nowrap}

/* Search-or-pick boxes (staff and client) */
#tab-staff-portal #page-ca .staff-combobox{flex:1 1 340px;max-width:480px;min-width:0}
#tab-staff-portal #page-ca .staff-combobox::after{content:'';width:8px;height:5px;right:12px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath fill='%23676879' d='M0 0l4 5 4-5z'/%3E%3C/svg%3E") no-repeat center}
#tab-staff-portal #page-ca .staff-search{height:36px;padding:0 32px 0 33px;border:1px solid var(--ca-line-2);border-radius:6px;
  font-size:13.5px;font-weight:500;color:var(--ca-text);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='%239699a6' stroke-width='1.6'/%3E%3Cpath d='M11 11l3.5 3.5' stroke='%239699a6' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 11px center}
#tab-staff-portal #page-ca .staff-search::placeholder{color:var(--ca-placeholder);font-weight:400}
#tab-staff-portal #page-ca .staff-search:focus{outline:none;border-color:var(--ca-primary);box-shadow:0 0 0 3px rgba(0,115,234,.13);cursor:text}
#tab-staff-portal #page-ca .staff-drop{top:calc(100% + 6px);border:1px solid var(--ca-line);border-radius:8px;padding:4px 0;
  box-shadow:0 10px 28px rgba(31,41,55,.16);max-height:min(380px,60vh);overscroll-behavior:contain;z-index:600}
#tab-staff-portal #page-ca .staff-drop-group{padding:2px 0}
#tab-staff-portal #page-ca .staff-drop-group+.staff-drop-group{border-top:1px solid var(--ca-line)}
#tab-staff-portal #page-ca .staff-drop-group-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--ca-text-3);padding:8px 14px 4px}
#tab-staff-portal #page-ca .staff-drop-opt{display:flex;align-items:center;gap:9px;min-height:36px;padding:6px 14px;
  font-size:13.5px;font-weight:500;color:var(--ca-text)}
#tab-staff-portal #page-ca .staff-drop-opt:hover,#tab-staff-portal #page-ca .staff-drop-opt.focused{background:var(--ca-hover)}
#tab-staff-portal #page-ca .staff-drop-opt.selected{background:var(--ca-selected);color:var(--ca-text);font-weight:600}
#tab-staff-portal #page-ca .staff-drop-empty{color:var(--ca-text-3);font-style:normal}

/* People bubbles — same palette and hash as BD Trips and Team Clients */
#page-ca .ca-av{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;
  font-size:10.5px;font-weight:600;letter-spacing:.2px;line-height:1;color:#fff}
#page-ca .ca-av-sm{width:22px;height:22px;font-size:9.5px}
#page-ca .ca-av-lg{width:48px;height:48px;font-size:17px;font-weight:700}
#page-ca .ca-av-client{background:#1F3864;border-radius:12px}
#page-ca .ca-people{display:flex;flex-wrap:wrap;gap:5px 14px}
#page-ca .ca-person{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}
#page-ca .ca-person-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-ca .ca-person-tag{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ca-text-3)}
#page-ca .ca-dash{color:var(--ca-text-3)}

/* Summary: who this is, then the tiles */
#page-ca .ca-sum{margin-top:18px;display:flex;flex-direction:column;gap:12px}
#page-ca .ca-sum-id{display:flex;align-items:center;gap:13px;min-width:0}
#page-ca .ca-sum-text{min-width:0}
#page-ca .ca-sum-name{font-size:18px;font-weight:700;letter-spacing:-.1px;line-height:1.2;overflow-wrap:anywhere}
#page-ca .ca-sum-sub{font-size:12.5px;color:var(--ca-text-2);font-weight:500;margin-top:2px}
#page-ca .ca-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
#page-ca .ca-kpi{background:var(--ca-surface);border:1px solid var(--ca-line);border-radius:10px;padding:13px 16px;position:relative;
  overflow:hidden;box-shadow:0 1px 2px rgba(50,51,56,.05)}
#page-ca .ca-kpi-band{height:3px;position:absolute;top:0;left:0;right:0;background:var(--ca-line)}
#page-ca .ca-kpi-n{font-size:10.5px;font-weight:600;color:var(--ca-text-3);text-transform:uppercase;letter-spacing:.065em;margin-bottom:7px}
#page-ca .ca-kpi-v{font-size:30px;font-weight:700;letter-spacing:-.05em;line-height:1;margin-bottom:4px;font-variant-numeric:tabular-nums}
#page-ca .ca-kpi-d{font-size:11px;color:var(--ca-text-3)}
#page-ca .k-brand .ca-kpi-band{background:#1F3864}#page-ca .k-brand .ca-kpi-v{color:#1F3864}
#page-ca .k-blue .ca-kpi-band{background:#0073ea}#page-ca .k-blue .ca-kpi-v{color:#0060b9}
#page-ca .k-ok .ca-kpi-band{background:#00c875}#page-ca .k-ok .ca-kpi-v{color:#037f4c}
#page-ca .k-purple .ca-kpi-band{background:#a25ddc}#page-ca .k-purple .ca-kpi-v{color:#7e3b8a}
#page-ca .k-warn .ca-kpi-band{background:#fdab3d}#page-ca .k-warn .ca-kpi-v{color:#9a5b00}

/* Boards, one per role */
#page-ca .ca-board{margin-top:20px}
#page-ca .ca-group{margin-bottom:22px}
#page-ca .ca-group-hd{display:flex;align-items:baseline;gap:8px;padding:0 0 7px 2px;flex-wrap:wrap}
#page-ca .ca-group-name{font-size:14px;font-weight:700;letter-spacing:-.1px;color:var(--ca-group,#1F3864)}
#page-ca .ca-group-count{font-size:12.5px;color:var(--ca-text-3);font-weight:500}
#page-ca .ca-tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--ca-line);border-radius:8px;background:#fff}
#tab-staff-portal #page-ca .ca-tbl{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px;background:#fff}
#page-ca .ca-col-bar{width:6px}
#tab-staff-portal #page-ca .ca-tbl thead th{height:34px;padding:0 12px;text-align:left;background:var(--ca-soft);color:var(--ca-text-2);
  font-size:12px;font-weight:500;text-transform:none;letter-spacing:normal;border-bottom:1px solid var(--ca-line);white-space:nowrap;
  cursor:pointer;user-select:none}
#tab-staff-portal #page-ca .ca-tbl thead th:hover{background:var(--ca-hover);color:var(--ca-text)}
#tab-staff-portal #page-ca .ca-tbl thead th:focus-visible{outline:2px solid var(--ca-primary);outline-offset:-2px}
#tab-staff-portal #page-ca .ca-tbl thead th.ca-c-bar{padding:0;cursor:default;background:var(--ca-group,#1F3864)}
#tab-staff-portal #page-ca .ca-tbl tbody tr,#tab-staff-portal #page-ca .ca-tbl tbody tr:nth-child(even){background:transparent;border-bottom:none}
#tab-staff-portal #page-ca .ca-tbl td{padding:9px 12px;vertical-align:middle;line-height:1.35;color:var(--ca-text);border-bottom:1px solid var(--ca-line)}
#tab-staff-portal #page-ca .ca-tbl tbody tr:last-child td{border-bottom:none}
#tab-staff-portal #page-ca .ca-tbl td.ca-c-bar{padding:0;background:var(--ca-group,#1F3864)}
@media(hover:hover){#tab-staff-portal #page-ca .ca-tbl tbody tr:hover td:not(.ca-c-bar){background:var(--ca-hover)}}
#page-ca .ca-c-name{font-weight:600}
#page-ca .ca-pill{display:inline-flex;align-items:center;max-width:100%;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;
  line-height:1.35;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Empty and placeholder states */
#page-ca .ca-ph{margin-top:18px}
#page-ca .ca-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:56px 24px;
  background:var(--ca-soft);border:1px dashed var(--ca-line-2);border-radius:10px}
#page-ca .ca-state-i{font-size:30px;opacity:.75;line-height:1.2}
#page-ca .ca-state-t{font-size:15px;font-weight:700}
#page-ca .ca-state-d{font-size:13px;color:var(--ca-text-2);max-width:52ch;line-height:1.55}
#page-ca .ca-foot{margin-top:22px;font-size:11.5px;color:var(--ca-text-3);text-align:center;line-height:1.6}

/* Phones: every row becomes a card with its role colour down the left edge,
   touch targets are 44px, and the search box is 16px so iPhones do not zoom
   the page when it is tapped. */
@media(max-width:599px){
  #tab-staff-portal #page-ca{min-height:calc(100vh - 120px)}
  #page-ca .ca-wrap{padding:12px 12px 0}
  #page-ca .ca-head{padding:14px 14px 0}
  #page-ca .ca-head-top{gap:12px}
  #page-ca .ca-title{font-size:20px}
  #page-ca .ca-new{width:100%;height:42px;font-size:14px}
  #page-ca .ca-views{gap:0;margin-top:12px}
  #page-ca .ca-view{flex:1;min-height:42px;padding:8px 0 10px;font-size:14px}
  #page-ca .ca-tools{padding:10px 12px;gap:8px}
  #tab-staff-portal #page-ca .staff-combobox{flex-basis:100%;max-width:none}
  #tab-staff-portal #page-ca .staff-search{height:44px;font-size:16px}
  #tab-staff-portal #page-ca .staff-drop{max-height:min(340px,55vh)}
  #tab-staff-portal #page-ca .staff-drop-opt{min-height:44px;font-size:15px}
  #page-ca .ca-spacer{display:none}
  #page-ca .ca-count{width:100%}
  #page-ca .ca-sum{margin-top:14px}
  #page-ca .ca-av-lg{width:42px;height:42px;font-size:15px}
  #page-ca .ca-sum-name{font-size:17px}
  #page-ca .ca-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #page-ca .ca-kpi:last-child:nth-child(odd){grid-column:1/-1}
  /* The one-line wordmark is too wide beside the Print button on a phone, so
     this page keeps the stacked mark there (BD Trips has no Print button). */
  #tab-staff-portal:has(#page-ca.active) .sp-logo-stack{display:block}
  #tab-staff-portal:has(#page-ca.active) .sp-logo-1line{display:none}
  /* Print / PDF only shows on this page, and the even 1fr|auto|1fr split pushed
     it ~30px past a phone's right edge. Let the middle column give way instead. */
  #tab-staff-portal:has(#page-ca.active) #sp-header{grid-template-columns:auto minmax(0,1fr) auto;gap:6px}
  #tab-staff-portal:has(#page-ca.active) #sp-titles{min-width:0;overflow:hidden}
  #tab-staff-portal:has(#page-ca.active) #sp-titles .topbar-logo-svg{max-width:100%}
  #page-ca .ca-kpi{padding:11px 12px}
  #page-ca .ca-kpi-v{font-size:24px}
  #page-ca .ca-board{margin-top:16px}
  #page-ca .ca-group{margin-bottom:18px}
  #page-ca .ca-tbl-scroll{overflow:visible;border:none;border-radius:0;background:transparent}
  #tab-staff-portal #page-ca .ca-tbl{display:block!important;min-width:0;table-layout:auto;background:transparent}
  #tab-staff-portal #page-ca .ca-tbl colgroup,#tab-staff-portal #page-ca .ca-tbl thead{display:none!important}
  #tab-staff-portal #page-ca .ca-tbl tbody{display:flex!important;flex-direction:column;gap:8px}
  #tab-staff-portal #page-ca .ca-tbl tbody tr,#tab-staff-portal #page-ca .ca-tbl tbody tr:nth-child(even){display:flex!important;flex-direction:column;gap:9px;
    background:#fff!important;border:1px solid var(--ca-line);border-left:4px solid var(--ca-group,#1F3864);border-radius:8px;padding:12px 14px;
    box-shadow:0 1px 2px rgba(50,51,56,.05)}
  #tab-staff-portal #page-ca .ca-tbl td{display:block!important;padding:0;border:none;margin:0;background:transparent}
  #tab-staff-portal #page-ca .ca-tbl td.ca-c-bar{display:none!important}
  #tab-staff-portal #page-ca .ca-tbl td[data-label]::before{font-size:10.5px;letter-spacing:.06em;color:var(--ca-text-3);margin-bottom:4px}
  #tab-staff-portal #page-ca .ca-tbl td.ca-c-name{font-size:15.5px;font-weight:700;padding-bottom:9px;border-bottom:1px solid var(--ca-line)}
  #tab-staff-portal #page-ca .ca-tbl td.ca-c-name::before,#tab-staff-portal #page-ca .ca-tbl td.ca-c-role::before{display:none}
  #page-ca .ca-pill,#page-ca .ca-person-n{white-space:normal}
  /* A staff member's boards are already headed by the role, so the pill would
     only repeat it on every card. The client team keeps it: there it IS the role. */
  #tab-staff-portal #page-ca .ca-tbl.ca-by-role td.ca-c-role{display:none!important}
  #page-ca .ca-state{padding:40px 18px}
}

/* Print / PDF: the report, without the controls */
@media print{
  #tab-staff-portal #page-ca{min-height:0;padding:0}
  #page-ca .ca-wrap{padding:0}
  #page-ca .ca-views,#page-ca .ca-new,#page-ca .ca-tools .staff-combobox{display:none!important}
  #page-ca .ca-head{border-bottom:1px solid var(--ca-line);padding-bottom:14px;box-shadow:none}
  #page-ca .ca-tools{background:#fff;box-shadow:none}
  #page-ca .ca-tools:has(.ca-count.js-hidden){display:none}
  #page-ca .ca-tbl-scroll{overflow:visible}
  #tab-staff-portal #page-ca .ca-tbl{min-width:0}
  #page-ca .ca-tbl tr{break-inside:avoid}
  #page-ca .ca-pill,#page-ca .ca-av,#page-ca .ca-c-bar,#page-ca .ca-kpi-band{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
