:root{--primary: #2f5597;--primary-hover: #24447a;--primary-soft: #eef1f6;--ink: #0f172a;--muted: #64748b;--border: #e2e8f0;--bg: #f5f6f8;--surface: #ffffff;--surface-alt: #fbfbfc;--surface-hover: #eff4ff;--surface-disabled: #f8fafc;--surface-zebra: #fafbfc;--rail-bg: #1b212c;--rail-ink: #b8bfc9;--rail-accent: var(--primary);--rail-accent-soft: var(--primary-soft);--success: #15803d;--success-soft: #f0fdf4;--danger: #dc2626;--danger-soft: #fef2f2;--warning: #92600a;--warning-soft: #faf3e6;--info: #1d4ed8;--info-soft: #eff6ff;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--app-zoom: 1;--font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-theme=dark]{--ink: #e5e7eb;--muted: #94a3b8;--border: #2d3644;--bg: #0f1420;--surface: #171d29;--surface-alt: #131923;--surface-hover: #1c2433;--surface-disabled: #1a2028;--surface-zebra: #141a25;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5)}:root[data-palette=forest_green]{--primary: #1f7a4d;--primary-hover: #175c3a;--primary-soft: #eaf6ef}:root[data-palette=royal_purple]{--primary: #5b3a9e;--primary-hover: #472e7d;--primary-soft: #f1ecf9}:root[data-palette=slate_graphite]{--primary: #3f4b5e;--primary-hover: #313b4a;--primary-soft: #eef0f3}:root[data-palette=crimson_red]{--primary: #a4243b;--primary-hover: #84172c;--primary-soft: #faeaec}:root[data-theme=dark]{--success: #22c55e;--success-soft: #0f2318;--danger: #f87171;--danger-soft: #2a1418;--warning: #eab308;--warning-soft: #2a2410;--info: #60a5fa;--info-soft: #101c2e}:root[data-palette=default_blue][data-theme=dark]{--primary: #5b8fd6;--primary-hover: #4a78b8;--primary-soft: #16233a}:root[data-palette=forest_green][data-theme=dark]{--primary: #34a06b;--primary-hover: #2a8459;--primary-soft: #12291d}:root[data-palette=royal_purple][data-theme=dark]{--primary: #8b6cd8;--primary-hover: #7256b8;--primary-soft: #20182f}:root[data-palette=slate_graphite][data-theme=dark]{--primary: #8f9db3;--primary-hover: #727f92;--primary-soft: #1c212b}:root[data-palette=crimson_red][data-theme=dark]{--primary: #d1596f;--primary-hover: #b53f56;--primary-soft: #2c1418}:root[data-density=compact]{--app-zoom: .9}:root[data-density=standard]{--app-zoom: 1}:root[data-density=comfortable]{--app-zoom: 1.08}:root[data-font=inter]{--font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-font=system]{--font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-rail-accent=none]{--rail-accent: var(--primary);--rail-accent-soft: var(--primary-soft)}:root[data-rail-accent=teal]{--rail-accent: #0d9488;--rail-accent-soft: #ecfdf9}:root[data-rail-accent=violet]{--rail-accent: #7c3aed;--rail-accent-soft: #f3ecfd}:root[data-rail-accent=amber]{--rail-accent: #b45309;--rail-accent-soft: #fdf3e2}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-family);zoom:var(--app-zoom);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}.form-banner{display:flex;flex-direction:column;gap:4px;margin:0 0 16px;padding:12px 14px;background:var(--danger-soft);border:1px solid var(--danger);border-left:4px solid var(--danger);border-radius:8px;color:var(--danger);font-size:13px}.form-banner b{font-weight:700;font-size:13px}.form-banner ul{margin:2px 0 0;padding-left:20px}.form-banner li{margin:1px 0}.ferr{display:block;margin-top:4px;font-style:normal;font-size:11.5px;font-weight:500;color:var(--danger)}.fwarn{display:block;margin-top:4px;font-style:normal;font-size:11.5px;font-weight:500;color:var(--warning)}.invalid,input.invalid,select.invalid,textarea.invalid{border-color:var(--danger)!important}.invalid:focus,input.invalid:focus,select.invalid:focus,textarea.invalid:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 12%,transparent)!important}input[type=date],input[type=time],input[type=datetime-local]{min-width:118px!important}.page{padding:24px 28px 48px}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}.head h1{margin:0 0 4px;font-size:23px;font-weight:700}.head p{margin:0;max-width:720px;color:var(--muted);font-size:13.5px;line-height:1.6}.head__actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search{position:relative}.search__icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.6}.search input{width:220px;padding:8px 12px 8px 32px;font-size:13px;border:1px solid var(--border);border-radius:8px}.search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.btn{padding:9px 14px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--bg)}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn--primary:hover{filter:brightness(.92)}.btn--sm{padding:3px 10px;font-size:11.5px}.btn:disabled,.btn--primary:disabled,.btn--sm:disabled{opacity:.6;cursor:default}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.card--pad{padding:18px 20px;overflow:visible;display:flex;flex-direction:column;gap:14px}.card__head{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary)}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid thead th{text-align:left;padding:11px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-alt);border-bottom:1px solid var(--border);white-space:nowrap}table.grid th.num,table.grid td.num{text-align:right}table.grid th.center,table.grid td.center{text-align:center}table.grid td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}table.grid tbody tr:hover td{background:var(--surface-zebra)}table.grid td.empty{text-align:center;color:var(--muted);padding:40px}.mini,.del{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:7px;background:var(--surface);cursor:pointer;font-size:12px}.mini{color:var(--primary);margin-right:4px}.mini:hover{background:var(--primary-soft)}.del{color:var(--muted)}.del:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}table.lines .line-view,table.lines .del{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:7px;background:none;color:var(--muted);cursor:pointer;margin-right:4px}table.lines .line-view:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}table.lines .del:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.badge{display:inline-block;padding:2px 10px;font-size:11.5px;font-weight:600;border-radius:999px;white-space:nowrap}.badge--draft{background:var(--primary-soft);color:#4338ca}.badge--success{background:var(--success-soft);color:var(--success)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--info{background:var(--info-soft);color:var(--info)}.scard{background:var(--surface);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:4px}.scard__label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.scard__val{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.scard__sub{font-size:12px;color:var(--muted)}table.lines{width:100%;border-collapse:collapse;font-size:12.5px}table.lines th.num,table.lines td.num{text-align:right}table.lines th.center,table.lines td.center{text-align:center}table.lines thead th{background:var(--primary-soft);color:var(--ink);text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:11px 8px;white-space:nowrap;border-bottom:1px solid var(--border)}table.lines thead th:first-child{padding-left:14px}table.lines tbody td{padding:3px 6px;border-bottom:1px solid var(--border);vertical-align:middle}table.lines tbody td:first-child{padding-left:14px}.c-x{width:62px;white-space:nowrap}table.lines input,table.lines select{width:100%;padding:7px;font-size:12.5px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink)}table.lines input:hover,table.lines select:hover{border-color:var(--border)}table.lines input:focus,table.lines select:focus{outline:none;background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 8%,transparent)}@media print{.sidebar,.topbar,.no-print{display:none!important}.content{overflow:visible!important}}
