:root{--brand:#d6001c;--brand-hover:#b80018;--brand-tint:#fdecee;--brand-ink:#a80016;--bg:#f4f5f7;--surface:#fff;--surface-2:#f8f9fb;--surface-3:#eef0f3;--border:#e3e5e9;--border-strong:#cdd1d8;--text:#16181d;--text-2:#555b66;--text-3:#868c97;--success:#11805b;--success-tint:#e4f5ee;--warning:#9a5a06;--warning-tint:#fff3e0;--danger:#c4122f;--danger-tint:#fdecee;--info:#1d5bbf;--info-tint:#e8f0fc;--sidebar:#15171b;--sidebar-2:#1f2228;--sidebar-text:#c9ccd2;--sidebar-muted:#8a8f99;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280d;--shadow-lg:0 12px 32px #10182829, 0 2px 6px #10182814;--focus:0 0 0 3px #d6001c38;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--brand:#ff3b4f;--brand-hover:#ff5a6b;--brand-tint:#3a1418;--brand-ink:#ff8a95;--bg:#0f1114;--surface:#171a1f;--surface-2:#1c1f25;--surface-3:#252931;--border:#2a2e36;--border-strong:#3a3f49;--text:#eceef1;--text-2:#a7adb7;--text-3:#7a808b;--success:#3ccf98;--success-tint:#12302a;--warning:#f2b04f;--warning-tint:#33270f;--danger:#ff6b7d;--danger-tint:#3a1418;--info:#79a8ff;--info-tint:#16243c;--sidebar:#0b0c0e;--sidebar-2:#17191d;--shadow:0 1px 2px #0006;--shadow-lg:0 16px 40px #0000008c;--focus:0 0 0 3px #ff3b4f4d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}a.link{color:var(--brand-ink);font-weight:500;text-decoration:none}a.link:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650}h1{font-size:22px}h2{font-size:16px}h3{font-size:14px}p{margin:0}code,.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.right{text-align:right}.nowrap{white-space:nowrap}.positive{color:var(--success)}.negative{color:var(--danger)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{grid-template-columns:248px 1fr;min-height:100%;display:grid}.sidebar{background:var(--sidebar);height:100vh;color:var(--sidebar-text);flex-direction:column;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:#fff;align-items:center;gap:10px;padding:2px 8px 18px;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#d6001c;border-radius:8px;place-items:center;width:32px;height:32px;font-size:17px;font-weight:800;display:grid}.brand-name{font-size:15px;font-weight:700;line-height:1.15}.brand-sub{color:var(--sidebar-muted);font-size:12px;font-weight:500;display:block}.nav-section{color:var(--sidebar-muted);letter-spacing:.06em;text-transform:uppercase;margin:14px 10px 6px;font-size:11px;font-weight:600}.nav-link{color:var(--sidebar-text);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background:var(--sidebar-2);color:#fff}.nav-link.active{background:var(--sidebar-2);color:#fff;box-shadow:inset 3px 0 #d6001c}.nav-link svg{opacity:.85;flex:none}.nav-count{color:#fff;text-align:center;background:#d6001c;border-radius:999px;min-width:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.sidebar-foot{border-top:1px solid var(--sidebar-2);margin-top:auto;padding:12px 8px 0}.me{align-items:center;gap:10px;display:flex}.avatar{background:var(--surface-3);width:32px;height:32px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.sidebar .avatar{background:var(--sidebar-2);color:#fff}.me-name{color:#fff;font-size:13px;font-weight:600;line-height:1.2}.me-role{color:var(--sidebar-muted);font-size:12px}.sidebar-actions{gap:4px;margin-top:10px;display:flex}.sidebar-actions a,.sidebar-actions button{color:var(--sidebar-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px;font-size:12px;text-decoration:none;display:flex}.sidebar-actions a:hover,.sidebar-actions button:hover{background:var(--sidebar-2);color:#fff}.main{flex-direction:column;min-width:0;display:flex}.topbar{display:none}.content{width:100%;max-width:1320px;margin:0 auto;padding:28px 32px 56px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-head .crumb{color:var(--text-2);align-items:center;gap:4px;margin-bottom:6px;font-size:13px;text-decoration:none;display:inline-flex}.page-head .crumb:hover{color:var(--text)}.page-head .sub{color:var(--text-2);margin-top:4px}.title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.grid-3{grid-template-columns:2fr 1fr;gap:20px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}@media (width<=960px){.shell{grid-template-columns:1fr}.sidebar{z-index:40;width:264px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell.nav-open .sidebar{box-shadow:var(--shadow-lg);transform:none}.scrim{z-index:30;background:#0006;position:fixed;inset:0}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.content{padding:20px 16px 48px}.page-head{flex-direction:column}.grid-2,.grid-3{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0}.card-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 0;display:flex}.card-head .hint{color:var(--text-3);font-size:12px}.card-body{padding:16px 18px 18px}.card-body.flush{padding:12px 0 0}.stat{padding:16px 18px}.stat-label{color:var(--text-2);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:700}.stat-sub{color:var(--text-3);margin-top:2px;font-size:12px}.stat.alert .stat-value{color:var(--brand-ink)}a.stat-link{text-decoration:none;transition:border-color .15s}a.stat-link:hover{border-color:var(--border-strong)}.meter{background:var(--surface-3);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.meter>span{border-radius:inherit;background:var(--brand);height:100%;display:block}.meter.ok>span{background:var(--success)}.meter.warn>span{background:var(--warning)}dl.facts{grid-template-columns:minmax(120px,38%) 1fr;gap:10px 16px;margin:0;display:grid}dl.facts dt{color:var(--text-2)}dl.facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.btn{border:1px solid var(--border-strong);background:var(--surface);height:36px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:focus-visible,.input:focus-visible,.nav-link:focus-visible,.tab:focus-visible{box-shadow:var(--focus);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{border-color:var(--brand);background:var(--brand);color:#fff}.btn.primary:hover:not(:disabled){border-color:var(--brand-hover);background:var(--brand-hover)}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-tint)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn.sm{height:30px;padding:0 10px;font-size:13px}.btn.icon{width:36px;padding:0}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.badge{background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:600;line-height:18px;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge.success{background:var(--success-tint);color:var(--success)}.badge.warning{background:var(--warning-tint);color:var(--warning)}.badge.danger{background:var(--danger-tint);color:var(--danger)}.badge.info{background:var(--info-tint);color:var(--info)}.badge.brand{background:var(--brand-tint);color:var(--brand-ink)}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--border);color:var(--text-2);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px}.form{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid .span-2{grid-column:span 2}.form-section{gap:12px;display:grid}.form-section+.form-section{border-top:1px solid var(--border);padding-top:16px}.form-section h3{color:var(--text-2);letter-spacing:.05em;text-transform:uppercase;font-size:12px}@media (width<=640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.field{align-content:start;gap:6px;min-width:0;display:grid}.field>label,.field>.label{color:var(--text);font-size:13px;font-weight:600}.field .optional{color:var(--text-3);font-weight:400}.field-hint{color:var(--text-3);font-size:12px}.field-error{color:var(--danger);font-size:12px;font-weight:500}.input{border:1px solid var(--border-strong);background:var(--surface);width:100%;height:38px;color:var(--text);font:inherit;border-radius:8px;padding:0 11px}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--brand)}textarea.input{resize:vertical;height:auto;min-height:84px;padding:9px 11px}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23868c97' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.input-group{align-items:stretch;display:flex}.input-group .addon{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);border-right:0;border-radius:8px 0 0 8px;place-items:center;padding:0 10px;font-size:13px;font-weight:600;display:grid}.input-group .addon.after{border:1px solid var(--border-strong);border-left:0;border-radius:0 8px 8px 0}.input-group .input{border-radius:0 8px 8px 0}.input-group .input:not(:last-child){border-radius:8px 0 0 8px}.input-group .addon+.input:not(:last-child){border-radius:0}.check-row{flex-wrap:wrap;gap:8px;display:flex}.check{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;display:inline-flex}.check:has(input:checked){border-color:var(--brand);background:var(--brand-tint);color:var(--brand-ink)}.check input{accent-color:var(--brand);margin:0}.segmented{background:var(--surface-3);border-radius:9px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented button{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;padding:5px 12px;font-size:13px;font-weight:600}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar .search{flex:260px;max-width:380px;position:relative}.toolbar .search svg{color:var(--text-3);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.toolbar .search .input{padding-left:34px}.toolbar select.input,.toolbar input[type=date].input{width:auto;min-width:150px}.toolbar .spacer{flex:1}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-2);text-align:left;white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px}.table tbody tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.table .primary-cell{font-weight:600}.table .sub{color:var(--text-3);font-size:12px;font-weight:400;display:block}.table tfoot td{border-top:1px solid var(--border-strong);border-bottom:0;font-weight:650}.card>.table-wrap .table th:first-child,.card>.table-wrap .table td:first-child{padding-left:18px}.card>.table-wrap .table th:last-child,.card>.table-wrap .table td:last-child{padding-right:18px}.card>.table-wrap:last-child .table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.pager{border-top:1px solid var(--border);color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:13px;display:flex}.empty{color:var(--text-2);text-align:center;justify-items:center;gap:8px;padding:44px 20px;display:grid}.empty svg{color:var(--text-3)}.empty h3{color:var(--text)}.loading-block{color:var(--text-3);place-items:center;padding:48px;display:grid}.skeleton{background:linear-gradient(90deg, var(--surface-3), var(--surface-2), var(--surface-3));background-size:200% 100%;border-radius:6px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tab{color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 12px;font-weight:600;text-decoration:none;display:inline-flex}.tab:hover{color:var(--text)}.tab.active{border-bottom-color:var(--brand);color:var(--text)}.banner{border-radius:var(--radius);background:var(--info-tint);color:var(--info);border:1px solid #0000;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.banner>svg{flex:none;margin-top:2px}.banner .banner-body{color:var(--text);flex:1}.banner.warning{background:var(--warning-tint);color:var(--warning)}.banner.danger{background:var(--danger-tint);color:var(--danger)}.banner.success{background:var(--success-tint);color:var(--success)}.modal-backdrop{z-index:50;background:#0a0c1080;place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{border-radius:var(--radius-lg);background:var(--surface);width:min(560px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.modal.wide{width:min(820px,100%)}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 0;display:flex}.modal-head .sub{color:var(--text-2);margin-top:3px;font-size:13px}.modal-body{padding:18px 20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.toasts{z-index:60;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:12px 14px;animation:.18s ease-out rise;display:flex}.toast.success svg{color:var(--success)}.toast.error svg{color:var(--danger)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.secret{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);gap:10px;padding:14px;display:grid}.secret-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.secret-row .label{color:var(--text-2);font-size:13px}.secret-row .value{font-family:var(--mono);letter-spacing:.02em;overflow-wrap:anywhere;font-size:15px;font-weight:700}.chart{width:100%;height:auto;overflow:visible}.chart .grid line{stroke:var(--border)}.chart .axis text{fill:var(--text-3);font-size:11px}.chart .bar{fill:var(--brand);opacity:.88}.chart .bar:hover,.chart .bar.hot{opacity:1}.chart-tip{min-height:20px;color:var(--text-2);margin-top:6px;font-size:13px}.bars{gap:12px;display:grid}.bar-row{gap:5px;display:grid}.bar-row .bar-label{justify-content:space-between;gap:10px;font-size:13px;display:flex}.bar-track{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.bar-track>span{border-radius:inherit;background:var(--brand);height:100%;display:block}.list{display:grid}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.list-row:last-child{border-bottom:0}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline li{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:4px 12px;padding:11px 0;display:grid}.timeline li:last-child{border-bottom:0}.auth-page{grid-template-columns:minmax(0,1.1fr) minmax(380px,1fr);min-height:100%;display:grid}.auth-art{color:#fff;background:radial-gradient(120% 90% at 0 100%,#d6001c 0%,#7a0010 42%,#15171b 80%);flex-direction:column;justify-content:space-between;padding:40px 48px;display:flex;position:relative;overflow:hidden}.auth-art h2{letter-spacing:-.02em;max-width:460px;font-size:34px;line-height:1.15}.auth-art p{color:#ffffffc7;max-width:440px;margin-top:14px;font-size:15px}.auth-points{gap:10px;margin-top:28px;padding:0;list-style:none;display:grid}.auth-points li{color:#ffffffdb;align-items:center;gap:10px;display:flex}.auth-form{background:var(--surface);place-items:center;padding:40px 24px;display:grid}.auth-card{width:min(380px,100%)}.auth-card h1{margin-bottom:6px}.auth-card .form{margin-top:24px}@media (width<=860px){.auth-page{grid-template-columns:1fr}.auth-art{display:none}}.public-page{min-height:100%;padding:40px 16px 64px}.public-page .inner{width:min(760px,100%);margin:0 auto}.invoice-doc{padding:36px 40px}.invoice-doc header{border-bottom:2px solid var(--brand);justify-content:space-between;gap:24px;padding-bottom:20px;display:flex}.invoice-doc .totals{justify-content:end;margin-top:16px;display:grid}.invoice-doc .totals dl{grid-template-columns:auto auto;gap:6px 32px;margin:0;display:grid}.invoice-doc .totals dd{text-align:right;margin:0}.invoice-doc .totals .grand{border-top:1px solid var(--border-strong);padding-top:6px;font-size:16px;font-weight:700}@media print{body{background:#fff}.sidebar,.topbar,.no-print,.toasts{display:none!important}.shell{display:block}.content{max-width:none;padding:0}.card{box-shadow:none;border:0}.invoice-doc{padding:0}}.live{background:var(--success-tint);color:var(--success);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.live-dot{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}button.tile{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}button.tile:disabled{cursor:default}button.tile:not(:disabled):hover{border-color:var(--border-strong)}.tile-active{box-shadow:inset 0 0 0 2px var(--brand)}.tile-warn .stat-value{color:var(--warning)}.tile-bad .stat-value{color:var(--danger)}.grid-3-even{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}@media (width<=1100px){.grid-3-even{grid-template-columns:1fr}}.table tr.row-critical td{background:var(--danger-tint)}.table tr.row-critical td:first-child{box-shadow:inset 3px 0 0 var(--danger)}
