:root{
  --green-950:#052b1b;
  --green-900:#073b24;
  --green-800:#075b34;
  --green-700:#087b43;
  --green-600:#0a9550;
  --green-500:#18aa63;
  --green-100:#e7f6ed;
  --green-50:#f1faf5;
  --ink-950:#10231a;
  --ink-800:#243a2f;
  --ink-700:#3f5549;
  --ink-500:#708178;
  --ink-300:#a8b7af;
  --surface:#ffffff;
  --surface-2:#f8fbf9;
  --canvas:#f2f6f3;
  --line:#dfe8e2;
  --line-strong:#cad9d0;
  --danger:#b42318;
  --danger-bg:#fff0ef;
  --warning:#9a5c00;
  --warning-bg:#fff5df;
  --info:#176789;
  --info-bg:#ebf6fc;
  --shadow-xs:0 1px 2px rgba(9,45,27,.04);
  --shadow-sm:0 8px 24px rgba(9,45,27,.07);
  --shadow-md:0 18px 50px rgba(9,45,27,.10);
  --shadow-lg:0 30px 90px rgba(3,34,19,.20);
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-xl:32px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;min-height:100%;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:var(--canvas);color:var(--ink-950);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{color:inherit}
svg{display:block}
::selection{background:rgba(10,149,80,.18);color:var(--ink-950)}
:focus-visible{outline:3px solid rgba(10,149,80,.22);outline-offset:2px}

/* Page transition */
.page-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:9999;pointer-events:none;overflow:hidden}
.page-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#2bd47b,#8be8b5);box-shadow:0 0 14px rgba(43,212,123,.6);transition:width .28s var(--ease),opacity .2s}
body.is-navigating .page-progress span{width:86%}

/* Main application shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:20px 16px 18px;background:
  radial-gradient(circle at 20% 0%,rgba(39,194,105,.15),transparent 31%),
  linear-gradient(165deg,var(--green-950),#062f1e 55%,#041f14);color:#fff;display:flex;flex-direction:column;overflow:hidden;z-index:50}
.sidebar:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-160px;bottom:70px;box-shadow:0 0 0 35px rgba(255,255,255,.018),0 0 0 72px rgba(255,255,255,.012);pointer-events:none}
.brand{position:relative;display:flex;gap:12px;align-items:center;padding:4px 6px 22px;border-bottom:1px solid rgba(255,255,255,.09);z-index:1}
.brand-mark{width:54px;height:54px;border-radius:16px;background:#fff;display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.2);overflow:hidden;flex:0 0 auto}
.brand img{width:50px;height:42px;object-fit:contain;padding:3px}
.brand-copy{min-width:0}.brand-copy strong{display:block;font-size:16px;letter-spacing:.01em}.brand-copy small{display:block;margin-top:3px;color:#a9cbbb;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.nav-label{position:relative;z-index:1;margin:20px 11px 8px;color:#789c8c;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}
.sidebar nav{position:relative;z-index:1;display:grid;gap:5px}
.sidebar nav a{position:relative;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;min-height:48px;padding:7px 10px;border-radius:14px;text-decoration:none;color:#c7ddd2;font-size:14px;font-weight:650;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.sidebar nav a:before{content:"";position:absolute;left:-16px;top:10px;bottom:10px;width:3px;border-radius:999px;background:#5ae19a;opacity:0;transform:scaleY(.5);transition:.2s var(--ease)}
.sidebar nav a:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(2px)}
.sidebar nav a.active{background:linear-gradient(90deg,rgba(41,190,105,.22),rgba(255,255,255,.065));color:#fff;box-shadow:inset 0 0 0 1px rgba(119,232,166,.08)}
.sidebar nav a.active:before{opacity:1;transform:scaleY(1)}
.nav-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.055);transition:.2s var(--ease)}
.nav-icon svg{width:17px;height:17px;fill:currentColor;opacity:.92}
.sidebar nav a.active .nav-icon{background:rgba(63,215,130,.18);color:#6ce3a4}
.nav-arrow{opacity:0;transform:translateX(-4px);transition:.2s var(--ease);font-size:19px;color:#78dca4}.sidebar nav a:hover .nav-arrow,.sidebar nav a.active .nav-arrow{opacity:1;transform:none}
.sidebar-foot{position:relative;z-index:1;margin-top:auto;padding:16px 4px 0;border-top:1px solid rgba(255,255,255,.09)}
.user-mini{display:flex;align-items:center;gap:10px;padding:7px}
.user-mini>div{min-width:0}.user-mini strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.user-mini small{display:block;margin-top:3px;color:#92b5a4;font-size:11px}
.avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(145deg,#30c878,#0b8c4c);color:white;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),0 7px 18px rgba(0,0,0,.15)}
.avatar.sm{width:33px;height:33px;border-radius:10px;font-size:12px}
.signout-link{display:flex;align-items:center;gap:9px;margin-top:8px;padding:9px 10px;border-radius:11px;text-decoration:none;color:#a9cbbb;font-size:12px;font-weight:700;transition:.2s var(--ease)}
.signout-link:hover{background:rgba(255,255,255,.06);color:#fff}.signout-link svg{width:17px;height:17px;fill:currentColor}
.sidebar-scrim{display:none}

.main{min-width:0;position:relative;background:radial-gradient(circle at 90% -5%,rgba(15,155,88,.06),transparent 26%),var(--canvas)}
.topbar{position:sticky;top:0;z-index:30;min-height:102px;padding:20px 32px;display:flex;align-items:center;gap:14px;background:rgba(242,246,243,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(208,222,213,.75)}
.page-heading{min-width:0}.page-heading .eyebrow{margin-bottom:4px}.topbar h1{margin:0;font-size:27px;line-height:1.1;letter-spacing:-.035em;font-weight:800;color:var(--ink-950)}
.topbar p{margin:6px 0 0;color:var(--ink-500);font-size:12px;font-weight:600}
.eyebrow{display:inline-block;color:var(--green-700);font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:900}.eyebrow.light{color:#92e9b9}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.session-pill,.profile-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:rgba(255,255,255,.78);box-shadow:var(--shadow-xs);border-radius:13px;padding:8px 10px;color:var(--ink-700)}
.session-pill{font-size:11px;font-weight:800}.profile-pill{padding-right:13px}.profile-pill strong{display:block;font-size:12px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-pill small{display:block;color:var(--ink-500);font-size:10px;margin-top:2px}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#20bd68;box-shadow:0 0 0 5px rgba(32,189,104,.11);animation:pulse 2.3s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(32,189,104,.10)}50%{box-shadow:0 0 0 8px rgba(32,189,104,.02)}}
.menu-btn{display:none;width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;cursor:pointer;box-shadow:var(--shadow-xs)}.menu-btn svg{width:19px;height:19px;fill:var(--ink-800)}
.content{padding:28px 32px 52px;max-width:1700px;width:100%;margin:0 auto}
.content>*{animation:riseIn .45s var(--ease) both}.content>*:nth-child(2){animation-delay:.025s}.content>*:nth-child(3){animation-delay:.05s}.content>*:nth-child(4){animation-delay:.075s}
@keyframes riseIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Layout primitives */
.grid{display:grid;gap:18px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{position:relative;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-xs);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.card:hover{border-color:#cfe0d5;box-shadow:var(--shadow-sm)}
.metric{overflow:hidden}.metric:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-42px;top:-42px;background:radial-gradient(circle,rgba(18,171,91,.11),rgba(18,171,91,0) 68%);pointer-events:none}.metric small{color:var(--ink-500);font-weight:750;font-size:11px;text-transform:uppercase;letter-spacing:.045em}.metric strong{display:block;font-size:28px;line-height:1.08;margin-top:9px;letter-spacing:-.035em;font-weight:800}.metric .delta{display:inline-flex;align-items:center;margin-top:9px;padding:4px 7px;border-radius:999px;background:var(--green-50);color:var(--green-700);font-size:11px;font-weight:800}
.kpi-note{font-size:11px;color:var(--ink-500);margin-top:7px;line-height:1.5}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:30px 0 13px}.section-title h2{font-size:18px;letter-spacing:-.015em;margin:0}.section-title p{margin:5px 0 0;color:var(--ink-500);font-size:12px;line-height:1.55;max-width:780px}
.split{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.stack{display:grid;gap:14px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.right{text-align:right!important}.muted{color:var(--ink-500)}.nowrap{white-space:nowrap}.danger-text{color:var(--danger)}.success-text{color:var(--green-700)}

/* Buttons */
.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:41px;text-decoration:none;border:1px solid transparent;border-radius:11px;padding:9px 15px;font-weight:800;font-size:13px;cursor:pointer;transition:transform .16s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease);overflow:hidden}
.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.985)}
.btn.primary{background:linear-gradient(135deg,var(--green-700),var(--green-600));color:#fff;box-shadow:0 8px 20px rgba(8,123,67,.18)}.btn.primary:hover{box-shadow:0 11px 26px rgba(8,123,67,.25)}
.btn.secondary{background:var(--green-50);border-color:#d7eadf;color:var(--green-800)}.btn.secondary:hover{background:#e6f7ed;border-color:#c8e3d3}
.btn.ghost{background:#fff;border-color:var(--line);color:var(--ink-800);box-shadow:var(--shadow-xs)}.btn.ghost:hover{border-color:#bfd3c6;background:#fbfdfc}
.btn.danger{background:var(--danger-bg);border-color:#f3d0cd;color:var(--danger)}.btn.sm{min-height:33px;padding:6px 10px;font-size:11px;border-radius:9px}
.btn:disabled,.btn[disabled]{opacity:.46;cursor:not-allowed;box-shadow:none;transform:none!important}

/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:850;color:var(--ink-700);letter-spacing:.02em}.field input,.field select,.field textarea,.filter-input{width:100%;border:1px solid var(--line-strong);background:#fff;color:var(--ink-950);padding:10px 12px;border-radius:11px;outline:none;box-shadow:inset 0 1px 2px rgba(8,42,26,.025);transition:border-color .18s,box-shadow .18s,background .18s}
.field input,.field select,.filter-input{min-height:42px}.field textarea{resize:vertical;line-height:1.5}.field input:hover,.field select:hover,.field textarea:hover,.filter-input:hover{border-color:#b6cec0}.field input:focus,.field select:focus,.field textarea:focus,.filter-input:focus{border-color:var(--green-600);box-shadow:0 0 0 4px rgba(10,149,80,.085)}
.field input:disabled,.field select:disabled,.field textarea:disabled{background:#f2f5f3;color:#9aaa9f;cursor:not-allowed}.help{font-size:11px;color:var(--ink-500);line-height:1.45}.filter-input{width:auto;min-width:150px}
.checkline{display:flex;align-items:flex-start;gap:9px}.checkline input[type=checkbox]{appearance:none;width:19px;height:19px;min-width:19px;border:1.5px solid #b6cabd;border-radius:6px;background:#fff;display:grid;place-items:center;margin:0;transition:.16s var(--ease);cursor:pointer}.checkline input[type=checkbox]:after{content:"";width:9px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:.15s var(--ease)}.checkline input[type=checkbox]:checked{background:var(--green-700);border-color:var(--green-700);box-shadow:0 0 0 4px rgba(8,123,67,.08)}.checkline input[type=checkbox]:checked:after{transform:rotate(-45deg) scale(1)}
.password-wrap{position:relative}.password-wrap input{padding-right:48px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--ink-500);display:grid;place-items:center;cursor:pointer}.password-toggle:hover{background:var(--green-50);color:var(--green-700)}.password-toggle svg{width:17px;height:17px;fill:currentColor}

/* Tables */
.table-wrap{position:relative;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);scrollbar-width:thin;scrollbar-color:#b8c9bf transparent}
.table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.table th,.table td{padding:13px 15px;border-bottom:1px solid #edf2ef;text-align:left;vertical-align:middle}.table th{position:sticky;top:0;z-index:2;font-size:10px;text-transform:uppercase;letter-spacing:.075em;color:#6a7c72;background:#f8fbf9;font-weight:850;white-space:nowrap}.table tbody tr{transition:background .16s var(--ease)}.table tbody tr:hover{background:#f9fcfa}.table tr:last-child td{border-bottom:0}.table td{font-size:12px;color:var(--ink-800)}.table td strong{color:var(--ink-950)}

/* Status and messages */
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.015em;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.badge.success{background:#e8f7ee;color:#08733f}.badge.warning{background:#fff2d8;color:#8c5900}.badge.danger{background:#fee8e7;color:#a42a20}.badge.info{background:#e7f4fb;color:#176789}.badge.muted{background:#edf1ef;color:#66766d}
.alert{position:relative;display:grid;grid-template-columns:9px 1fr 28px;align-items:center;gap:10px;padding:12px 12px 12px 14px;border-radius:13px;margin-bottom:15px;border:1px solid transparent;box-shadow:var(--shadow-xs);animation:slideAlert .32s var(--ease)}
@keyframes slideAlert{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.alert-icon{width:8px;height:8px;border-radius:50%;background:currentColor}.alert-message{font-size:12px;font-weight:650;line-height:1.45}.alert-close{width:27px;height:27px;border:0;border-radius:8px;background:transparent;color:inherit;opacity:.6;font-size:18px;cursor:pointer}.alert-close:hover{background:rgba(0,0,0,.05);opacity:1}.alert.success{background:#e8f7ee;border-color:#cfe8d8;color:#08733f}.alert.warning{background:#fff5df;border-color:#f1dfb9;color:#875700}.alert.danger{background:#fff0ef;border-color:#efd1ce;color:#9f2d24}.alert.info{background:#edf7fc;border-color:#cee5f1;color:#1b6684}
.empty{text-align:center;padding:44px 20px;color:var(--ink-500)}.empty:before{content:"";display:block;width:46px;height:5px;border-radius:99px;margin:0 auto 18px;background:linear-gradient(90deg,#cfe6d7,#6dcc98)}.empty h2{color:var(--ink-950);margin:0 0 6px}.empty p{margin:0 0 14px;font-size:12px}

/* Branded hero and metrics */
.hero-panel{position:relative;overflow:hidden;background:
  radial-gradient(circle at 90% 15%,rgba(81,226,145,.24),transparent 28%),
  linear-gradient(135deg,#087844,#073f29 55%,#052d1d);color:#fff;border-radius:22px;padding:26px 28px;box-shadow:0 18px 42px rgba(6,71,39,.16);border:1px solid rgba(255,255,255,.06)}
.hero-panel:before{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-70px;bottom:-95px;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 62px rgba(255,255,255,.015)}
.hero-panel h2{position:relative;margin:0 0 7px;font-size:22px;letter-spacing:-.025em}.hero-panel p{position:relative;margin:0;color:#c8e7d5;font-size:12px;line-height:1.6;max-width:820px}.hero-panel .stats{position:relative;display:flex;gap:34px;margin-top:20px;flex-wrap:wrap}.hero-panel .stats>div{padding-right:28px;border-right:1px solid rgba(255,255,255,.12)}.hero-panel .stats>div:last-child{border-right:0}.hero-panel .stats strong{font-size:25px;letter-spacing:-.035em;display:block}.hero-panel .stats small{color:#b8ddc8;font-size:10px;text-transform:uppercase;letter-spacing:.055em;font-weight:750}
.trend{display:flex;align-items:end;gap:8px;height:135px;padding:12px 2px 25px}.bar{flex:1;min-width:25px;background:linear-gradient(180deg,#28be72,var(--green-700));border-radius:8px 8px 3px 3px;position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);transform-origin:bottom;animation:growBar .7s var(--ease) both}@keyframes growBar{from{transform:scaleY(.05);opacity:.3}to{transform:scaleY(1);opacity:1}}.bar span{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--ink-500);white-space:nowrap}.bar b{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;color:var(--ink-700)}

/* Register experience */
.register-summary{position:sticky;top:114px;z-index:8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);overflow:hidden}.register-summary>div{padding:16px 19px;border-right:1px solid var(--line)}.register-summary>div:last-child{border-right:0}.register-summary small{display:block;color:var(--ink-500);font-size:10px;text-transform:uppercase;letter-spacing:.055em;font-weight:850}.register-summary strong{display:block;font-size:22px;margin-top:6px;letter-spacing:-.035em}.register-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.worker-card{position:relative;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff;transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s}.worker-card:hover{transform:translateY(-2px);border-color:#c2d8ca;box-shadow:var(--shadow-sm)}.worker-card.is-selected{background:linear-gradient(180deg,#fbfffc,#f0faf4);border-color:#8fd0aa;box-shadow:0 0 0 3px rgba(10,149,80,.06),var(--shadow-sm)}.worker-card .name{font-weight:800;color:var(--ink-950);font-size:13px}.worker-card .sub{font-size:10px;color:var(--ink-500);margin:3px 0 10px}.worker-card input[type=number]{width:100%;padding:9px 10px;border:1px solid var(--line-strong);border-radius:9px;margin-top:9px;background:#fff;outline:none}.worker-card input[type=number]:focus{border-color:var(--green-600);box-shadow:0 0 0 4px rgba(10,149,80,.08)}.worker-card input[type=number]:disabled{opacity:.5;background:#f2f5f3}.register-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0}.register-tools .worker-search{flex:1;min-width:220px}.register-tools .count-note{margin-left:auto;font-size:11px;color:var(--ink-500);font-weight:700}
.status-flow{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.status-flow span{padding:7px 9px;border-radius:9px;background:#edf2ef;color:#718077;font-size:10px;font-weight:850}.status-flow span.on{background:#e4f4ea;color:#087b43;box-shadow:inset 0 0 0 1px #cae7d5}
.approval-banner{margin-top:18px;background:linear-gradient(135deg,#edf9f2,#e5f5ec);border:1px solid #b7dec6;border-radius:16px;padding:16px 18px;display:flex;align-items:center;gap:18px;color:#0a6338;box-shadow:var(--shadow-xs)}.approval-seal{border:2px solid var(--green-700);font-weight:950;letter-spacing:.11em;padding:8px 11px;border-radius:8px;transform:rotate(-2deg)}
.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.workflow-grid>div{position:relative;background:#f8fbf9;border:1px solid var(--line);padding:13px;border-radius:12px;overflow:hidden}.workflow-grid>div:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#42ce83,#0a9550);opacity:.55}.workflow-grid small,.workflow-grid span{display:block;color:var(--ink-500);font-size:10px}.workflow-grid strong{display:block;margin:6px 0;font-size:13px}.unit-line{padding:10px 0;border-bottom:1px solid var(--line)}.unit-line:last-child{border-bottom:0}

/* Auth experience */
.auth-main{min-height:100vh;padding:22px;display:grid;place-items:center;background:
  radial-gradient(circle at 10% 0%,rgba(27,190,100,.12),transparent 28%),
  radial-gradient(circle at 100% 100%,rgba(5,65,37,.08),transparent 32%),#eff5f1}
.auth-shell{width:min(1080px,100%);min-height:650px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);background:#fff;border:1px solid #dbe7df;border-radius:30px;overflow:hidden;box-shadow:var(--shadow-lg)}
.auth-showcase{position:relative;overflow:hidden;padding:42px 45px;background:
  radial-gradient(circle at 85% 15%,rgba(77,232,144,.24),transparent 25%),
  linear-gradient(145deg,#073b24,#052a1b 62%,#041f14);color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.auth-showcase:before,.auth-showcase:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}.auth-showcase:before{width:330px;height:330px;right:-155px;bottom:-120px;box-shadow:0 0 0 42px rgba(255,255,255,.022),0 0 0 88px rgba(255,255,255,.014)}.auth-showcase:after{width:110px;height:110px;left:-58px;top:45%;box-shadow:0 0 0 24px rgba(64,216,129,.025)}
.auth-showcase-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:#0aaa5c;filter:blur(100px);opacity:.14;right:10%;top:25%;pointer-events:none}
.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.auth-brand img{width:90px;height:62px;object-fit:contain;background:#fff;border-radius:16px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.18)}.auth-brand span{font-size:11px;color:#aad1bd;text-transform:uppercase;letter-spacing:.15em;font-weight:800}
.auth-showcase-copy{position:relative;z-index:1;margin:30px 0}.auth-showcase-copy h2{font-size:42px;line-height:1.02;letter-spacing:-.045em;max-width:540px;margin:12px 0 16px}.auth-showcase-copy>p{max-width:520px;color:#b9d8c8;line-height:1.7;font-size:13px;margin:0}
.auth-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:30px}.auth-feature-grid>div{padding:13px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(6px)}.auth-feature-grid strong{display:block;color:#65dda0;font-size:10px;letter-spacing:.08em}.auth-feature-grid span{display:block;color:#e5f2eb;font-size:10px;line-height:1.4;margin-top:6px;font-weight:700}
.auth-showcase-foot{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:#9cc5b1;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:750}
.auth-card{align-self:center;width:100%;max-width:470px;margin:auto;background:#fff;padding:46px 50px}.auth-logo{display:none;text-align:center;margin-bottom:22px}.auth-logo img{height:88px;max-width:100%;object-fit:contain}.auth-card h1{text-align:left;margin:0 0 7px;font-size:28px;letter-spacing:-.035em}.auth-card>p{text-align:left;color:var(--ink-500);font-size:12px;line-height:1.55;margin:0 0 24px}.auth-card .btn.primary{width:100%;min-height:46px;margin-top:4px}.auth-card .split a{font-size:11px;font-weight:750;text-decoration:none}.auth-card .split a:hover{color:var(--green-700)}

/* Custom confirmation dialog */
.confirm-modal{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility .2s}.confirm-modal.open{opacity:1;visibility:visible}.confirm-backdrop{position:absolute;inset:0;background:rgba(3,23,14,.48);backdrop-filter:blur(6px)}.confirm-card{position:relative;width:min(430px,100%);background:#fff;border:1px solid rgba(255,255,255,.4);border-radius:22px;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.24);display:grid;grid-template-columns:48px 1fr;gap:14px;transform:translateY(10px) scale(.98);transition:transform .22s var(--ease)}.confirm-modal.open .confirm-card{transform:none}.confirm-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eef8f2;color:var(--green-700)}.confirm-icon svg{width:21px;height:21px;fill:currentColor}.confirm-card h3{margin:4px 0 7px;font-size:18px;letter-spacing:-.02em}.confirm-card p{margin:0;color:var(--ink-500);font-size:12px;line-height:1.55;white-space:pre-line}.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:6px}

code{background:#edf4ef;padding:3px 6px;border:1px solid #dfebe3;border-radius:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}

/* Responsive */
@media(max-width:1180px){.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:255px minmax(0,1fr)}.auth-showcase-copy h2{font-size:36px}}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:fixed;left:-290px;width:270px;transition:left .26s var(--ease);box-shadow:var(--shadow-lg)}body.sidebar-open .sidebar{left:0}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:45;border:0;background:rgba(2,20,12,.38);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.25s var(--ease)}body.sidebar-open .sidebar-scrim{opacity:1;visibility:visible}.menu-btn{display:grid;place-items:center;flex:0 0 auto}.topbar{min-height:90px;padding:16px 20px}.content{padding:22px 20px 42px}.topbar-actions .session-pill{display:none}.auth-shell{grid-template-columns:1fr;max-width:520px;min-height:auto}.auth-showcase{display:none}.auth-card{padding:42px}.auth-logo{display:block}}
@media(max-width:720px){.grid.cols-4,.grid.cols-3,.grid.cols-2,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.workflow-grid{grid-template-columns:repeat(2,1fr)}.register-summary{position:relative;top:auto;grid-template-columns:1fr}.register-summary>div{border-right:0;border-bottom:1px solid var(--line)}.register-summary>div:last-child{border-bottom:0}.topbar{padding:14px 16px}.content{padding:18px 14px 36px}.topbar h1{font-size:22px}.topbar-actions .profile-pill>div{display:none}.profile-pill{padding:5px;background:transparent;border:0;box-shadow:none}.section-title{align-items:flex-start;flex-direction:column}.hero-panel{padding:22px 20px}.hero-panel .stats{gap:18px}.hero-panel .stats>div{border-right:0;padding-right:0;min-width:42%}.approval-banner{align-items:flex-start}.filter-input{max-width:100%}.register-tools .count-note{width:100%;margin-left:0}.table th,.table td{padding:11px 12px}.auth-main{padding:12px}.auth-shell{border-radius:22px}.auth-card{padding:30px 24px}.auth-logo img{height:76px}}
@media(max-width:480px){.grid.cols-4{grid-template-columns:1fr}.workflow-grid{grid-template-columns:1fr}.topbar-actions{display:none}.page-heading .eyebrow{font-size:9px}.hero-panel .stats>div{min-width:100%}.register-grid{grid-template-columns:1fr}.confirm-card{grid-template-columns:42px 1fr;padding:19px}.confirm-actions .btn{flex:1}.auth-card h1{font-size:25px}}

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