:root{--bg:#f7f1ef;--surface:#fff;--text:#2a1a1d;--muted:#735e62;--border:#eee1df;--border-strong:#e2d1cf;--danger:#b8282f;--brand:#6f1827;--brand-dark:#4a0f1b;--brand-hover:#5a1220;--brand-soft:#fbeef0;--brand-line:#f1d3d8;--brand-line-mid:#e9b9c1;--brand-line-strong:#e4a9b3;--accent:var(--brand);--ok-bg:#e2f1e7;--ok-fg:#1d6a3d;--ok-solid:#2e8b57;--low-bg:#fcedc8;--low-fg:#7a4a00;--low-solid:#e0a21a;--over-bg:#fde2e1;--over-fg:#a61e28;--over-solid:#db3e45;--info-bg:#e3ecf6;--info-fg:#24486e;--radius:16px;--radius-sm:10px;--shadow:0 16px 40px #4a0f1b24}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Figtree,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}h1,h2,h3,p{margin-top:0}h1{color:var(--brand-dark);margin-bottom:6px;font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:600;line-height:1.2}h2{margin-bottom:14px;font-size:17px;font-weight:700}a{color:var(--brand)}a:hover{color:var(--brand-dark)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.serif{font-family:Fraunces,Georgia,serif}.error{color:var(--over-fg);background:var(--over-bg);border-radius:var(--radius-sm);margin:8px 0;padding:8px 12px;font-size:14px;font-weight:600}.muted{color:var(--muted)}button{font:inherit;cursor:pointer}button:not(.chip):not(.bell):not(.link):not(.plain),.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:#3a2428;white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}button:not(.chip):not(.bell):not(.link):not(.plain):hover,.btn:hover{background:#fdf7f7}.btn{text-decoration:none}button[type=submit],.pri,.primary{background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}button[type=submit]:hover,.pri:hover,.primary:hover{background:var(--brand-hover)!important}.hot{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}button:disabled{opacity:.5;cursor:default}button.sm,.btn.sm{border-radius:9px;height:34px;padding:0 12px;font-size:13px}button.ghost{background:0 0;border-color:#0000}label{color:#56403f;gap:6px;font-size:13px;font-weight:700;display:grid}input,select,textarea{font:inherit;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;min-width:0;height:40px;padding:0 12px;font-size:14px;font-weight:400}textarea{height:auto;padding:10px 12px}input[type=checkbox]{width:16px;height:auto;accent-color:var(--brand)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}input::placeholder{color:#a89699}table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%;overflow:hidden}th{color:#7a6468;text-transform:uppercase;letter-spacing:.05em;text-align:left;background:#fff;border-bottom:1px solid #f0e5e3;padding:12px 18px;font-size:12px;font-weight:700}td{text-align:left;border-bottom:1px solid #f4ebe9;padding:12px 18px;font-size:14px}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}tbody tr:hover td{background:#fdf6f7}td button,td .btn{height:32px;margin-right:4px;padding:0 10px;font-size:13px}dl{border:1px solid var(--border);border-radius:var(--radius);background:#fff;grid-template-columns:max-content 1fr;gap:8px 24px;margin:0;padding:18px 22px;display:grid}dt{color:var(--muted);font-size:13px;font-weight:600}dd{margin:0;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.stack{gap:18px;display:grid}.notice{background:var(--low-bg);color:var(--low-fg);border-radius:var(--radius-sm);margin:8px 0;padding:10px 14px;font-size:14px;font-weight:600}.pill{font-variant-numeric:tabular-nums;border-radius:12px;justify-content:center;align-items:baseline;gap:5px;min-width:6.4rem;padding:4px 12px;font-size:16px;font-weight:800;display:inline-flex}.pill small{opacity:.8;font-size:12px;font-weight:600}.pill.ok,.tile.ok{background:var(--ok-bg);color:var(--ok-fg)}.pill.low,.tile.low{background:var(--low-bg);color:var(--low-fg)}.pill.over,.tile.over{background:var(--over-bg);color:var(--over-fg)}.meter{background:#f1e7e5;border-radius:999px;width:7rem;height:6px;display:block;overflow:hidden}.meter .fill{border-radius:999px;height:100%;display:block}.fill.ok{background:var(--ok-solid)}.fill.low{background:var(--low-solid)}.fill.over{background:repeating-linear-gradient(135deg,#db3e45 0 5px,#ef8a8e 5px 10px)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#56403f;background:#fff;border:1px solid #e6d6d4;border-radius:999px;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.chip:hover{border-color:#c9afad}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.chip .cnt{opacity:.75;font-weight:700}.tag{white-space:nowrap;color:#5e4a4d;background:#f4edec;border-radius:6px;align-items:center;height:22px;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}.tag.moved,.tag.cancel{background:var(--danger);color:#fff}.tag.makeup{background:var(--info-bg);color:var(--info-fg)}.tag.over{background:var(--over-bg);color:var(--over-fg)}.tag.review{background:var(--low-bg);color:var(--low-fg)}.badge{height:22px;color:var(--muted);vertical-align:middle;background:#f4edec;border-radius:999px;align-items:center;padding:0 9px;font-family:Figtree,sans-serif;font-size:12px;font-weight:700;display:inline-flex}
