:root{color-scheme:light;font-family:Tahoma,Arial,sans-serif;background:#eef2ef;color:#15252c;--ink:#15252c;--ink-soft:#52636a;--ink-muted:#637277;--navy:#132d35;--teal:#007b78;--teal-bright:#10aaa0;--amber:#e0a429;--sand:#dce5e2;--sand-soft:#e7edeb;--line:#b8c5c2;--surface:#fff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}h1,h2,p{margin-top:0}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.eyebrow{color:var(--teal);font-size:.78rem;font-weight:800;letter-spacing:.04em}.muted{color:var(--ink-muted)}code{direction:ltr;display:inline-block}.welcome{max-width:760px;margin:auto;padding:clamp(2rem,10vh,8rem) 2rem}.welcome h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;letter-spacing:-.05em}.welcome p:not(.eyebrow){color:var(--ink-soft);line-height:1.8;font-size:1.05rem}.primary-link{display:inline-block;margin-top:1rem;background:var(--teal);color:var(--surface);padding:.85rem 1.4rem;font-weight:800;text-decoration:none}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;grid-gap:clamp(2rem,8vw,9rem);gap:clamp(2rem,8vw,9rem);max-width:1120px;margin:auto;padding:2rem}.auth-copy h1{font-size:clamp(2.7rem,6vw,5.4rem);line-height:1.05;letter-spacing:-.06em;max-width:700px}.auth-copy p:not(.eyebrow){font-size:1.1rem;color:var(--ink-soft);max-width:520px;line-height:1.8}.login-card{padding:2rem;background:var(--surface);box-shadow:0 20px 60px rgb(21 37 44/9%);border-top:5px solid var(--teal)}.login-form{display:grid;grid-gap:1rem;gap:1rem}.login-form label{display:grid;grid-gap:.5rem;gap:.5rem;font-weight:700}.login-form input{padding:.8rem;border:1px solid var(--line);border-radius:.3rem}.form-error{color:#a33f27}.language-switcher{display:flex;gap:.45rem;margin:0 0 1.25rem}.language-switcher button{border:1px solid rgb(255 255 255/35%);background:transparent;color:#c1d4d0;padding:.35rem .5rem;cursor:pointer;font-weight:700}.language-switcher button.active{background:var(--teal-bright);border-color:var(--teal-bright);color:var(--navy)}.auth-copy .language-switcher button{border-color:var(--sand);color:var(--ink-soft)}.auth-copy .language-switcher button.active{background:var(--teal);border-color:var(--teal);color:var(--surface)}.console-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--navy);color:#e9f2ef;display:flex;flex-direction:column;padding:1.4rem}.brand{color:inherit;text-decoration:none;font-size:1.35rem;font-weight:800;margin-bottom:3rem}.brand span{display:inline-grid;place-items:center;width:2rem;height:2rem;background:var(--teal-bright);color:var(--navy);-webkit-margin-end:.4rem;margin-inline-end:.4rem}.sidebar nav{display:grid;grid-gap:.35rem;gap:.35rem}.sidebar nav a{color:#c1d4d0;text-decoration:none;padding:.7rem;-webkit-border-start:2px solid transparent;border-inline-start:2px solid transparent}.sidebar nav a:focus-visible,.sidebar nav a:hover{color:var(--surface);background:rgb(255 255 255/8%);border-inline-start-color:#f1bd57}.account{margin-top:auto;padding-top:1rem;border-top:1px solid rgb(255 255 255/15%)}.account small{display:block;unicode-bidi:plaintext;text-align:start;color:#9db2ad;margin-top:.35rem}.dashboard-main{padding:clamp(1.5rem,4vw,4rem);max-width:1500px;width:100%}.page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:2rem}.page-heading h1{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.05em;margin-bottom:0}.page-heading>p,.today{color:var(--ink-muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1rem}.metric{padding:1.25rem;background:var(--surface);border-bottom:4px solid var(--ink)}.metric p,.metric span{color:var(--ink-muted);margin-bottom:.5rem}.metric strong{display:block;font-size:2.3rem;letter-spacing:-.06em}.metric-teal{border-color:#00a39a}.metric-blue{border-color:#537595}.metric-amber{border-color:var(--amber)}.panel{background:var(--surface);padding:1.5rem;border:1px solid var(--sand)}.status-panel{display:flex;justify-content:space-between;gap:2rem;margin-top:1rem;-webkit-border-start:5px solid var(--teal);border-inline-start:5px solid var(--teal)}.status-panel h2{font-size:1.65rem}.status-panel p{color:var(--ink-soft);line-height:1.8;max-width:590px}.entity-card dl,.status-panel dl{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.5rem;gap:1.5rem;margin:0}.entity-card dt,.status-panel dt{color:var(--ink-muted);font-size:.8rem}.entity-card dd,.status-panel dd{font-weight:800;margin:.3rem 0 0}.table-panel{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:650px}th{text-align:start;color:var(--ink-muted);font-size:.8rem}td,th{padding:.9rem .5rem;border-bottom:1px solid var(--sand-soft)}.device-status,.risk,.status{display:inline-block;padding:.25rem .55rem;font-size:.75rem;font-weight:800;background:#e9f2ef}.device-status-trusted,.risk-low,.state-on-duty,.status-accepted{color:#076f6a;background:#d9f2ed}.device-status-pending,.risk-medium,.status-review{color:#815700;background:#fff0ca}.device-status-blocked,.device-status-revoked,.risk-high,.status-rejected{color:#9b392b;background:#ffe0da}.state-idle{color:var(--ink-muted);background:#eef2ef}.state-done{color:#3f5a6d;background:#e4ecf2}.alert-list,.entity-grid{display:grid;grid-gap:1rem;gap:1rem}.alert-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.alert-card h2{margin:.6rem 0}.alert-card p,.entity-card p{color:var(--ink-soft);line-height:1.7}.entity-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.entity-card h2{font-size:1.35rem}.entity-card dl{grid-template-columns:1fr 1fr;margin-top:1.25rem}.dashboard-breakdown{margin-top:1rem}.empty-state{padding:3rem;text-align:center;background:var(--surface);color:var(--ink-muted)}.employee-create-form,.organization-create-form,.role-assignment-form,.role-create-form,.schedule-create-form,.transfer-create-form{margin-bottom:1rem}.employee-create-form,.organization-create-form,.role-assignment-form,.role-create-form,.transfer-create-form{display:grid;grid-gap:.75rem;gap:.75rem}.role-assignment-form,.role-create-form,.transfer-create-form{max-width:860px}.organization-create-form{max-width:900px}.employee-create-form{max-width:980px}.employee-create-form label,.form-grid label,.geo-fields label,.organization-create-form>label,.role-assignment-form label,.role-create-form label,.schedule-create-form label,.transfer-create-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:700}.employee-create-form input,.employee-create-form select,.form-grid input,.form-grid select,.organization-create-form input,.organization-create-form select,.role-assignment-form select,.role-create-form input,.schedule-create-form input,.schedule-create-form select,.transfer-create-form input,.transfer-create-form select,.transfer-create-form textarea{padding:.65rem;border:1px solid var(--line);border-radius:.3rem;background:var(--surface)}.transfer-create-form textarea{min-height:5rem;resize:vertical}.form-grid,.geo-fields{display:grid;grid-gap:.75rem;gap:.75rem}.geo-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.role-create-form fieldset{border:1px solid var(--sand)}.permission-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));grid-gap:.5rem;gap:.5rem;margin-top:.6rem}.permission-options label{display:block;font-weight:500}.employee-create-form button,.filter-form button,.geofence-edit-form button,.login-form button,.organization-create-form button,.report-panel button,.review-controls button,.role-assignment-form button,.role-create-form button,.schedule-create-form button,.transfer-create-form button{border:0;background:var(--teal);color:var(--surface);padding:.75rem 1rem;font-weight:800;cursor:pointer}.login-form button,.report-panel button{padding:.85rem 1rem}.employee-create-form button,.geofence-edit-form button,.organization-create-form button,.role-assignment-form button,.role-create-form button,.schedule-create-form button,.transfer-create-form button{width:-moz-fit-content;width:fit-content}button:disabled{opacity:.58;cursor:not-allowed}.schedule-create-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));grid-gap:.75rem;gap:.75rem;align-items:flex-end}.schedule-create-form h2,.shift-editor{grid-column:1/-1}.shift-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:.65rem;gap:.65rem}.shift-editor fieldset{border:1px solid var(--sand);margin:0;padding:.65rem}.shift-editor legend{font-weight:800}.shift-editor fieldset>div{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.45rem;gap:.45rem;margin-top:.5rem}.shift-editor label{font-size:.8rem}.shift-editor input{min-width:0;width:100%}.approval-control,.device-control,.review-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.review-controls{margin-top:.75rem}.review-controls input{min-width:13rem;flex:1 1;padding:.65rem;border:1px solid var(--line);border-radius:.3rem}.review-controls button{padding:.55rem .7rem}.approval-control input,.device-control input{min-width:9rem;padding:.45rem;border:1px solid var(--line);border-radius:.3rem}.approval-control button,.device-control button,.notification-card button,.secondary-button{border:1px solid var(--teal);color:var(--teal);background:var(--surface);padding:.45rem .65rem;cursor:pointer;font-weight:700;white-space:nowrap}.secondary-button{width:-moz-fit-content;width:fit-content;padding:.6rem .8rem;font-weight:800}.notification-card{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;-webkit-border-start:4px solid var(--amber);border-inline-start:4px solid var(--amber)}.notification-card.is-read{border-inline-start-color:var(--sand);opacity:.72}.notification-card h2{margin:.35rem 0}.notification-card p,.notification-card small{color:var(--ink-soft)}.geofence-map{margin:1rem 0 0;border:1px solid var(--sand)}.geofence-map iframe{width:100%;height:220px;border:0;display:block}.geofence-map figcaption{display:flex;flex-wrap:wrap;gap:.75rem;padding:.65rem;color:var(--ink-soft);font-size:.86rem}.geofence-map a{color:var(--teal);font-weight:800}.map-empty{margin-top:1rem;padding:1rem;color:var(--ink-muted);background:#f5f7f5}.geofence-editor{margin-top:1rem;border-top:1px solid var(--sand);padding-top:.8rem}.geofence-editor summary{cursor:pointer;color:var(--teal);font-weight:800}.geofence-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-top:.8rem}.geofence-edit-form label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.85rem;font-weight:700}.geofence-edit-form input{padding:.55rem;border:1px solid var(--line);border-radius:.3rem}.geofence-edit-form .form-error,.geofence-edit-form .wide{grid-column:1/-1}.report-panel{max-width:700px}.report-panel button{margin:1rem 0}.report-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.6rem;gap:.6rem;margin:1rem 0}.report-metrics span{background:#e9f2ef;padding:.6rem;color:var(--ink-soft)}.report-metrics strong{display:block;color:var(--ink);font-size:1.2rem}.report-breakdown{margin:1.5rem 0;border:1px solid var(--sand);padding:.75rem}.report-breakdown h3{margin:.25rem 0 .75rem;font-size:1rem}.filter-form,.report-period{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.filter-form label,.report-period{color:var(--ink-soft);font-weight:700}.filter-form select,.report-period select{display:block;min-width:150px;margin-top:.35rem;padding:.65rem;border:1px solid var(--line);background:var(--surface)}@media (max-width:800px){.auth-shell,.console-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.account{margin-top:2rem}.metric-grid{grid-template-columns:repeat(2,1fr)}.status-panel{flex-direction:column}.status-panel dl{grid-template-columns:repeat(3,1fr)}.page-heading{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.auth-shell{padding:1.25rem}.metric-grid,.sidebar nav,.status-panel dl{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}