:root{--navy:#123747;--teal:#25786d;--bg:#f1f4f3;--line:#d9e2e1;--muted:#68787d;--red:#a74940}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#17272d;font:14px system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0d2b39,#1f5963)}.login-card{background:#fff;width:min(390px,calc(100% - 30px));padding:32px;border-radius:14px;box-shadow:0 25px 70px #06192388}.brand{display:flex;gap:12px;align-items:center;margin-bottom:25px}.mark{width:48px;height:48px;display:grid;place-items:center;background:var(--navy);color:#fff;font:700 18px Georgia}.brand strong,.brand small{display:block}.brand small{color:var(--muted);text-transform:uppercase;letter-spacing:1.3px;font-size:9px;margin-top:4px}label{display:block;color:var(--muted);font-size:11px;font-weight:700;margin:13px 0 0}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:7px;padding:11px;margin-top:5px}.primary,.secondary,.danger{border:0;border-radius:7px;padding:11px 15px;font-weight:800;cursor:pointer}.primary{background:var(--teal);color:#fff}.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.danger{background:#f9e9e7;color:var(--red)}.login .primary{width:100%;margin-top:18px}.error{color:var(--red);font-size:11px;margin-top:10px}.shell{min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:230px;background:#0e2d3b;color:#fff;padding:22px 14px}.side nav{display:grid;gap:4px;margin-top:25px}.side nav button{border:0;background:transparent;color:#b8c9ce;text-align:left;padding:11px;border-radius:7px}.side nav button.active{background:#ffffff15;color:#fff}.side footer{position:absolute;bottom:20px;color:#8fa9b0;font-size:10px}.main{margin-left:230px;padding:28px 34px}.top{display:flex;justify-content:space-between;align-items:center}.top h1{font:30px Georgia;margin:4px 0;color:var(--navy)}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--teal);font-weight:800;font-size:9px;margin:0}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;margin-top:16px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat span,.stat small{display:block;color:var(--muted);font-size:10px}.stat b{display:block;color:var(--navy);font:25px Georgia;margin:5px 0}.hero{background:linear-gradient(110deg,var(--navy),#24606a);color:#fff;display:flex;justify-content:space-between;align-items:center}.hero h2{margin:6px 0;font:25px Georgia}.hero p{color:#c8d9dc}.clock{max-width:650px;background:var(--navy);color:#fff;text-align:center}.clock h2{font:48px ui-monospace;margin:15px}.clock .job{background:#ffffff12;border:1px solid #ffffff22;padding:14px;border-radius:8px;margin:20px 0}.actions{display:flex;gap:9px;justify-content:center}.actions>*{flex:1}.table{overflow:auto;padding:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #e8eeee;font-size:12px}th{background:#f7f9f8;color:var(--muted);font-size:9px}.toolbar{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.modal-bg{position:fixed;inset:0;background:#06202daa;display:grid;place-items:center;padding:15px}.modal{background:#fff;border-radius:12px;padding:24px;width:min(470px,100%)}.modal h2{margin:0;color:var(--navy);font-family:Georgia}.modal .actions{margin-top:18px}.toast{position:fixed;right:20px;bottom:20px;background:#0e2d3b;color:#fff;padding:12px 18px;border-radius:8px}.pill{background:#e7f2ef;color:var(--teal);border-radius:20px;padding:5px 9px;font-size:10px;font-weight:800}.receipt-drop{border:2px dashed #b8cccc;padding:25px;text-align:center;border-radius:9px}.mobile-nav{display:none}@media(max-width:700px){.side{display:none}.main{margin:0;padding:18px 14px 80px}.grid{grid-template-columns:1fr 1fr}.hero{display:block}.hero button{margin-top:10px}.actions{flex-wrap:wrap}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:66px;background:#fff;border-top:1px solid var(--line);justify-content:space-around}.mobile-nav button{border:0;background:transparent;color:var(--muted);font-size:10px}.mobile-nav button.active{color:var(--teal)}.table table{min-width:650px}.top h1{font-size:25px}}
