:root{--blue: #003d7d;--yellow: #ffd400;--bg: #f4f6f9;--surface: #ffffff;--text: #16202c;--muted: #5c6b7a;--line: #d8dfe7;--ok: #0f7b3f;--ok-bg: #e6f5ec;--warn: #8a5a00;--warn-bg: #fff5db;--error: #b3261e;--error-bg: #fdeceb;--radius: 12px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #11161c;--surface: #1a212a;--text: #e8edf3;--muted: #9aa8b6;--line: #2d3742;--ok: #62c98c;--ok-bg: #102a1c;--warn: #e2b054;--warn-bg: #2c2312;--error: #f2938c;--error-bg: #2e1817}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}.app{max-width:46rem;margin:0 auto;padding:1rem 1rem calc(5rem + env(safe-area-inset-bottom))}.app__header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start;justify-content:space-between;padding-bottom:.75rem;border-bottom:3px solid var(--yellow)}.app__header h1{margin:0;font-size:1.25rem;color:var(--blue)}@media(prefers-color-scheme:dark){.app__header h1{color:var(--yellow)}}.app__tagline{margin:.25rem 0 0;font-size:.85rem;color:var(--muted)}.app__tools{display:flex;gap:.5rem;align-items:center}.locale{display:flex;gap:.25rem}.steps{display:flex;gap:.25rem;margin:1rem 0;overflow-x:auto}.steps__step{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);font:inherit;font-size:.85rem;white-space:nowrap;cursor:pointer}.steps__step--active{border-color:var(--blue);color:var(--text);font-weight:600}.steps__step:disabled{opacity:.45;cursor:not-allowed}.steps__number{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--line);font-size:.75rem}.steps__step--active .steps__number{background:var(--blue);color:#fff}h2{font-size:1.1rem;margin:0 0 .5rem}h3{font-size:.95rem;margin:1.5rem 0 .5rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.lede{color:var(--muted);margin:0 0 1rem}.stack{display:grid;gap:.6rem}.button{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.7rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.button small{font-size:.78rem;color:var(--muted);font-weight:400}.button--primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.button--primary small{color:#fffc}.button--ghost{border-color:transparent;background:transparent;color:var(--muted)}.button--small{padding:.35rem .7rem;font-size:.85rem}.button:disabled{opacity:.45;cursor:not-allowed}.chip{padding:.3rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer}.chip--active{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:600}.banner{margin:.75rem 0;padding:.65rem .8rem;border-radius:var(--radius);border-left:4px solid;font-size:.92rem}.banner--ok{background:var(--ok-bg);border-color:var(--ok)}.banner--warn{background:var(--warn-bg);border-color:var(--warn)}.banner--error{background:var(--error-bg);border-color:var(--error)}.banner__detail{display:block;font-size:.8rem;opacity:.8}.note{font-size:.85rem;color:var(--muted);margin:.5rem 0}.note--warn{color:var(--warn)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem;margin-bottom:.7rem}.card--pending,.card--warn{border-left:4px solid var(--warn)}.card--error{border-left:4px solid var(--error)}.pill--error{background:var(--error-bg);color:var(--error)}.card--suggestions{border-left:4px solid var(--blue)}.card__header{display:flex;gap:.5rem;align-items:flex-start;justify-content:space-between}.card__header>div:first-child{min-width:0}.card__footer{margin-top:.6rem;padding-top:.5rem;border-top:1px dashed var(--line);font-size:.88rem;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.5rem;margin-top:.6rem}.field{display:flex;flex-direction:column;gap:.15rem;min-width:0}.field__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.field__input{width:100%;padding:.45rem .5rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-variant-numeric:tabular-nums}.field__input:focus{outline:2px solid var(--blue);outline-offset:1px}.field--invalid .field__input{border-color:var(--error);background:var(--error-bg)}.field__hint{font-size:.72rem;color:var(--muted)}.issues{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.35rem}.issues--compact{font-size:.85rem}.issue{padding:.4rem .55rem;border-radius:8px}.issue--error{background:var(--error-bg);color:var(--error)}.issue--warning{background:var(--warn-bg);color:var(--warn)}.suggestions{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.4rem}.suggestions li{display:flex;gap:.5rem;align-items:center;justify-content:space-between;font-size:.9rem}.suggestions small{display:block;color:var(--muted);font-size:.78rem}.raw,.lines,.allocations{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.35rem}.raw li,.raw-text{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem;white-space:pre-wrap;word-break:break-word;color:var(--muted)}.people{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.75rem}.person{display:flex;align-items:center;gap:.35rem;padding:.25rem .4rem;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.person__swatch{width:.85rem;height:.85rem;border-radius:50%;flex:none}.person__name{width:6.5rem;border:none;background:transparent;color:var(--text);font:inherit;font-size:.9rem}.person__name:focus{outline:none;border-bottom:1px solid var(--blue)}.pages{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.pages__item{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.pages__item>div:first-child{flex:1 1 auto;min-width:0}.pages__item--poor{border-left:4px solid var(--warn)}.row-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.modes{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.pill{flex:none;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;white-space:nowrap}.pill--pending{background:var(--warn-bg);color:var(--warn)}.pill--done{background:var(--ok-bg);color:var(--ok)}.allocations li{display:flex;align-items:center;gap:.5rem}.allocations__who{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.allocations__who--all{border-color:var(--blue);background:var(--ok-bg);font-weight:600}.allocations__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepper{display:flex;align-items:center;gap:.4rem}.stepper button{width:2rem;height:2rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-size:1.1rem;cursor:pointer}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper span{min-width:1.5rem;text-align:center;font-variant-numeric:tabular-nums}.muted{color:var(--muted);font-size:.85rem}.result__who{display:flex;align-items:center;gap:.45rem}.result__total{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.breakdown{width:100%;margin-top:.6rem;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums}.breakdown th{text-align:right;font-weight:500;color:var(--muted);font-size:.75rem;text-transform:uppercase}.breakdown th:first-child,.breakdown td:first-child{text-align:left}.breakdown td{text-align:right;padding:.2rem 0;border-top:1px solid var(--line)}.lines li{display:flex;justify-content:space-between;gap:.75rem;font-size:.88rem}.lines small{color:var(--muted)}.progress{display:grid;gap:.35rem;margin:1rem 0;font-size:.9rem}.progress progress{width:100%}.tips{margin-top:1.25rem;font-size:.88rem;color:var(--muted)}.tips summary{cursor:pointer}.app__footer{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.app__footer .button{flex-direction:row}.app__footer .muted{display:none}@media(min-width:30rem){.app__footer .muted{display:inline}}
