
:root{--paper:#eff1ec;--raised:#f8f9f5;--ink:#16222c;--muted:#576269;--line:#d3d6cc;--accent:#bd7112;--success:#3f7d58;--danger:#b23b3b}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:1080px;margin:auto;padding:0 24px 64px}[hidden]{display:none!important}header,.toolbar,.section-head,.day-head,.card-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}header{padding:22px 0;border-bottom:1px solid var(--line);margin-bottom:24px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{background:var(--ink);color:var(--raised);padding:12px 9px;border-radius:9px;font-weight:800;letter-spacing:.04em}h1{font-size:23px;text-transform:uppercase;letter-spacing:.03em}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.25;margin-bottom:8px}h2{font-size:22px}h3{font-size:17px}header p{margin:0;color:var(--muted);font-size:12px}.toolbar{margin-bottom:20px}.context,.period-picker{display:flex;align-items:end;gap:16px;margin-bottom:24px}.context label{flex:1}.period-picker label{flex:1}.section-head{margin:24px 0 14px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700;margin-bottom:5px}.chip{display:inline-block;background:#e2e5e1;color:var(--muted);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:650}.chip.approved{background:#dcebe1;color:#285d3c}.chip.pending{background:#f1dec0;color:#81500e}.chip.returned{background:#f5dedc;color:#912c2c}label{display:block;font-size:12px;font-weight:650;color:var(--muted)}input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #b9beb2;border-radius:7px;background:var(--raised);color:var(--ink);font:inherit;font-size:15px}textarea{min-height:80px;resize:vertical}button{font:inherit;font-size:13px;font-weight:650;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:var(--accent);color:var(--ink);cursor:pointer}button.secondary{background:transparent;border-color:#b9beb2}button.danger{background:transparent;border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.5;cursor:wait}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}#login{max-width:420px;margin:60px auto;padding:28px;background:var(--raised);border:1px solid var(--line);border-radius:14px}#login label{margin:18px 0}#login button{width:100%}#message{padding:13px 16px;border-radius:9px;background:#dcebe1;color:#285d3c}#message.error{background:#f5dedc;color:#912c2c}.queue-tools{max-width:220px;margin-bottom:16px}#queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card,.day-card{border:1px solid var(--line);border-radius:12px;background:var(--raised);padding:18px}.card p{color:var(--muted);font-size:13px;margin:8px 0 16px}.actions{justify-content:flex-start;margin-top:12px}.hours-number{font-size:28px;font-weight:750;font-variant-numeric:tabular-nums}.hours-number small{font-size:13px;font-weight:400;color:var(--muted)}#entry{padding:20px;background:var(--raised);border:1px solid var(--line);border-radius:12px;margin:20px 0}#entry .section-head{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#times{display:grid;grid-template-columns:1fr 1fr;gap:14px}#times,label:has(textarea){grid-column:1/-1}.hint{font-size:13px;color:var(--muted);margin:12px 0}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.summary>div{background:var(--raised);border:1px solid var(--line);border-radius:10px;padding:16px}.summary strong{display:block;font-size:25px;font-variant-numeric:tabular-nums}.summary span{font-size:12px;color:var(--muted)}.day-card{margin-top:12px}.day-head{font-size:14px;font-weight:700}.day-head span{font-variant-numeric:tabular-nums;color:var(--muted)}.entry-row{padding-top:12px;margin-top:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px}.entry-row p{margin:4px 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.empty{color:var(--muted);font-size:13px;padding:14px 0;margin:0}.return-reason{padding:10px;background:#f5dedc;border-radius:7px;color:#912c2c!important;overflow-wrap:anywhere}#details{margin-top:32px;border-top:2px solid var(--ink);padding-top:8px}
@media(max-width:640px){main{padding:0 16px 40px}header>.chip{font-size:10px}#queue{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.context,.period-picker{flex-wrap:wrap}.context label,.period-picker label{min-width:100%}.summary{gap:6px}.summary>div{padding:12px}.summary strong{font-size:21px}#login{margin:24px auto}#entry{padding:14px}.card{padding:16px}}
@media print{body{background:white}header,#login,.toolbar,.context,#worker,.queue-tools,#queue,#refresh,#filter,#message,#detail-actions,#print,#workspace>.section-head{display:none!important}main{padding:0;max-width:none}#details{border:0;margin:0}.day-card{break-inside:avoid}.chip{border:1px solid #aaa}}

#admin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:20px 0}#admin-form{background:var(--raised);border:1px solid var(--line);padding:20px;border-radius:12px}input[type=checkbox]{width:22px;height:22px}#admin-kind{max-width:360px}

#weekly-claims{margin-top:28px}.rejected-claim{border-left:4px solid #a54a37}.button-link{display:inline-block;padding:9px 14px;border:1px solid #c7ceca;border-radius:6px;color:inherit;text-decoration:none}input[type=file]{max-width:100%}

#claim-form{padding:20px;background:var(--raised);border:1px solid var(--line);border-radius:12px;margin:20px 0}#claim-form .section-head{margin-top:0}#claim-totals{grid-template-columns:repeat(4,minmax(0,1fr))}#claim-list{display:grid;gap:12px}@media(max-width:640px){#claim-form{padding:14px}#claim-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{#claim-list .actions{display:none!important}#claim-list .card{break-inside:avoid}}

.view-tabs{display:flex;gap:10px;margin:12px 0 24px}.view-tabs [aria-pressed=true]{background:var(--ink);color:var(--raised)}#report-form,.report-panel{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--raised);margin:16px 0}#report-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table th,.report-table td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.report-table th{font-size:12px;color:var(--muted);white-space:nowrap}.report-table td{font-variant-numeric:tabular-nums}.report-table th:first-child,.report-table td:first-child{padding-left:0}@media(max-width:640px){#report-totals{grid-template-columns:repeat(2,minmax(0,1fr))}#report-form,.report-panel{padding:14px}}@media print{.view-tabs,#report-form,#report-print,#report-results>.actions{display:none!important}.report-panel{border:0;padding:8px 0}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid}.table-wrap{overflow:visible}}

@media print{.report-table{font-size:10px}.report-table th{white-space:normal;font-size:10px}.report-table th,.report-table td{padding:5px 4px}}

#leave-panel{margin:28px 0;padding:20px;border:1px solid var(--line);border-radius:12px}#leave-list{display:grid;gap:12px;margin-top:16px}#leave-form{margin:18px 0}#leave-list .card p{white-space:pre-wrap}
@media print{#leave-panel{display:none}}

.access-intro{margin:36px 0 24px;max-width:650px}.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.access-card{display:flex;flex-direction:column;align-items:flex-start;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--raised);color:var(--ink);text-decoration:none}.access-card:hover{border-color:var(--ink)}.access-card h3{font-size:23px}.access-card p{color:var(--muted);line-height:1.6;flex:1}.access-button{display:inline-block;min-height:44px;padding:12px 16px;border-radius:8px;background:var(--accent);font-size:13px;font-weight:700}.access-note{margin:24px 0;max-width:780px;line-height:1.6}.access-back{margin:16px 0}.access-back a{color:var(--ink);display:inline-block;padding:10px 0}@media(max-width:640px){.access-grid{grid-template-columns:1fr}.access-card{padding:20px}}@media print{.access-back{display:none!important}}

.signoff-request{margin:16px 0;padding:20px;border:1px solid var(--line);border-radius:12px}.signoff-request label{margin:12px 0}.handover-wrap{max-width:760px;margin:0 auto}.handover-wrap label{margin:16px 0}.handover-confirm input{display:inline;width:auto;margin-right:8px}.handover-table{width:100%;border-collapse:collapse}.handover-table td,.handover-table th{text-align:left;padding:10px;border-bottom:1px solid var(--line)}@media print{.signoff-request{display:none!important}#client-signoffs .card{break-inside:avoid}}

.day-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0;flex-wrap:wrap}.day-navigation strong{font-size:15px}.entry-row button{align-self:center}@media print{#entry,.entry-row button,#create,.period-picker{display:none!important}}

.export-confirm{margin:20px 0;padding:20px;background:var(--raised);border:1px solid var(--line);border-radius:12px}.export-confirm label{margin:16px 0}.export-confirm input[type=checkbox]{display:inline-block;width:auto;margin-right:10px}#export-history .card{margin:12px 0}@media print{#exports{display:none!important}}
