:root{--bg:#f5f7f6;--panel:#fff;--ink:#17211d;--muted:#68736e;--line:#dfe6e2;--brand:#0f766e;--brand2:#134e4a;--soft:#ecf7f5;--danger:#b42318;--warn:#b54708;--shadow:0 8px 30px rgba(26,42,35,.07)}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#102923;color:#edf8f5;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;color:#fff;padding:6px 8px 22px;text-decoration:none}.brand:hover{text-decoration:none}.brand img{width:52px;height:42px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.brand strong{font-size:15px;letter-spacing:.08em}.brand small{display:block;color:#a9c9c1;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#82aaa0;padding:18px 10px 6px}.side-link{display:flex;gap:11px;align-items:center;color:#a9c9c1;padding:9px 11px;border-radius:9px;text-decoration:none;font-size:13.5px;transition:background-color .12s ease,color .12s ease}.side-link:hover{background:#153a32;color:#edf8f5;text-decoration:none}.side-link.active{background:#19453b;color:#fff;text-decoration:none;font-weight:600}.side-link span:first-child{width:18px;height:18px;flex:0 0 18px;display:flex;align-items:center;justify-content:center;opacity:.9}.side-link.active span:first-child{opacity:1}.side-link svg{display:block}.side-user{margin-top:auto;border-top:1px solid #285249;padding:16px 10px 4px;display:flex;flex-direction:column;gap:4px;font-size:13px}.side-user span{color:#a9c9c1}.side-user a{color:#d6e9e4;margin-top:5px}.main-shell{min-width:0}.topbar{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:3}.topbar h1{font-size:23px;margin:0}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.top-user{text-align:right}.top-user strong,.top-user span{display:block}.top-user span{font-size:12px;color:var(--muted);margin-top:3px}.content{padding:26px 30px 48px;max-width:1600px;margin:auto}.card{background:var(--panel);border:0.5px solid var(--line);border-radius:14px;box-shadow:none;padding:20px;margin-bottom:20px;transition:border-color .15s ease}.card-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.card h2{font-size:17px;margin:0;font-weight:600}.card h3{font-size:14px;margin:20px 0 10px;font-weight:600}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi{background:var(--soft);border:none;border-radius:14px;padding:16px 18px;box-shadow:none}.kpi span{display:block;color:var(--muted);font-size:12.5px}.kpi strong{display:block;font-size:24px;margin-top:7px;font-weight:600;letter-spacing:-.01em}.kpi small{display:block;color:var(--muted);margin-top:6px;font-size:12px}.kpi.warn{background:#fdf1e2;color:#8a5c08}.kpi.warn span,.kpi.warn small{color:#a06a12}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;align-items:end}.grid-form label,.filter-row label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.grid-form .span2{grid-column:span 2}.grid-form .check{flex-direction:row;align-items:center;align-self:center}.grid-form input,.grid-form select,.grid-form textarea,.filter-row input,.filter-row select,.table-wrap input,.table-wrap select{border:1px solid #cfd9d4;border-radius:8px;background:#fff;padding:9px 10px;min-height:38px;color:var(--ink)}textarea{resize:vertical}.form-actions{display:flex;align-items:center;gap:8px;min-height:42px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0.5px solid var(--line);background:transparent;color:var(--ink);border-radius:9px;padding:9px 14px;font-weight:600;font-size:13px;cursor:pointer;text-decoration:none;transition:background-color .12s ease,transform .08s ease}.btn:hover{text-decoration:none;background:var(--soft)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(15,118,110,.25)}.btn.primary:hover{background:var(--brand2)}.btn.small{padding:6px 9px;font-size:12px}.inline{display:inline-flex;gap:6px;align-items:center;margin:2px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}.filter-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{padding:11px 12px;border-bottom:0.5px solid var(--line);text-align:left;vertical-align:top}th{background:transparent;color:var(--muted);font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;border-bottom:0.5px solid var(--line)}tbody tr{transition:background-color .1s ease}tbody tr:hover{background:var(--soft)}.num{text-align:right;white-space:nowrap}.mini{width:105px;max-width:105px}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef3f1;color:#496057;font-size:11.5px;font-weight:600;white-space:nowrap}.badge.good{background:#e7f7ef;color:#157347}.badge.bad{background:#fdeceb;color:#b42318}.badge.warn{background:#fff2df;color:#a65b00}.actions.compact{margin-top:0;gap:10px}.dues-actions-grid{display:grid;grid-template-columns:1fr;gap:18px}.dues-dashboard-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muted,small{color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.summary-grid>div{background:#f7faf8;border:1px solid #e7ece9;border-radius:10px;padding:12px}.summary-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.summary-grid strong{display:block;margin-top:5px}.alert{padding:12px 14px;border-radius:9px;margin-bottom:16px;border:1px solid}.alert.success{background:#eaf8f0;border-color:#bfe6cf;color:#17613c}.alert.error{background:#fff0ef;border-color:#f1c3bf;color:#8d2118}.auth-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#0d3028,#0f766e)}.auth-wrap{width:min(440px,92vw)}.auth-card{background:#fff;border-radius:18px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.22)}.auth-logo{width:190px;height:60px;object-fit:contain;object-position:left center}.auth-card h1{margin:18px 0 5px}.auth-card p{color:var(--muted);margin:0 0 20px}.auth-card form{display:flex;flex-direction:column;gap:14px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.auth-card input{border:1px solid #cfd9d4;border-radius:9px;padding:11px}.print-body{background:#ecefec;padding:24px}.print-sheet{max-width:800px;margin:auto;background:#fff;padding:28px;box-shadow:0 4px 20px rgba(0,0,0,.08)}.print-sheet.wide{max-width:1200px}.print-brand{display:flex;align-items:flex-start;gap:14px;border-bottom:2px solid #173f36;padding-bottom:14px;margin-bottom:15px}.print-brand img{width:92px;height:82px;object-fit:contain;flex:0 0 auto}.print-brand h1{font-size:17px;margin:0}.print-brand p{margin:4px 0 0;font-size:12px;line-height:1.45}.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;font-size:13px}.print-meta p{margin:4px 0}code{background:#eef3f1;padding:2px 5px;border-radius:5px}.purchase-actual{padding:2px 0}
@media(max-width:1100px){.app-shell{grid-template-columns:78px 1fr}.brand div,.side-link span:last-child,.nav-section,.side-user strong,.side-user span{display:none}.brand{justify-content:center}.brand img{width:44px}.side-link{justify-content:center}.side-user{align-items:center}.kpis{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:8px 10px}.brand{justify-content:flex-start;padding:4px 8px}.brand div{display:block}.sidebar nav{flex-direction:row;overflow:auto}.nav-section{display:none}.side-link{min-width:48px}.side-user{display:none}.topbar{height:auto;padding:16px 18px}.top-user{display:none}.content{padding:16px}.grid-form{grid-template-columns:1fr}.grid-form .span2{grid-column:span 1}.kpis,.summary-grid{grid-template-columns:1fr}.card{padding:15px}.table-wrap{margin:0 -4px;width:calc(100% + 8px)}}
@media print{.no-print{display:none!important}.print-body{background:#fff;padding:0}.print-sheet{box-shadow:none;max-width:none;padding:0}table{font-size:11px}}

/* Cost Proposals */
.cp-table{min-width:1320px}.cp-table input,.cp-table select{width:100%;min-width:90px;border:1px solid transparent;background:transparent;border-radius:6px;padding:6px 7px;color:var(--ink);transition:border-color .12s ease,background-color .12s ease}.cp-table input:hover,.cp-table select:hover{border-color:var(--line)}.cp-table input:focus,.cp-table select:focus{border-color:#50b89b;background:var(--panel);outline:none;box-shadow:0 0 0 2px rgba(46,208,163,.12)}.cp-table td:nth-child(3) input{min-width:260px}.cp-table .cp-unit{min-width:70px}.cp-table .cp-num{min-width:100px;text-align:right}.cp-table thead th{position:sticky;top:0;background:var(--panel);z-index:1}.cp-table tbody tr:hover{background:var(--soft)}.cp-bottom-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:20px;margin-top:20px;align-items:start}.cp-terms{align-items:start}.cp-summary-box{border:none;border-radius:12px;background:var(--soft);padding:14px}.cp-summary-box>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 4px;border-bottom:0.5px solid var(--line)}.cp-summary-box>div:last-child{border-bottom:0}.cp-summary-box span{color:var(--muted);font-size:12px}.cp-summary-box strong{font-size:15px;font-weight:600}.cp-summary-box .grand{margin:4px -4px;padding:14px 8px;background:#e8f5f1;border-radius:8px;border-bottom:0}.cp-summary-box .grand strong{font-size:20px;font-weight:600;color:var(--brand2)}.cp-read p{line-height:1.6}.cp-proposal-title{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin:20px 0}.cp-proposal-title h1{margin:0 0 5px;font-size:25px;letter-spacing:.06em}.cp-proposal-title p{margin:2px 0;text-align:right}.cp-client-block{border:none;background:var(--soft);padding:14px 16px;border-radius:10px;margin-bottom:18px}.cp-client-block p{margin:5px 0}.cp-print-text{line-height:1.6;margin:14px 0 18px}.cp-print-section td{background:#edf5f2!important;color:#173f36;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.cp-grand-row td{border-top:2px solid #173f36;font-size:13px}.cp-print-notes{margin-top:20px}.cp-print-notes h3{font-size:13px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.05em}.cp-print-notes p{margin:0;line-height:1.55;font-size:12px}.cp-signatures{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:52px}.cp-signatures>div{display:flex;flex-direction:column;gap:5px}.cp-signatures p{margin:0 0 22px}.cp-signatures span{font-size:11px;color:var(--muted)}
@media(max-width:900px){.cp-bottom-grid{grid-template-columns:1fr}.cp-proposal-title{flex-direction:column}.cp-proposal-title p{text-align:left}.cp-signatures{grid-template-columns:1fr;gap:36px}}
@media print{.cp-print .print-brand p{line-height:1.4}.cp-print table{font-size:10px}.cp-print th,.cp-print td{padding:7px 8px}.cp-signatures{break-inside:avoid}.cp-print-notes{break-inside:avoid}}

/* Clients */
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid>div{background:#f7faf8;border:1px solid #e7ece9;border-radius:10px;padding:12px}.detail-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.detail-grid strong{display:block;margin-top:5px;white-space:pre-wrap}.detail-grid .span2{grid-column:span 2}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.detail-grid .span2{grid-column:span 1}}

/* v1.7 Light / Dark appearance */
html{color-scheme:light}html[data-theme="dark"]{color-scheme:dark;--bg:#0b1210;--panel:#111a17;--ink:#e7f0ed;--muted:#94a59f;--line:#26352f;--brand:#39b9aa;--brand2:#69d4c8;--soft:#162824;--danger:#ff8179;--warn:#f6ad55;--shadow:0 10px 32px rgba(0,0,0,.28)}
body,.topbar,.card,.kpi,.btn,.grid-form input,.grid-form select,.grid-form textarea,.filter-row input,.filter-row select,.table-wrap input,.table-wrap select,.auth-card,.auth-card input,.summary-grid>div,.detail-grid>div,.cp-summary-box,.cp-client-block,th,td{transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid #cbd8d2;background:#fff;color:#17342d;border-radius:9px;padding:8px 11px;font-weight:700;font-size:12px;cursor:pointer}.theme-toggle:hover{background:#f4f8f6}.theme-icon{font-size:16px;line-height:1}.theme-label{min-width:32px;text-align:left}.auth-theme-toggle{position:fixed;top:18px;right:18px;z-index:10}
html[data-theme="dark"] .sidebar{background:#071a16;color:#e8f4f0}html[data-theme="dark"] .side-link{color:#c9ddd7}html[data-theme="dark"] .side-link:hover,html[data-theme="dark"] .side-link.active{background:#123a32;color:#fff}html[data-theme="dark"] .nav-section{color:#6f9a90}html[data-theme="dark"] .side-user{border-color:#1f463d}html[data-theme="dark"] .side-user span{color:#88aaa2}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .card,html[data-theme="dark"] .auth-card{background:var(--panel)}html[data-theme="dark"] .kpi{background:var(--soft)}html[data-theme="dark"] .kpi.warn{background:#2e2210;color:#f6ad55}html[data-theme="dark"] .kpi.warn span,html[data-theme="dark"] .kpi.warn small{color:#e2ab5f}
html[data-theme="dark"] .grid-form input,html[data-theme="dark"] .grid-form select,html[data-theme="dark"] .grid-form textarea,html[data-theme="dark"] .filter-row input,html[data-theme="dark"] .filter-row select,html[data-theme="dark"] .table-wrap input,html[data-theme="dark"] .table-wrap select,html[data-theme="dark"] .auth-card input{background:#14201c;border-color:#34463f;color:var(--ink)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#71847e}html[data-theme="dark"] input:disabled,html[data-theme="dark"] select:disabled,html[data-theme="dark"] textarea:disabled{background:#101814;color:#71847e;opacity:1}html[data-theme="dark"] input[type="checkbox"],html[data-theme="dark"] input[type="radio"]{accent-color:var(--brand)}
html[data-theme="dark"] .btn,html[data-theme="dark"] .theme-toggle{background:transparent;border-color:#34463f;color:#dcebe6}html[data-theme="dark"] .btn:hover,html[data-theme="dark"] .theme-toggle:hover{background:#182521}html[data-theme="dark"] .btn.primary{background:#147e72;border-color:#147e72;color:#fff}html[data-theme="dark"] .btn.primary:hover{background:#0f675e}
html[data-theme="dark"] th{background:transparent;color:#a9bbb5}html[data-theme="dark"] th,html[data-theme="dark"] td{border-color:#26352f}html[data-theme="dark"] tbody tr:hover{background:#14211d}
html[data-theme="dark"] .badge{background:#1c2b27;color:#aec2bb}html[data-theme="dark"] .badge.good{background:#12352a;color:#76ddb0}html[data-theme="dark"] .badge.bad{background:#3a1d1d;color:#ff9b95}html[data-theme="dark"] .badge.warn{background:#3a2b17;color:#ffc56d}
html[data-theme="dark"] .summary-grid>div,html[data-theme="dark"] .detail-grid>div{background:#131f1b;border-color:#26352f}html[data-theme="dark"] .alert.success{background:#123226;border-color:#24543f;color:#8be2b4}html[data-theme="dark"] .alert.error{background:#351a19;border-color:#60302d;color:#ffaaa4}html[data-theme="dark"] code{background:#1b2925;color:#b9d2cb}
html[data-theme="dark"] .cp-summary-box{background:#121e1a;border-color:#2c3b36}html[data-theme="dark"] .cp-summary-box>div{border-color:#26352f}html[data-theme="dark"] .cp-summary-box .grand{background:#17342d}html[data-theme="dark"] .cp-summary-box .grand strong{color:#72d7cb}html[data-theme="dark"] .cp-client-block{background:#131f1b;border-color:#2c3b36}html[data-theme="dark"] .cp-print-section td{background:#18342d!important;color:#cfe8e2}
html[data-theme="dark"] .auth-body{background:linear-gradient(145deg,#071713,#0b4d45)}html[data-theme="dark"] .auth-card{box-shadow:0 30px 80px rgba(0,0,0,.48)}html[data-theme="dark"] .auth-logo{filter:none}
html[data-theme="dark"] ::-webkit-scrollbar{width:11px;height:11px}html[data-theme="dark"] ::-webkit-scrollbar-track{background:#0d1613}html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#31443d;border:2px solid #0d1613;border-radius:999px}html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:#40564e}
@media(max-width:760px){.topbar-actions{gap:8px}.theme-toggle{padding:8px 10px}.theme-label{display:none}.theme-icon{font-size:17px}}
@media print{html,html[data-theme="dark"]{color-scheme:light!important}html[data-theme="dark"] body{background:#fff!important;color:#17211d!important}html[data-theme="dark"] .card,html[data-theme="dark"] .kpi,html[data-theme="dark"] .summary-grid>div,html[data-theme="dark"] .detail-grid>div{background:#fff!important;color:#17211d!important;border-color:#dfe6e2!important;box-shadow:none!important}html[data-theme="dark"] th{background:#f7faf8!important;color:#4f5d57!important}html[data-theme="dark"] td{color:#17211d!important;border-color:#e7ece9!important}.theme-toggle,.auth-theme-toggle{display:none!important}}

/* v1.7.1 - Dashboard project performance alignment */
.project-performance-table{table-layout:fixed;min-width:920px}
.project-performance-table .project-col{width:39%}
.project-performance-table .money-col{width:13%}
.project-performance-table .status-col{width:9%}
.project-performance-table th,.project-performance-table td{vertical-align:middle}
.project-performance-table th.num,.project-performance-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.project-performance-table .status-cell{text-align:center}
.project-performance-table td:first-child{padding-right:22px}
.project-performance-table td:first-child small{display:inline-block;margin-top:3px;line-height:1.35}
@media(max-width:1100px){.project-performance-table{min-width:860px}.project-performance-table .project-col{width:36%}.project-performance-table .money-col{width:13.5%}.project-performance-table .status-col{width:10%}}

/* v1.8 HR module */
.hr-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.hr-tabs a{display:inline-flex;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-size:13px;font-weight:650;text-decoration:none}.hr-tabs a:hover,.hr-tabs a.active{background:var(--brand);border-color:var(--brand);color:#fff;text-decoration:none}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-grid>div{background:#f7faf8;border:1px solid #e7ece9;border-radius:10px;padding:12px}.detail-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.detail-grid strong{display:block;margin-top:5px}.hr-note{padding:10px 12px;border-left:3px solid var(--brand);background:color-mix(in srgb,var(--brand) 7%,transparent);border-radius:6px}.hr-tabs+.kpis{margin-top:4px}
html[data-theme="dark"] .hr-tabs a{background:#111b18;border-color:#2a3a34;color:var(--ink)}html[data-theme="dark"] .hr-tabs a:hover,html[data-theme="dark"] .hr-tabs a.active{background:var(--brand);border-color:var(--brand);color:white}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.hr-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.hr-tabs a{white-space:nowrap}}


/* v1.8.1 Employee profile photos */
.employee-profile-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.employee-photo-panel{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,var(--brand) 6%)}.employee-profile-photo{width:176px;height:176px;border-radius:14px;object-fit:cover;display:block;border:1px solid var(--line);background:var(--soft);box-shadow:0 3px 14px rgba(0,0,0,.08)}.employee-photo-meta{text-align:center;max-width:100%}.employee-photo-meta strong,.employee-photo-meta span{display:block}.employee-photo-meta span{margin-top:3px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.employee-photo-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;width:100%}.employee-photo-actions .btn,.employee-photo-remove,.employee-photo-remove .btn{width:100%}.selected-photo-name{font-size:11px;text-align:center;overflow-wrap:anywhere}.employee-photo-panel small{display:block;color:var(--muted);font-size:10px;line-height:1.4;text-align:center}.employee-profile-details{min-width:0}.photo-col{width:64px}.employee-photo-cell{width:64px;text-align:center}.employee-thumb{width:44px;height:44px;border-radius:9px;object-fit:cover;display:inline-block;vertical-align:middle;border:1px solid var(--line);background:var(--soft)}html[data-theme="dark"] .employee-photo-panel{background:#131f1b}.employee-thumb:hover,.employee-profile-photo:hover{border-color:var(--brand)}
@media(max-width:860px){.employee-profile-layout{grid-template-columns:1fr}.employee-photo-panel{max-width:280px;margin:0 auto;width:100%}.employee-profile-photo{width:160px;height:160px}}
@media print{.employee-photo-actions,.employee-photo-remove{display:none!important}.employee-photo-panel{background:#fff!important}.employee-profile-photo{box-shadow:none}}

/* v2.0 Accounting workspace */
.acct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px}.acct-tabs a{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font-size:12px;font-weight:700;text-decoration:none}.acct-tabs a:hover,.acct-tabs a.active{background:var(--brand);border-color:var(--brand);color:#fff;text-decoration:none}.acct-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.acct-actions a{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--soft);color:var(--ink);text-decoration:none}.acct-actions a:hover{border-color:var(--brand);box-shadow:var(--shadow)}.acct-actions strong{font-size:13px}.acct-actions span{color:var(--muted);font-size:11px;line-height:1.35}.acct-health{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.acct-health>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 95%,var(--brand) 5%)}.acct-health span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.acct-health strong{display:block;margin-top:5px;font-size:13px}.acct-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.acct-two-col>.card{margin:0}.acct-filter{align-items:end}.acct-filter label{min-width:150px}.aging-strip{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px}.aging-strip>div{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--soft)}.aging-strip span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.aging-strip strong{display:block;margin-top:4px;font-size:14px;font-variant-numeric:tabular-nums}.journal-entry-table td:nth-last-child(-n+2),.journal-entry-table th:nth-last-child(-n+2){text-align:right}.journal-entry-table input.mini{min-width:105px}.acct-kpis .kpi small a{font-weight:600}.report-block table{width:100%}.report-block h3{margin:18px 0 8px}.report-block h3:first-child{margin-top:0}
html[data-theme="dark"] .acct-tabs a{background:#111b18;border-color:#2a3a34;color:var(--ink)}html[data-theme="dark"] .acct-tabs a:hover,html[data-theme="dark"] .acct-tabs a.active{background:var(--brand);border-color:var(--brand);color:#fff}html[data-theme="dark"] .acct-actions a,html[data-theme="dark"] .aging-strip>div,html[data-theme="dark"] .acct-health>div{background:#131f1b;border-color:#26352f}
@media(max-width:1100px){.acct-actions,.acct-health{grid-template-columns:repeat(2,minmax(0,1fr))}.acct-two-col{grid-template-columns:1fr}.aging-strip{grid-template-columns:repeat(3,minmax(110px,1fr))}}
@media(max-width:760px){.acct-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.acct-tabs a{white-space:nowrap}.acct-actions,.acct-health{grid-template-columns:1fr}.aging-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.acct-filter label{min-width:0;width:100%}}
@media print{.acct-tabs,.acct-actions,.acct-filter,.actions,.form-actions{display:none!important}.acct-two-col{display:block}.acct-two-col>.card{margin-bottom:16px}.aging-strip>div,.acct-health>div{background:#fff!important}}
/* v2.0 accounting reversal history */
.row-muted{opacity:.62}.row-muted td{text-decoration:none}.row-muted .badge{opacity:1}
html[data-theme="dark"] .row-muted{opacity:.68}

/* HR People search */
.hr-people-search{display:grid;grid-template-columns:minmax(280px,2fr) minmax(220px,1fr) minmax(150px,.65fr) auto;gap:12px;align-items:end}
.hr-people-search label{display:flex;flex-direction:column;gap:6px;margin:0}
.hr-people-search label>span{font-size:12px;font-weight:700;color:var(--muted)}
.hr-people-search input,.hr-people-search select{width:100%;border:1px solid #cfd9d4;border-radius:8px;background:var(--panel);padding:9px 10px;min-height:40px;color:var(--ink)}
.hr-search-actions{display:flex;gap:8px;align-items:center;padding-bottom:1px}
.hr-search-summary{margin-top:12px;font-size:13px;color:var(--muted)}
.hr-search-summary strong{color:var(--ink);font-size:15px}
@media(max-width:900px){.hr-people-search{grid-template-columns:1fr 1fr}.hr-search-main{grid-column:1/-1}}
@media(max-width:620px){.hr-people-search{grid-template-columns:1fr}.hr-search-main{grid-column:auto}.hr-search-actions{width:100%}.hr-search-actions .btn,.hr-search-actions button{flex:1;text-align:center}}

.hr-people-tools{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.side-version{display:block;font-size:10px;color:var(--muted);margin:2px 0 6px}

/* v2.0.27 - ChronoSystem family theme
   Keeps ERP information architecture intact while matching the ChronoSystem visual language. */
:root{
  --bg:#eef4f2;
  --panel:rgba(255,255,255,.92);
  --panel-solid:#ffffff;
  --ink:#12211d;
  --ink-2:#25433a;
  --muted:#71807b;
  --line:#dce7e3;
  --line-strong:#cbdad5;
  --brand:#0d6d5b;
  --brand2:#084c40;
  --brand3:#14a985;
  --brand4:#2ed0a3;
  --accent:#ff6a1f;
  --accent-deep:#d4530f;
  --soft:#f5f9f7;
  --danger:#bc342b;
  --warn:#b36a08;
  --ok:#0a8050;
  --sidebar:#071d18;
  --sidebar2:#0a2c24;
  --shadow-sm:none;
  --shadow:none;
  --shadow-lg:0 20px 50px rgba(7,35,29,.18);
  --radius:8px;
  --radius-lg:10px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --font-display:'Oswald',sans-serif;
  --font-body:'IBM Plex Sans',sans-serif;
  --font-mono:'IBM Plex Mono',monospace
}
html{scroll-behavior:smooth}
body:not(.print-body){background:var(--bg)}
::selection{background:rgba(46,208,163,.28)}
.app-shell{grid-template-columns:264px minmax(0,1fr)}
.sidebar{background:var(--sidebar);padding:22px 16px;color:#eef8f5;overflow:hidden;border-right:1px solid rgba(255,255,255,.05);z-index:20}
.sidebar:after{content:none}
.brand{position:relative;z-index:1;gap:12px;margin:2px 4px 24px;padding:0;color:#fff}
.brand img{width:46px;height:46px;border-radius:12px;padding:0;object-fit:contain;background:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 28px rgba(0,0,0,.18)}
.brand strong{font-size:15px;letter-spacing:.01em}.brand small{color:#8fb8ad;font-size:11px;letter-spacing:.02em}
.sidebar nav{position:relative;z-index:1;gap:2px}.nav-section{color:#638d82;font-size:10px;font-weight:800;letter-spacing:.14em;padding:12px 13px 6px}
.side-link{gap:11px;padding:10px 12px;border-radius:9px;color:#a9c9c1;margin:2px 0;font-size:13.5px;font-weight:600;border:1px solid transparent;transition:background-color .12s ease,color .12s ease}
.side-link:hover{background:#153a32;color:#edf8f5;text-decoration:none}
.side-link.active{background:#19453b;color:#fff;border-color:transparent}
.side-link span:first-child{width:18px;color:currentColor;opacity:.92}
.side-user{position:relative;z-index:2;margin-top:auto;padding:12px;border-top:1px solid #285249;border-radius:0;color:#a9c9c1;font-size:12px}
.side-user strong{color:#eaf8f4;font-size:12px}.side-user span{color:#a9c9c1}.side-user a{display:inline-flex;margin-top:8px;color:#d6e9e4;font-weight:600}.side-version{color:#6fa799!important}
.main-shell{min-width:0}
.topbar{height:80px;padding:0 30px;background:var(--panel);border-bottom:1px solid var(--line)}
.topbar h1{font-size:24px;line-height:1.15;letter-spacing:-.02em;color:var(--ink);font-weight:600}.topbar p{margin-top:4px;color:var(--muted);font-size:12px}
.topbar-actions{gap:10px}.top-user,.theme-toggle{background:var(--soft);border:1px solid var(--line);border-radius:10px;}
.top-user{padding:8px 12px;min-width:128px}.top-user strong{font-size:12px;color:var(--ink-2)}.top-user span{font-size:10px;color:var(--muted);margin-top:2px}
.theme-toggle{min-height:36px;padding:8px 12px;color:var(--ink);transition:background-color .12s ease}.theme-toggle:hover{background:#fff}
.content{padding:26px 30px 48px;max-width:1720px;width:100%;margin:0 auto}
.card,.kpi{background:var(--panel);border:0.5px solid var(--line);border-radius:14px;box-shadow:none;transition:border-color .15s ease}
.card{padding:20px;margin-bottom:17px}.card:hover,.kpi:hover{border-color:var(--line)}.card-head{margin-bottom:14px}.card h2{font-size:17px;letter-spacing:-.01em;font-weight:600}.card h3{letter-spacing:0;font-weight:600}
.kpis{gap:14px;margin-bottom:17px}.kpi{background:var(--soft);border:none;position:relative;min-height:auto;padding:16px 18px}.kpi span{font-size:12.5px;font-weight:500;letter-spacing:0;color:var(--muted)}.kpi strong{font-size:24px;line-height:1.1;font-weight:600;letter-spacing:-.01em;margin-top:8px;color:var(--ink);display:block}.kpi small{font-size:12px;margin-top:7px}.kpi.warn{background:#fdf1e2}.kpi.warn span,.kpi.warn small{color:#a06a12}
.grid-form{gap:14px 18px}.grid-form label,.filter-row label{gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.grid-form input,.grid-form select,.grid-form textarea,.filter-row input,.filter-row select,.table-wrap input,.table-wrap select,.hr-people-search input,.hr-people-search select{border:1px solid var(--line-strong);border-radius:9px;background:var(--panel);padding:10px 11px;min-height:40px;color:var(--ink);outline:none;transition:border-color .12s ease,box-shadow .12s ease}
.grid-form input:hover,.grid-form select:hover,.grid-form textarea:hover,.filter-row input:hover,.filter-row select:hover,.table-wrap input:hover,.table-wrap select:hover,.hr-people-search input:hover,.hr-people-search select:hover{border-color:#b9cec7}
.grid-form input:focus,.grid-form select:focus,.grid-form textarea:focus,.filter-row input:focus,.filter-row select:focus,.table-wrap input:focus,.table-wrap select:focus,.hr-people-search input:focus,.hr-people-search select:focus{border-color:#50b89b;box-shadow:0 0 0 3px rgba(46,208,163,.11)}
.btn{appearance:none;border:0.5px solid var(--line);border-radius:9px;padding:9px 14px;min-height:38px;background:transparent;color:var(--ink);font-weight:600;font-size:13px;gap:7px;transition:background-color .12s ease,transform .08s ease}
.btn:hover{background:var(--soft);text-decoration:none}.btn:active{transform:scale(.98)}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(13,109,91,.25)}.btn.primary:hover{background:var(--brand2)}
.btn.small{min-height:32px;padding:6px 10px}.btn.danger{background:#fff0ee!important;color:var(--danger)!important;border-color:#f7d9d5!important}
.table-wrap{overflow:auto;background:var(--panel);border:0.5px solid var(--line);border-radius:12px;box-shadow:none}
table{border-collapse:separate;border-spacing:0}th,td{padding:12px 14px;border-bottom:0.5px solid var(--line);font-size:13px;vertical-align:middle}th{position:sticky;top:0;z-index:1;background:var(--panel);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:0}tbody tr{transition:background .1s ease}tbody tr:hover{background:var(--soft)}tbody tr:last-child td{border-bottom:0}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--soft);color:#52615d;border:none}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.65}.badge.good{background:#e9f8f0;color:var(--ok)}.badge.bad{background:#fff0ee;color:var(--danger)}.badge.warn{background:#fff4e4;color:var(--warn)}
.summary-grid,.detail-grid{gap:10px}.summary-grid>div,.detail-grid>div,.acct-health>div,.aging-strip>div{background:var(--soft);border:none;border-radius:12px;padding:13px}.summary-grid span,.detail-grid span,.acct-health span,.aging-strip span{font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted)}
.hr-tabs,.acct-tabs{gap:5px;background:var(--soft);padding:5px;border-radius:11px;width:max-content;max-width:100%;overflow:auto;flex-wrap:nowrap}.hr-tabs a,.acct-tabs a{border:0;border-radius:8px;background:transparent;color:#5d756f;padding:8px 12px;font-size:13px;font-weight:600;white-space:nowrap}.hr-tabs a:hover,.acct-tabs a:hover{background:rgba(255,255,255,.62);color:var(--brand2)}.hr-tabs a.active,.acct-tabs a.active{background:#fff;color:var(--brand2);box-shadow:none;font-weight:600}
.acct-actions{gap:10px}.acct-actions a{border-radius:12px;background:var(--soft);border-color:var(--line);padding:15px;transition:border-color .12s ease}.acct-actions a:hover{border-color:var(--brand)}
.employee-photo-panel{border-radius:14px;background:var(--soft);border-color:var(--line)}.employee-profile-photo{border-radius:12px;box-shadow:none}.employee-thumb{border-radius:9px}
.alert{border-radius:10px;font-size:13px;font-weight:600}.alert.success{background:#e8f8ef;color:var(--ok);border-color:#d1eedf}.alert.error{background:#fff0ee;color:var(--danger);border-color:#f4d8d4}
.cp-summary-box,.cp-client-block{border-radius:14px}.cp-summary-box{background:var(--soft)}

/* ChronoSystem-style authentication shell */
.auth-body{padding:24px;background:var(--soft)}
.auth-shell{width:min(940px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid #dae7e2;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg)}
.auth-showcase{position:relative;padding:38px;color:#ebfff8;background:linear-gradient(150deg,#073c32,#0a6f5a 63%,#0f8d70);overflow:hidden;min-height:530px;display:flex;flex-direction:column}
.auth-showcase:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-245px;bottom:-245px;border:1px solid rgba(255,255,255,.13)}
.auth-showcase-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.auth-showcase-brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:12px;padding:0;border:1px solid rgba(255,255,255,.45);box-shadow:0 12px 30px rgba(0,0,0,.22)}.auth-showcase-brand strong{display:block;font-size:15px;letter-spacing:.03em}.auth-showcase-brand small{display:block;margin-top:3px;color:#aee0d2;font-size:11px}
.auth-showcase-copy{position:relative;z-index:1;margin-top:auto;margin-bottom:26px}.auth-kicker{font-size:10px;color:#aee9d7;font-weight:800;text-transform:uppercase;letter-spacing:.10em}.auth-showcase h2{font-size:31px;letter-spacing:-.045em;line-height:1.1;margin:10px 0}.auth-showcase p{font-size:13px;line-height:1.7;color:#bfe8dc;max-width:390px}.auth-feature-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.auth-feature-pills span{padding:7px 10px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);border-radius:999px;font-size:10px;color:#d9f6ed}
.auth-panel{padding:42px 38px;display:flex;flex-direction:column;justify-content:center;min-width:0}.auth-panel>.alert{margin-bottom:14px}.auth-wrap{width:auto}.auth-card{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.auth-logo{display:block;width:76px;height:76px;object-fit:contain;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.auth-card h1{font-size:25px;letter-spacing:-.035em;margin:18px 0 5px}.auth-card p{font-size:12px;margin-bottom:24px}.auth-card label{font-size:12px;font-weight:600;color:#50665f}.auth-card input{border:1px solid var(--line-strong);border-radius:11px;padding:11px 12px;min-height:42px;outline:none}.auth-card input:focus{border-color:#50b89b;box-shadow:0 0 0 3px rgba(46,208,163,.11)}
.auth-theme-toggle{top:18px;right:18px}.auth-theme-toggle .theme-toggle{background:rgba(255,255,255,.84)}

/* Dark appearance with the same ChronoSystem family character. */
html[data-theme="dark"]{
  --bg:#09130f;--panel:rgba(15,26,22,.94);--panel-solid:#0f1a16;--ink:#e6f0ed;--ink-2:#cfe0da;--muted:#8da29b;--line:#263b34;--line-strong:#354c44;--brand:#35b99c;--brand2:#72dcc1;--brand3:#2ac9a2;--brand4:#55debb;--soft:#14231e;--danger:#ff8b83;--warn:#f2b45d;--ok:#68d7a5;--sidebar:#04130f;--sidebar2:#08231c;--shadow-sm:none;--shadow:none;--shadow-lg:0 20px 50px rgba(0,0,0,.35)
}
html[data-theme="dark"] body:not(.print-body){background:var(--bg)}
html[data-theme="dark"] .sidebar{background:var(--sidebar)}
html[data-theme="dark"] .topbar{background:rgba(9,19,15,.84);border-color:rgba(54,78,69,.78)}html[data-theme="dark"] .top-user,html[data-theme="dark"] .theme-toggle{background:rgba(20,35,30,.86);border-color:#31473f;color:#d7e8e2}
html[data-theme="dark"] .card,html[data-theme="dark"] .kpi{background:var(--panel);border-color:#263a33}html[data-theme="dark"] .card:hover,html[data-theme="dark"] .kpi:hover{border-color:#345048}
html[data-theme="dark"] .grid-form input,html[data-theme="dark"] .grid-form select,html[data-theme="dark"] .grid-form textarea,html[data-theme="dark"] .filter-row input,html[data-theme="dark"] .filter-row select,html[data-theme="dark"] .table-wrap input,html[data-theme="dark"] .table-wrap select,html[data-theme="dark"] .hr-people-search input,html[data-theme="dark"] .hr-people-search select{background:#12211c;border-color:#344b43;color:var(--ink)}
html[data-theme="dark"] .grid-form input:focus,html[data-theme="dark"] .grid-form select:focus,html[data-theme="dark"] .grid-form textarea:focus,html[data-theme="dark"] .filter-row input:focus,html[data-theme="dark"] .filter-row select:focus,html[data-theme="dark"] .table-wrap input:focus,html[data-theme="dark"] .table-wrap select:focus{background:#152720;border-color:#4eb99c}
html[data-theme="dark"] .btn{background:transparent;border-color:#2d443c;color:#cfe4dd}html[data-theme="dark"] .btn:hover{background:#1b312a}html[data-theme="dark"] .btn.primary{background:#14745f;border-color:#14745f;color:#fff}
html[data-theme="dark"] .table-wrap{background:rgba(15,26,22,.94);border-color:#263b34}html[data-theme="dark"] th{background:#13241e;color:#94aba3;border-color:#263b34}html[data-theme="dark"] td{border-color:#21342d}html[data-theme="dark"] tbody tr:hover{background:#12231d}
html[data-theme="dark"] .hr-tabs,html[data-theme="dark"] .acct-tabs{background:#13231e}html[data-theme="dark"] .hr-tabs a,html[data-theme="dark"] .acct-tabs a{background:transparent;border:0;color:#91a79f}html[data-theme="dark"] .hr-tabs a:hover,html[data-theme="dark"] .acct-tabs a:hover{background:#1b312a;color:#c9e8df}html[data-theme="dark"] .hr-tabs a.active,html[data-theme="dark"] .acct-tabs a.active{background:#213a32;color:#7de0c6;box-shadow:0 2px 8px rgba(0,0,0,.25)}
html[data-theme="dark"] .summary-grid>div,html[data-theme="dark"] .detail-grid>div,html[data-theme="dark"] .acct-actions a,html[data-theme="dark"] .aging-strip>div,html[data-theme="dark"] .acct-health>div,html[data-theme="dark"] .employee-photo-panel{background:#12231d;border-color:#263b34}
html[data-theme="dark"] .auth-body{background:var(--soft)}html[data-theme="dark"] .auth-shell{background:#0f1a16;border-color:#263b34}html[data-theme="dark"] .auth-panel{background:#0f1a16}html[data-theme="dark"] .auth-card{background:transparent}html[data-theme="dark"] .auth-card input{background:#12211c;border-color:#344b43;color:var(--ink)}html[data-theme="dark"] .auth-theme-toggle .theme-toggle{background:rgba(15,26,22,.86)}

@media(max-width:1100px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.brand{margin-left:0;margin-right:0}.sidebar:after{display:none}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.auth-shell{grid-template-columns:1fr;max-width:480px}.auth-showcase{display:none}.auth-panel{padding:34px 28px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:8px 10px;overflow:visible}.sidebar nav{flex-direction:row}.side-link:hover{transform:none}.topbar{padding:16px 18px}.content{padding:16px}.card{border-radius:15px}.table-wrap{border-radius:15px}}
@media(max-width:620px){.auth-body{padding:14px}.auth-panel{padding:28px 22px}.kpis{grid-template-columns:1fr}}
@media print{body,.print-body{background:#fff!important}.card,.kpi,.table-wrap{box-shadow:none!important;}.table-wrap{border-color:#ccc!important}th{position:static!important}}


/* v2.0.28 - ERP identity block aligned with ChronoSystem sidebar branding */
.brand{align-items:flex-start}
.brand-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding-top:1px;line-height:1.15}
.brand-copy strong{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em;color:#fff;text-transform:none}
.brand-copy .brand-company{display:block;margin-top:4px;color:#8fb8ad;font-size:11px;font-weight:500;letter-spacing:.01em}
.brand-status{display:flex;align-items:center;gap:5px;margin-top:7px;color:#45d7af;font-size:10px;font-weight:500;letter-spacing:.005em;white-space:nowrap}
.brand-status i{display:block;width:7px;height:7px;border-radius:50%;background:#2ed0a3;box-shadow:0 0 0 3px rgba(46,208,163,.10),0 0 10px rgba(46,208,163,.45)}
.auth-showcase-brand{align-items:flex-start}
.auth-brand-copy{display:flex;flex-direction:column;align-items:flex-start;padding-top:1px;line-height:1.15}
.auth-brand-copy strong{font-size:15px;font-weight:800;letter-spacing:-.01em;color:#fff}
.auth-brand-copy small{margin-top:4px;color:#aee0d2;font-size:11px;font-weight:500;letter-spacing:.01em}
.auth-brand-status{display:flex;align-items:center;gap:5px;margin-top:7px;color:#55dfba;font-size:10px;font-weight:500;white-space:nowrap}
.auth-brand-status i{display:block;width:7px;height:7px;border-radius:50%;background:#2ed0a3;box-shadow:0 0 0 3px rgba(46,208,163,.10),0 0 10px rgba(46,208,163,.45)}
@media(max-width:1100px){.brand-copy{display:none}.brand{align-items:center}.brand img{margin-top:0}}


/* v2.0.30 - ChronoSystem identity assets with ERP-focused login copy */
.erp-system-logo{object-fit:contain;background:#fff}

/* v2.0.31 - Sales / Service Invoice Calculator */
.invoice-calc-lead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 18px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow-sm)}
.invoice-calc-lead h2{margin:5px 0 7px;font-size:22px;letter-spacing:-.025em}.invoice-calc-lead p{margin:0;color:var(--muted);max-width:820px;line-height:1.55}.invoice-calc-kicker{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--brand)}
.invoice-calc-note{min-width:240px;max-width:310px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.invoice-calc-note strong,.invoice-calc-note span{display:block}.invoice-calc-note strong{font-size:12px}.invoice-calc-note span{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}
.invoice-calc-layout{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(520px,1.2fr);gap:18px;align-items:start}.invoice-calc-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px}.invoice-calc-panel>h3{margin:0 0 14px;font-size:15px}.invoice-calc-form{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px}.invoice-calc-form [hidden]{display:none!important}.invoice-calc-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750;color:var(--ink-2)}.invoice-calc-form input,.invoice-calc-form select{width:100%;min-height:40px;padding:9px 10px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink);outline:none}.invoice-calc-form input:focus,.invoice-calc-form select:focus{border-color:#50b89b;box-shadow:0 0 0 3px rgba(46,208,163,.10)}.invoice-calc-form small{font-size:10px;font-weight:500;line-height:1.35}
.invoice-calc-output{position:sticky;top:108px}.invoice-calc-output-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.invoice-calc-output-head>div span,.invoice-calc-output-head>div strong{display:block}.invoice-calc-output-head>div span{color:var(--brand);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.invoice-calc-output-head>div strong{margin-top:4px;font-size:15px}
.invoice-calc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.invoice-calc-kpis>div{padding:13px;border:none;border-radius:12px;background:var(--soft)}.invoice-calc-kpis span{display:block;font-size:12px;color:var(--muted)}.invoice-calc-kpis strong{display:block;margin-top:5px;font-size:18px;font-weight:600}.invoice-calc-kpis .primary{background:var(--brand2);border-color:transparent;color:#fff}.invoice-calc-kpis .primary span{color:#bcecdf}.invoice-calc-kpis .primary strong{color:#fff}
.invoice-form-map{border:0.5px solid var(--line);border-radius:12px;overflow:hidden}.invoice-form-map-title{padding:12px 14px;background:var(--soft);border-bottom:0.5px solid var(--line)}.invoice-form-map-title strong,.invoice-form-map-title span{display:block}.invoice-form-map-title strong{font-size:12px;font-weight:600}.invoice-form-map-title span{margin-top:3px;font-size:11px;color:var(--muted)}.invoice-form-map table{margin:0}.invoice-form-map th{width:58%;background:transparent;text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink-2)}.invoice-form-map td{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.invoice-form-map .invoice-total-row th,.invoice-form-map .invoice-total-row td{background:var(--brand2);color:#fff;border-bottom:0;font-size:13px}
.invoice-calc-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.invoice-calc-checks>div{padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.invoice-calc-checks span,.invoice-calc-checks strong{display:block}.invoice-calc-checks span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.invoice-calc-checks strong{margin-top:4px;font-size:12px}.invoice-calc-formula{margin-top:12px;padding:10px 12px;border-left:3px solid var(--brand);background:var(--soft);font-size:11px;line-height:1.5;color:var(--muted)}.invoice-calc-formula strong{color:var(--ink-2)}
html[data-theme="dark"] .invoice-calc-form input,html[data-theme="dark"] .invoice-calc-form select{background:#12211c;border-color:#344b43;color:var(--ink)}html[data-theme="dark"] .invoice-calc-kpis .primary{background:#12604f}
@media(max-width:1200px){.invoice-calc-layout{grid-template-columns:1fr}.invoice-calc-output{position:static}.invoice-calc-note{max-width:280px}}
@media(max-width:760px){.invoice-calc-lead{display:block}.invoice-calc-note{max-width:none;margin-top:14px}.invoice-calc-form{grid-template-columns:1fr}.invoice-calc-kpis,.invoice-calc-checks{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.acct-tabs,.invoice-calc-lead,.invoice-calc-layout>.invoice-calc-panel:first-child,.invoice-calc-output .actions{display:none!important}.app-shell{display:block!important}.content{padding:0!important;max-width:none!important}.invoice-calc-layout{display:block!important}.invoice-calc-output{position:static!important;border:0!important;box-shadow:none!important;padding:0!important}.invoice-form-map{border-color:#bbb!important}.invoice-form-map .invoice-total-row th,.invoice-form-map .invoice-total-row td{background:#eee!important;color:#111!important}.invoice-calc-kpis .primary{background:#eee!important;color:#111!important}.invoice-calc-kpis .primary span,.invoice-calc-kpis .primary strong{color:#111!important}}

/* v2.0.32 - Printable invoice calculation aligned with ERP document print language */
.invoice-calc-form .span2{grid-column:1/-1}
.invoice-calc-form textarea{width:100%;padding:9px 10px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--ink);outline:none;resize:vertical;line-height:1.45}
.invoice-calc-form textarea:focus{border-color:#50b89b;box-shadow:0 0 0 3px rgba(46,208,163,.10)}
.ic-money-input{font-variant-numeric:tabular-nums}
.invoice-print-only{display:none}
.invoice-print-lines{margin:0 0 18px}.invoice-print-lines th:nth-child(1){width:58%}.invoice-print-lines td:first-child{white-space:pre-wrap;line-height:1.5}
.invoice-print-foot{margin-top:28px;padding-top:10px;border-top:1px solid #dfe6e2;justify-content:space-between;gap:20px;color:#65736d;font-size:10px}
html[data-theme="dark"] .invoice-calc-form textarea{background:#12211c;border-color:#344b43;color:var(--ink)}
@media print{
  .invoice-print-only{display:block!important}
  table.invoice-print-only{display:table!important}
  .invoice-print-foot{display:flex!important}
  .invoice-calc-output-head,.invoice-calc-kpis,.invoice-calc-checks,.invoice-calc-formula{display:none!important}
  .invoice-calc-output{max-width:850px!important;margin:0 auto!important;background:#fff!important;color:#17211d!important}
  .invoice-print-header .print-brand{margin-bottom:20px}
  .invoice-print-title{margin-top:0!important;margin-bottom:16px!important}
  .invoice-print-title h1{font-size:22px!important;letter-spacing:.05em!important}
  .invoice-print-client{break-inside:avoid;margin-bottom:16px!important}
  .invoice-print-lines{break-inside:avoid;margin-bottom:18px!important}
  .invoice-print-lines th,.invoice-print-lines td{padding:9px 10px!important}
  .invoice-form-map{break-inside:avoid;border-radius:0!important}
  .invoice-form-map-title{background:#f7faf8!important}
  .invoice-form-map th,.invoice-form-map td{padding:9px 10px!important}
  .invoice-form-map .invoice-total-row th,.invoice-form-map .invoice-total-row td{border-top:2px solid #173f36!important;background:#edf5f2!important;color:#173f36!important;font-size:13px!important}
}

/* v2.0.39 - Sleek official Billing Statement with footer disclaimer */
.billing-statement-title{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:18px 0 22px;padding-bottom:13px;border-bottom:1px solid #bccbc5}
.billing-statement-title h1{margin:0;font-size:28px;line-height:1.05;letter-spacing:.025em;font-weight:850;color:#173f36}
.billing-statement-meta{min-width:235px;display:grid;gap:6px}.billing-statement-meta p{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:14px;margin:0;padding:0}.billing-statement-meta span{font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:#71807a}.billing-statement-meta strong{text-align:right;font-size:11.5px;color:#1c2824;font-variant-numeric:tabular-nums}
.billing-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 24px;border-top:1px solid #d7e0dc;border-bottom:1px solid #d7e0dc}.billing-party{min-height:76px;padding:14px 16px 15px 0;border:0!important;border-radius:0!important;background:transparent!important}.billing-party+.billing-party{padding-left:20px;border-left:1px solid #d7e0dc!important}.billing-party-label{display:block;margin-bottom:7px;font-size:8.5px;font-weight:850;letter-spacing:.14em;color:#0e6f5b}.billing-party>strong{display:block;font-size:13px;line-height:1.35;color:#18241f}.billing-party p{margin:4px 0 0;font-size:10.5px;line-height:1.45;color:#62706a}
.billing-lines{border-collapse:collapse;margin:0 0 22px}.billing-lines thead th{padding:8px 10px;background:#f4f8f6;border-top:1px solid #cbd8d3;border-bottom:1px solid #cbd8d3;color:#40514b;font-size:8.5px;font-weight:850;letter-spacing:.075em}.billing-lines tbody td{padding:13px 10px;border-bottom:1px solid #dfe7e3;font-size:11px}.billing-lines tbody td:first-child{font-weight:650;color:#1d2b26}
.billing-summary-wrap{display:flex;justify-content:flex-end;margin-top:4px}.billing-summary{width:min(420px,56%);border-collapse:collapse}.billing-summary th,.billing-summary td{padding:7px 6px;border:0!important;border-bottom:1px solid #dfe7e3!important;background:transparent!important;font-size:10.8px}.billing-summary th{text-transform:none;letter-spacing:0;color:#596862;font-weight:650}.billing-summary td{text-align:right;font-weight:780;font-variant-numeric:tabular-nums;color:#17211d}.billing-summary .billing-gross-row th,.billing-summary .billing-gross-row td{padding-top:9px;border-top:1px solid #9fb0aa!important;font-weight:800;color:#2a3b35}.billing-summary .billing-due-row th,.billing-summary .billing-due-row td{padding-top:11px;padding-bottom:11px;border-top:1.75px solid #173f36!important;border-bottom:1.75px solid #173f36!important;color:#173f36;font-size:13px;font-weight:900}
.billing-disclaimer{margin-top:28px;padding-top:9px;border-top:1px solid #d7e0dc;font-size:8.6px;line-height:1.55;color:#77827e;break-inside:avoid;text-align:left;max-width:100%}
@media(max-width:760px){.billing-statement-title{display:block}.billing-statement-meta{margin-top:14px}.billing-party-grid{grid-template-columns:1fr}.billing-party+.billing-party{padding-left:0;border-left:0!important;border-top:1px solid #d7e0dc!important}.billing-summary{width:100%}}
@media print{
  @page{size:A4;margin:13mm 15mm}
  .invoice-calc-output>.invoice-form-map{display:none!important}
  .official-billing-statement{display:flex!important;flex-direction:column!important;min-height:271mm!important}
  .official-billing-statement .print-brand{align-items:center!important;margin:0 0 18px!important;padding:0 0 13px!important;border-bottom:1.5px solid #173f36!important}
  .official-billing-statement .print-brand img{width:88px!important;height:76px!important}
  .official-billing-statement .print-brand h1{font-size:16px!important;letter-spacing:-.01em!important}
  .official-billing-statement .print-brand p{font-size:9.6px!important;line-height:1.42!important;color:#4f5d57!important}
  .billing-statement-title{margin:0 0 20px!important;padding-bottom:13px!important}
  .billing-statement-title h1{font-size:27px!important}
  .billing-party{background:#fff!important}
  .billing-lines th,.billing-lines td,.billing-summary th,.billing-summary td{color:#17211d!important}
  .billing-lines thead th{background:#f4f8f6!important;color:#40514b!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .billing-summary .billing-due-row th,.billing-summary .billing-due-row td{background:#fff!important;color:#173f36!important}
  .billing-disclaimer{margin-top:auto!important;padding-top:7px!important;border-top:1px solid #d7e0dc!important;color:#77827e!important}
}

/* v2.0.42 - Billing Statement naming and amount formatting */
.billing-register-table{margin-top:14px}.billing-register-table td{vertical-align:middle}.billing-register-table td:nth-child(4){min-width:220px;max-width:380px}.billing-register-table .actions.compact{flex-wrap:nowrap}.billing-print-actions{position:fixed;right:18px;top:18px;display:flex;gap:8px;z-index:20}.invoice-calc-panel form+.actions{margin-top:10px}
@media print{.billing-print-actions{display:none!important}.print-body{padding:0!important;background:#fff!important}.print-sheet{box-shadow:none!important;margin:0!important;max-width:none!important;padding:0!important}}

/* v2.0.43 - ChronoSystem v0.6.0 design parity: typography, squared geometry, reserved accent */
body{font-family:var(--font-body),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.topbar h1{font-family:var(--font-display);font-weight:600;letter-spacing:0}
.card h2,.card h3{font-family:var(--font-display);font-weight:600;letter-spacing:0}
.kpi strong{font-family:var(--font-display);font-weight:600;letter-spacing:0}
.brand strong{font-family:var(--font-display);font-weight:600;letter-spacing:.02em}
.brand small{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.03em;text-transform:uppercase}
.nav-section{font-family:var(--font-mono);font-weight:500;letter-spacing:.1em}
.topbar p,.kpi span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.02em}
th{font-family:var(--font-mono);font-weight:500;letter-spacing:.06em}
label{font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;text-transform:uppercase}

.card,.kpi{border-radius:2px}
.btn{border-radius:2px}
.table-wrap{border-radius:2px}
.badge{border-radius:2px}
.theme-toggle{border-radius:2px}
.auth-shell{border-radius:2px}
.auth-logo{border-radius:2px;box-shadow:none}
.acct-tabs,.hr-tabs{border-radius:2px}
.acct-tabs a,.hr-tabs a{border-radius:2px}
.acct-actions a{border-radius:2px}
.employee-photo-panel,.employee-profile-photo,.employee-thumb{border-radius:2px}

/* Reserved accent - Post / Finalize actions only. Everything else stays brand turquoise. */
.btn.accent{background:var(--accent);border-color:var(--accent-deep);color:#1a0d05;box-shadow:0 3px 0 var(--accent-deep);font-family:var(--font-display);font-weight:600;letter-spacing:.02em}
.btn.accent:hover:not(:disabled){background:#ff7936}
.btn.accent:active:not(:disabled){box-shadow:0 0 0 var(--accent-deep);transform:translateY(3px)}
html[data-theme="dark"] .btn.accent{background:#ff7936;border-color:#d4530f;color:#1a0d05}

/* v2.0.45 - Quick Answers assistant */
.qa-form{display:flex;gap:10px;flex-wrap:wrap}
.qa-form input{flex:1 1 320px;min-width:0}
.qa-note{margin:10px 0 0;font-size:12.5px;color:var(--muted)}
.qa-sub{margin:0 0 12px;color:var(--muted);font-size:13px}
.qa-groups{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.qa-group h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.qa-chips{display:flex;flex-wrap:wrap;gap:8px}
.qa-chip{display:inline-block;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);text-decoration:none;font-size:13px}
.qa-chip:hover{border-color:var(--brand);color:var(--brand)}

/* v2.0.46 - cost proposal materials and labor split */
.cp-table{min-width:1720px}
.cp-split-table{width:auto;min-width:320px}
.cp-split-table td{padding:5px 12px}
.cp-split-table .cp-split-total td{border-top:1px solid var(--line)}
.cp-split-note{margin:6px 0 0;font-size:11.5px;color:var(--muted)}

/* v2.0.47 - cost proposal sections, items and sub-items */
.cp-row-section td{background:var(--soft)}
.cp-row-section .cp-desc{font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.cp-row-item .cp-desc{font-weight:600}
.cp-row-subitem .cp-desc{padding-left:22px}
.cp-item-row .cp-line{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.cp-row-subitem .cp-line{font-weight:400;color:var(--muted)}
.cp-rolled .cp-unit-cost{color:var(--muted)}
.cp-print-section td{background:#eef2f1;font-weight:700;text-transform:uppercase}
.cp-print-item td{font-weight:600}
.cp-print-sub td:nth-child(2){padding-left:26px}
.cp-print-section-total td{font-weight:600;border-top:1px solid #d5ded9}
.cp-table input.cp-locked{color:transparent;background:transparent;cursor:default}
.cp-table input.cp-locked::placeholder{color:transparent}

/* v2.0.52 - Cost Proposal landscape print option */
.cp-print-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px}
.cp-print.cp-print-landscape{max-width:1180px}
@media print{.cp-print-controls{display:none!important}}


/* v2.0.53 - Unified sleek print design system */
@media screen {
  .print-body{background:#edf1ef;padding:26px}
  .print-sheet{border:1px solid #dfe6e2;box-shadow:0 10px 34px rgba(19,39,32,.08)}
}

/* Shared printed document language */
.print-sheet{font-family:Arial,Helvetica,sans-serif;color:#18231f;line-height:1.42}
.print-brand{display:flex;align-items:center;gap:14px;padding:0 0 11px;margin:0 0 18px;border-bottom:1.25px solid #173f36}
.print-brand img{width:72px;height:64px;object-fit:contain;flex:0 0 auto}
.print-brand h1{margin:0;font-size:15.5px;line-height:1.15;font-weight:700;letter-spacing:-.01em;color:#17231f}
.print-brand p{margin:4px 0 0;font-size:9.4px;line-height:1.42;color:#596761}
.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px 24px;margin:0 0 18px;font-size:10px}
.print-meta p{margin:0;padding:5px 0;border-bottom:1px solid #e4ebe7}
.print-meta b{font-size:8.4px;letter-spacing:.065em;text-transform:uppercase;color:#64716c;margin-right:5px}
.print-sheet table{font-size:9.8px;border-collapse:collapse}
.print-sheet th{padding:7px 8px;background:#f4f7f5;color:#485650;font-size:8.2px;font-weight:700;letter-spacing:.065em;text-transform:uppercase;border-top:1px solid #ccd8d3;border-bottom:1px solid #ccd8d3}
.print-sheet td{padding:7px 8px;border-bottom:1px solid #e3e9e6;color:#1f2c27}
.print-sheet .num{font-variant-numeric:tabular-nums}
.print-sheet tbody tr:hover{background:transparent}
.print-sheet .btn.no-print{margin-top:16px}

/* Main ERP payslip and payroll register */
.print-sheet:not(.cp-print) > table + table{margin-top:14px}
.print-sheet:not(.cp-print) > table tr:last-child th,
.print-sheet:not(.cp-print) > table tr:last-child td{font-weight:700}
.print-sheet:not(.cp-print) > table tr:last-child th{color:#173f36}

/* Cost Proposal */
.cp-print{font-size:10.2px}
.cp-print .print-brand{margin-bottom:16px}
.cp-proposal-title{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid #c8d4cf}
.cp-proposal-title h1{margin:0 0 3px;font-size:22px;line-height:1.05;letter-spacing:.035em;font-weight:800;color:#173f36}
.cp-proposal-title strong{font-size:10px;color:#53615c;font-weight:700;letter-spacing:.03em}
.cp-proposal-title p{margin:2px 0;font-size:9.4px;color:#5c6964;text-align:right}
.cp-client-block{display:grid;grid-template-columns:1fr 1fr;gap:2px 24px;margin:0 0 16px;padding:12px 0;border-top:1px solid #d8e1dd;border-bottom:1px solid #d8e1dd;background:transparent!important;border-radius:0!important}
.cp-client-block p{margin:2px 0;font-size:9.8px;line-height:1.42}
.cp-client-block p b{font-size:8.2px;text-transform:uppercase;letter-spacing:.06em;color:#65736d}
.cp-print-text{margin:0 0 15px;padding:0;font-size:9.8px;line-height:1.55;color:#33433d}
.cp-print table{font-size:9.2px}
.cp-print th{font-size:7.9px;padding:6px 7px}
.cp-print td{padding:6px 7px}
.cp-print-section td{background:#f1f5f3!important;color:#173f36!important;font-size:8.5px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;border-top:1px solid #c9d6d1;border-bottom:1px solid #c9d6d1}
.cp-print-item td{font-weight:600}
.cp-print-sub td{color:#4f5e58}
.cp-grand-row td{padding-top:9px;padding-bottom:9px;border-top:1.75px solid #173f36!important;border-bottom:1.75px solid #173f36!important;background:#fff!important;color:#173f36;font-size:10.5px;font-weight:800}
.cp-split-table{margin-top:12px}
.cp-print-notes{margin-top:16px;break-inside:avoid}
.cp-print-notes h3{margin:0 0 5px;font-size:8.7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#173f36}
.cp-print-notes p{margin:0;font-size:9.3px;line-height:1.5;color:#42514b}
.cp-signatures{display:grid;grid-template-columns:1fr 1fr;gap:62px;margin-top:38px;break-inside:avoid}
.cp-signatures p{margin:0 0 24px;font-size:8.5px;text-transform:uppercase;letter-spacing:.055em;color:#6b7772}
.cp-signatures strong{display:block;padding-top:5px;border-top:1px solid #74817b;font-size:10px;color:#17231f}
.cp-signatures span{font-size:8.8px;color:#77827e}

/* Billing Statement */
.official-billing-statement{font-family:Arial,Helvetica,sans-serif}
.official-billing-statement .print-brand{margin-bottom:18px}
.billing-statement-title{margin:0 0 18px;padding-bottom:11px;border-bottom:1px solid #c5d1cc}
.billing-statement-title h1{font-size:24px;letter-spacing:.025em;font-weight:800}
.billing-statement-meta span{font-size:8px;letter-spacing:.075em}
.billing-statement-meta strong{font-size:10.5px}
.billing-party-grid{margin-bottom:18px}
.billing-party{min-height:64px;padding-top:11px;padding-bottom:12px}
.billing-party-label{font-size:7.8px}
.billing-party>strong{font-size:11.5px}
.billing-party p{font-size:9.2px}
.billing-lines{margin-bottom:18px}
.billing-lines thead th{font-size:7.9px;padding:7px 8px}
.billing-lines tbody td{font-size:9.8px;padding:10px 8px}
.billing-summary{width:min(390px,54%)}
.billing-summary th,.billing-summary td{font-size:9.8px;padding:6px 5px}
.billing-summary .billing-due-row th,.billing-summary .billing-due-row td{font-size:11.3px;padding-top:9px;padding-bottom:9px}
.billing-disclaimer{font-size:8px;line-height:1.5;color:#7a8580}

/* Generic printable app pages, reports, PRs and liquidations */
@media print{
  @page{margin:12mm 14mm}
  html,body{font-family:Arial,Helvetica,sans-serif!important;color:#18231f!important}
  .print-body{padding:0!important;background:#fff!important}
  .print-sheet{margin:0!important;max-width:none!important;padding:0!important;border:0!important;box-shadow:none!important}
  .print-sheet table{font-size:9.3px!important}
  .print-sheet th{font-size:7.8px!important;padding:6px 7px!important}
  .print-sheet td{padding:6px 7px!important}
  .card{border-color:#dce4e0!important;border-radius:0!important}
  .card h2,.card h3{font-family:Arial,Helvetica,sans-serif!important}
  .summary-grid>div,.detail-grid>div,.acct-health>div,.aging-strip>div{border-radius:0!important;background:#fff!important}
  .badge{border-radius:2px!important}
}

/* Landscape proposal stays dense without becoming tiny */
@media print{
  .cp-print-landscape{font-size:9.4px!important}
  .cp-print-landscape .print-brand img{width:64px!important;height:56px!important}
  .cp-print-landscape .print-brand h1{font-size:14.5px!important}
  .cp-print-landscape .print-brand p{font-size:8.6px!important}
  .cp-print-landscape .cp-proposal-title h1{font-size:20px!important}
  .cp-print-landscape table{font-size:8.7px!important}
  .cp-print-landscape th{font-size:7.4px!important;padding:5px 6px!important}
  .cp-print-landscape td{padding:5px 6px!important}
  .cp-print-landscape .cp-signatures{margin-top:28px!important}
}

.print-doc-title{margin:0 0 14px;padding-bottom:9px;border-bottom:1px solid #d3ddd8}.print-doc-title h2{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.1;letter-spacing:.03em;color:#173f36}.print-doc-title span{display:block;margin-top:3px;font-size:8.8px;color:#68756f}


/* v2.0.56 - Minimal, consistent print language */
@media print {
  :root{
    --print-ink:#1b2823;
    --print-muted:#68756f;
    --print-accent:#176d5f;
    --print-line:#d9e2de;
    --print-soft:#f6f8f7;
  }
  @page{margin:12mm 14mm}
  html,body{font-family:Arial,Helvetica,sans-serif!important;color:var(--print-ink)!important;font-size:9.5px!important;line-height:1.42!important}
  .print-sheet{font-family:Arial,Helvetica,sans-serif!important;color:var(--print-ink)!important;line-height:1.42!important}

  /* Header: whitespace replaces decorative rules */
  .print-brand{align-items:center!important;gap:12px!important;margin:0 0 15px!important;padding:0!important;border:0!important}
  .print-brand img{width:66px!important;height:58px!important;object-fit:contain!important}
  .print-brand h1{font-size:14.5px!important;line-height:1.15!important;font-weight:700!important;letter-spacing:-.01em!important;color:var(--print-ink)!important}
  .print-brand p{font-size:8.6px!important;line-height:1.4!important;color:var(--print-muted)!important;margin:3px 0 0!important}

  /* Document titles */
  .print-doc-title{margin:0 0 14px!important;padding:0 0 8px!important;border:0!important;border-bottom:1px solid var(--print-line)!important}
  .print-doc-title h2{font-size:18px!important;line-height:1.1!important;font-weight:700!important;letter-spacing:.02em!important;color:var(--print-accent)!important}
  .print-doc-title span{font-size:8.4px!important;color:var(--print-muted)!important}

  /* Metadata: no notebook-style row lines */
  .print-meta{gap:4px 22px!important;margin:0 0 15px!important;font-size:9.2px!important}
  .print-meta p{padding:2px 0!important;border:0!important}
  .print-meta b{font-size:7.6px!important;letter-spacing:.055em!important;color:var(--print-muted)!important}

  /* Tables: one header rule, body whitespace, rules reserved for totals */
  .print-sheet table{font-size:9.2px!important;border-collapse:collapse!important}
  .print-sheet th{padding:6px 7px!important;background:transparent!important;color:#4c5a54!important;font-size:7.6px!important;font-weight:700!important;letter-spacing:.055em!important;text-transform:uppercase!important;border:0!important;border-bottom:1px solid #aebdb7!important}
  .print-sheet td{padding:6px 7px!important;border:0!important;color:var(--print-ink)!important}

  /* Cost Proposal */
  .cp-print{font-size:9.5px!important}
  .cp-print .print-brand{margin-bottom:14px!important}
  .cp-proposal-title{margin:0 0 13px!important;padding:0!important;border:0!important;align-items:flex-end!important}
  .cp-proposal-title h1{font-size:20px!important;line-height:1.05!important;letter-spacing:.025em!important;font-weight:750!important;color:var(--print-accent)!important}
  .cp-proposal-title strong{font-size:9px!important;color:var(--print-muted)!important}
  .cp-proposal-title p{font-size:8.8px!important;color:var(--print-muted)!important}
  .cp-client-block{grid-template-columns:1fr 1fr!important;gap:2px 24px!important;margin:0 0 14px!important;padding:10px 0!important;border:0!important;background:transparent!important}
  .cp-client-block p{font-size:9.2px!important;margin:2px 0!important}
  .cp-client-block p b{font-size:7.5px!important;color:var(--print-muted)!important}
  .cp-print-text{font-size:9.3px!important;line-height:1.5!important;margin:0 0 13px!important}
  .cp-print table{font-size:8.9px!important}
  .cp-print th{font-size:7.4px!important;padding:5px 6px!important}
  .cp-print td{padding:5px 6px!important}
  .cp-print-section td{background:var(--print-soft)!important;color:var(--print-accent)!important;font-size:7.8px!important;font-weight:700!important;letter-spacing:.05em!important;border:0!important}
  .cp-print-section-total td{border-top:.7px solid #d8e2de!important}
  .cp-grand-row td{padding-top:8px!important;padding-bottom:8px!important;border:0!important;border-top:1.5px solid var(--print-accent)!important;background:#fff!important;color:var(--print-accent)!important;font-size:10px!important;font-weight:800!important}
  .cp-print-notes{margin-top:14px!important}
  .cp-print-notes h3{font-size:7.8px!important;margin:0 0 4px!important;color:var(--print-accent)!important}
  .cp-print-notes p{font-size:8.9px!important;line-height:1.48!important}
  .cp-signatures{gap:56px!important;margin-top:34px!important}
  .cp-signatures p{font-size:7.8px!important;margin:0 0 22px!important;color:var(--print-muted)!important}
  .cp-signatures strong{font-size:9.3px!important;border-top:1px solid #6f7d77!important;padding-top:4px!important}
  .cp-signatures span{font-size:8px!important}

  /* Billing Statement */
  .official-billing-statement{font-size:9.5px!important}
  .official-billing-statement .print-brand{margin-bottom:14px!important}
  .billing-statement-title{margin:0 0 15px!important;padding:0!important;border:0!important}
  .billing-statement-title h1{font-size:21px!important;line-height:1.05!important;letter-spacing:.02em!important;font-weight:750!important;color:var(--print-accent)!important}
  .billing-statement-meta{min-width:220px!important;gap:4px!important}
  .billing-statement-meta p{grid-template-columns:70px 1fr!important;gap:10px!important;padding:0!important;border:0!important}
  .billing-statement-meta span{font-size:7.5px!important;color:var(--print-muted)!important}
  .billing-statement-meta strong{font-size:9.2px!important;color:var(--print-ink)!important}
  .billing-party-grid{gap:28px!important;margin:0 0 16px!important;border:0!important}
  .billing-party{min-height:0!important;padding:0!important;border:0!important;background:transparent!important}
  .billing-party+.billing-party{padding-left:0!important;border:0!important}
  .billing-party-label{font-size:7.5px!important;margin-bottom:5px!important;color:var(--print-accent)!important}
  .billing-party>strong{font-size:10.5px!important}
  .billing-party p{font-size:8.7px!important;line-height:1.4!important;margin:3px 0 0!important}
  .billing-lines{margin:0 0 15px!important}
  .billing-lines thead th{font-size:7.4px!important;padding:5px 6px!important;background:transparent!important;border:0!important;border-bottom:1px solid #aebdb7!important}
  .billing-lines tbody td{font-size:9.2px!important;padding:7px 6px!important;border:0!important}
  .billing-summary{width:min(380px,52%)!important}
  .billing-summary th,.billing-summary td{font-size:9.2px!important;padding:5px 4px!important;border:0!important;background:transparent!important}
  .billing-summary .billing-gross-row th,.billing-summary .billing-gross-row td{padding-top:7px!important;border-top:.8px solid #bdcac5!important;font-weight:700!important}
  .billing-summary .billing-due-row th,.billing-summary .billing-due-row td{padding:8px 4px!important;border:0!important;border-top:1.5px solid var(--print-accent)!important;color:var(--print-accent)!important;font-size:10.6px!important;font-weight:800!important}
  .billing-disclaimer{font-size:7.7px!important;line-height:1.45!important;color:#7b8581!important;border-top:.6px solid var(--print-line)!important;padding-top:6px!important}

  /* Payroll and generic tabular printouts */
  .print-sheet:not(.cp-print)>table+table{margin-top:12px!important}
  .print-sheet:not(.cp-print)>table tr:last-child th,
  .print-sheet:not(.cp-print)>table tr:last-child td{font-weight:700!important}
  .print-sheet:not(.cp-print)>table tr:last-child th{color:var(--print-accent)!important}

  /* Landscape proposal keeps the same hierarchy, only slightly denser */
  .cp-print-landscape{font-size:8.9px!important}
  .cp-print-landscape .print-brand img{width:58px!important;height:51px!important}
  .cp-print-landscape .print-brand h1{font-size:13.5px!important}
  .cp-print-landscape .print-brand p{font-size:8px!important}
  .cp-print-landscape .cp-proposal-title h1{font-size:18px!important}
  .cp-print-landscape table{font-size:8.3px!important}
  .cp-print-landscape th{font-size:7px!important;padding:4px 5px!important}
  .cp-print-landscape td{padding:4px 5px!important}
}

/* v2.0.56 - Print typography normalization
   Keep one type family and one body size. Hierarchy is expressed primarily
   through weight and spacing, not by making adjacent proposal rows different sizes. */
@media print {
  :root{
    --print-body-size:9px;
    --print-label-size:8px;
    --print-small-size:8px;
    --print-title-size:20px;
  }

  html, body,
  .print-sheet,
  .print-sheet table,
  .print-sheet th,
  .print-sheet td,
  .print-sheet p,
  .print-sheet span,
  .print-sheet strong,
  .print-sheet b,
  .official-billing-statement,
  .cp-print {
    font-family:Arial,Helvetica,sans-serif!important;
  }

  /* Shared table typography */
  .print-sheet table{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
  }
  .print-sheet th{
    font-size:var(--print-label-size)!important;
    line-height:1.25!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
  }
  .print-sheet td{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
  }
  .print-sheet td small,
  .print-sheet th small{
    font-size:var(--print-small-size)!important;
    line-height:1.35!important;
  }

  /* Cost Proposal table: every body row uses the same size. */
  .cp-print table,
  .cp-print tbody,
  .cp-print tbody tr,
  .cp-print tbody td{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
  }
  .cp-print thead th{
    font-size:var(--print-label-size)!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
  }
  .cp-print-section td{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
    font-weight:700!important;
    letter-spacing:.015em!important;
    text-transform:uppercase!important;
  }
  .cp-print-item td{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
    font-weight:600!important;
  }
  .cp-print-sub td{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
    font-weight:400!important;
  }
  .cp-print-sub td:nth-child(2){
    padding-left:18px!important;
  }
  .cp-print tbody td.num,
  .cp-print tbody td.num b,
  .cp-print tbody td.num strong{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
  }
  .cp-print .cp-grand-row td,
  .cp-print .cp-grand-row td b,
  .cp-print .cp-grand-row td strong{
    font-size:10px!important;
    line-height:1.3!important;
  }

  /* Keep landscape typography consistent with portrait instead of shrinking each row class differently. */
  .cp-print-landscape table,
  .cp-print-landscape tbody td,
  .cp-print-landscape .cp-print-section td,
  .cp-print-landscape .cp-print-item td,
  .cp-print-landscape .cp-print-sub td{
    font-size:8.5px!important;
    line-height:1.34!important;
  }
  .cp-print-landscape thead th{
    font-size:7.6px!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
  }
  .cp-print-landscape .cp-grand-row td,
  .cp-print-landscape .cp-grand-row td b,
  .cp-print-landscape .cp-grand-row td strong{
    font-size:9.4px!important;
  }

  /* Billing Statement follows the same body / label scale. */
  .billing-lines tbody td,
  .billing-summary th,
  .billing-summary td{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
  }
  .billing-lines thead th,
  .billing-party-label,
  .billing-statement-meta span{
    font-size:var(--print-label-size)!important;
    letter-spacing:.02em!important;
  }

  /* Generic payroll, HR, workforce and accounting print tables. */
  .print-sheet:not(.cp-print) table td{
    font-size:var(--print-body-size)!important;
    line-height:1.38!important;
  }
  .print-sheet:not(.cp-print) table th{
    font-size:var(--print-label-size)!important;
    line-height:1.25!important;
    letter-spacing:.02em!important;
  }
}


/* v2.0.56 - Cost Proposal typography fix
   Applies to BOTH the browser print-preview page and the actual printed/PDF output.
   Previous typography normalization lived only inside @media print, so the on-screen
   printable page could still show the older mixed scale. */
.print-body .cp-print{
  --cp-body-size:9px;
  --cp-head-size:8px;
  font-family:Arial,Helvetica,sans-serif!important;
  color:#1b2823;
}
.print-body .cp-print table,
.print-body .cp-print thead,
.print-body .cp-print tbody,
.print-body .cp-print tr,
.print-body .cp-print th,
.print-body .cp-print td{
  font-family:Arial,Helvetica,sans-serif!important;
}
.print-body .cp-print table{
  font-size:var(--cp-body-size)!important;
  line-height:1.34!important;
}
.print-body .cp-print thead th{
  font-size:var(--cp-head-size)!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
  padding:5px 6px!important;
}
.print-body .cp-print tbody td,
.print-body .cp-print tbody td b,
.print-body .cp-print tbody td strong,
.print-body .cp-print tbody td span,
.print-body .cp-print tbody td small{
  font-size:var(--cp-body-size)!important;
  line-height:1.34!important;
  font-family:Arial,Helvetica,sans-serif!important;
  letter-spacing:0!important;
}
.print-body .cp-print tbody td{
  padding:5px 6px!important;
}
/* Same size for every proposal line. Weight and indentation alone show hierarchy. */
.print-body .cp-print .cp-print-section td{
  font-size:var(--cp-body-size)!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
}
.print-body .cp-print .cp-print-item td{
  font-size:var(--cp-body-size)!important;
  font-weight:600!important;
}
.print-body .cp-print .cp-print-sub td{
  font-size:var(--cp-body-size)!important;
  font-weight:400!important;
}
.print-body .cp-print .cp-print-sub td:nth-child(2){padding-left:18px!important}
.print-body .cp-print .cp-print-item td.num,
.print-body .cp-print .cp-print-sub td.num,
.print-body .cp-print .cp-print-section td.num{
  font-variant-numeric:tabular-nums;
}
/* Do not shrink the body type just because the proposal is landscape. */
.print-body .cp-print-landscape{
  --cp-body-size:9px;
  --cp-head-size:8px;
}
/* Totals are intentionally the only table rows allowed to step up in size. */
.print-body .cp-print .cp-grand-row td,
.print-body .cp-print .cp-grand-row td b,
.print-body .cp-print .cp-grand-row td strong{
  font-size:10px!important;
  line-height:1.3!important;
}

@media print{
  .print-body .cp-print,
  .print-body .cp-print-landscape{
    --cp-body-size:9px;
    --cp-head-size:8px;
  }
}


/* v2.0.57 - Cost Proposal print header refinement */
.print-body .cp-print .cp-topband{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:30px;align-items:start;margin:0 0 14px}.print-body .cp-print .cp-topband .print-brand{margin:0!important;padding:0!important;border:0!important}.print-body .cp-print .cp-proposal-title{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:8px;margin:0!important;padding:2px 0 0!important;border:0!important;text-align:right}.print-body .cp-print .cp-proposal-title h1{margin:0!important;font-size:18px!important;line-height:1.05!important;letter-spacing:.02em!important;font-weight:700!important;color:#176d5f!important}.print-body .cp-print .cp-proposal-title strong{display:block;margin-top:2px;font-size:9px!important;line-height:1.25!important;color:#44524c!important;font-weight:700!important}.print-body .cp-print .cp-proposal-meta p{margin:1px 0!important;font-size:8.6px!important;line-height:1.35!important;color:#5b6963!important}.print-body .cp-print .cp-proposal-meta b{font-size:8px!important;color:#4d5a55!important}.print-body .cp-print .cp-client-block{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;margin:0 0 14px!important;padding:10px 0 0!important;border:0!important;background:transparent!important}.print-body .cp-print .cp-client-block p{margin:0!important;font-size:9px!important;line-height:1.45!important}.print-body .cp-print .cp-client-block p b{display:inline-block;min-width:58px;font-size:7.6px!important;letter-spacing:.04em!important;color:#66736e!important;text-transform:uppercase}.print-body .cp-print .cp-print-text{margin:0 0 12px!important;font-size:9px!important;line-height:1.48!important;color:#33403b!important}.print-body .cp-print.cp-print-landscape .cp-topband{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:26px}.print-body .cp-print.cp-print-landscape .cp-proposal-title h1{font-size:17px!important}.print-body .cp-print.cp-print-landscape .cp-client-block p{font-size:8.6px!important}.print-body .cp-print.cp-print-landscape .cp-client-block p b{min-width:52px!important}
@media print{.cp-print .cp-topband{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr)!important;gap:30px!important;align-items:start!important;margin:0 0 14px!important}.cp-print .cp-topband .print-brand{margin:0!important}.cp-print .cp-proposal-title{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:flex-start!important;gap:8px!important;margin:0!important;padding:2px 0 0!important;border:0!important;text-align:right!important}.cp-print .cp-proposal-title h1{margin:0!important;font-size:18px!important;line-height:1.05!important;letter-spacing:.02em!important;font-weight:700!important}.cp-print .cp-proposal-title strong{display:block!important;margin-top:2px!important;font-size:9px!important}.cp-print .cp-proposal-meta p{margin:1px 0!important;font-size:8.6px!important;line-height:1.35!important}.cp-print .cp-client-block{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px 24px!important;margin:0 0 14px!important;padding:10px 0 0!important;border:0!important;background:transparent!important}.cp-print .cp-client-block p{margin:0!important;font-size:9px!important;line-height:1.45!important}.cp-print .cp-client-block p b{display:inline-block!important;min-width:58px!important;font-size:7.6px!important;letter-spacing:.04em!important;text-transform:uppercase!important}.cp-print.cp-print-landscape .cp-topband{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr)!important;gap:26px!important}.cp-print.cp-print-landscape .cp-proposal-title h1{font-size:17px!important}.cp-print.cp-print-landscape .cp-client-block p{font-size:8.6px!important}.cp-print.cp-print-landscape .cp-client-block p b{min-width:52px!important}}

/* v2.0.60 - Purchase Requisition workspace */
.pr-form-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:20px 0 10px}.pr-form-head h3{margin:0 0 4px}.pr-form-head p{margin:0}.pr-entry-table{min-width:1080px}.pr-entry-table input{width:100%;min-width:70px}.pr-entry-table td:nth-child(2) input{min-width:260px}.pr-entry-table td:nth-child(7) input{min-width:210px}.pr-entry-table tfoot th{background:var(--soft);font-weight:700}.pr-reject-form{display:inline-flex;align-items:center;gap:7px;vertical-align:middle}.pr-reject-form input{min-width:190px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}.pr-detail-grid>div:first-child,.pr-detail-grid>div:nth-child(2){grid-column:span 2}.pr-item-row .btn.small{white-space:nowrap}@media(max-width:900px){.pr-form-head{align-items:stretch;flex-direction:column}.pr-reject-form{display:flex;flex-wrap:wrap}.pr-detail-grid>div:first-child,.pr-detail-grid>div:nth-child(2){grid-column:auto}}

/* ============================================================
   v2.0.68 — Fresh Look foundations
   Tokens, type and components. Appended last so it overrides the
   earlier rules without editing them; delete this block to revert.
   ============================================================ */
:root{
  --bg:#f7f6f2;--panel:#ffffff;--ink:#14181a;--muted:#5c6560;--line:#e2e4de;
  --brand:#0e4f45;--brand2:#0a3a33;--soft:#f1f4f1;
  --danger:#b42318;--warn:#b45309;--info:#1d4ed8;--ok:#15803d;
  --accent:#b45309;--accent-deep:#93400a;
  --edge:#d7dad3;--head:#fbfaf7;--hair:#eff1ec;
  --font-display:'Archivo','Instrument Sans',system-ui,sans-serif;
  --font-body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --shadow:0 1px 2px rgba(20,24,26,.04)
}
html[data-theme="dark"]{
  --bg:#0e1311;--panel:#161b19;--ink:#e8edea;--muted:#98a29d;--line:#2a312e;
  --brand:#5cc3b2;--brand2:#7ad6c6;--soft:#1a211e;
  --danger:#ff8179;--warn:#f0a35a;--info:#8aa9f5;--ok:#67c98d;
  --accent:#c2640f;--accent-deep:#a35209;
  --edge:#333b37;--head:#141a18;--hair:#232a27;
  --shadow:0 1px 2px rgba(0,0,0,.3)
}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink)}
h1,h2,h3,.card-head h2,.topbar h1{font-family:var(--font-display);letter-spacing:-.01em}
a{color:var(--brand)}

/* Sidebar: quiet rail instead of a dark slab */
.sidebar{background:var(--panel);color:var(--ink);border-right:1px solid var(--line);padding:18px 14px}
.side-link{color:#3c4642;font-size:13px;border-radius:9px;padding:9px 11px;min-height:36px}
.side-link:hover{background:var(--soft);color:var(--ink);text-decoration:none}
.side-link.active{background:#e8f0ed;color:var(--brand);font-weight:600}
.nav-section{font-size:10px;letter-spacing:.11em;color:#8a938e;font-weight:600;padding:14px 11px 5px}
.side-user{border-top:1px solid var(--line);padding-top:12px;color:var(--ink)}
.side-user span,.side-user small{color:var(--muted)}
.side-user a{color:var(--muted);font-size:12px}
html[data-theme="dark"] .sidebar{background:var(--panel);color:var(--ink);border-right:1px solid var(--line)}
html[data-theme="dark"] .side-link{color:#c3ccc8}
html[data-theme="dark"] .side-link:hover,html[data-theme="dark"] .side-link.active{background:#1d2b27;color:var(--brand2)}
html[data-theme="dark"] .nav-section{color:#7d8a85}

/* Surfaces */
.topbar{height:72px;padding:0 28px;border-bottom:1px solid var(--line)}
.card{border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.kpi span{color:var(--muted);font-size:11px}
.kpi strong{font-family:var(--font-mono);font-weight:500;letter-spacing:-.02em}
html[data-theme="dark"] .kpi{background:var(--panel)}

/* Buttons: one primary per screen, amber only for commit actions */
.btn{border:1px solid var(--edge);border-radius:10px;min-height:40px;padding:9px 15px;font-family:var(--font-body);font-weight:500;font-size:13px;background:var(--panel);color:var(--ink)}
.btn:hover{background:var(--soft);text-decoration:none}
.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600;box-shadow:none}
.btn.primary:hover{background:#000;border-color:#000}
.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff;font-family:var(--font-body);font-weight:600;letter-spacing:0;box-shadow:none}
.btn.accent:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep);transform:none}
.btn.danger,.btn.delete{color:var(--danger)}
.btn.small,.btn.sm{min-height:32px;padding:6px 12px;font-size:12px;font-weight:600}
html[data-theme="dark"] .btn{background:var(--panel);border-color:var(--edge);color:var(--ink)}
html[data-theme="dark"] .btn:hover{background:#1e2522}
html[data-theme="dark"] .btn.primary{background:var(--ink);border-color:var(--ink);color:#0e1311}
html[data-theme="dark"] .btn.primary:hover{background:#fff;border-color:#fff}
html[data-theme="dark"] .btn.accent{color:#fff}

/* Status: six states that differ in lightness, not hue alone */
.badge{border-radius:6px;padding:4px 9px;font-size:11px;font-weight:600;background:#eff1ec;color:#3c4642}
.badge.good{background:#e6f2ea;color:#15803d}
.badge.bad{background:#fbeae8;color:#b42318}
.badge.warn{background:#fbf0e4;color:#b45309}
.badge.info{background:#e8edfb;color:#1d4ed8}
html[data-theme="dark"] .badge{background:#222a27;color:#bcc6c1}
html[data-theme="dark"] .badge.good{background:#13291f;color:#67c98d}
html[data-theme="dark"] .badge.bad{background:#2e1a18;color:#ff9b95}
html[data-theme="dark"] .badge.warn{background:#2e2213;color:#f0a35a}
html[data-theme="dark"] .badge.info{background:#1a2238;color:#8aa9f5}

/* Tables: hairlines, readable headers, figures that line up */
.table-wrap th{font-family:var(--font-body);font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--head);padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.table-wrap td{padding:12px 14px;border-bottom:1px solid var(--hair);vertical-align:middle}
.table-wrap tbody tr:last-child td{border-bottom:0}
.table-wrap tbody tr:hover{background:var(--head)}
.table-wrap th.num,.table-wrap td.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.table-wrap th.num{font-family:var(--font-body)}
.table-wrap tfoot td{background:var(--head);border-top:1px solid var(--line);border-bottom:0;font-weight:600}
html[data-theme="dark"] .table-wrap th{background:var(--head);color:var(--muted)}
html[data-theme="dark"] .table-wrap tbody tr:hover{background:#1b2220}

/* Fields */
.grid-form input,.grid-form select,.grid-form textarea,.filter-row input,.filter-row select,.table-wrap input,.table-wrap select{border:1px solid var(--line);border-radius:10px;min-height:40px;font-family:var(--font-body);font-size:13px}
.grid-form label,.filter-row label{color:var(--muted);font-size:11px;letter-spacing:.04em}
.grid-form input:focus,.grid-form select:focus,.grid-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(14,79,69,.10);outline:none}

/* Notices */
.alert{border-radius:10px;padding:12px 14px;font-weight:500;font-size:13px}
.alert.success{background:#e6f2ea;border-color:#c3e2cf;color:#15603a}
.alert.error{background:#fbeae8;border-color:#f0cbc7;color:#8d2118}
.notice{border-radius:11px}
/* figures keep their full width so the description column is not squeezed */
.table-wrap th.num,.table-wrap td.num{white-space:nowrap}
.table-wrap td:first-child{white-space:nowrap}
html[data-theme="dark"] .btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}
html[data-theme="dark"] .btn.accent:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}

/* ============================================================
   v2.0.69 — top navigation and home
   ============================================================ */
body.top-shell{display:block;background:var(--bg)}
body.top-shell .content{max-width:1440px;margin:0 auto;padding:0 44px 60px;width:auto}
.pagehead{padding:26px 0 18px}
.pagehead h1{margin:0;font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:-.015em}

/* Top bar */
.topnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:26px;height:66px;padding:0 44px;background:var(--panel);border-bottom:1px solid var(--line)}
.topnav-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.topnav-brand:hover{text-decoration:none}
.topnav-mark{width:34px;height:34px;border-radius:9px;background:var(--brand);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.topnav-mark img{width:20px;height:20px;display:block}
.topnav-word strong{display:block;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.17em;line-height:1.1}
.topnav-word small{display:block;font-size:10.5px;color:var(--muted);letter-spacing:.06em}
.topnav-groups{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.topnav-group{position:relative}
.topnav-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:9px;font-size:13px;font-weight:500;color:var(--ink);user-select:none}
.topnav-group summary::-webkit-details-marker{display:none}
.topnav-group summary:hover{background:var(--soft)}
.topnav-trigger.active{color:var(--brand);font-weight:600}
.topnav-caret svg{width:13px;height:13px;stroke:var(--muted)}
.topnav-group[open] .topnav-caret{transform:rotate(180deg)}
.topnav-menu{position:absolute;top:46px;left:0;min-width:248px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(20,24,26,.12);padding:7px;display:flex;flex-direction:column;gap:1px;z-index:30}
.topnav-menu-right{left:auto;right:0}
.topnav-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;font-size:13px;color:var(--ink);text-decoration:none;white-space:nowrap}
.topnav-item:hover{background:var(--soft);text-decoration:none}
.topnav-item.active{background:#e8f0ed;color:var(--brand);font-weight:600}
.topnav-item svg{width:16px;height:16px;stroke:var(--muted)}
.topnav-item.active svg{stroke:var(--brand)}
.topnav-meta{padding:9px 11px 11px;border-bottom:1px solid var(--line);margin-bottom:5px;display:flex;flex-direction:column;gap:2px}
.topnav-meta strong{font-size:13px}
.topnav-meta span,.topnav-meta small{font-size:11.5px;color:var(--muted)}
.topnav-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.topnav-icon{width:40px;height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.topnav-icon:hover{background:var(--soft)}
.topnav-icon svg{width:18px;height:18px;stroke:var(--ink)}
.topnav-avatar{width:28px;height:28px;border-radius:50%;background:#edf1ef;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}
.topnav-username{font-size:13px}
html[data-theme="dark"] .topnav-item.active{background:#1d2b27;color:var(--brand2)}
html[data-theme="dark"] .topnav-avatar{background:#1d2b27}
html[data-theme="dark"] .topnav-menu{box-shadow:0 12px 32px rgba(0,0,0,.45)}

/* Hero */
.hero{display:flex;gap:40px;background:var(--brand);color:#fff;border-radius:16px;padding:36px 40px;margin:24px 0 34px}
.hero-copy{flex:1 1 46%;display:flex;flex-direction:column;justify-content:center}
.hero-date{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#9fc4bc;margin-bottom:12px}
.hero-copy h2{margin:0 0 10px;font-family:var(--font-display);font-size:38px;font-weight:600;line-height:1.1;letter-spacing:-.02em;color:#fff}
.hero-copy p{margin:0 0 20px;font-size:13.5px;color:#bfd8d2;max-width:430px;line-height:1.6}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-btn{background:#fff;border-color:#fff;color:var(--brand);font-weight:600}
.hero-btn:hover{background:#eef4f2;border-color:#eef4f2}
.hero-btn.ghost{background:transparent;border-color:#4c7f76;color:#fff}
.hero-btn.ghost:hover{background:rgba(255,255,255,.08);border-color:#6e9b93}
.hero-list{flex:1 1 54%;display:flex;flex-direction:column;justify-content:center}
.hero-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #2d6d62;color:#fff;text-decoration:none;font-size:13px}
.hero-item:last-child{border-bottom:1px solid #2d6d62}
.hero-item:hover{color:#fff;text-decoration:none;background:rgba(255,255,255,.05)}
.hero-tag{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);background:#cfe3de;border-radius:4px;padding:4px 8px;white-space:nowrap}
.hero-tag.bad{background:#8c2f26;color:#fff}
.hero-label{flex:1 1 auto}
.hero-value{font-family:var(--font-mono);font-size:13px;white-space:nowrap}
.hero-empty{font-size:14px;color:#bfd8d2;line-height:1.6}
html[data-theme="dark"] .hero{background:#10302b}

/* Module grid */
.modsection{margin-bottom:40px}
.modhead{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.modhead h2{margin:0;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.01em}
.modhead p{margin:0 0 0 auto;font-size:12.5px;color:var(--muted)}
.modgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 22px}
.mod{display:block;text-decoration:none;color:var(--ink)}
.mod:hover{text-decoration:none}
.mod-art{position:relative;height:176px;border-radius:6px;background:var(--soft);display:flex;align-items:center;justify-content:center;transition:background-color .14s ease}
.mod:hover .mod-art{background:#e6ece9}
.mod-art svg{width:72px;height:72px;stroke:var(--brand);stroke-width:1.15}
.mod-badge{position:absolute;top:10px;left:10px;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--muted);border-radius:4px;padding:4px 8px}
.mod-badge.warn{background:var(--warn)}
.mod-badge.info{background:var(--info)}
.mod-badge.bad{background:var(--danger)}
.mod-name{display:block;font-size:13px;font-weight:600;margin-top:12px}
.mod-note{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.modmore{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:34px}
.modmore span{font-size:12px;color:#8a938e}
.modmore a{font-size:13px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--edge);padding-bottom:2px}
.modmore a:hover{color:var(--brand);border-color:var(--brand)}
html[data-theme="dark"] .mod:hover .mod-art{background:#202825}

@media (max-width:1100px){
  .modgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{flex-direction:column;gap:24px;padding:28px}
  .hero-copy h2{font-size:30px}
}
@media (max-width:820px){
  .topnav{height:auto;flex-wrap:wrap;padding:12px 18px;gap:12px}
  .topnav-groups{order:3;width:100%;gap:4px}
  .topnav-menu{position:static;box-shadow:none;width:100%;min-width:0}
  .topnav-actions{margin-left:auto}
  .topnav-username{display:none}
  body.top-shell .content{padding:0 18px 40px}
  .modgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
  .mod-art{height:140px}
  .mod-art svg{width:56px;height:56px}
}


/* v2.0.72 - top navigation collapse behavior */
.topnav-caret{display:inline-flex;transition:transform .14s ease}.topnav-group:not([open])>.topnav-menu{display:none}.topnav-group[open]>.topnav-menu{display:flex}

/* v2.0.73 - liquidation supporting documents */
.liq-support-cell{min-width:220px;vertical-align:top}.liq-support-cell .liq-existing-file{display:flex;flex-direction:column;gap:2px;margin-bottom:6px}.liq-support-cell input[type="file"]{display:block;width:100%;max-width:250px;font-size:11px}.liq-support-cell small{color:var(--muted)}


/* v2.0.75 - Liquidation duration form alignment */
.liquidation-duration-form{align-items:start}.liquidation-duration-form>label{align-self:start;margin:0}.liquidation-duration-form>label>select,.liquidation-duration-form>label>input{width:100%;margin:0}.liquidation-duration-form>label>small{display:block;margin-top:1px;line-height:1.35;font-weight:500}.liquidation-duration-form>.form-actions{grid-column:1 / -1;margin-top:0;min-height:auto}
@media(max-width:760px){.liquidation-duration-form>.form-actions{grid-column:auto}}

/* v2.0.78 - HR employee ID card generator preview */
.employee-id-preview-grid{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.employee-id-card{position:relative;width:85.6mm;height:53.98mm;max-width:100%;background:#fff;color:#16231f;border:1px solid #d5e0db;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px rgba(11,31,25,.12);font-family:Arial,Helvetica,sans-serif}.employee-id-band{height:13mm;background:#0c3f35;display:flex;align-items:center;gap:3mm;padding:2.3mm 4mm;color:#fff}.employee-id-band img{width:8mm;height:8mm;object-fit:contain}.employee-id-band strong{display:block;font-size:10pt;letter-spacing:.08em}.employee-id-band span{display:block;margin-top:.6mm;font-size:5.5pt;letter-spacing:.18em;opacity:.82}.employee-id-front-body{display:grid;grid-template-columns:27mm 1fr;gap:4mm;padding:4mm 4mm 2mm}.employee-id-photo{width:27mm;height:28mm;object-fit:cover;border-radius:2mm;background:#e9efec}.employee-id-photo-placeholder{display:flex;align-items:center;justify-content:center;background:#dbe8e3;color:#176d5f;font-size:18pt;font-weight:800}.employee-id-person{min-width:0;padding-top:2mm}.employee-id-kicker{font-size:5.6pt;letter-spacing:.14em;color:#5d6c66}.employee-id-person h2{margin:1mm 0 .8mm;font-size:11.5pt;line-height:1.05;color:#14251f}.employee-id-person p{margin:0;font-size:7.6pt;font-weight:700;color:#176d5f}.employee-id-person small{display:block;margin-top:1.3mm;font-size:6.4pt;color:#5f6c67;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-id-number{position:absolute;left:35mm;right:4mm;bottom:3.2mm;display:flex;align-items:flex-end;justify-content:space-between;border-top:.25mm solid #dce5e1;padding-top:1.6mm}.employee-id-number span{display:block;font-size:5.3pt;letter-spacing:.12em;color:#6b7772}.employee-id-number strong{display:block;margin-top:.3mm;font-size:8.8pt;color:#173f36}.employee-id-status{font-size:6.2pt;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#176d5f}.employee-id-back-head{height:13mm;background:#0c3f35;color:#fff;padding:2.8mm 4mm;display:flex;justify-content:space-between;align-items:center}.employee-id-back-head strong{font-size:8pt}.employee-id-back-head span{font-size:5.5pt;letter-spacing:.16em;opacity:.8}.employee-id-back-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.4mm 4mm;padding:3.8mm 4mm 2mm}.employee-id-back-grid span{display:block;font-size:5pt;text-transform:uppercase;letter-spacing:.08em;color:#6b7772}.employee-id-back-grid strong{display:block;margin-top:.5mm;font-size:6.6pt;color:#1b2a24;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-id-property{margin:0 4mm;padding-top:2mm;border-top:.2mm solid #dce5e1;font-size:5.4pt;line-height:1.35;color:#53615c}.employee-id-company{position:absolute;left:4mm;right:4mm;bottom:2.8mm;display:flex;flex-direction:column;gap:.4mm;font-size:4.8pt;color:#6b7772}.employee-id-card.is-inactive:after{content:'INACTIVE';position:absolute;right:-11mm;top:6mm;transform:rotate(35deg);background:#a63c3c;color:#fff;padding:1mm 13mm;font-size:5.5pt;font-weight:800;letter-spacing:.12em}@media(max-width:760px){.employee-id-card{width:min(85.6mm,100%);height:auto;min-height:53.98mm}.employee-id-preview-grid{justify-content:center}}

/* v2.0.80 - Monthly Dues payment workflow */
.dues-action-section{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--panel)}
.dues-action-section h3{margin:0 0 4px}.dues-action-section p{margin:0}
.dues-action-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.dues-payment-panel{border-color:color-mix(in srgb,var(--brand) 28%,var(--line));background:color-mix(in srgb,var(--brand) 3%,var(--panel))}
.dues-payment-amount{flex:0 0 auto;text-align:right;padding:8px 11px;border-radius:9px;background:var(--soft)}
.dues-payment-amount span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.dues-payment-amount strong{display:block;margin-top:2px;font-size:18px;color:var(--brand)}
.dues-payment-actions{gap:10px;flex-wrap:wrap}.dues-payment-help{margin-top:9px!important;font-size:12px;color:var(--muted);line-height:1.45}
.dues-secondary-action{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--soft)}
.dues-danger-zone{border-left:3px solid var(--danger);padding-left:14px}.dues-danger-zone>p:first-child{margin-top:0}.dues-danger-zone .grid-form{margin-top:14px}
@media(max-width:760px){.dues-action-heading,.dues-secondary-action{flex-direction:column}.dues-payment-amount{text-align:left;width:100%}.dues-payment-actions .btn{width:100%}}
