:root{--primary:#0f766e;--ink:#334155;--muted:#64748b;--surface:#f8fafc;--sidebar:#0f172a}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--surface);color:var(--ink);font-size:14px}.sidebar{width:258px!important;background:var(--sidebar)!important;color:#cbd5e1!important;height:100vh;position:fixed;display:flex!important;flex-direction:column;top:0;left:0}.brand{display:flex;align-items:center;gap:12px;padding:28px 24px;font-size:23px;font-weight:750;color:white}.brand span:not(.brand-mark){display:block;font-size:11px;font-weight:400;color:#94a3b8;letter-spacing:1px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#0f766e;color:white;border-radius:12px;font-size:23px;flex-shrink:0}.sidebar-scroll{overflow-y:auto;flex:1;padding:0 14px 20px;scrollbar-width:thin}.nav-group{font-size:10px;letter-spacing:1.5px;color:#94a3b8;margin:23px 12px 10px;font-weight:700}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;color:#cbd5e1;text-decoration:none;border-radius:9px;font-size:12px}.nav-item.active{background:#134e4a;color:#5eead4}.nav-item i{font-size:16px}.nav-item small{margin-left:auto;font-size:9px;color:#94a3b8}.unavailable{opacity:.65;cursor:default}.sidebar-bottom{padding:16px;border-top:1px solid #233046}.logout{width:100%;border:0;background:transparent;text-align:left;color:#cbd5e1;padding:8px;font-size:13px}.logout i{margin-right:10px}.app-main{margin-left:258px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:86px;background:white;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 36px}.workspace-label{font-size:13px;color:#64748b}.avatar{display:grid;place-items:center;width:38px;height:38px;background:#ccfbf1;color:#115e59;border-radius:50%;font-weight:700}.content{padding:26px 36px;flex:1}.breadcrumb{font-size:11px;margin-bottom:26px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:750;color:var(--primary);letter-spacing:1.7px;margin-bottom:8px}h1{font-size:28px;letter-spacing:-.8px;font-weight:750}.page-heading p{color:var(--muted);margin:8px 0 0;font-size:13px}.date-chip{background:white;border:1px solid #e2e8f0;border-radius:9px;padding:10px 14px;font-size:12px;white-space:nowrap}.date-chip i{margin-right:8px}.setup-banner{display:flex;align-items:center;gap:16px;background:#ecfdf5;border:1px solid #c5eee2;border-radius:12px;padding:20px;margin-bottom:24px;color:#115e59}.setup-banner p{margin:5px 0 0;font-size:12px;line-height:1.7}.setup-banner>.badge{margin-left:auto;white-space:nowrap}.setup-icon{font-size:26px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat-card,.panel{background:white;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 3px 9px #0f172a03}.stat-card{padding:20px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-top{display:flex;justify-content:space-between;gap:8px;font-size:12px}.stat-top i{color:var(--primary);background:#f0fdfa;padding:7px;border-radius:8px;font-size:18px}.stat-value{font-size:32px;line-height:1.4;font-weight:700;margin:10px 0}.stat-card small{font-size:10px;color:var(--muted)}.panel-title{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel h2{font-size:14px;font-weight:700;margin:0}.empty-chart{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:24px;text-align:center;color:#64748b}.empty-chart i{font-size:36px;color:#99b8b4}.empty-chart strong{font-size:13px}.empty-chart span{font-size:12px}.table th{font-size:11px;background:#f8fafc;padding:14px 22px;color:#64748b;font-weight:600;white-space:nowrap}.empty-table{text-align:center;font-size:12px;color:#64748b!important;padding:36px!important}.app-footer{padding:22px 36px;border-top:1px solid #e2e8f0;font-size:11px;color:#64748b;display:flex;justify-content:space-between;gap:15px}.btn-primary{background:var(--primary);border-color:var(--primary);padding:12px;font-weight:600;font-size:14px}.btn-primary:hover,.btn-primary:focus{background:#115e59;border-color:#115e59}.form-control{padding:12px;border-color:#cbd5e1;border-radius:8px}.form-control:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a620}.form-label{font-size:13px;font-weight:600}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(at 0 0,#ccfbf1,transparent 60%),#f8fafc}.login-shell{width:100%;max-width:980px;display:grid;grid-template-columns:1fr 1fr;background:white;border-radius:20px;overflow:hidden;box-shadow:0 20px 65px #0f172a12;border:1px solid #e2e8f0}.login-story{padding:64px 44px;background:#0f172a;color:white;display:flex;flex-direction:column;justify-content:center}.login-story h1{font-size:38px;line-height:1.25;margin:22px 0}.login-story p{color:#94a3b8;line-height:1.9}.login-story .eyebrow{color:#5eead4}.story-note{margin-top:64px;color:#99f6e4;font-size:12px}.story-note i{margin-right:7px}.login-form{padding:64px 42px}.login-form h2{font-size:26px;font-weight:750}.teal-badge{background:#f0fdfa;color:#0f766e;letter-spacing:1px;font-size:9px;padding:9px 12px}@media(max-width:1199px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:992px){.sidebar.offcanvas-lg{position:fixed;visibility:visible!important}}@media(max-width:991px){.app-main{margin-left:0}.topbar{padding:0 20px}.content{padding:24px 20px}.app-footer{padding:20px}.login-story{padding:40px 28px}.login-form{padding:40px 28px}}@media(max-width:575px){.stats-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.setup-banner{align-items:flex-start;flex-wrap:wrap}.setup-banner>.badge{margin-left:0}.app-footer{flex-direction:column}.workspace-label{display:none}.login-shell{grid-template-columns:1fr}.login-story{padding:28px}.login-story h1{font-size:27px}.login-story p,.story-note{display:none}.login-story .eyebrow{margin-bottom:0}.login-form{padding:32px 24px}.panel-title{flex-wrap:wrap}}

/* Master data */
.master-action{margin:0}.master-table td{font-size:13px;min-width:100px;max-width:340px;overflow-wrap:anywhere}.master-table td:last-child{min-width:265px}.master-table th{padding-left:10px}.master-filters .form-control{max-width:100%}.modal-content{border:0;border-radius:14px;box-shadow:0 20px 65px #0f172a20}.modal-header,.modal-footer{padding:20px 24px}.modal-body{padding:24px}.dataTables_wrapper .row{row-gap:14px}.dataTables_wrapper .pagination .page-link{color:#0f766e}.dataTables_wrapper .pagination .active>.page-link{background:#0f766e;border-color:#0f766e;color:white}

/* Customer forms and documentation */
.customer-photo{display:block;width:100%;max-width:520px;height:240px;object-fit:contain;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px}.customer-photo[hidden]{display:none}.customer-details{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px 16px;margin:0 0 18px}.customer-details dt{font-weight:500;color:#64748b;font-size:12px}.customer-details dd{margin:0;font-size:13px;overflow-wrap:anywhere}.customer-filters .form-control{max-width:100%}.customer-filters .form-select{max-width:260px}@media(max-width:575px){.customer-details{grid-template-columns:1fr;gap:5px}.customer-details dd{margin-bottom:12px}.customer-filters .form-select{width:100%!important;max-width:100%}.customer-photo{height:200px}}

/* Billing */
.invoice-year{max-width:150px}#invoice-filters .form-select{max-width:240px}#candidate-table td:last-child{min-width:170px}#candidate-table td:first-child{min-width:50px}#billing-confirm-form .form-check-label{line-height:1.8}

/* Dashboard analytics */
.dashboard-stat{display:block;color:inherit;text-decoration:none}.dashboard-stat:hover{color:inherit;border-color:#99f6e4}.dashboard-stat:focus-visible{outline:3px solid #14b8a6;outline-offset:3px}.dashboard-stat .money-value{font-size:clamp(17px,1.55vw,25px);overflow-wrap:anywhere;line-height:1.6}.dashboard-stat small{display:block;line-height:1.6}.dashboard-chart{position:relative;height:280px;margin-bottom:20px}.dashboard-chart[hidden]{display:none}.status-chart{height:260px}.dashboard-empty{min-height:160px}.dashboard-legend li{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #f1f5f9;font-size:13px}.dashboard-legend i{font-size:10px}.dashboard-summary-table td{font-size:12px;padding:10px 12px}.dashboard-summary-table th{padding:12px}.dashboard-summary-table caption{padding-top:12px;line-height:1.7}#dashboard-unpaid td,#dashboard-payments td{padding:14px 20px;font-size:12px}#dashboard-unpaid td:last-child{min-width:240px}@media(max-width:575px){.dashboard-stat .money-value{font-size:24px}.dashboard-chart{height:240px}.status-chart{height:220px}.date-chip{font-size:11px}.panel-title{align-items:flex-start}}

/* Reports */
.report-filters>div{max-width:100%}.report-filters .form-control,.report-filters .form-select{max-width:270px}.report-filters .report-year{max-width:160px}.report-table th,.report-table td{padding:12px;font-size:12px;overflow-wrap:anywhere;min-width:95px;max-width:340px}.report-table th{background:#f8fafc;color:#64748b}.report-table tfoot th{background:#f0fdfa;color:#115e59;border-top:2px solid #99f6e4}.report-table td.text-nowrap,.report-table th.text-nowrap{min-width:130px}@media(max-width:575px){.report-filters>div{width:100%}.report-filters .form-control,.report-filters .form-select{max-width:100%;width:100%}}

/* Collapsible sidebar groups; the group of the current page starts expanded. */
.sidebar-group-toggle{padding:0;display:flex;align-items:center;justify-content:space-between;gap:10px;width:calc(100% - 24px);border:0;background:transparent;text-align:left;cursor:pointer}
.sidebar-group-toggle:hover{color:#e2e8f0}
.sidebar-group-toggle:focus-visible{outline:2px solid #14b8a6;outline-offset:-2px;border-radius:6px}
.sidebar-group-toggle .bi-chevron-down{font-size:11px;transition:transform .2s}
.sidebar-group-toggle[aria-expanded="true"] .bi-chevron-down{transform:rotate(180deg)}
.sidebar-section .nav-item{margin-bottom:2px}
@media(prefers-reduced-motion:reduce){.sidebar-group-toggle .bi-chevron-down{transition:none}}

/* Full sidebar toggle on desktop; Bootstrap offcanvas controls mobile. */
.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;font-size:24px}
@media(min-width:992px){
 .sidebar.offcanvas-lg{transform:translateX(0);transition:transform .25s ease}
 .app-main{transition:margin-left .25s ease}
 .sidebar-collapsed .sidebar.offcanvas-lg{transform:translateX(-100%);pointer-events:none}
 .sidebar-collapsed .app-main{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.sidebar.offcanvas-lg,.app-main{transition:none!important}}
