:root{--ink: #1b2430;--muted: #5d6b7c;--line: #d9dee5;--bg: #f5f7fa;--brand: #0b5fa5;--ok: #1a7f4b;--warn: #b45309;--bad: #b42318;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}main{max-width:1400px;margin:0 auto;padding:24px 16px 64px}.center{text-align:center;margin-top:18vh}.bar{display:flex;align-items:center;gap:24px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}.bar nav{display:flex;gap:16px}.bar a{color:var(--ink);text-decoration:none}.bar a:hover{color:var(--brand)}.brand{font-weight:700;color:var(--brand)!important}.who{margin-left:auto;color:var(--muted);font-size:14px;display:flex;gap:12px;align-items:center}h1,h2,h3{margin:0 0 12px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:16px}.narrow{max-width:420px;margin-left:auto;margin-right:auto}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spacer{flex:1}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}th{background:#eef2f6;font-size:13px;color:var(--muted)}tr.overdue td:first-child{color:var(--bad);font-weight:600}button,.button{font:inherit;padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;color:var(--ink);text-decoration:none;display:inline-block}button:hover:not(:disabled){border-color:var(--brand)}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}button.danger{color:var(--bad)}button.link{border:0;background:none;color:var(--brand);padding:0}input,select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;width:100%;background:#fff}input.bad{border-color:var(--bad)}input[readonly]{background:#f1f4f8}label{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;font-size:14px}label small{color:var(--muted)}label.inline{flex-direction:row;align-items:center;gap:8px}label.inline input{width:auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 16px}.amounts label{margin-bottom:8px}.amount input{text-align:right;font-variant-numeric:tabular-nums}.amount.calc span{font-weight:600}.pill{font-size:12px;padding:2px 10px;border-radius:999px;background:#e8edf3;color:var(--muted)}.pill.draft{background:#fff4dc;color:var(--warn)}.pill.final{background:#dff5e8;color:var(--ok)}.error{color:var(--bad)}.note{color:var(--muted);font-size:13px}.actions{margin-top:16px}.editor{display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,620px);gap:20px;align-items:start}.editor-preview{position:sticky;top:12px}.preview{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.sheet{position:relative;margin-top:10px;line-height:0}.sheet canvas{border:1px solid var(--line);max-width:100%}.hl{position:absolute;border:2px solid #e11d48;background:#e11d481f;border-radius:3px;pointer-events:none;transition:all .12s}.amounts label span{font-size:13px}@media (max-width: 1000px){.editor{grid-template-columns:1fr}.editor-preview{position:static}}.ok{color:var(--ok)}.check{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:0 0 16px;background:#fff;display:flex;flex-direction:column;gap:6px}.check.ready{border-color:#b7e1c8;background:#f1faf5;color:var(--ok)}.check.blocked{border-color:#f0b9b3;background:#fdf3f2}.check.warn{border-color:#f1d9a4;background:#fffaf0}.issues{margin:4px 0;padding-left:18px;font-size:14px}.issues li{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin:3px 0}.issues.err li span{color:var(--bad)}.issues.wrn li span{color:var(--warn)}.col{display:flex;flex-direction:column;gap:10px;align-items:stretch;margin-top:12px}.problems{margin:4px 0 12px;padding-left:20px;color:var(--bad);font-size:14px}.problems.warn{color:var(--warn)}.problems code{background:#eef2f6;padding:0 4px;border-radius:4px}.review{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:16px 0;background:#fbfcfe}.review td.was{color:var(--bad);text-decoration:line-through}.review td.now{color:var(--ok);font-weight:600}input[readonly],select:disabled{background:#f1f4f8;color:var(--muted)}.switcher{width:auto;max-width:220px;padding:4px 8px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:12px 0 20px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}.stat b{font-size:24px;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:13px}.stat.bad b{color:var(--bad)}.filters{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:end;padding:12px 16px}.filters label{margin:0;min-width:110px}.filters select{width:auto;min-width:110px}.pill.overdue{background:#fde8e6;color:var(--bad)}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:12px 0 16px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 16px}label.button-like{flex-direction:row;margin:0;font:inherit;padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;color:var(--ink)}label.button-like:hover{border-color:var(--brand)}td.num{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 640px){main{padding:16px 16px 48px}table{display:block;overflow-x:auto}}label.flash{animation:flash 3s ease-out;border-radius:8px}@keyframes flash{0%,60%{background:#fff1b8;box-shadow:0 0 0 4px #f5c518}to{background:transparent;box-shadow:0 0 0 4px transparent}}@media (prefers-reduced-motion: reduce){label.flash{animation:none;background:#fff1b8;box-shadow:0 0 0 4px #f5c518}}
