:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#202530;background:#f4f5f7;font-size:15px}*{box-sizing:border-box}body{margin:0}.shell{max-width:990px;margin:auto;padding:0 20px}.header{background:#fff;border-bottom:1px solid #e2e5e9}.header-inner{padding-top:28px;padding-bottom:24px;display:flex;justify-content:space-between;gap:16px}.header h1{font-size:32px;margin:7px 0}.header p{color:#596576;margin:0;max-width:620px}.eyebrow{color:#c22734;letter-spacing:.16em;font-weight:800;font-size:11px}.admin-link{align-self:flex-start;text-decoration:none;color:#344154}.panel{background:white;border:1px solid #e0e5eb;border-radius:14px;padding:26px;margin:22px 0;box-shadow:0 2px 10px #10203008}.section-title{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}.section-title h2{margin:0 0 4px;font-size:21px}.section-title p{color:#667284;margin:0}.step{background:#bf2331;color:white;font-weight:800;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;flex-shrink:0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formgrid .span2{grid-column:span 2}label{display:block;font-weight:650;font-size:13px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{display:block;width:100%;min-height:42px;margin-top:6px;padding:10px;border:1px solid #cbd2da;border-radius:7px;font:inherit;color:#202530;background:#fff}input:focus,select:focus{outline:2px solid #a7b6ce;outline-offset:1px}input[type=checkbox],input[type=radio]{accent-color:#bf2331}.checks{margin:18px 0;display:flex;gap:22px;flex-wrap:wrap;align-items:center}.checks label,fieldset label{font-weight:500;font-size:14px}fieldset{border:0;padding:0;display:flex;gap:15px}legend{font-weight:650;font-size:13px;margin-bottom:7px}.btn{border:1px solid #c6ced8;border-radius:8px;background:#fff;padding:11px 18px;font-weight:700;cursor:pointer;color:#354157}.btn:hover{filter:brightness(.96)}.primary{background:#c32736;color:white;border-color:#c32736;font-size:16px;width:100%;padding:16px}.summary{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f5f6f8;border-radius:9px;padding:16px 18px;margin-top:18px}.summary strong{font-size:19px;font-variant-numeric:tabular-nums}.summary small{display:block;color:#637083;font-weight:400;margin-top:4px}.expense{background:#fafbfc;border:1px solid #e5e8ee;border-radius:10px;padding:16px;margin:13px 0}.expense-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.expense-header button{background:none;border:none;color:#a92332;cursor:pointer;font-weight:700}.expense .formgrid{grid-template-columns:1fr 1fr}.upload{border:2px dashed #cbd2db;padding:28px;border-radius:10px;text-align:center;cursor:pointer;color:#3b4c5f;background:#fbfcff}.upload input{display:block;margin:13px auto 0;width:100%;max-width:300px}.hint{color:#687586;font-size:13px;line-height:1.6}.receipts{padding-left:23px;color:#39485b}.receipts li{margin:8px 0;overflow-wrap:anywhere}.signature{border:1px solid #cbd2da;border-radius:9px;margin:12px 0;background:#fff;touch-action:none}.signature canvas{display:block;width:100%;height:160px;touch-action:none}.final{margin-top:0;margin-bottom:18px}.notice{background:#fff0f0;border:1px solid #e9a4a9;padding:14px;border-radius:8px;margin:20px 0}footer{padding:24px 0 40px;color:#77818e;font-size:13px}footer a{color:inherit}@media(max-width:600px){.formgrid,.expense .formgrid{grid-template-columns:1fr}.formgrid .span2{grid-column:span 1}.panel{padding:18px}.header h1{font-size:26px}.header-inner{flex-direction:column}.checks{display:block}.checks>*{margin:10px 0}fieldset{flex-wrap:wrap}}

/* v1.1: Dark theme overrides */
:root{color-scheme:dark;color:#edf0f7;background:#0d111a}
body{background:#0d111a;color:#edf0f7}
.header{background:#151b27;border-bottom-color:#2b3545}
.header p,.section-title p,.hint,.summary small,footer{color:#aab7c9}
.eyebrow{color:#ff6678}.admin-link,.header a{color:#cbd9ee}
.panel{background:#181f2d;border-color:#303b4e;box-shadow:0 8px 28px #0003}
.step{background:#d43e50}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select{background:#101725;color:#f1f5fa;border-color:#465269}
input::placeholder{color:#8190a6}input:focus,select:focus{outline-color:#ff7587;border-color:#ff7587}
input[type=checkbox],input[type=radio]{accent-color:#eb5063}
.btn{background:#253044;color:#e7eef9;border-color:#45536b}
.btn:hover{filter:brightness(1.12)}
.primary{background:#d3374c;color:#fff;border-color:#ed5065}
.summary,.expense{background:#111827;border-color:#354257}
.expense-header button{color:#ff8794}
.upload{color:#dce8f8;background:#111b2a;border-color:#55647d}
.receipts{color:#cfdaea}
.signature{background:#fff;border-color:#55647d}
.notice{background:#4c222b;border-color:#b95768;color:#ffebee}
footer a{color:#b5c6e0}
:focus-visible{outline:2px solid #ff7889;outline-offset:3px}

/* v1.2: removable receipt items */
.receipt-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #354257}
.receipt-item span{min-width:0;overflow-wrap:anywhere}
.receipt-remove{flex-shrink:0;border:1px solid #704957;background:#42232e;color:#ffe4e8;border-radius:7px;padding:7px 11px;font-weight:700;cursor:pointer}
.receipt-remove:hover{background:#63313e}

/* v1.4: distinct camera picker for iOS */
