:root{--ink:#172b35;--muted:#728089;--line:#e2e8e9;--green:#14815e;--bg:#f3f6f5;--nav:#123b37}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font:14px system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #57b99a}aside{background:var(--nav);color:#fff;flex-direction:column;width:222px;padding:32px 20px;display:flex;position:fixed;inset:0 auto 0 0}.logo{letter-spacing:-2px;font-size:30px;font-weight:850}.logo span{color:#b0d86c}.brand{letter-spacing:3px;opacity:.65;margin-top:3px;font-size:10px}.navlabel{letter-spacing:2px;color:#92b4ad;margin:48px 12px 12px;font-size:10px}nav button{text-align:left;color:#c4d7d2;background:0 0;border:0;border-radius:9px;width:100%;margin:5px 0;padding:14px;display:block}nav button.active{color:#fff;background:#ffffff18;font-weight:650}.sidefoot{color:#acc7bf;margin-top:auto;font-size:12px;line-height:1.8}.sidefoot strong{color:#fff}main{max-width:1600px;margin-left:222px;padding:0 42px 40px}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;height:82px;display:flex}.crumb{color:var(--muted);font-size:12px}.profile{align-items:center;gap:10px;display:flex}.avatar{color:#285341;background:#dce9df;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:700;display:grid}select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;padding:8px}.demo{color:#7d6827;background:#fff8df;border:1px solid #eee2b5;border-radius:7px;margin:22px 0;padding:10px 14px;font-size:12px}.heading{justify-content:space-between;align-items:center;margin:25px 0 23px;display:flex}.eyebrow{color:var(--green);letter-spacing:1.5px;text-transform:uppercase;font-size:11px;font-weight:700}h1{letter-spacing:-1px;margin:7px 0;font-size:29px}h2{margin:0;font-size:17px}p{color:var(--muted);margin:6px 0;line-height:1.6}.date{color:#62766d;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 15px;font-size:13px}.cards{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:23px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:19px}.card .label{color:var(--muted);font-size:12px}.metric{letter-spacing:-1px;margin:9px 0;font-size:27px;font-weight:700}.metric small{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:500}.hint{color:var(--muted);font-size:11px}.green{color:var(--green)}.orange{color:#b16b23}.bar{background:#edf1ee;border-radius:4px;height:4px;margin:13px 0 8px;overflow:hidden}.bar i{background:#42967c;width:78%;height:100%;display:block}.layout{grid-template-columns:minmax(0,1fr) 285px;gap:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.panelhead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:21px 23px;display:flex}.badge{color:#577367;background:#eff5f1;border-radius:20px;padding:6px 10px;font-size:11px}.pad{padding:23px}.actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.action{text-align:left;border:0;border-radius:9px;padding:15px;font-size:15px;font-weight:700}.action small{opacity:.85;margin:5px 0 0;font-size:11px;font-weight:400;display:block}.arrive{color:#fff;background:#14815e}.leave{color:#4b3e14;background:#f3ce60}.fields{grid-template-columns:1fr 1fr 1fr;gap:15px;margin-top:24px;display:grid}label{color:var(--muted);margin-bottom:7px;font-size:11px;display:block}input{width:100%;color:var(--ink);background:#fbfcfb;border:1px solid #dbe3e0;border-radius:7px;padding:10px}.result{border-top:1px dashed var(--line);color:var(--muted);justify-content:space-between;gap:12px;margin-top:19px;padding:14px 0 0;font-size:12px;display:flex}.result strong{color:var(--ink)}.section{justify-content:space-between;align-items:center;padding:20px 23px 13px;display:flex}.section small{color:var(--muted)}.tablehead,.workrow{grid-template-columns:113px 1fr;align-items:center;gap:15px;padding:9px 23px;display:grid}.tablehead{color:var(--muted);letter-spacing:1px;text-transform:uppercase;background:#f7f9f8;font-size:10px}.workrow{border-top:1px solid #f0f3f1;min-height:54px}.time{color:#52655d;font-variant-numeric:tabular-nums;font-size:12px}.workrow textarea{resize:vertical;width:100%;height:36px;min-height:36px;max-height:110px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:5px;padding:8px;font-size:12px}.workrow textarea:hover,.workrow textarea:focus{background:#fafcfb;border-color:#d3e2db}.lunch{color:#7b815b;background:#f7f8f1;font-size:12px}.bottom{border-top:1px solid var(--line);background:#fafcfb;justify-content:space-between;align-items:center;padding:17px 23px;display:flex}.btn{color:#345d4d;background:#fff;border:1px solid #d6e1dc;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:600}.btn.primary{background:var(--nav);color:#fff;border-color:var(--nav)}.right .panel{margin-bottom:18px}.summary{border-bottom:1px solid #edf1ef;justify-content:space-between;padding:11px 0;font-size:12px;display:flex}.summary:last-child{border:0}.summary span{color:var(--muted)}.bigtime{letter-spacing:-1.5px;margin:10px 0;font-size:35px;font-weight:700}.timeline{gap:5px;height:7px;margin-top:18px;display:flex}.timeline i{background:#5b9c81;border-radius:3px;flex:4}.timeline i:nth-child(2){background:#e8cc76;flex:.5}.right .btn{width:100%;margin-top:12px}.note{color:var(--muted);font-size:11px;line-height:1.6}.toast{color:#fff;z-index:20;background:#173e32;border-radius:10px;max-width:90%;padding:14px 23px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 7px 30px #0002}[hidden]{display:none!important}.view{animation:.2s fade}@keyframes fade{0%{opacity:.5}to{opacity:1}}.wideTable{border-collapse:collapse;text-align:left;width:100%}.wideTable th,.wideTable td{border-bottom:1px solid var(--line);padding:18px;font-size:13px}.wideTable th{color:var(--muted);font-size:11px;font-weight:500}.request{border-bottom:1px solid var(--line);padding:18px 0}dialog{border:0;border-radius:15px;width:min(440px,92vw);padding:28px;box-shadow:0 20px 90px #0003}dialog::backdrop{background:#102e2855}dialog input,dialog select{width:100%;margin-bottom:15px}dialog .actions{margin-top:20px}.footer{color:var(--muted);justify-content:space-between;margin-top:24px;font-size:11px;display:flex}@media (min-width:1500px){main{margin-right:auto}}@media (max-width:1100px){aside{width:185px}main{margin-left:185px;padding:0 25px 30px}.layout{grid-template-columns:1fr}.right{grid-template-columns:1fr 1fr;gap:18px;display:grid}.cards{gap:9px}.card{padding:15px}.metric{font-size:24px}}@media (max-width:750px){aside{width:100%;padding:16px 20px;display:block;position:static}.brand,.navlabel,.sidefoot{display:none}.logo{font-size:24px}nav{gap:4px;margin-top:12px;display:flex}nav button{text-align:center;margin:0;padding:9px;font-size:12px}main{margin:0;padding:0 16px 25px}.top{height:66px}.crumb{display:none}.profile{justify-content:space-between;width:100%}.cards{grid-template-columns:1fr 1fr}.heading{align-items:start}.date{padding:8px;font-size:11px}h1{font-size:24px}.right{display:block}.pad,.panelhead,.section{padding:17px}.workrow,.tablehead{grid-template-columns:95px 1fr;gap:8px;padding:9px 14px}.fields{gap:8px}.result{flex-wrap:wrap}.wideTable th,.wideTable td{padding:11px;font-size:11px}.footer{gap:20px;line-height:1.6}}a{color:var(--green)}.login-wrap{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{background:var(--nav);color:#fff;flex-direction:column;justify-content:center;padding:70px;display:flex}.login-brand h1{margin:55px 0 20px;font-size:52px}.login-brand p{color:#c2d8ce;max-width:380px}.login-card{align-self:center;width:100%;max-width:490px;margin:auto;padding:35px}.login-card h1{margin:18px 0}.login-card label{color:var(--ink);margin:20px 0}.login-card input{margin-top:8px}.login-card .btn{width:100%;padding:14px}.textbutton{color:var(--green);background:0 0;border:0;padding:15px 0}.error{color:#9c382e;background:#fff0ed;border-radius:7px;padding:12px}.notice{color:#776123;background:#fff8df;border-radius:7px;padding:14px;line-height:1.6}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spacer{flex:1}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.formgrid label input,.formgrid label select{margin-top:6px}.contract{background:#f6f9f7;border-radius:9px;margin:14px 0;padding:18px}.settings-card{border-bottom:1px solid var(--line);padding:22px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;display:flex}.toolbar input{width:auto}.table-scroll{overflow-x:auto}.modal{z-index:10;background:#0b2e2566;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:14px;width:480px;max-height:90vh;padding:26px;overflow:auto}.modal-content label{margin-top:16px}.modal-content input,.modal-content select,.modal-content textarea{width:100%;margin-top:6px}.modal-content textarea{border:1px solid var(--line);border-radius:7px;min-height:80px;padding:10px}.note strong{color:var(--ink)}.task-input{min-height:45px!important}.badge.warn{color:#94721f;background:#fff5d8}button:disabled{cursor:not-allowed}.request .btn{margin:10px 10px 0 0}.workspace-main{min-height:100vh}.settings-card input[type=checkbox]{width:auto}.top button{font-size:11px}.empty{text-align:center;color:var(--muted);padding:34px;line-height:1.8}@media (max-width:750px){.login-wrap{grid-template-columns:1fr}.login-brand{padding:25px}.login-brand h1{margin:20px 0 0;font-size:30px}.login-brand p{display:none}.login-card{padding:28px}.formgrid{grid-template-columns:1fr}.row{gap:8px}.heading{gap:12px}.settings-card{padding:16px}}.company-logo{background:#fff;border-radius:10px;flex-shrink:0;width:100%;max-width:182px;padding:12px;display:block}.company-logo img{object-fit:contain;width:100%;height:auto;display:block}.login-brand .company-logo{max-width:270px;padding:18px}.login-card .company-logo{max-width:170px}@media (max-width:750px){aside .company-logo{max-width:150px}.login-brand .company-logo{max-width:190px;padding:12px}}
