:root{color-scheme:dark;--bg:#07111f;--panel:#102138;--panel2:#142a45;--text:#f8fbff;--muted:#9fb0c5;--line:rgba(255,255,255,.1);--blue:#16a7e0;--green:#13c57b}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at top,rgba(22,167,224,.16),transparent 34%),var(--bg)}
a{color:inherit}.topbar{min-height:74px;padding:10px clamp(18px,4vw,58px);display:flex;align-items:center;gap:28px;position:sticky;top:0;z-index:20;background:rgba(7,17,31,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.brand-link{display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap}.brand-link img{width:54px;height:50px;object-fit:contain}.brand-link span{display:flex;flex-direction:column}.brand-link strong{font-size:16px}.brand-link small{font-size:11px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:6px;flex:1}.main-nav a,.nav-future{padding:9px 12px;border-radius:9px;text-decoration:none;color:var(--muted);font-size:14px;font-weight:700}.main-nav a:hover,.main-nav a.active{color:#fff;background:rgba(22,167,224,.14)}.nav-future{opacity:.48;cursor:not-allowed}.logout button,.nav-toggle{border:1px solid var(--line);border-radius:9px;padding:9px 12px;color:var(--text);background:rgba(255,255,255,.04);font-weight:700;cursor:pointer}.nav-toggle{display:none}
.site-main{width:min(1500px,94vw);margin:auto;padding:clamp(30px,5vw,72px) 0}.portal-hero{max-width:780px;margin-bottom:36px}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.portal-hero h1,.empty-state h1{margin:0;font-size:clamp(40px,6vw,76px);line-height:1.02}.portal-hero>p:last-child{color:var(--muted);font-size:clamp(17px,2vw,22px);line-height:1.6}
.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.module-card{min-height:250px;padding:25px;position:relative;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,var(--panel2),var(--panel));text-decoration:none;box-shadow:0 16px 35px rgba(0,0,0,.2)}.module-card.available{border-color:rgba(22,167,224,.4);transition:transform .2s,border-color .2s}.module-card.available:hover{transform:translateY(-4px);border-color:var(--blue)}.module-card h2{margin:42px 0 10px;font-size:25px}.module-card p{color:var(--muted);line-height:1.55}.module-card strong{display:block;margin-top:20px;color:var(--blue)}.module-state{position:absolute;top:24px;left:24px;padding:5px 9px;border-radius:999px;background:rgba(19,197,123,.13);color:#62e6ad;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.module-state.muted{color:var(--muted);background:rgba(255,255,255,.06)}.module-icon{position:absolute;top:22px;right:25px;color:var(--blue);font-size:24px}.empty-state{text-align:center;padding:14vh 0}.button{display:inline-block;margin-top:20px;padding:11px 17px;border-radius:10px;background:var(--blue);text-decoration:none;font-weight:800}
.login-page{display:grid;place-items:center;padding:22px}.login-card{width:min(430px,100%);padding:36px;border:1px solid var(--line);border-radius:24px;background:rgba(16,33,56,.92);box-shadow:0 30px 80px rgba(0,0,0,.4)}.login-logo{display:block;width:100px;height:78px;object-fit:contain;margin:0 auto 20px}.login-card h1{margin:0;font-size:38px}.login-intro{color:var(--muted);margin:10px 0 26px}.login-form{display:grid;gap:18px}.login-form label{display:grid;gap:7px;color:#dce7f2;font-size:14px;font-weight:750}.login-form input{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#091729;color:#fff;font:inherit}.login-form input:focus{outline:2px solid var(--blue);outline-offset:1px}.login-form button{padding:13px;border:0;border-radius:10px;background:linear-gradient(135deg,#16a7e0,#087cae);color:#fff;font:inherit;font-weight:850;cursor:pointer}.form-error{margin-bottom:17px;padding:11px 13px;border:1px solid rgba(239,75,75,.5);border-radius:10px;background:rgba(239,75,75,.12);color:#ffc1c1;font-size:14px}
.labor-hero{margin-bottom:22px}.labor-notice{margin-bottom:20px;padding:11px 14px;border:1px solid rgba(19,197,123,.35);border-radius:11px;background:rgba(19,197,123,.1);color:#8df0c5;font-size:14px;font-weight:750}.labor-notice.error{border-color:rgba(239,75,75,.45);background:rgba(239,75,75,.1);color:#ffc1c1}.labor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.labor-card{grid-column:span 2;min-height:300px;padding:25px;border:1px solid rgba(22,167,224,.3);border-radius:21px;background:linear-gradient(150deg,#142a45,#0e1d31);box-shadow:0 16px 36px rgba(0,0,0,.2)}.labor-card:nth-child(4){grid-column:2/span 2}.labor-card:nth-child(5){grid-column:4/span 2}.labor-card.stale{border-color:rgba(239,75,75,.35)}.labor-card h2{margin:0;font-size:25px}.labor-percent{margin-top:26px;color:var(--blue);font-size:clamp(58px,6vw,92px);font-weight:950;line-height:1;letter-spacing:-.05em}.labor-label{margin-top:5px;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.labor-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:27px}.labor-metrics span{display:flex;flex-direction:column;gap:4px}.labor-metrics small{color:var(--muted)}.labor-status{margin:20px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.labor-card.stale .labor-status{color:#ffb6b6}.labor-footnote{margin:24px 0 0;text-align:center;color:var(--muted);font-size:13px}
.admin-hero{margin-bottom:24px}.admin-panel{margin-bottom:22px;padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(16,33,56,.8)}.admin-panel h2{margin:0 0 18px}.form-message{margin-bottom:18px;padding:12px 14px;border-radius:10px}.form-message.error{border:1px solid rgba(239,75,75,.45);background:rgba(239,75,75,.1);color:#ffc1c1}.form-message.success{border:1px solid rgba(19,197,123,.4);background:rgba(19,197,123,.1);color:#8df0c5}.create-user-form{display:grid;grid-template-columns:1fr 1fr 180px auto;gap:14px;align-items:end}.create-user-form label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.create-user-form label small{font-weight:500}.create-user-form input,.create-user-form select,.reset-form input{min-width:0;padding:11px;border:1px solid var(--line);border-radius:9px;background:#091729;color:#fff;font:inherit}.create-user-form button,.user-row button{padding:11px 13px;border:1px solid rgba(22,167,224,.4);border-radius:9px;background:rgba(22,167,224,.14);color:#fff;font-weight:800;cursor:pointer}.user-list{display:grid;gap:10px}.user-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(230px,1fr) auto auto;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.user-row.disabled{opacity:.6}.user-identity{display:flex;flex-direction:column;gap:4px}.user-identity span{color:var(--muted);font-size:12px}.reset-form{display:grid;grid-template-columns:1fr auto;gap:8px}.user-row .danger-button{border-color:rgba(239,75,75,.4);background:rgba(239,75,75,.12);color:#ffc1c1}.user-row .delete-button{border-color:rgba(239,75,75,.65);background:#8f2630;color:#fff}
.labor-shifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.labor-shift{padding:10px 8px;border-radius:11px;background:rgba(255,255,255,.05);text-align:center}.labor-shift small,.labor-shift span{display:block;color:var(--muted);font-size:10px}.labor-shift strong{display:block;margin:4px 0;font-size:20px;color:#fff}.labor-card{min-height:430px}
@media(max-width:1050px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-future{display:none}}
@media(max-width:980px){.labor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.labor-card,.labor-card:nth-child(4),.labor-card:nth-child(5){grid-column:auto}.create-user-form{grid-template-columns:1fr 1fr}.user-row{grid-template-columns:1fr}}@media(max-width:720px){.topbar{flex-wrap:wrap;gap:12px}.nav-toggle{display:block;margin-left:auto}.logout{order:2}.main-nav{display:none;order:3;flex-basis:100%;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{text-align:center}.module-grid,.labor-grid,.create-user-form{grid-template-columns:1fr}.site-main{padding-top:34px}.login-card{padding:27px}}
