@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--p-navy-900: #0b1120;--p-navy-800: #0f172a;--p-navy-700: #0d1b2e;--p-brand-700: #a3000e;--p-brand-600: #ce0111;--p-brand-500: #f21d28;--p-brand-400: #ff5a63;--p-brand-050: #feeced;--p-brand-rgb: 242, 29, 40;--p-white: #ffffff;--p-slate-025:#fafbfc;--p-slate-050:#f6f8fb;--p-slate-100:#eef1f4;--p-slate-150:#e7ebf0;--p-slate-200:#e2e8f0;--p-slate-250:#d6dce3;--p-slate-300:#cbd5e1;--p-slate-400:#94a3b8;--p-slate-600:#475569;--p-slate-650:#64748b;--p-slate-900:#0f172a;--p-green-500:#10b981;--p-green-050:#e7f8f0;--p-green-700:#047857;--p-crimson-500:#be123c;--p-crimson-700:#9f1239;--p-crimson-800:#881337;--p-crimson-200:#fbd0da;--p-crimson-050:#fdecf0;--p-amber-500:#f59e0b;--p-amber-050:#fef5e7;--p-amber-700:#b45309;--p-blue-500: #3b82f6;--p-blue-050: #eaf1fe;--p-blue-700: #1d4ed8;--p-violet-500:#8b5cf6;--p-violet-050:#f1ecfe;--p-violet-700:#5b21b6;--p-shadow-ink: 15, 23, 42;--p-android-frame-from: #1f2937;--p-android-frame-to: #111827;--p-android-card: #f8fafc;--p-android-title: #202124;--p-android-text: #5f6368;--p-android-faint: #9aa0a6;--p-android-img: #e8eaed;--p-android-status: #e5e7eb;--p-android-hint: #9ca3af;--p-android-dash: #4b5563;--color-bg: var(--p-slate-050);--color-surface: var(--p-white);--color-surface-sunken:var(--p-slate-050);--color-surface-hover: var(--p-slate-100);--color-border: var(--p-slate-150);--color-border-strong: var(--p-slate-250);--color-surface-alt: var(--p-slate-025);--color-text: var(--p-slate-900);--color-text-muted:var(--p-slate-600);--color-text-faint:var(--p-slate-400);--color-text-on-accent: var(--p-white);--color-accent: var(--p-brand-500);--color-accent-hover: var(--p-brand-600);--color-accent-active:var(--p-brand-700);--color-accent-soft: var(--p-brand-050);--color-accent-rgb: var(--p-brand-rgb);--color-nav-bg-from: var(--p-navy-900);--color-nav-bg-to: var(--p-navy-800);--color-nav-bg-mid: var(--p-navy-700);--color-nav-text: var(--p-slate-300);--color-nav-text-muted: var(--p-slate-400);--color-nav-text-dim: var(--p-slate-600);--color-nav-text-hover: var(--p-slate-200);--color-nav-text-active:var(--p-white);--color-nav-hover-bg: rgba(255, 255, 255, .05);--color-nav-danger-bg: rgba(var(--p-brand-rgb), .14);--color-nav-danger-text:var(--p-brand-400);--color-success-text: var(--p-green-700);--color-warning-text: var(--p-amber-700);--color-info-text: var(--p-blue-700);--color-special-text: var(--p-violet-700);--color-success: var(--p-green-500);--color-success-soft: var(--p-green-050);--color-danger: var(--p-crimson-700);--color-danger-soft: var(--p-crimson-050);--color-danger-strong: var(--p-crimson-800);--color-danger-border: var(--p-crimson-200);--color-danger-text:var(--p-crimson-800);--color-warning: var(--p-amber-500);--color-warning-soft: var(--p-amber-050);--color-info: var(--p-blue-500);--color-info-soft: var(--p-blue-050);--color-special: var(--p-violet-500);--color-special-soft: var(--p-violet-050);--color-android-frame-from: var(--p-android-frame-from);--color-android-frame-to: var(--p-android-frame-to);--color-android-card: var(--p-android-card);--color-android-title: var(--p-android-title);--color-android-text: var(--p-android-text);--color-android-faint: var(--p-android-faint);--color-android-img: var(--p-android-img);--color-android-status: var(--p-android-status);--color-android-hint: var(--p-android-hint);--color-android-dash: var(--p-android-dash);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 26px;--text-2xl: 32px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 800;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--shadow-xs: 0 1px 2px rgba(var(--p-shadow-ink), .04);--shadow-sm: 0 1px 2px rgba(var(--p-shadow-ink), .04), 0 1px 3px rgba(var(--p-shadow-ink), .06);--shadow-md: 0 4px 16px rgba(var(--p-shadow-ink), .06);--shadow-lg: 0 12px 40px rgba(var(--p-shadow-ink), .12);--shadow-xl: 0 24px 64px rgba(var(--p-shadow-ink), .18);--shadow-accent: 0 2px 8px rgba(var(--p-brand-rgb), .28);--shadow-accent-hover: 0 4px 14px rgba(var(--p-brand-rgb), .38);--shadow-accent-logo: 0 4px 12px rgba(var(--p-brand-rgb), .4);--ease: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-base: .18s;--duration-slow: .28s;--z-dropdown: 100;--z-sticky: 200;--z-drawer: 300;--z-modal: 400;--z-toast: 500;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-accent) 28%, transparent);--navy: var(--color-nav-bg-from);--navy-2: var(--color-nav-bg-to);--teal: var(--color-accent);--teal-600: var(--color-accent-hover);--teal-soft: var(--color-accent-soft);--bg: var(--color-bg);--surface: var(--color-surface);--border: var(--color-border);--border-strong: var(--color-border-strong);--text: var(--color-text);--text-2: var(--color-text-muted);--muted: var(--color-text-faint);--green: var(--color-success);--green-bg: var(--color-success-soft);--red: var(--color-danger);--red-bg: var(--color-danger-soft);--amber: var(--color-warning);--amber-bg: var(--color-warning-soft);--blue: var(--color-info);--blue-bg: var(--color-info-soft);--violet: var(--color-special);--violet-bg: var(--color-special-soft);--violet-text: var(--color-special-text);--radius: var(--radius-md);--shadow: var(--shadow-md)}.u-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),opacity var(--duration-fast) var(--ease)}.u-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.u-btn:disabled{opacity:.55;cursor:not-allowed}.u-btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.u-btn--md{padding:10px var(--space-4)}.u-btn--lg{padding:13px var(--space-6);font-size:var(--text-md)}.u-btn--primary{background:var(--color-accent);color:var(--color-text-on-accent)}.u-btn--primary:hover:not(:disabled){background:var(--color-accent-hover)}.u-btn--primary:active:not(:disabled){background:var(--color-accent-active)}.u-btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.u-btn--secondary:hover:not(:disabled){background:var(--color-surface-hover)}.u-btn--ghost{background:transparent;color:var(--color-text-muted)}.u-btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.u-btn--danger{background:var(--color-danger);color:var(--color-text-on-accent)}.u-btn--danger:hover:not(:disabled){filter:brightness(.94)}.u-btn--block{width:100%}.u-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.u-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.u-card__title{font-size:var(--text-md);font-weight:var(--weight-bold)}.u-card__sub{font-size:var(--text-sm);color:var(--color-text-faint);margin-top:2px}.u-card__body{padding:var(--space-6)}.u-card__body--flush{padding:0}.u-card__foot{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface-sunken);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.u-field{display:flex;flex-direction:column;gap:var(--space-2)}.u-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.u-label__req{color:var(--color-danger);margin-left:2px}.u-hint{font-size:var(--text-sm);color:var(--color-text-faint)}.u-error{font-size:var(--text-sm);color:var(--color-danger-text);font-weight:var(--weight-medium)}.u-input,.u-textarea,.u-select{width:100%;font-family:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:10px var(--space-3);transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.u-input:focus,.u-textarea:focus,.u-select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.u-input::placeholder,.u-textarea::placeholder{color:var(--color-text-faint)}.u-input:disabled,.u-textarea:disabled,.u-select:disabled{background:var(--color-surface-sunken);cursor:not-allowed;color:var(--color-text-faint)}.u-input--invalid,.u-textarea--invalid,.u-select--invalid{border-color:var(--color-danger)}.u-textarea{resize:vertical;min-height:96px;line-height:var(--leading-normal)}.u-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-8);cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-faint) 50%),linear-gradient(135deg,var(--color-text-faint) 50%,transparent 50%);background-position:right var(--space-4) center,right var(--space-3) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.u-counter{font-size:var(--text-xs);color:var(--color-text-faint);text-align:right;font-variant-numeric:tabular-nums}.u-counter--over{color:var(--color-danger);font-weight:var(--weight-semibold)}.u-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer}.u-switch input{position:absolute;opacity:0;width:0;height:0}.u-switch__track{width:40px;height:22px;flex-shrink:0;background:var(--color-border-strong);border-radius:var(--radius-full);position:relative;transition:background var(--duration-base) var(--ease)}.u-switch__thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--color-surface);border-radius:50%;box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease)}.u-switch input:checked+.u-switch__track{background:var(--color-accent)}.u-switch input:checked+.u-switch__track .u-switch__thumb{transform:translate(18px)}.u-switch input:focus-visible+.u-switch__track{box-shadow:var(--focus-ring)}.u-switch__label{font-size:var(--text-base)}.u-check{display:inline-flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.u-check input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--color-accent);cursor:pointer}.u-check__label{font-size:var(--text-base);line-height:var(--leading-normal)}.u-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.2px;white-space:nowrap}.u-badge--neutral{background:var(--color-surface-hover);color:var(--color-text-muted)}.u-badge--success{background:var(--color-success-soft);color:var(--color-success)}.u-badge--danger{background:var(--color-danger-soft);color:var(--color-danger-text)}.u-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.u-badge--info{background:var(--color-info-soft);color:var(--color-info)}.u-badge--special{background:var(--color-special-soft);color:var(--color-special)}.u-badge--accent{background:var(--color-accent-soft);color:var(--color-accent-hover)}.u-table-wrap{width:100%;overflow-x:auto}.u-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.u-table th{text-align:left;padding:var(--space-3) var(--space-5);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-faint);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);white-space:nowrap}.u-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);vertical-align:middle}.u-table tbody tr:last-child td{border-bottom:none}.u-table tbody tr{transition:background var(--duration-fast) var(--ease)}.u-table tbody tr:hover{background:var(--color-surface-sunken)}.u-table--clickable tbody tr{cursor:pointer}.u-table__num{text-align:right;font-variant-numeric:tabular-nums}.u-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(var(--p-shadow-ink),.45);display:flex;align-items:center;justify-content:center;padding:var(--space-5);z-index:var(--z-modal);animation:u-fade var(--duration-base) var(--ease)}.u-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-height:calc(100vh - var(--space-10));display:flex;flex-direction:column;animation:u-rise var(--duration-base) var(--ease)}.u-modal--sm{max-width:420px}.u-modal--md{max-width:620px}.u-modal--lg{max-width:880px}.u-modal__head{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.u-modal__title{font-size:var(--text-md);font-weight:var(--weight-bold)}.u-modal__sub{font-size:var(--text-sm);color:var(--color-text-faint);margin-top:3px;line-height:var(--leading-normal)}.u-modal__body{padding:var(--space-6);overflow-y:auto}.u-modal__foot{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-3)}.u-modal__x{background:none;border:none;cursor:pointer;padding:var(--space-1);color:var(--color-text-faint);border-radius:var(--radius-xs);line-height:0;font-size:var(--text-lg)}.u-modal__x:hover{background:var(--color-surface-hover);color:var(--color-text)}.u-danger-zone{background:var(--color-danger-soft);border:1px solid var(--color-danger);border-radius:var(--radius-sm);padding:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-danger-text)}@keyframes u-fade{0%{opacity:0}to{opacity:1}}@keyframes u-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.u-toasts{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);z-index:var(--z-toast);pointer-events:none}.u-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-3);min-width:280px;max-width:420px;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-text-faint);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);animation:u-slide-in var(--duration-slow) var(--ease)}.u-toast--success{border-left-color:var(--color-success)}.u-toast--error{border-left-color:var(--color-danger)}.u-toast--info{border-left-color:var(--color-info)}.u-toast__body{flex:1}.u-toast__title{font-weight:var(--weight-semibold);font-size:var(--text-base)}.u-toast__msg{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:2px;line-height:var(--leading-normal)}.u-toast__x{background:none;border:none;cursor:pointer;color:var(--color-text-faint);padding:0 var(--space-1);font-size:var(--text-md);line-height:1}@keyframes u-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.u-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.u-tab{background:none;border:none;cursor:pointer;padding:var(--space-3) var(--space-4);font-family:inherit;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-faint);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.u-tab:hover{color:var(--color-text)}.u-tab--active{color:var(--color-accent-hover);border-bottom-color:var(--color-accent)}.u-tab:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}.u-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.u-pagination__info{font-size:var(--text-sm);color:var(--color-text-faint);font-variant-numeric:tabular-nums}.u-pagination__nav{display:flex;align-items:center;gap:var(--space-2)}.u-empty{text-align:center;padding:var(--space-12) var(--space-6)}.u-empty__icon{color:var(--color-text-faint);margin-bottom:var(--space-4);opacity:.6}.u-empty__title{font-size:var(--text-md);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.u-empty__msg{font-size:var(--text-base);color:var(--color-text-faint);max-width:380px;margin:0 auto var(--space-5);line-height:var(--leading-normal)}.u-skel{background:linear-gradient(90deg,var(--color-surface-hover) 25%,var(--color-surface-sunken) 37%,var(--color-surface-hover) 63%);background-size:400% 100%;border-radius:var(--radius-xs);animation:u-shimmer 1.4s ease infinite}@keyframes u-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.u-spinner{width:18px;height:18px;border:2px solid var(--color-border-strong);border-top-color:var(--color-accent);border-radius:50%;animation:u-spin .7s linear infinite}.u-spinner--lg{width:30px;height:30px;border-width:3px}@keyframes u-spin{to{transform:rotate(360deg)}}.u-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--color-surface) 70%,transparent);display:flex;align-items:center;justify-content:center;z-index:var(--z-sticky)}.u-stack{display:flex;flex-direction:column;gap:var(--space-4)}.u-stack--sm{gap:var(--space-2)}.u-stack--lg{gap:var(--space-6)}.u-row{display:flex;align-items:center;gap:var(--space-3)}.u-row--between{justify-content:space-between}.u-row--wrap{flex-wrap:wrap}.u-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.u-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.u-spacer{flex:1}.u-section-head{margin-bottom:var(--space-5)}.u-section-head__title{font-size:var(--text-xl);font-weight:var(--weight-black);letter-spacing:-.4px}.u-section-head__sub{font-size:var(--text-base);color:var(--color-text-faint);margin-top:var(--space-1)}@media (max-width: 900px){.u-grid-2,.u-grid-3{grid-template-columns:1fr}.u-toasts{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.u-toast{min-width:0;max-width:none}}.dash{display:flex;flex-direction:column;gap:var(--space-5)}.dash-group{display:flex;flex-direction:column;gap:var(--space-4)}.dash-group__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.dash-scope{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-hover);border:1px solid var(--color-border);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted);white-space:nowrap}.dash-divider{border:none;border-top:1px solid var(--color-border-strong);margin:var(--space-3) 0}.dash-head__title{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em}.dash-head__sub{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-faint)}.dash-range{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.dash-range.is-busy{opacity:.7}.dash-range__dates,.dash-range__dates label{display:flex;align-items:center;gap:var(--space-2)}.dash-range__dates input{padding:var(--space-2) var(--space-3);font-size:var(--text-base)}.dash-range__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em}.dash-notice{padding:var(--space-3) var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--color-text-muted)}.dash-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-4)}.dash-trend{margin-top:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-faint)}.dash-trend.is-up{color:var(--color-success-text)}.dash-trend.is-down{color:var(--color-danger-text)}.dash-row{align-items:stretch}.row>.panel.dash-panel{margin-bottom:0;display:flex;flex-direction:column}.row>.panel.dash-panel>.panel-body{flex:1}.row>.panel.dash-panel--wide{flex:2 1 420px}.dash .dash-panel{margin-bottom:0}.dash-panel__sub{margin-top:2px;font-size:var(--text-sm);color:var(--color-text-faint);font-weight:var(--weight-medium)}.dash-panel__actions{display:flex;align-items:center;gap:var(--space-2)}.dash-chart__foot{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-faint);text-align:right}.dash-footnote{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-text-faint);line-height:var(--leading-normal)}.dash-footnote--tight{margin-top:calc(-1 * var(--space-2))}.dash-footnote--full{grid-column:1 / -1;margin-top:var(--space-2)}.dash-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);text-align:center}.dash-state__title{font-size:var(--text-base);color:var(--color-text-faint);font-weight:var(--weight-medium)}.dash-state--error .dash-state__title{color:var(--color-danger-text)}.dash-state--inline{flex-direction:row;justify-content:flex-start;padding:var(--space-3) var(--space-4);background:var(--color-danger-soft);border-radius:var(--radius-sm)}.dash-skel-rows{display:flex;flex-direction:column;gap:var(--space-4)}.dash-skel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.dash-skel-chart{display:block}.dash-status{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.dash-status__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.dash-status__label{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text)}.dash-status__value{font-size:var(--text-md);font-weight:var(--weight-bold);letter-spacing:-.01em}.dash-status__bar{margin-top:var(--space-2);height:6px;border-radius:var(--radius-full);background:var(--color-surface-hover);overflow:hidden}.dash-status__bar span{display:block;height:100%;border-radius:var(--radius-full);background:var(--color-text-faint);transition:width var(--duration-slow) var(--ease)}.dash-status__row.tone-teal .dash-status__bar span{background:var(--color-accent)}.dash-status__row.tone-green .dash-status__bar span{background:var(--color-success)}.dash-status__row.tone-amber .dash-status__bar span{background:var(--color-warning)}.dash-status__row.tone-red .dash-status__bar span{background:var(--color-danger)}.dash-status__meta{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-faint)}.dash-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-5)}.dash-figures--two{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dash-figure__value{font-size:var(--text-xl);font-weight:var(--weight-black);letter-spacing:-.02em;line-height:var(--leading-tight)}.dash-figure__label{margin-top:var(--space-1);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.dash-figure__note{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-faint)}.dash-feed{list-style:none;margin:0;padding:0}.dash-feed__row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.dash-feed__row:first-child{padding-top:0}.dash-feed__row:last-child{border-bottom:none;padding-bottom:0}.dash-feed__dot{width:10px;height:10px;border-radius:50%;flex:none;margin-top:5px;background:currentColor}.dash-feed__body{flex:1;min-width:0}.dash-feed__title{font-size:var(--text-base);font-weight:var(--weight-semibold)}.dash-feed__sub{font-size:var(--text-sm);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-feed__sub a{color:var(--color-accent-hover);font-weight:var(--weight-semibold);text-decoration:none}.dash-feed__sub a:hover{text-decoration:underline}.dash-feed__when{font-size:var(--text-xs);color:var(--color-text-faint);white-space:nowrap;flex:none}.dash-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.dash-actions .btn{text-decoration:none}@media (max-width: 720px){.dash-group__head{flex-direction:column;align-items:stretch}.dash-scope{align-self:flex-start}.dash-range .segmented{max-width:100%;overflow-x:auto}.dash-range__dates{flex-direction:column;align-items:stretch}.dash-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.ec-subnav{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-5);padding:var(--space-1);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-full);width:fit-content;max-width:100%}.ec-subnav a{padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-full);transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.ec-subnav a:hover{color:var(--color-text);background:var(--color-surface-hover)}.ec-subnav a.active{color:var(--color-text-on-accent);background:var(--color-accent)}.ec-reason{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-danger-text);word-break:break-word;max-width:320px}.sidebar .brand .logo svg{width:22px;height:22px;color:var(--color-text-on-accent)}.sidebar nav{display:flex;flex-direction:column}.topbar .who{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.topbar .who .role{font-size:var(--text-xs);color:var(--color-text-faint);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em}.topbar .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.page-head h1{font-size:var(--text-xl);font-weight:var(--weight-black);letter-spacing:-.02em}.page-head .sub{color:var(--color-text-faint);margin-top:var(--space-1);font-size:var(--text-base);max-width:720px;line-height:var(--leading-normal)}.page-head .actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.filters .f{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.filters .f>span{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint)}.filters .f--grow{flex:1 1 240px}.filters select,.filters input{min-width:130px;padding:8px 12px}.filters .f--grow input{width:100%}.filters .clear{align-self:flex-end}.list-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--color-text-faint);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.u-table th .th-sort{font-size:inherit}.u-table td.nowrap,.nowrap{white-space:nowrap}.u-table td.wrap{white-space:normal;min-width:180px}.u-table tr.is-selected{background:var(--color-accent-soft)}.u-table .cell-main{font-weight:var(--weight-semibold);color:var(--color-text)}.u-table .cell-sub{font-size:var(--text-sm);color:var(--color-text-faint);margin-top:2px}.u-table a.cell-main:hover{color:var(--color-accent-hover);text-decoration:underline}.u-table--wide{min-width:960px}.check-cell{width:36px}.check-cell input{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer;padding:0}.not-reported{font-style:italic;color:var(--color-text-faint);font-size:var(--text-sm)}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.faint{color:var(--color-text-faint)}.small{font-size:var(--text-sm)}.strong{font-weight:var(--weight-bold)}.media-dots{display:inline-flex;gap:var(--space-1)}.media-dot{width:24px;height:24px;border-radius:var(--radius-xs);display:grid;place-items:center;background:var(--color-surface-hover);color:var(--color-text-faint)}.media-dot svg{width:13px;height:13px}.media-dot.is-stored{background:var(--color-success-soft);color:var(--color-success-text)}.media-dot.is-uploading{background:var(--color-warning-soft);color:var(--color-warning-text)}.media-dot.is-deleted{background:var(--color-surface-hover);color:var(--color-text-faint);text-decoration:line-through}.media-dot.is-none{opacity:.45}.counts{display:inline-flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);font-size:var(--text-sm)}.counts .ok{color:var(--color-success-text);font-weight:var(--weight-semibold)}.counts .warn{color:var(--color-warning-text);font-weight:var(--weight-semibold)}.counts .bad{color:var(--color-danger-text);font-weight:var(--weight-semibold)}.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--space-5);align-items:start}.detail-grid>.col{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}@media (max-width: 1080px){.detail-grid{grid-template-columns:minmax(0,1fr)}}.hero{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}.hero .mark{width:56px;height:56px;border-radius:var(--radius-md);flex:none;display:grid;place-items:center;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:var(--color-text-on-accent);font-size:var(--text-lg);font-weight:var(--weight-bold);box-shadow:var(--shadow-accent)}.hero .mark svg{width:28px;height:28px}.hero .mark--neutral{background:var(--color-nav-bg-to);box-shadow:var(--shadow-sm)}.hero h1{font-size:var(--text-xl);font-weight:var(--weight-black);letter-spacing:-.02em;overflow-wrap:anywhere}.hero .meta{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-top:var(--space-1);color:var(--color-text-faint);font-size:var(--text-sm)}.hero .grow{flex:1;min-width:220px}.hero .actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.kvs{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-3) var(--space-5);margin:0}.kvs dt{color:var(--color-text-faint);font-size:var(--text-sm);font-weight:var(--weight-medium)}.kvs dd{margin:0;font-weight:var(--weight-semibold);font-size:var(--text-base);overflow-wrap:anywhere}.kvs dd .faint{font-weight:var(--weight-medium)}.callout{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-info) 28%,transparent);background:var(--color-info-soft);color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.callout svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--color-info)}.callout--warn{border-color:color-mix(in srgb,var(--color-warning) 32%,transparent);background:var(--color-warning-soft)}.callout--warn svg{color:var(--color-warning-text)}.callout--danger{border-color:color-mix(in srgb,var(--color-danger) 28%,transparent);background:var(--color-danger-soft);color:var(--color-danger-text)}.callout--danger svg{color:var(--color-danger)}.callout strong{color:var(--color-text)}.figure-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-4)}.figure{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border)}.figure__value{font-size:var(--text-lg);font-weight:var(--weight-black);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.figure__label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-semibold);margin-top:2px}.figure--ok .figure__value{color:var(--color-success-text)}.figure--warn .figure__value{color:var(--color-warning-text)}.figure--bad .figure__value{color:var(--color-danger-text)}.location-card{border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.location-card .coords{font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-bold)}.location-card .links{display:flex;gap:var(--space-2);flex-wrap:wrap}.media-list{display:flex;flex-direction:column;gap:var(--space-3)}.media-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.media-item__head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.media-item__icon{width:34px;height:34px;border-radius:var(--radius-xs);flex:none;display:grid;place-items:center;background:var(--color-accent-soft);color:var(--color-accent-hover)}.media-item__icon svg{width:17px;height:17px}.media-item__name{font-weight:var(--weight-bold)}.media-item__meta{font-size:var(--text-sm);color:var(--color-text-faint)}.media-item img{max-width:100%;max-height:420px;border-radius:var(--radius-xs);background:var(--color-surface-sunken);display:block}.media-item audio{width:100%}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 6px 4px 10px;border-radius:var(--radius-full);background:var(--color-surface-hover);border:1px solid var(--color-border);font-size:var(--text-sm);font-weight:var(--weight-semibold);max-width:100%}.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip button{border:none;background:none;cursor:pointer;color:var(--color-text-faint);width:20px;height:20px;border-radius:50%;line-height:1;font-size:var(--text-md);padding:0}.chip button:hover{background:var(--color-surface);color:var(--color-danger)}.picker{position:relative}.picker__results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:var(--z-dropdown);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:260px;overflow-y:auto;list-style:none;margin:0;padding:var(--space-1)}.picker__results button{width:100%;text-align:left;border:none;background:none;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);font-family:inherit;display:flex;flex-direction:column;gap:2px}.picker__results button:hover,.picker__results button:focus-visible{background:var(--color-surface-hover);outline:none}.picker__results .faint{font-size:var(--text-sm)}.picker__empty{padding:var(--space-3);font-size:var(--text-sm);color:var(--color-text-faint)}.opt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--space-2)}.opt{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-3);cursor:pointer;text-align:left;font-family:inherit;display:flex;flex-direction:column;gap:3px;transition:border-color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.opt:hover{background:var(--color-surface-hover)}.opt:focus-visible{outline:none;box-shadow:var(--focus-ring)}.opt strong{font-size:var(--text-base);color:var(--color-text)}.opt span{font-size:var(--text-sm);color:var(--color-text-faint);line-height:1.4}.opt--on{border-color:var(--color-accent);background:var(--color-accent-soft)}.opt--on strong{color:var(--color-accent-active)}.reach{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}.reach strong{font-size:var(--text-md);color:var(--color-text);font-variant-numeric:tabular-nums}.compose{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--space-6);align-items:start}.compose__side{position:sticky;top:calc(64px + var(--space-5));display:flex;flex-direction:column;gap:var(--space-4)}@media (max-width: 1180px){.compose{grid-template-columns:minmax(0,1fr)}.compose__side{position:static}}.email-frame{width:100%;height:520px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.help-list{margin:0;padding-left:var(--space-5);color:var(--color-text-faint);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.help-list code{font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-surface-hover);padding:1px 5px;border-radius:4px}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;flex-wrap:wrap;align-items:center}.radio-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.radio-row label{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-base)}.radio-row input{accent-color:var(--color-accent);width:16px;height:16px;padding:0}.nc-phone{background:linear-gradient(160deg,var(--color-android-frame-from) 0%,var(--color-android-frame-to) 100%);border-radius:26px;padding:var(--space-5);box-shadow:var(--shadow-lg)}.nc-phone__status{display:flex;justify-content:space-between;align-items:center;color:var(--color-android-status);font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-bottom:var(--space-4);padding:0 var(--space-1)}.nc-notif{background:var(--color-android-card);border-radius:18px;padding:var(--space-3) var(--space-4);font-family:"Roboto",var(--font-sans)}.nc-notif__head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-android-text);margin-bottom:var(--space-2)}.nc-notif__icon{width:16px;height:16px;border-radius:4px;background:var(--color-accent);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-on-accent);font-size:9px;font-weight:var(--weight-bold);flex-shrink:0}.nc-notif__dot{color:var(--color-android-faint)}.nc-notif__title{font-size:14px;font-weight:var(--weight-medium);color:var(--color-android-title);line-height:1.3;margin-bottom:2px;overflow-wrap:anywhere}.nc-notif__body{font-size:13px;color:var(--color-android-text);line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nc-notif__img{width:100%;height:130px;object-fit:cover;border-radius:12px;margin-top:var(--space-3);background:var(--color-android-img)}.nc-notif__empty{color:var(--color-android-faint);font-style:italic}.nc-phone__hint{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-android-hint);text-align:center;overflow-wrap:anywhere}.nc-phone__hint strong{color:var(--color-android-status)}.rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rules li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-faint)}.rules li:before{content:"";width:14px;height:14px;border-radius:50%;flex:none;border:2px solid var(--color-border-strong)}.rules li.ok{color:var(--color-success-text)}.rules li.ok:before{background:var(--color-success);border-color:var(--color-success)}.login-card .error{margin-bottom:var(--space-4)}.login-card--wide{width:460px;max-width:100%}.login-wrap{padding:var(--space-4)}.login-card{max-width:100%}.settings-tabs{overflow-x:auto;margin-bottom:var(--space-5)}.settings-tabs .u-tab{white-space:nowrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-grid .span-2{grid-column:1 / -1}@media (max-width: 760px){.form-grid{grid-template-columns:minmax(0,1fr)}}.perm-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.perm-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.perm-group h4{margin:0 0 var(--space-2);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint)}.perm-group .u-check{display:flex;margin-bottom:6px}.toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.toggle-row:last-child{border-bottom:none}.toggle-row .text strong{display:block;font-size:var(--text-base)}.toggle-row .text span{font-size:var(--text-sm);color:var(--color-text-faint);line-height:var(--leading-normal)}.json{font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word;margin:0;background:var(--color-surface-sunken);padding:var(--space-3);border-radius:var(--radius-xs);color:var(--color-text-muted)}.expand-btn{border:none;background:none;color:var(--color-accent-hover);font-weight:var(--weight-semibold);cursor:pointer;font-family:inherit;font-size:var(--text-sm);padding:0}.expand-btn:hover{text-decoration:underline}.dash-status__row.tone-blue .dash-status__bar span{background:var(--color-info)}.dash-status__row.tone-violet .dash-status__bar span{background:var(--color-special)}.region-table td,.region-table th{padding-left:var(--space-3);padding-right:var(--space-3)}.boot{min-height:100vh;display:grid;place-items:center;background:var(--color-bg)}@media (max-width: 720px){.topbar{padding:0 var(--space-4)}.topbar .who{display:none}.page-head h1,.hero h1{font-size:var(--text-lg)}.filters{padding:var(--space-3)}.filters .f,.filters select,.filters input{width:100%;min-width:0}.filters .f{flex:1 1 140px}.kvs{grid-template-columns:minmax(0,1fr);gap:2px var(--space-3)}.kvs dd{margin-bottom:var(--space-2)}.u-card__head,.u-pagination{flex-wrap:wrap}.email-frame{height:420px}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-size:var(--text-base)}a{color:var(--color-accent-hover);text-decoration:none}h1,h2,h3{margin:0}.layout{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--color-nav-text);display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}.sidebar .brand{display:flex;align-items:center;gap:11px;padding:4px 8px 22px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar .brand .logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-600) 100%);display:grid;place-items:center;box-shadow:var(--shadow-accent-logo)}.sidebar .brand .name{color:var(--color-text-on-accent);font-weight:700;font-size:15px;line-height:1.2}.sidebar .brand .tag{color:var(--color-nav-text-dim);font-size:11px;font-weight:500}.sidebar .nav-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:14px 12px 8px}.sidebar a{display:flex;align-items:center;gap:12px;color:var(--color-nav-text-muted);padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;margin-bottom:2px;transition:all .15s ease}.sidebar a svg{width:18px;height:18px;flex-shrink:0}.sidebar a:hover{background:var(--color-nav-hover-bg);color:var(--color-nav-text-hover)}.sidebar a.active{background:linear-gradient(135deg,rgba(var(--color-accent-rgb),.2),rgba(var(--color-accent-rgb),.08));color:var(--color-text-on-accent);box-shadow:inset 3px 0 0 var(--teal)}.sidebar .spacer{flex:1}.sidebar .logout{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;width:100%;color:var(--color-nav-text-muted);padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;font-family:inherit;transition:all .15s ease}.sidebar .logout:hover{background:var(--color-nav-danger-bg);color:var(--color-nav-danger-text)}.sidebar .logout svg{width:18px;height:18px}.content{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:64px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.topbar .title{font-size:17px;font-weight:700}.topbar .user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2);font-weight:500}.topbar .avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal-600));color:var(--color-text-on-accent);display:grid;place-items:center;font-weight:700;font-size:14px}.main{padding:28px;max-width:1320px;width:100%}.section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:28px 0 14px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.dash-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}@media (max-width: 1500px){.dash-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.dash-cards{grid-template-columns:minmax(0,1fr)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stat-card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.stat-card .icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center}.stat-card .icon svg{width:21px;height:21px}.stat-card .label{font-size:13px;color:var(--text-2);font-weight:500}.stat-card .value{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:2px}.stat-card .sub{font-size:12px;color:var(--muted);margin-top:6px;font-weight:500}.ic-teal{background:var(--teal-soft);color:var(--teal-600)}.ic-green{background:var(--green-bg);color:var(--green)}.ic-blue{background:var(--blue-bg);color:var(--blue)}.ic-amber{background:var(--amber-bg);color:var(--amber)}.ic-violet{background:var(--violet-bg);color:var(--violet)}.ic-red{background:var(--red-bg);color:var(--red)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:22px;overflow:hidden}.panel-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-head h3{font-size:15px;font-weight:700}.panel-body{padding:22px}.panel-body.flush{padding:0}.row{display:flex;gap:22px;flex-wrap:wrap}.row>.panel{flex:1;min-width:300px}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;padding:13px 22px;background:var(--color-surface-alt);color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}tbody td{padding:15px 22px;border-bottom:1px solid var(--border);color:var(--text)}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--color-surface-alt)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll>table{min-width:940px}.dense-table thead th,.dense-table tbody td{padding-left:14px;padding-right:14px}.cell-email{font-weight:600}.cell-link{color:var(--teal-600);font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.green{background:var(--green-bg);color:var(--color-success-text)}.badge.red{background:var(--red-bg);color:var(--color-danger-text)}.badge.gray{background:var(--color-surface-hover);color:var(--color-nav-text-dim)}.badge.amber{background:var(--amber-bg);color:var(--color-warning-text)}.badge.violet{background:var(--violet-bg);color:var(--violet-text)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.platform-badges{display:inline-flex;flex-wrap:wrap;gap:4px}.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;padding:10px 18px;border-radius:10px;border:none;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;background:linear-gradient(135deg,var(--teal),var(--teal-600));color:var(--color-text-on-accent);transition:all .15s ease;box-shadow:var(--shadow-accent)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-accent-hover)}.btn.secondary{background:var(--surface);color:var(--text-2);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm)}.btn.secondary:hover{background:var(--color-surface-alt);box-shadow:var(--shadow)}.btn.danger{background:linear-gradient(135deg,var(--color-danger),var(--color-danger-strong));box-shadow:var(--shadow-sm)}.btn.danger:hover{box-shadow:var(--shadow-md)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn svg{width:16px;height:16px}input,select{padding:10px 14px;border:1px solid var(--border-strong);border-radius:10px;font-size:14px;font-family:inherit;outline:none;background:var(--surface);color:var(--text);transition:border .15s,box-shadow .15s}input::placeholder{color:var(--muted)}input:focus,select:focus{border-color:var(--teal);box-shadow:var(--focus-ring)}select{cursor:pointer}.toolbar{display:flex;gap:11px;margin-bottom:18px;flex-wrap:wrap;align-items:center}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted)}.search-wrap input{padding-left:38px;min-width:260px}.pagination{display:flex;gap:12px;align-items:center;padding:16px 22px;border-top:1px solid var(--border)}.muted{color:var(--muted);font-size:13px}.spacer-x{flex:1}.loading,.empty{padding:60px 20px;text-align:center;color:var(--muted);font-size:14px}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;margin:0 auto 14px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background:var(--red-bg);color:var(--color-danger-text);padding:14px 18px;border-radius:12px;font-size:14px;font-weight:500;margin-bottom:16px;border:1px solid var(--color-danger-border)}.detail-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}.detail-head .avatar-lg{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--teal),var(--teal-600));color:var(--color-text-on-accent);display:grid;place-items:center;font-size:22px;font-weight:700}.detail-head h1{font-size:22px;font-weight:800;letter-spacing:-.02em}.kv{display:flex;flex-direction:column;gap:14px}.kv .item{display:flex;justify-content:space-between;align-items:center;gap:16px}.kv .item .k{color:var(--muted);font-size:13px}.kv .item .v{font-weight:600;font-size:13px;text-align:right;word-break:break-all}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:500;margin-bottom:6px}.back-link:hover{color:var(--text-2)}.manage-actions{display:flex;flex-direction:column;gap:14px}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--navy) 0%,var(--color-nav-bg-mid) 50%,var(--navy-2) 100%);position:relative;overflow:hidden}.login-wrap:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(var(--color-accent-rgb),.2),transparent 70%);top:-120px;right:-120px}.login-wrap:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--color-info) 14%,transparent),transparent 70%);bottom:-140px;left:-100px}.login-card{position:relative;z-index:1;background:var(--surface);border-radius:20px;padding:40px;width:400px;box-shadow:var(--shadow-lg)}.login-card .logo{width:56px;height:56px;border-radius:15px;margin:0 auto 18px;background:linear-gradient(135deg,var(--teal),var(--teal-600));display:grid;place-items:center;box-shadow:var(--shadow-accent-hover)}.login-card .logo svg{width:30px;height:30px;color:var(--color-text-on-accent)}.login-card .brand{text-align:center;font-size:22px;font-weight:800;letter-spacing:-.02em}.login-card .sub{text-align:center;color:var(--muted);font-size:13px;margin:4px 0 28px}.login-card label{display:block;font-size:13px;margin-bottom:7px;font-weight:600;color:var(--text-2)}.login-card .input-wrap{position:relative;margin-bottom:18px}.login-card .input-wrap svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}.login-card .input-wrap input{width:100%;padding-left:42px}.login-card .btn{width:100%;padding:12px;margin-top:4px}.login-foot{text-align:center;color:var(--muted);font-size:12px;margin-top:22px}@media (max-width: 720px){.sidebar{width:64px;padding:18px 8px}.sidebar .brand .name,.sidebar .brand .tag,.sidebar .nav-label,.sidebar a span,.sidebar .logout span{display:none}.sidebar a,.sidebar .logout{justify-content:center}.main{padding:18px}}.journey-track{display:inline-flex;gap:5px;align-items:center}.journey-dot{width:9px;height:9px;border-radius:50%;background:var(--color-surface-hover);border:1px solid var(--border-strong)}.journey-dot.done{background:var(--teal);border-color:var(--teal)}.toolbar.journey-filters{margin-top:-8px}.toolbar .filter-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.toolbar .btn.link{background:none;border:none;box-shadow:none;padding:6px 8px;color:var(--teal-600);font-weight:600}.toolbar .btn.link:hover{transform:none;box-shadow:none;text-decoration:underline}.journey-steps{list-style:none;margin:0;padding:0}.journey-steps li{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--muted)}.journey-steps li:last-child{border-bottom:none}.journey-steps li.done{color:var(--text)}.journey-steps .mark{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--color-surface-hover);color:var(--muted)}.journey-steps li.done .mark{background:var(--green-bg);color:var(--color-success-text)}.journey-steps .label{font-weight:600}.journey-steps .at{margin-left:auto;font-size:12.5px;color:var(--muted)}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--color-surface-hover);border:1px solid var(--border);border-radius:var(--radius-sm)}.segmented button{border:none;background:none;cursor:pointer;padding:6px 13px;border-radius:var(--radius-xs);font-size:13px;font-weight:600;color:var(--text-2);font-family:inherit;white-space:nowrap}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--color-surface);color:var(--teal-600);box-shadow:var(--shadow-sm)}.breakdown{display:flex;flex-direction:column;gap:2px}.breakdown-row{display:grid;align-items:center;gap:10px;grid-template-columns:minmax(70px,1fr) 2fr auto 36px;padding:7px 9px;border:none;background:none;cursor:pointer;border-radius:var(--radius-xs);font-family:inherit;font-size:13px;color:var(--text);text-align:left;width:100%}.breakdown-row:hover{background:var(--color-surface-hover)}.breakdown-row.active{background:var(--teal-bg, var(--color-surface-hover))}.breakdown-row.active .breakdown-name{color:var(--teal-600);font-weight:700}.breakdown-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-bar{height:6px;border-radius:var(--radius-full);background:var(--color-surface-hover);overflow:hidden}.breakdown-bar>span{display:block;height:100%;background:var(--teal);border-radius:inherit}.breakdown-count{font-weight:700;font-variant-numeric:tabular-nums}.breakdown-share{font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.th-sort{display:inline-flex;align-items:center;gap:5px;border:none;background:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.th-sort:hover,.th-sort.active{color:var(--teal-600)}.th-arrow{font-size:10px;opacity:.55}.th-sort.active .th-arrow{opacity:1}.notice{padding:11px 15px;margin-bottom:16px;border:1px solid var(--border);border-left:3px solid var(--teal);background:var(--color-surface);border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-2)}.panel-head .segmented+.spacer-x{margin-left:4px}.panel-head select,.panel-head .btn{margin-left:8px}.breakdown-row--na .breakdown-name{font-style:italic;color:var(--text-2);font-weight:600}.breakdown-row--na .breakdown-bar>span{background:var(--color-border-strong)}.btn-details{padding:5px 12px;font-size:12.5px}.details-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--color-border);font-size:12.5px}.details-kv .item{align-items:flex-start}.detail-missing{font-style:italic;font-weight:500;color:var(--muted)}
