@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap);:root{--canvas:#07070f;--panel:#12163a;--panel-2:#0d1030;--panel-3:#1a1f4d;--text:#fff;--text-2:#c9cddb;--grey-mid:#9aa0b5;--muted:#5b6078;--accent:#f0a030;--accent-dark:#d88c1e;--accent-soft:#f0a03024;--blue:#5b8cff;--success:#3dbe85;--danger:#ff5c6c;--warning:#f0a030;--pending:#9aa0b5;--border:#ffffff14;--border-strong:#ffffff29;--shadow:0 2px 12px #00000059;--shadow-lg:0 12px 48px #0000008c;--navy:var(--text);--white:var(--panel);--red:var(--accent);--grey-light:var(--panel-2)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:#07070f;background:var(--canvas)}body{-webkit-font-smoothing:antialiased;color:#c9cddb;color:var(--text-2);font-family:Inter,sans-serif;font-size:14px;line-height:1.5;min-height:100vh}h1,h2,h3,h4{color:#fff;color:var(--text);font-family:Space Grotesk,Inter,sans-serif;font-weight:600;letter-spacing:-.02em}a{color:#f0a030;color:var(--accent)}.app-shell{display:flex;min-height:100vh}.sidebar{background:#0d1030;background:var(--panel-2);border-right:1px solid #ffffff14;border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:248px;z-index:100}.sidebar-logo{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);gap:12px;padding:22px 20px}.brand-mark,.sidebar-logo{align-items:center;display:flex}.brand-mark{background:#f0a030;background:var(--accent);border-radius:8px;color:#07070f;color:var(--canvas);flex-shrink:0;font-size:16px;height:38px;justify-content:center;width:38px}.brand-mark,.brand-name{font-family:Space Grotesk,sans-serif;font-weight:700}.brand-name{color:#fff;color:var(--text);font-size:18px;letter-spacing:-.01em;line-height:1}.sidebar-logo-sub{color:#5b6078;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:2px;margin-top:4px;text-transform:uppercase}.sidebar-nav{flex:1 1;overflow-y:auto;padding:14px 0}.nav-section-label{color:#5b6078;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:2px;padding:12px 20px 6px;text-transform:uppercase}.nav-link{align-items:center;border-left:3px solid #0000;color:#9aa0b5;color:var(--grey-mid);display:flex;font-size:13px;font-weight:500;gap:11px;padding:9px 20px;text-decoration:none;transition:all .15s}.nav-link:hover{background:#ffffff0a;color:#fff;color:var(--text)}.nav-link.active{background:#f0a03024;background:var(--accent-soft);border-left-color:#f0a030;border-left-color:var(--accent);color:#fff;color:var(--text)}.nav-link svg{flex-shrink:0;height:16px;width:16px}.nav-count{background:#f0a030;background:var(--accent);border-radius:10px;color:#07070f;color:var(--canvas);font-size:10px;font-weight:700;margin-left:auto;padding:1px 7px}.sidebar-footer{border-top:1px solid #ffffff14;border-top:1px solid var(--border);padding:16px 20px}.sidebar-user{gap:10px;margin-bottom:12px}.sidebar-avatar,.sidebar-user{align-items:center;display:flex}.sidebar-avatar{background:#1a1f4d;background:var(--panel-3);border-radius:50%;color:#fff;color:var(--text);flex-shrink:0;font-size:12px;font-weight:700;height:34px;justify-content:center;width:34px}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{color:#fff;color:var(--text);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{color:#5b6078;color:var(--muted);font-size:10px;margin-top:1px}.logout-btn,.sidebar-user-role{letter-spacing:1px;text-transform:uppercase}.logout-btn{background:#0000;border:1px solid #ffffff29;border:1px solid var(--border-strong);border-radius:6px;color:#9aa0b5;color:var(--grey-mid);cursor:pointer;font:600 11px Inter,sans-serif;padding:8px;width:100%}.logout-btn:hover{border-color:#f0a030;border-color:var(--accent);color:#f0a030;color:var(--accent)}.credit{color:#5b6078;color:var(--muted);font-size:10px;padding:10px 20px 0}.main-content{flex:1 1;margin-left:248px;max-width:1360px;min-width:0;padding:32px 40px}.card{background:#12163a;background:var(--panel);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:10px;margin-bottom:20px}.card-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:18px 22px 14px}.card-title{color:#fff;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600}.card-body{padding:18px 22px}.stat-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:24px}.stat-card{background:#12163a;background:var(--panel);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:10px;display:block;padding:18px 20px;text-decoration:none}.stat-label{color:#9aa0b5;color:var(--grey-mid);font-size:10px;font-weight:600;letter-spacing:1.5px;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#fff;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1}.stat-sub{color:#9aa0b5;color:var(--grey-mid);font-size:11px;margin-top:6px}.stat-card.gold-accent,.stat-card.red-accent,.stat-card.yellow-accent{border-top:3px solid #f0a030;border-top:3px solid var(--accent)}.stat-card.blue-accent,.stat-card.navy-accent{border-top:3px solid #5b8cff;border-top:3px solid var(--blue)}.stat-card.success-accent{border-top:3px solid #3dbe85;border-top:3px solid var(--success)}.stat-card.danger-accent{border-top:3px solid #ff5c6c;border-top:3px solid var(--danger)}.badge{align-items:center;border-radius:4px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.3px;padding:3px 9px;white-space:nowrap}.badge-grey,.badge-pending{background:#9aa0b524;color:#9aa0b5;color:var(--grey-mid)}.badge-approved,.badge-green{background:#3dbe8524;color:#3dbe85;color:var(--success)}.badge-awol,.badge-declined,.badge-red{background:#ff5c6c24;color:#ff5c6c;color:var(--danger)}.badge-amber,.badge-holiday{background:#f0a03024;background:var(--accent-soft);color:#f0a030;color:var(--accent)}.badge-blue,.badge-sick{background:#5b8cff29;color:#8fb0ff}.badge-cancelled{background:#5b607833;color:#5b6078;color:var(--muted)}.btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font:600 12px Inter,sans-serif;gap:6px;justify-content:center;letter-spacing:.3px;padding:9px 16px;text-decoration:none;transition:all .15s;white-space:nowrap}.btn-gold,.btn-primary,.btn-red,.btn-yellow{background:#f0a030;background:var(--accent);color:#07070f;color:var(--canvas)}.btn-gold:hover,.btn-primary:hover,.btn-red:hover,.btn-yellow:hover{background:#d88c1e;background:var(--accent-dark)}.btn-outline{background:#0000;border-color:#ffffff29;border-color:var(--border-strong);color:#fff;color:var(--text)}.btn-outline:hover{border-color:#f0a030;border-color:var(--accent);color:#f0a030;color:var(--accent)}.btn-danger{background:#0000;border-color:#ff5c6c59;color:#ff5c6c;color:var(--danger)}.btn-danger:hover{background:#ff5c6c14}.btn-success{background:#3dbe85;background:var(--success);color:#07070f;color:var(--canvas)}.btn-success:hover{opacity:.9}.btn-sm{font-size:11px;padding:5px 11px}.btn-lg{border-radius:8px;font-size:15px;padding:14px 20px}.btn-block{width:100%}.btn:disabled{cursor:not-allowed;opacity:.45}.form-group{margin-bottom:16px}.form-label{color:#9aa0b5;color:var(--grey-mid);display:block;font-size:10px;font-weight:600;letter-spacing:1.5px;margin-bottom:6px;text-transform:uppercase}.form-control{appearance:none;background:#0d1030;background:var(--panel-2);border:1px solid #ffffff29;border:1px solid var(--border-strong);border-radius:6px;color:#fff;color:var(--text);font:400 14px Inter,sans-serif;padding:10px 12px;transition:border-color .15s;width:100%}.form-control:focus{border-color:#f0a030;border-color:var(--accent);box-shadow:0 0 0 3px #f0a03024;box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-control::placeholder{color:#5b6078;color:var(--muted)}textarea.form-control{min-height:80px;resize:vertical}select.form-control{background-image:linear-gradient(45deg,#0000 50%,#9aa0b5 0),linear-gradient(135deg,#9aa0b5 50%,#0000 0);background-image:linear-gradient(45deg,#0000 50%,var(--grey-mid) 50%),linear-gradient(135deg,var(--grey-mid) 50%,#0000 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-repeat:no-repeat;background-size:5px 5px;cursor:pointer;padding-right:30px}input[type=date].form-control,input[type=datetime-local].form-control{color-scheme:dark}.form-grid{grid-gap:0 16px;display:grid;gap:0 16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-hint{color:#9aa0b5;color:var(--grey-mid);font-size:11px;margin-top:4px}.check{align-items:center;color:#c9cddb;color:var(--text-2);cursor:pointer;display:flex;font-size:13px;gap:9px}.check input{accent-color:#f0a030;accent-color:var(--accent);height:16px;width:16px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-size:13px;width:100%}th{background:#0d1030;background:var(--panel-2);border-bottom:1px solid #ffffff29;border-bottom:1px solid var(--border-strong);color:#9aa0b5;color:var(--grey-mid);font-size:9px;font-weight:600;letter-spacing:1.5px;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}td{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);color:#c9cddb;color:var(--text-2);padding:12px 14px;vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff05}tr.clickable{cursor:pointer}td.num,th.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.alert{border-radius:6px;cursor:default;font-size:13px;margin-bottom:14px;padding:11px 15px}.alert-error{background:#ff5c6c1a;border-left:3px solid #ff5c6c;border-left:3px solid var(--danger);color:#ff9ba5}.alert-success{background:#3dbe851a;border-left:3px solid #3dbe85;border-left:3px solid var(--success);color:#7fdcb0}.alert-info{background:#f0a03024;background:var(--accent-soft);border-left:3px solid #f0a030;border-left:3px solid var(--accent);color:#c9cddb;color:var(--text-2)}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#07070fbf;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:300}.modal{background:#12163a;background:var(--panel);border:1px solid #ffffff29;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 12px 48px #0000008c;box-shadow:var(--shadow-lg);max-width:520px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 22px 14px}.modal-title{color:#fff;color:var(--text);font-size:17px;font-weight:600}.modal-close{background:none;border:none;color:#9aa0b5;color:var(--grey-mid);cursor:pointer;font-size:22px;line-height:1;padding:4px}.modal-body{padding:18px 22px}.modal-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:12px 22px 18px}.modal-scroll{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto}.page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.page-title{color:#fff;color:var(--text);font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.page-subtitle{color:#9aa0b5;color:var(--grey-mid);font-size:13px;margin-top:4px}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.loader{align-items:center;display:flex;justify-content:center;padding:60px}.empty-state,.loader{color:#9aa0b5;color:var(--grey-mid)}.empty-state{padding:44px 20px;text-align:center}.empty-state h3{font-size:17px;margin-bottom:6px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.toolbar .form-control{min-width:160px;width:auto}.tabs{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;gap:4px;margin-bottom:18px;overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#9aa0b5;color:var(--grey-mid);cursor:pointer;font:600 13px Inter,sans-serif;padding:10px 14px;white-space:nowrap}.tab.active{border-bottom-color:#f0a030;border-bottom-color:var(--accent);color:#fff;color:var(--text)}.kv{grid-gap:8px 14px;display:grid;font-size:13px;gap:8px 14px;grid-template-columns:140px 1fr}.kv dt{color:#9aa0b5;color:var(--grey-mid)}.kv dd{color:#fff;color:var(--text);word-break:break-word}.muted{color:#9aa0b5;color:var(--grey-mid)}.small{font-size:12px}.split{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:2fr 1fr}.row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.spacer{flex:1 1}.warn-text{color:#f0a030;color:var(--accent)}.danger-text{color:#ff5c6c;color:var(--danger)}.ok-text{color:#3dbe85;color:var(--success)}.prio{align-items:center;border-radius:4px;display:inline-flex;font-size:11px;font-weight:700;gap:5px;padding:3px 8px;white-space:nowrap}.prio-1{background:#ff5c6c29;color:#ff5c6c;color:var(--danger)}.prio-2{background:#f0a03024;background:var(--accent-soft);color:#f0a030;color:var(--accent)}.prio-3{background:#5b8cff29;color:#8fb0ff}.prio-4{background:#9aa0b524;color:#9aa0b5;color:var(--grey-mid)}.job-card{background:#12163a;background:var(--panel);border:1px solid #ffffff14;border-left:4px solid #5b8cff;border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:12px;color:inherit;display:block;margin-bottom:12px;padding:16px;text-decoration:none}.job-card.p1{border-left-color:#ff5c6c;border-left-color:var(--danger)}.job-card.p2{border-left-color:#f0a030;border-left-color:var(--accent)}.job-card.p4{border-left-color:#5b6078;border-left-color:var(--muted)}.job-card h3{font-size:17px;margin:6px 0 2px}.job-card .addr{color:#9aa0b5;color:var(--grey-mid);font-size:13px}.job-card .meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.day-heading{color:#fff;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600;letter-spacing:.02em;margin:22px 0 10px}.step-bar{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.step{background:#1a1f4d;background:var(--panel-3);border-radius:3px;height:5px}.step.done{background:#f0a030;background:var(--accent)}.big-actions{grid-gap:10px;display:grid;gap:10px;margin-bottom:18px}.contact-row{display:flex;flex-wrap:wrap;gap:10px}.photo-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.photo-grid figure{aspect-ratio:4/3;background:#0d1030;background:var(--panel-2);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative}.photo-grid img{cursor:zoom-in;display:block;height:100%;object-fit:cover;width:100%}.photo-grid figcaption{background:#07070fb3;bottom:0;color:#c9cddb;color:var(--text-2);font-size:10px;left:0;letter-spacing:1px;padding:3px 6px;position:absolute;right:0;text-transform:uppercase}.photo-add{align-items:center;aspect-ratio:4/3;border:1px dashed #ffffff29;border:1px dashed var(--border-strong);border-radius:8px;color:#9aa0b5;color:var(--grey-mid);cursor:pointer;display:flex;font-size:12px;justify-content:center;padding:6px;text-align:center}.photo-add:hover{border-color:#f0a030;border-color:var(--accent);color:#f0a030;color:var(--accent)}.lightbox{align-items:center;background:#07070ff0;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:400}.lightbox img{border-radius:6px;max-height:100%;max-width:100%}.readings{border-collapse:collapse;width:100%}.readings td,.readings th{background:none;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);font-size:12px;padding:6px}.readings th{font-size:9px}.readings input{background:#0d1030;background:var(--panel-2);border:1px solid #ffffff29;border:1px solid var(--border-strong);border-radius:6px;color:#fff;color:var(--text);font:500 14px Inter,sans-serif;min-width:64px;padding:8px 6px;text-align:center;width:100%}.readings input:focus{border-color:#f0a030;border-color:var(--accent);outline:none}.signature-pad{background:#fff;border-radius:8px;display:block;height:180px;touch-action:none;width:100%}.board{grid-gap:14px;display:grid;gap:14px;grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;overflow-x:auto;padding-bottom:8px}.board-col{background:#0d1030;background:var(--panel-2);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:10px;min-height:160px;padding:12px}.board-col h4{display:flex;font-size:13px;justify-content:space-between;margin-bottom:10px}.board-job{background:#12163a;background:var(--panel);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;font-size:12px;margin-bottom:8px;padding:10px}.board-job .t{color:#fff;color:var(--text);font-size:13px;font-weight:600}.mobile-topbar{display:none}@media (max-width:860px){.app-shell{flex-direction:column}.mobile-topbar{align-items:center;background:#0d1030;background:var(--panel-2);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;gap:12px;height:calc(56px + env(safe-area-inset-top, 0px));justify-content:space-between;left:0;padding:calc(10px + env(safe-area-inset-top, 0px)) 16px 10px;position:fixed;right:0;top:0;z-index:150}.mobile-menu-btn{align-items:center;background:none;border:none;color:#fff;color:var(--text);cursor:pointer;display:flex;padding:4px}.mobile-menu-btn svg{height:24px;width:24px}.sidebar{height:100dvh;left:-270px;transition:left .25s ease;width:256px;z-index:200}.sidebar.sidebar-open{left:0}.sidebar .sidebar-logo{padding-top:calc(22px + env(safe-area-inset-top, 0px))}.sidebar .sidebar-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom, 0px))}.mobile-overlay{background:#0009;inset:0;position:fixed;z-index:190}.main-content{margin-left:0;margin-top:calc(56px + env(safe-area-inset-top, 0px));padding:18px 16px calc(24px + env(safe-area-inset-bottom, 0px))}.stat-grid{gap:10px;grid-template-columns:1fr 1fr}.stat-value{font-size:26px}.page-title{font-size:23px}.split{grid-template-columns:1fr}.kv{grid-template-columns:110px 1fr}table{font-size:12px}td,th{padding:9px 10px}.toolbar .form-control{flex:1 1;min-width:0}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:14px 14px 0 0;max-width:100%!important}}
/*# sourceMappingURL=main.09be0cda.css.map*/