@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--ui-brand:var(--accent-primary,#6366f1);--ui-brand-strong:var(--accent-dark,#4f46e5);--ui-fg:var(--text-primary,#111827);--ui-fg-subtle:var(--text-secondary,#374151);--ui-fg-muted:var(--text-muted,#6b7280);--ui-fg-on-brand:#fff;--ui-surface:var(--bg-card,#fff);--ui-surface-sunken:var(--bg-primary,#f9fafb);--ui-surface-hover:var(--bg-hover,#f3f4f6);--ui-border:var(--border-light,#e5e7eb);--ui-border-strong:var(--border,#d1d5db);--ui-danger:var(--danger,#dc2626);--ui-danger-bg:var(--danger-bg,#dc262614);--ui-danger-fg:var(--danger-text,#b91c1c);--ui-danger-line:color-mix(in srgb, var(--ui-danger) 28%, transparent);--ui-success-bg:var(--success-bg,#16a34a1f);--ui-success-fg:var(--success-text,#15803d);--ui-warning-bg:var(--warning-bg,#f59e0b24);--ui-warning-fg:var(--warning-text,#b45309);--ui-info-bg:var(--info-bg,#6366f11f);--ui-info-fg:var(--info-text,#4f46e5);--ui-neutral-bg:var(--neutral-bg,#64748b24);--ui-neutral-fg:var(--neutral-text,#475569);--ui-card-pad:16px;--ui-card-radius:12px;--ui-card-gap:16px;--ui-fs-badge:11px;--ui-fs-sm:12px;--ui-fs-md:13px;--ui-fs-label:12px;--ui-h-sm:28px;--ui-h-md:34px;--ui-radius:8px;--ui-radius-pill:999px;--ui-z-dropdown:100;--ui-z-modal:500;--ui-z-modal-top:1500;--ui-z-toast:2000;--ui-overlay:#0f172a73;--ui-transition:.15s ease}.ui-btn{box-sizing:border-box;border-radius:var(--ui-radius);white-space:nowrap;cursor:pointer;transition:background var(--ui-transition), border-color var(--ui-transition), opacity var(--ui-transition);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:600;line-height:1;display:inline-flex}.ui-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-brand) 32%, transparent);outline:none}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn[data-loading=true]{cursor:progress;opacity:.75}.ui-btn--md{height:var(--ui-h-md);font-size:var(--ui-fs-md);padding:0 16px}.ui-btn--sm{height:var(--ui-h-sm);font-size:var(--ui-fs-sm);padding:0 11px}.ui-btn--block{width:100%}.ui-btn--icon-only.ui-btn--md{width:var(--ui-h-md);padding:0}.ui-btn--icon-only.ui-btn--sm{width:var(--ui-h-sm);padding:0}.ui-btn--primary{background:var(--ui-brand);color:var(--ui-fg-on-brand);border-color:#0000}.ui-btn--primary:hover:not(:disabled){filter:brightness(.94)}.ui-btn--secondary{background:var(--ui-surface);color:var(--ui-fg-subtle);border-color:var(--ui-border-strong)}.ui-btn--secondary:hover:not(:disabled){background:var(--ui-surface-hover)}.ui-btn--ghost{color:var(--ui-fg-subtle);background:0 0;border-color:#0000}.ui-btn--ghost:hover:not(:disabled){background:var(--ui-surface-hover)}.ui-btn--danger{background:var(--ui-danger-bg);color:var(--ui-danger);border-color:var(--ui-danger-line)}.ui-btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--ui-danger) 14%, transparent)}.ui-btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:1em;height:1em;animation:.6s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-btn__spinner{animation-duration:2s}.ui-btn{transition:none}}.ui-field{margin-bottom:14px;display:block}.ui-field-row{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.ui-field-row>.ui-field{margin-bottom:0}.ui-field__label{font-size:var(--ui-fs-label);color:var(--ui-fg-subtle);margin-bottom:5px;font-weight:600;display:block}.ui-field__req{color:var(--ui-danger);margin-left:3px}.ui-field__row{align-items:center;gap:8px;display:flex}.ui-field__row>:first-child{flex:1;min-width:0}.ui-field__suffix{font-size:var(--ui-fs-sm);color:var(--ui-fg-muted);flex-shrink:0}.ui-field__hint{font-size:var(--ui-fs-sm);color:var(--ui-fg-muted);margin-top:4px;line-height:1.6}.ui-field__error{font-size:var(--ui-fs-sm);color:var(--ui-danger);margin-top:4px;line-height:1.6}.ui-control{box-sizing:border-box;width:100%;min-height:var(--ui-h-md);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-fg);font-family:inherit;font-size:var(--ui-fs-md);transition:border-color var(--ui-transition), box-shadow var(--ui-transition);padding:7px 11px}.ui-control::placeholder{color:var(--ui-fg-muted)}.ui-control:focus{border-color:var(--ui-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-brand) 32%, transparent);outline:none}.ui-control:disabled{background:var(--ui-surface-sunken);color:var(--ui-fg-muted);cursor:not-allowed}.ui-control[aria-invalid=true]{border-color:var(--ui-danger)}.ui-control[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-danger) 24%, transparent)}textarea.ui-control{resize:vertical;min-height:72px;line-height:1.6}select.ui-control{cursor:pointer}.ui-card{box-sizing:border-box;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-card-radius);margin-bottom:var(--ui-card-gap)}.ui-card__head{padding:12px var(--ui-card-pad);border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;gap:12px;display:flex}.ui-card__title{font-size:var(--ui-fs-md);color:var(--ui-fg);font-weight:600}.ui-card__extra{flex-shrink:0;align-items:center;gap:8px;display:flex}.ui-card__body{padding:var(--ui-card-pad)}.ui-card--sunken{background:var(--ui-surface-sunken)}.ui-card--selected{border-color:var(--ui-brand)}.ui-card--invalid{border-color:var(--ui-danger)}.ui-card--flush>.ui-card__body{padding:0}.ui-card--flush>.ui-card__head{padding:12px var(--ui-card-pad)}.ui-card-grid{gap:var(--ui-card-gap);margin-bottom:var(--ui-card-gap);display:grid}.ui-card-grid>.ui-card{margin-bottom:0}.ui-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1200px){.ui-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.ui-card-grid--2,.ui-card-grid--3,.ui-card-grid--4{grid-template-columns:minmax(0,1fr)}}.ui-badge{border-radius:var(--ui-radius-pill);font-size:var(--ui-fs-badge);white-space:nowrap;vertical-align:middle;border:1px solid #0000;align-items:center;gap:4px;padding:2px 9px;font-weight:600;line-height:1.5;display:inline-flex}.ui-badge--success{background:var(--ui-success-bg);color:var(--ui-success-fg)}.ui-badge--warning{background:var(--ui-warning-bg);color:var(--ui-warning-fg)}.ui-badge--danger{background:var(--ui-danger-bg);color:var(--ui-danger-fg)}.ui-badge--info{background:var(--ui-info-bg);color:var(--ui-info-fg)}.ui-badge--neutral{background:var(--ui-neutral-bg);color:var(--ui-neutral-fg)}.ui-badge--accent{background:color-mix(in srgb, var(--ui-brand) 10%, transparent);color:var(--ui-brand)}.ui-badge--outline{border-color:color-mix(in srgb, currentColor 32%, transparent)}.ui-callout{box-sizing:border-box;margin-bottom:var(--ui-card-gap);border-radius:var(--ui-card-radius);font-size:var(--ui-fs-md);border:1px solid #0000;align-items:flex-start;gap:8px;padding:11px 14px;line-height:1.75;display:flex}.ui-callout__title{margin-bottom:2px;font-weight:600}.ui-callout__body{min-width:0}.ui-callout--accent{background:color-mix(in srgb, var(--ui-brand) 8%, transparent);border-color:color-mix(in srgb, var(--ui-brand) 24%, transparent);color:color-mix(in srgb, var(--ui-brand) 78%, #000)}.ui-callout--info{background:var(--ui-info-bg);border-color:color-mix(in srgb, var(--ui-info-fg) 24%, transparent);color:var(--ui-info-fg)}.ui-callout--success{background:var(--ui-success-bg);border-color:color-mix(in srgb, var(--ui-success-fg) 24%, transparent);color:var(--ui-success-fg)}.ui-callout--warning{background:var(--ui-warning-bg);border-color:color-mix(in srgb, var(--ui-warning-fg) 24%, transparent);color:var(--ui-warning-fg)}.ui-callout--danger{background:var(--ui-danger-bg);border-color:var(--ui-danger-line);color:var(--ui-danger-fg)}.ui-modal{z-index:var(--ui-z-modal);background:var(--ui-overlay);justify-content:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.ui-modal--layer-top{z-index:var(--ui-z-modal-top)}.ui-modal--center{align-items:center}.ui-modal--top{align-items:flex-start;padding-top:8vh}.ui-modal__panel{box-sizing:border-box;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;outline:none;flex-direction:column;width:100%;max-height:86vh;display:flex;box-shadow:0 20px 60px #0000002e}.ui-modal__panel--sm{max-width:420px}.ui-modal__panel--md{max-width:560px}.ui-modal__panel--lg{max-width:760px}.ui-modal__panel--xl{max-width:1080px}.ui-modal__head{border-bottom:1px solid var(--ui-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.ui-modal__title{color:var(--ui-fg);font-size:15px;font-weight:600}.ui-modal__close{border-radius:var(--ui-radius);width:28px;height:28px;color:var(--ui-fg-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-modal__close:hover{background:var(--ui-surface-hover);color:var(--ui-fg)}.ui-modal__close:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-brand) 32%, transparent);outline:none}.ui-modal__body{flex:1;min-height:0;padding:20px;overflow-y:auto}.ui-modal__body--fill{flex-direction:column;display:flex;overflow:hidden}.ui-modal__foot{border-top:1px solid var(--ui-border);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px;display:flex}.ui-grid{gap:var(--ui-card-gap);margin-bottom:var(--ui-card-gap);display:grid}.ui-grid:last-child{margin-bottom:0}.ui-grid--gap-sm{gap:8px}.ui-grid>.ui-card{margin-bottom:0}.ui-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1200px){.ui-grid--6{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-grid--4,.ui-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.ui-grid--6{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-grid--4,.ui-grid--3,.ui-grid--2{grid-template-columns:minmax(0,1fr)}}.ui-pagehead{color:var(--ui-fg);align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.ui-pagehead:last-child{margin-bottom:0}.ui-pagehead__back{border-radius:var(--ui-radius);width:30px;height:30px;color:var(--ui-fg-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-pagehead__back:hover{background:var(--ui-surface-hover);color:var(--ui-fg)}.ui-pagehead__back:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-brand) 32%, transparent);outline:none}.ui-pagehead__text{flex:1;min-width:0}.ui-pagehead__title{color:var(--ui-fg);margin:0;font-size:20px;font-weight:600;line-height:1.4}.ui-pagehead__sub{font-size:var(--ui-fs-sm);color:var(--ui-fg-muted);margin-top:4px;line-height:1.6}.ui-pagehead__actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.ui-empty{text-align:center;flex-direction:column;align-items:center;padding:48px 24px;display:flex}.ui-empty__icon{background:color-mix(in srgb, var(--ui-brand) 8%, transparent);width:56px;height:56px;color:var(--ui-brand);border-radius:16px;place-items:center;margin-bottom:16px;display:grid}.ui-empty__title{color:var(--ui-fg);margin-bottom:8px;font-size:15px;font-weight:600}.ui-empty__desc{max-width:420px;font-size:var(--ui-fs-md);color:var(--ui-fg-muted);line-height:1.75}.ui-empty__action{margin-top:20px}.ui-stat{box-sizing:border-box;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-card-radius);justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.ui-stat__main{min-width:0}.ui-stat__label{font-size:var(--ui-fs-sm);color:var(--ui-fg-muted);margin-bottom:4px}.ui-stat__value{color:var(--ui-fg);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;line-height:1.3}.ui-stat__value--muted{color:var(--ui-fg-muted)}.ui-stat__value--success{color:var(--ui-success-fg)}.ui-stat__value--warning{color:var(--ui-warning-fg)}.ui-stat__value--danger{color:var(--ui-danger-fg)}.ui-stat__unit{font-size:var(--ui-fs-sm);color:var(--ui-fg-muted);margin-left:3px;font-weight:400}.ui-stat__note{font-size:var(--ui-fs-sm);color:var(--ui-fg-muted);margin-top:3px;line-height:1.5}.ui-stat__extra{flex-shrink:0}.ui-tabs{background:color-mix(in srgb, var(--ui-brand) 9%, transparent);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:inline-flex}.ui-tab{font-family:inherit;font-size:var(--ui-fs-md);color:var(--ui-fg-subtle);white-space:nowrap;cursor:pointer;transition:background var(--ui-transition), color var(--ui-transition);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 16px;font-weight:500;display:inline-flex}.ui-tab:hover:not(:disabled):not([aria-selected=true]){background:color-mix(in srgb, var(--ui-surface) 60%, transparent);color:var(--ui-fg)}.ui-tab:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-brand) 32%, transparent);outline:none}.ui-tab[aria-selected=true]{background:var(--ui-surface);color:var(--ui-brand);font-weight:600;box-shadow:0 1px 3px #0000000f}.ui-tab:disabled{opacity:.45;cursor:not-allowed}.ui-tab__badge{border-radius:var(--ui-radius-pill);background:color-mix(in srgb, var(--ui-brand) 14%, transparent);min-width:18px;font-size:var(--ui-fs-badge);text-align:center;padding:1px 6px;font-weight:600}*{box-sizing:border-box;margin:0;padding:0}:root{--rose-50:#fff5f7;--rose-100:#ffe4eb;--rose-150:#ffd6de;--rose-200:#ffb4c6;--rose-300:#ff7a95;--rose-400:#f4587a;--rose-500:#e8365d;--rose-600:#d42a50;--rose-700:#c9264e;--rose-800:#9b1339;--rose-900:#6b1530;--bg-primary:#fef7f8;--bg-secondary:#fff;--bg-card:#fff;--bg-hover:#ffe9ef;--bg-active:#ffd6de;--border:#ffb4c6;--border-light:#ffd6de;--text-primary:#3d0a1a;--text-secondary:#7a3049;--text-muted:#b06080;--text-muted-strong:#8f4463;--accent-primary:#e8365d;--accent-light:#ff7a95;--accent-dark:#9b1339;--success:#22c55e;--success-light:#86efac;--warning:#f59e0b;--danger:#dc2626;--info:#6366f1;--success-bg:#22c55e1f;--success-text:#15803d;--warning-bg:#f59e0b24;--warning-text:#b45309;--danger-bg:#dc26261a;--danger-text:#b91c1c;--info-bg:#6366f11f;--info-text:#4f46e5;--neutral-bg:#64748b24;--neutral-text:#475569;--accent-bg:#e8365d1a;--gradient-1:linear-gradient(135deg, #e8365d 0%, #ff7a95 100%);--gradient-nav-active:linear-gradient(135deg, #c9264e 0%, #dc3057 100%);--gradient-2:linear-gradient(135deg, #c9264e 0%, #e8365d 100%);--gradient-3:linear-gradient(135deg, #9b1339 0%, #e8365d 100%);--gradient-soft:linear-gradient(135deg, #fff0f4 0%, #ffe4eb 100%);--gradient-card:linear-gradient(135deg, #fff5f7 0%, #ffe4eb 100%);--sidebar-width:260px;--shadow-sm:0 1px 3px #e8365d14;--shadow-md:0 4px 12px #e8365d1a;--shadow-lg:0 8px 24px #e8365d1f;--ctxbar-h:48px;--ctxbar-bg:#ffffffd9;--ctxbar-blur:12px;--ctxbar-border:var(--border-light);--ctxbar-pad-x:24px;--ctxbar-gap-zone:16px;--ctxbar-gap-item:10px;--ctxbar-gap-tight:6px;--ctxbar-toggle-bg:#e8365d14;--ctxbar-toggle-bg-hover:#e8365d29;--ctxbar-toggle-border:#e8365d33;--ctxbar-toggle-color:var(--accent-primary);--crumb-fs:.78rem;--crumb-color:var(--text-muted);--crumb-color-current:var(--text-primary);--crumb-sep-color:var(--border);--crumb-max-w:220px;--track-static-bg:var(--bg-primary);--track-static-border:var(--border-light);--track-static-color:var(--text-secondary);--track-error-bg:#f59e0b1a;--track-error-border:#f59e0b40;--track-error-color:#b45309}.narrow-screen-notice{display:none}@media (width<=768px){.narrow-screen-notice{z-index:300;background:var(--bg-primary);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.narrow-screen-notice__card{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:340px;display:flex}.narrow-screen-notice__card h2{color:var(--text-primary);font-size:1.1rem;font-weight:800}.narrow-screen-notice__card p{color:var(--text-secondary);font-size:.82rem;line-height:1.7}.narrow-screen-notice__card p.narrow-screen-notice__hint{color:var(--text-muted);font-size:.76rem}.narrow-screen-notice__card button{cursor:pointer;color:var(--text-muted);border:1px solid var(--border);background:0 0;border-radius:8px;margin-top:8px;padding:8px 16px;font-size:.76rem;font-weight:600;transition:color .2s,border-color .2s}.narrow-screen-notice__card button:hover{color:var(--accent-primary);border-color:var(--accent-primary)}}.ctxbar-toggle{cursor:pointer;background:var(--ctxbar-toggle-bg);border:1px solid var(--ctxbar-toggle-border);width:34px;height:34px;color:var(--ctxbar-toggle-color);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s;display:flex}.ctxbar-toggle:hover{background:var(--ctxbar-toggle-bg-hover)}@media (width<=1279px){:root{--crumb-max-w:140px;--ctxbar-pad-x:16px}}@media (width<=1023px){.ctxbar-crumb-group,.ctxbar-track-name{display:none}}@media (width<=768px){.app-layout{--sidebar-width:0px!important}}@media (width<=767px){.ctxbar-brand,.ctxbar-user-name{display:none}}body{background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--rose-50)}::-webkit-scrollbar-thumb{background:var(--rose-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--rose-400)}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:2px 0 8px #e8365d0d}.sidebar-logo{border-bottom:1px solid var(--border);padding:20px 20px 16px}.sidebar-logo .sidebar-brand{background:var(--gradient-1);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-size:1.25rem;font-weight:800}.sidebar-logo p{color:var(--text-muted);margin-top:2px;font-size:.7rem}.sidebar-nav{flex:1;padding:12px 8px}.nav-section-title{color:var(--text-muted-strong);letter-spacing:.5px;text-align:left;background:0 0;border:none;width:100%;padding:12px 12px 6px;font-family:inherit;font-size:.7rem;font-weight:600}.nav-item{color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--gradient-nav-active);color:#fff;box-shadow:var(--shadow-md)}.nav-item:focus-visible,.nav-section-title:focus-visible,.sidebar-logout:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}.nav-item.active:focus-visible{outline-color:var(--text-primary)}.nav-item svg{flex-shrink:0;width:18px;height:18px}.main-content{margin-left:var(--sidebar-width);background:var(--bg-primary);flex:1;min-height:100vh}.page-header{padding:24px 32px 0}.page-header h2{color:var(--text-primary);margin-bottom:4px;font-size:1.5rem;font-weight:700}.page-header p{color:var(--text-secondary);font-size:.85rem}.page-content{padding:20px 32px 32px}.card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:14px;padding:20px;transition:all .2s}.card:hover{box-shadow:var(--shadow-md);border-color:var(--rose-300)}.card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.75rem;font-weight:600}.card-value{color:var(--text-primary);font-size:1.75rem;font-weight:700}.card-change{margin-top:4px;font-size:.75rem}.card-change.positive{color:var(--rose-600)}.card-change.negative{color:var(--danger)}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.status-badge{border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.status-badge.running{background:var(--rose-100);color:var(--rose-700)}.status-badge.idle,.status-badge.paused{color:#92400e;background:#fef3c7}.status-badge.training{background:var(--rose-150);color:var(--rose-800)}.status-badge.error{color:#991b1b;background:#fee2e2}.status-dot{border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.status-dot.running{background:var(--rose-600)}.status-dot.idle,.status-dot.paused{background:#d97706}.status-dot.training{background:var(--rose-500)}.status-dot.error{background:#dc2626}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border);background:var(--rose-50);padding:10px 12px;font-size:.7rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-light);color:var(--text-secondary);padding:12px;font-size:.85rem}.data-table tr:hover td{background:var(--bg-hover)}.data-table.compact th{text-transform:none;letter-spacing:0;border-bottom:1px solid var(--border-light);white-space:nowrap;background:0 0;padding:10px 12px;font-size:.7rem}.data-table.compact td{padding:10px 12px;font-size:.76rem}.cluster-tag{border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.progress-bar{background:var(--rose-100);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{border-radius:3px;height:100%;transition:width .5s}.pipeline-step{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:16px;padding:16px;display:flex}.pipeline-step-number{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:flex}.pipeline-arrow{color:var(--rose-300);justify-content:center;align-items:center;padding:4px 0;display:flex}.tabs{background:var(--rose-100);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:.8rem;font-weight:500;transition:all .15s}.tab:hover{color:var(--text-primary);background:var(--rose-50)}.tab.active{color:var(--rose-700);box-shadow:var(--shadow-sm);background:#fff;font-weight:600}.event-item{border-bottom:1px solid var(--border-light);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.event-item:last-child{border-bottom:none}.event-type{background:var(--rose-100);color:var(--rose-700);white-space:nowrap;border-radius:4px;padding:2px 8px;font-family:SF Mono,Fira Code,monospace;font-size:.75rem}.agent-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;padding:16px;transition:all .2s}.agent-card:hover{border-color:var(--rose-400);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.agent-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.agent-card-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.agent-card-role{color:var(--text-secondary);margin-bottom:8px;font-size:.75rem}.agent-card-stats{gap:16px;margin-top:10px;display:flex}.agent-stat{color:var(--text-muted);font-size:.7rem}.agent-stat span{color:var(--text-primary);font-weight:600}.platform-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.platform-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex}.platform-info{flex:1;min-width:0}.platform-name{font-size:.85rem;font-weight:600}.platform-metrics{gap:12px;margin-top:4px;display:flex}.platform-metric{color:var(--text-muted);font-size:.7rem}.platform-metric span{color:var(--text-primary);font-weight:500}.section-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:16px;font-size:1rem;font-weight:600;display:flex}.recharts-text{fill:var(--text-muted)!important;font-size:.7rem!important}.recharts-cartesian-grid line{stroke:var(--border-light)!important}.douyin-badge{background:var(--rose-100);color:var(--rose-800);border-radius:6px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.xiaohongshu-badge{background:var(--gradient-soft);color:var(--rose-700);border-radius:6px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.mobile-layout{background:var(--bg-primary);max-width:430px;min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden}.mobile-header{z-index:50;border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-header h1{color:var(--text-primary);font-size:1.1rem;font-weight:700}.mobile-content{padding:16px 16px 80px}.mobile-tab-bar{border-top:1px solid var(--border-light);width:100%;max-width:430px;padding:6px 0 env(safe-area-inset-bottom,8px);z-index:50;background:#fff;justify-content:space-around;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 8px #e8365d0f}.mobile-tab{color:var(--text-muted);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;font-size:.6rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.mobile-tab:hover{color:var(--rose-500)}.mobile-tab.active{color:var(--rose-600);font-weight:700}.mobile-tab.active svg{color:var(--rose-600)}.mobile-tab svg{width:22px;height:22px}.mobile-card{box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;border-radius:14px;margin-bottom:12px;padding:16px}.mobile-card-title{color:var(--text-primary);margin-bottom:10px;font-size:.85rem;font-weight:600}.mobile-kpi{gap:8px;margin-bottom:16px;display:flex}.mobile-kpi-item{text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;border-radius:12px;flex:1;padding:12px 10px}.mobile-kpi-value{color:var(--rose-700);font-size:1.2rem;font-weight:700}.mobile-kpi-label{color:var(--text-muted);margin-top:2px;font-size:.6rem}.material-card{box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;border-radius:12px;margin-bottom:12px;overflow:hidden}.material-card-thumb{background:var(--gradient-soft);justify-content:center;align-items:center;width:100%;height:160px;display:flex}.material-card-body{padding:12px}.mobile-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.mobile-btn-primary{background:var(--gradient-1);color:#fff;box-shadow:var(--shadow-md)}.mobile-btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.mobile-btn-outline{color:var(--rose-600);border:1px solid var(--rose-300);background:#fff}.video-player{aspect-ratio:9/16;background:var(--gradient-3);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:100%;font-size:2rem;display:flex}.beauty-card{border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;gap:12px;margin-bottom:10px;padding:12px;display:flex}.beauty-card-poster{background:var(--gradient-soft);width:80px;height:107px;color:var(--rose-400);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.beauty-card-info{flex:1;min-width:0}.beauty-card-info h3{margin-bottom:4px;font-size:.9rem;font-weight:600}.beauty-card-info p{color:var(--text-muted);font-size:.7rem}.task-item{border:1px solid var(--border-light);background:#fff;border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.task-item-icon{background:var(--rose-100);width:36px;height:36px;color:var(--rose-600);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.task-item-info{flex:1}.task-item-info h4{font-size:.8rem;font-weight:600}.task-item-info p{color:var(--text-muted);font-size:.65rem}.task-item-reward{color:var(--rose-600);font-size:.75rem;font-weight:700}.portal{background:var(--gradient-soft);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.portal h1{background:var(--gradient-1);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:2.5rem;font-weight:800}.portal p{color:var(--text-secondary);margin-bottom:40px;font-size:1rem}.portal-cards{grid-template-columns:repeat(2,1fr);gap:20px;width:100%;max-width:800px;display:grid}.portal-card{text-align:center;box-shadow:var(--shadow-md);border:1px solid var(--border);cursor:pointer;color:var(--text-primary);background:#fff;border-radius:16px;padding:28px 24px;text-decoration:none;transition:all .2s}.portal-card:hover{box-shadow:var(--shadow-lg);border-color:var(--rose-400);transform:translateY(-4px)}.portal-card-icon{background:var(--gradient-1);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 12px;display:flex}.portal-card h3{margin-bottom:4px;font-size:1.1rem;font-weight:700}.portal-card p{color:var(--text-muted);margin-bottom:0;font-size:.75rem}@media (width<=1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{display:none}.main-content{margin-left:0}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.page-header,.page-content{padding-left:16px;padding-right:16px}}.login-page{box-sizing:border-box;background:var(--gradient-soft);justify-content:center;align-items:center;min-height:100vh;padding:32px 24px 124px;display:flex;position:relative;overflow:hidden auto}.login-bg-orb{filter:blur(80px);pointer-events:none;border-radius:50%;position:absolute}.login-bg-orb-1{background:#e8365d2e;width:400px;height:400px;top:-100px;left:-100px}.login-bg-orb-2{background:#ff7a9524;width:300px;height:300px;bottom:-80px;right:-80px}.login-bg-orb-3{background:#9b13391a;width:200px;height:200px;top:40%;left:60%}.login-card{z-index:1;background:#fff;border-radius:24px;width:100%;max-width:400px;padding:48px 40px 36px;position:relative;box-shadow:0 8px 48px #e8365d24,0 2px 12px #0000000f}.login-header{text-align:center;margin-bottom:36px}.login-logo{background:var(--gradient-1);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex;box-shadow:0 4px 20px #e8365d59}.login-header h1{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:6px;font-size:28px;font-weight:800}.login-header p{color:var(--text-muted);font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{background:var(--bg-primary);border:1.5px solid var(--border-light);border-radius:12px;align-items:center;padding:0 14px;transition:border-color .2s;display:flex;position:relative}.login-field:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #e8365d1a}.login-field-icon{color:var(--text-muted);flex-shrink:0;margin-right:10px}.login-field input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:14px 0;font-family:inherit;font-size:15px}.login-field input::placeholder{color:var(--text-muted)}.login-eye-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex}.login-eye-btn:hover{color:var(--accent-primary)}.login-error{color:var(--danger);text-align:center;background:#fff1f1;border-radius:8px;padding:10px 14px;font-size:13px}.login-notice{color:#92400e;text-align:center;background:#f59e0b17;border:1px solid #f59e0b47;border-radius:8px;padding:10px 14px;font-size:13px}.login-btn{background:var(--gradient-1);color:#fff;letter-spacing:2px;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;min-height:52px;margin-top:4px;padding:15px;font-size:16px;font-weight:700;transition:opacity .2s,transform .1s;display:flex;box-shadow:0 4px 18px #e8365d4d}.login-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{text-align:center;color:var(--text-muted);margin-top:24px;font-size:12px}.login-legal-footer{z-index:1;box-sizing:border-box;color:var(--text-muted);border-top:1px solid #e8365d24;justify-content:space-between;align-items:center;gap:20px 32px;padding:24px clamp(24px,6vw,112px);font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.login-legal-footer p{margin:0}.login-public-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;display:flex}.login-legal-footer p a,.login-public-links a{color:var(--accent-primary);text-underline-offset:3px;font-weight:650;text-decoration:none}.login-legal-footer p a:hover,.login-legal-footer p a:focus-visible,.login-public-links a:hover,.login-public-links a:focus-visible{text-decoration:underline}@media (width<=768px){.login-page{padding:24px 16px 168px}.login-card{padding:36px 24px 28px}.login-legal-footer{text-align:center;flex-direction:column;gap:12px;padding:18px 20px}}
