:root{--bg:#15120f;--bg-elev:#1d1915;--sidebar:#181410;--card:#211c18;--card-2:#29231d;--border:#3b332b;--border-soft:#2d2721;--border-strong:#5b4d3f;--text:#eee5d6;--text-dim:#b6a894;--text-faint:#867968;--green:#78927e;--green-dim:#4f6657;--red:#df735b;--blue:#c4512f;--purple:#5a3548;--amber:#d2ad5c;--accent:#c4512f;--accent-dim:#8d3b29;--accent-soft:#3a2119;--accent-2:#d2ad5c;--signal:#d2ad5c;--on-accent:#eee5d6;--font-ui:"Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:SFMono-Regular, Menlo, Consolas, monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--shadow-card:0 1px 2px #0e0c0a7a, 0 12px 30px -18px #c4512f57}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(circle at 8% -10%,#c4512f1a,transparent 30rem),var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-size:13px}button,input,select,textarea{font-family:inherit}a{color:inherit}#app{height:100vh;display:flex;overflow:hidden}.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--bg));border-right:1px solid var(--border-soft);flex-direction:column;flex-shrink:0;width:250px;height:100%;padding:16px 0;transition:transform .25s;display:flex;box-shadow:inset 2px 0 #c4512fbf}.logo{flex-shrink:0;align-items:center;gap:10px;padding:6px 18px 18px;display:flex}.logo .name{letter-spacing:.3px;font-size:14px;font-weight:700;font-family:var(--font-ui)}.brand-details{gap:2px;min-width:0;display:grid}.app-version{color:var(--signal);font:700 9px/1 var(--mono);letter-spacing:.08em}.command-mark{background:var(--bg);width:36px;height:36px;box-shadow:inset 0 0 0 1px #eee5d60a,var(--shadow-card);border:1px solid #d2ad5c59;border-radius:5px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.command-mark.compact{border-radius:7px;width:30px;height:30px}.command-mark svg{width:78%;height:78%;display:block}nav.navlist{flex:1;min-height:0;padding:0 8px;overflow-y:auto}.nav-item{margin-bottom:2px}.nav-link,.nav-toggle{width:100%;color:var(--text-dim);font-family:var(--font-body);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:9px 10px;font-size:12.5px;text-decoration:none;display:flex}.nav-link:hover,.nav-toggle:hover{background:var(--card);color:var(--text)}.nav-link.active{color:var(--text);box-shadow:inset 2px 0 0 var(--accent);background:#c4512f26;border-left:none;font-weight:650}.nav-toggle{justify-content:space-between}.nav-toggle .chev{opacity:.7;font-size:10px;transition:transform .15s;display:flex}.nav-toggle.open .chev{transform:rotate(90deg)}.nav-icon{opacity:.85;justify-content:center;align-items:center;width:15px;display:flex}.sub-list{max-height:0;padding-left:12px;transition:max-height .18s;overflow:hidden}.sub-list.open{max-height:600px}.sub-link{color:var(--text-faint);border-radius:6px;padding:7px 10px 7px 24px;font-size:12px;text-decoration:none;display:block;position:relative}.sub-link:before{content:"•";opacity:.5;position:absolute;left:10px}.sub-link:hover{color:var(--text);background:var(--card)}.sub-link.active{color:var(--signal);background:#c4512f1f;font-weight:600}.logout-row{border-top:1px solid var(--border-soft);flex-shrink:0;margin-top:8px;padding:10px 18px 0}.logout-row button{color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:10px 0;font-size:12.5px;display:flex}.main{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--border-soft);background:linear-gradient(#29231dfa,#1d1915fa);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 28px;display:flex;box-shadow:inset 0 2px #d2ad5c47}.welcome{color:var(--text-dim);font-size:12.5px}.welcome b{color:var(--text);font-weight:600}.topbar-right{align-items:center;gap:16px;display:flex}.theme-btn{border:1px solid var(--border);background:var(--card);width:30px;height:30px;color:var(--text-dim);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex}.user-block{cursor:pointer;align-items:center;gap:10px;display:flex}.user-name{text-align:right;font-size:12.5px;line-height:1.3}.user-name .n{color:var(--text);font-weight:600}.user-name .e{color:var(--text-faint);font-size:11px}.avatar{background:var(--card-2);border:1px solid var(--border);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.avatar-photo{object-fit:cover;object-position:center 32%;padding:0;display:block}.global-search{background:var(--card);border:1px solid var(--border);color:var(--text-dim);border-radius:8px;align-items:center;gap:8px;min-width:220px;padding:7px 12px;display:flex}.global-search input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:12px}.project-picker{background:var(--card);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:flex}.panel-return{color:var(--text);background:var(--card);border:1px solid var(--border-strong);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.panel-return:hover{border-color:var(--accent);background:var(--card-2)}.content{flex:1;min-height:0;padding:24px 28px 60px;overflow-y:auto}.crumb{color:var(--text-faint);letter-spacing:1px;margin-bottom:6px;font-size:11px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}h1.title{letter-spacing:-.5px;font-size:26px;font-weight:800;font-family:var(--font-ui);margin:0}.btn-tv{background:var(--card);border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:11.5px;font-weight:500;display:flex}.badge-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.badge{background:var(--card);border:1px solid var(--border);color:var(--text-dim);letter-spacing:.5px;border-radius:999px;padding:4px 10px;font-size:11px}.filter-bar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:20px;padding:16px}.filter-label{letter-spacing:1.5px;color:var(--text-faint);text-align:center;margin-bottom:10px;font-size:10px}.filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fchip{background:var(--card-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;outline:none;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:12px;display:flex}.fchip.active{background:var(--accent-soft,#3a2119);color:var(--text);border-color:var(--accent)}.ftabs{background:var(--card-2);border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.ftabs button{color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:7px 12px;font-size:12px}.ftabs button.active{background:var(--accent-soft,#3a2119);color:var(--text)}.fref{color:var(--text-faint);font-size:11.5px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;display:grid}.kpi-grid.six{grid-template-columns:repeat(6,1fr)}.kpi-grid.five{grid-template-columns:repeat(5,1fr)}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px 16px}.kpi-top{color:var(--text-faint);letter-spacing:.8px;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10.5px;display:flex}.kpi-val{letter-spacing:-.5px;font-size:22px;font-weight:800;font-family:var(--mono);margin-bottom:6px}.kpi-sub{flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.delta-up{color:var(--green)}.delta-down{color:var(--red)}.delta-flat,.kpi-extra{color:var(--text-faint)}.kpi-sparkline{opacity:.9;margin-top:8px;margin-left:-2px;margin-right:-2px}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:16px;padding:18px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel-title{letter-spacing:1px;color:var(--text-dim);text-transform:uppercase;font-size:11px}.legend-toggle{gap:14px;display:flex}.legend-toggle span{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;font-size:11.5px;display:flex}.legend-toggle span.lg-active{color:var(--text);font-weight:700}.dot{border-radius:50%;width:9px;height:9px;display:inline-block}.period-row{flex-wrap:wrap;gap:28px;margin-bottom:14px;display:flex}.period-box .lbl{color:var(--text-faint);letter-spacing:.6px;margin-bottom:4px;font-size:10px}.period-box .val{font-size:20px;font-weight:800;font-family:var(--mono)}.chip-delta{color:var(--red);background:#ef44441f;border-radius:6px;margin-left:8px;padding:3px 8px;font-size:11px}.funnel{align-items:stretch;gap:0;padding-bottom:6px;display:flex;overflow-x:auto}.fstep{text-align:center;flex:1;min-width:150px;position:relative}.fstep .num{color:var(--text-faint);letter-spacing:1px;margin-bottom:8px;font-size:10px}.fbox{background:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:19px;font-weight:800;font-family:var(--mono);padding:18px 10px}.fstep .cap{color:var(--text-faint);margin-top:8px;font-size:10.5px}.fconn{min-width:70px;color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;display:flex}.fconn .arrow{color:var(--text-faint);font-size:14px}.fconn .met{color:var(--text-dim);font-weight:600}.funnel-foot{text-align:right;color:var(--text-faint);margin-top:10px;font-size:10.5px}.cmp-table .row{border-bottom:1px solid var(--border-soft);grid-template-columns:1fr 120px 1fr;align-items:center;padding:8px 0;font-size:12px;display:grid}.cmp-table .row:last-child{border-bottom:none}.cmp-table .a-val{text-align:right;font-family:var(--mono);padding-right:14px}.cmp-table .metric{text-align:center;color:var(--text-faint);letter-spacing:.5px;font-size:10.5px}.cmp-table .b-val{text-align:left;font-family:var(--mono);padding-left:14px}.win{color:var(--green)}table.dt,.g-table{border-collapse:collapse;width:100%;font-size:12px}.g-table th{text-align:left;color:var(--text-faint);letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:10px;font-weight:600}.g-table td{border-bottom:1px solid var(--border-soft);white-space:nowrap;padding:11px 10px}.g-table tbody tr:hover{background:var(--card-2)}.g-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.g-table th.sortable:hover{color:var(--text)}.toggle-pair{background:var(--card-2);border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.toggle-pair button{color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:11px}.toggle-pair button.active{background:var(--accent-soft,#3a2119);color:var(--text)}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.table-pagination{color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:11.5px;display:flex}.table-pagination .pg-btns{gap:6px;display:flex}.checkbox-cell{width:34px}.placeholder-page{text-align:center;color:var(--text-faint);padding:60px 10px}.placeholder-page h2{color:var(--text);margin-bottom:8px;font-size:20px}.placeholder-page .tag{background:var(--card);border:1px solid var(--border);color:var(--amber);border-radius:999px;margin-top:14px;padding:6px 14px;font-size:11px;display:inline-block}.info-box{color:#aebfaf;background:#78927e1f;border:1px solid #78927e61;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;font-size:12px;line-height:1.5;display:flex}.info-box b{color:#cfdbc9}.warning-box{color:#d9bd7a;background:#d2ad5c1a;border:1px solid #d2ad5c61;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;font-size:12px;line-height:1.5;display:flex}.warning-box b{color:#eed49c;margin-bottom:4px;font-size:13px;display:block}.error-box{color:#f5a3a3;background:#2a1414;border:1px solid #4a1e1e;border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;font-size:12px;line-height:1.5;display:flex}.error-box b{color:#ffbdbd;margin-bottom:4px;font-size:13px;display:block}.tab-pills{background:var(--card-2);border:1px solid var(--border);border-radius:10px;gap:0;width:fit-content;margin-bottom:16px;display:flex;overflow:hidden}.tab-pills button{color:var(--text-dim);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:9px 16px;font-size:12px;display:flex}.tab-pills button.active{background:var(--accent-soft,#3a2119);color:var(--text)}.chip-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.stat-chip{background:var(--card);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;display:inline-flex}.empty-panel{text-align:center;color:var(--text-faint);padding:40px 20px}.empty-panel .ico{opacity:.6;justify-content:center;margin-bottom:10px;display:flex}.empty-panel .t{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.empty-panel .s{margin-bottom:12px;font-size:11.5px}.g-card{background:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.g-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.g-grid.two{grid-template-columns:repeat(2,1fr)}.g-grid.one{grid-template-columns:1fr}.gc-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.gc-title{font-size:13px;font-weight:700;font-family:var(--font-ui)}.gc-status{letter-spacing:.5px;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;height:fit-content;padding:2px 7px;font-size:9.5px;display:inline-flex}.gc-status.ativo{color:var(--green);background:#22c55e26}.gc-status.active{color:var(--red);background:#ef444426}.gc-status.rascunho{color:var(--amber);background:#f59e0b26}.gc-status.configurado{color:var(--green);background:#22c55e26}.gc-sub{color:var(--text-faint);margin-bottom:8px;font-size:11px}.gc-row{color:var(--text-dim);border-top:1px solid var(--border-soft);justify-content:space-between;padding:4px 0;font-size:11px;display:flex}.gc-chip{background:var(--card);border:1px solid var(--border);color:var(--text-faint);border-radius:6px;padding:3px 8px;font-size:10px}.field-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.field-box{flex:1;min-width:140px}.field-box label{color:var(--text-faint);letter-spacing:.6px;margin-bottom:5px;font-size:9.5px;display:block}.field-box .fv{background:var(--card-2);border:1px solid var(--border);color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;padding:8px 10px;font-size:11.5px;overflow:hidden}.mini-btn{background:var(--card-2);border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);font-size:11.5px;font-family:var(--font-body);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:8px 14px;font-weight:500;display:inline-flex}.mini-btn:disabled{opacity:.5;cursor:not-allowed}.mini-btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:700;box-shadow:0 6px 16px -6px #c4512f94}.mini-btn.blue{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:700}.mini-btn.green{color:#fff;background:#16a34a;border-color:#16a34a;font-weight:700}.mini-btn.danger{color:var(--red);background:0 0;border-color:#4a1e1e}.progress-line{background:var(--border);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.progress-line i{height:100%;display:block}.side-stat{justify-content:space-between;margin-bottom:6px;font-size:11.5px;display:flex}.form-field{margin-bottom:14px}.form-field label{color:var(--text-dim);margin-bottom:6px;font-size:11px;display:block}.form-field .req{color:var(--red)}.form-field .hint{color:var(--text-faint);margin-top:4px;font-size:10.5px}.form-field .field-error{color:var(--red);margin-top:4px;font-size:10.5px}.modal-input{background:var(--card-2);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);border-radius:8px;padding:9px 10px;font-size:12.5px}.modal-input.invalid{border-color:var(--red)}.fv-select{background:var(--card-2);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);border-radius:8px;padding:8px 10px;font-size:11.5px}.health-badge{letter-spacing:.3px;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.health-badge.operational{color:var(--green);background:#22c55e26}.health-badge.degraded{color:var(--amber);background:#f59e0b26}.health-badge.down{color:var(--red);background:#ef444426}.health-badge.unknown{background:var(--card-2);color:var(--text-faint)}@keyframes skeleton-pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.skeleton{background:var(--card-2);border-radius:6px;animation:1.4s ease-in-out infinite skeleton-pulse}.modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:420px;max-width:92vw;padding:20px;box-shadow:0 20px 48px #00000073}.modal-box.wide{width:640px}.modal-head{font-size:14px;font-family:var(--font-ui);justify-content:space-between;align-items:center;margin-bottom:16px;font-weight:600;display:flex}.modal-head button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;font-size:14px;display:flex}.modal-body{flex-direction:column;gap:12px;max-height:65vh;margin-bottom:18px;display:flex;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:8px;display:flex}.drawer-overlay{z-index:1000;background:#00000080;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-box{background:var(--card);border-left:1px solid var(--border);width:420px;max-width:92vw;height:100%;padding:20px;overflow-y:auto;box-shadow:-12px 0 40px #00000059}.app-toast{background:var(--card-2);border:1px solid var(--border);color:var(--text);font-size:12px;font-family:var(--font-body);opacity:0;pointer-events:none;z-index:2000;text-align:center;border-radius:10px;max-width:90vw;padding:10px 18px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(16px);box-shadow:0 8px 24px #0000004d}.app-toast.show{opacity:1;transform:translate(-50%)translateY(0)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}#app.tv-mode .sidebar,#app.tv-mode .topbar,#app.tv-mode .content{display:none}.tv-topbar{border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 28px;display:none}#app.tv-mode .tv-topbar{display:flex}.tv-topbar-left{align-items:center;gap:12px;display:flex}.tv-mark{border-radius:var(--radius-sm);background:var(--accent);width:30px;height:30px;color:var(--on-accent);justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.tv-title{font-size:14px;font-weight:700}.tv-sub{color:var(--text-faint);letter-spacing:.6px;margin-top:3px;font-size:10px}.tv-topbar-right{align-items:center;gap:18px;display:flex}.tv-live{color:var(--green);letter-spacing:.6px;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.tv-dot{background:var(--green);border-radius:50%;width:7px;height:7px;animation:1.6s infinite tvpulse;box-shadow:0 0 #22c55e99}@keyframes tvpulse{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.tv-clock{color:var(--text-dim);white-space:nowrap;font-size:12px}.tv-icon-btn{background:var(--card-2);border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:11.5px}.tv-icon-btn:hover{color:var(--text)}#tv-view{flex:1;min-height:0;padding:28px 40px;display:none;overflow-y:auto}#app.tv-mode #tv-view{display:block}.tv-hero{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:18px;padding:26px 30px;position:relative}.tv-hero-label{letter-spacing:1px;color:var(--text-faint);text-transform:uppercase;font-size:11px}.tv-hero-val{font-size:52px;font-weight:800;font-family:var(--font-body);margin:10px 0 6px;line-height:1}.tv-hero-updated{color:var(--text-faint);font-size:10.5px;position:absolute;top:26px;right:30px}html[data-theme=light]{--bg:#e7ddce;--bg-elev:#f5eee3;--sidebar:#eee5d6;--card:#f5eee3;--card-2:#e3d7c6;--border:#c8bba8;--border-soft:#d8ccb9;--border-strong:#9e8f7b;--text:#211c18;--text-dim:#63584a;--text-faint:#8a7b68;--accent:#a9472c;--accent-dim:#7f3524;--on-accent:#fffaf1;--purple:#5a3548;--amber:#8c6a2d;--signal:#8c6a2d;--shadow-card:0 1px 2px #2a1f1717,0 10px 24px -16px #8d3b2938}html[data-theme=light] .sidebar{box-shadow:1px 0 0 var(--border-soft)}html[data-theme=light] .info-box{color:#465b4a;background:#dde6dc;border-color:#b3c2b3}html[data-theme=light] .info-box b{color:#2d4634}html[data-theme=light] .warning-box{color:#6f5521;background:#f1e6c8;border-color:#d9c38c}html[data-theme=light] .warning-box b{color:#533e16}html[data-theme=light] .theme-btn{color:var(--text-dim)}html[data-theme=light] ::-webkit-scrollbar-thumb{background:#aa9b87}.hamburger-btn,.sidebar-backdrop{display:none}@media (width<=1100px){.kpi-grid,.kpi-grid.six,.kpi-grid.five{grid-template-columns:repeat(2,1fr)!important}.geo-grid{grid-template-columns:1fr}.global-search{display:none}}@media (width<=860px){.hamburger-btn{border:1px solid var(--border);background:var(--card);width:32px;height:32px;color:var(--text-dim);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar{z-index:1002;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:2px 0 24px #0006}#app.sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{pointer-events:none;z-index:1001;background:0 0;transition:background .2s;display:block;position:fixed;inset:0}#app.sidebar-open .sidebar-backdrop{pointer-events:auto;background:#00000080}.topbar{gap:10px;padding:12px 14px}.welcome,.user-name{display:none}.content{padding:16px 14px 40px}.kpi-grid,.kpi-grid.six,.kpi-grid.five{gap:10px;grid-template-columns:repeat(2,1fr)!important}.page-head{flex-wrap:wrap;gap:10px}h1.title{font-size:20px}.g-grid,.g-grid.two{grid-template-columns:1fr}.field-row{flex-direction:column}.field-box{min-width:0}.modal-box{width:94vw;padding:16px}.fv-select,.modal-input{font-size:16px}#app.tv-mode .content{padding:20px 16px}.panel[style*=grid-template-columns]{grid-template-columns:1fr!important}.tv-topbar{flex-wrap:wrap;gap:10px;padding:12px 14px}.tv-topbar-right{flex-wrap:wrap;gap:10px}.tv-hero-val{font-size:36px}.tv-hero-updated{margin-top:8px;display:block;position:static}#tv-view{padding:16px}.drawer-box{width:100vw}}@media (width<=520px){.kpi-grid,.kpi-grid.six,.kpi-grid.five{grid-template-columns:1fr!important}.period-row{gap:14px}.cmp-table .row{grid-template-columns:1fr 90px 1fr;font-size:11px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}a:focus-visible,button:focus-visible{outline-offset:3px}.kpi-card,.panel,.g-card,.fbox{transition:transform .18s,box-shadow .18s,border-color .18s}.kpi-card:hover,.panel:hover{border-color:var(--border-strong,var(--border));transform:translateY(-1px);box-shadow:0 1px 2px #0e0c0a6b,0 16px 32px -18px #c4512f5c}html[data-theme=light] .kpi-card:hover,html[data-theme=light] .panel:hover{box-shadow:0 1px 2px #2a1f1714,0 16px 28px -18px #8d3b293d}.mini-btn,.btn-tv,.fchip,.theme-btn,.tv-icon-btn,.mini-btn.primary{transition:transform .12s,background-color .15s,border-color .15s,box-shadow .15s}.mini-btn:hover,.btn-tv:hover,.fchip:hover,.theme-btn:hover{border-color:var(--accent);color:var(--text)}.mini-btn:active,.btn-tv:active,.fchip:active,.mini-btn.primary:active{transform:scale(.97)}.mini-btn.primary{background-image:linear-gradient(135deg, var(--accent), var(--accent-dim))}.mini-btn.primary:hover{box-shadow:0 8px 20px -6px #c4512fa6}.nav-link,.nav-toggle,.sub-link{transition:background-color .15s,color .15s}.avatar,.command-mark,.tv-mark{transition:transform .15s}.user-block:hover .avatar{transform:scale(1.06)}.skeleton{background:linear-gradient(100deg, var(--card-2) 30%, var(--border-soft) 45%, var(--card-2) 60%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-sweep}@keyframes skeleton-sweep{0%{background-position:120% 0}to{background-position:-20% 0}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:.15s overlay-in}.modal-box{animation:.18s cubic-bezier(.2,.8,.3,1) modal-in}.drawer-overlay{animation:.15s overlay-in}.drawer-box{animation:.2s cubic-bezier(.2,.8,.3,1) modal-in}.table-scroll{position:relative}.table-scroll:after{content:"";pointer-events:none;background:linear-gradient(to left, var(--card), transparent);opacity:0;width:28px;transition:opacity .2s;position:absolute;top:0;bottom:0;right:0}.table-scroll.has-overflow:after{opacity:1}@supports (padding:max(0px)){.sidebar{padding-left:env(safe-area-inset-left)}.topbar{padding-right:max(28px, env(safe-area-inset-right))}}@media (width<=860px){.sidebar{width:min(82vw,288px)}.mini-btn,.btn-tv,.fchip,.ftabs button,.toggle-pair button,.tab-pills button{min-height:38px}.hamburger-btn,.theme-btn,.avatar{min-width:36px;min-height:36px}.nav-link,.nav-toggle{padding:11px 10px}.sub-link{padding:10px 10px 10px 24px}.g-table th,.g-table td{padding:9px 8px}.project-picker{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.topbar-right{gap:8px}.modal-body{max-height:60vh}.panel,.filter-bar{padding:14px}.kpi-card{padding:12px 14px}.filter-label{text-align:left}}@media (width<=480px){.content{padding:14px 12px 40px}.topbar{gap:8px;padding:10px 12px}.project-picker{display:none}.panel-return{padding:8px}.panel-return span{display:none}h1.title{font-size:18px}.kpi-val{font-size:19px}.badge-row{gap:6px}.badge{padding:3px 8px;font-size:10px}.modal-box{padding:14px}.modal-box.wide{border-radius:0;width:100vw;max-width:100vw;height:100%}.mini-btn,.btn-tv{padding:8px 10px}}@media (width<=860px) and (orientation:landscape){#app.tv-mode #tv-view{padding:12px 20px}}html,body{overflow-x:hidden}.sidebar{transition:width .2s}.sidebar-collapse-btn{width:26px;height:26px;color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:background-color .15s,color .15s;display:flex}.sidebar-collapse-btn:hover{background:var(--card);color:var(--text);border-color:var(--border)}@media (width>=861px){#app.sidebar-collapsed .sidebar{width:72px}#app.sidebar-collapsed .logo{justify-content:center;padding:6px 0 18px}#app.sidebar-collapsed .logo .name,#app.sidebar-collapsed .brand-details{display:none}#app.sidebar-collapsed .sidebar-collapse-btn{margin-left:0}#app.sidebar-collapsed .nav-link,#app.sidebar-collapsed .nav-toggle,#app.sidebar-collapsed .logout-row button{justify-content:center;padding-left:0;padding-right:0}#app.sidebar-collapsed .nav-label,#app.sidebar-collapsed .nav-toggle .chev{display:none}#app.sidebar-collapsed .nav-link.active{border-left:none}#app.sidebar-collapsed .navlist{padding:0 12px}#app.sidebar-collapsed .nav-item{position:relative}#app.sidebar-collapsed .sub-list{display:none}#app.sidebar-collapsed .nav-item:hover .sub-list{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:210px;max-height:none;box-shadow:var(--shadow-card);z-index:60;padding:8px;animation:.12s overlay-in;display:block;position:absolute;top:0;left:calc(100% + 8px)}#app.sidebar-collapsed .sub-link{border-radius:8px;padding:8px 10px}#app.sidebar-collapsed .sub-link:before{display:none}#app.sidebar-collapsed .logout-row{text-align:center;padding-left:0;padding-right:0}}@media (width<=860px){.sidebar-collapse-btn{display:none}}.login-page{background:radial-gradient(circle at 12% 15%, #c4512f29, transparent 50%), radial-gradient(circle at 88% 85%, #d2ad5c14, transparent 50%), var(--bg);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:32px 20px;display:flex}.login-shell{grid-template-columns:1fr 400px;align-items:center;gap:64px;width:100%;max-width:1040px;display:grid}.login-aside{padding:12px 8px;position:relative}.login-aside:before{content:"";pointer-events:none;opacity:.5;background-image:radial-gradient(#d2ad5c3d 1px,#0000 1px);background-size:22px 22px;height:340px;position:absolute;inset:-24px -24px auto;-webkit-mask-image:radial-gradient(100% 100% at 20% 20%,#000 30%,#0000 75%);mask-image:radial-gradient(100% 100% at 20% 20%,#000 30%,#0000 75%)}.login-aside>*{position:relative}.login-badge{letter-spacing:1.4px;color:var(--signal);background:#d2ad5c14;border:1px solid #d2ad5c52;border-radius:999px;align-items:center;gap:8px;margin-bottom:22px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.login-badge .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #c4512f38}.login-headline{font-family:var(--font-ui);letter-spacing:-.5px;color:var(--text);max-width:480px;margin:0 0 16px;font-size:34px;font-weight:700;line-height:1.2}.login-headline .accent{color:var(--accent)}.login-aside-copy{color:var(--text-dim);max-width:420px;margin:0 0 36px;font-size:13.5px;line-height:1.6}.login-live{letter-spacing:1px;color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:28px;font-size:10.5px;font-weight:600;display:flex}.login-live-dot{background:var(--green);border-radius:50%;width:7px;height:7px;margin-right:6px;animation:1.6s infinite tvpulse;display:inline-block;box-shadow:0 0 #33d99999}.login-live-item{color:var(--text-dim);letter-spacing:.2px;text-transform:none;align-items:center;gap:6px;font-weight:500;display:inline-flex}.login-live-item i{background:var(--green);border-radius:50%;width:6px;height:6px;font-style:normal;display:inline-block}.login-live-item i[data-ok=false]{background:var(--red)}.login-bars{align-items:flex-end;gap:6px;height:96px;display:flex}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.login-bars span{transform-origin:bottom;background:linear-gradient(180deg, var(--accent), var(--accent-dim));opacity:.85;border-radius:3px 3px 0 0;width:10px;animation:.5s cubic-bezier(.2,.8,.3,1) backwards bar-grow;display:block}.login-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-card);padding:32px 28px}.login-kicker{text-align:center;letter-spacing:1.6px;color:var(--text-faint);margin-bottom:14px;font-size:10px}.login-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:6px;display:flex}.login-logo .name{font-family:var(--font-ui);letter-spacing:.2px;font-size:18px;font-weight:700}.login-sub{text-align:center;color:var(--text-dim);margin:0 0 24px;font-size:12.5px}.login-error{color:var(--red);border-radius:var(--radius-sm);background:#ff5d7a1a;border:1px solid #ff5d7a4d;align-items:center;gap:6px;margin-bottom:14px;padding:8px 10px;font-size:12px;display:flex}.login-submit{justify-content:center;width:100%;margin-top:4px;padding:11px 14px;font-size:12.5px}.login-password-wrap{position:relative}.login-password-wrap .modal-input{padding-right:38px}.login-password-toggle{color:var(--text-faint);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-password-toggle:hover{color:var(--text-dim)}.login-notice{color:var(--text-dim);background:var(--card-2);border:1px solid var(--border-soft);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;margin-top:16px;padding:10px 12px;font-size:11px;line-height:1.5;display:flex}.login-notice svg{color:var(--accent);flex-shrink:0;margin-top:1px}.login-footer{text-align:center;color:var(--text-faint);justify-content:center;align-items:center;gap:6px;margin-top:18px;font-size:10.5px;display:flex}.login-footer svg{color:var(--green)}@media (width<=860px){.login-shell{grid-template-columns:1fr;gap:0;max-width:400px}.login-aside{display:none}}.rotator-page-head{margin-bottom:18px}.rotator-eyebrow{color:var(--accent);letter-spacing:1.8px;align-items:center;gap:6px;margin-bottom:8px;font-size:9.5px;font-weight:800;display:flex}.rotator-subtitle{color:var(--text-dim);margin-top:6px;font-size:12px}.rotator-head-actions{flex-wrap:wrap;gap:8px;display:flex}.rotator-action-error{position:relative}.rotator-action-error button{color:inherit;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px}.rotator-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.rotator-kpi{background:linear-gradient(145deg,var(--card),var(--card-2));border:1px solid var(--border);border-radius:var(--radius-md);min-height:84px;box-shadow:var(--shadow-card);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:end;gap:2px 12px;padding:14px 16px;display:grid;position:relative;overflow:hidden}.rotator-kpi:after{content:"";background:radial-gradient(circle,#c4512f2e,#0000 70%);border-radius:50%;width:70px;height:70px;position:absolute;top:-30px;right:-30px}.rotator-kpi.live:before{content:"";background:var(--green);width:6px;height:6px;box-shadow:0 0 12px var(--green);border-radius:50%;animation:1.8s ease-in-out infinite rotator-pulse;position:absolute;top:14px;right:14px}.rotator-kpi span{color:var(--text-faint);letter-spacing:1px;grid-column:1/-1;font-size:9px}.rotator-kpi strong{font-family:var(--mono);font-size:23px;line-height:1}.rotator-kpi small{color:var(--text-faint);align-self:center;font-size:10px}@keyframes rotator-pulse{50%{opacity:.42;transform:scale(.75)}}.rotator-filter-panel{justify-content:space-between;align-items:flex-end;gap:14px;padding:12px 14px;display:flex}.rotator-filter-selects{flex:1;gap:10px;display:flex}.rotator-filter-group{min-width:200px}.rotator-filter-group label{color:var(--text-faint);letter-spacing:.8px;text-transform:uppercase;margin-bottom:5px;font-size:9px;display:block}.rotator-status-filter{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;padding:3px;display:flex}.rotator-status-filter button{color:var(--text-faint);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 12px;font-size:10.5px;transition:background .15s,color .15s,transform .12s}.rotator-status-filter button:hover{color:var(--text)}.rotator-status-filter button:active{transform:scale(.97)}.rotator-status-filter button.active{background:var(--card-2);color:var(--text);box-shadow:0 1px 5px #0000002e}.rotator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rotator-card{--card-index:0;isolation:isolate;background:linear-gradient(150deg,var(--card) 15%,color-mix(in srgb,var(--card-2) 82%,var(--accent) 18%));border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-card);animation:.35s cubic-bezier(.2,.8,.3,1) both rotator-card-in;animation-delay:calc(var(--card-index) * 45ms);padding:17px;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.rotator-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 18px 36px -24px #c4512f9e}.rotator-card-glow{z-index:-1;pointer-events:none;background:radial-gradient(circle,#c4512f2e,#0000 70%);border-radius:50%;width:180px;height:180px;transition:transform .35s;position:absolute;top:-110px;right:-100px}.rotator-card:hover .rotator-card-glow{transform:scale(1.22)translate(-8px,8px)}@keyframes rotator-card-in{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.rotator-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.rotator-card-project{color:var(--text-faint);letter-spacing:.9px;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:4px;font-size:8.5px;display:flex}.rotator-card-project i{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);letter-spacing:.6px;border-radius:99px;padding:2px 5px;font-size:7px;font-style:normal}.rotator-card h2{font-family:var(--font-ui);letter-spacing:-.15px;margin:0;font-size:14px}.rotator-public-link{border:1px solid var(--border-soft);background:#0000001f;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px;padding:8px 9px;display:flex}.rotator-public-link>div{min-width:0;color:var(--text-dim);font-family:var(--mono);align-items:center;gap:6px;font-size:9.5px;display:flex}.rotator-public-link>div span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rotator-public-link button{color:var(--accent);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;gap:4px;font-size:9.5px;display:flex}.rotator-target-list{min-height:116px}.rotator-target{margin-bottom:10px}.rotator-target-meta{justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px;font-size:10px;display:flex}.rotator-target-meta span{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rotator-target-meta b{color:var(--text-faint);white-space:nowrap;font-size:9px;font-weight:600}.rotator-weight-track{background:var(--border-soft);border-radius:99px;height:3px;overflow:hidden}.rotator-weight-track i{background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:inherit;transform-origin:0;height:100%;animation:.55s cubic-bezier(.2,.8,.3,1) both rotator-bar-in;display:block}@keyframes rotator-bar-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.rotator-more{color:var(--text-faint);padding-top:2px;font-size:9.5px}.rotator-card-stats{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;gap:6px;padding:11px 0;display:flex}.rotator-card-stats span{color:var(--text-faint);background:var(--card-2);border:1px solid var(--border-soft);border-radius:99px;align-items:center;gap:4px;padding:4px 7px;font-size:9.5px;display:inline-flex}.rotator-card-foot{justify-content:space-between;align-items:center;gap:10px;padding-top:11px;display:flex}.rotator-card-foot>span{color:var(--text-faint);font-size:9px}.rotator-card-actions{gap:5px;display:flex}.rotator-card-actions button{background:var(--card-2);border:1px solid var(--border);width:28px;height:28px;color:var(--text-dim);cursor:pointer;border-radius:7px;place-items:center;padding:0;transition:transform .12s,border-color .15s,color .15s;display:grid}.rotator-card-actions button:hover{color:var(--text);border-color:var(--accent);transform:translateY(-1px)}.rotator-card-actions button.danger:hover{color:var(--red);border-color:var(--red)}.rotator-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.rotator-hostname-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.rotator-hostname-control.warn .modal-input{border-color:color-mix(in srgb,var(--amber) 58%,var(--border))}.rotator-hostname-control button{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--card-2));height:34px;color:var(--accent);font-family:var(--font-body);white-space:nowrap;cursor:pointer;border-radius:8px;padding:0 10px;font-size:9px;transition:transform .15s,border-color .18s,background .18s}.rotator-hostname-control button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--card-2));transform:translateY(-1px)}.rotator-form-section-head{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:flex-end;gap:12px;padding-top:14px;display:flex}.rotator-form-section-head>div{flex-direction:column;gap:3px;display:flex}.rotator-form-section-head b{font-size:12px}.rotator-form-section-head span{color:var(--text-faint);font-size:10px}.rotator-inline-error{color:var(--red);font-size:10px}.rotator-target-editor{flex-direction:column;gap:8px;display:flex}.rotator-target-edit-row{border:1px solid var(--border-soft);background:var(--card-2);border-radius:9px;grid-template-columns:30px minmax(0,1fr) 74px 28px;align-items:center;gap:8px;padding:9px;display:grid}.rotator-target-number{font-family:var(--mono);color:var(--accent);font-size:10px}.rotator-target-edit-fields{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:7px;min-width:0;display:grid}.rotator-weight-input{grid-template-columns:1fr auto;align-items:center;gap:2px 5px;display:grid}.rotator-weight-input label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.6px;grid-column:1/-1;font-size:8px}.rotator-weight-input .modal-input{padding:8px 6px}.rotator-weight-input small{color:var(--accent);font-family:var(--mono);font-size:8.5px}.rotator-remove-target{border:1px solid var(--border);width:27px;height:27px;color:var(--text-faint);cursor:pointer;background:0 0;border-radius:7px;place-items:center;display:grid}.rotator-remove-target:hover:not(:disabled){color:var(--red);border-color:var(--red)}.rotator-remove-target:disabled{opacity:.3;cursor:not-allowed}.rotator-options{grid-template-columns:1fr 1fr;gap:12px;padding-top:4px;display:grid}.rotator-check-option{background:var(--card-2);border:1px solid var(--border-soft);cursor:pointer;border-radius:9px;align-items:flex-start;gap:9px;padding:10px;display:flex}.rotator-check-option input{accent-color:var(--accent);margin-top:3px}.rotator-check-option span{grid-template-columns:auto 1fr;align-items:center;gap:2px 6px;display:grid}.rotator-check-option b{font-size:10.5px}.rotator-check-option small{color:var(--text-faint);grid-column:1/-1;font-size:9px;line-height:1.4}.rotator-preview-link{color:var(--accent);font-family:var(--mono);background:var(--card-2);border:1px solid var(--border-soft);word-break:break-all;border-radius:8px;align-items:center;gap:6px;margin-bottom:14px;padding:9px;font-size:10px;display:flex}.rotator-preview-target{border-top:1px solid var(--border-soft);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px 0;display:grid}.rotator-preview-target>div:first-child{flex-direction:column;gap:3px;min-width:0;display:flex}.rotator-preview-target b{font-size:11px}.rotator-preview-target span{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.rotator-preview-target strong{color:var(--accent);font-family:var(--mono);font-size:11px}.rotator-preview-target .rotator-weight-track{grid-column:1/-1}.rotator-preview-note{margin-top:16px}.rotator-history-event{border-top:1px solid var(--border-soft);padding:12px 0;font-size:11px}.rotator-history-event>div{margin-top:7px}.rotator-history-event small{color:var(--text-faint);margin-top:5px;font-size:9px;display:block}.rotator-automatic-hero{background:linear-gradient(145deg,#c4512f21,#0000);border:1px solid #c4512f59;border-radius:10px;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:16px;padding:16px;display:flex}.rotator-automatic-hero svg{color:var(--accent)}.rotator-automatic-hero b{font-size:14px}.rotator-automatic-hero span{color:var(--text-dim);font-size:11px;line-height:1.5}.rotator-pipeline-step{border-top:1px solid var(--border-soft);align-items:flex-start;gap:10px;padding:11px 0;display:flex}.rotator-pipeline-step i{border:1px solid var(--border);min-width:28px;height:28px;color:var(--accent);font-family:var(--mono);border-radius:7px;place-items:center;font-size:9px;font-style:normal;display:grid}.rotator-pipeline-step div{flex-direction:column;gap:3px;display:flex}.rotator-pipeline-step b{font-size:11px}.rotator-pipeline-step span{color:var(--text-faint);font-size:10px;line-height:1.4}:is(.modal-box.wide:has(.rotator-studio),.modal-box.wide:has(.rotator-auto-studio)){width:min(920px,94vw)}.rotator-studio,.rotator-auto-studio{flex-direction:column;gap:15px;display:flex}.rotator-studio-steps{background:var(--bg);border:1px solid var(--border-soft);border-radius:10px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid;position:relative}.rotator-studio-steps:before{content:"";background:var(--border);height:1px;position:absolute;top:20px;left:16.6%;right:16.6%}.rotator-studio-steps button{z-index:1;color:var(--text-faint);font:inherit;cursor:default;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px;font-size:9.5px;display:flex;position:relative}.rotator-studio-steps button:not(:disabled){cursor:pointer}.rotator-studio-steps i{background:var(--card-2);border:1px solid var(--border);width:22px;height:22px;color:var(--text-faint);font-family:var(--mono);border-radius:50%;place-items:center;font-size:8px;font-style:normal;transition:background .2s,border-color .2s,color .2s,box-shadow .2s;display:grid}.rotator-studio-steps button.active{color:var(--text)}.rotator-studio-steps button.active i{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 42%,transparent)}.rotator-studio-steps button.done i{color:var(--green);border-color:color-mix(in srgb,var(--green) 55%,var(--border));background:color-mix(in srgb,var(--green) 10%,var(--card-2))}.rotator-studio-stage{flex-direction:column;gap:13px;animation:.26s cubic-bezier(.2,.8,.3,1) both rotator-stage-in;display:flex}@keyframes rotator-stage-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.rotator-stage-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding-bottom:9px;display:flex}.rotator-stage-head>div{flex-direction:column;gap:3px;display:flex}.rotator-stage-head b{font-size:12px}.rotator-stage-head span{color:var(--text-faint);font-size:9.5px}.rotator-stage-head>svg{color:var(--accent)}.rotator-route-preview{background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 9%,var(--card-2)),var(--card-2));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:10px;grid-template-columns:1fr;gap:5px;padding:13px;display:grid}.rotator-route-preview>div{color:var(--accent);letter-spacing:.7px;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;display:flex}.rotator-route-preview code{color:var(--text);font-family:var(--mono);word-break:break-all;font-size:11px}.rotator-route-preview small{color:var(--text-faint);font-size:9px}.rotator-performance-source{background:color-mix(in srgb,var(--accent) 7%,var(--card-2));border:1px dashed color-mix(in srgb,var(--accent) 36%,var(--border));border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.rotator-performance-source>svg{color:var(--accent)}.rotator-performance-source>div{flex-direction:column;gap:3px;display:flex}.rotator-performance-source b{font-size:10.5px}.rotator-performance-source span{color:var(--text-faint);font-size:8.5px}.rotator-performance-source em{color:var(--amber);background:color-mix(in srgb,var(--amber) 9%,transparent);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);white-space:nowrap;border-radius:99px;padding:4px 7px;font-size:8px;font-style:normal}.rotator-batch-entry{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--card-2)),var(--card-2));border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:10px;flex-direction:column;gap:9px;padding:12px;display:flex}.rotator-batch-head{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.rotator-batch-head>svg{color:var(--accent)}.rotator-batch-head>div{flex-direction:column;gap:2px;display:flex}.rotator-batch-head b{font-size:10.5px}.rotator-batch-head span{color:var(--text-faint);font-size:8.5px}.rotator-batch-head em{color:var(--green);background:color-mix(in srgb,var(--green) 9%,transparent);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);white-space:nowrap;border-radius:99px;padding:4px 7px;font-size:8px;font-style:normal}.rotator-batch-textarea{resize:vertical;min-height:94px;font-family:var(--mono);font-size:9.5px;line-height:1.5}.rotator-batch-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.rotator-batch-policy{color:var(--text-dim);align-items:center;gap:6px;font-size:9px;display:flex}.rotator-batch-policy svg{color:var(--green);flex-shrink:0}.rotator-batch-result{border-top:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:5px;padding-top:8px;font-size:8.5px;display:flex}.rotator-batch-result b,.rotator-batch-result span{border-radius:99px;padding:3px 6px}.rotator-batch-result.ok b{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.rotator-batch-result.warn b{color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}.rotator-batch-result span{color:var(--text-dim);background:var(--bg);border:1px solid var(--border-soft)}.rotator-target-tools{flex-direction:row!important;gap:6px!important;display:flex!important}.rotator-target-edit-row.invalid{border-color:color-mix(in srgb,var(--red) 55%,var(--border));box-shadow:inset 3px 0 0 color-mix(in srgb,var(--red) 70%,transparent)}.rotator-target-edit-fields>small{color:var(--red);grid-column:1/-1;font-size:8.5px}.rotator-check-option{transition:border-color .18s,background .18s,transform .15s}.rotator-check-option:hover{border-color:var(--border-strong);transform:translateY(-1px)}.rotator-check-option.selected{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--card-2))}.rotator-review-grid{grid-template-columns:1.15fr .85fr;gap:10px;display:grid}.rotator-review-summary,.rotator-review-checks{background:var(--card-2);border:1px solid var(--border-soft);border-radius:10px;padding:13px}.rotator-review-summary{flex-direction:column;gap:7px;display:flex}.rotator-review-summary>span{color:var(--text-faint);letter-spacing:1px;font-size:8px}.rotator-review-summary>b{font-size:13px}.rotator-review-summary code{color:var(--accent);font-family:var(--mono);font-size:10px}.rotator-review-summary>div{align-items:center;gap:8px;display:flex}.rotator-review-summary small{color:var(--text-faint);font-size:9px}.rotator-review-checks{flex-direction:column;justify-content:center;gap:8px;display:flex}.rotator-review-checks>div{color:var(--red);align-items:center;gap:6px;font-size:9.5px;display:flex}.rotator-review-checks>div.ok{color:var(--green)}.rotator-review-checks>div.warn{color:var(--amber)}.rotator-review-distribution{background:var(--bg);border:1px solid var(--border-soft);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:12px;display:grid}.rotator-review-distribution>div{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;display:grid}.rotator-review-distribution span{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.rotator-review-distribution b{color:var(--accent);font-family:var(--mono);font-size:8.5px}.rotator-review-distribution .rotator-weight-track{grid-column:1/-1}.rotator-auto-studio .rotator-automatic-hero{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:0;display:grid}.rotator-auto-studio .rotator-automatic-hero>div{flex-direction:column;gap:4px;display:flex}.rotator-auto-studio .rotator-automatic-hero em{color:var(--green);font-family:var(--mono);letter-spacing:1px;white-space:nowrap;font-size:8px;font-style:normal}.rotator-auto-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.rotator-auto-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.rotator-auto-filters{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.rotator-auto-filters span{color:var(--text-faint);background:var(--card-2);border:1px dashed var(--border);border-radius:8px;flex-direction:column;gap:3px;padding:9px 10px;font-size:9px;display:flex}.rotator-auto-filters i{color:var(--amber);font-size:8px;font-style:normal}.rotator-auto-review{background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 10%,var(--card-2)),var(--card-2));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.rotator-auto-review>div:first-child{flex-direction:column;gap:4px;display:flex}.rotator-auto-review>div:first-child>span{color:var(--accent);letter-spacing:1px;font-size:8px}.rotator-auto-review b{font-size:12px}.rotator-auto-review p{color:var(--text-dim);margin:0;font-size:9.5px;line-height:1.5}.rotator-auto-readiness{flex-direction:column;gap:5px;display:flex}.rotator-auto-readiness span{color:var(--amber);white-space:nowrap;align-items:center;gap:5px;font-size:8.5px;display:flex}@media (width<=980px){.rotator-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rotator-grid{grid-template-columns:1fr}}@media (width<=640px){.rotator-kpis{grid-template-columns:1fr 1fr}.rotator-filter-panel{flex-direction:column;align-items:stretch}.rotator-filter-selects{flex-direction:column}.rotator-filter-group{min-width:0}.rotator-status-filter{overflow-x:auto}.rotator-status-filter button{flex:1}.rotator-form-grid,.rotator-options,.rotator-review-grid,.rotator-auto-grid,.rotator-auto-grid.three,.rotator-auto-filters,.rotator-hostname-control{grid-template-columns:1fr}.rotator-hostname-control button{width:100%}.rotator-target-edit-row{grid-template-columns:24px minmax(0,1fr) 64px}.rotator-target-edit-fields{grid-template-columns:1fr}.rotator-remove-target{grid-column:3;justify-self:end}.rotator-studio-steps span{display:none}.rotator-performance-source{grid-template-columns:auto 1fr}.rotator-performance-source em{grid-column:1/-1;justify-self:start}.rotator-batch-head{grid-template-columns:auto 1fr}.rotator-batch-head em{grid-column:1/-1;justify-self:start}.rotator-batch-actions{flex-direction:column;align-items:stretch}.rotator-batch-actions .mini-btn{justify-content:center}.rotator-review-distribution{grid-template-columns:1fr}.rotator-auto-studio .rotator-automatic-hero{grid-template-columns:auto 1fr}.rotator-auto-studio .rotator-automatic-hero em{grid-column:1/-1}.rotator-auto-review{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.rotator-card,.rotator-weight-track i,.rotator-kpi.live:before,.rotator-studio-stage{animation:none!important}.rotator-card,.rotator-card-glow,.rotator-card-actions button,.rotator-hostname-control button{transition:none!important}}
