:root{color:#111827;background:#ffffff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:#ffffff}a{color:inherit}.app-nav-rail{position:fixed;top:0;bottom:0;left:0;z-index:160;width:50px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 6px 18px;border:0;border-right:1px solid #dbe2ec;background:#ffffff;box-shadow:10px 0 28px rgba(15,23,42,.08);transition:opacity .14s ease,visibility .14s ease}.app-nav-rail-hidden{opacity:0;visibility:hidden;pointer-events:none}.app-rail-links{display:grid;grid-gap:10px;gap:10px;width:100%;margin-top:18px}.app-rail-button,.app-rail-link{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:#263845;cursor:pointer;text-decoration:none;transition:background .14s ease,border-color .14s ease,color .14s ease}.app-rail-button svg,.app-rail-link svg,.icon-button svg{width:21px;height:21px}.app-rail-button:focus-visible,.app-rail-button:hover,.app-rail-link:focus-visible,.app-rail-link:hover{background:#f8fafc;border-color:#dbe2ec;outline:none}.app-rail-link.active{background:#263845;color:#ffffff}.app-rail-expand{color:#4f46e5}.app-rail-logout{margin-top:auto;color:#64748b}.app-nav-overlay{position:fixed;inset:0;z-index:1000;background:rgba(15,23,42,.48);animation:app-nav-fade .16s ease-out}.app-nav-sheet{position:fixed;inset:0 auto 0 0;z-index:1001;width:min(340px,88vw);padding:22px 18px;display:flex;flex-direction:column;background:#ffffff;border-right:1px solid #d9dde7;box-shadow:20px 0 48px rgba(15,23,42,.2);animation:app-nav-slide .18s ease-out}.app-nav-head{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 4px 18px;border-bottom:1px solid #e5e7eb}.app-nav-head h2{margin:0;font-size:21px;letter-spacing:0}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid #d9dde7;border-radius:6px;background:#ffffff;color:#334155;cursor:pointer}.app-nav-logout:focus-visible,.icon-button:focus-visible{outline:2px solid rgba(79,70,229,.28);outline-offset:2px}.app-nav-links{display:grid;grid-gap:6px;gap:6px;padding-top:20px}.app-nav-links a{min-height:48px;padding:0 14px;display:flex;align-items:center;gap:12px;border-radius:6px;color:#334155;font-size:15px;font-weight:800;text-decoration:none}.app-nav-links a svg{width:21px;height:21px}.app-nav-links a:hover{background:#f1f5f9}.app-nav-links a.active{background:#263845;color:#ffffff}.app-nav-logout{min-height:48px;margin-top:auto;padding:0 14px;display:flex;align-items:center;gap:12px;border:1px solid #d9dde7;border-radius:6px;background:#ffffff;color:#334155;font-size:15px;font-weight:800;cursor:pointer}.app-nav-logout svg{width:21px;height:21px}.app-nav-logout:focus-visible,.app-nav-logout:hover{background:#f8fafc}.settings-page{min-height:100vh;padding:54px clamp(24px,5vw,72px) 80px 86px;background:#f7f8fb}.settings-header{max-width:1400px;margin:0 auto 34px}.settings-header p{margin:0 0 7px;color:#4f46e5;font-size:12px;font-weight:900;text-transform:uppercase}.settings-header h1{margin:0;font-size:34px;letter-spacing:0}.settings-section{max-width:1400px;margin:0 auto;padding:28px 0 36px;border-top:1px solid #dfe3ea}.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px}.settings-section-head>div:not(.settings-section-actions){flex:1 1;min-width:0}.settings-section-toggle{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;margin-top:2px;padding:0;border:1px solid #cbd5e1;border-radius:8px;background:#ffffff;color:#64748b;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.settings-section-toggle:hover{background:#eef2ff;border-color:#a5b4fc;color:#4338ca}.settings-section-toggle svg{width:16px;height:16px;transition:transform .15s ease}.settings-section[data-open="1"] .settings-section-toggle svg{transform:rotate(90deg)}.settings-section-body[hidden]{display:none}.settings-section[data-open="0"] .settings-section-head{margin-bottom:0}.settings-section[data-open="0"]{padding-bottom:20px}.settings-section-head h2{display:flex;align-items:center;gap:8px;margin:0 0 5px;font-size:20px;letter-spacing:0}.settings-section-head p{margin:0;color:#64748b;font-size:14px}.settings-count{min-width:34px;height:30px;display:inline-grid;place-items:center;border:1px solid #cbd5e1;border-radius:6px;background:#ffffff;color:#475569;font-weight:850}.settings-dialog-footer,.settings-section-actions{display:flex;align-items:center;gap:10px}.settings-danger-button,.settings-primary-button,.settings-secondary-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;padding:0 14px;font:inherit;font-size:14px;font-weight:850;cursor:pointer}.settings-primary-button{border:1px solid #4338ca;background:#4f46e5;color:#ffffff}.settings-primary-button:disabled{opacity:.58;cursor:wait}.settings-secondary-button{border:1px solid #cbd5e1;background:#ffffff;color:#334155}.settings-secondary-button:disabled{opacity:.58;cursor:wait}.settings-danger-button{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c}.settings-danger-button:focus-visible,.settings-danger-button:hover{border-color:#ef4444;background:#fee2e2}.settings-danger-button:disabled{opacity:.58;cursor:wait}.settings-danger-button svg,.settings-gear-button svg,.settings-primary-button svg{width:17px;height:17px}.settings-gear-button{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid #cbd5e1;border-radius:6px;background:#ffffff;color:#475569;cursor:pointer}.settings-gear-button:focus-visible,.settings-gear-button:hover{border-color:#6366f1;color:#4338ca;background:#eef2ff}.settings-help{position:relative;width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid #a5b4fc;border-radius:50%;color:#4f46e5;font-size:13px;font-weight:900;cursor:help}.settings-help>[role=tooltip]{position:absolute;top:calc(100% + 10px);left:0;z-index:20;width:min(420px,76vw);padding:12px 14px;visibility:hidden;opacity:0;border-radius:6px;background:#111827;color:#ffffff;font-size:13px;font-weight:600;line-height:1.45;box-shadow:0 14px 30px rgba(15,23,42,.24);transition:opacity .12s ease}.settings-help:focus>[role=tooltip],.settings-help:hover>[role=tooltip]{visibility:visible;opacity:1}.settings-table-wrap{overflow-x:auto;border:1px solid #dfe3ea;border-radius:7px;background:#ffffff}.settings-table{width:100%;border-collapse:collapse;font-size:14px}.settings-table td,.settings-table th{padding:14px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid #e8ebf0}.settings-table tr:last-child td{border-bottom:0}.settings-table th{color:#64748b;background:#f8fafc;font-size:11px;font-weight:900;text-transform:uppercase}.settings-table td strong{display:block;color:#111827}.settings-number-cell{white-space:nowrap}.settings-active-note{display:inline-block;margin-top:4px;color:#15803d;font-size:12px;font-weight:800}.settings-user-email{display:block;margin-top:3px;color:#64748b;font-size:12px}.settings-user-status{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 9px;font-size:11px;font-weight:900;text-transform:uppercase}.settings-user-status.is-active{background:#dcfce7;color:#166534}.settings-user-status.is-inactive{background:#e5e7eb;color:#475569}.restore-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;border:1px solid #cbd5e1;border-radius:6px;padding:0 12px;background:#ffffff;color:#334155;font-weight:800;cursor:pointer;white-space:nowrap}.restore-button svg{width:16px;height:16px}.restore-button:hover{border-color:#4f46e5;color:#4338ca}.settings-empty,.settings-status{color:#64748b;text-align:center}.settings-dialog-overlay{position:fixed;inset:0;z-index:1100;background:rgba(15,23,42,.56)}.settings-dialog{position:fixed;top:50%;left:50%;z-index:1101;width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow-y:auto;transform:translate(-50%,-50%);border:1px solid #d9dde7;border-radius:8px;padding:24px;background:#ffffff;box-shadow:0 28px 70px rgba(15,23,42,.28)}.settings-password-dialog{width:min(700px,calc(100vw - 32px))}.settings-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid #e5e7eb}.settings-dialog-head h2{margin:0 0 5px;font-size:23px;letter-spacing:0}.settings-dialog-head p{margin:0;color:#64748b;font-size:14px}.category-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px 14px;gap:12px 14px;padding:16px 0}.settings-password-form{display:grid;grid-gap:15px;gap:15px;padding:18px 0}.settings-password-input{position:relative;display:block}.settings-password-input input{padding-right:46px}.settings-password-input button{position:absolute;top:50%;right:6px;width:34px;height:34px;display:inline-grid;place-items:center;transform:translateY(-50%);border:0;border-radius:5px;background:transparent;color:#64748b;cursor:pointer}.settings-password-input button:focus-visible,.settings-password-input button:hover{background:#eef2ff;color:#4338ca}.settings-password-input button svg{width:18px;height:18px}.settings-password-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 16px;gap:8px 16px;margin:0;padding:0;list-style:none;color:#64748b;font-size:13px;font-weight:700}.settings-password-requirements li{display:flex;align-items:center;gap:7px}.settings-password-requirements svg{width:16px;height:16px;color:#cbd5e1}.settings-password-match.is-fulfilled,.settings-password-requirements li.is-fulfilled,.settings-password-requirements li.is-fulfilled svg{color:#15803d}.settings-password-match,.settings-password-message{margin:0;font-size:13px;font-weight:750}.settings-password-match,.settings-password-message.is-error{color:#b91c1c}.settings-password-message.is-success{color:#15803d}.category-field-half{grid-column:span 2}.category-field{min-width:0;display:grid;grid-gap:7px;gap:7px;color:#334155;font-size:13px;font-weight:800}.category-field-wide{grid-column:1/-1}.category-field input,.category-field select,.category-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:10px 11px;background:#ffffff;color:#111827;font:inherit;font-size:14px;font-weight:600;letter-spacing:0}.category-field input,.category-field select{min-height:42px}.category-field textarea{resize:vertical;line-height:1.45}.category-field input:focus,.category-field select:focus,.category-field textarea:focus{outline:2px solid #a5b4fc;outline-offset:1px;border-color:#6366f1}.category-field small{color:#64748b;font-size:12px;font-weight:600;line-height:1.4}.settings-dialog-footer{justify-content:space-between;padding-top:14px;border-top:1px solid #e5e7eb}.settings-dialog-actions{display:flex;align-items:center;gap:10px}.settings-status{position:fixed;right:24px;bottom:24px;padding:12px 16px;border:1px solid #fecaca;border-radius:6px;background:#fff1f2;color:#b91c1c}@keyframes app-nav-fade{0%{opacity:0}to{opacity:1}}@keyframes app-nav-slide{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@media (max-width:900px){.category-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-password-requirements{grid-template-columns:1fr}.category-field-half{grid-column:span 1}}@media (max-width:760px){.app-nav-rail{width:44px;padding:18px 5px 14px}.app-rail-button,.app-rail-link{width:34px;height:34px}.settings-page{padding:90px 16px 56px 60px}.settings-header h1{font-size:28px}.settings-section-head{align-items:center}.settings-section-actions{align-items:flex-end;flex-direction:column}.settings-primary-button{white-space:nowrap}.category-form-grid{grid-template-columns:1fr}.category-field-half,.category-field-wide{grid-column:auto}}.report-shell{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#ffffff;padding-left:56px}.report-shell iframe{width:100%;height:100%;min-height:0;overflow:auto}.bar,.toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:12px 18px;background:#ffffff;border-bottom:1px solid #e5e7eb}.toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:10}.bar label,.toolbar label{display:grid;grid-gap:4px;gap:4px;color:#6b7280;font-size:12px;font-weight:700}.bar a,.bar button,.bar input,.bar select,.toolbar button,.toolbar input{min-height:36px;border:1px solid #d9dde7;border-radius:6px;padding:0 11px;font:inherit;font-size:14px;font-weight:750;text-decoration:none;display:inline-flex;align-items:center}.bar select{background:#ffffff;min-width:130px}.bar .date-control{width:172px}.bar .date-control input{width:100%}.bar .week-control{width:250px}.bar .week-control select{width:100%}.bar a,.bar button,.toolbar button{background:#111827;color:white;border-color:#111827;cursor:pointer}.bar .secondary{background:#ffffff;color:#111827;border-color:#d9dde7}.bar .load-state{width:136px;justify-content:center;font-weight:800}.bar .load-state.loaded{background:#eef2ff;color:#4f46e5;border-color:#cfd6ff}.bar .last-week-button{width:170px;justify-content:center}.bar .json-button{width:74px;justify-content:center}.user-menu{margin-left:auto;position:relative;display:flex;gap:10px;align-items:center;min-height:40px}.bar .user-menu-trigger.secondary{width:44px;min-width:44px;height:44px;min-height:44px;justify-content:center;padding:0;border:0;border-radius:999px;background:transparent;color:#4f46e5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.user-avatar{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid #d9def8;background:#eef2ff;color:#4f46e5;font-size:18px;font-weight:900}.bar .user-menu-trigger.secondary:hover,.bar .user-menu-trigger.secondary[aria-expanded=true]{background:transparent;border:0}.bar .user-menu-trigger.secondary:hover .user-avatar,.bar .user-menu-trigger.secondary[aria-expanded=true] .user-avatar{border-color:#bfc8ff;background:#e5e9ff}.user-menu-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:260px;padding:12px;border:1px solid #d9dde7;border-radius:8px;background:#ffffff;box-shadow:0 18px 45px rgba(15,23,42,.16)}.user-menu-row{display:grid;grid-gap:3px;gap:3px;padding:8px 2px}.user-menu-row span{color:#6b7280;font-size:11px;font-weight:900;text-transform:uppercase}.user-menu-row strong{color:#111827;font-size:14px}.user-menu-popover button{width:100%;justify-content:center;margin-top:8px;background:#111827;color:#ffffff}iframe{width:100%;min-height:calc(100vh - 70px);border:0;background:#ffffff;display:block;overflow:auto}.account{margin-top:28px}.account h2{margin:0 0 12px}.campaign{overflow:hidden;margin-bottom:14px;border:1px solid #e2e5ec;border-radius:8px;background:white}.campaign-header,.metric-row{display:grid;grid-template-columns:2fr repeat(5,minmax(120px,1fr));align-items:center}.campaign-header{gap:16px;padding:16px 18px;background:#fbfcff;border-bottom:1px solid #e2e5ec;font-weight:800}.metric{min-height:96px;padding:14px 18px;border-right:1px solid #e2e5ec}.metric:last-child{border-right:0}.metric-label{color:#6b7280;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.metric-value{margin-top:8px;font-size:28px;font-weight:900}.muted{color:#6b7280}.error{padding:16px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b;font-weight:700}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f6f7fb;position:relative}.auth-card{width:min(420px,100%);padding:28px;border:1px solid #e2e5ec;border-radius:8px;background:#ffffff;box-shadow:0 18px 45px rgba(15,23,42,.08)}.auth-eyebrow{margin:0 0 8px;color:#5a55f6;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.auth-card h1{margin:0;font-size:30px;line-height:1.1}.auth-copy,.auth-muted{margin:10px 0 22px;color:#6b7280;line-height:1.5}.auth-demo-link{position:fixed;top:20px;right:24px;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border:1px solid #cfd6ff;border-radius:6px;background:#eef2ff;color:#4f46e5;font-size:13px;font-weight:900;text-align:center;text-decoration:none;z-index:2}.auth-demo-link:hover{background:#e5e9ff}.auth-form{display:grid;grid-gap:14px;gap:14px}.auth-form label{display:grid;grid-gap:6px;gap:6px;color:#6b7280;font-size:13px;font-weight:800}.auth-form input{min-height:44px;border:1px solid #d9dde7;border-radius:6px;padding:0 12px;color:#111827;font:inherit;font-weight:700}.password-field{display:grid;grid-template-columns:1fr auto;align-items:stretch}.password-field input{border-radius:6px 0 0 6px}.auth-form .password-field button{width:48px;min-height:44px;border:1px solid #d9dde7;border-left:0;border-radius:0 6px 6px 0;padding:0;background:#ffffff;color:#111827;cursor:pointer;display:inline-grid;place-items:center}.auth-form .password-field svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.auth-form button{min-height:44px;border:1px solid #111827;border-radius:6px;background:#111827;color:#ffffff;cursor:pointer;font:inherit;font-weight:900}.auth-form button:disabled{cursor:wait;opacity:.7}.auth-error{padding:10px 12px;border:1px solid #fecaca;border-radius:6px;background:#fef2f2;color:#991b1b;font-weight:800}.settings-key-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.settings-key-input{flex:1 1 320px;min-width:240px;padding:9px 12px;border:1px solid var(--border,#e4e4e7);border-radius:8px;font:inherit}.settings-user-actions{display:flex;gap:6px;justify-content:flex-end}.settings-hint{color:var(--muted,#71717a);font-size:13px}.settings-usage-button{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:700;color:#4338ca;background:transparent;border:1px solid transparent;border-radius:7px;padding:4px 8px;cursor:pointer}.settings-usage-button:hover{background:#eef0fc;border-color:#d8dbf5}.settings-usage-button svg{width:15px;height:15px}.settings-usage-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font:inherit;font-size:14px;font-weight:600;color:#4338ca;background:transparent;border:1px solid #d8dbf5;border-radius:9px;padding:8px 14px;cursor:pointer}.settings-usage-link:hover{background:#eef0fc}.settings-usage-link svg{width:16px;height:16px}.settings-usage-note{display:block;font-size:11px;font-weight:600;color:#94a3b8}.settings-usage-dialog{max-width:720px}.settings-usage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin:14px 0 18px}.settings-usage-summary>div{border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;background:#f8fafc}.settings-usage-summary strong{display:block;font-size:19px;margin-top:2px}.settings-usage-summary-label{font-size:11px}.settings-usage-subtitle,.settings-usage-summary-label{font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.settings-usage-subtitle{margin:18px 0 8px;font-size:12px}.settings-usage-bar{display:block;height:8px;min-width:60px;border-radius:4px;background:#eef2f7;overflow:hidden}.settings-usage-bar i{display:block;height:100%;border-radius:4px;background:#6366f1}.legal-page{min-height:100vh;background:#f6f7fb;padding:48px 20px 64px}.legal-card{max-width:780px;margin:0 auto;background:#fff;border:1px solid #e5e7f0;border-radius:14px;padding:40px 44px 32px;color:#2c2f43;line-height:1.65;font-size:15px}.legal-back{display:inline-block;margin-bottom:22px;color:#5457c9;font-weight:600;font-size:13.5px;text-decoration:none}.legal-back:hover{text-decoration:underline}.legal-card h1{font-size:28px;margin:0 0 6px;color:#1b1d2e}.legal-subtitle{margin:0 0 28px;color:#6b7089;font-size:14px}.legal-card h2{font-size:18px;margin:32px 0 10px;color:#1b1d2e}.legal-card h3{font-size:15px;margin:20px 0 6px;color:#2c2f43}.legal-card ul{padding-left:20px}.legal-card li{margin-bottom:8px}.legal-card a{color:#5457c9}.legal-card code{background:#f0f1f8;padding:1px 5px;border-radius:4px;font-size:13px}.legal-highlight{background:#eef7f0;border-left:3px solid #3f9c5a}.legal-highlight,.legal-warning{padding:12px 16px;border-radius:0 8px 8px 0}.legal-warning{background:#fdf3f3;border-left:3px solid #cc4b4b;margin-bottom:24px;font-size:14px}.legal-table{width:100%;border-collapse:collapse;margin:12px 0 4px;font-size:14px}.legal-table td,.legal-table th{text-align:left;padding:8px 10px;border-bottom:1px solid #e9eaf3}.legal-table th{color:#6b7089;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.legal-crosslinks{display:flex;gap:20px;justify-content:center;margin-top:32px;padding-top:20px;border-top:1px solid #e9eaf3;font-size:13.5px}.legal-crosslinks a{color:#6b7089;text-decoration:none}.legal-crosslinks a:hover{color:#5457c9;text-decoration:underline}.auth-page .legal-crosslinks{border-top:0;margin-top:26px}.settings-subhead{margin:26px 0 10px;font-size:14px;color:#2c2f43}.settings-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.settings-row input[type=password],.settings-row input[type=text]{flex:1 1 200px;min-width:160px}.settings-badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:#eef0fc;color:#5457c9;font-size:11px;font-weight:700}.settings-ok{color:#2f7d45;font-weight:600}.settings-warning{background:#fdf3f3;border-left:3px solid #cc4b4b;padding:10px 14px;border-radius:0 8px 8px 0;margin-bottom:16px;font-size:14px}.settings-newuser{padding:14px 16px;margin-bottom:16px;background:#f7f8fc;border:1px solid #e7e9f5;border-radius:10px}.settings-newuser .settings-subhead{margin-top:0}.settings-newuser input[type=email],.settings-newuser input[type=password],.settings-newuser input[type=text]{flex:1 1 150px;min-width:130px}