:root{--canvas:#f5f4ef;--surface:#fff;--text:#242922;--muted:#666d61;--line:#d7dacf;--accent:#a44429;--accent-hover:#83331e;--focus:#274d69;--danger:#9a241c;--radius:8px}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}button,input,select{font:inherit}button,a,input,summary,select{touch-action:manipulation}button{min-height:46px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 17px;background:var(--surface);color:var(--text);cursor:pointer;transition:background .12s,transform .12s}button:hover{background:#e9ece3}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait;transform:none}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.primary:hover{background:var(--accent-hover)}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:active{opacity:.7}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}input,select{width:100%;background:var(--surface);border:1px solid #9ca493;border-radius:var(--radius);min-height:48px;padding:10px 12px;margin-top:7px;color:var(--text)}input[type=checkbox]{width:20px;min-height:20px;height:20px;margin:0 10px 0 0;accent-color:var(--accent);flex:none}label{display:block;font-size:14px;font-weight:600}p{max-width:64ch}h1,h2,p{margin-top:0}h1{font-size:clamp(34px,4.6vw,62px);line-height:1.04;font-weight:580;letter-spacing:-.045em;margin-bottom:24px}h2{font-size:25px;font-weight:600;letter-spacing:-.025em}.top{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 max(24px,calc((100vw - 1240px)/2))}.brand{text-decoration:none;color:var(--text);font-size:25px;letter-spacing:-1px;font-weight:650}.brand span{color:var(--muted);font-weight:400;margin-left:5px}.top-note{color:var(--muted);font-size:14px}.top #logout{margin-left:auto}main{max-width:1240px;margin:auto;padding:48px 24px 24px}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:40px}.heading>button{flex:none;margin-bottom:8px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:650;color:var(--muted);margin-bottom:18px}.lede{max-width:52ch;color:var(--muted);margin-bottom:0}.layout{border-top:1px solid var(--line);display:grid;grid-template-columns:240px 1fr;gap:48px;padding-top:32px}aside h2{font-size:14px;letter-spacing:0;margin-bottom:16px}nav{display:flex;flex-direction:column;gap:2px}nav button{text-align:left;background:transparent;border:0;display:flex;flex-direction:column;gap:2px;padding:14px}nav button small{font-size:12px;color:var(--muted)}nav button[aria-current=true]{background:#e6e9df;border-left:3px solid var(--accent);border-radius:0 6px 6px 0}nav button[aria-current=true] span{font-weight:650}.text-button{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px}.aside-note,.small{font-size:12px;color:var(--muted);line-height:1.6}.aside-note{padding:12px 14px}#show-project{margin-top:20px}.detail{min-width:0}.detail-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.detail-head .eyebrow{margin-bottom:5px}.detail-head h2{font-size:34px;margin-bottom:12px}.detail-head a{font-size:13px;min-height:44px;display:flex;align-items:center}.description{color:var(--muted);font-size:14px}.steps{padding:22px 0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:24px 0 28px;counter-reset:step;gap:16px}.steps li{font-size:13px}.steps li::before{counter-increment:step;content:"0" counter(step);display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.steps strong{display:block;font-weight:600}.steps span{color:var(--muted);display:block;font-size:12px;margin-top:3px}.subtle{font-weight:400;color:var(--muted)}fieldset{border:0;border-top:1px solid var(--line);margin:28px 0 0;padding:20px 0 0}legend{font-size:15px;font-weight:650;padding:0 12px 0 0}.checks{display:flex;gap:8px 20px;flex-wrap:wrap}.checks label,#projects label,.confirm{display:flex;align-items:center;min-height:44px;font-weight:400}.vertical{flex-direction:column;margin:24px 0}.limits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.actions{display:flex;flex-wrap:wrap;gap:10px}.spending{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px 0;border-top:1px solid var(--line);margin-top:28px}.spending span{font-size:12px;display:block;color:var(--muted)}.spending strong{font-size:16px;font-weight:550;display:block;margin-top:6px}details{border-top:1px solid var(--line);padding:16px 0}summary{font-weight:600;cursor:pointer;min-height:44px;display:list-item;padding:10px 0}details p{font-size:13px;color:var(--muted)}details label{max-width:540px}.confirm{margin:16px 0}.notice{font-size:14px;white-space:pre-wrap;margin-top:16px;color:var(--accent);min-height:24px}.notice.error{color:var(--danger)}.login{max-width:480px;margin:60px auto 120px}.login h1{font-size:42px}.login label{margin:20px 0}.login button{width:100%}footer{border-top:1px solid var(--line);padding-top:20px;margin-top:55px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}#project-form-wrap{border-top:1px solid var(--line);padding-top:28px;margin-top:40px}#project-form{display:flex;align-items:end;gap:20px;flex-wrap:wrap}#project-result-label{max-width:650px;margin:20px 0}[hidden]{display:none!important}@media(max-width:760px){.top{padding:0 20px;height:72px;gap:12px}.top-note{display:none}main{padding:30px 20px 20px}.heading{display:block;padding-bottom:25px}.heading>button{margin-top:24px}.layout{display:block;padding-top:24px}aside{margin-bottom:32px}nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}nav button{font-size:14px}.aside-note{display:none}#show-project{margin-top:12px}.detail-head h2{font-size:30px}.limits{grid-template-columns:1fr}.steps{gap:8px}.steps li{font-size:12px}.steps span{font-size:11px}.actions{flex-direction:column}.spending{grid-template-columns:1fr 1fr}.spending>div:last-child{grid-column:1/-1}.login{margin:40px auto}.login h1{font-size:36px}footer{gap:20px}h1{font-size:42px}.detail-head{align-items:start}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
