:root{--bg: #f4f5f7;--panel: #ffffff;--ink: #1a1c1f;--ink-soft: #5b6068;--line: #e2e4e8;--brand: #d10a10;--brand-ink: #ffffff;--accent: #0a6bd1;--ok: #1a7f43;--warn: #b5480b;--highlight: #fff5f5;--input-bg: #ffffff;--shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 6px 20px rgba(0, 0, 0, .05);--radius: 12px}@media (prefers-color-scheme: dark){:root{--bg: #14161a;--panel: #1d2025;--ink: #e9ebef;--ink-soft: #9aa0aa;--line: #2c313a;--brand: #ff3b3b;--accent: #4da3ff;--ok: #4ecb7d;--warn: #f0a05a;--highlight: #2a1f20;--input-bg: #14161a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 20px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{max-width:1240px;margin:0 auto;padding:24px 20px 60px}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.app-header h1{margin:0;font-size:22px;letter-spacing:-.02em}.app-header h1:before{content:"";display:inline-block;width:10px;height:20px;background:var(--brand);margin-right:10px;vertical-align:-3px;border-radius:2px}.sub{margin:4px 0 0;color:var(--ink-soft);font-size:13px}.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-soft);padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:20px}@media (max-width: 880px){.grid-2{grid-template-columns:1fr}}.col{display:flex;flex-direction:column;gap:20px;min-width:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{margin:0;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.no-fieldset{border:0;margin:0;padding:0;min-width:0}.lock-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--line)}.lock-bar.is-locked{background:color-mix(in srgb,var(--panel) 84%,var(--brand) 16%);border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.lock-bar.is-unlocked{background:color-mix(in srgb,var(--panel) 86%,var(--ok) 14%);border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}.lock-msg{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink)}.lock-icon{font-size:18px;line-height:1}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{font-size:12px;font-weight:600;color:var(--ink-soft)}.field-label .unit{font-weight:400;font-style:normal;opacity:.7}.field-hint{font-size:11px;color:var(--ink-soft)}.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:var(--ink);font:inherit}.input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px;border-color:var(--accent)}.input:disabled{opacity:.6}.input.tight{padding:5px 7px;font-size:13px}textarea.input{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.weight-row{display:flex;align-items:center;gap:10px}.weight-row .input{flex:1}.checkbox{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-soft);white-space:nowrap}.stats{display:flex;flex-direction:column}.stat-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}.stat-row:last-child{border-bottom:none}.stat-row.strong{font-weight:700;font-size:15px}.stat-row.strong .mono{color:var(--brand)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.strong{font-weight:700}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);background:color-mix(in srgb,var(--panel) 92%,var(--ink) 8%)}.table tbody tr:hover{background:color-mix(in srgb,var(--panel) 94%,var(--ink) 6%)}.table tr.highlight,.table tr.highlight:hover{background:var(--highlight)}.table td.strong,.table td .strong{color:var(--brand)}.use-for{font-size:11px;font-weight:400;color:var(--ink-soft);white-space:normal;max-width:190px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:8px}.table-scroll .table td .input{min-width:84px}.table-scroll .table td:first-child .input{min-width:120px}.table.batch{min-width:1400px}.table.batch .input.tight{width:92px}.sticky-col{position:sticky;left:0;background:var(--panel);z-index:1}.table.batch thead .sticky-col{background:color-mix(in srgb,var(--panel) 92%,var(--ink) 8%);z-index:2}.table tfoot td{border-top:2px solid var(--line);border-bottom:none}.warn{color:var(--warn)}.ok{color:var(--ok)}.totals-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px}.card{background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.card span{font-size:12px;color:var(--ink-soft)}.card strong{font-size:17px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.note{font-size:12px;color:var(--ink-soft);background:color-mix(in srgb,var(--panel) 90%,var(--accent) 10%);border-left:3px solid var(--accent);padding:8px 10px;border-radius:4px;margin:0 0 14px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:6px 12px;border-radius:8px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.ghost{background:transparent}.btn.icon{padding:2px 8px;font-size:16px;line-height:1;color:var(--ink-soft)}.btn.icon:hover{color:var(--brand);border-color:var(--brand)}.app-footer{margin-top:30px;padding-top:16px;border-top:1px solid var(--line)}.app-footer p{margin:0;font-size:12px;color:var(--ink-soft);max-width:70ch}@media (max-width: 900px){.fields{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width: 640px){.app{padding:16px 12px 48px}.app-header{gap:10px;margin-bottom:14px}.app-header h1{font-size:18px}.app-header h1:before{width:8px;height:16px;margin-right:8px;vertical-align:-2px}.sub{font-size:12px}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;padding:10px 12px;font-size:13px;white-space:nowrap}.grid-2,.col{gap:14px}.panel{padding:14px 12px;border-radius:10px}.panel-head{flex-wrap:wrap;margin-bottom:12px}.head-actions{width:100%}.fields{grid-template-columns:1fr;gap:10px}.input,.input.tight{font-size:16px;padding:9px 10px}textarea.input{font-size:13px}.weight-row{flex-wrap:wrap}.weight-row .input{flex:1 1 120px}.stat-row{font-size:13px;gap:8px}.stat-row.strong{font-size:14px}.table th,.table td{padding:6px 7px}.use-for{max-width:150px;font-size:10px}.totals-cards{grid-template-columns:1fr 1fr;gap:8px}.card strong{font-size:15px}.lock-bar{padding:10px 12px}.lock-bar .btn{width:100%}.app-footer{margin-top:20px}}@media (max-width: 380px){.totals-cards{grid-template-columns:1fr}}
