:root{--ts-color-primary:#0f3b3b;--ts-color-primary-hover:#0d3333;--ts-color-primary-active:#0a2828;--ts-color-primary-light:#176464;--ts-color-accent:#e0fe08;--ts-color-accent-hover:#cfea07;--ts-color-accent-active:#b4cc06;--ts-color-on-primary:#fff;--ts-color-on-accent:#0f3b3b;--ts-semantic-success:#16a34a;--ts-semantic-warning:#d97706;--ts-semantic-danger:#dc2626;--ts-semantic-info:#2563eb;--ts-semantic-on-status:#fff;--ts-space-0:0px;--ts-space-1:4px;--ts-space-2:8px;--ts-space-3:12px;--ts-space-4:16px;--ts-space-5:20px;--ts-space-6:24px;--ts-space-8:32px;--ts-space-10:40px;--ts-space-12:48px;--ts-space-16:64px;--ts-radius-sm:6px;--ts-radius-md:10px;--ts-radius-lg:16px;--ts-radius-xl:24px;--ts-radius-pill:999px;--ts-font-family-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--ts-font-family-serif:Georgia,"Times New Roman",serif;--ts-font-family-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ts-font-size-xs:12px;--ts-font-size-sm:14px;--ts-font-size-base:16px;--ts-font-size-lg:18px;--ts-font-size-xl:20px;--ts-font-size-2xl:24px;--ts-font-size-3xl:30px;--ts-font-size-4xl:36px;--ts-font-size-5xl:48px;--ts-font-weight-regular:400;--ts-font-weight-medium:500;--ts-font-weight-semibold:600;--ts-font-weight-bold:700;--ts-font-leading-tight:1.2;--ts-font-leading-snug:1.35;--ts-font-leading-normal:1.5;--ts-font-leading-relaxed:1.65;--ts-shadow-sm:0 1px 2px rgba(15,59,59,.06);--ts-shadow-md:0 4px 12px rgba(15,59,59,.1);--ts-shadow-lg:0 12px 32px rgba(15,59,59,.16);--ts-z-base:0;--ts-z-dropdown:1000;--ts-z-sticky:1100;--ts-z-overlay:1200;--ts-z-modal:1300;--ts-z-toast:1400;--ts-z-tooltip:1500;--ts-semantic-success-surface:#e7f6ec;--ts-semantic-warning-surface:#fdf1e3;--ts-semantic-danger-surface:#fcebeb;--ts-semantic-info-surface:#e8effd;--ts-surface-base:#fff;--ts-surface-raised:#f6f8f8;--ts-surface-sunken:#edf1f1;--ts-surface-muted:#eef2f1;--ts-text-primary:#11181c;--ts-text-secondary:#6a747a;--ts-text-disabled:#a8b0b4;--ts-text-inverse:#fff;--ts-border-subtle:#edf1f0;--ts-border-default:#e3e8e7;--ts-border-strong:#cbd5d3}@media(prefers-color-scheme:dark){:root{--ts-semantic-success-surface:#12281b;--ts-semantic-warning-surface:#2e2110;--ts-semantic-danger-surface:#2c1414;--ts-semantic-info-surface:#10203f;--ts-surface-base:#151718;--ts-surface-raised:#232628;--ts-surface-sunken:#1c1f21;--ts-surface-muted:#2b3134;--ts-text-primary:#ecedee;--ts-text-secondary:#aeb7bc;--ts-text-disabled:#5a6266;--ts-text-inverse:#11181c;--ts-border-subtle:#262b2e;--ts-border-default:#31373b;--ts-border-strong:#3e4548}}:root[data-theme=light]{--ts-semantic-success-surface:#e7f6ec;--ts-semantic-warning-surface:#fdf1e3;--ts-semantic-danger-surface:#fcebeb;--ts-semantic-info-surface:#e8effd;--ts-surface-base:#fff;--ts-surface-raised:#f6f8f8;--ts-surface-sunken:#edf1f1;--ts-surface-muted:#eef2f1;--ts-text-primary:#11181c;--ts-text-secondary:#6a747a;--ts-text-disabled:#a8b0b4;--ts-text-inverse:#fff;--ts-border-subtle:#edf1f0;--ts-border-default:#e3e8e7;--ts-border-strong:#cbd5d3}:root[data-theme=dark]{--ts-semantic-success-surface:#12281b;--ts-semantic-warning-surface:#2e2110;--ts-semantic-danger-surface:#2c1414;--ts-semantic-info-surface:#10203f;--ts-surface-base:#151718;--ts-surface-raised:#232628;--ts-surface-sunken:#1c1f21;--ts-surface-muted:#2b3134;--ts-text-primary:#ecedee;--ts-text-secondary:#aeb7bc;--ts-text-disabled:#5a6266;--ts-text-inverse:#11181c;--ts-border-subtle:#262b2e;--ts-border-default:#31373b;--ts-border-strong:#3e4548}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:var(--ts-color-primary);--color-primary-hover:var(--ts-color-primary-hover);--color-primary-light:var(--ts-surface-muted);--color-accent:var(--ts-color-accent);--color-accent-hover:var(--ts-color-accent-hover);--color-on-accent:var(--ts-color-on-accent);--color-success:var(--ts-semantic-success);--color-success-light:var(--ts-semantic-success-surface);--color-warning:var(--ts-semantic-warning);--color-warning-light:var(--ts-semantic-warning-surface);--color-danger:var(--ts-semantic-danger);--color-danger-light:var(--ts-semantic-danger-surface);--color-info:var(--ts-semantic-info);--color-info-light:var(--ts-semantic-info-surface);--color-bg:var(--ts-surface-sunken);--color-surface:var(--ts-surface-base);--color-border:var(--ts-border-default);--color-border-light:var(--ts-border-subtle);--color-text:var(--ts-text-primary);--color-text-secondary:var(--ts-text-secondary);--color-text-muted:var(--ts-text-disabled);--color-focus-ring:color-mix(in srgb,var(--color-primary) 15%,transparent);--sidebar-width:260px;--topbar-height:60px;--radius:8px;--radius-lg:12px;--shadow-sm:var(--ts-shadow-sm);--shadow:var(--ts-shadow-sm);--shadow-md:var(--ts-shadow-md);--transition:.15s ease}@media(prefers-color-scheme:dark){:root{--color-primary:var(--ts-color-primary-light);--color-primary-hover:#1d7a7a;--color-focus-ring:color-mix(in srgb,var(--ts-color-primary-light) 25%,transparent)}}:root[data-theme=light]{--color-primary:var(--ts-color-primary);--color-primary-hover:var(--ts-color-primary-hover);--color-focus-ring:color-mix(in srgb,var(--color-primary) 15%,transparent)}:root[data-theme=dark]{--color-primary:var(--ts-color-primary-light);--color-primary-hover:#1d7a7a;--color-focus-ring:color-mix(in srgb,var(--ts-color-primary-light) 25%,transparent)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--ts-font-family-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.page-title{color:var(--color-text);font-size:24px;font-weight:700}.page-subtitle{color:var(--color-text-secondary);font-size:14px;margin-top:4px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.card-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.card-title{font-size:16px;font-weight:600}.metrics-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:24px}.metric-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:16px;padding:20px}.metric-icon{align-items:center;border-radius:var(--radius);display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.metric-icon.primary{background:var(--color-primary-light);color:var(--color-primary)}.metric-icon.success{background:var(--color-success-light);color:var(--color-success)}.metric-icon.warning{background:var(--color-warning-light);color:var(--color-warning)}.metric-icon.danger{background:var(--color-danger-light);color:var(--color-danger)}.metric-icon.info{background:var(--color-info-light);color:var(--color-info)}.metric-icon.accent{background:var(--color-accent);color:var(--color-on-accent)}.metric-content{flex:1;min-width:0}.metric-value{font-size:28px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.metric-label{color:var(--color-text-secondary);font-size:13px;margin-top:2px}.metric-change{font-size:12px;margin-top:4px}.metric-change.up{color:var(--color-success)}.metric-change.down{color:var(--color-danger)}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;line-height:1.4;padding:8px 16px;transition:all var(--transition);white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--color-primary);color:var(--ts-color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-accent{background:var(--color-accent);color:var(--color-on-accent);font-weight:600}.btn-accent:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-sm{font-size:13px;padding:4px 10px}.btn-lg{font-size:16px;padding:12px 24px}.btn-icon{padding:8px}.data-table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.data-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{border-collapse:collapse;width:100%}.data-table th{background:var(--color-bg);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.data-table th:hover{color:var(--color-text)}.data-table th.sorted{color:var(--color-primary)}.data-table td{border-bottom:1px solid var(--color-border-light);font-size:14px;padding:12px 16px}.data-table tbody tr:hover{background:var(--color-bg)}.data-table tbody tr:last-child td{border-bottom:none}.data-table td.select-col,.data-table th.select-col{cursor:default;padding-right:0;width:40px}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:500;line-height:1.6;padding:2px 10px;white-space:nowrap}.badge-active,.badge-published,.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-pending,.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-danger,.badge-flagged,.badge-suspended{background:var(--color-danger-light);color:var(--color-danger)}.badge-draft,.badge-info{background:var(--color-info-light);color:var(--color-info)}.badge-muted,.badge-secondary{background:var(--color-border-light);color:var(--color-text-secondary)}.form-group{margin-bottom:16px}.form-label{color:var(--color-text);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-input,.form-select,.form-textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:inherit;font-size:14px;padding:8px 12px;transition:border-color var(--transition);width:100%}.form-textarea{resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:var(--color-text-muted)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-error{color:var(--color-danger)}.form-error,.form-hint{font-size:12px;margin-top:4px}.form-hint{color:var(--color-text-secondary);display:block}.tabs{border-bottom:1px solid var(--color-border);display:flex;gap:0;margin-bottom:24px;overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all var(--transition);white-space:nowrap}.tab:hover{color:var(--color-text)}.tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px 16px}.pagination-info{color:var(--color-text-secondary);font-size:13px}.pagination-buttons{display:flex;gap:4px}.filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.search-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:14px;min-width:280px;padding:8px 12px}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.empty-state{color:var(--color-text-secondary);padding:48px 24px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.4}.empty-state-title{color:var(--color-text);font-size:18px;font-weight:600;margin-bottom:8px}.loading-spinner{align-items:center;display:flex;justify-content:center;padding:48px}.spinner{animation:spin .6s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.toast-container{display:flex;flex-direction:column;gap:8px;max-width:calc(100vw - 32px);position:fixed;right:16px;top:16px;z-index:9999}.toast{align-items:center;animation:slideIn .2s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);display:flex;gap:12px;max-width:480px;min-width:300px;padding:12px 16px}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-danger)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-info)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-height:85vh;max-width:560px;overflow-y:auto;width:100%}.modal-lg{max-width:760px}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:20px 24px}.modal-title{font-size:18px;font-weight:600}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--color-border);gap:8px;justify-content:flex-end;padding:16px 24px}.bulk-bar,.modal-footer{display:flex;flex-wrap:wrap}.bulk-bar{align-items:center;background:var(--color-primary-light);border:1px solid var(--color-border);border-radius:var(--radius);gap:12px;margin-bottom:12px;padding:10px 16px}.bulk-bar-count{color:var(--color-primary);font-size:13px;font-weight:600}.impersonation-banner{align-items:center;background:var(--color-warning);color:#1e1502;display:flex;flex-wrap:wrap;font-size:13px;font-weight:500;gap:12px;padding:8px 16px;position:sticky;top:0;z-index:300}.impersonation-banner .btn{font-size:12px;padding:3px 10px}.chart-card{min-width:0}.chart-container{height:280px;position:relative;width:100%}.charts-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:24px}@media(max-width:1023px){.search-input{flex:1;min-width:200px}}@media(max-width:767px){.metrics-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.metric-card{gap:10px;padding:14px}.metric-value{font-size:22px}.metric-icon{height:36px;width:36px}.card,.modal-body,.modal-header{padding:16px}.modal-footer{padding:12px 16px}.page-title{font-size:20px}.filter-bar>.form-select{flex:1;min-width:140px}.search-input{min-width:100%}.chart-container{height:220px}}@media(max-width:480px){.metrics-grid{grid-template-columns:1fr 1fr}.toast{min-width:0;width:100%}}.app-update[data-v-dd3350c1]{align-items:center;background:var(--ts-color-surface-inverse,#111);inset-inline:0;bottom:0;color:var(--ts-color-text-inverse,#fff);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem 1rem;justify-content:center;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));position:fixed;z-index:1000}.app-update__actions[data-v-dd3350c1]{display:flex;gap:.5rem}.app-update__dismiss[data-v-dd3350c1],.app-update__reload[data-v-dd3350c1]{border-radius:999px;cursor:pointer;font:inherit;font-weight:600;padding:.375rem .875rem}.app-update__reload[data-v-dd3350c1]{background:var(--ts-color-primary,#fff);border:none;color:var(--ts-color-on-primary,#111)}.app-update__dismiss[data-v-dd3350c1]{background:transparent;border:1px solid;color:inherit}.app-update-enter-active[data-v-dd3350c1],.app-update-leave-active[data-v-dd3350c1]{transition:transform .2s ease,opacity .2s ease}.app-update-enter-from[data-v-dd3350c1],.app-update-leave-to[data-v-dd3350c1]{opacity:0;transform:translateY(100%)}@media(prefers-reduced-motion:reduce){.app-update-enter-active[data-v-dd3350c1],.app-update-leave-active[data-v-dd3350c1]{transition:none}}.error-layout[data-v-4f5543ec]{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.card[data-v-4f5543ec]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;max-width:30rem;padding:2rem;width:100%}.code[data-v-4f5543ec]{color:var(--color-danger);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0 0 .5rem;text-transform:uppercase}h1[data-v-4f5543ec]{color:var(--color-text);font-size:1.375rem;line-height:1.25;margin:0 0 .75rem}.body[data-v-4f5543ec]{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.detail[data-v-4f5543ec]{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:8px;color:var(--color-text-muted);font-size:.8125rem;line-height:1.5;margin:1rem 0 0;overflow-x:auto;padding:.75rem;white-space:pre-wrap;word-break:break-word}.actions[data-v-4f5543ec]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.ghost[data-v-4f5543ec],.primary[data-v-4f5543ec]{border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem}.primary[data-v-4f5543ec]{background:var(--color-primary);color:#fff}.primary[data-v-4f5543ec]:hover{background:var(--color-primary-hover)}.ghost[data-v-4f5543ec]{background:transparent;border-color:var(--color-border);color:var(--color-text)}.ghost[data-v-4f5543ec]:hover{background:var(--color-bg)}
