::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}html[data-magicui-theme-vt=active]::view-transition-group(root){animation-duration:var(--magicui-theme-toggle-vt-duration)}@layer base{*,:after,:before{box-sizing:border-box}:root{--bg-main:#F4F7F9;--bg-card:#FFFFFF;--card-bg:#FFFFFF;--bg-card-hover:#F8FAFC;--border-color:#E2E8F0;--border-glow:#CBD5E1;--text-main:#0F172A;--text-muted:#64748B;--accent-blue:#3B82F6;--accent-cyan:#06B6D4;--accent-emerald:#10B981;--accent-purple:#8B5CF6;--accent-rose:#EF4444;--navbar-bg:#FFFFFF;--navbar-border:#E2E8F0;--navbar-text:#0F172A;--navbar-text-muted:#64748B;--tab-bg:#F1F5F9;--tab-border:#CBD5E1}html.dark{--bg-main:#0A0A0A;--bg-card:#141414;--card-bg:#141414;--bg-card-hover:#1A1A1A;--border-color:#262626;--border-glow:#333333;--text-main:#F2F2F2;--text-muted:#888888;--accent-blue:#4F8EF7;--accent-cyan:#22D3EE;--accent-emerald:#34D399;--accent-purple:#A78BFA;--accent-rose:#F87171;--navbar-bg:#0F0F0F;--navbar-border:#222222;--navbar-text:#F2F2F2;--navbar-text-muted:#888888;--tab-bg:#141414;--tab-border:#262626}body{background-color:var(--bg-main);color:var(--text-main);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;padding:0;-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color .3s ease,color .3s ease}}.glass-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 20px -2px rgba(0,0,0,.05);transition:all .25s ease-in-out;max-width:100%;min-width:0}.glass-card:hover{border-color:rgba(59,130,246,.4);box-shadow:0 8px 30px -4px rgba(59,130,246,.1)}.gradient-text-blue{background:linear-gradient(135deg,#2563EB,#3B82F6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gradient-text-purple{background:linear-gradient(135deg,#7C3AED,#8B5CF6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gradient-text-emerald{background:linear-gradient(135deg,#059669,#10B981);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gradient-text-amber{background:linear-gradient(135deg,#D97706,#F59E0B);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.badge{gap:6px;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-active{background-color:rgba(16,185,129,.1);color:#059669;border:1px solid rgba(16,185,129,.2)}.badge-success{background-color:rgba(59,130,246,.1);color:#2563EB;border:1px solid rgba(59,130,246,.2)}.badge-failed{background-color:rgba(239,68,68,.1);color:#DC2626;border:1px solid rgba(239,68,68,.2)}.badge-pro{background-color:rgba(139,92,246,.1);color:#7C3AED;border:1px solid rgba(139,92,246,.2)}.badge-enterprise{background-color:rgba(245,158,11,.1);color:#D97706;border:1px solid rgba(245,158,11,.2)}.badge-free{background-color:rgba(100,116,139,.1);color:#475569;border:1px solid rgba(100,116,139,.2)}.pulse-dot{width:8px;height:8px;background-color:#10B981;border-radius:50%;box-shadow:0 0 10px #10B981;animation:pulse-ring 1.8s infinite}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(16,185,129,.5)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}.skeleton-block{display:block;border-radius:6px;background:linear-gradient(90deg,var(--skeleton-base,rgba(148,163,184,.12)) 0,var(--skeleton-highlight,rgba(148,163,184,.28)) 50%,var(--skeleton-base,rgba(148,163,184,.12)) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}html.dark .skeleton-block{--skeleton-base:rgba(255,255,255,0.06);--skeleton-highlight:rgba(255,255,255,0.14)}.skeleton-block--text{border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.heatmap-skeleton-stat{border-radius:5px}.heatmap-skeleton-legend__swatch{width:100%;min-width:28px;height:14px;border-radius:4px}.heatmap-skeleton-grid__hour{height:12px;border-radius:4px;margin:2px 0}.heatmap-grid-fit .heatmap-skeleton-grid__hour{height:10px}.heatmap-skeleton-grid__cell{width:100%}.heatmap-skeleton-grid__day-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px}.heatmap-grid-skeleton{pointer-events:none}.custom-table{width:100%;border-collapse:separate;border-spacing:0}.custom-table th{background:var(--bg-card-hover);color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;text-align:left}.custom-table td,.custom-table th{border-bottom:1px solid var(--border-color)}.custom-table td{padding:14px 16px;font-size:.875rem;color:var(--text-main);transition:background-color .15s ease}.custom-table tbody tr:hover td{background-color:var(--bg-card-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94A3B8}.custom-select,select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233B82F6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 10px center!important;background-size:14px 14px!important;padding-right:32px!important;cursor:pointer}html.dark .glass-card{box-shadow:0 0 0 1px #222222,0 4px 20px rgba(0,0,0,.6)}html.dark .glass-card:hover{border-color:rgba(79,142,247,.35);box-shadow:0 0 0 1px rgba(79,142,247,.2),0 8px 30px rgba(0,0,0,.7)}html.dark .custom-select,html.dark select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important}html.dark ::-webkit-scrollbar-thumb{background:#475569}html.dark ::-webkit-scrollbar-thumb:hover{background:#64748B}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 2s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .8s linear infinite}@media (max-width:960px){.access-codes-form-grid,.access-codes-top-row{grid-template-columns:1fr!important}.sections-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sections-mid-grid{grid-template-columns:1fr!important}}@media (max-width:640px){.sections-summary-grid{grid-template-columns:1fr!important}}html.dark input,html.dark select,html.dark textarea{background-color:var(--bg-card)!important;color:var(--text-main)!important;border-color:var(--border-color)!important}html.dark input::placeholder,html.dark textarea::placeholder{color:var(--text-muted)!important;opacity:1}html.dark option{background-color:var(--bg-card);color:var(--text-main)}.navbar-logo{background-color:transparent;transition:background-color .3s ease,box-shadow .3s ease}html.dark .navbar-logo{background-color:#FFFFFF;padding:4px;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 4px 16px rgba(79,142,247,.25)}#root,body,html{width:100%;max-width:none;overflow-x:hidden}.admin-app-shell{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;width:100%;background:var(--bg-main);color:var(--text-main);display:flex;flex-direction:column;overflow:hidden}.admin-main--overview{overflow:hidden;padding:10px clamp(16px,2vw,28px)}.admin-main--redirects{overflow:hidden}.admin-overview-layout{display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);height:100%;min-height:0;grid-gap:10px;gap:10px;overflow:hidden;width:100%}.overview-kpi-row{flex-shrink:0}.overview-features-row{min-height:0;flex-shrink:0;overflow:hidden}.admin-page-stack{flex-direction:column;gap:14px;width:100%}.admin-main,.admin-page-stack{display:flex;flex:1 1;min-height:0}.admin-main{box-sizing:border-box;flex-direction:column;overflow-y:auto}.admin-main>*{min-width:0;max-width:100%}.kpi-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:0;width:100%}.admin-overview-layout .kpi-cards-grid{gap:10px}.overview-split-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:stretch;min-height:0;height:100%;width:100%;overflow:hidden}.overview-device-slot,.overview-heatmap-slot{min-width:0;min-height:0;height:100%;display:flex}.overview-heatmap-slot{grid-column:span 2}.overview-device-slot{grid-column:span 1}.device-panel--embedded,.heatmap-panel--embedded{min-height:0!important;height:100%;width:100%;overflow:hidden}.heatmap-panel--embedded .heatmap-grid-scroll{overflow-x:auto;overflow-y:hidden;min-height:120px;flex:1 1;display:flex;flex-direction:column}.heatmap-grid-fit .heatmap-day-rows{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:2px;padding:0 8px 8px;overflow-y:auto;overflow-x:hidden}.heatmap-grid-fit .heatmap-day-row{flex:none;height:var(--heatmap-row-height,14px);min-height:var(--heatmap-row-height,14px);margin-bottom:0!important}.heatmap-grid-fit .heatmap-hour-row{flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--bg-main)}.heatmap-grid-fit .heatmap-day-row,.heatmap-grid-fit .heatmap-day-rows,.heatmap-grid-fit .heatmap-hour-row{width:100%;box-sizing:border-box}.heatmap-grid-fit .heatmap-day-label{overflow:hidden;line-height:1}.heatmap-grid-fit .heatmap-cell{min-width:0}.heatmap-grid-fit:not(.heatmap-grid-fit--spread-rows) .heatmap-cell{height:var(--heatmap-row-height,14px);min-height:var(--heatmap-row-height,14px);flex-shrink:0}.heatmap-grid-fit.heatmap-grid-fit--spread-rows .heatmap-day-rows{justify-content:stretch;flex:1 1;min-height:0}.heatmap-grid-fit.heatmap-grid-fit--spread-rows .heatmap-day-row{flex:1 1;height:auto;min-height:var(--heatmap-row-height,16px)}.heatmap-grid-fit.heatmap-grid-fit--spread-rows .heatmap-cell,.heatmap-grid-fit.heatmap-grid-fit--spread-rows .heatmap-day-label{height:100%;min-height:var(--heatmap-row-height,16px)}.heatmap-grid-fit.heatmap-grid-fit--today .heatmap-day-rows{min-height:88px}.heatmap-grid-fit.heatmap-grid-fit--today .heatmap-day-row{flex:1 1 auto;min-height:var(--heatmap-row-height,56px)}.heatmap-color-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:8px 12px;background:var(--bg-main);border-radius:8px;border:1px solid var(--border-color);flex-shrink:0}.heatmap-color-legend__head{display:flex;flex-direction:column;gap:2px;min-width:0}.heatmap-color-legend__title{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.heatmap-color-legend__palette{font-size:.72rem;font-weight:600;color:var(--text-main);white-space:nowrap}.heatmap-color-legend__steps{display:flex;align-items:flex-start;gap:6px;flex:1 1;min-width:0;flex-wrap:wrap}.heatmap-color-legend__step{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:44px}.heatmap-color-legend__swatch{width:100%;min-width:36px;height:14px;border-radius:4px}.heatmap-color-legend__label{font-size:.62rem;font-weight:600;color:var(--text-muted);text-align:center;line-height:1.1}.heatmap-color-legend__clock{margin-left:auto;font-size:.68rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.heatmap-color-legend--compact{padding:6px 10px;gap:8px 10px}.heatmap-color-legend--compact .heatmap-color-legend__head{flex-direction:row;align-items:baseline;gap:6px}.heatmap-color-legend--compact .heatmap-color-legend__title:after{content:"·";margin-left:6px;color:var(--border-color)}.heatmap-color-legend--compact .heatmap-color-legend__steps{gap:4px}.heatmap-color-legend--compact .heatmap-color-legend__step{min-width:34px}.heatmap-color-legend--compact .heatmap-color-legend__swatch{min-width:28px;height:10px}.heatmap-color-legend--compact .heatmap-color-legend__label{font-size:.58rem}.heatmap-range-info__btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-main);color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;flex-shrink:0}.heatmap-range-info__btn--toolbar{width:auto;height:auto;min-height:28px;gap:5px;padding:5px 11px;border-radius:6px;font-size:.72rem;font-weight:700;color:var(--accent-blue);border-color:rgba(59,130,246,.35);background:rgba(59,130,246,.1)}.heatmap-range-info__btn--toolbar span{line-height:1}.heatmap-range-info__btn--active,.heatmap-range-info__btn:hover{color:var(--accent-blue);border-color:rgba(59,130,246,.45);background:rgba(59,130,246,.08)}.heatmap-range-info__btn--toolbar.heatmap-range-info__btn--active,.heatmap-range-info__btn--toolbar:hover{color:#fff;border-color:var(--accent-blue);background:var(--accent-blue)}.heatmap-range-info__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:1200;width:min(340px,calc(100vw - 32px));max-height:min(70vh,420px);overflow-y:auto;padding:12px 14px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-card);box-shadow:0 12px 32px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:12px}.heatmap-range-info__panel--toolbar{left:0;right:auto}@media (max-width:640px){.heatmap-range-info__panel--toolbar{left:auto;right:0}}.heatmap-range-info__section{display:flex;flex-direction:column;gap:6px}.heatmap-range-info__heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-main)}.heatmap-range-info__palette-tag{font-size:.62rem;font-weight:600;text-transform:none;letter-spacing:normal;color:var(--accent-blue);padding:2px 6px;border-radius:999px;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2)}.heatmap-range-info__text{margin:0;font-size:.72rem;line-height:1.45;color:var(--text-main)}.heatmap-range-info__text--muted{color:var(--text-muted)}.heatmap-range-info__list{margin:0;padding-left:1.1rem;font-size:.71rem;line-height:1.5;color:var(--text-main)}.heatmap-range-info__list li+li{margin-top:2px}.heatmap-range-info__note{margin:0;font-size:.66rem;line-height:1.4;color:var(--text-muted);font-style:italic}.heatmap-range-info__tiers{display:flex;flex-direction:column;gap:6px}.heatmap-range-info__tier{display:flex;align-items:flex-start;gap:8px}.heatmap-range-info__tier-swatch{width:28px;height:16px;border-radius:4px;flex-shrink:0;margin-top:1px}.heatmap-range-info__tier-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.heatmap-range-info__tier-label{font-size:.72rem;font-weight:700;color:var(--text-main)}.heatmap-range-info__tier-threshold{font-size:.66rem;line-height:1.35;color:var(--text-muted)}.section-chart--compact{padding:10px 16px!important;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.section-chart--compact .section-chart-body{min-height:0;overflow:auto;flex:1 1}.section-chart--compact .custom-table td,.section-chart--compact .custom-table th{padding-top:4px!important;padding-bottom:4px!important}.overview-features-row .section-usage-embedded{height:100%;min-height:0;display:flex;flex-direction:column}.admin-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--navbar-bg);border-bottom:1px solid var(--navbar-border);transition:background .3s ease,border-color .3s ease}.admin-navbar-top{padding:12px clamp(12px,2vw,32px);justify-content:space-between;flex-wrap:wrap;width:100%;box-sizing:border-box}.admin-navbar-brand,.admin-navbar-top{display:flex;align-items:center;gap:12px}.admin-navbar-brand{min-width:0}.admin-navbar-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-navbar-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--navbar-text);transition:color .3s ease;white-space:nowrap}.admin-navbar-subtitle{margin:1px 0 0;font-size:.72rem;color:var(--navbar-text-muted);transition:color .3s ease}.admin-navbar-right{margin-left:auto}.admin-navbar-actions,.admin-navbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-navbar-end{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-navbar-menu-btn{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--tab-border);background:var(--tab-bg);color:var(--navbar-text);cursor:pointer;flex-shrink:0}.admin-navbar-tabs-wrap{position:relative}.admin-navbar-tabs-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:32px;pointer-events:none;display:none;background:linear-gradient(to right,transparent,var(--navbar-bg))}@media (max-width:480px){.admin-navbar-tabs-wrap:after{display:block}}.admin-navbar-tabs{display:flex;gap:6px;overflow-x:auto;border-top:1px solid var(--navbar-border);width:100%;box-sizing:border-box;padding:0 36px 0 clamp(12px,2vw,24px);scrollbar-width:thin;-webkit-overflow-scrolling:touch}.admin-navbar-tab{display:flex;align-items:center;gap:7px;padding:11px 16px;background:transparent;color:var(--navbar-text-muted);border:none;border-bottom:2px solid transparent;font-size:.84rem;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;border-radius:6px 6px 0 0;transition:all .15s ease}.admin-navbar-tab.is-active{background:rgba(59,130,246,.08);color:var(--accent-blue);border-bottom-color:var(--accent-blue);font-weight:600}.tab-label-short{display:none}.navbar-hide-sm,.navbar-label-full{display:inline}.admin-modal-card{max-height:min(90dvh,720px);overflow-y:auto}.admin-error-banner{justify-content:space-between;gap:12px}.admin-error-banner,.timeframe-pills{display:flex;align-items:center;flex-wrap:wrap}.timeframe-pills{gap:6px}.custom-date-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-mgmt-panel{min-height:620px}.user-mgmt-search{position:relative;width:280px;max-width:100%}.redirects-page{display:flex;flex-direction:column;gap:10px;flex:1 1;min-height:0;height:100%;overflow:hidden}.redirects-demo-banner{flex-shrink:0;padding:8px 14px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.35);border-radius:10px;font-size:.78rem;color:var(--text-muted)}.redirects-products-card{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:hidden}.redirects-header{flex-shrink:0}.redirects-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0}.redirects-table-wrap{flex:1 1;min-height:240px;overflow:auto;border:1px solid var(--border-color);border-radius:12px;background:rgba(255,255,255,.01)}.redirects-table-wrap thead th{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--bg-card-hover);box-shadow:0 1px 0 var(--border-color)}.redirects-footer{flex-shrink:0}.redirects-search{position:relative;width:320px;max-width:100%}.redirects-control-group{display:flex;flex-direction:column;gap:4px}.redirects-control-label{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.redirects-order-toggle{display:inline-flex;background:var(--bg-main);padding:3px;border-radius:10px;border:1px solid var(--border-color)}.redirects-sort-chip{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 7px;border-radius:999px;background:rgba(59,130,246,.14);color:var(--accent-blue);font-size:.64rem;font-weight:700;letter-spacing:.02em;text-transform:none;white-space:nowrap}.users-mobile-cards{display:none}@media (max-width:768px){.users-desktop-table{display:none}.user-mobile-card,.users-mobile-cards{display:flex;flex-direction:column;gap:10px}.user-mobile-card{padding:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-main)}.user-mobile-card-actions{display:flex;flex-wrap:wrap;gap:8px}.user-mobile-card-actions button{flex:1 1 auto;justify-content:center}}.profile-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.device-panel-header,.heatmap-header,.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.health-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));grid-gap:14px;gap:14px}.health-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));grid-gap:12px;gap:12px}.traffic-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:16px;gap:16px}@media (max-width:1100px){.admin-app-shell{height:auto;min-height:100vh;min-height:100dvh;max-height:none;overflow:visible}.admin-main,.admin-main--overview{overflow:visible;height:auto;padding-bottom:24px}.admin-main--redirects{overflow:hidden;height:auto;flex:1 1;min-height:0;padding-bottom:16px}.admin-app-shell:has(.admin-main--redirects){height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden}.admin-overview-layout,.overview-split-grid{display:flex;flex-direction:column;height:auto;overflow:visible;gap:12px}.overview-device-slot,.overview-heatmap-slot{grid-column:span 1;height:auto;min-height:260px}.device-panel--embedded,.heatmap-panel--embedded{height:auto!important;min-height:280px}.overview-features-row{flex-shrink:1}.overview-features-row,.section-chart--compact{overflow:visible;height:auto}.heatmap-panel--embedded .heatmap-grid-scroll{overflow-x:auto;overflow-y:hidden}.heatmap-grid-fit .heatmap-day-row,.heatmap-grid-fit .heatmap-day-rows,.heatmap-grid-fit .heatmap-hour-row{width:100%;min-width:0}.kpi-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1200px){.admin-navbar-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-navbar-right{display:contents}.admin-navbar-end{grid-column:2;grid-row:1}.admin-navbar-menu-btn{display:flex}.admin-navbar-actions{display:none;width:100%;grid-column:1/-1}.admin-navbar-actions.is-open{display:flex}.admin-navbar-title{font-size:1.05rem}.tab-label-full{display:none}.tab-label-short{display:inline}.admin-navbar-tab{padding:10px 12px;font-size:.8rem}}@media (max-width:640px){.kpi-cards-grid{grid-template-columns:1fr}.page-header-row>div:last-child{width:100%;align-items:stretch!important}.user-mgmt-panel{min-height:0;padding:16px!important;gap:14px!important}.admin-navbar-subtitle,.navbar-hide-sm,.navbar-label-full{display:none}.admin-navbar-title{white-space:normal;font-size:.98rem}.admin-main{padding:12px 12px 28px}.admin-main--overview{padding:10px 12px 24px}.redirects-order-toggle,.redirects-search,.user-mgmt-search{width:100%}.redirects-order-toggle button{flex:1 1}.profile-details-grid{grid-template-columns:1fr}.profile-details-grid .span-2{grid-column:span 1}.timeframe-pills{width:100%}.custom-date-range{width:100%;flex-direction:column;align-items:stretch}.custom-date-range input[type=date]{width:100%}.section-chart--compact .custom-table{min-width:560px}.device-panel-stats{grid-template-columns:1fr!important}.admin-modal-card{padding:16px!important}}.admin-logout-btn{padding:7px 14px;border-radius:8px;border:1px solid var(--tab-border);background:transparent;color:var(--navbar-text);font-size:.8rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.admin-logout-btn:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.5);color:#EF4444}.admin-login-shell{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:radial-gradient(900px 420px at 12% -10%,rgba(59,130,246,.18),transparent 55%),radial-gradient(700px 380px at 110% 110%,rgba(16,185,129,.12),transparent 50%),var(--bg-main)}.admin-login-shell:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 0);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 78%);mask-image:radial-gradient(ellipse at center,black 20%,transparent 78%);pointer-events:none}html.dark .admin-login-shell:before{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 0)}.admin-login-theme{position:absolute;top:20px;right:20px;z-index:2}.admin-login-card{position:relative;z-index:1;width:100%;max-width:440px;padding:36px 32px 28px;display:flex;flex-direction:column;gap:18px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 24px 60px -28px rgba(15,23,42,.45)}html.dark .admin-login-card{box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 24px 70px -24px rgba(0,0,0,.75)}.admin-login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-bottom:6px}.admin-login-logo{width:58px;height:58px;border-radius:16px;object-fit:contain;box-shadow:0 8px 24px rgba(59,130,246,.22)}.admin-login-live{font-size:.68rem;letter-spacing:.06em}.admin-login-brand h1{margin:2px 0 0;font-size:1.45rem;font-weight:800;letter-spacing:-.03em;color:var(--text-main)}.admin-login-brand p{margin:0;max-width:32ch;font-size:.86rem;line-height:1.45;font-weight:500;color:var(--text-muted)}.admin-login-error{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.28);color:#EF4444;font-size:.82rem}.admin-login-fields{display:flex;flex-direction:column;gap:8px}.admin-login-field{margin-top:6px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.admin-login-input-wrap{position:relative;display:block;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-main);color:var(--text-muted);transition:border-color .15s ease,box-shadow .15s ease}.admin-login-input-wrap:focus-within{border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(59,130,246,.16);color:var(--accent-blue)}.admin-login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:inherit}.admin-login-input-wrap input,html.dark .admin-login-input-wrap input{display:block;width:100%;min-width:0;height:46px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none!important;border-radius:12px;background-color:transparent!important;background-image:none!important;box-shadow:none!important;color:var(--text-main)!important;font-size:.95rem;line-height:1.4;padding:0 14px 0 42px;outline:none}.admin-login-input-wrap--password input,html.dark .admin-login-input-wrap--password input{padding-right:46px}.admin-login-input-wrap input::placeholder{color:var(--text-muted)}.admin-login-input-wrap input:-webkit-autofill,.admin-login-input-wrap input:-webkit-autofill:focus,.admin-login-input-wrap input:-webkit-autofill:hover,html.dark .admin-login-input-wrap input:-webkit-autofill,html.dark .admin-login-input-wrap input:-webkit-autofill:focus,html.dark .admin-login-input-wrap input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);border:none!important;box-shadow:0 0 0 1000px var(--bg-main) inset!important;-webkit-transition:background-color 99999s ease-out 0s;transition:background-color 99999s ease-out 0s}.admin-login-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.admin-login-eye:hover,.admin-login-eye[aria-pressed=true]{color:var(--text-main);background:color-mix(in srgb,var(--text-main) 8%,transparent)}.admin-login-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:13px 16px;border:none;border-radius:12px;background:linear-gradient(180deg,#4F8EF7,#2563EB);color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 10px 22px -12px rgba(37,99,235,.9)}.admin-login-submit:hover:not(:disabled){filter:brightness(1.04)}.admin-login-submit:disabled{opacity:.7;cursor:not-allowed}.admin-login-foot{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:2px;font-size:.75rem;font-weight:600;color:var(--text-muted)}[data-chart]{--ec-border:var(--border-color);--ec-fg:var(--text-main);--ec-muted:var(--text-muted);--ec-bg:var(--bg-card)}[data-chart] .relative{position:relative}[data-chart] .absolute{position:absolute}[data-chart] .inset-0{inset:0}[data-chart] .z-20{z-index:20}[data-chart] .grid{display:grid}[data-chart] .flex-col{flex-direction:column}[data-chart] .flex-wrap{flex-wrap:wrap}[data-chart] .flex-1{flex:1 1}[data-chart] .items-start{align-items:flex-start}[data-chart] .justify-between{justify-content:space-between}[data-chart] .gap-2{gap:8px}[data-chart] .gap-4{gap:16px}[data-chart] .gap-1\.5{gap:6px}[data-chart] .h-full{height:100%}[data-chart] .w-full{width:100%}[data-chart] .min-h-0{min-height:0}[data-chart] .min-w-32{min-width:8rem}[data-chart] .h-1{height:4px}[data-chart] .w-1{width:4px}[data-chart] .h-2{height:8px}[data-chart] .w-2{width:8px}[data-chart] .h-2\.5{height:10px}[data-chart] .w-2\.5{width:10px}[data-chart] .h-3{height:12px}[data-chart] .w-3{width:12px}[data-chart] .p-\[1\.5px\]{padding:1.5px}[data-chart] .rounded-sm{border-radius:4px}[data-chart] .rounded-md{border-radius:6px}[data-chart] .rounded-lg{border-radius:10px}[data-chart] .rounded-xl{border-radius:14px}[data-chart] .border{border:1px solid var(--ec-border)}[data-chart] .border-border\/50{border-color:color-mix(in srgb,var(--ec-border) 70%,transparent)}[data-chart] .border-t-primary{border-top-color:var(--accent-blue)}[data-chart] .px-2{padding-left:8px;padding-right:8px}[data-chart] .px-2\.5{padding-left:10px;padding-right:10px}[data-chart] .py-0\.5{padding-top:2px;padding-bottom:2px}[data-chart] .py-1\.5{padding-top:6px;padding-bottom:6px}[data-chart] .text-xs{font-size:12px}[data-chart] .text-sm{font-size:13px}[data-chart] .leading-none{line-height:1}[data-chart] .font-medium{font-weight:600}[data-chart] .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}[data-chart] .tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-chart] .pointer-events-none{pointer-events:none}[data-chart] .cursor-pointer{cursor:pointer}[data-chart] .transition-opacity{transition:opacity .15s}[data-chart] .opacity-30{opacity:.3}[data-chart] .text-muted-foreground{color:var(--ec-muted)}[data-chart] .text-foreground,[data-chart] .text-primary{color:var(--ec-fg)}[data-chart] .bg-background{background:var(--ec-bg)}[data-chart] .bg-background\/50{background:color-mix(in srgb,var(--ec-bg) 55%,transparent)}[data-chart] .backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-chart] .shadow-xl{box-shadow:0 12px 32px -8px rgba(0,0,0,.25)}[data-chart] .animate-spin{animation:spin .8s linear infinite}:root{--ink:var(--text-main);--paper:var(--bg-main);--paper-2:var(--bg-card-hover);--card:var(--bg-card);--line:var(--border-color);--muted:var(--text-muted);--brand:var(--accent-blue);--brand-soft:rgba(59,130,246,0.12);--ok:var(--accent-emerald);--warn:#f59e0b;--bad:var(--accent-rose);--shadow:0 4px 20px -2px rgba(0,0,0,0.05);--sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}html.dark{--brand-soft:rgba(79,142,247,0.16);--shadow:0 4px 20px -2px rgba(0,0,0,0.4)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}button{cursor:pointer}img{max-width:100%;display:block}.admin-main{padding:16px clamp(16px,2vw,32px);max-width:none;margin:0;width:100%}.admin-navbar-tab,.btn,a{text-decoration:none}.admin-mobile-menu-btn{display:none;background:var(--tab-bg);border:1px solid var(--tab-border);border-radius:8px;padding:8px;color:var(--navbar-text)}@media (max-width:900px){.admin-mobile-menu-btn{display:inline-flex}}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.kicker{margin:0;color:var(--brand);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}h1,h2,h3{font-family:var(--sans);color:var(--text-main);letter-spacing:-.01em}h1{margin:4px 0 0;font-size:1.6rem;font-weight:700;line-height:1.2}.lede{margin:8px 0 0;max-width:46rem;color:var(--muted);font-size:.9rem}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.card-row,.kpi,.note,.panel,.sug,.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);transition:border-color .25s ease,box-shadow .25s ease}.kpi:hover,.panel:hover,.tile:hover{border-color:rgba(59,130,246,.4);box-shadow:0 8px 30px -4px rgba(59,130,246,.1)}.note{padding:16px 18px;box-shadow:none}.kpis{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:14px}.kpi{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-title{font-size:.74rem;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.kpi-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex-shrink:0}.kpi-value{font-size:1.65rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--text-main);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-sub{padding-top:8px;border-top:1px solid var(--line);font-size:.72rem}.empty,.hint,.kpi-sub,.loading,.meta{color:var(--muted)}.split{display:grid;grid-template-columns:1.35fr .85fr;grid-gap:14px;gap:14px;margin-top:14px}.panel{padding:18px 20px 20px}.panel h2{margin:0 0 14px;font-size:1rem;font-weight:700}.bar-row{display:grid;grid-template-columns:minmax(110px,180px) 1fr auto;grid-gap:10px;gap:10px;align-items:center;margin:8px 0;font-size:.85rem}.bar{height:8px;background:var(--paper-2);overflow:hidden}.bar,.bar i{border-radius:99px}.bar i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#06b6d4)}.bar-row b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.mix{display:flex;height:12px;border-radius:99px;overflow:hidden;background:var(--paper-2)}.mix span{display:block;min-width:4px}.legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px;font-size:.8rem}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.feed{list-style:none;margin:0;padding:0}.feed li{display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;padding:10px 0;border-top:1px solid var(--line);font-size:.85rem}.feed li:first-child{border-top:0}.feed small{color:var(--muted)}.toolbar{gap:10px;align-items:center;margin-bottom:14px}.chips,.seg,.tabs,.toolbar{display:flex;flex-wrap:wrap}.chips,.seg,.tabs{gap:8px}.btn,.chip,.seg button,.tab{border:1px solid var(--tab-border);background:var(--tab-bg);color:var(--text-main);border-radius:8px;padding:7px 14px;font-size:.8rem;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover,.chip:hover,.seg button:hover,.tab:hover{border-color:var(--brand)}.btn.primary,.chip.active,.seg button.on,.tab.active{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-color:transparent}.btn.ghost{background:transparent}.btn.danger{color:var(--bad);border-color:rgba(239,68,68,.35)}.btn.small{padding:4px 10px;font-size:.75rem}.btn:disabled{opacity:.55;cursor:not-allowed}.btn{white-space:nowrap}.field input,.field select,.field textarea,.inline,.search{width:100%;border:1px solid var(--tab-border);background:var(--card);color:var(--text-main);border-radius:8px;padding:9px 12px;font-size:.85rem}.search{max-width:280px;width:auto;flex:1 1}textarea{min-height:160px;resize:vertical;font-family:ui-monospace,monospace;font-size:.8rem}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px}.tile{overflow:hidden;display:flex;flex-direction:column}.preview-frame{aspect-ratio:4/3;display:grid;place-items:center;background-color:var(--paper-2);background-image:linear-gradient(45deg,var(--line) 25%,transparent 25%),linear-gradient(-45deg,var(--line) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--line) 75%),linear-gradient(-45deg,transparent 75%,var(--line) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.preview-frame img{width:100%;height:100%;object-fit:contain}.tile-body{padding:14px}.tile-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.tile h3{margin:0;font-size:.95rem;font-weight:700}.meta{margin:6px 0 0;font-size:.8rem}.tile-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:rgba(16,185,129,.12);color:var(--ok);border:1px solid rgba(16,185,129,.25);white-space:nowrap}.badge.draft{background:var(--paper-2);color:var(--muted);border-color:var(--line)}.badge.gold,.badge.planned,.badge.reviewing{background:rgba(245,158,11,.12);color:var(--warn);border-color:rgba(245,158,11,.3)}.badge.shipped{background:rgba(16,185,129,.12);color:var(--ok);border-color:rgba(16,185,129,.25)}.badge.rejected{background:rgba(239,68,68,.12);color:var(--bad);border-color:rgba(239,68,68,.3)}.drawer-back{position:fixed;inset:0;background:rgba(15,23,42,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:30;border:0}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--card);border-left:1px solid var(--line);z-index:31;overflow:auto;padding:24px;box-shadow:-18px 0 40px rgba(0,0,0,.18)}.drawer h2{margin:14px 0 0;font-size:1.25rem;font-weight:700}.field{display:block;margin-top:14px}.field span{font-weight:600;color:var(--muted);margin-bottom:6px}.err,.field span{display:block;font-size:.8rem}.err{color:var(--bad)}.err,.hint{font-style:normal;margin-top:6px}.hint{display:block;font-size:.8rem}.drop{margin-top:8px;border:1.5px dashed var(--border-glow);border-radius:12px;padding:18px;text-align:center;background:var(--paper-2);font-size:.85rem}.drop strong{color:var(--brand)}.drop img{width:100%;max-height:140px;object-fit:contain;margin-bottom:8px}.form-actions{display:flex;gap:8px;margin-top:18px}.switch{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:.85rem}.sizes{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.stack{display:flex;flex-direction:column;gap:10px}.card-row,.sug{padding:14px 16px;box-shadow:none}.sug{width:100%;text-align:left}.stars{color:var(--warn);letter-spacing:2px}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.table td,.table th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table th{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}.table tbody tr:hover td,.table th{background:var(--paper-2)}.toast{position:fixed;bottom:18px;right:18px;background:var(--navbar-bg);color:var(--navbar-text);border:1px solid var(--line);border-left:3px solid var(--ok);padding:12px 16px;border-radius:10px;font-size:.85rem;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:100}.toast.bad{border-left-color:var(--bad)}@media (max-width:980px){.split{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start}.bar-row{grid-template-columns:1fr}.admin-main{padding:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.seg{padding:3px;gap:2px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;flex-wrap:nowrap}.seg button{border:0;background:transparent;padding:5px 12px;border-radius:7px;color:var(--muted)}.seg button.on,.seg button:hover{color:var(--text-main)}.seg button.on{background:var(--card);box-shadow:0 1px 4px rgba(0,0,0,.12)}.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}.chart-head h2{margin:0}.chart-sum{margin:4px 0 0;font-size:.82rem;color:var(--muted)}.chart-sum b{color:var(--text-main);font-size:1.15rem;font-weight:800;letter-spacing:-.01em}.chart-box{width:100%;height:320px;display:flex}.chart-panel{margin-bottom:14px}.test-switch{display:flex;align-items:center;gap:12px;padding:7px 8px 7px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.test-switch.is-on{border-color:rgba(99,102,241,.45);background:linear-gradient(135deg,rgba(99,102,241,.09),rgba(139,92,246,.05))}.test-switch-text{display:flex;flex-direction:column;line-height:1.25}.test-switch-text b{font-size:.82rem}.test-switch-text span{font-size:.72rem;color:var(--muted)}.switch{position:relative;width:38px;height:22px;padding:0;border:0;border-radius:99px;background:var(--tab-border);flex-shrink:0;transition:background-color .2s}.switch i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}.switch.on,.test-switch.is-on .switch{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.switch.on i,.test-switch.is-on .switch i{transform:translateX(16px)}.switch:disabled{opacity:.5}.modal{position:fixed;z-index:60;top:12vh;left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));max-height:76vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -12px rgba(0,0,0,.45);overflow:hidden}.modal-head{display:flex;justify-content:space-between;gap:12px;padding:18px 20px 8px}.modal-head h2{margin:0;font-size:1.05rem}.modal-head p{margin:4px 0 0;font-size:.8rem;color:var(--muted)}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);flex-shrink:0}.icon-btn:hover{color:var(--text-main);border-color:var(--brand)}.modal-tools{gap:10px;padding:8px 20px 12px}.modal-search,.modal-tools{display:flex;align-items:center}.modal-search{flex:1 1;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}.modal-search input{flex:1 1;border:0!important;outline:0;background:transparent!important;padding:8px 0;font-size:.85rem}.modal-list{list-style:none;margin:0;padding:0 8px 12px;overflow-y:auto}.modal-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:10px}.modal-list li:hover{background:var(--paper-2)}.modal-list li div{display:flex;flex-direction:column;min-width:0}.modal-list li b{font-size:.86rem}.modal-list li span{font-size:.74rem;color:var(--muted)}.modal-empty{justify-content:center!important;color:var(--muted)}.top-labels{margin-top:6px;overflow-x:auto}.tl-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px 170px;align-items:center;grid-gap:16px;gap:16px;padding:13px 4px;border-bottom:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tl-row:last-child{border-bottom:0}.tl-row>span:nth-child(n+2){text-align:right}.tl-head{padding:8px 4px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tl-name{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.tl-name b{font-size:.95rem;font-weight:700}.tl-count{font-size:1.15rem;font-weight:800;letter-spacing:-.02em}@media (max-width:640px){.tl-row{grid-template-columns:minmax(120px,1fr) 64px 64px 90px;gap:8px}}.foot-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:14px}.foot-card{display:flex;gap:12px;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:12px}.foot-card h3{margin:0 0 6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.foot-card p{margin:2px 0 0;font-size:.78rem;color:var(--muted);line-height:1.5}.foot-card p.foot-big{font-size:.98rem;font-weight:700;color:var(--text-main)}.foot-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex-shrink:0}.ver-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:6px;gap:6px}.ver-list li{display:flex;align-items:center;gap:8px;font-size:.8rem}.ver-list i{width:9px;height:9px;border-radius:3px;flex-shrink:0}.ver-list span{flex:1 1;min-width:0}.ver-list small{color:var(--muted)}.users-split{grid-template-columns:1.6fr 1fr;margin:0 0 14px}@media (max-width:900px){.users-split{grid-template-columns:1fr}}.plat-list{display:grid;grid-gap:16px;gap:16px;margin-top:6px}.plat-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.plat-top b{margin-left:auto;font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plat-top small{color:var(--muted);width:38px;text-align:right}.ptag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:.72rem;font-weight:700;letter-spacing:.01em}.ptag.android{background:rgba(16,185,129,.14);color:#059669}.ptag.ios{background:rgba(100,116,139,.16);color:#475569}html.dark .ptag.android{color:#34d399}html.dark .ptag.ios{color:#cbd5e1}.u-muted,.u-ver{color:var(--muted)}.u-ver{margin-left:8px;font-size:.72rem}.users-panel{padding:0;overflow:hidden}.u-toolbar{flex-wrap:wrap;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.u-search,.u-toolbar{display:flex;align-items:center}.u-search{flex:1 1 340px;min-width:260px;gap:8px;padding:0 6px 0 12px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);transition:border-color .15s,box-shadow .15s}.u-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.u-search input{flex:1 1;min-width:0;height:100%;border:0!important;outline:0;background:transparent!important;font-size:.88rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.u-search select{height:28px;border:0;border-left:1px solid var(--line);border-radius:0;background-color:transparent;padding:0 8px 0 12px;font-size:.8rem;font-weight:600;color:var(--text-main);cursor:pointer;outline:0}.u-clear{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:var(--paper-2);color:var(--muted);padding:0}.u-select{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background-color:var(--card);font-size:.82rem;font-weight:600}.u-sechead{padding:16px 18px 4px}.u-sechead h2{margin:0 0 4px;font-size:1.05rem}.u-sechead p{margin:0;color:var(--muted);font-size:.85rem}.u-input{flex:1 1 220px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:.88rem}.u-input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.u-scroll{max-height:560px;overflow:auto}.u-table{min-width:1000px}.u-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--paper-2)}.u-table td.num,.u-table th.num{text-align:right}.u-table td.u-center,.u-table th.u-center{text-align:center}.u-row{cursor:pointer}.u-row:hover td{background:var(--paper-2)}.u-name{display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#06b6d4);flex-shrink:0}.u-mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em}.u-labels{font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.th-sort{border:0;background:transparent;padding:0;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.th-sort:hover{color:var(--brand)}.u-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px 20px;padding:12px 18px;border-top:1px solid var(--line);background:var(--paper-2)}.u-count{font-size:.8rem;color:var(--muted);margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pager{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--card);border:1px solid var(--line);border-radius:10px}.pager-n,.pager-step{min-width:30px;height:28px;padding:0 8px;display:inline-grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:background-color .15s,color .15s}.pager-n:hover:not(.on),.pager-step:hover:not(:disabled){background:var(--paper-2);color:var(--text-main)}.pager-n.on{background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 0 0 1px rgba(99,102,241,.35)}.pager-step:disabled{opacity:.35;cursor:not-allowed}.pager-gap{padding:0 4px;color:var(--muted)}.pager button:focus-visible,.u-size select:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.u-printer{display:flex;flex-direction:column;line-height:1.3}.u-printer small{color:var(--muted);font-size:.74rem}.u-size{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}.u-size select{height:30px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background-color:var(--card)}.modal-body{padding:4px 20px 8px;display:grid;grid-gap:12px;gap:12px}.modal-body textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--card);resize:vertical}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px 18px}.btn.danger-solid{background:linear-gradient(135deg,#dc2626,#ef4444)}.admin-main>*{flex-shrink:0}.foot-card,.kpi,.note,.panel,.tile{min-width:0}.chart-box>[data-chart]{flex:1 1 auto;min-width:0;height:100%}.chart-box{min-height:240px}.foot-card h3,.foot-card p,.kpi-sub,.kpi-title,.kpi-value{overflow-wrap:anywhere}.users-split>*{min-width:0}.page-head,.test-switch{flex-wrap:wrap}@media (max-width:640px){.u-toolbar{padding:12px}.u-search{flex-basis:100%}.u-pager{justify-content:center}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.chart-box{height:260px}}.plat-grid{display:grid;grid-gap:18px 28px;gap:18px 28px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:8px}.u-id{display:block;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;color:var(--muted);-webkit-user-select:all;-moz-user-select:all;user-select:all}.u-table td .switch{vertical-align:middle}.ptag.web{background:rgba(99,102,241,.14);color:#4f46e5}html.dark .ptag.web{color:#a5b4fc}.ucard{position:fixed;z-index:60;top:50%;left:50%;transform:translate(-50%,-50%);width:min(880px,calc(100vw - 24px));max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 28px 70px -14px rgba(0,0,0,.5);overflow:hidden}.ucard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 26px 16px;border-bottom:1px solid var(--line)}.ucard-title h2{margin:0;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.ucard-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.ucard-id{display:inline-block;margin-top:10px;padding:3px 8px;border:1px dashed var(--line);border-radius:6px;background:var(--paper-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;color:var(--muted)}.ucard-id:hover{color:var(--brand);border-color:var(--brand)}.ucard-body{padding:8px 26px 12px;overflow-y:auto}.ucard-sec{padding:22px 0 4px}.ucard-sec+.ucard-sec{border-top:1px solid var(--line);margin-top:18px}.ucard-sec>h3{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:1.05rem;font-weight:800;letter-spacing:-.015em;color:var(--text-main)}.ucard-sec>h3 small{padding:1px 9px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-size:.72rem;font-weight:700;letter-spacing:0}.ucard-fold>summary{display:flex;align-items:center;cursor:pointer;list-style:none}.ucard-fold>summary::-webkit-details-marker{display:none}.ucard-fold>summary>h3{display:flex;align-items:center;gap:10px;flex:1 1;margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.015em;color:var(--text-main)}.ucard-fold>summary>h3 small{padding:1px 9px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-size:.72rem;font-weight:700;letter-spacing:0}.ucard-fold>summary:after{content:"";width:8px;height:8px;margin-left:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}.ucard-fold[open]>summary:after{transform:rotate(-135deg)}.ucard-fold>summary{flex-wrap:wrap}.ucard-fold>summary>.fold-peek{order:3;flex-basis:100%;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.85rem}.ucard-fold[open]>summary>.fold-peek{display:none}.ucard-fold[open]>summary{margin-bottom:14px}.ucard-body,.ucard-body li,.ucard-body p,.ucard-body td{font-weight:400}.ucard-body .u-muted{font-size:.84rem}.ucard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:12px;gap:12px;padding-top:18px}.ucard-stats>div{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);display:flex;flex-direction:column;gap:6px}.ucard-stats b{font-size:1.7rem;font-weight:800;line-height:1;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ucard-stats span{font-size:.76rem;color:var(--muted)}.ucard-grid{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:16px 24px;gap:16px 24px}.ucard-grid dt{font-size:.74rem;font-weight:500;color:var(--muted);margin-bottom:3px}.ucard-grid dd{margin:0;font-size:.9rem;font-weight:500;color:var(--text-main);overflow-wrap:anywhere}.ucard-blocked{margin-top:18px;padding:12px 14px;border:1px solid rgba(239,68,68,.35);background:rgba(239,68,68,.07);border-radius:12px;font-size:.84rem;display:grid;grid-gap:2px;gap:2px}.ucard-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.ucard-table{min-width:520px}.ucard-table th{font-weight:600}.ucard-table td{font-size:.84rem}.ucard-table td b{font-weight:600}.ucard-table td.num,.ucard-table th.num{text-align:right}.ucard-table tbody tr:last-child td{border-bottom:0}.timeline{list-style:none;margin:0 0 12px;padding:4px 6px 4px 22px;position:relative;display:grid;max-height:280px;overflow-y:auto}.timeline:before{content:"";position:absolute;left:8px;top:12px;bottom:12px;width:2px;background:var(--line)}.timeline li{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 0;font-size:.86rem}.timeline li:before{content:"";position:absolute;left:-18px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--card)}.timeline li b{font-weight:600}.timeline li span,.timeline time{color:var(--muted);font-size:.78rem}.timeline time{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ucard-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px;font-size:.86rem}.ucard-list li{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}.ucard-list li b{font-weight:600;text-transform:capitalize}.ucard-list li div{margin-top:4px;color:var(--muted)}.ucard-foot{flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px 26px;border-top:1px solid var(--line);background:var(--paper-2)}.ucard-foot,.ucard-test{display:flex;align-items:center}.ucard-test{gap:10px;font-size:.86rem;font-weight:600}.ucard-test span{display:flex;flex-direction:column;line-height:1.25}.ucard-test small{color:var(--muted);font-weight:400;font-size:.74rem}.ucard-actions{display:flex;flex-wrap:wrap;gap:10px}@media (max-width:640px){.ucard-body,.ucard-foot,.ucard-head{padding-left:16px;padding-right:16px}.ucard-actions{width:100%}.ucard-actions .btn{flex:1 1}}.plat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px;margin:6px 0 14px}.plat-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.plat-tile b{margin-top:6px;font-size:1.7rem;line-height:1;font-weight:800;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plat-tile span{font-size:.78rem;color:var(--muted)}.plat-tile small{margin-top:6px;padding-top:8px;border-top:1px solid var(--line);width:100%;font-size:.74rem;color:var(--muted)}.plat-tile.is-empty{opacity:.55}.lib-layout{display:grid;grid-template-columns:250px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}@media (max-width:900px){.lib-layout{grid-template-columns:1fr}}.lib-main{display:grid;grid-gap:14px;gap:14px;min-width:0}.lib-side{position:-webkit-sticky;position:sticky;top:0}.lib-cat-row{gap:4px}.lib-cat,.lib-cat-row{display:flex;align-items:center;margin-bottom:4px}.lib-cat{flex:1 1;justify-content:space-between;gap:8px;width:100%;padding:8px 12px;border:1px solid transparent;border-radius:9px;background:transparent;text-align:left;font-size:.86rem;font-weight:500}.lib-cat-row .lib-cat{margin-bottom:0}.lib-cat:hover{background:var(--paper-2)}.lib-cat.on{background:var(--brand-soft);border-color:rgba(99,102,241,.35);color:var(--brand);font-weight:700}.lib-cat small{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lib-add-cat{display:flex;gap:8px;margin-top:12px}.lib-add-cat input{flex:1 1;min-width:0;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.lib-form-grid{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:18px;gap:18px}@media (max-width:640px){.lib-form-grid{grid-template-columns:1fr}}.lib-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:1;padding:12px;border:2px dashed var(--line);border-radius:14px;background:var(--paper-2);color:var(--muted);font-size:.82rem}.lib-drop:hover{border-color:var(--brand);color:var(--brand)}.lib-drop.has{border-style:solid;background:#fff}.lib-drop{position:relative}.lib-drop img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain}.lib-fields{display:grid;grid-gap:12px;gap:12px;align-content:start}.lib-fields label,.lib-label{display:grid;grid-gap:5px;gap:5px;font-size:.78rem;font-weight:600;color:var(--muted)}.lib-fields input,.lib-fields select,.lib-label input,.lib-label select{height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text-main);font-size:.88rem;font-weight:400}.lib-size{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:14px;gap:14px;margin-top:16px}.lib-card{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:8px 8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);text-align:left;transition:border-color .15s,box-shadow .15s}.lib-card:hover{border-color:var(--brand);box-shadow:0 6px 18px -8px rgba(99,102,241,.35)}.lib-card b{display:block;font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-info{display:grid;grid-gap:6px;gap:6px;padding:0 4px;min-width:0}.lib-info small{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:.74rem}.lib-size-tag{padding:1px 7px;border-radius:6px;background:var(--paper-2);border:1px solid var(--line);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-main);font-weight:600}.lib-has-sample{padding:1px 7px;background:var(--brand-soft);color:var(--brand)}.lib-has-sample,.lib-pill{border-radius:99px;font-weight:700}.lib-pill{position:absolute;top:8px;right:8px;padding:2px 8px;background:rgba(15,23,42,.78);color:#fff;font-size:.64rem;letter-spacing:.04em;text-transform:uppercase}.lib-pill.live{background:rgba(16,185,129,.92)}.lib-panel{padding:18px}.lib-head{flex-wrap:wrap;justify-content:space-between;gap:12px}.lib-head,.lib-title{display:flex;align-items:center}.lib-title{gap:10px}.lib-title h2{margin:0;font-size:1.1rem}.lib-count{padding:2px 10px;border-radius:99px;background:var(--brand-soft);color:var(--brand);font-size:.78rem;font-weight:700}.lib-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.lib-tools .modal-search{min-width:240px}.lib-empty{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:40px 0;color:var(--muted)}.lib-empty p{margin:0}.lib-thumb{position:relative;width:100%;aspect-ratio:4/3;display:grid;place-items:center;border-radius:8px;background:#EEF1F6 radial-gradient(circle,#D3D9E3 1px,transparent 1.3px) 0 0 /14px 14px;border:1px solid var(--line);overflow:hidden}.lib-thumb>img{position:absolute;inset:0;margin:auto;width:88%;height:88%;object-fit:contain}.lib-row-name{display:flex;align-items:center;gap:12px}.lib-mini{display:grid;place-items:center;flex:0 0 56px;width:56px;height:44px;border-radius:8px;border:1px solid var(--line);background:#fff;overflow:hidden}.lib-mini>img{width:90%;height:90%;object-fit:contain}.lib-list{margin-top:14px;max-height:none}.lib-thumb.big{aspect-ratio:16/9}.lib-foot{align-items:center;flex-wrap:wrap;justify-content:flex-start}.lib-modal{top:50%;transform:translate(-50%,-50%);max-height:min(84vh,860px);width:min(660px,calc(100vw - 32px))}.lib-modal .modal-body{flex:1 1;min-height:0;overflow-y:auto}.lib-modal .modal-foot{flex:none;border-top:1px solid var(--line)}.lib-rotate{position:absolute;right:8px;bottom:8px;display:flex;gap:6px}.lib-rotate .lib-act{border:0;background:rgba(15,23,42,.8);color:#fff;cursor:pointer}.lib-rotate .lib-act:hover{background:var(--brand);color:#fff}.lib-rotate .lib-act:disabled{opacity:.5;cursor:default}[data-chart]{position:relative;display:flex;flex-direction:column;font-size:.75rem}[data-chart]>.relative{position:relative;min-height:0;width:100%;flex:1 1}[data-chart]>.relative>div{height:100%;min-height:0;width:100%}[data-chart] .flex{display:flex}[data-chart] .items-center{align-items:center}[data-chart] .gap-4{gap:1rem}[data-chart] .gap-1\.5{gap:.375rem}[data-chart] .gap-2{gap:.5rem}[data-chart] .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-chart] .justify-start{justify-content:flex-start}[data-chart] .justify-center{justify-content:center}[data-chart] .justify-end{justify-content:flex-end}[data-chart] .shrink-0{flex-shrink:0}[data-chart] .h-2{height:.5rem}[data-chart] .w-2{width:.5rem}[data-chart] .h-2\.5{height:.625rem}[data-chart] .w-2\.5{width:.625rem}[data-chart] .h-3{height:.75rem}[data-chart] .w-3{width:.75rem}[data-chart] .h-1{height:.25rem}[data-chart] .w-1{width:.25rem}[data-chart] .rounded-full{border-radius:9999px}[data-chart] .rounded-\[2px\]{border-radius:2px}[data-chart] .rounded-\[3px\]{border-radius:3px}.designer-back{z-index:65}.designer{position:fixed;z-index:70;inset:4vh 3vw;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -12px rgba(0,0,0,.45);overflow:hidden}.designer-head{display:flex;justify-content:space-between;gap:16px;padding:16px 20px 12px;border-bottom:1px solid var(--line)}.designer-head h2{margin:0 0 4px;font-size:1.05rem}.designer-head p{margin:0;font-size:.8rem;color:var(--muted)}.designer-body{flex:1 1;min-height:0;display:flex}.designer-stage-wrap{flex:1 1;min-width:0;overflow:auto;display:grid;place-items:center;padding:24px;background:repeating-conic-gradient(var(--line) 0 25%,transparent 0 50%) 50% /16px 16px}.designer-stage{position:relative;flex:none;background:transparent;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.designer-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.designer-el{position:absolute;cursor:move;outline:1px dashed transparent;overflow:visible;color:#111}.designer-el:hover{outline-color:#2e78b8}.designer-el.on{outline:1.5px solid #1eb8c8}.designer-el>span{width:100%;height:100%;overflow:hidden;line-height:1.25;white-space:pre-wrap;word-break:break-word}.designer-el>span,.designer-el>svg{display:block;pointer-events:none}.designer-line{position:absolute;left:0;right:0;top:50%;height:100%;transform:translateY(-50%);background:#111;pointer-events:none}.designer-el.line{min-height:6px}.designer-el.line .designer-line{top:0;transform:none}.designer-handle{position:absolute;width:10px;height:10px;background:#fff;border:1.5px solid #1eb8c8;border-radius:2px}.designer-handle.nw{left:-6px;top:-6px;cursor:nwse-resize}.designer-handle.ne{right:-6px;top:-6px;cursor:nesw-resize}.designer-handle.sw{left:-6px;bottom:-6px;cursor:nesw-resize}.designer-handle.se{right:-6px;bottom:-6px;cursor:nwse-resize}.designer-side{width:320px;flex:none;display:flex;flex-direction:column;gap:14px;padding:16px;border-left:1px solid var(--line);overflow-y:auto}.designer-add{display:flex;flex-wrap:wrap;gap:6px}.designer-props{display:grid;grid-gap:10px;gap:10px}.designer-props h3{margin:0;font-size:.9rem}.designer-json textarea,.designer-props textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text-main);font:inherit;font-size:.85rem;resize:vertical}.designer-json textarea{font-family:ui-monospace,monospace;font-size:.72rem;margin-bottom:6px}.designer-props input,.designer-props select{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text-main);font-size:.85rem}.designer-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.designer-check{display:flex;align-items:center;gap:8px;font-size:.85rem}.designer-actions{display:flex;flex-wrap:wrap;gap:6px}.designer-hint{font-size:.85rem}.designer-json summary{cursor:pointer;font-size:.8rem;color:var(--muted);margin-bottom:8px}.designer-foot{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid var(--line)}@media (max-width:860px){.designer-body{flex-direction:column}.designer-side{width:auto;border-left:0;border-top:1px solid var(--line);max-height:45%}}.hide-test{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px solid var(--tab-border);background:var(--tab-bg);color:inherit;font-size:.76rem;font-weight:600;cursor:pointer}.hide-test .switch{display:block;margin:0;pointer-events:none}.hide-test span{line-height:1}.u-link{color:var(--brand);font-size:.78rem;font-weight:600;text-decoration:none;cursor:pointer}.u-link:hover{text-decoration:underline}.lib-pill.off{background:rgba(239,68,68,.9)}.lib-thumb.dim .sd-preview,.lib-thumb.dim>img{opacity:.35;filter:grayscale(1)}.lib-cat-chip{padding:1px 8px;border-radius:99px;border:1px solid var(--line);background:var(--paper-2);color:var(--text-main);font-weight:600}.lib-cat-chip.none{color:var(--muted);font-weight:500;border-style:dashed}.lib-chips{display:inline-flex;flex-wrap:wrap;gap:4px}.lib-pick{display:flex;flex-wrap:wrap;gap:6px}.lib-pick button{padding:5px 11px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--text-main);font-size:.8rem;font-weight:500}.lib-pick button.on,.lib-pick button:hover{border-color:var(--brand)}.lib-pick button.on{background:var(--brand-soft);color:var(--brand);font-weight:700}.lib-pick button:disabled{cursor:default;opacity:.85}.lib-pick .u-muted{align-self:center;font-size:.8rem}.lib-drag-hint{margin:0 0 6px;color:var(--muted);font-size:.74rem}.lib-cat.drop{border-style:dashed;border-color:var(--line)}.lib-cat.over{background:var(--brand-soft);border-color:var(--brand);border-style:solid;color:var(--brand)}.lib-card[draggable=true],.u-row[draggable=true]{cursor:-webkit-grab;cursor:grab}.lib-card.lifted,.u-row.lifted{opacity:.45}.lib-acts{display:flex;gap:4px;flex-shrink:0}.lib-act{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;border:1px solid transparent}.lib-act.view{background:rgba(59,130,246,.18);color:#60a5fa;border-color:rgba(59,130,246,.35)}.lib-act.view:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.lib-act.design{background:rgba(99,102,241,.18);color:#a5b4fc;border-color:rgba(99,102,241,.35)}.lib-act.design:hover{background:#6366f1;color:#fff;border-color:#6366f1}.lib-act.disable{background:rgba(245,158,11,.18);color:#fbbf24;border-color:rgba(245,158,11,.35)}.lib-act.disable:hover{background:#f59e0b;color:#fff;border-color:#f59e0b}.lib-act.enable{background:rgba(16,185,129,.18);color:#34d399;border-color:rgba(16,185,129,.35)}.lib-act.enable:hover{background:#10b981;color:#fff;border-color:#10b981}.lib-act.del{background:rgba(239,68,68,.18);color:#f87171;border-color:rgba(239,68,68,.35)}.lib-act.del:hover{background:#ef4444;color:#fff;border-color:#ef4444}.lib-row-acts{display:flex;justify-content:flex-end;gap:8px}.lib-clip .lib-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.lib-clip .lib-thumb{aspect-ratio:1}.fb-stars{color:#F59E0B;letter-spacing:1px;white-space:nowrap}.fb-stars i{font-style:normal;color:var(--line)}.fb-dist{display:grid;grid-gap:4px;gap:4px}.fb-bar{display:flex;align-items:center;gap:8px;width:100%;padding:1px 4px;border:0;border-radius:6px;background:transparent;font-size:.78rem;text-align:left}.fb-bar.on,.fb-bar:hover{background:var(--brand-soft)}.fb-bar span{width:28px;color:var(--muted)}.fb-bar div{flex:1 1;height:7px;border-radius:4px;background:var(--paper-2);overflow:hidden}.fb-bar i{display:block;height:100%;border-radius:4px;background:#F59E0B}.fb-bar b{width:26px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fb-msg{max-width:420px}.fb-msg span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fb-tags{display:flex;gap:8px;margin-bottom:10px}.fb-full{margin:0 0 14px;white-space:pre-wrap;overflow-wrap:anywhere}.latency-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:14px}.latency-card,.latency-grid{display:grid;grid-gap:14px;gap:14px}.latency-card{align-content:start}.latency-head{display:flex;gap:12px;align-items:flex-start}.latency-head h2{margin:0;font-size:1rem}.latency-head p{margin:2px 0 0;color:var(--muted);font-size:.82rem}.latency-main{display:flex;align-items:baseline;gap:12px}.latency-main b{font-size:2.2rem;font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.latency-main small{font-size:1rem;font-weight:600;color:var(--muted)}.latency-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));grid-gap:10px;gap:10px;margin:0}.latency-stats dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.latency-stats dd{margin:2px 0 0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.latency-bars{display:flex;align-items:flex-end;gap:6px;height:44px}.latency-bars i{flex:1 1;border-radius:3px;background:var(--brand);opacity:.8}.latency-card .btn{justify-self:start}.lib-view{inset:6vh 6vw}.lib-view-stage{position:relative;flex:1 1;min-width:0;min-height:0;display:grid;place-items:center;padding:32px;background:#EEF1F6 radial-gradient(circle,#D3D9E3 1px,transparent 1.3px) 0 0 /14px 14px}.lib-view-stage>img{position:absolute;inset:32px;width:calc(100% - 64px);height:calc(100% - 64px);object-fit:contain}.lib-view-stage>img.dim{opacity:.35;filter:grayscale(1)}.lib-view-facts{display:grid;grid-template-columns:auto 1fr;grid-gap:10px 14px;gap:10px 14px;margin:0;font-size:.85rem}.lib-view-facts dt{color:var(--muted)}.lib-view-facts dd{margin:0;min-width:0}.lib-view-id{font-size:.72rem;word-break:break-all}.lib-view-warn{color:var(--warn)}@media (max-width:860px){.lib-view{inset:3vh 3vw}.lib-view-stage{min-height:45%}}.lib-view-from{display:block;margin-top:2px;color:var(--muted);font-size:.74rem}.lib-file-size{margin:0;font-size:.8rem;color:var(--muted)}.lib-file-size b{color:var(--text-main)}.lib-file-size .u-link{border:0;background:none;padding:0}.sd .designer-body{min-height:0}.sd-canvas-wrap{position:relative;flex:1 1;min-width:0;min-height:0}.sd-canvas{position:absolute;inset:0;display:flex;overflow:auto;background:var(--paper-2)}.sd-board{position:relative;flex:none;margin:auto}.sd-corner,.sd-frame{position:absolute}.sd-corner{left:0;top:0;width:22px;height:22px;background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.sd-ruler-left,.sd-ruler-top{position:absolute}.sd-ruler-top{top:0}.sd-ruler-left{left:0}.sd-ruler{display:block;background:var(--card)}.sd-ruler line{stroke:var(--muted);stroke-width:1}.sd-ruler text{fill:var(--muted);font-size:9px;font-family:ui-monospace,monospace}.sd-ruler-band{fill:var(--brand);opacity:.18}.sd-stage{position:absolute;background:transparent;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 1px 0 var(--line),0 6px 22px -10px rgba(0,0,0,.35)}.sd-template{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sd-el{position:absolute;cursor:move}.sd-el:not(.on):hover{outline:1px solid rgba(45,175,229,.85)}.sd-text{position:absolute;left:0;top:0;right:0;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:none}.sd-barcode{display:flex;flex-direction:column;text-align:center;white-space:nowrap;overflow:hidden}.sd-barcode,.sd-el.qrcode>svg{position:absolute;inset:0;pointer-events:none}.sd-line{pointer-events:none}.sd-hit,.sd-line{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%)}.sd-hit{height:14px}.sd-invalid{position:absolute;inset:0;display:grid;place-items:center;border:1px dashed #e53935;color:#E53935;font-size:11px;text-align:center;background:rgba(229,57,53,.06)}.sd-outline{position:absolute;inset:0;border:1.5px dashed;pointer-events:none}.sd-el.line .sd-outline{inset:-4px 0}.sd-handle{position:absolute;z-index:2;display:grid;place-items:center;border-radius:50%;opacity:.9;box-shadow:0 1px 3px rgba(0,0,0,.35)}.sd-handle:hover{opacity:1}.sd-handle.e{right:-28px;top:50%;margin-top:-11px;cursor:ew-resize}.sd-handle.s{bottom:-28px;left:50%;margin-left:-11px;cursor:ns-resize}.sd-handle.e:before{content:"";position:absolute;right:100%;top:50%;width:6px;border-top:1.5px dashed #e8543c}.sd-handle.s:before{content:"";position:absolute;bottom:100%;left:50%;height:6px;border-left:1.5px dashed #e8543c}.sd-guide{z-index:3}.sd-guide,.sd-hud{position:absolute;pointer-events:none}.sd-hud{z-index:4;transform:translateX(-50%);padding:3px 8px;border-radius:6px;background:rgba(15,23,42,.85);color:#fff;font-size:11px;font-family:ui-monospace,monospace;white-space:nowrap}.sd-quick{position:absolute;z-index:5;width:260px;display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 16px 40px -12px rgba(0,0,0,.45);cursor:default}.sd-quick b{font-size:.8rem}.sd-quick input,.sd-quick textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text-main);font:inherit;font-size:.88rem;resize:vertical}.sd-quick-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.sd-quick-foot small{color:var(--muted);font-size:.72rem}.sd-zoom{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:.78rem}.sd-zoom span{min-width:42px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sd-side{gap:16px}.sd-tools{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.sd-tool{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:12px 4px 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--text-main);font-size:.74rem;font-weight:600;cursor:pointer}.sd-tool:hover{border-color:var(--brand);color:var(--brand)}.sd-panel{display:grid;grid-gap:14px;gap:14px}.sd-panel section{display:grid;grid-gap:10px;gap:10px}.sd-layers h4,.sd-panel h4{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.sd-panel-head{display:flex;align-items:center;justify-content:space-between}.sd-panel-head h3{margin:0;font-size:.95rem}.sd-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sd-field{display:grid;grid-gap:6px;gap:6px;font-size:.8rem;color:var(--muted)}.sd-field input,.sd-field textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text-main);font:inherit;font-size:.86rem;resize:vertical}.sd-font{display:flex;align-items:center;gap:6px}.sd-font input[type=range]{flex:1 1;min-width:0;accent-color:#42BCC7}.sd-font b{min-width:48px;text-align:right;color:var(--text-main);font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sd-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.sd-num{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--card)}.sd-num span{width:44px;padding:0 8px;color:var(--muted);font-size:.74rem;font-weight:600}.sd-num input{flex:1 1;min-width:0;height:32px;padding:0 8px 0 0;border:0;background:transparent;color:var(--text-main);font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sd-num input:disabled{color:var(--muted)}.sd-nudge{justify-content:space-between}.sd-align{display:flex;flex-wrap:wrap;gap:4px}.sd-warn{margin:0;color:#E53935;font-size:.78rem}.sd-note{margin:0;font-size:.76rem}.sd-layers h4 small{font-weight:400;text-transform:none;letter-spacing:0;margin-left:6px}.sd-group{border:1.5px dashed #e8543c;border-radius:4px;z-index:3}.sd-group,.sd-marquee{position:absolute;pointer-events:none}.sd-marquee{border:1px solid var(--brand);background:var(--brand-soft);z-index:4}.sd-layers{display:grid;grid-gap:4px;gap:4px}.sd-layer{display:flex;align-items:center;gap:8px;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-main);font-size:.82rem;text-align:left;cursor:pointer}.sd-layer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-layer:hover{background:var(--paper-2)}.sd-layer.on{background:var(--brand-soft);color:var(--brand)}.sd-field textarea,.sd-quick textarea{height:78px;min-height:52px}.sd-preview{position:absolute;inset:6%;display:grid;place-items:center;pointer-events:none}.sd-preview.dim{opacity:.35;filter:grayscale(1)}.lib-thumb>img,.lib-view-stage>img:not(.dim),.sd-preview-label{filter:drop-shadow(0 1px 1.5px rgba(15,23,42,.22)) drop-shadow(0 6px 14px rgba(15,23,42,.14))}.sd-preview-label{position:relative;overflow:hidden}.sd-pv-el{position:absolute}.sd-pv-el.qrcode svg{position:absolute;inset:0}.lib-view-stage .sd-preview{inset:32px}.lib-sample-toggle{position:absolute;left:8px;bottom:8px;z-index:3}.lib-sample-toggle button{padding:4px 10px;font-size:.74rem}.lib-design-badge{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:99px;background:rgba(66,188,199,.92);color:#fff;font-size:.68rem;font-weight:700}.lib-mini{position:relative}.lib-mini .sd-preview{inset:4%}.ld{display:grid;justify-items:center;align-content:center;grid-gap:14px;gap:14px;padding:56px 16px;color:var(--muted);min-height:220px}.ld.compact{gap:8px;padding:18px 8px;min-height:0}.ld-art{position:relative;width:64px;height:60px}.ld.compact .ld-art{transform:scale(.7);margin:-8px 0}.ld-slot{position:absolute;z-index:1;top:6px;left:4px;right:4px;height:10px;border-radius:5px;background:var(--brand);box-shadow:0 2px 6px -2px rgba(15,23,42,.35)}.ld-feed{top:11px;left:14px;right:14px;height:49px;overflow:hidden}.ld-feed,.ld-tag{position:absolute}.ld-tag{inset:0 0 4px;display:grid;align-content:start;grid-gap:5px;gap:5px;padding:10px 7px 0;border:1.5px solid var(--brand);border-top:0;border-radius:0 0 7px 7px;background:var(--card);animation:ld-feed 1.8s cubic-bezier(.45,0,.25,1) infinite}.ld-tag i{display:block;height:3px;border-radius:2px;background:var(--brand);opacity:.85;transform-origin:left;animation:ld-print 1.8s ease-out infinite}.ld-tag i:nth-child(2){width:70%;animation-delay:.12s}.ld-tag i:nth-child(3){width:45%;animation-delay:.24s}.ld-text{font-size:.82rem;font-weight:600;letter-spacing:.01em}@keyframes ld-feed{0%{transform:translateY(-100%);opacity:1}45%,78%{transform:translateY(0);opacity:1}to{transform:translateY(0);opacity:0}}@keyframes ld-print{0%,30%{transform:scaleX(0)}55%,to{transform:scaleX(1)}}.skel{display:inline-block;vertical-align:middle;max-width:100%;border-radius:6px;background:linear-gradient(90deg,var(--paper-2) 25%,var(--line) 37%,var(--paper-2) 63%);background-size:400% 100%;animation:skel 1.4s ease infinite}.skel.round{border-radius:99px}.skel-row td{padding-top:14px;padding-bottom:14px}.skel-card{pointer-events:none}.skel-card:hover{border-color:var(--line);box-shadow:none}.skel-thumb{display:block;width:100%;aspect-ratio:4/3;border-radius:8px}.kpi-value .skel{height:22px;width:64%;border-radius:7px}@keyframes skel{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion:reduce){.ld-tag,.ld-tag i,.skel{animation:none}}