:root{--ai-color-bg:#f5f7fb;--ai-color-bg-elevated:#fff;--ai-color-bg-subtle:#f8f9fa;--ai-color-border:#e9ecef;--ai-color-border-subtle:#dee2e6;--ai-color-text:#212529;--ai-color-text-secondary:#5a6169;--ai-color-text-tertiary:#adb5bd;--ai-color-bg-dark:#1a2232;--ai-color-bg-elevated-dark:#222e3c;--ai-color-bg-subtle-dark:#2b3849;--ai-color-border-dark:#38455a;--ai-color-border-subtle-dark:#46556d;--ai-color-text-dark:#f8f9fa;--ai-color-text-secondary-dark:#adb5bd;--ai-color-text-tertiary-dark:#6c757d;--ai-color-rail:#222e3c;--ai-color-rail-header:#1c2733;--ai-color-rail-text:rgba(233,236,239,.55);--ai-color-rail-text-hover:#e9ecef;--ai-color-rail-active:#fff;--ai-color-rail-active-bg:hsla(0,0%,100%,.06);--ai-color-accent:#3b7ddd;--ai-color-accent-hover:#326fc7;--ai-color-accent-focus:#3b7ddd;--ai-color-accent-ring:rgba(59,125,221,.25);--ai-color-accent-soft:#e8f0fc;--ai-color-ok:#28a745;--ai-color-ok-bg:#e8f6ec;--ai-color-ok-bg-dark:#14432420;--ai-color-warning:#fd7e14;--ai-color-warning-bg:#fff2e6;--ai-color-warn-bg-dark:#5c320b;--ai-color-critical:#dc3545;--ai-color-critical-bg:#fbe9eb;--ai-color-critical-bg-dark:#58202a;--ai-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--ai-font-display-size:24px;--ai-font-display-line:32px;--ai-font-display-weight:600;--ai-font-heading-size:16px;--ai-font-heading-line:24px;--ai-font-heading-weight:600;--ai-font-body-size:14px;--ai-font-body-line:21px;--ai-font-body-weight:400;--ai-font-caption-size:13px;--ai-font-caption-line:18px;--ai-font-caption-weight:400;--ai-font-mono-size:12px;--ai-font-mono-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--ai-space-0:0;--ai-space-1:4px;--ai-space-2:8px;--ai-space-3:12px;--ai-space-4:16px;--ai-space-5:24px;--ai-space-6:32px;--ai-space-7:48px;--ai-space-8:64px;--ai-radius-sm:4px;--ai-radius-md:6px;--ai-radius-lg:8px;--ai-radius-full:9999px;--ai-border-width-sm:1px;--ai-border-width-md:2px;--ai-shadow-sm:0 0 14px 0 rgba(33,37,41,.05);--ai-shadow-md:0 4px 16px 0 rgba(33,37,41,.08);--ai-shadow-lg:0 10px 30px 0 rgba(33,37,41,.12);--ai-rail-width:260px;--ai-topbar-height:60px;--ai-state-ringing-color:var(--ai-color-accent);--ai-state-ringing-shape:dashed;--ai-state-answered-color:var(--ai-color-ok);--ai-state-answered-shape:solid;--ai-state-voicemail-color:var(--ai-color-warning);--ai-state-voicemail-shape:dotted;--ai-state-failed-color:var(--ai-color-critical);--ai-state-failed-shape:solid;--ai-state-opted-out-color:var(--ai-color-text-secondary);--ai-state-opted-out-shape:outline;--ai-state-opted-out-color-dark:var(--ai-color-text-tertiary-dark);--ai-breakpoint-mobile:375px;--ai-breakpoint-rail:992px;--ai-breakpoint-tablet:768px;--ai-breakpoint-desktop:1280px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}:root{color-scheme:light}body{background-color:var(--ai-color-bg);color:var(--ai-color-text);font-family:var(--ai-font-family);font-size:var(--ai-font-body-size);line-height:var(--ai-font-body-line);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{display:grid;grid-template-columns:var(--ai-rail-width) 1fr;min-height:100vh}.sidebar{background-color:var(--ai-color-rail);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:var(--ai-space-2);height:var(--ai-topbar-height);padding:0 var(--ai-space-5);background-color:var(--ai-color-rail-header);color:#fff;font-size:17px;font-weight:600;letter-spacing:-.01em;text-decoration:none;flex-shrink:0}.sidebar-brand:hover{color:#fff}.sidebar-brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--ai-radius-sm);background-color:var(--ai-color-accent);color:#fff;font-size:13px;font-weight:700;flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;padding:var(--ai-space-4) 0;flex:1 1}.sidebar-link{display:flex;align-items:center;gap:var(--ai-space-3);padding:var(--ai-space-3) var(--ai-space-5);color:var(--ai-color-rail-text);text-decoration:none;font-size:var(--ai-font-body-size);font-weight:400;border-left:3px solid transparent;transition:color .12s,background-color .12s}.sidebar-link:hover{color:var(--ai-color-rail-text-hover)}.sidebar-link.active,.sidebar-link:hover{background-color:var(--ai-color-rail-active-bg)}.sidebar-link.active{color:var(--ai-color-rail-active);border-left-color:var(--ai-color-accent);font-weight:500}.sidebar-link:focus-visible{outline:2px solid var(--ai-color-accent-focus);outline-offset:-2px}.sidebar-link svg{width:18px;height:18px;flex-shrink:0;stroke-width:2}.app-main{display:flex;flex-direction:column;min-width:0}.topbar{justify-content:flex-end;gap:var(--ai-space-4);height:var(--ai-topbar-height);padding:0 var(--ai-space-5);background-color:var(--ai-color-bg-elevated);box-shadow:var(--ai-shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:10;flex-shrink:0}.topbar,.topbar-user{display:flex;align-items:center}.topbar-user{gap:var(--ai-space-2);font-size:var(--ai-font-body-size);color:var(--ai-color-text)}.topbar-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--ai-radius-full);background-color:var(--ai-color-accent-soft);color:var(--ai-color-accent);font-size:12px;font-weight:600;text-transform:uppercase}.topbar-divider{width:1px;height:24px;background-color:var(--ai-color-border)}.app-content{padding:var(--ai-space-5);flex:1 1}.page-container{max-width:1400px;margin:0 auto}.card{background-color:var(--ai-color-bg-elevated);border-radius:var(--ai-radius-lg);box-shadow:var(--ai-shadow-sm);padding:var(--ai-space-5)}.card,.page-header{margin-bottom:var(--ai-space-5)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ai-space-3);flex-wrap:wrap}.text-display{font-size:var(--ai-font-display-size);font-weight:var(--ai-font-display-weight);line-height:var(--ai-font-display-line);letter-spacing:-.01em}.text-display,.text-heading{color:var(--ai-color-text);margin:0}.text-heading{font-size:var(--ai-font-heading-size);font-weight:var(--ai-font-heading-weight);line-height:var(--ai-font-heading-line)}.text-primary{font-weight:var(--ai-font-body-weight);line-height:var(--ai-font-body-line);color:var(--ai-color-text)}.text-primary,.text-secondary{font-size:var(--ai-font-body-size)}.text-secondary{color:var(--ai-color-text-secondary)}.text-tertiary{color:var(--ai-color-text-secondary)}.text-caption,.text-tertiary{font-size:var(--ai-font-caption-size);line-height:var(--ai-font-caption-line)}.text-caption{font-weight:var(--ai-font-caption-weight)}a{color:var(--ai-color-accent)}a:hover{color:var(--ai-color-accent-hover)}.table-container{background-color:var(--ai-color-bg-elevated);border-radius:var(--ai-radius-lg);box-shadow:var(--ai-shadow-sm);overflow-x:auto;margin-bottom:var(--ai-space-5)}.table-container>.text-heading{position:-webkit-sticky;position:sticky;left:0;padding:var(--ai-space-4) var(--ai-space-5);border-bottom:1px solid var(--ai-color-border)}.table{width:100%;border-collapse:collapse;font-size:var(--ai-font-body-size)}.table td,.table th{padding:var(--ai-space-3) var(--ai-space-5);border-bottom:1px solid var(--ai-color-border);text-align:left}.table th{font-weight:600;color:var(--ai-color-text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.05em;background-color:var(--ai-color-bg-subtle);white-space:nowrap}.table tbody tr:last-child td{border-bottom:none}.table td.numeric,.table th.numeric{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table tbody tr:hover{background-color:var(--ai-color-bg-subtle)}.table tbody tr:focus-within{outline:2px solid var(--ai-color-accent-focus);outline-offset:-2px}.table tbody th{font-size:var(--ai-font-body-size);font-weight:600;text-transform:none;letter-spacing:normal;color:var(--ai-color-text);background-color:transparent;white-space:normal}.table tbody tr[aria-current=true]>:first-child{box-shadow:inset 2px 0 0 0 var(--ai-color-accent)}.table td.choice,.table th.choice{width:1%;white-space:nowrap}.table td.choice input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--ai-color-accent);cursor:pointer}.table td.choice input[type=radio]:disabled{cursor:not-allowed;opacity:.45}.chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--ai-radius-full);font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap}.chip-ok{background-color:var(--ai-color-ok-bg);color:var(--ai-color-ok)}.chip-ok,.chip-warning{border-color:transparent}.chip-warning{background-color:var(--ai-color-warning-bg);color:var(--ai-color-warning)}.chip-critical{background-color:var(--ai-color-critical-bg);border-color:transparent;color:var(--ai-color-critical)}.chip-grey{background-color:var(--ai-color-bg-subtle);border-color:var(--ai-color-border-subtle);color:var(--ai-color-text-secondary)}.form-field{display:flex;flex-direction:column;gap:var(--ai-space-2);margin-bottom:var(--ai-space-4)}.form-field label{font-size:var(--ai-font-body-size);font-weight:500;color:var(--ai-color-text)}.checkbox-row{display:flex;flex-direction:row;align-items:center;gap:var(--ai-space-2);cursor:pointer}.checkbox-row input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--ai-color-accent);cursor:pointer}.settle-actions{display:flex;flex-wrap:wrap;gap:var(--ai-space-4);align-items:flex-start;margin-top:var(--ai-space-4)}.settle-actions>p{flex-basis:100%;margin:0}.settle-form{display:flex;flex-direction:column;gap:var(--ai-space-2);align-items:flex-start;flex:1 1 280px;min-width:260px}.settle-form .form-field{margin-bottom:0;width:100%}.radio-row{display:flex;flex-direction:row;align-items:flex-start;gap:var(--ai-space-2);cursor:pointer;font-weight:500}.radio-row input[type=radio]{width:16px;height:16px;margin:2px 0 0;flex-shrink:0;accent-color:var(--ai-color-accent);cursor:pointer}.radio-row>span{display:flex;flex-direction:column;gap:2px}.radio-row .text-tertiary{font-weight:400}fieldset.form-field{border:0;padding:0;margin-inline:0}fieldset.form-field legend{padding:0;font-weight:500;margin-bottom:var(--ai-space-2)}.input-field,.search-field,fieldset.form-field legend{font-size:var(--ai-font-body-size);color:var(--ai-color-text)}.input-field,.search-field{padding:9px var(--ai-space-3);border:1px solid var(--ai-color-border-subtle);border-radius:var(--ai-radius-sm);font-family:inherit;background-color:var(--ai-color-bg-elevated);transition:border-color .12s,box-shadow .12s}.input-field::placeholder,.search-field::placeholder{color:var(--ai-color-text-tertiary)}select.input-field option{background-color:var(--ai-color-bg-elevated);color:var(--ai-color-text)}.input-field:focus,.search-field:focus{outline:none;border-color:var(--ai-color-accent-focus);box-shadow:0 0 0 3px var(--ai-color-accent-ring)}.input-field[aria-invalid=true]{border-color:var(--ai-color-critical)}.search-field{width:100%;margin-bottom:var(--ai-space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ai-space-2);padding:9px var(--ai-space-4);border-radius:var(--ai-radius-md);font-size:var(--ai-font-body-size);font-family:inherit;font-weight:500;line-height:1.5;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:background-color .12s,border-color .12s,box-shadow .12s}.btn-primary{background-color:var(--ai-color-accent);border-color:var(--ai-color-accent);color:#fff}.btn-primary:hover{background-color:var(--ai-color-accent-hover);border-color:var(--ai-color-accent-hover);color:#fff}.btn-secondary{background-color:var(--ai-color-bg-elevated);color:var(--ai-color-text);border-color:var(--ai-color-border-subtle)}.btn-secondary:hover{background-color:var(--ai-color-bg-subtle);color:var(--ai-color-text)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ai-color-accent-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--ai-space-5);gap:var(--ai-space-5);margin-bottom:var(--ai-space-5)}.stat-card{background-color:var(--ai-color-bg-elevated);border-radius:var(--ai-radius-lg);box-shadow:var(--ai-shadow-sm);padding:var(--ai-space-5);display:flex;flex-direction:column-reverse;gap:var(--ai-space-2)}.stat-value{font-size:28px;font-weight:600;line-height:1.1;color:var(--ai-color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.empty-state,.stat-label{color:var(--ai-color-text-secondary)}.empty-state{text-align:center;padding:var(--ai-space-7) var(--ai-space-4);background-color:var(--ai-color-bg-elevated);border-radius:var(--ai-radius-lg);box-shadow:var(--ai-shadow-sm)}.error-actions{justify-content:center;margin-top:var(--ai-space-5)}.error-state,.form-error{border:1px solid var(--ai-color-critical);background-color:var(--ai-color-critical-bg);color:var(--ai-color-critical);border-radius:var(--ai-radius-sm)}.error-state,.form-error,.form-success{padding:var(--ai-space-3) var(--ai-space-4)}.form-success{border:1px solid var(--ai-color-ok);background-color:var(--ai-color-ok-bg);color:var(--ai-color-ok);border-radius:var(--ai-radius-sm)}.notice{border:1px solid var(--ai-color-warning);background-color:var(--ai-color-warning-bg);color:var(--ai-color-text-primary);padding:var(--ai-space-3) var(--ai-space-4);border-radius:var(--ai-radius-sm)}.notice ul{margin:var(--ai-space-2) 0;padding-left:var(--ai-space-5)}.notice li+li{margin-top:var(--ai-space-2)}.loading-state{opacity:.6;pointer-events:none}.campaign-form{display:flex;flex-direction:column;gap:var(--ai-space-5)}.campaign-form fieldset{border:1px solid var(--ai-color-border);border-radius:var(--ai-radius-lg);padding:var(--ai-space-5);margin:0}.campaign-form legend{padding:0 var(--ai-space-2);font-weight:600;color:var(--ai-color-text)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--ai-space-4);gap:var(--ai-space-4)}[hidden]{display:none!important}.window-row{display:flex;align-items:center;gap:var(--ai-space-2);margin-bottom:var(--ai-space-2);flex-wrap:wrap}.window-row .input-field{width:auto;min-width:7rem}.session+.session{margin-top:var(--ai-space-2)}.session .window-row{align-items:flex-end}.session .window-row .form-field{margin-bottom:0;width:auto}.session-date{display:flex;align-items:center;gap:var(--ai-space-2)}.session-gap{margin:var(--ai-space-2) 0 var(--ai-space-2) var(--ai-space-4)}.session-gap,.session-warning{font-size:var(--ai-font-caption-size);line-height:var(--ai-font-caption-line)}.session-warning{margin:var(--ai-space-1) 0 0 var(--ai-space-4);color:var(--ai-color-warning)}.button-row,.form-actions{display:flex;gap:var(--ai-space-2);flex-wrap:wrap;align-items:center}.inline-form{display:inline-flex;gap:var(--ai-space-1);max-width:24rem}.inline-form,.upload-form{flex-direction:column;align-items:flex-start}.upload-form{display:flex;gap:var(--ai-space-2);margin:var(--ai-space-3) 0}.import-summary{border:1px solid var(--ai-color-border);background-color:var(--ai-color-bg-subtle);padding:var(--ai-space-4);border-radius:var(--ai-radius-sm);width:100%}.rejected-rows{margin:var(--ai-space-2) 0 0;padding-left:var(--ai-space-4);font-family:var(--ai-font-mono-family);font-size:var(--ai-font-caption-size);max-height:12rem;overflow-y:auto}.auth-page{min-height:100vh;display:grid;place-items:center;padding:var(--ai-space-5)}.auth-card{width:100%;max-width:400px;background-color:var(--ai-color-bg-elevated);border-radius:var(--ai-radius-lg);box-shadow:var(--ai-shadow-lg);padding:var(--ai-space-6)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--ai-space-2);margin-bottom:var(--ai-space-5);font-size:20px;font-weight:600;color:var(--ai-color-text)}.auth-title{text-align:center;margin-bottom:var(--ai-space-2)}.auth-subtitle{margin:0 0 var(--ai-space-5)}.auth-alt,.auth-subtitle{text-align:center;color:var(--ai-color-text-secondary)}.auth-alt{margin:var(--ai-space-4) 0 0;font-size:var(--ai-font-body-size)}.lang-switcher{display:flex;gap:var(--ai-space-1)}.lang-switcher a{text-decoration:none;padding:5px var(--ai-space-3);border-radius:var(--ai-radius-sm);font-size:var(--ai-font-caption-size);font-weight:500;border:1px solid transparent}.lang-switcher a.active{background-color:var(--ai-color-accent);color:#fff}.lang-switcher a:not(.active){color:var(--ai-color-text-secondary);border-color:var(--ai-color-border-subtle)}.lang-switcher a:not(.active):hover{background-color:var(--ai-color-bg-subtle);color:var(--ai-color-text)}.auth-card .lang-switcher{justify-content:center;margin-top:var(--ai-space-5)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.api-key-prefix,.api-key-secret{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-feature-settings:none;font-variant-ligatures:none}.api-key-prefix{font-size:var(--ai-font-caption-size);color:var(--ai-color-text-secondary)}.api-key-reveal{display:flex;flex-direction:column;gap:var(--ai-space-2);margin-bottom:var(--ai-space-4)}.api-key-secret{width:100%;-webkit-user-select:all;-moz-user-select:all;user-select:all}.card>.text-heading{margin-bottom:var(--ai-space-4)}.ledger-key{display:grid;grid-gap:var(--ai-space-3);gap:var(--ai-space-3);margin:0}.ledger-key-row{display:grid;grid-template-columns:minmax(9rem,max-content) 1fr;grid-gap:var(--ai-space-2) var(--ai-space-4);gap:var(--ai-space-2) var(--ai-space-4);align-items:baseline}.ledger-key dt{font-weight:600;color:var(--ai-color-text)}.ledger-key dd{margin:0;color:var(--ai-color-text-secondary)}@media (max-width:640px){.ledger-key-row{grid-template-columns:1fr}}.status-checks{list-style:none;margin:0 0 var(--ai-space-4);padding:0;display:grid;grid-gap:var(--ai-space-3);gap:var(--ai-space-3)}.status-checks p{margin:var(--ai-space-1) 0 0}@media (max-width:992px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto}.sidebar-brand{padding:0 var(--ai-space-4);background-color:transparent}.sidebar-nav{flex-direction:row;padding:0}.sidebar-link{padding:var(--ai-space-4) var(--ai-space-3);border-left:none;border-bottom:3px solid transparent;white-space:nowrap}.sidebar-link.active{border-left-color:transparent;border-bottom-color:var(--ai-color-accent)}}@media (max-width:768px){.app-content{padding:var(--ai-space-4)}.page-header{flex-direction:column}.form-row{grid-template-columns:1fr}.table td,.table th{padding:var(--ai-space-3) var(--ai-space-4)}.topbar{padding:0 var(--ai-space-4)}.topbar-user>span:not(.topbar-avatar){display:none}.input-field,.search-field{font-size:16px}}@media (prefers-color-scheme:dark){:root{--ai-color-bg:var(--ai-color-bg-dark);--ai-color-bg-elevated:var(--ai-color-bg-elevated-dark);--ai-color-bg-subtle:var(--ai-color-bg-subtle-dark);--ai-color-border:var(--ai-color-border-dark);--ai-color-border-subtle:var(--ai-color-border-subtle-dark);--ai-color-text:var(--ai-color-text-dark);--ai-color-text-secondary:var(--ai-color-text-secondary-dark);--ai-color-text-tertiary:var(--ai-color-text-tertiary-dark);--ai-color-accent-soft:rgba(59,125,221,.16);color-scheme:dark;--ai-shadow-sm:none;--ai-shadow-md:none;--ai-shadow-lg:0 10px 30px 0 rgba(0,0,0,.4)}.auth-card,.card,.empty-state,.stat-card,.table-container{border:1px solid var(--ai-color-border)}.form-success{background-color:rgba(40,167,69,.15)}.error-state,.form-error{background-color:rgba(220,53,69,.15)}.chip-ok{background-color:rgba(40,167,69,.15)}.chip-warning,.notice{background-color:rgba(253,126,20,.15)}.chip-critical{background-color:rgba(220,53,69,.15)}}.invoice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ai-space-3)}.retry-dropdown{position:relative;display:inline-block}.retry-dropdown-menu{position:absolute;top:100%;left:0;z-index:10;min-width:250px;margin-top:var(--ai-space-2);padding:var(--ai-space-4);background-color:var(--ai-color-bg-card);border:1px solid var(--ai-color-border);border-radius:var(--ai-radius-md);box-shadow:0 4px 12px rgba(0,0,0,.15)}.retry-dropdown-hint{margin:0 0 var(--ai-space-3) 0;font-size:var(--ai-font-body-size);color:var(--ai-color-text-secondary)}.retry-dropdown-item{display:flex;align-items:center;gap:var(--ai-space-2);padding:var(--ai-space-2) 0;cursor:pointer;font-size:var(--ai-font-body-size);color:var(--ai-color-text)}.retry-dropdown-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--ai-color-primary)}.retry-dropdown-actions{display:flex;gap:var(--ai-space-2);margin-top:var(--ai-space-4);padding-top:var(--ai-space-3);border-top:1px solid var(--ai-color-border-subtle)}.retry-dropdown-actions .btn-sm{font-size:13px;padding:var(--ai-space-2) var(--ai-space-3)}