:root{
  --bg:#f3f6fb;--panel:#fff;--ink:#111827;--muted:#718096;--line:#e7ebf2;
  --nav:#0b1220;--nav2:#111c31;--accent:#4f6ef7;--accent2:#6d5dfc;
  --ok:#16a36a;--warn:#d18b13;--shadow:0 14px 42px rgba(22,34,60,.07);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
button{font:inherit}.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--nav),#0c1526);color:#d9e1ee;padding:24px 18px;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#5b73fa,#8f62f4);font-weight:800;color:#fff;box-shadow:0 8px 24px #526cf844}
.brand strong,.brand span{display:block}.brand strong{font-size:15px;color:#fff}.brand span{font-size:13px;color:#8fa0ba;margin-top:2px}
.workspace{margin:0 4px 18px;padding:14px;border:1px solid #243049;border-radius:14px;background:#111c2e}.workspace strong,.workspace span{display:block}.workspace strong{font-size:13px;color:#fff;margin:4px 0}.workspace span{font-size:11px;color:#8191ab}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#8d9aae;margin:0}.nav{overflow:auto;padding-right:3px}.nav-section{font-size:9px;letter-spacing:.15em;font-weight:800;color:#5f718f;padding:18px 12px 7px}
.nav-item{width:100%;height:42px;border:0;border-radius:11px;background:transparent;color:#9cacbf;display:flex;align-items:center;gap:11px;padding:0 12px;text-align:left;margin:2px 0;cursor:default}.nav-item.active{background:#192741;color:#fff}.nav-item .icon{width:20px;text-align:center;color:#90a4c5}.nav-item small{margin-left:auto;font-size:8px;color:#617590}.nav-item:disabled{opacity:.74}
.sidebar-footer{margin-top:auto;border-top:1px solid #1d2a40;padding:18px 8px 2px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#667792}.mini-status{display:flex;align-items:center;gap:7px}.mini-status i{width:7px;height:7px;border-radius:50%;background:#d18b13}
.main{padding:30px 36px 24px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{margin:5px 0 0;font-size:26px;letter-spacing:-.03em}.top-actions{display:flex;align-items:center;gap:12px}.date-pill{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:12px;color:#596579}.avatar{width:39px;height:39px;border-radius:12px;background:#101a2c;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.hero{background:linear-gradient(125deg,#111b30,#1d2c4c 58%,#384f91);border-radius:22px;color:#fff;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:270px;height:270px;border:1px solid #ffffff18;border-radius:50%;right:-70px;top:-120px}.phase-chip{display:inline-block;padding:7px 10px;border:1px solid #ffffff20;border-radius:999px;background:#ffffff10;font-size:9px;letter-spacing:.12em;font-weight:800}.hero h2{font-size:29px;letter-spacing:-.03em;margin:15px 0 8px}.hero p{max-width:670px;color:#bec9db;font-size:13px;line-height:1.65;margin:0}.hero-badge{z-index:1;min-width:170px;background:#ffffff10;border:1px solid #ffffff18;border-radius:16px;padding:15px;display:flex;gap:12px;align-items:center}.hero-badge strong,.hero-badge small{display:block}.hero-badge strong{font-size:13px}.hero-badge small{font-size:9px;color:#9daec7;margin-top:3px}.pulse{width:11px;height:11px;border-radius:50%;background:#e9a72f;box-shadow:0 0 0 7px #e9a72f1c}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:18px 19px;box-shadow:0 5px 20px rgba(20,34,61,.025)}.metric-card span,.metric-card small{display:block}.metric-card span{font-size:11px;color:#637086;font-weight:650}.metric-card strong{display:block;font-size:25px;margin:13px 0 7px}.metric-card small{font-size:9px;color:#9aa5b5}
.content-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:14px;margin-bottom:14px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px;box-shadow:0 6px 24px rgba(25,36,61,.025)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.panel-head h3{font-size:16px;margin:4px 0 0;letter-spacing:-.02em}.badge{font-size:9px;font-weight:800;padding:7px 10px;border-radius:999px;background:#f0f2f7;color:#68758a}.badge.ok{background:#e9f8f1;color:#0f8d5c}.badge.error{background:#fff0f0;color:#c63f3f}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.service{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:center;gap:11px}.service-dot{width:9px;height:9px;border-radius:50%;background:#c9cfda}.service.ok .service-dot{background:var(--ok);box-shadow:0 0 0 5px #16a36a13}.service.error .service-dot{background:#cf4a4a}.service strong,.service span{display:block}.service strong{font-size:11px}.service span{font-size:9px;color:#8d98aa;margin-top:3px}
.skeleton{height:62px;border-radius:14px;background:linear-gradient(90deg,#f3f5f8,#e9edf3,#f3f5f8);background-size:200% 100%;animation:sh 1.5s infinite}@keyframes sh{to{background-position:-200% 0}}
.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:grid;grid-template-columns:18px 1fr auto;gap:10px;position:relative;padding:8px 0 13px}.timeline-item:not(:last-child):after{content:"";position:absolute;left:5px;top:22px;height:24px;border-left:1px solid #e0e5ed}.timeline-item i{width:11px;height:11px;border-radius:50%;border:2px solid #ced5e0;background:#fff;margin-top:2px;z-index:1}.timeline-item.current i{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 5px #4f6ef714}.timeline-item strong,.timeline-item span{display:block}.timeline-item strong{font-size:11px}.timeline-item span{font-size:9px;color:#95a0b1;margin-top:3px}.timeline-item b{font-size:8px;color:var(--ok);letter-spacing:.08em}
.module-panel{margin-bottom:14px}.soft-note{font-size:9px;color:#8b97aa}.module-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.module-card{border:1px solid var(--line);border-radius:13px;padding:13px;min-height:82px;background:#fbfcfe}.module-card .module-icon{width:28px;height:28px;border-radius:9px;background:#eef1f7;display:grid;place-items:center;color:#67758d;font-size:11px;margin-bottom:10px}.module-card strong{display:block;font-size:10px}.module-card span{font-size:8px;color:#9aa5b5;display:block;margin-top:4px}
footer{display:flex;justify-content:space-between;color:#9aa5b5;font-size:9px;padding:4px 3px 0}
@media(max-width:1100px){.app-shell{grid-template-columns:220px 1fr}.main{padding:24px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto}.nav,.workspace{display:none}.main{padding:18px}.hero{display:block}.hero-badge{margin-top:20px}.metrics-grid,.content-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}.top-actions .date-pill{display:none}}

[hidden]{display:none!important}
button{font-family:inherit}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) 1fr;background:#f4f7fb}
.login-card{background:#fff;padding:54px 58px;display:flex;flex-direction:column;justify-content:center;box-shadow:16px 0 50px rgba(25,40,70,.06);z-index:1}
.login-brand{display:flex;gap:13px;align-items:center;margin-bottom:64px}.brand-mark.big{width:48px;height:48px}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:15px}.login-brand span{font-size:11px;color:#8b97aa;margin-top:3px}
.login-copy h1{font-size:34px;letter-spacing:-.04em;margin:8px 0}.login-copy p{font-size:12px;color:#7a8799;line-height:1.6;margin:0 0 28px}
.login-card form label,.modal label{display:block;font-size:10px;font-weight:700;color:#556176;margin:14px 0}.login-card input,.modal input{display:block;width:100%;margin-top:7px;height:44px;border:1px solid #dfe5ee;border-radius:11px;padding:0 13px;background:#fbfcfe;outline:none;color:#172033}.login-card input:focus,.modal input:focus{border-color:#6a78f7;box-shadow:0 0 0 3px #6575f713}
.primary,.secondary{border:0;border-radius:11px;height:40px;padding:0 17px;font-weight:750;font-size:10px;cursor:pointer}.primary{background:#536df5;color:white;box-shadow:0 6px 18px #536df526}.secondary{background:#eef1f6;color:#4d5b70}.wide{width:100%;margin-top:10px}.form-error{min-height:17px;color:#c74444;font-size:9px;margin:4px 0}.login-foot{font-size:9px;color:#a0aabc;text-align:center;margin-top:30px}
.login-art{background:linear-gradient(130deg,#0c1424,#172845 56%,#344b8a);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:70px}.login-art:before,.login-art:after{content:"";position:absolute;border:1px solid #ffffff10;border-radius:50%}.login-art:before{width:620px;height:620px;right:-160px;top:-230px}.login-art:after{width:360px;height:360px;left:22%;top:17%}.login-art-content{position:relative;z-index:1;color:#fff;max-width:590px}.login-art-content span{font-size:9px;letter-spacing:.18em;color:#8fa5cb;font-weight:800}.login-art-content h2{font-size:33px;letter-spacing:-.035em;line-height:1.18;margin:13px 0}.login-art-content p{font-size:12px;color:#aebbd0;line-height:1.7}
.user-menu{border:0;background:white;border:1px solid var(--line);border-radius:13px;padding:5px 9px 5px 5px;display:flex;align-items:center;gap:8px}.user-menu strong,.user-menu small{display:block;text-align:left}.user-menu strong{font-size:10px}.user-menu small{font-size:8px;color:#8c98aa;margin-top:2px}.logout-btn{width:37px;height:37px;border-radius:11px;border:1px solid var(--line);background:#fff;color:#738096;cursor:pointer}
.timeline-item.done i{border-color:#16a36a;background:#16a36a}.timeline-item.done b{color:#16a36a}
.admin-summary{background:linear-gradient(125deg,#101a2e,#23385e);border-radius:20px;padding:26px 29px;color:white;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.admin-summary h2{margin:6px 0 5px;font-size:24px}.admin-summary p{margin:0;color:#afbdd2;font-size:11px}.admin-summary .primary{background:#fff;color:#24375c}
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.admin-stat span,.admin-stat small{display:block}.admin-stat span{font-size:9px;color:#8490a3}.admin-stat strong{display:block;font-size:23px;margin:7px 0 2px}.admin-stat small{font-size:8px;color:#a0aabc}
.admin-panel{min-height:420px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:-4px -2px 18px}.tab{border:0;background:none;padding:11px 14px;font-size:10px;font-weight:750;color:#8995a7;border-bottom:2px solid transparent;cursor:pointer}.tab.active{color:#425de6;border-color:#526df2}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:8px;letter-spacing:.08em;color:#9ba6b6;padding:10px;border-bottom:1px solid var(--line)}td{font-size:10px;padding:12px 10px;border-bottom:1px solid #f0f2f6;color:#536074}.user-cell strong,.user-cell span{display:block}.user-cell strong{color:#202b3d;font-size:10px}.user-cell span{font-size:8px;color:#9aa5b4;margin-top:2px}.role-chip{display:inline-block;background:#eef2ff;color:#5369d8;border-radius:999px;padding:4px 7px;font-size:8px;margin:2px}.status-chip{display:inline-block;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:700}.status-chip.on{background:#e9f8f1;color:#11875b}.status-chip.off{background:#f1f2f5;color:#7f8997}.row-actions{display:flex;gap:5px}.mini-btn{border:1px solid #e1e6ee;background:#fff;color:#657286;border-radius:8px;padding:5px 8px;font-size:8px;cursor:pointer}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.role-card{border:1px solid var(--line);border-radius:14px;padding:15px}.role-card strong{display:block;font-size:11px}.role-card p{font-size:9px;color:#8d98aa;line-height:1.5;min-height:27px}.permission-list{display:flex;flex-wrap:wrap;gap:4px}.permission-list span{font-size:7px;background:#f1f3f7;color:#788597;border-radius:6px;padding:4px 6px}
.audit-list{display:flex;flex-direction:column}.audit-item{display:grid;grid-template-columns:30px 1fr auto;gap:10px;padding:11px 3px;border-bottom:1px solid #eff2f5}.audit-icon{width:27px;height:27px;border-radius:8px;background:#eef2ff;color:#566be3;display:grid;place-items:center;font-size:10px}.audit-item strong,.audit-item span{display:block}.audit-item strong{font-size:9px;color:#283346}.audit-item span{font-size:8px;color:#8995a7;margin-top:3px}.audit-item time{font-size:8px;color:#a0aabb}
.modal-backdrop{position:fixed;inset:0;background:#07101dcc;z-index:50;display:grid;place-items:center;padding:20px}.modal{width:min(620px,96vw);background:#fff;border-radius:19px;padding:23px;box-shadow:0 30px 80px #0004}.small-modal{width:min(440px,96vw)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head h3{margin:5px 0 0}.close-btn{border:0;background:#f0f2f6;width:31px;height:31px;border-radius:9px;color:#718095;font-size:18px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.form-grid .full{grid-column:1/-1}.modal label small{display:block;font-size:8px;color:#9aa5b5;margin-top:5px}.role-picker>span{font-size:10px;font-weight:750;color:#566176}.role-picker>div{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:9px;max-height:190px;overflow:auto}.role-option{border:1px solid #e1e6ed;border-radius:10px;padding:9px;display:flex;align-items:center;gap:8px;font-size:9px;color:#566277}.role-option input{width:auto;height:auto;margin:0}.switch-row{display:flex!important;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.switch-row input{width:18px;height:18px;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.toast{position:fixed;right:24px;bottom:24px;z-index:100;background:#172238;color:#fff;padding:12px 16px;border-radius:12px;font-size:9px;box-shadow:0 12px 35px #0003}.toast.error{background:#9f3232}
@media(max-width:800px){.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:35px}.admin-stats{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

.company-summary{margin-bottom:14px}.company-ready-badge{border-radius:999px;padding:7px 11px;background:#fff2d8;color:#9b6812;font-size:9px;font-weight:800}.company-ready-badge.ready{background:#e9f8f1;color:#11875b}
.company-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:12px;margin-bottom:14px}.company-card,.company-status-card{min-height:390px}
.company-form-grid select,.company-form-grid input,.compact-select{display:block;width:100%;margin-top:7px;height:42px;border:1px solid #dfe5ee;border-radius:10px;padding:0 11px;background:#fbfcfe;color:#172033;outline:none;font-family:inherit;font-size:10px}.company-form-grid select:focus,.company-form-grid input:focus,.compact-select:focus{border-color:#6a78f7;box-shadow:0 0 0 3px #6575f713}
.form-actions{display:flex;justify-content:flex-end;margin-top:10px}.setup-list{display:flex;flex-direction:column;gap:3px}.setup-item{display:grid;grid-template-columns:16px 1fr;gap:8px;padding:11px 3px;border-bottom:1px solid #eff2f5}.setup-item i{width:10px;height:10px;border-radius:50%;margin-top:2px;background:#16a36a;box-shadow:0 0 0 4px #16a36a13}.setup-item.pending i{background:#d2d8e2;box-shadow:none}.setup-item strong,.setup-item span{display:block}.setup-item strong{font-size:10px}.setup-item span{font-size:8px;color:#909caf;margin-top:3px}.current-period-box{margin-top:18px;border-radius:14px;background:#f5f7fb;padding:15px}.current-period-box span,.current-period-box small{display:block}.current-period-box span{font-size:8px;letter-spacing:.1em;color:#91a0b5}.current-period-box strong{display:block;font-size:16px;margin:6px 0}.current-period-box small{font-size:8px;color:#8a97aa;line-height:1.5}
.fiscal-panel,.periods-panel{margin-bottom:14px}.compact-select{width:auto;min-width:210px;margin:0}.empty-row{text-align:center;padding:34px!important;color:#9ba5b3}.status-chip.closed{background:#f1f2f5;color:#677386}.status-chip.open{background:#e9f8f1;color:#11875b}.danger-mini{color:#a84343}.company-card form[aria-disabled="true"]{opacity:.76}.company-card form[aria-disabled="true"] input,.company-card form[aria-disabled="true"] select{pointer-events:none}
@media(max-width:980px){.company-layout{grid-template-columns:1fr}.company-form-grid{grid-template-columns:1fr}.company-form-grid .full{grid-column:auto}}

.accounting-summary{margin-bottom:14px}.accounting-panel{min-height:480px}.accounting-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:4px 0 14px}.accounting-toolbar strong,.accounting-toolbar span{display:block}.accounting-toolbar strong{font-size:12px}.accounting-toolbar span{font-size:8px;color:#8c98aa;margin-top:4px}.accounting-toolbar .row-actions{display:flex;gap:8px}.account-code{font-weight:800;font-variant-numeric:tabular-nums}.account-indent{display:inline-block}.type-chip{font-size:8px;font-weight:800;padding:4px 7px;border-radius:7px;background:#f0f3f8;color:#5d6879}.nature-chip{font-size:8px}.trial-controls{display:flex;align-items:end;gap:8px}.trial-controls label{font-size:8px;color:#7d8999}.trial-controls input{display:block;height:36px;border:1px solid #dfe5ee;border-radius:9px;padding:0 9px;margin-top:4px}.trial-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.trial-totals>div{border:1px solid #e6eaf0;border-radius:12px;padding:12px}.trial-totals span,.trial-totals strong{display:block}.trial-totals span{font-size:8px;color:#8c98aa}.trial-totals strong{font-size:15px;margin-top:5px}.entry-modal{width:min(980px,94vw)}.entry-lines-head{display:flex;justify-content:space-between;align-items:center;margin:16px 0 8px}.entry-lines-table select,.entry-lines-table input{width:100%;height:36px;border:1px solid #dfe5ee;border-radius:8px;padding:0 8px;background:#fff}.entry-lines-table .money{text-align:right;font-variant-numeric:tabular-nums}.entry-lines-table tfoot td{font-weight:800;text-align:right}.entry-lines-table tfoot td:first-child{text-align:left}.status-chip.draft{background:#fff4d9;color:#95670a}.status-chip.posted{background:#e9f8f1;color:#11875b}.status-chip.cancelled{background:#f1f2f5;color:#737d8c}.status-chip.reversed{background:#eef0ff;color:#5663bd}.warning-box{background:#fff7e8;border:1px solid #f3dfb2;border-radius:12px;padding:12px;color:#86601b;font-size:9px;margin-bottom:12px}.mini-link{border:0;background:none;color:#5565d9;font-weight:700;font-size:9px;cursor:pointer}.danger-mini{color:#b74a4a!important}@media(max-width:760px){.accounting-toolbar{align-items:flex-start;flex-direction:column}.trial-totals{grid-template-columns:1fr}.entry-modal{width:96vw}}

.fiscal-notice{margin:-4px 0 14px;border:1px solid #f0dca9;background:#fffaf0;color:#80652b;border-radius:12px;padding:10px 13px;font-size:9px}
.aging-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.aging-card{background:white;border:1px solid #e6eaf0;border-radius:14px;padding:14px}.aging-card span{display:block;font-size:8px;color:#8b97a8;letter-spacing:.06em}.aging-card strong{display:block;font-size:17px;margin-top:7px}.aging-card.total{background:#111d33;color:#fff}.aging-card.total span{color:#aebad0}
.receivable-grid{grid-template-columns:1.1fr .9fr}.statement-balance{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 14px}.statement-balance span{font-size:9px;color:#8794a7}.statement-balance strong{font-size:20px}
.invoice-totals{display:flex;justify-content:flex-end;gap:24px;padding:12px 5px}.invoice-totals div{text-align:right}.invoice-totals span{display:block;font-size:8px;color:#8d99aa}.invoice-totals strong{display:block;font-size:14px;margin-top:4px}
.sales-summary .row-actions{align-self:center}
@media(max-width:1100px){.aging-grid{grid-template-columns:repeat(3,1fr)}.receivable-grid{grid-template-columns:1fr}}
@media(max-width:720px){.aging-grid{grid-template-columns:repeat(2,1fr)}}

.inventory-positive{color:#14835d}.inventory-negative{color:#b33b3b}.warehouse-pill{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e6eaf0;border-radius:11px;margin-bottom:8px}.purchase-line-type{font-size:8px;color:#708096;text-transform:uppercase;letter-spacing:.05em}
.treasury-match-select{min-width:260px;max-width:420px}.recon-positive{color:#176b45}.recon-negative{color:#a23838}.recon-complete{background:#effaf4}.recon-pending{background:#fffaf0}.treasury-summary-note{font-size:9px;color:#7f8b9d}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media(max-width:900px){.treasury-match-select{min-width:190px;max-width:260px}}


/* CI_RESPONSIVE_LEGIBILITY_V0701 */
:root{--ci-text-2xs:clamp(.78rem,.16vw + .76rem,.88rem);--ci-text-xs:clamp(.85rem,.22vw + .8rem,.96rem);--ci-text-sm:clamp(.94rem,.28vw + .87rem,1.05rem);--ci-text-md:clamp(1rem,.36vw + .91rem,1.14rem);--ci-text-lg:clamp(1.12rem,.58vw + .98rem,1.34rem);--ci-text-xl:clamp(1.38rem,1vw + 1.03rem,1.95rem);--ci-text-2xl:clamp(1.75rem,1.45vw + 1.12rem,2.7rem);--ci-shell-max:1760px}
html{font-size:clamp(15px,.18vw + 14.35px,18px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--ci-text-sm);line-height:1.5}.main{max-width:var(--ci-shell-max);padding:clamp(20px,2.4vw,34px) clamp(18px,2.7vw,38px) 24px}.topbar{gap:14px;flex-wrap:wrap}.topbar h1{font-size:var(--ci-text-xl)}.hero,.admin-summary{padding:clamp(22px,2.6vw,32px)}.hero h2,.admin-summary h2,.login-copy h1,.login-art-content h2{font-size:var(--ci-text-2xl);line-height:1.16}.hero p,.admin-summary p,.login-copy p,.login-art-content p{font-size:var(--ci-text-sm)}.eyebrow,.nav-section,.phase-chip,.badge,.soft-note,.login-art-content span,.sidebar-footer,.date-pill,.login-card form label,.modal label,.status-chip,.role-chip,.type-chip,.nature-chip,.fiscal-notice,.statement-balance span,.treasury-summary-note,.warning-box,.company-ready-badge,.current-period-box span,.current-period-box small,.trial-totals span,.aging-card span,.invoice-totals span,.purchase-line-type,.nav-item small{font-size:var(--ci-text-2xs)}.brand strong,.login-brand strong{font-size:var(--ci-text-md)}.brand span,.workspace span,.hero-badge small,.metric-card small,.service span,.timeline-item span,.module-card span,.user-menu small,.admin-stat small,.user-cell span,.audit-item span,.audit-item time,.modal label small,.setup-item span,.accounting-toolbar span{font-size:var(--ci-text-2xs)}.workspace strong,.hero-badge strong,.service strong,.timeline-item strong,.module-card strong,.role-card strong,.user-cell strong,.audit-item strong,.setup-item strong,.warehouse-pill strong,.metric-card span,.user-menu strong,.accounting-toolbar strong,.brand span{font-size:var(--ci-text-xs)}.nav-item{height:clamp(44px,2.8vw,50px);font-size:var(--ci-text-sm)}.main .compact-select,.company-form-grid select,.company-form-grid input,.login-card input,.modal input,.entry-lines-table select,.entry-lines-table input,.trial-controls input{font-size:var(--ci-text-sm)}.primary,.secondary,.tab{font-size:var(--ci-text-xs);height:clamp(40px,2.6vw,44px)}.mini-btn,.mini-link,.toast{font-size:var(--ci-text-xs)}.hero-badge{min-width:190px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.content-grid{grid-template-columns:minmax(0,1.4fr) minmax(320px,.95fr)}.service-list{gap:12px}.module-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.module-card{min-height:94px}.metric-card span{line-height:1.35}.metric-card strong{font-size:clamp(1.55rem,1.12vw + 1.08rem,2rem)}.panel,.modal{padding:clamp(18px,2vw,24px)}.panel-head h3{font-size:var(--ci-text-lg)}.company-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr)}.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}table{min-width:max-content;width:100%}th{font-size:var(--ci-text-2xs);white-space:nowrap}td{font-size:var(--ci-text-xs);line-height:1.45}.statement-balance strong{font-size:clamp(1.2rem,.85vw + .95rem,1.55rem)}.invoice-totals strong,.trial-totals strong,.aging-card strong{font-size:clamp(1rem,.7vw + .85rem,1.25rem)}
@media(max-width:1100px){.app-shell{grid-template-columns:240px 1fr}.module-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}
@media(max-width:900px){.content-grid,.receivable-grid,.company-layout{grid-template-columns:1fr}.top-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:760px){.main{padding:18px 16px 22px}.hero-badge{margin-top:18px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-list{grid-template-columns:1fr}}
@media(max-width:560px){.metrics-grid,.module-grid,.admin-stats,.trial-totals,.aging-grid{grid-template-columns:1fr}.topbar h1{font-size:clamp(1.45rem,4.8vw,1.9rem)}.hero h2,.admin-summary h2{font-size:clamp(1.55rem,5.4vw,2rem)}.user-menu{max-width:100%}}

/* CI_FIXED_ASSETS_V0800 */
.asset-category-list{display:flex;flex-direction:column;gap:9px}.asset-category-card{border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.asset-category-card strong,.asset-category-card span{display:block}.asset-category-card strong{font-size:var(--ci-text-xs);color:#25324a}.asset-category-card span,.asset-category-card small{font-size:var(--ci-text-2xs);color:#8794a8;margin-top:4px}.asset-actions{justify-content:flex-end;margin:0 0 14px}.danger-btn{border:1px solid #e6b6b6;background:#fff5f5;color:#a43d3d;border-radius:10px;height:clamp(40px,2.6vw,44px);padding:0 14px;font-size:var(--ci-text-xs);font-weight:800;cursor:pointer}.danger-btn:hover{background:#ffecec}.fixed-assets-summary .row-actions{align-self:center;flex-wrap:wrap}
@media(max-width:760px){.fixed-assets-summary{align-items:flex-start;flex-direction:column}.fixed-assets-summary .row-actions{width:100%}.asset-actions{justify-content:flex-start;flex-wrap:wrap}}

/* CI_PAYROLL_TSS_V0900 */
.payroll-summary{background:linear-gradient(135deg,#123b46 0%,#1b4d62 52%,#2a477f 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px rgba(20,43,82,.14)}
.admin-summary .eyebrow{color:#c9d7ea}
.admin-summary .secondary{background:rgba(255,255,255,.12);color:#f8fbff;border:1px solid rgba(255,255,255,.2);box-shadow:none}
.admin-summary .secondary:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}
.payroll-summary p{color:#cfdae8}
.payroll-export{max-height:280px;overflow:auto;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0b1220;color:#dbeafe;font-size:var(--ci-text-2xs);white-space:pre-wrap;word-break:break-word}
@media(max-width:760px){.payroll-summary .row-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.payroll-summary .row-actions button{width:100%}}

/* CI_FINANCIAL_REPORTS_V1000 */
.financial-controls{margin-bottom:16px}.financial-grid{align-items:start}.statement-sections{display:grid;gap:14px}.statement-block{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.45)}.statement-block h4{margin:0 0 10px;font-size:var(--ci-text-sm)}.statement-line,.statement-total{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:7px 0}.statement-line{border-bottom:1px dashed var(--line);font-size:var(--ci-text-xs)}.statement-line span{min-width:0;overflow-wrap:anywhere}.statement-total{margin-top:6px;padding-top:10px;border-top:1px solid var(--line);font-size:var(--ci-text-sm)}.statement-total.grand{font-size:var(--ci-text-md);font-weight:800}.statement-difference{margin-top:8px;font-size:var(--ci-text-2xs);color:var(--muted)}.result-block{background:rgba(65,105,225,.035)}@media(max-width:900px){.financial-grid{grid-template-columns:1fr}.financial-controls .form-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.financial-controls .form-grid{grid-template-columns:1fr}.statement-line,.statement-total{gap:10px}}

/* CI_DASHBOARD_ANALYTICS_V1100 */
.dashboard-drill{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.dashboard-drill:hover,.dashboard-drill:focus-visible{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.08);border-color:#c8d5ea;outline:none}.analytics-panel{margin-top:16px}.analytics-head{align-items:flex-start;gap:16px}.analytics-filter{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.analytics-filter label{display:grid;gap:5px;font-size:var(--ci-text-2xs);color:#68758c;font-weight:700}.analytics-filter input{min-width:145px;height:40px;border:1px solid #dce4f0;border-radius:10px;padding:0 10px;background:#fff;color:#162033;font:inherit}.analytics-note{margin:2px 0 16px;color:#738097;font-size:var(--ci-text-xs)}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.analytics-card{border:1px solid #e0e7f1;border-radius:16px;padding:16px;background:#fff;min-width:0}.analytics-card.analytics-wide{grid-column:1/-1}.analytics-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:14px}.analytics-title strong{font-size:var(--ci-text-md)}.analytics-title span{font-size:var(--ci-text-2xs);color:#8a96aa}.analytics-bars,.analytics-ranking{display:grid;gap:9px}.analytics-bar-row,.analytics-rank-row,.analytics-group-row,.aging-pair{appearance:none;border:0;background:transparent;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.analytics-bar-row{display:grid;grid-template-columns:68px minmax(80px,1fr) auto;align-items:center;gap:10px}.analytics-bar-row>span,.analytics-group-row>span{font-size:var(--ci-text-2xs);color:#6e7a90}.analytics-bar-row>i,.analytics-rank-row>i,.analytics-group-row i{height:8px;background:#eef2f8;border-radius:999px;overflow:hidden;display:block}.analytics-bar-row>i>b,.analytics-rank-row>i>b,.analytics-group-row i>b{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#526ce8,#7692ff)}.analytics-bar-row>em,.analytics-rank-row>em{font-style:normal;font-size:var(--ci-text-2xs);font-weight:700;white-space:nowrap}.analytics-group-row{display:grid;grid-template-columns:68px 1fr;gap:10px;align-items:start}.analytics-group-row>div{display:grid;grid-template-columns:minmax(70px,1fr) auto;gap:5px 8px;align-items:center}.analytics-group-row small{font-size:var(--ci-text-2xs);color:#758198;white-space:nowrap}.analytics-group-row i.revenue>b{background:linear-gradient(90deg,#1fa977,#50c59b)}.analytics-group-row i.expense>b{background:linear-gradient(90deg,#d69732,#f0bc5c)}.analytics-group-row i.net>b{background:linear-gradient(90deg,#526ce8,#7692ff)}.analytics-rank-row{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(80px,1fr) auto;gap:10px;align-items:center;padding:6px 0}.analytics-rank-row>span{display:grid;gap:2px;min-width:0}.analytics-rank-row strong{font-size:var(--ci-text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-rank-row small{font-size:var(--ci-text-2xs);color:#8a96aa}.analytics-aging{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px}.aging-pair{border:1px solid #e4eaf3;border-radius:12px;padding:12px;display:grid;gap:4px}.aging-pair span,.aging-pair small{font-size:var(--ci-text-2xs);color:#7a879b}.aging-pair strong{font-size:var(--ci-text-sm)}
@media(max-width:1000px){.analytics-grid{grid-template-columns:1fr}.analytics-card.analytics-wide{grid-column:auto}.analytics-aging{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:620px){.analytics-filter{width:100%}.analytics-filter label{flex:1 1 130px}.analytics-filter input{width:100%;min-width:0}.analytics-bar-row{grid-template-columns:58px 1fr}.analytics-bar-row>em{grid-column:2;text-align:right}.analytics-rank-row{grid-template-columns:1fr auto}.analytics-rank-row>i{grid-column:1/-1}.analytics-aging{grid-template-columns:1fr 1fr}.analytics-title{display:grid}.analytics-group-row{grid-template-columns:55px 1fr}}

/* CI_GLOBAL_SEARCH_TRACE_V1200 */
.search-summary{margin-bottom:16px}.search-panel{margin-bottom:16px}.global-search-form{display:flex;gap:12px;align-items:flex-end}.global-search-box{flex:1;display:grid;gap:7px;font-size:var(--ci-text-xs);font-weight:700;color:#5d6a82}.global-search-box input{width:100%;min-height:48px;border:1px solid #dfe5ef;border-radius:14px;padding:0 16px;background:#fff;font-size:var(--ci-text-md);outline:none}.global-search-box input:focus{border-color:#6b7fd7;box-shadow:0 0 0 3px rgba(69,91,190,.12)}.search-help{margin-top:10px;color:#7b879d;font-size:var(--ci-text-xs);line-height:1.45}.search-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.3fr);gap:16px}.global-search-results{display:grid;gap:10px}.search-result{border:1px solid #e2e7f0;border-radius:14px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px}.search-result-main{border:0;background:transparent;text-align:left;display:grid;gap:3px;padding:4px;min-width:0;cursor:pointer;color:inherit}.search-result-main:disabled{cursor:default}.search-result-main strong{font-size:var(--ci-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-main small{color:#7d889c;font-size:var(--ci-text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-kind,.trace-kind{font-size:var(--ci-text-2xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5366b8}.search-result-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#77849a;font-size:var(--ci-text-2xs);margin-top:4px}.search-amount{font-weight:800;color:#111827}.trace-panel{min-height:420px}.trace-notice{padding:10px 12px;background:#f6f8fc;border:1px solid #e3e8f2;border-radius:12px;color:#667389;font-size:var(--ci-text-xs);margin-bottom:12px}.trace-graph{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;align-items:start}.trace-node{border:1px solid #dfe5ef;border-radius:14px;padding:13px;background:#fff;display:grid;gap:6px;min-width:0}.trace-node.root{border-width:2px;box-shadow:0 8px 24px rgba(29,49,99,.08)}.trace-node-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.trace-node-head small{font-size:var(--ci-text-2xs);color:#8a95a8;text-align:right}.trace-node>strong{font-size:var(--ci-text-sm);overflow-wrap:anywhere}.trace-node>p{margin:0;color:#748096;font-size:var(--ci-text-xs);line-height:1.4}.trace-data{display:grid;gap:3px;margin:2px 0 5px}.trace-data span{display:flex;justify-content:space-between;gap:10px;font-size:var(--ci-text-2xs);color:#69758a}.trace-data b{font-weight:700;text-transform:capitalize;color:#4d5970}.trace-data span{overflow-wrap:anywhere}
@media(max-width:980px){.search-layout{grid-template-columns:1fr}}
@media(max-width:620px){.global-search-form{display:grid;grid-template-columns:1fr}.global-search-form .primary{width:100%}.search-result{grid-template-columns:1fr}.search-go{justify-self:start}.trace-graph{grid-template-columns:1fr}}


/* CI_AUDIT_CLOSING_V1300 */
.closing-audit-note{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(15,23,42,.025);font-size:var(--ci-text-xs);line-height:1.5}
.critical-audit-panel{margin-bottom:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(15,23,42,.02)}
.critical-audit-panel .panel-head{margin-bottom:10px}.critical-audit-list{display:grid;gap:8px}.critical-audit-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.critical-audit-item .critical-kind{font-size:var(--ci-text-2xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.critical-audit-item strong{font-size:var(--ci-text-xs)}.critical-audit-item span,.critical-audit-item time{font-size:var(--ci-text-2xs)}
@media(max-width:700px){.critical-audit-item{grid-template-columns:1fr}.critical-audit-item time{justify-self:start}}


/* CI_BACKUP_RECOVERY_V1400 */
.backup-summary{align-items:flex-start}.backup-policy-note{margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;font-size:.92rem;line-height:1.5}.backup-panel .panel-head{align-items:flex-start}.backup-panel table th:nth-child(1){min-width:145px}.backup-panel table th:nth-child(6){min-width:180px}.backup-panel .row-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){.backup-summary{gap:14px}.backup-summary .primary{width:100%}.backup-panel .table-wrap{overflow-x:auto}.backup-policy-note{font-size:.9rem}}


/* CI_ACCOUNTING_INTEGRITY_V1500 */
.integrity-certification-note{margin:14px 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;font-size:var(--ci-text-xs);line-height:1.55}.integrity-certification-note strong{color:#243047}.integrity-certification-note code{font-size:.9em}

/* CI_SALES_INVENTORY_COST_V1600 */
.invoice-line .inv-item,.invoice-line .inv-warehouse{min-width:9.5rem}
@media (max-width:820px){.entry-lines-table{min-width:980px}}


/* CI_ECF_TRANSPORT_V1800 */
.ecf-warning{margin:14px 0;padding:14px 16px;border:1px solid #e7c97a;border-radius:14px;background:#fffaf0;color:#654c10;font-size:var(--ci-text-xs);line-height:1.55}.ecf-warning.compact{margin:0 0 14px}.ecf-warning strong{color:#4d3908}.ecf-core-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:16px}.ecf-inline-note{margin-top:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;color:#59667d;font-size:var(--ci-text-xs);line-height:1.45}.ecf-technical-state{display:grid;gap:9px}.ecf-technical-state>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:var(--ci-text-xs)}.ecf-technical-state>div span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#69758a;font-size:var(--ci-text-2xs)}.ecf-technical-state p{margin:5px 0 0;color:#69758a;font-size:var(--ci-text-xs);line-height:1.5}.ecf-summary{align-items:flex-start}#ecfView .admin-panel{margin-bottom:16px}@media(max-width:900px){.ecf-core-grid{grid-template-columns:1fr}}

/* CI_VISUAL_POLISH_R1_20260829
   Frontend-only polish over v0.18.0. No backend/schema behavior changes. */
:root{
  --text-primary:#172033;
  --text-secondary:#526077;
  --text-muted:#66758c;
  --text-subtle:#5f6f87;
  --accent:#405bd6;
  --accent-hover:#334cc2;
  --accent-active:#293fa7;
  --focus:#3158e6;
  --focus-ring:0 0 0 3px rgba(49,88,230,.24);
  --surface-soft:#f7f9fc;
  --danger:#a93b3b;
}
html,body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
body{color:var(--text-primary)}
:where(.metric-card small,.service span,.timeline-item span,.module-card span,.soft-note,.user-menu small,.admin-stat span,.admin-stat small,.user-cell span,.role-card p,.role-option,.role-picker>span,.modal label small,.accounting-toolbar span,.trial-controls label,.trial-totals span,.warning-box,.login-foot,.login-brand span,footer){color:var(--text-muted)}
:where(.permission-list span,.timeline-item b,.form-error,.login-foot,.role-card p,.role-option,.role-picker>span,.admin-stat span,.admin-stat small,.trial-controls label,footer){font-size:max(13px,var(--ci-text-2xs))}
.permission-list span{font-size:max(12.5px,var(--ci-text-2xs));line-height:1.25;padding:5px 7px;color:#526177;background:#f1f4f8}
.timeline-item b{font-size:max(12.5px,var(--ci-text-2xs))}
.form-error{font-size:max(13px,var(--ci-text-2xs));line-height:1.4;color:#a93434}
.login-foot{font-size:max(13px,var(--ci-text-2xs));color:#65738a}
.role-card p{font-size:max(13px,var(--ci-text-2xs));color:#5f6c80}
.role-option{font-size:max(13px,var(--ci-text-2xs));color:#4e5c72}
.role-picker>span{font-size:max(13px,var(--ci-text-2xs));color:#4e5c72}
.admin-stat span,.admin-stat small{font-size:max(13px,var(--ci-text-2xs));color:#607087}
.trial-controls label{font-size:max(13px,var(--ci-text-2xs));color:#59687d}
footer{font-size:max(13px,var(--ci-text-2xs));color:#65738a}

/* Buttons and interactive states */
:where(button,[role="button"],a,input,select,textarea){-webkit-tap-highlight-color:transparent}
:where(button,.nav-item,.dashboard-drill,.tab,.mini-link){transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .08s ease}
.primary{background:var(--accent);color:#fff;box-shadow:0 7px 18px rgba(64,91,214,.22)}
.primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 9px 22px rgba(64,91,214,.28)}
.primary:active:not(:disabled){background:var(--accent-active);transform:translateY(1px)}
.secondary:hover:not(:disabled),.mini-btn:hover:not(:disabled),.logout-btn:hover:not(:disabled),.close-btn:hover:not(:disabled){background:#e4e9f1;color:#28364b;border-color:#ccd4df}
.secondary:active:not(:disabled),.mini-btn:active:not(:disabled),.logout-btn:active:not(:disabled),.close-btn:active:not(:disabled){transform:translateY(1px)}
.nav-item{cursor:pointer;color:#b0bfd1}
.nav-item:hover:not(:disabled){background:#15233a;color:#fff}
.nav-item.active{background:#213454;color:#fff;box-shadow:inset 3px 0 0 #7185ff}
.nav-item:disabled{cursor:not-allowed;opacity:.62}
.tab:hover:not(:disabled){background:#eef2ff;color:#334cc2}
.dashboard-drill{cursor:pointer}
.dashboard-drill:hover{border-color:#cfd7ec;box-shadow:0 10px 28px rgba(25,36,61,.07);transform:translateY(-1px)}
button:disabled{cursor:not-allowed!important;opacity:.55;box-shadow:none!important;transform:none!important}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(49,88,230,.32);outline-offset:2px;box-shadow:var(--focus-ring)}
:where(input,select,textarea):focus-visible{border-color:var(--focus)}
.primary,.secondary,.danger-btn{min-height:44px}
.mini-btn{min-height:36px;min-width:36px;padding:7px 10px}
.close-btn,.logout-btn{width:44px;height:44px;min-width:44px;display:inline-grid;place-items:center}
.user-menu{cursor:default;color:inherit}

/* Consistent icon system */
.nav-item .icon{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;color:#9fb0ca}
.nav-item .icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-item.active .icon,.nav-item:hover .icon{color:#fff}

/* Tables */
.table-wrap{position:relative;border-radius:12px;scrollbar-gutter:stable both-edges}
.table-wrap table{border-collapse:separate;border-spacing:0}
th{position:sticky;top:0;z-index:2;background:#fafbfd;color:#526077;font-weight:800;border-bottom-color:#dfe5ee}
td{color:#435168}
tbody tr:hover td{background:#fbfcff}
td.money,th.money,.money{text-align:right;font-variant-numeric:tabular-nums}
.row-actions{flex-wrap:wrap;align-items:center}
.status-chip{font-weight:800;border:1px solid transparent}
.status-chip.on,.status-chip.posted{border-color:#ccebdd}
.status-chip.off,.status-chip.cancelled{border-color:#dfe3e8}
.status-chip.draft{border-color:#ecd69d}
.status-chip.reversed{border-color:#d8dcfa}

/* Modal viewport safety */
.modal-backdrop{align-items:center;overflow-y:auto;overscroll-behavior:contain;padding:clamp(12px,3vh,24px)}
.modal{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid rgba(15,23,42,.08)}
.modal-head{position:sticky;top:calc(-1 * clamp(18px,2vw,24px));z-index:5;background:#fff;padding:4px 0 12px;border-bottom:1px solid rgba(231,235,242,.7)}
.modal-actions{position:sticky;bottom:calc(-1 * clamp(18px,2vw,24px));z-index:4;background:linear-gradient(180deg,rgba(255,255,255,.94),#fff 35%);padding:14px 0 2px;margin-top:18px;border-top:1px solid rgba(231,235,242,.8);flex-wrap:wrap}
.modal input,.modal select,.modal textarea,.login-card input{min-height:44px;font-size:max(14px,var(--ci-text-sm))}
.modal label,.login-card form label{font-size:max(13px,var(--ci-text-2xs));color:#46546a}

/* Mobile navigation drawer */
.mobile-menu-btn,.mobile-nav-backdrop{display:none}
.mobile-menu-btn{width:44px;height:44px;min-width:44px;border:1px solid var(--line);border-radius:12px;background:#fff;place-items:center;padding:10px;cursor:pointer}
.mobile-menu-btn span{display:block;width:20px;height:2px;background:#334155;border-radius:2px;margin:2px 0}
.topbar-title{min-width:0}
@media(max-width:760px){
  .app-shell{display:block;min-height:100vh}
  .sidebar{position:fixed;z-index:80;left:0;top:0;bottom:0;width:min(86vw,320px);height:100dvh;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 50px rgba(7,16,29,.28);padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .sidebar .nav,.sidebar .workspace{display:block}
  .sidebar .nav{flex:1;overflow-y:auto;padding-bottom:20px}
  body.mobile-nav-open{overflow:hidden}
  body.mobile-nav-open .sidebar{transform:translateX(0)}
  .mobile-menu-btn{display:grid}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:70;border:0;background:rgba(7,16,29,.52);backdrop-filter:blur(2px);cursor:pointer}
  .mobile-nav-backdrop[hidden]{display:none!important}
  .topbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:18px}
  .top-actions{grid-column:1/-1;width:100%;justify-content:space-between;gap:8px}
  .user-menu{min-height:44px;min-width:0;flex:1;overflow:hidden}
  .user-menu>span:last-child{min-width:0}
  .user-menu strong,.user-menu small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .main{padding:16px 14px 22px}
  .primary,.secondary,.danger-btn,.mini-btn{min-height:44px}
  .mini-btn{padding:8px 11px}
  .modal-backdrop{align-items:flex-start;padding:8px}
  .modal,.small-modal,.entry-modal{width:100%;max-width:none;max-height:calc(100dvh - 16px);border-radius:16px;padding:16px}
  .modal-head{top:-16px;padding-top:4px}
  .modal-actions{bottom:-16px;margin-left:-1px;margin-right:-1px}
  .modal-actions>.primary,.modal-actions>.secondary,.modal-actions>.danger-btn{flex:1 1 140px}
  table{font-size:14px}
  th,td{padding:11px 10px}
  .table-wrap{border:1px solid var(--line);background:#fff}
  .row-actions{min-width:max-content}
}
@media(max-width:420px){
  .top-actions{align-items:stretch}
  .logout-btn{flex:0 0 44px}
  .metrics-grid{grid-template-columns:1fr}
  .panel,.hero,.admin-summary{border-radius:16px}
}

/* Accessible data labels and semantic readability */
.eyebrow,.nav-section{color:#586982}
.sidebar .eyebrow,.sidebar .nav-section{color:#8da0bf}
.badge,.soft-note,.phase-chip{font-weight:800}
.warning-box,.ecf-warning{color:#60480f}
.empty,.empty-row{color:#5f6f87}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* Print quality for accounting reports */
@media print{
  @page{margin:14mm}
  body{background:#fff;color:#000;font-size:10.5pt}
  .sidebar,.topbar,.mobile-menu-btn,.mobile-nav-backdrop,.row-actions,.primary,.secondary,.danger-btn,.toast,footer{display:none!important}
  .app-shell{display:block!important}.main{max-width:none!important;padding:0!important;margin:0!important}
  .panel,.statement-block,.metric-card{box-shadow:none!important;border-color:#bbb!important;break-inside:avoid}
  .table-wrap{overflow:visible!important;border:0!important}table{min-width:0!important;width:100%!important}th{position:static!important;background:#f3f3f3!important;color:#000!important}td{color:#111!important}
}
/* Prevent intrinsic-content page overflow beside the fixed sidebar. */
.app-shell{grid-template-columns:270px minmax(0,1fr)}.main{min-width:0}
@media(max-width:1100px) and (min-width:761px){.app-shell{grid-template-columns:240px minmax(0,1fr)}}
.content-grid>* ,.panel,.table-wrap,.admin-panel{min-width:0;max-width:100%}
.panel-head{gap:12px;flex-wrap:wrap}.panel-head>.compact-select{max-width:100%}
@media(max-width:1100px){.receivable-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .admin-summary{align-items:flex-start;flex-direction:column;gap:16px}
  .admin-summary>.row-actions{width:100%;display:flex;flex-wrap:wrap}
  .admin-summary>.row-actions>.primary,.admin-summary>.row-actions>.secondary,.admin-summary>.row-actions>.danger-btn{flex:1 1 140px;min-width:0}
}
@media(max-width:560px){
  .admin-summary>.row-actions{display:grid;grid-template-columns:1fr;max-width:100%}
  .admin-summary>.row-actions>.primary,.admin-summary>.row-actions>.secondary,.admin-summary>.row-actions>.danger-btn{width:100%;max-width:100%;min-width:0}
}

/* CI_VISUAL_POLISH_R2_20260829 — contrast correction for module summary banners */


/* CI_VISUAL_POLISH_R3_20260829 — mobile navigation + collapsible dashboard technical panel */
.nav-item{touch-action:manipulation}
.dashboard-technical-controls{display:flex;justify-content:flex-end;margin:-2px 0 12px}
.dashboard-technical-controls .secondary{min-width:172px}
#dashboardProjectPanel[hidden]{display:none!important}
@media(max-width:760px){
  .dashboard-technical-controls{justify-content:stretch;margin:0 0 12px}
  .dashboard-technical-controls .secondary{width:100%}
}


/* CI_GUIDED_HELP_R4_20260829 — general + contextual help */
.help-top-btn{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#34445d;padding:0 12px;display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:800;cursor:pointer}
.help-top-btn>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e9eeff;color:#334fc4;font-size:15px;font-weight:900}
.help-top-btn:hover{background:#f5f7ff;border-color:#cdd6f5;color:#233a91}.help-top-btn:active{transform:translateY(1px)}
.setup-guide-banner{margin:0 0 16px;border:1px solid #cbd8ff;background:linear-gradient(135deg,#f5f8ff,#eef5ff);border-radius:16px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 8px 24px rgba(41,68,137,.06)}
.setup-guide-banner[hidden]{display:none!important}.setup-guide-banner strong{display:block;font-size:18px;color:#17233a;margin:4px 0}.setup-guide-banner p{margin:0;color:#526077;line-height:1.55;max-width:850px}
.help-hero{background:linear-gradient(135deg,#101c31,#233a68);color:#fff;border-radius:22px;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:18px;box-shadow:0 18px 40px rgba(12,26,50,.12)}
.help-hero h2{font-size:clamp(28px,3.2vw,46px);line-height:1.08;margin:12px 0 10px}.help-hero p{color:#c7d5e9;max-width:860px;font-size:16px;line-height:1.6;margin:0}
.help-hero-badge{min-width:190px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px}.help-hero-badge>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#27459d;font-size:22px;font-weight:900}.help-hero-badge strong,.help-hero-badge small{display:block}.help-hero-badge small{color:#b8c7db;margin-top:4px}
.help-start-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}.help-start-card>div:first-child p{color:#526077;line-height:1.55;max-width:900px}.help-setup-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.help-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid #e1e6ef;border-radius:14px;padding:14px;background:#fbfcff}.help-step-number{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#e9eeff;color:#334fc4;font-weight:900}.help-step strong{font-size:15px;color:#17233a}.help-step p{margin:3px 0 0;color:#66758c;line-height:1.4;font-size:13.5px}
.help-rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.help-rule{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;gap:12px;align-items:flex-start}.help-rule>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#ecf8f3;color:#087c52;font-weight:900;flex:0 0 30px}.help-rule strong{color:#17233a}.help-rule p{margin:5px 0 0;color:#66758c;line-height:1.45;font-size:13.5px}
.help-modules-panel{margin-bottom:18px}.help-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.help-module-card{border:1px solid #e1e6ef;border-radius:14px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff}.help-module-card>div{min-width:0}.help-module-card strong{color:#17233a}.help-module-card p{margin:5px 0 0;color:#66758c;line-height:1.45;font-size:13.5px}.help-module-card .secondary{flex:0 0 auto}
.context-help-backdrop{position:fixed;inset:0;z-index:110;border:0;background:rgba(8,17,31,.42);backdrop-filter:blur(2px)}.context-help-backdrop[hidden]{display:none!important}
.context-help-panel{position:fixed;z-index:120;top:0;right:0;height:100dvh;width:min(520px,92vw);background:#f8fafc;box-shadow:-24px 0 60px rgba(8,17,31,.22);display:flex;flex-direction:column;border-left:1px solid #dfe5ee}.context-help-panel[hidden]{display:none!important}body.context-help-open{overflow:hidden}
.context-help-head{background:#fff;padding:22px 22px 17px;border-bottom:1px solid #e3e8f0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.context-help-head h2{font-size:24px;margin:5px 0 0;color:#13213a}.context-help-scroll{padding:22px;overflow:auto;overscroll-behavior:contain;flex:1}.context-help-summary{font-size:16px;line-height:1.6;color:#44536a;margin:0 0 18px}.context-help-block{background:#fff;border:1px solid #e2e7ef;border-radius:14px;padding:17px 18px;margin-bottom:12px}.context-help-block h3{margin:0 0 10px;font-size:15px;color:#21324d}.context-help-block ul,.context-help-block ol{margin:0;padding-left:21px;color:#526077}.context-help-block li{margin:0 0 8px;line-height:1.5}.context-help-block li:last-child{margin-bottom:0}.context-help-note{border-radius:14px;padding:15px 17px;margin:12px 0}.context-help-note strong{display:block;margin-bottom:5px}.context-help-note p{margin:0;line-height:1.5}.context-help-note.tip{background:#edf8f3;border:1px solid #c7ead9;color:#285e4d}.context-help-note.warning{background:#fff7e8;border:1px solid #eed6a1;color:#72561b}.context-help-actions{padding:15px 18px max(15px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e1e6ee;display:flex;gap:10px}.context-help-actions button{flex:1}
@media(max-width:980px){.help-setup-steps,.help-module-grid{grid-template-columns:1fr}.help-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.help-top-btn{padding:0 10px}.setup-guide-banner,.help-hero{flex-direction:column;align-items:flex-start}.setup-guide-banner .primary{width:100%}.help-hero{padding:22px}.help-hero-badge{width:100%;min-width:0}.help-rules-grid{grid-template-columns:1fr}.help-step{grid-template-columns:auto minmax(0,1fr)}.help-step .mini-btn{grid-column:1/-1;width:100%}.help-module-card{align-items:flex-start;flex-direction:column}.help-module-card .secondary{width:100%}.context-help-panel{width:100%;max-width:none}.context-help-head{padding:18px 16px 14px}.context-help-scroll{padding:16px}.context-help-actions{padding-left:12px;padding-right:12px;flex-direction:column}.context-help-actions button{width:100%}}
@media(max-width:430px){.help-top-btn b{display:none}.help-top-btn{width:44px;padding:0;justify-content:center}.help-top-btn>span{background:transparent;width:auto;height:auto}.help-hero h2{font-size:30px}}
@media print{#helpNav,.help-top-btn,.setup-guide-banner,.context-help-backdrop,.context-help-panel,#helpView{display:none!important}}
