/* Shared standard: derived from Canteen/system/app.py. All pages use this file. */
:root{--ground:#F1F2EE;--surface:#fff;--ink:#1A1C18;--ink2:#6A6E64;--faint:#85897C;--rule:#D5D8CF;--soft:#E9EBE3;--accent:#A83526;--good:#2E6B4A;--warn:#8A6614;--paper:var(--ground);--muted:var(--ink2);--line:var(--rule);--white:var(--surface);--gold:var(--accent);font-family:"Noto Sans HK","Microsoft JhengHei",system-ui,sans-serif;background:var(--ground);color:var(--ink)}
body{font-family:inherit}.num,.amount,input[type=number],input[type=time],input[type=date]{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}fieldset{border:0;margin:0;padding:0;min-width:0}fieldset:disabled{opacity:.65}
.topbar{background:var(--ink);color:var(--ground);max-width:none;padding:16px max(20px,calc((100vw - 732px)/2));gap:12px}.brand{color:var(--ground)}.brand img{border-radius:0}.brand small{color:#C87A6C}.preview{background:transparent;border:1px solid #6A6E64;color:var(--ground);border-radius:2px}.topbar>a:not(.brand){color:var(--ground);font-size:13px;min-height:44px;display:flex;align-items:center;text-decoration:none}
main{padding-top:24px}.card,.action,.weather,.primary,.quiet,input,.window,.notice,.error,.status-pill{border-radius:2px}.card{border-color:var(--rule)}.primary{background:var(--ink)}.primary:disabled{background:var(--ink2)}.quiet{border-color:var(--rule)}input,select,textarea{background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:2px;min-height:48px;font-size:16px;padding:10px 12px;width:100%;font-family:inherit}textarea{min-height:88px;resize:vertical}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.window,.weather{background:var(--soft)}.weather-symbol{color:var(--ink2)}.dsoa{background:var(--ink);color:var(--surface);text-decoration:none;border-top:3px solid var(--accent)}.drinks{background:var(--surface);border:1px solid var(--rule)}.action-icon,.drinks .action-icon{color:var(--accent)}.dsoa .action-icon{color:#C87A6C}.status-pill{opacity:1}.dsoa .status-pill{color:#DCCAC5}.actions{gap:1px;background:var(--rule);border:1px solid var(--rule)}.action{min-height:178px}.section-head h2{font-size:15px}.balances{gap:1px;background:var(--rule);border:1px solid var(--rule)}.balances .card{border:0}.small-dot{background:var(--faint)}.notice{background:#FCF7EC;color:var(--warn);border:1px solid #E7D7B1}.error{background:#FAEFEB;color:var(--accent)}.claim-card{border-top:3px solid var(--accent)}.intro h1{font-weight:600}.eyebrow{color:var(--ink2)}.spending .amount{color:var(--accent)}
.page-heading{border-bottom:1px solid var(--ink);padding-bottom:18px;margin-bottom:20px}.page-heading h1{font-size:25px;margin:8px 0}.page-heading p{line-height:1.7}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-grid .wide{grid-column:1/-1}.field-grid label{margin-bottom:7px}.duration-fields{display:flex;gap:10px;align-items:center}.duration-fields input{min-width:0}.duration-fields span{font-size:12px;white-space:nowrap}.entry-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:16px}.entry-toolbar button{min-height:44px}.entry-row{margin:12px 0;padding:16px;border:1px solid var(--rule);background:var(--surface)}.entry-row>p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.entry-row .row-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px}.entry-row .hint{color:var(--ink2)}.entry-row .text-button{font-size:13px;color:var(--ink);padding:8px 12px;border:1px solid var(--rule)}.entry-row .remove{color:var(--accent)}.form-actions{display:flex;gap:12px;margin-top:20px}.form-actions .quiet{min-width:90px}.save-panel{margin-top:24px;border-top:2px solid var(--ink);padding-top:20px}.save-panel p{margin-bottom:12px}.draft-state{font-size:12px;color:var(--ink2);line-height:1.8}.warning-list{white-space:pre-line;font-size:12px;color:var(--warn);line-height:1.7;margin-top:10px}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin:16px 0}.summary-strip>div{background:var(--surface);padding:14px 10px}.summary-strip small{display:block;color:var(--ink2);font-size:10px;margin-bottom:7px}.summary-strip strong{font-size:19px}.summary-strip>div:last-child{background:var(--ink);color:var(--surface)}.summary-strip>div:last-child small{color:#C87A6C}
@media(max-width:360px){.field-grid{gap:12px}.summary-strip strong{font-size:17px}.summary-strip>div{padding:12px 8px}}
