:root{--ink:#18202a;--muted:#687486;--line:#e4e7eb;--surface:#fff;--soft:#f5f7f8;--accent:#8f5b22;--accent-2:#c98538;--accent-soft:#fff3e2;--green:#13765a;--green-soft:#e7f5ef;--red:#a53a35;--red-soft:#fdeceb;--blue:#245f8f;--blue-soft:#eaf3fb;--shadow:0 20px 60px rgba(37,43,50,.1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#f3f0ea}
.metrics-grid{display:grid}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,#fff 0,#f5f1e9 42%,#eee8dd 100%)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1160px,calc(100% - 28px));margin:0 auto;padding:28px 0 56px}.login-view{min-height:calc(100vh - 84px);display:grid;place-items:center;position:relative}.brand-mark{position:absolute;top:3%;left:4%;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--ink);color:#fff;font-weight:900}.login-card{width:min(440px,100%);background:rgba(255,255,255,.94);padding:40px;border:1px solid rgba(255,255,255,.8);border-radius:30px;box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,5vw,48px);line-height:1.03;margin-bottom:12px}h2{font-size:28px;margin-bottom:6px}h3{font-size:19px;margin:28px 0 14px}.muted{color:var(--muted)}label{display:grid;gap:7px;font-size:14px;font-weight:750;color:#364150}input,select,textarea{width:100%;border:1px solid #d8dde3;border-radius:13px;background:#fff;color:var(--ink);padding:12px 13px;outline:none;transition:.16s border,.16s box-shadow}input:focus,select:focus,textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 4px rgba(201,133,56,.13)}input[readonly]{background:#f2f4f5;color:#5d6876}.login-card form{display:grid;gap:17px;margin-top:26px}.button{border:1px solid #d9dfe5;border-radius:13px;background:#fff;color:var(--ink);font-weight:800;padding:11px 16px;transition:.15s transform,.15s background,.15s border}.button:hover{transform:translateY(-1px);border-color:#b8c0c8}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button-primary{background:var(--ink);border-color:var(--ink);color:#fff}.button-primary:hover{background:#293543}.button-quiet{background:#f4f5f6}.button-wide{width:100%;padding:14px}.button-large{font-size:17px;padding:15px 22px}.form-error{color:var(--red);font-weight:700;margin:0}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.app-header h1{font-size:36px}.user-panel{display:flex;align-items:center;gap:15px;background:rgba(255,255,255,.8);padding:9px 10px 9px 16px;border:1px solid #fff;border-radius:18px}.user-panel div{display:grid;gap:2px}.user-panel span{font-size:12px;color:var(--muted)}.notice{margin-bottom:18px;border-radius:14px;padding:13px 16px;background:var(--blue-soft);color:var(--blue);font-weight:700}.notice.error{background:var(--red-soft);color:var(--red)}.notice.success{background:var(--green-soft);color:var(--green)}.stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.stepper button{position:relative;display:grid;grid-template-columns:34px 1fr;text-align:left;align-items:center;column-gap:9px;border:1px solid #dedfe1;background:rgba(255,255,255,.72);border-radius:16px;padding:11px;color:#616c79}.stepper span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf0f2;font-weight:900}.stepper b{font-size:14px}.stepper small{font-size:11px}.stepper button.active{background:var(--ink);border-color:var(--ink);color:#fff}.stepper button.active span{background:var(--accent-2);color:#fff}.stepper button.done:not(.active){background:var(--green-soft);border-color:#cce8dc;color:var(--green)}.stepper button.done span{background:var(--green);color:#fff}.step-panel,.locked-banner{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.9);border-radius:25px;padding:28px;box-shadow:var(--shadow)}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:24px}.step-kicker{font-size:12px;color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.save-status{padding:7px 11px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:800}.field-grid{display:grid;gap:15px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.callout{margin-top:20px;border-left:4px solid var(--accent-2);background:var(--accent-soft);padding:13px 15px;border-radius:0 13px 13px 0;color:#70502c}.callout.info{border-left-color:var(--blue);background:var(--blue-soft);color:#285777}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.step-actions.end{justify-content:flex-end}.staff-list{display:grid;gap:12px}.staff-row{display:grid;grid-template-columns:150px 1fr 130px 130px 42px;gap:10px;align-items:end;background:var(--soft);border:1px solid #e6e9ec;border-radius:17px;padding:14px}.staff-row .remove{width:42px;height:42px;padding:0;border-radius:12px}.inline-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.upload-drop{min-height:190px;border:2px dashed #c7cdd3;border-radius:20px;background:var(--soft);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;cursor:pointer}.upload-drop:hover{border-color:var(--accent-2);background:var(--accent-soft)}.upload-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:#fff;font-size:26px;margin-bottom:9px}.upload-drop small{font-weight:500;color:var(--muted)}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.metric{background:var(--soft);border-radius:15px;padding:14px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{font-size:20px}.sync-card{display:flex;gap:14px;align-items:center;background:var(--blue-soft);color:#285777;border-radius:16px;padding:15px;margin-top:16px}.sync-card p{margin:3px 0 0}.loader{width:30px;height:30px;border-radius:50%;border:3px solid rgba(36,95,143,.2);border-top-color:var(--blue);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reconciliation{margin-top:16px;border-radius:17px;padding:16px;background:var(--green-soft);color:var(--green)}.reconciliation.problem{background:var(--red-soft);color:var(--red)}.reconciliation table{width:100%;border-collapse:collapse;margin-top:10px}.reconciliation th,.reconciliation td{text-align:right;padding:7px}.reconciliation th:first-child,.reconciliation td:first-child{text-align:left}.terminal-card{display:grid;gap:12px;background:var(--soft);border-radius:18px;padding:17px}.check-row{grid-template-columns:24px 1fr;align-items:start;cursor:pointer}.check-row input{width:22px;height:22px;margin:1px 0}.check-row span{display:grid;gap:3px}.check-row small{color:var(--muted);font-weight:500}.check-row.danger{color:var(--red)}.cash-entry-list{display:grid;gap:10px;margin:15px 0}.cash-entry{display:grid;grid-template-columns:200px 150px 1fr 1fr 42px;gap:9px;align-items:end;background:var(--soft);padding:12px;border-radius:15px}.transfer-panel{margin-top:24px;border-top:1px solid var(--line);padding-top:2px}.transfer-grid{grid-template-columns:1fr 170px 1fr auto;align-items:end}.transfer-row{display:flex;justify-content:space-between;gap:15px;align-items:center;background:var(--soft);padding:12px 14px;border-radius:14px;margin-bottom:9px}.transfer-row .status{font-weight:800}.calculation-card{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;background:#202a36;color:#fff;padding:17px;border-radius:18px}.calculation-card div{display:grid;gap:3px}.calculation-card span{font-size:12px;color:#b8c3ce}.calculation-card strong{font-size:18px}.final-summary{display:grid;gap:15px}.summary-section{background:var(--soft);border-radius:17px;padding:17px}.summary-section h3{margin:0 0 12px}.summary-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.summary-line{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e3e7ea;padding-bottom:7px}.summary-line span{color:var(--muted)}.summary-problem{background:var(--red-soft);color:var(--red)}.submit-confirmation{margin-top:22px;background:var(--accent-soft);border-radius:18px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.submit-confirmation p{margin:0;color:#6e512e}.locked-banner{display:flex;align-items:center;gap:18px;margin-bottom:18px;background:var(--green-soft);box-shadow:none;border-color:#cee9dd}.locked-banner .status-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;font-size:25px;font-weight:900;flex:0 0 auto}.locked-banner h2{font-size:22px;margin-bottom:5px}.locked-banner p{margin:3px 0;color:#376d5c}.locked-banner .button{margin-left:auto;flex:0 0 auto}.readonly .step-panel input,.readonly .step-panel select,.readonly .step-panel textarea,.readonly .step-panel button:not(.prev){pointer-events:none}.readonly .submit-confirmation{display:none}
@media(max-width:850px){.stepper{grid-template-columns:repeat(5,52px);overflow:auto;justify-content:space-between}.stepper button{display:block;text-align:center;padding:9px}.stepper span{margin:auto}.stepper b,.stepper small{display:none}.field-grid.three,.metrics-grid,.calculation-card{grid-template-columns:repeat(2,1fr)}.staff-row{grid-template-columns:130px 1fr 100px 100px 42px}.cash-entry{grid-template-columns:1fr 120px 1fr 42px}.cash-entry .employee{grid-column:1/4}.transfer-grid{grid-template-columns:1fr 140px}.transfer-grid label:nth-child(3){grid-column:1/3}.app-header{align-items:center}.app-header h1{font-size:30px}}
@media(max-width:600px){.shell{width:min(100% - 16px,1160px);padding-top:12px}.login-card,.step-panel{padding:21px;border-radius:21px}.app-header{display:block}.user-panel{margin-top:12px;justify-content:space-between}.field-grid.two,.field-grid.three,.metrics-grid,.calculation-card,.summary-lines{grid-template-columns:1fr}.staff-row{grid-template-columns:1fr 1fr}.staff-row label:nth-child(2){grid-column:1/3}.staff-row .remove{grid-column:2;justify-self:end}.cash-entry{grid-template-columns:1fr 1fr}.cash-entry label:nth-child(3),.cash-entry .employee{grid-column:1/3}.transfer-grid{grid-template-columns:1fr}.transfer-grid label:nth-child(3){grid-column:auto}.step-actions{position:sticky;bottom:8px;background:rgba(255,255,255,.9);padding:10px;border-radius:15px}.submit-confirmation,.locked-banner{align-items:flex-start;flex-direction:column}.locked-banner .button{margin-left:0}.section-heading{display:block}.save-status{display:inline-block;margin-top:8px}}
