:root{--brand:#00b87c;--brand-dark:#00895d;--ink:#20252b;--muted:#6b7280;--bg:#f5f7f8;--line:#e6eaec}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.brand-text{color:var(--brand-dark)}
.portal-shell{min-height:100vh}.sidebar{width:260px;background:#171b1f;color:#fff;position:fixed;top:0;bottom:0;left:0;overflow:auto;z-index:1030}.sidebar .brand{padding:1.35rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar a{color:#cbd5e1;text-decoration:none;display:flex;align-items:center;gap:.7rem;padding:.72rem 1.15rem;margin:.15rem .7rem;border-radius:.7rem}.sidebar a:hover,.sidebar a.active{background:rgba(0,184,124,.15);color:#fff}.main{margin-left:260px;min-height:100vh}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:.85rem 1.25rem;position:sticky;top:0;z-index:1020}.content-wrap{padding:1.4rem}.metric-card,.panel{background:#fff;border:1px solid var(--line);border-radius:1rem;box-shadow:0 6px 22px rgba(25,35,45,.04)}.metric-card{padding:1.15rem}.metric-card .value{font-size:1.7rem;font-weight:800}.metric-card .label{color:var(--muted);font-size:.9rem}.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.form-control,.form-select{border-radius:.7rem;padding:.7rem .8rem}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(0,184,124,.12)}.table thead th{white-space:nowrap;color:#4b5563;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#e5e7eb}.page-title{font-weight:800}.small-muted{font-size:.85rem;color:var(--muted)}
.onboard-wrap{max-width:980px;margin:auto}.onboard-card{background:#fff;border:1px solid var(--line);border-radius:1.2rem;box-shadow:0 12px 30px rgba(20,30,40,.06);overflow:hidden}.onboard-header{background:linear-gradient(135deg,#0a2f28,#00a871);color:#fff;padding:1.4rem}.stepper{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.step-dot{height:5px;border-radius:999px;background:#d1d5db}.step-dot.active,.step-dot.done{background:var(--brand)}.step-pane{display:none}.step-pane.active{display:block}.signature-pad{border:1px dashed #94a3b8;border-radius:.8rem;width:100%;height:190px;background:#fff;touch-action:none}.location-box{background:#f0fdf8;border:1px solid #bbf7d0;border-radius:.85rem;padding:1rem}.agreement-box{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:.8rem;padding:1rem;background:#fafafa;white-space:pre-wrap}.required:after{content:" *";color:#dc3545}.empty-state{padding:2.5rem;text-align:center;color:var(--muted)}.profile-tabs .nav-link{color:#4b5563}.profile-tabs .nav-link.active{color:var(--brand-dark);font-weight:700}.map-frame{height:520px;border-radius:1rem;background:#e5e7eb;overflow:hidden}.print-only{display:none}
@media(max-width:991.98px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.show{transform:none}.main{margin-left:0}.content-wrap{padding:1rem}.stepper{grid-template-columns:repeat(4,1fr)}.metric-card .value{font-size:1.45rem}}
@media(max-width:575.98px){.content-wrap{padding:.75rem}.onboard-header{padding:1rem}.onboard-card{border-radius:.85rem}.table-responsive{font-size:.88rem}.btn-mobile-block{width:100%}.stepper{grid-template-columns:repeat(4,1fr)}}
@media print{.sidebar,.topbar,.no-print,.btn,.nav,.alert{display:none!important}.main{margin:0}.content-wrap{padding:0}.panel,.metric-card{box-shadow:none;border:none}.print-only{display:block}body{background:#fff}}
