.page{max-width:960px;margin:0 auto;padding:1.25rem 1rem 3rem}.masthead{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem}.masthead h1,.wordmark{margin:.2rem 0 0;font-size:clamp(1.8rem,5vw,2.4rem)}.lede{max-width:40rem;color:var(--muted);margin:0;line-height:1.45}.card,.auth-card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.15rem 1.2rem 1.25rem;box-shadow:0 3px 12px #24352d0f}.auth-card{gap:.9rem;max-width:28rem;display:grid}.auth-card h1,.panel h1,.panel h2{margin:0}.grid{gap:.85rem;display:grid}@media (width>=720px){.grid.two{grid-template-columns:1fr 1fr}}.toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin:.75rem 0 1rem;display:flex}nav.tabs{flex-wrap:wrap;gap:.4rem;display:flex}button,.tab{appearance:none;background:var(--primary);color:var(--surface);cursor:pointer;border:0;border-radius:14px;min-height:48px;padding:.7rem 1rem}button.secondary,button.ghost,.tab{background:var(--primary-soft);color:var(--primary)}button.danger{background:var(--notice-surface);color:var(--notice-ink)}button.link,.tab.link{color:var(--primary);background:0 0;min-height:44px;padding:.45rem .2rem;text-decoration:underline}button:disabled{opacity:.6;cursor:wait}.tab.active{background:var(--primary);color:var(--surface)}.field{color:var(--muted);gap:.35rem;font-size:.92rem;display:grid}.field-input{align-items:center;gap:.5rem;display:flex}.field input,.field select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;flex:1;min-height:48px;padding:.6rem .7rem}.form-error,.status-error{color:var(--notice-ink);margin:0}.status-saved{color:var(--primary)}.status-saving,.muted{color:var(--muted)}.form-footer{color:var(--muted);margin:1rem 0 0;font-size:.92rem}.list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.list button.row,a.row{text-align:left;background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--border);border-radius:14px;justify-content:space-between;gap:.75rem;text-decoration:none;display:flex}.mark-row{border-bottom:1px solid var(--border);gap:.55rem;padding:.85rem 0;display:grid}.mark-row:last-child{border-bottom:0}.mark-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.mark-buttons button{flex:7rem}.mark-buttons button.pending{box-shadow:inset 0 0 0 2px var(--gold)}.counts{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem;display:flex}.counts span{background:var(--primary-soft);border-radius:999px;padding:.35rem .75rem;font-size:.9rem}.notice{background:var(--notice-surface);color:var(--notice-ink);border-radius:14px;padding:.85rem 1rem}.card-detail{color:var(--muted);margin:.4rem 0 0;font-size:.92rem}@media (width<=640px){.page{padding:.85rem .8rem 2.5rem}button,.tab{width:auto}}@font-face{font-family:Lora;src:url(/fonts/Lora-Variable.ttf)format("truetype");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans;src:url(/fonts/NotoSans-Variable.ttf)format("truetype");font-weight:400 700;font-style:normal;font-display:swap}:root{--background:#fff9ee;--surface:#fffcf7;--ink:#24352d;--muted:#59685f;--primary:#386448;--primary-soft:#e5efe6;--accent:#d74642;--notice-ink:#a83230;--notice-surface:#fdecea;--border:#e6e0d5;--gold:#d7ad54;color:var(--ink);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;font-family:Noto Sans,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--background)}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:700}
