:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#223a3a;background:#f5f7f4;font-synthesis:none;--green:#155d56;--border:#e0e7e1;--muted:#70827d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);border-radius:9px;padding:10px 15px;background:#fff;color:#304c46;font-weight:600;font-size:13px}button:hover{background:#edf4ed}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--green);border-color:var(--green);color:white}button.primary:hover{background:#0b4b45}button.danger{color:#b54745}a{color:var(--green)}input,select{border:1px solid #d6e0d8;border-radius:8px;background:white;color:#253d36;padding:11px 12px;min-width:0;outline:none}input:focus,select:focus{border-color:#24867a;box-shadow:0 0 0 3px #24867a20}input:disabled,select:disabled{color:#465a54;background:#f7f9f6;opacity:1}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#53695d}h1,h2,p{margin-top:0}h1{font-size:30px;line-height:1.2;letter-spacing:-.8px}h2{font-size:20px;letter-spacing:-.4px}.muted,small{color:var(--muted)}.brand{font-size:26px;letter-spacing:-1.4px;font-weight:850;line-height:1;white-space:nowrap}.brand span{color:#2c7d70}.brand i{color:#daaa30;font-style:normal}.brand small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#82918a;margin-top:8px;font-weight:650}.loading{padding:40px;color:var(--muted)}.access{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.access-story{padding:9vh 8vw;display:flex;flex-direction:column;justify-content:space-between;background:#155d56;color:white;position:relative;overflow:hidden}.access-story:after{content:"";position:absolute;right:-120px;bottom:-180px;width:470px;height:470px;border:80px solid #ffffff08;border-radius:50%;pointer-events:none}.access-story .brand span{color:#b5dfb9}.access-story .brand i{color:#f4cc6e}.access-story .brand small{color:#afd0c0}.access-story h1{font-size:52px;letter-spacing:-2px;max-width:460px;margin-top:80px}.access-story p{color:#bed6c7;max-width:380px;line-height:1.8}.access-bullets{display:flex;gap:20px;font-size:12px;color:#d5e5d8;margin-top:45px}.access-bullets span:before{content:"✓";margin-right:7px;color:#f4ce73}.access-main{display:flex;align-items:center;justify-content:center;padding:45px 30px;background:#fbfcf9}.access-card{width:100%;max-width:390px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:#6f8f78;margin-bottom:14px}.access-card h2{font-size:29px;margin-bottom:12px}.access-card>p{color:#70827d;font-size:14px;line-height:1.7}.access-card form{display:flex;flex-direction:column;gap:17px;margin:27px 0}.access-card button{min-height:46px}.access-footer{font-size:11px;color:#8a978e;margin-top:35px;line-height:1.7}.notice{border:1px solid #cdded2;background:#f0f7f1;color:#32604b;padding:12px 15px;border-radius:9px;font-size:13px;line-height:1.6;margin-bottom:18px}.notice.error{border-color:#efc9c5;background:#fff2f0;color:#a33f37}.error-text{color:#a33f37;font-size:12px;line-height:1.6;margin:0;min-height:1px}.shell{max-width:1600px;margin:auto;padding:0 38px 30px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:27px 0 25px;border-bottom:1px solid var(--border);gap:18px}.top-actions{display:flex;align-items:center;gap:10px}.profile{padding-right:12px;text-align:right}.profile strong{display:block;font-size:12px}.profile small{font-size:10px}.quiet{background:transparent;border-color:transparent;padding:8px 10px}.intro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:32px 0 24px}.intro h1{margin:0 0 8px}.intro p{margin:0;color:var(--muted);font-size:13px}.save-state{font-size:11px;border:1px solid #d7e6db;padding:8px 12px;border-radius:20px;background:#eef6ef;color:#3b7851;white-space:nowrap}.save-state.dirty{background:#fff7df;border-color:#ebdda9;color:#97732f}.save-state.error{background:#fff0ed;border-color:#eac5bf;color:#a33f37}.tools{display:flex;justify-content:space-between;gap:18px;margin-bottom:22px;align-items:center}.day-picker{display:flex;gap:8px;align-items:center}.day-picker label{flex-direction:row;align-items:center;margin-right:4px;font-weight:650;font-size:12px}.day-picker input{padding:9px 12px;font-size:13px}.day-picker button{padding:9px 13px}.tool-buttons{display:flex;gap:8px;flex-wrap:wrap}.totals{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:15px;margin-bottom:24px}.metric{padding:21px 23px;border:1px solid var(--border);border-radius:12px;background:white}.metric span{display:block;font-size:11px;color:#788b80;margin-bottom:10px}.metric strong{font-size:29px;letter-spacing:-1px;font-weight:750}.metric small{display:block;font-size:10px;margin-top:9px}.metric.card{border-top:3px solid #d8b34e}.metric.cash{border-top:3px solid #789ac1}.metric.total{background:#155d56;border-color:#155d56;color:white}.metric.total span,.metric.total small{color:#b7d3bf}.ledger{border:1px solid var(--border);border-radius:13px;overflow:hidden;background:white}.ledger-heading{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;align-items:center;border-bottom:1px solid var(--border)}.ledger-heading h2{font-size:16px;margin:0 0 5px}.ledger-heading p{font-size:11px;color:#849087;margin:0}.table-scroll{overflow:auto;max-height:64vh}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;min-width:1110px}th{position:sticky;top:0;background:#f7f9f5;z-index:2;text-transform:uppercase;letter-spacing:.5px;font-size:9px;color:#6d8173;text-align:left;padding:13px 10px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:5px 5px;border-bottom:1px solid #eef1eb;vertical-align:top}tr:last-child td{border-bottom:0}.row-number{width:40px;min-width:40px;text-align:center;padding:15px 5px 5px;color:#a7b1a6;font-size:10px}.name-col{min-width:160px;width:17%}.phone-col{min-width:145px;width:14%}.vehicle-col{min-width:125px;width:13%}.time-col{min-width:110px;width:10%;background:#eef5e9}.minutes-col{min-width:83px;width:7%;background:#eef5e9}.card-col{min-width:93px;width:9%;background:#fff7dd}.cash-col{min-width:93px;width:9%;background:#eef3fa}.delay-col{min-width:135px;width:14%}.actions-col{width:45px;min-width:45px}td input{width:100%;padding:9px 8px;border:1px solid transparent;background:transparent;border-radius:5px;font-size:12px;min-height:36px}td input:hover{border-color:#e0e6dc}td input:focus{background:white}td input:disabled{background:transparent;border-color:transparent}td input[type=time]{font-size:11px}.row-info{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 8px;min-height:17px}.row-status{font-size:9px;color:#84978a;display:block;line-height:1.5;max-width:170px}.row-status.dirty{color:#a1813c}.row-status.error{color:#b1473f}.row-now{font-size:9px;padding:2px 5px;border-color:transparent;background:transparent;color:#4d7c5a;min-height:0}.row-end{font-size:9px;color:#7c9474;white-space:nowrap;padding:0 8px;display:block}.row-delete{padding:5px 8px;border:0;background:transparent;font-size:17px;color:#a3afa0}.row-delete:hover{background:#fff0ed;color:#b94c41}.ledger-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;background:#fcfdfb;border-top:1px solid var(--border);color:#8d9b8b;font-size:10px}.page-footer{display:flex;justify-content:space-between;gap:15px;color:#93a08f;font-size:10px;margin-top:22px}.text-button{border:0;background:transparent;padding:0;color:#577f67;text-decoration:underline;font-size:11px}.empty-cell{padding:45px;color:#8a9986;text-align:center}dialog{border:1px solid #dce4d9;border-radius:15px;padding:30px;width:min(680px,calc(100% - 30px));max-height:88vh;color:#30483d;box-shadow:0 25px 90px #173c342b}dialog::backdrop{background:#18362e80;backdrop-filter:blur(3px)}dialog h2{margin-right:30px}dialog p{font-size:13px;color:#768779;line-height:1.7}.close{position:absolute;right:10px;top:9px;padding:5px 10px;border:0;font-size:24px;background:transparent;color:#8b9b8a}.dialog-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.dialog-form .actions{display:flex;gap:9px;align-items:center}.check{flex-direction:row;align-items:center}.users-table{min-width:0}.users-table th{position:static}.users-table td{padding:12px 7px}.users-table small{display:block;margin-top:4px;font-size:10px}.modal-scroll{overflow:auto}.audit-item{padding:15px 0;border-bottom:1px solid var(--border)}.audit-item strong{display:block;font-size:12px}.audit-item small{font-size:10px}.audit-item ul{padding-left:17px;font-size:11px;line-height:1.9;overflow-wrap:anywhere}.role-tag{font-size:10px;background:#eef3ea;padding:4px 7px;border-radius:5px}.print-only{display:none}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#254f42;color:white;border-radius:8px;padding:13px 20px;z-index:10;max-width:90%;font-size:12px;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.shell{padding:0 20px 25px}.tools{align-items:start}.day-picker{flex-wrap:wrap}.tool-buttons{justify-content:end}.totals{gap:10px}.metric{padding:17px}.metric strong{font-size:25px}.top-actions{gap:4px}.quiet{font-size:11px;padding:7px}.profile{padding-right:7px}.access-story{padding:7vh 5vw}.access-story h1{font-size:42px}}
@media(max-width:700px){.access{display:block}.access-story{padding:28px 25px;min-height:auto}.access-story h1{display:none}.access-story>div>p,.access-bullets,.access-story>p{display:none}.access-main{padding:35px 25px;min-height:70vh}.topbar{padding:22px 0 18px;align-items:start}.brand{font-size:22px}.top-actions{flex-wrap:wrap;justify-content:end;max-width:210px}.profile{width:100%;margin-bottom:3px}.intro{margin:25px 0 20px;align-items:start}.intro h1{font-size:25px}.intro p{font-size:12px}.save-state{font-size:9px;padding:7px 8px}.tools{flex-direction:column;gap:13px}.tool-buttons{justify-content:start;gap:7px}.tool-buttons button{font-size:11px;padding:9px 12px}.totals{grid-template-columns:1fr 1fr;gap:9px}.metric{padding:15px}.metric strong{font-size:25px}.metric span{font-size:10px}.ledger-heading{padding:16px}.ledger-heading p{font-size:10px;max-width:200px}.ledger-heading button{font-size:11px;padding:8px 10px}.ledger-footer{padding:13px 16px;font-size:9px;gap:12px}.page-footer{font-size:9px;flex-wrap:wrap}.table-scroll{max-height:60vh}.shell{padding-inline:14px}dialog{padding:25px}.day-picker input{font-size:12px}}
@media print{@page{size:A4 landscape;margin:10mm}body{background:white;font-size:10px}.shell{max-width:none;padding:0}.topbar{padding:0 0 10px}.top-actions,.intro,.tools,.ledger-heading button,.ledger-footer,.page-footer,.row-now,.row-delete,.row-status,.save-state,#notice,#toast,dialog{display:none!important}.topbar .brand{font-size:22px}.print-only{display:block;font-size:12px;text-align:right}.totals{margin:12px 0;gap:10px}.metric{padding:10px 13px}.metric strong{font-size:20px}.metric span{margin-bottom:5px}.metric small{display:none}.metric.total{background:white;color:#155d56}.metric.total span{color:#70827d}.ledger{border-radius:0}.ledger-heading{padding:10px 0}.ledger-heading h2{font-size:14px}.ledger-heading p{display:none}.table-scroll{overflow:visible;max-height:none}table{min-width:0;font-size:9px}th{position:static;padding:6px 4px;font-size:8px}td{padding:2px}td input{padding:4px 2px;min-height:24px;font-size:10px;box-shadow:none;border:0}.name-col,.phone-col,.vehicle-col,.time-col,.minutes-col,.card-col,.cash-col,.delay-col{min-width:0}.row-number{min-width:20px;width:20px;padding-top:8px;font-size:8px}.actions-col{display:none}.row-end{font-size:7px;padding:0 2px}.empty-row{display:none}tr{break-inside:avoid}thead{display:table-header-group}}

.brand img{display:block;width:175px;height:auto;max-width:100%}.access-story .brand img{width:280px}.access-story{background:#fff4ce;color:#243d35}.access-story p{color:#7c805f}.access-story .brand small{color:#89936b}.access-bullets{color:#65774e}.access-bullets span:before{color:#559449}.access-story:after{border-color:#e9ce6d25}.delay-col{background:#fafbf7}
