:root{--ink: #0b2545;--ink-2: #33475f;--muted: #5b6b80;--bg: #f3f6f9;--card: #ffffff;--line: #d9e1ea;--accent: #1f9d55;--accent-ink: #ffffff;--accent-soft: #e5f5ec;--stop: #c62828;--stop-soft: #fdecec;--warn: #a15c00;--warn-soft: #fff4e0;--note: #2b5a9e;--note-soft: #e9f0fb;--focus: #2b7de9;--bar: #0b2545;--radius: 12px;--shadow: 0 1px 2px rgb(11 37 69 / 6%), 0 2px 8px rgb(11 37 69 / 5%);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink: #e8eef6;--ink-2: #c3cfdc;--muted: #95a4b6;--bg: #0d1520;--card: #142030;--line: #263649;--accent: #2fbf6c;--accent-ink: #06210f;--accent-soft: #123222;--stop: #ff6b6b;--stop-soft: #3a1717;--warn: #f0b155;--warn-soft: #3a2a10;--note: #8db6ff;--note-soft: #172a47;--shadow: none;color-scheme:dark;--bar: #091220}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;-webkit-tap-highlight-color:transparent}a{color:var(--accent)}h1{font-size:1.35rem;margin:0 0 4px}h2{font-size:1.1rem;margin:0 0 8px}h3{font-size:1rem;margin:0 0 6px}p{margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:.87rem}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.right{text-align:right}.row{display:flex;align-items:center;gap:8px}.row.between{justify-content:space-between}.wrap-gap{display:flex;flex-wrap:wrap;gap:8px}.stack>*+*{margin-top:12px}.grow{flex:1;min-width:0}.page{max-width:760px;margin:0 auto;padding:12px 16px 96px}.page.wide{max-width:1100px}.top{position:sticky;top:0;z-index:10;background:var(--bar);color:#fff;padding:max(env(safe-area-inset-top),0px) 0 0}.top .bar{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:10px;height:52px;padding:0 12px}.top a,.top button{color:#fff}.brand{font-weight:700;font-size:1.15rem;text-decoration:none;display:flex;align-items:center;gap:8px}.brand span{color:#5fd391}.top .back{text-decoration:none;font-size:1.5rem;line-height:1;padding:6px 8px 6px 0}.top .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.card+.card{margin-top:12px}.card.tight{padding:10px 12px}.card h2{display:flex;align-items:center;justify-content:space-between;gap:8px}a.card{display:block;color:inherit;text-decoration:none}a.card:active{background:var(--bg)}label{display:block;font-size:.9rem;color:var(--ink-2);margin-bottom:4px;font-weight:500}input,select,textarea{font:inherit;color:inherit;width:100%;min-height:48px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--card)}input[inputmode=decimal],input[inputmode=numeric]:not([type=tel]),input.num{font-variant-numeric:tabular-nums;font-size:1.1rem;text-align:right}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}input[readonly]{background:var(--bg)}input.bad{border-color:var(--stop);background:var(--stop-soft)}input.warn{border-color:var(--warn);background:var(--warn-soft)}.field{margin-bottom:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:380px){.grid3{grid-template-columns:1fr 1fr}}.check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--ink);cursor:pointer}.check input{width:24px;min-height:24px;height:24px;margin:0;flex:none;accent-color:var(--accent)}button,.btn{font:inherit;font-weight:600;min-height:48px;padding:10px 18px;border-radius:10px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.danger{color:var(--stop);border-color:var(--stop)}button.ghost{border-color:transparent;background:transparent}button.small,.btn.small{min-height:36px;padding:4px 12px;font-size:.9rem}button.block,.btn.block{width:100%}button:disabled{opacity:.5;cursor:not-allowed}button.icon{min-width:48px;padding:0;font-size:1.3rem}.actions{position:fixed;left:0;right:0;bottom:0;z-index:9;background:var(--card);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.actions .in{max-width:760px;margin:0 auto;display:flex;gap:10px}.actions .in>*{flex:1}.chip{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:99px;letter-spacing:.02em;white-space:nowrap}.chip.open{background:var(--note-soft);color:var(--note)}.chip.closed,.chip.saved{background:var(--warn-soft);color:var(--warn)}.chip.locked{background:var(--accent-soft);color:var(--accent)}.msg{border-radius:10px;padding:10px 12px;font-size:.95rem;display:flex;gap:10px;align-items:flex-start}.msg+.msg{margin-top:8px}.msg.stop{background:var(--stop-soft);color:var(--stop)}.msg.recheck{background:var(--warn-soft);color:var(--warn)}.msg.note{background:var(--note-soft);color:var(--note)}.msg.ok{background:var(--accent-soft);color:var(--accent)}.msg .tag{font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding-top:2px;flex:none;min-width:64px}.msg .text{color:var(--ink)}.kv{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline}.kv .k{color:var(--muted)}.kv .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.kv .total{border-top:1px solid var(--line);padding-top:6px;margin-top:2px;font-size:1.05rem}.big{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.neg{color:var(--stop)}.pos{color:var(--accent)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}th:first-child,td:first-child{text-align:left}th{font-size:.8rem;color:var(--muted);font-weight:600}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.steps{display:flex;gap:6px;overflow-x:auto;padding:8px 16px;margin:0 -16px 8px;scrollbar-width:none}.steps::-webkit-scrollbar{display:none}.steps a{flex:none;text-decoration:none;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:.9rem;font-weight:600;white-space:nowrap}.steps a.on{background:var(--bar);border-color:var(--bar);color:#fff}.steps a .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;vertical-align:middle}.steps a .dot.stop{background:var(--stop)}.steps a .dot.recheck{background:var(--warn)}.saving{font-size:.8rem;color:var(--muted);min-height:1.2em}.empty{text-align:center;color:var(--muted);padding:24px 8px}hr{border:0;border-top:1px solid var(--line);margin:12px 0}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom));z-index:50;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;max-width:calc(100% - 32px);box-shadow:0 4px 20px #00000040;font-size:.95rem}.toast.err{background:var(--stop);color:#fff}@media print{.top,.actions,.steps,.no-print,.toast{display:none!important}body{background:#fff;color:#000}.page{max-width:none;padding:0}}.print-only{display:none}@media print{.print-only{display:block}.card{box-shadow:none;border:0;padding:0}a{color:inherit;text-decoration:none}}
