:root{color:#f1f5f9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0b111a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:#0b111a}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}#root{min-height:100vh}:root{--bg:#0b111a;--sidebar:#080d14;--surface:#121b27;--raised:#182332;--soft:#1d2a39;--border:#2b3a4d;--text:#f1f5f9;--muted:#9aabba;--accent:#38bdf8;--accent2:#0284c7;--success:#34d399;--warning:#fbbf24;--danger:#f87171}.authenticated-shell{min-height:100vh;color:var(--text);background:radial-gradient(circle at 85% 0%,#142b3c 0,transparent 32rem),var(--bg)}.sidebar{z-index:30;border-right:1px solid var(--border);background:#080d14f7;flex-direction:column;width:260px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:16px 0 42px #00000038}.brand-block{border-bottom:1px solid var(--border);align-items:center;gap:.8rem;min-height:86px;padding:1.25rem;display:flex}.brand-block>div,.user-meta{min-width:0;line-height:1.2;display:grid}.brand-block strong{font-size:1.15rem}.brand-block small,.user-meta small{color:var(--muted);margin-top:.25rem}.brand-mark,.user-avatar{color:#06121a;background:linear-gradient(145deg,#67e8f9,var(--accent));border-radius:.65rem;flex:none;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand-mark{font-size:1.25rem}.sidebar-nav{gap:.35rem;padding:1.25rem .9rem;display:grid;overflow-y:auto}.sidebar-link{color:#bdc9d6;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.65rem;grid-template-columns:2rem 1fr;align-items:center;min-height:48px;padding:.65rem .8rem;font-weight:700;display:grid}.sidebar-link:hover{color:#fff;background:var(--surface)}.sidebar-link.active{color:#e8f8ff;box-shadow:inset 3px 0 var(--accent);background:linear-gradient(90deg,#0284c74d,#38bdf814);border-color:#38bdf859}.nav-icon{color:var(--accent);text-align:center}.sidebar-user{border-top:1px solid var(--border);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.75rem;margin-top:auto;padding:1rem;display:grid}.user-meta strong,.user-meta small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logout-button{border:1px solid var(--border);color:#cbd5e1;background:var(--surface);cursor:pointer;border-radius:.55rem;grid-column:1/-1;min-height:42px}.logout-button:hover{background:var(--raised)}.page-area{width:calc(100% - 260px);min-height:100vh;margin-left:260px;padding:clamp(1.25rem,3vw,2.5rem)}.page-area>*{max-width:1320px;margin-left:auto;margin-right:auto}.page-header{margin-bottom:1.5rem}.page-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}.page-header>p:last-child{max-width:62ch;color:var(--muted);margin:.65rem 0 0}.mobile-header,.drawer-close,.drawer-scrim{display:none}.app-shell{min-height:100vh;color:var(--text);background:var(--bg);padding:2rem}.login-layout{place-items:center;display:grid}.login-panel{border:1px solid var(--border);background:var(--surface);border-radius:1rem;width:min(100%,440px);padding:2rem;box-shadow:0 24px 70px #00000061}.login-panel h1{margin:0 0 .75rem;font-size:2.4rem}.eyebrow,.status-label{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:850}h2{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.2}h2,h3{margin-top:0}p{line-height:1.6}.data-section,.status-panel,.users-section{border:1px solid var(--border);background:linear-gradient(145deg,#182332f5,#121b27f5);border-radius:.9rem;margin-top:1rem;padding:clamp(1rem,2vw,1.5rem);box-shadow:0 14px 35px #00000029}.status-panel{margin-bottom:1rem}.status-panel:has(.clock-out){border-color:#f87171a6}.break-panel,.break-card{background:linear-gradient(145deg,#2b2617,#191d24)!important;border-color:#fbbf248c!important}.break-label{color:var(--warning)}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-heading h2{margin-bottom:0}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.shift-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem;display:grid}.summary-grid span,.shift-metrics span{min-width:0;color:var(--muted);background:var(--soft);overflow-wrap:anywhere;border:1px solid #304156;border-radius:.7rem;gap:.35rem;padding:1rem;font-weight:700;display:grid}.summary-grid strong,.shift-metrics strong{color:var(--text);font-size:clamp(1.25rem,2vw,1.6rem)}.driver-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1rem;display:grid}.driver-card{border:1px solid var(--border);border-left:4px solid var(--accent2);background:var(--soft);border-radius:.6rem;gap:.5rem;min-width:0;padding:1rem;display:grid}.driver-card h3,.driver-card p{overflow-wrap:anywhere;margin:0}.driver-card p,.driver-card span,.metric-line,.status-copy{color:var(--muted)}.user-table-wrap{border:1px solid var(--border);border-radius:.7rem;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;min-width:7rem;padding:.85rem 1rem}th{color:#c7d3df;letter-spacing:.075em;text-transform:uppercase;background:#0e1722;font-size:.73rem}tbody tr{background:#121b278c}tbody tr:hover{background:#2d3d4f7a}tbody tr:last-child td{border-bottom:0}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.form-stack{gap:1rem;margin-top:1.5rem;display:grid}.user-form{border-top:1px solid var(--border);max-width:940px;margin-top:1.5rem;padding-top:1.5rem}label{color:#ced8e2;gap:.45rem;min-width:0;font-size:.86rem;font-weight:750;line-height:1.35;display:grid}input,select,textarea{width:100%;min-width:0;min-height:46px;color:var(--text);background:#0c1520;border:1px solid #43546a;border-radius:.55rem;outline:none;padding:.7rem .8rem;display:block}textarea{resize:vertical;min-height:84px}input:focus,select:focus,textarea:focus,button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf838}.checkbox-label{grid-template-columns:auto 1fr;align-content:center;align-items:center}.checkbox-label input{width:22px;min-height:22px;accent-color:var(--accent2)}.filter-row,.form-actions,.row-actions,.confirmation-actions{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.filter-row{margin-bottom:1.25rem}.filter-row label{flex:1;min-width:150px}.nav-button,.secondary-button,.primary-button,.table-button,.destructive-button{min-height:42px;color:var(--text);cursor:pointer;background:#202d3d;border:1px solid #43546a;border-radius:.55rem;padding:.62rem .9rem;font-weight:750}.primary-button{border-color:var(--accent2);background:var(--accent2)}.primary-button:hover{background:#036da4}.secondary-button:hover,.table-button:hover{background:#2b3a4d;border-color:#60748b}.destructive-button{background:#b4232c;border-color:#b4232c}.destructive-button:hover{background:#8f1c25}button:disabled{cursor:wait;opacity:.55}.clock-button{color:#fff;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:0;border-radius:.7rem;width:100%;min-height:66px;margin-top:1.25rem;font-size:1.08rem;font-weight:850}.clock-in{background:#16834f}.clock-out{background:#b63d46}.break-start-button,.break-button{color:#261c03;background:var(--warning)}.project-list{gap:.8rem;margin-top:1.25rem;display:grid}.project-choice{min-height:64px;color:var(--text);text-align:left;cursor:pointer;background:#111d2a;border:1px solid #43546a;border-radius:.65rem;gap:.3rem;padding:.9rem 1rem;display:grid}.project-choice:hover,.project-choice.selected{border-color:var(--accent);background:#172b3b}.project-choice span,.selected-project{color:var(--muted)}.status-pill{color:#fecaca;background:#b91c1c2e;border:1px solid #f8717159;border-radius:999px;align-items:center;padding:.28rem .6rem;font-size:.78rem;font-weight:800;display:inline-flex}.status-pill.active{color:#a7f3d0;background:#0596692e;border-color:#34d39959}.error-message,.success-message{border:1px solid;border-radius:.65rem;margin:.75rem 0;padding:.8rem 1rem;font-weight:700}.error-message{color:#fecaca;background:#7f1d1d59;border-color:#f8717173}.success-message{color:#a7f3d0;background:#064e3b66;border-color:#34d39966}.permission-group{border:1px solid var(--border);background:#101923;border-radius:.7rem;margin-top:1rem;padding:1rem}.permission-row{border-bottom:1px solid #2b3a4da6;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.permission-row:last-child{border-bottom:0}.permission-row>div{min-width:0}.permission-row small{color:var(--muted);overflow-wrap:anywhere;display:block}.permission-preview{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.permission-preview span{color:#a7f3d0;overflow-wrap:anywhere;background:#05966926;border:1px solid #34d39952;border-radius:999px;padding:.35rem .65rem;font-size:.82rem}.confirmation-backdrop{z-index:50;background:#02060cc7;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirmation-dialog{width:min(30rem,100%);color:var(--text);background:var(--raised);border:1px solid #516176;border-radius:.9rem;padding:1.5rem;box-shadow:0 24px 80px #0000008c}.confirmation-actions{justify-content:flex-end;margin-top:1.25rem}.assignment-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0;display:grid}.assignment-columns>div{border:1px solid var(--border);background:#101923;border-radius:.7rem;padding:1rem}.assignment-check{grid-template-columns:auto 1fr;align-items:center;padding:.35rem 0}.assignment-check input{width:20px;min-height:20px;accent-color:var(--accent2)}.module-tabs{flex-wrap:wrap;gap:.65rem;margin:0 0 1rem;display:flex}.empty-state{border:1px dashed var(--border);color:var(--muted);border-radius:.7rem;padding:1rem}.personnel-module{gap:1rem;display:grid}.employee-picker{border:1px solid var(--border);background:var(--surface);border-radius:.85rem;grid-template-columns:minmax(250px,1fr) auto;align-items:end;gap:.8rem;padding:1rem 1.25rem;display:grid}.employee-hero{border:1px solid var(--border);background:linear-gradient(115deg,#162636,#111a26);border-radius:.9rem;align-items:center;gap:1rem;padding:1.35rem;display:flex}.employee-initials{color:#06202c;background:linear-gradient(145deg,#a5f3fc,var(--accent));border-radius:50%;flex:none;place-items:center;width:64px;height:64px;font-size:1.25rem;font-weight:900;display:grid}.employee-hero h2,.employee-hero p{margin:0}.employee-hero p{color:var(--muted);margin-top:.35rem}.employee-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.profile-tabs{scrollbar-width:thin;gap:.45rem;padding:.2rem 0 .7rem;display:flex;overflow-x:auto}.profile-tabs button{border:1px solid var(--border);min-height:40px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:999px;flex:none;padding:.55rem .85rem;font-weight:750}.profile-tabs button.active,.profile-tabs button:hover{border-color:var(--accent2);color:var(--text);background:#173047}.quick-info{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.quick-info>div{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;gap:.35rem;padding:1rem;display:grid}.quick-info span{color:var(--muted);font-size:.8rem;font-weight:750}.quick-info strong{overflow-wrap:anywhere}.overview-dashboard{gap:1rem;display:grid}.overview-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-summary small{color:var(--muted)}.attention-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.attention-grid .competence-attention{grid-row:span 2}.attention-list{margin-bottom:.75rem;display:grid}.attention-item{border-bottom:1px solid var(--border);gap:.2rem;padding:.75rem 0;display:grid}.attention-item span,.attention-item small,.current-attention p,.responsibility-summary p{color:var(--muted)}.attention-item.expired strong{color:var(--danger)}.attention-item.expires_soon strong{color:var(--warning)}.positive-state{color:#a7f3d0;background:#0596691f;border:1px solid #34d3994d;border-radius:.65rem;padding:.8rem}.personnel-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.profile-card{border:1px solid var(--border);background:linear-gradient(145deg,var(--raised),var(--surface));border-radius:.85rem;min-width:0;padding:1.15rem;box-shadow:0 10px 28px #00000021}.profile-card.wide-card{grid-column:1/-1}.profile-card.half-card{grid-column:span 2}.profile-card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.profile-card-head h3{margin:0}.key-values{gap:0;margin:0;display:grid}.key-values>div{border-bottom:1px solid #2b3a4da6;grid-template-columns:minmax(115px,.8fr) minmax(0,1.2fr);gap:.8rem;padding:.62rem 0;display:grid}.key-values>div:last-child{border-bottom:0}.key-values dt{color:var(--muted)}.key-values dd{overflow-wrap:anywhere;text-align:right;margin:0;font-weight:700}.inline-editor{border-top:1px solid var(--border);gap:.8rem;margin-top:1rem;padding-top:1rem;display:grid}.compact-table-wrap{overflow-x:auto}.compact-table{min-width:650px}.competence-badge{border-radius:999px;padding:.28rem .55rem;font-size:.7rem;font-weight:850;display:inline-flex}.competence-badge.valid{color:#a7f3d0;background:#05966933}.competence-badge.expires_soon{color:#fde68a;background:#d9770633}.competence-badge.expired{color:#fecaca;background:#b91c1c38}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:.25rem;font-weight:750}.permission-compact>label{border-bottom:1px solid #2b3a4d8c;grid-template-columns:minmax(0,1fr) minmax(135px,.55fr);align-items:center;padding:.4rem 0}.personnel-loading{z-index:10;border:1px solid var(--accent2);color:#cffafe;background:#102637;border-radius:999px;padding:.7rem 1rem;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 10px 30px #00000059}.employee-create-dialog{background:var(--raised);border:1px solid #516176;border-radius:.9rem;width:min(1060px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:1.5rem;overflow:auto;box-shadow:0 24px 80px #0000008c}.employee-create-form{gap:1rem;display:grid}.employee-create-form fieldset{border:1px solid var(--border);background:#101923;border-radius:.75rem;min-width:0;margin:0;padding:1rem}.employee-create-form legend{color:var(--accent);padding:0 .45rem;font-weight:850}.date-entry{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;display:grid}.date-entry input{cursor:pointer}.calculated-wage{background:#0284c71a;border:1px solid #38bdf859;border-radius:.65rem;align-content:center;gap:.3rem;min-width:0;padding:.75rem;display:grid}.calculated-wage span{color:var(--muted);font-size:.8rem;font-weight:750}.calculated-wage strong{color:#cffafe;overflow-wrap:anywhere}.agreement-rules-note{background:#d977061a;border:1px solid #fbbf244d;border-radius:.65rem;margin-top:1rem;padding:.85rem}.agreement-rules-note p{color:var(--muted);margin:.3rem 0 0}@media (width<=1000px){.sidebar{width:224px}.page-area{width:calc(100% - 224px);margin-left:224px}.form-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.personnel-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-card.half-card{grid-column:span 1}.quick-info,.overview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.mobile-header{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080d14f0;align-items:center;gap:.8rem;height:62px;padding:0 1rem;display:flex;position:sticky;top:0}.menu-toggle,.drawer-close{border:1px solid var(--border);width:44px;height:44px;color:var(--text);background:var(--surface);cursor:pointer;border-radius:.55rem;place-items:center;font-size:1.25rem;display:grid}.drawer-close{margin-left:auto}.drawer-scrim{z-index:25;background:#00000094;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.sidebar{width:min(84vw,280px);transition:transform .2s;transform:translate(-105%)}.sidebar.sidebar-open{transform:translate(0)}.page-area{width:100%;margin-left:0;padding:1rem}.page-header{margin-top:.5rem}.form-grid,.summary-grid{grid-template-columns:1fr}.section-heading,.permission-row{flex-direction:column;align-items:flex-start}.permission-row select{width:100%}.row-actions{flex-wrap:nowrap}th,td{padding:.75rem .85rem}.assignment-columns{grid-template-columns:1fr}}@media (width<=700px){.module-tabs>*{flex:100%}.driver-card,.driver-card p,.driver-card h3{overflow-wrap:anywhere}.employee-picker{grid-template-columns:1fr;padding:1rem}.employee-picker .primary-button{width:100%}.employee-hero{align-items:flex-start}.employee-initials{width:52px;height:52px}.personnel-card-grid,.quick-info,.overview-summary,.attention-grid{grid-template-columns:1fr}.attention-grid .competence-attention{grid-row:auto}.profile-card.half-card,.profile-card.wide-card{grid-column:1}.key-values>div{grid-template-columns:1fr;gap:.2rem}.key-values dd{text-align:left}.permission-compact>label{grid-template-columns:1fr}.profile-card,.employee-create-dialog{padding:1rem}.employee-create-form fieldset{padding:.8rem}}
