:root{
  --theme-primary:#4f46e5;
  --theme-secondary:#111827;
  --theme-accent:#14b8a6;
  --theme-sidebar:#111827;
  --theme-sidebar-text:#e5e7eb;
  --theme-page-bg:#f3f4f6;
  --theme-radius:16px;
  --blue:var(--theme-primary);
  --cyan:var(--theme-accent);
  --navy:var(--theme-secondary);
  --bg:var(--theme-page-bg);
  --card:#ffffff;
  --ink:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;
  --soft:#f9fafb;
  --danger:#dc2626;
  --green:#059669;
  --amber:#d97706;
  --shadow:0 20px 45px rgba(17,24,39,.08);
  --shadow-sm:0 10px 25px rgba(17,24,39,.06);
  --radius:var(--theme-radius);
  --sidebar-line:rgba(255,255,255,.10);
  --sidebar-muted:rgba(229,231,235,.60);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.48;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--theme-primary);text-decoration:none}a:hover{text-decoration:none;color:color-mix(in srgb,var(--theme-primary) 82%,#000)}

/* Executive shell */
.app-shell{display:flex;min-height:100vh;min-width:0;background:radial-gradient(circle at 80% -5%,color-mix(in srgb,var(--theme-accent) 12%,transparent),transparent 28%),linear-gradient(180deg,#fff 0,var(--theme-page-bg) 260px,var(--theme-page-bg) 100%)}
.sidebar{width:292px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-sidebar) 92%,#000),var(--theme-sidebar));color:var(--theme-sidebar-text);border-right:1px solid var(--sidebar-line);padding:20px 15px;position:sticky;top:0;height:100vh;overflow:auto;transition:width .22s ease,transform .22s ease;z-index:30;box-shadow:14px 0 45px rgba(17,24,39,.18)}
.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.20);border-radius:999px}.sidebar::-webkit-scrollbar-track{background:transparent}
.brand{display:flex;gap:13px;align-items:center;padding:6px 8px 22px;border-bottom:1px solid var(--sidebar-line);margin-bottom:18px;min-width:0}
.brand-mark{width:56px;height:56px;border-radius:17px;background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));display:grid;place-items:center;color:#fff;font-size:22px;font-weight:950;letter-spacing:.02em;box-shadow:0 16px 32px color-mix(in srgb,var(--theme-primary) 28%,transparent);flex:0 0 auto;overflow:hidden}
.brand-mark.has-logo{background:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:0 16px 35px rgba(0,0,0,.18)}.brand-mark img{width:100%;height:100%;object-fit:contain;padding:6px}.brand-copy{min-width:0}.brand-title{font-weight:950;font-size:21px;line-height:1.06;color:#fff;letter-spacing:-.035em;white-space:normal}.brand-subtitle{color:var(--sidebar-muted);font-size:12.5px;margin-top:5px;line-height:1.3}
.side-section{letter-spacing:.18em;text-transform:uppercase;color:var(--sidebar-muted);font-size:10.5px;font-weight:950;margin:22px 11px 9px}.side-nav{padding-bottom:12px}.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;color:var(--theme-sidebar-text);margin:4px 0;font-weight:800;min-height:44px;transition:background .16s,color .16s,transform .16s,border-color .16s;border:1px solid transparent}.side-nav a span{width:25px;height:25px;display:grid;place-items:center;color:rgba(255,255,255,.88);font-size:15px;flex:0 0 auto;border-radius:9px;background:rgba(255,255,255,.07)}.side-nav a b{font-size:14px;font-weight:850;line-height:1.18}.side-nav a.active,.side-nav a:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.12);color:#fff}.side-nav a.active span,.side-nav a:hover span{background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));color:#fff}.side-nav a:hover{transform:translateX(2px)}
.side-group{margin:4px 0}.side-subnav{display:grid;gap:4px;margin:7px 0 8px 25px;padding-left:12px;border-left:1px solid var(--sidebar-line)}.side-subnav a{margin:0;padding:9px 10px;min-height:35px;border-radius:12px;font-size:13px;color:rgba(229,231,235,.82);gap:8px}.side-subnav a span{font-size:12px;width:20px;height:20px;background:rgba(255,255,255,.06)}.side-subnav a.active,.side-subnav a:hover{background:rgba(255,255,255,.10);color:#fff}

.main{flex:1;min-width:0;max-width:100%;display:flex;flex-direction:column}.topbar{min-height:72px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border:1px solid rgba(229,231,235,.86);display:flex;align-items:center;gap:13px;padding:12px 18px;position:sticky;top:14px;margin:14px 24px 0;border-radius:22px;z-index:20;box-shadow:0 18px 45px rgba(17,24,39,.07)}.menu-toggle{width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;color:var(--theme-primary);font-size:22px;font-weight:950;cursor:pointer;box-shadow:var(--shadow-sm)}.page-title{min-width:160px;flex:1}.page-title h1{font-size:23px;line-height:1.08;margin:0;font-weight:950;color:var(--navy);letter-spacing:-.035em;white-space:nowrap}.page-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.topbar-spacer{flex:1}
.global-search{width:min(390px,31vw);display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#f9fafb;border-radius:999px;padding:0 15px;height:44px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.global-search span{color:#9ca3af;font-weight:950}.global-search input{border:0!important;outline:0!important;font-size:14px;width:100%;min-height:0!important;height:auto!important;padding:0!important;background:transparent!important;box-shadow:none!important}.bell{width:44px;height:44px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;background:#fff;text-decoration:none;box-shadow:var(--shadow-sm)}.user-pill{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:#fff;white-space:nowrap;box-shadow:var(--shadow-sm);font-size:13px}.user-pill strong{color:var(--navy)}.user-pill span{color:var(--muted)}.user-pill a{font-weight:850}.user-pill .danger,.danger{color:var(--danger)!important}.content{padding:24px;min-width:0;max-width:100%;overflow-x:hidden;flex:1}.app-footer{margin:30px 0 4px;color:#9ca3af;font-size:12px;text-align:center}

/* Premium cards and dashboard */
.hero,.dashboard-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--theme-secondary) 92%,#000),var(--theme-primary) 62%,var(--theme-accent));color:#fff;border-radius:28px;padding:34px 38px;box-shadow:0 24px 60px color-mix(in srgb,var(--theme-primary) 24%,transparent);position:relative;overflow:hidden}.hero:after,.dashboard-hero:after{content:"";position:absolute;right:-70px;top:-80px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.12)}.hero h2,.dashboard-hero h1{font-size:40px;line-height:1.05;margin:0 0 12px;font-weight:950;letter-spacing:-.05em;position:relative}.hero p,.dashboard-hero p{font-size:17px;max-width:780px;margin:0;color:rgba(255,255,255,.90);position:relative}.hero .chips,.dashboard-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;position:relative}.chip,.dashboard-chip{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 12px;font-weight:850;color:#fff}.dashboard-kicker{font-size:12px;font-weight:950;letter-spacing:.26em;text-transform:uppercase;opacity:.82;margin-bottom:12px;position:relative}
.grid,.dash-grid{display:grid;gap:18px}.grid-2,.grid.two,.dash-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.grid.three,.dash-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4,.grid.four,.dash-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.dash-grid-1{grid-template-columns:1fr}.section-gap{margin-top:18px}
.card,.alra-card,.dash-card,.cardx,.box,.cv-section,.followup-card{background:rgba(255,255,255,.96);border:1px solid rgba(229,231,235,.95);border-radius:var(--theme-radius);box-shadow:var(--shadow);padding:22px;min-width:0;overflow:visible;color:var(--ink)}.card,.dash-card,.cardx{position:relative}.card:before,.dash-card:before,.cardx:before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;background:linear-gradient(90deg,var(--theme-primary),var(--theme-accent));border-radius:0 0 999px 999px}.card.grad,.grad{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,var(--theme-primary),var(--theme-accent)) border-box;border:1px solid transparent}.card h2,.card h3,.dash-card h2,.dash-card h3,.section-title{margin:0 0 12px;color:var(--navy);letter-spacing:-.025em}.card p,.dash-card p,.module-note,.muted,.text-muted{color:var(--muted)}.section-title{font-size:20px;font-weight:950}.module-note{margin:0 0 16px;line-height:1.45}.dash-card{display:block;text-decoration:none;transition:transform .16s,box-shadow .16s}.dash-card:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(17,24,39,.12)}
.metric,.metric-card,.stat,.kpi{min-height:116px}.metric-card{display:flex;gap:14px;align-items:center}.metric-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-primary) 12%,#fff),color-mix(in srgb,var(--theme-accent) 12%,#fff));color:var(--theme-primary);flex:0 0 auto}.metric-value,.metric .num,.metric b,.stat b,.kpi b{font-size:34px;line-height:1;font-weight:950;color:var(--navy);letter-spacing:-.045em}.metric-label,.metric .label,.stat span,.kpi span{font-size:13.5px;color:#4b5563;font-weight:850;margin-top:6px}.metric-hint{font-size:12px;color:var(--muted);margin-top:4px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--theme-radius);padding:20px;box-shadow:var(--shadow-sm)}

/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field label,.form-label{display:block;font-weight:900;margin-bottom:7px;color:var(--navy);font-size:13px}.field small,.help-text,.small{display:block;color:var(--muted);font-size:12px;margin-top:5px}input,select,textarea,.form-control,.form-select{border:1px solid #d1d5db;border-radius:12px;padding:11px 12px;font-size:14px;background:#fff;min-height:44px;width:100%;outline:none;transition:border .16s,box-shadow .16s,background .16s;color:var(--ink)}input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{border-color:var(--theme-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-primary) 13%,transparent);background:#fff}textarea{min-height:98px;resize:vertical}input[type="checkbox"],input[type="radio"]{width:auto;min-height:0}.required{color:var(--danger)}
.btn,button,.button,.btn-primary,.btn-outline-primary,.btn-outline-secondary{border:0;border-radius:12px;background:linear-gradient(135deg,var(--theme-primary),color-mix(in srgb,var(--theme-primary) 82%,var(--theme-accent)));color:#fff;font-weight:900;padding:11px 16px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:42px;line-height:1.1;box-shadow:0 10px 20px color-mix(in srgb,var(--theme-primary) 20%,transparent);transition:transform .15s,box-shadow .15s,background .15s}.btn:hover,button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 14px 28px color-mix(in srgb,var(--theme-primary) 24%,transparent);color:#fff}.btn.secondary,.btn-outline-secondary,.btn.secondary:hover{background:#fff;color:var(--theme-primary);border:1px solid color-mix(in srgb,var(--theme-primary) 45%,#fff);box-shadow:none}.btn.danger,.btn-danger{background:var(--danger);color:#fff}.btn.green,.btn-success{background:var(--green);color:#fff}.btn-sm,.btn.btn-sm{min-height:34px;padding:8px 11px;border-radius:10px;font-size:12px}.actions,.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Tables */
.table-wrap,.table-responsive,.scroll-x{overflow:auto;border:1px solid var(--line);border-radius:var(--theme-radius);background:#fff;box-shadow:var(--shadow-sm)}table,.table,.alra-table,.recent-table,.cv-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f9fafb;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#4b5563;font-weight:950}tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fcfcfd}.text-right{text-align:right}.text-nowrap{white-space:nowrap}.center{text-align:center}.right{text-align:right}
.badge,.alra-badge,.badge-soft,.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px;line-height:1;background:#f3f4f6;color:#4b5563}.badge-warn,.badge.warn,.warning,.status-pending{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.badge-info,.badge.blue,.status-pill,.badge-report_generated{background:color-mix(in srgb,var(--theme-primary) 10%,#fff);color:var(--theme-primary);border:1px solid color-mix(in srgb,var(--theme-primary) 22%,#fff)}.badge-danger,.badge.red{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.badge-success,.badge.green,.badge-approved,.badge-active{background:#ecfdf5;color:#047857;border:1px solid #bbf7d0}.badge-muted{background:#f3f4f6;color:#4b5563}.badge.purple{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}
.alert,.notice,.success,.error,.warning{padding:13px 15px;border-radius:14px;margin:0 0 16px;font-weight:800}.alert-success,.success{background:#ecfdf5;color:#047857;border:1px solid #bbf7d0}.alert-error,.alert-danger,.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-info,.notice{background:color-mix(in srgb,var(--theme-primary) 9%,#fff);color:var(--theme-primary);border:1px solid color-mix(in srgb,var(--theme-primary) 20%,#fff)}.empty-state,.empty{padding:16px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:14px;color:var(--muted)}

/* Useful widgets */
.workload-list,.quick-list{display:grid;gap:10px;margin-top:12px}.work-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr 86px;align-items:center;gap:10px}.work-name{font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-meta{text-align:right;color:#4b5563;font-size:12px;font-weight:850}.bar-track,.bar{height:14px;background:#e5e7eb;border-radius:999px;overflow:hidden}.bar-fill,.bar span,.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--theme-primary),var(--theme-accent))}.quick-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#f9fafb;border:1px solid var(--line);border-radius:14px;color:var(--navy);text-decoration:none}.quick-item:hover{background:color-mix(in srgb,var(--theme-primary) 7%,#fff)}.alert-item{padding:12px 13px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;margin-top:9px}.dashboard-v10{color:var(--ink)}.recent-table{margin-top:10px}.sample-link,.clickable{font-weight:950;color:var(--theme-primary)}
.customer-results{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-top:6px;z-index:40;max-height:240px;overflow:auto;width:100%}.customer-box{position:relative}.customer-results button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:11px 13px;cursor:pointer;color:var(--ink);box-shadow:none;border-radius:0}.customer-results button:hover{background:#f9fafb;transform:none}.customer-results small{display:block;color:var(--muted)}.test-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.test-card{border:1px solid var(--line);border-radius:14px;background:#f9fafb;padding:13px;font-weight:850}.test-card small{display:block;color:var(--muted);margin-top:5px}

/* Legacy .alra-* aliases */
.alra-shell{display:flex;min-height:100vh}.alra-sidebar{width:292px;background:var(--theme-sidebar);border-right:1px solid var(--sidebar-line);padding:20px 15px;position:sticky;top:0;height:100vh;overflow:auto;color:var(--theme-sidebar-text)}.alra-main{flex:1;min-width:0}.alra-topbar{min-height:72px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;gap:13px;padding:12px 18px;margin:14px 24px 0;border-radius:22px;box-shadow:var(--shadow-sm)}.alra-content{padding:24px}.alra-brand{display:flex;gap:13px;align-items:center}.alra-logo{width:56px;height:56px;border-radius:17px;background:linear-gradient(135deg,var(--theme-primary),var(--theme-accent));display:grid;place-items:center;color:#fff;font-weight:950}.alra-nav-section{letter-spacing:.18em;text-transform:uppercase;color:var(--sidebar-muted);font-size:10.5px;font-weight:950;margin:22px 10px 8px}.alra-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;color:var(--theme-sidebar-text);margin:4px 0;font-weight:850}.alra-nav a.active,.alra-nav a:hover{background:rgba(255,255,255,.11);color:#fff}.alra-toggle{width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:14px;color:var(--theme-primary);font-size:22px}.alra-search{border:1px solid var(--line);border-radius:999px;height:44px;padding:0 15px;background:#f9fafb}.alra-user{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:#fff}.alra-bell{width:44px;height:44px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;background:#fff}.alra-title h1{font-size:23px;line-height:1.08;margin:0;font-weight:950}
.sidebar-collapsed .sidebar{width:88px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .side-section,.sidebar-collapsed .side-nav b{display:none}.sidebar-collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .brand-mark{width:52px;height:52px;border-radius:16px}.sidebar-collapsed .side-nav a{justify-content:center;padding:11px}.sidebar-collapsed .side-nav a span{width:25px}.collapsed .alra-shell{grid-template-columns:88px 1fr}.collapsed .alra-brand div:not(.alra-logo),.collapsed .alra-nav a em,.collapsed .alra-nav-section{display:none}
@media(max-width:1280px){.dash-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.global-search{width:300px}.user-pill span{display:none}}
@media(max-width:1100px){.grid-4,.grid-3,.grid-2,.grid.four,.grid.three,.grid.two,.dash-grid-5,.dash-grid-4,.dash-grid-3,.dash-grid-2,.form-grid,.form-grid.two,.test-list{grid-template-columns:1fr}.global-search{display:none}.topbar{height:auto;min-height:72px;flex-wrap:wrap;margin:12px 16px 0;top:8px;border-radius:18px}.page-title h1{white-space:normal}.sidebar{position:fixed;transform:translateX(-100%)}body:not(.sidebar-collapsed) .sidebar{transform:translateX(0)}.content{padding:18px}.hero,.dashboard-hero{padding:26px}.hero h2,.dashboard-hero h1{font-size:30px}.work-row{grid-template-columns:1fr}.work-meta{text-align:left}.metric-card{align-items:flex-start}.alra-shell{display:block}.alra-sidebar{position:relative;width:auto;height:auto}.alra-topbar{display:block}.alra-search{width:100%;margin:12px 0}}
@media(max-width:720px){.topbar{padding:12px 14px}.content{padding:14px}.user-pill{width:100%;justify-content:space-between;flex-wrap:wrap}.form-grid{gap:12px}th,td{padding:10px}.card,.dash-card,.cardx{padding:18px}.brand-title{font-size:18px}.brand-subtitle{font-size:12px}.hero h2,.dashboard-hero h1{font-size:27px}}
