@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-md:.875rem;--font-size-lg:1rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--line-height-tight:1.2;--line-height-normal:1.5;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:.875rem;--radius-xl:1.125rem;--radius-pill:999px;--border-width:1px;--focus-ring-width:3px;--sidebar-width:16.5rem;--sidebar-width-collapsed:4.75rem;--topbar-height:4rem;--content-max-width:100rem;--control-height-sm:2rem;--control-height-md:2.5rem;--control-height-lg:3rem;--duration-fast:.12s;--duration-normal:.2s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.2, .8, .2, 1);--color-brand-50:#eef2ff;--color-brand-100:#e0e7ff;--color-brand-200:#c7d2fe;--color-brand-500:#6366f1;--color-brand-600:#4f46e5;--color-brand-700:#4338ca;--color-brand-900:#312e81;--color-brand:var(--color-brand-600);--color-brand-hover:var(--color-brand-700);--color-brand-active:var(--color-brand-900);--color-on-brand:#fff;--color-focus-ring:#6366f152;--color-canvas:#f6f7fb;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-subtle:#f9fafb;--color-surface-hover:#f3f4f6;--color-surface-active:var(--color-brand-50);--color-sidebar:#101828;--color-sidebar-hover:#1d2939;--color-sidebar-active:#6366f133;--color-sidebar-text:#f2f4f7;--color-sidebar-muted:#98a2b3;--color-text:#101828;--color-text-secondary:#475467;--color-text-muted:#667085;--color-text-disabled:#98a2b3;--color-icon:#667085;--color-border:#e4e7ec;--color-border-strong:#d0d5dd;--color-overlay:#1018288f;--color-success:#067647;--color-success-bg:#ecfdf3;--color-success-border:#abefc6;--color-warning:#b54708;--color-warning-bg:#fffaeb;--color-warning-border:#fedf89;--color-danger:#b42318;--color-danger-hover:#912018;--color-danger-solid:#d92d20;--color-danger-solid-hover:#b42318;--color-on-danger:#fff;--color-danger-bg:#fef3f2;--color-danger-border:#fecdca;--color-info:#175cd3;--color-info-bg:#eff8ff;--color-info-border:#b2ddff;--color-neutral:#475467;--color-neutral-bg:#f2f4f7;--color-neutral-border:#d0d5dd;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-md:0 8px 24px #1018281a, 0 2px 6px #1018280d;--shadow-lg:0 20px 40px #10182824, 0 4px 12px #1018280f;--shadow-focus:0 0 0 var(--focus-ring-width) var(--color-focus-ring);--bg:var(--color-canvas);--surface:var(--color-surface);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-text-muted);--primary:var(--color-brand);--primary-text:var(--color-on-brand);--error:var(--color-danger);--error-bg:var(--color-danger-bg);--notice:var(--color-success);--notice-bg:var(--color-success-bg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-brand:#818cf8;--color-brand-hover:#a5b4fc;--color-on-brand:#111827;--color-focus-ring:#818cf866;--color-canvas:#090e1a;--color-surface:#111827;--color-surface-subtle:#151d2b;--color-surface-hover:#1f2937;--color-surface-active:#6366f129;--color-sidebar:#070b14;--color-sidebar-hover:#151d2b;--color-sidebar-active:#818cf833;--color-text:#f2f4f7;--color-text-secondary:#d0d5dd;--color-text-muted:#98a2b3;--color-icon:#98a2b3;--color-border:#263244;--color-border-strong:#344054;--color-success:#75e0a7;--color-success-bg:#0676472e;--color-warning:#fec84b;--color-warning-bg:#b547082e;--color-danger:#fda29b;--color-danger-solid:#d92d20;--color-danger-bg:#b423182e;--color-info:#84caff;--color-info-bg:#175cd32e;--bg:var(--color-canvas);--surface:var(--color-surface);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-text-muted);--primary:var(--color-brand);--error:var(--color-danger);--error-bg:var(--color-danger-bg);--notice:var(--color-success);--notice-bg:var(--color-success-bg)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-brand:#818cf8;--color-brand-hover:#a5b4fc;--color-on-brand:#111827;--color-focus-ring:#818cf866;--color-canvas:#090e1a;--color-surface:#111827;--color-surface-subtle:#151d2b;--color-surface-hover:#1f2937;--color-surface-active:#6366f129;--color-sidebar:#070b14;--color-sidebar-hover:#151d2b;--color-sidebar-active:#818cf833;--color-text:#f2f4f7;--color-text-secondary:#d0d5dd;--color-text-muted:#98a2b3;--color-icon:#98a2b3;--color-border:#263244;--color-border-strong:#344054;--color-success:#75e0a7;--color-success-bg:#0676472e;--color-warning:#fec84b;--color-warning-bg:#b547082e;--color-danger:#fda29b;--color-danger-solid:#d92d20;--color-danger-bg:#b423182e;--color-info:#84caff;--color-info-bg:#175cd32e;--bg:var(--color-canvas);--surface:var(--color-surface);--border:var(--color-border);--text:var(--color-text);--muted:var(--color-text-muted);--primary:var(--color-brand);--error:var(--color-danger);--error-bg:var(--color-danger-bg);--notice:var(--color-success);--notice-bg:var(--color-success-bg)}*{box-sizing:border-box}body{background:var(--color-canvas);color:var(--color-text);font-family:var(--font-sans);font-variant-numeric:tabular-nums;margin:0}.app-shell{background:var(--color-canvas);min-height:100vh;display:flex}.app-sidebar__backdrop{background:var(--color-overlay);z-index:15;border:none;padding:0;display:none;position:fixed;inset:0}.app-sidebar{width:var(--sidebar-width);background:var(--color-sidebar);color:var(--color-sidebar-text);padding:var(--space-5) var(--space-3);gap:var(--space-6);flex-direction:column;flex-shrink:0;display:flex}.app-sidebar__brand{align-items:center;gap:var(--space-3);padding:0 var(--space-2);color:var(--color-sidebar-text);display:flex}.app-sidebar__brand-mark{color:var(--color-brand);display:flex}.app-sidebar__brand-copy{flex-direction:column;line-height:1.25;display:flex}.app-sidebar__brand-copy strong{font-size:var(--font-size-lg)}.app-sidebar__brand-copy small{color:var(--color-sidebar-muted);font-size:var(--font-size-xs)}.app-sidebar__nav{gap:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group__label{margin:0 0 var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-sidebar-muted)}.nav-item{align-items:center;gap:var(--space-3);height:2.5rem;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-sidebar-muted);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);text-decoration:none;display:flex}.nav-item:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text)}.nav-item.active,.nav-item--active{background:var(--color-sidebar-active);color:#fff;box-shadow:inset 3px 0 0 var(--color-brand)}.nav-item .nav-icon{color:currentColor;opacity:.9;flex-shrink:0}.nav-item__label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.nav-item__status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-sidebar-text);border-radius:var(--radius-pill);background:#ffffff1f;padding:1px 7px}.app-sidebar__footer{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid #ffffff14;flex-direction:column;display:flex}.account-switcher{align-items:center;gap:var(--space-3);width:100%;color:var(--color-sidebar-text);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);text-align:left;background:0 0;border:none;display:flex}.account-switcher:hover{background:var(--color-sidebar-hover)}.account-switcher__avatar{border-radius:var(--radius-pill);background:var(--color-brand);width:2rem;height:2rem;color:var(--color-on-brand);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.account-switcher__copy{flex-direction:column;flex:1;line-height:1.25;display:flex;overflow:hidden}.account-switcher__copy strong{font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-switcher__copy small{color:var(--color-sidebar-muted);font-size:var(--font-size-xs)}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-topbar{height:var(--topbar-height);align-items:center;gap:var(--space-4);padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:5;display:flex;position:sticky;top:0}.app-topbar__context p{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.app-topbar__context h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.app-topbar__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.mobile-nav-toggle{display:none}.icon-button{width:var(--control-height-md);height:var(--control-height-md);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-icon);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.icon-button:hover{background:var(--color-surface-hover)}.content{padding:var(--space-6);max-width:var(--content-max-width);flex:1;width:100%;margin:0 auto}.page h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-top:0}.kpi-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.kpi-card__label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.kpi-card__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.kpi-card__hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.kpi-card__hint.warn{color:var(--color-warning)}.kpi-card__value.warn{color:var(--color-danger)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-5);margin-bottom:var(--space-5)}.card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-top:0}.inline-form{gap:var(--space-4);flex-direction:column;display:flex}.form-row{gap:var(--space-4);flex-wrap:wrap;display:flex}label{gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);min-width:10rem;font-weight:var(--font-weight-medium);flex-direction:column;flex:1;display:flex}input,select,button{font:inherit;padding:0 var(--space-3);height:var(--control-height-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}select[multiple]{min-height:5rem;padding-block:var(--space-2)}input:focus,select:focus,button:focus-visible{border-color:var(--color-brand);box-shadow:var(--shadow-focus);outline:none}button{cursor:pointer;background:var(--color-brand);color:var(--color-on-brand);font-weight:var(--font-weight-semibold);width:fit-content;padding:0 var(--space-4);border:none}button:disabled{opacity:.6;cursor:default}button:not([disabled]):hover{background:var(--color-brand-hover)}.table-wrap{-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);width:100%;overflow-x:auto}.table-wrap .table{border-radius:0}.table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;overflow:hidden}.table th,.table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top;font-size:var(--font-size-md)}.table th{background:var(--color-surface-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--color-surface-hover)}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.actions button{padding:0 var(--space-3);height:var(--control-height-sm);font-size:var(--font-size-sm)}.rate-line{font-size:var(--font-size-sm)}.inline-user-form{gap:var(--space-2);flex-wrap:wrap;display:flex}.inline-user-form input,.inline-user-form select{width:7rem;height:var(--control-height-sm);padding:0 var(--space-2)}.inline-user-form button{height:var(--control-height-sm);padding:0 var(--space-3)}.accounts-cell{min-width:260px}.table.compact th,.table.compact td{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.error{color:var(--color-danger);background:var(--color-danger-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);border:1px solid var(--color-danger-border)}.notice{color:var(--color-success);background:var(--color-success-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);border:1px solid var(--color-success-border)}.warning-list{margin:var(--space-2) 0 0;padding-left:1.1rem}.tariff-grid{gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}.tariff-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.tariff-card__header{flex-direction:column;flex:14rem;gap:2px;min-width:12rem;display:flex}.tariff-card__header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.tariff-card__id{color:var(--color-text-muted);font-size:var(--font-size-xs)}.tariff-card__meta{gap:var(--space-5);flex-wrap:wrap;flex:2 24rem;margin:0;display:flex}.tariff-card__meta>div{min-width:7rem}.tariff-card__meta dt{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.tariff-card__meta dd{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin:2px 0 0}.tariff-card__actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-wrap:wrap;flex:100%;display:flex}@media (width>=1100px){.tariff-card__actions{border-top:none;flex:none;margin-left:auto;padding-top:0}}.tariff-card__actions button,.tariff-card__actions a.button-like{padding:0 var(--space-3);height:var(--control-height-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);cursor:pointer;align-items:center;text-decoration:none;display:inline-flex}.tariff-card__actions button:hover,.tariff-card__actions a.button-like:hover{background:var(--color-surface-hover)}.tariff-card__actions .file-input-button{position:relative;overflow:hidden}.tariff-card__actions .file-input-button input[type=file]{opacity:0;cursor:pointer;height:100%;position:absolute;inset:0}.tariff-card__panel{border-top:1px solid var(--color-border);padding-top:var(--space-3);flex:100%}.status-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-2);border-radius:var(--radius-pill);border:1px solid #0000;align-items:center;gap:5px;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge--success{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.status-badge--warning{color:var(--color-warning);background:var(--color-warning-bg);border-color:var(--color-warning-border)}.status-badge--danger{color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.status-badge--info{color:var(--color-info);background:var(--color-info-bg);border-color:var(--color-info-border)}.status-badge--neutral{color:var(--color-neutral);background:var(--color-neutral-bg);border-color:var(--color-neutral-border)}.badge{background:var(--color-brand-50);color:var(--color-brand);border-radius:var(--radius-pill);padding:2px var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}[data-theme=dark] .badge,:root:not([data-theme=light]) .badge{background:var(--color-surface-active)}.link-button{color:var(--color-text-muted);cursor:pointer;height:auto;font-weight:var(--font-weight-regular);background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{color:var(--color-brand);background:0 0}.session-info{align-items:center;gap:var(--space-3);display:flex;position:relative}.change-password{z-index:10;width:260px;box-shadow:var(--shadow-md);position:absolute;top:2.5rem;right:0}.change-password summary{cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm);text-decoration:underline;list-style:none}.change-password summary::-webkit-details-marker{display:none}.change-password form{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.change-password label{gap:var(--space-1);font-size:var(--font-size-sm);flex-direction:column;display:flex}.login-page{background:var(--color-canvas);min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{gap:var(--space-4);flex-direction:column;width:22rem;max-width:100%;display:flex}.login-card h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}code{background:var(--color-surface-subtle);border:1px solid var(--color-border);font-size:.85em;font-family:var(--font-mono);border-radius:4px;padding:1px 6px}details.card summary{cursor:pointer;font-weight:var(--font-weight-semibold)}details.card[open] summary{margin-bottom:var(--space-3)}.balance-cell{gap:var(--space-1);flex-direction:column;align-items:flex-start;display:flex}.balance-value{font-weight:var(--font-weight-semibold)}.balance-toggle{color:var(--color-brand);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);background:0 0;border:none;width:auto;height:auto;padding:0;text-decoration:underline}.balance-form{flex-wrap:nowrap}.balance-form input:first-child{width:5rem}.balance-error{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.invoices-cell{gap:var(--space-1);flex-direction:column;align-items:flex-start;display:flex}.invoices-panel{gap:var(--space-2);flex-direction:column;width:100%;min-width:18rem;display:flex}.invoices-form{flex-wrap:wrap}.invoices-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.invoice-summary{font-size:var(--font-size-xs);text-align:left}.invoice-lines-table{font-size:var(--font-size-xs);margin:var(--space-1) 0 var(--space-2)}.invoice-lines-table th,.invoice-lines-table td{padding:var(--space-2) var(--space-3)}.invoice-lines-empty{margin:var(--space-1) 0 var(--space-2)}@media (width<=900px){.app-sidebar{z-index:20;transition:transform var(--duration-normal) var(--ease-standard);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app-shell[data-mobile-nav=open] .app-sidebar{transform:translate(0)}.app-shell[data-mobile-nav=open] .app-sidebar__backdrop{display:block}.mobile-nav-toggle{width:var(--control-height-md);height:var(--control-height-md);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-icon);background:0 0;justify-content:center;align-items:center;display:flex}.content{padding:var(--space-4)}}
