:root{--bg:#f5f6f8;--surface:#fff;--text:#1f2430;--text-muted:#6b7280;--border:#e3e5ea;--accent:#0f766e;--accent-dark:#0d5f58;--accent-soft:#e6f2f0;--warning-bg:#fef3c7;--warning-border:#f2d98c;--error-bg:#fee2e2;--error-border:#f3b4b4;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,h3{margin:0;line-height:1.2}button{font:inherit;cursor:pointer}input{font:inherit}.app{max-width:920px;margin:0 auto;padding:24px 16px 48px}.header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.brand h1{color:var(--accent-dark);letter-spacing:-.5px;font-size:28px}.tagline{color:var(--text-muted);margin:0;font-size:14px}.year-switcher{align-items:center;gap:4px;margin-inline:auto;display:flex}.year-switcher .year{text-align:center;min-width:72px;font-size:22px;font-weight:600}.header-actions{gap:8px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 14px}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-dark);color:#fff}.btn.ghost{background:0 0}.btn.small{padding:4px 10px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:12px;display:grid}.stat{flex-direction:column;gap:4px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:13px}.stat-value{color:var(--text);font-size:24px;font-weight:700}button.stat-value{text-align:left;background:0 0;border:none;padding:0}.stat-value.editable:hover{color:var(--accent-dark)}.pencil{color:var(--text-muted);font-size:14px}.stat-input{border:1px solid var(--accent);border-radius:6px;width:100%;padding:2px 6px;font-size:22px;font-weight:700}.stat-sub{color:var(--text-muted);font-size:14px}.stat .btn.small{align-self:flex-start;margin-top:8px}.order-value{align-items:center;gap:4px;display:flex}.order-value .stat-value{word-break:break-all;font-size:20px}.settings-panel{margin-bottom:12px}.settings-panel h3{margin-bottom:4px}.reward-form{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.reward-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reward-row label{font-weight:600}.reward-row input,.reward-row select{border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:15px}.reward-row input{text-align:right;width:120px}.percent-helper{color:var(--text-muted);align-items:center;gap:4px;font-size:14px;display:flex}.percent-helper input{width:48px}.error-hint{color:#b91c1c}.reward-actions{gap:8px;display:flex}.progress{background:var(--surface);border:1px solid var(--border);border-radius:999px;height:26px;margin-bottom:20px;position:relative;overflow:hidden}.progress-fill{background:var(--accent-soft);border-right:2px solid var(--accent);transition:width .3s;position:absolute;inset:0 auto 0 0}.progress-label{text-align:center;color:var(--accent-dark);font-size:13px;font-weight:600;line-height:24px;display:block;position:relative}.banner{border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;display:flex}.banner.warning{background:var(--warning-bg);border:1px solid var(--warning-border)}.banner.error{background:var(--error-bg);border:1px solid var(--error-border)}.banner.demo{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-dark)}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.hint{color:var(--text-muted);max-width:480px;font-size:13px}.table-wrap{border-radius:12px;overflow-x:auto}.invoices{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;overflow:hidden}.invoices th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:2px solid var(--border);background:#fafbfc;padding:10px 12px;font-size:12px}.invoices td{border-bottom:1px solid var(--border);padding:8px 12px}.invoices th.num,.invoices td.num{text-align:right}.invoices th.center,.invoices td.center{text-align:center}.invoices td.month{text-transform:capitalize;font-weight:600}.month-row td{background:#eef1f4;border-top:2px solid #d6dae1;font-size:14px}.month-row .month{font-size:15px}.badge-raise{background:var(--accent);color:#fff;text-transform:none;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.month-sum{font-variant-numeric:tabular-nums;font-weight:600}.status{white-space:nowrap;font-size:13px}.status.ok{color:var(--accent-dark)}.status.warn{color:#b45309;font-weight:600}.inv-index{color:var(--text-muted);padding-left:24px;font-size:13px}.pin{opacity:.25;filter:grayscale();background:0 0;border:none;border-radius:6px;padding:2px 4px}.pin:hover{opacity:.7;background:var(--accent-soft)}.pin.pinned{opacity:1;filter:none}.toolbar-buttons{gap:8px;display:flex}.invoices td.amount{white-space:nowrap}.amount-value{font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:6px;padding:2px 4px;font-weight:600}.amount-value:hover{background:var(--accent-soft);color:var(--accent-dark)}.amount-input{text-align:right;border:1px solid var(--accent);border-radius:6px;width:110px;padding:3px 6px}.copy{color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:2px 4px}.copy:hover{color:var(--accent-dark);background:var(--accent-soft)}.invoices td.hours{color:var(--text-muted);white-space:nowrap;font-size:14px}.invoices td.running{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:14px}.invoices input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}tr.issued td{opacity:.55}tr.issued .amount-value{font-weight:400}tr.current td{background:var(--accent-soft)}.setup{max-width:560px;margin:40px auto;padding:24px}.setup h2{margin-bottom:8px}.setup p{color:var(--text-muted);margin-top:0}.setup-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.setup-row label{font-weight:600}.setup-row input{border:1px solid var(--border);border-radius:8px;flex:1;min-width:140px;padding:8px 10px;font-size:18px}.setup .hint{margin-top:12px;display:block}.footer{text-align:center;color:var(--text-muted);margin-top:32px;font-size:13px}.th-short{display:none}@media (width<=680px){.th-full{display:none}.th-short{display:inline}.cards{grid-template-columns:1fr}.header{justify-content:center}.invoices th.running,.invoices td.running{display:none}.inv-index{white-space:nowrap;padding-left:10px;font-size:12px}.status-target{display:none}.month-sum,.invoices td.hours{font-size:13px}.invoices th,.invoices td{padding:7px 4px}.amount-value{padding:2px;font-size:14px}.copy,.pin{padding:2px}.invoices input[type=checkbox]{width:16px;height:16px}}
