:root{color:#d7def4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f172a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 10%,#6366f159,#0000 45%),radial-gradient(circle at 80% 0,#0ea5e938,#0000 48%),radial-gradient(circle at 70% 85%,#ec489929,#0000 55%),linear-gradient(#0b1020 0%,#0a1226 55%,#090f1f 100%);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}#app{min-height:100vh}.toast{z-index:80;color:#e2e8f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172ae0;border:1px solid #94a3b82e;border-radius:16px;align-items:flex-start;gap:14px;min-width:320px;max-width:440px;padding:16px 18px 16px 22px;font-size:14px;line-height:1.5;display:flex;position:fixed;top:22px;right:24px;overflow:hidden;box-shadow:0 18px 50px #0000004d}.toast-body{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.toast:before{content:"";background:#94a3b873;border-radius:999px;width:4px;position:absolute;top:10px;bottom:10px;left:0;box-shadow:0 0 14px #94a3b83d}.toast.success{border-color:#22c55e59}.toast.success:before{background:linear-gradient(#4ade80 0%,#22c55eeb 100%);box-shadow:0 0 16px #22c55e73}.toast.error{border-color:#ef444459}.toast.error:before{background:linear-gradient(#f87171 0%,#ef4444eb 100%);box-shadow:0 0 16px #ef44446b}.toast-message{word-break:break-word;flex:1}.toast-icon{border-radius:999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.toast.success .toast-icon{color:#4ade80;background:#22c55e29;box-shadow:inset 0 0 0 1px #4ade8033}.toast.error .toast-icon{color:#fda4af;background:#ef444429;box-shadow:inset 0 0 0 1px #f8717138}.toast-close{color:#e2e8f0;cursor:pointer;background:#94a3b81f;border:none;border-radius:10px;flex:none;width:28px;height:28px;font-size:18px;line-height:1;transition:background .18s,color .18s}.toast-close:hover{background:#94a3b833}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .24s,transform .24s,filter .24s}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;filter:blur(4px);transform:translateY(-10px)}.floating-tip{z-index:120;color:#e2e8f0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;pointer-events:none;background:#0f172af5;border:1px solid #94a3b829;border-radius:14px;width:min(360px,100vw - 40px);padding:10px 12px;font-size:12px;line-height:1.35;position:fixed;transform:translate(-50%,-100%);box-shadow:0 18px 50px #00000052}.hover-tip,.hover-tip-top{align-items:center;display:inline-flex;position:relative}.hover-tip-manual{cursor:default}.hover-tip-manual:after{content:none;display:none}.hover-tip:after,.hover-tip-top:after{content:attr(data-tip);color:#e2e8f0;white-space:normal;opacity:0;pointer-events:none;z-index:90;background:#0f172af0;border:1px solid #94a3b829;border-radius:14px;min-width:140px;max-width:320px;padding:10px 12px;line-height:1.4;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 10px);left:0;transform:translateY(-2px);box-shadow:0 18px 50px #00000052}.hover-tip-top:after{min-width:220px;max-width:min(460px,60vw);top:auto;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,2px)}.hover-tip:hover:after,.hover-tip-top:hover:after{opacity:1;transform:translateY(0)}.hover-tip-top:hover:after{transform:translate(-50%)}.page-shell{min-height:100vh;overflow-x:hidden}.auth-shell{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:48px 20px;display:flex;position:relative;overflow:hidden}.particle-layer{pointer-events:none;opacity:.9;z-index:0;position:absolute;inset:-12%}.particle{background:hsla(var(--hue) 95% 70% / var(--alpha));filter:blur(var(--blur));box-shadow:0 0 18px hsla(var(--hue) 95% 70% / calc(var(--alpha) * .9)), 0 0 46px hsla(var(--hue) 95% 70% / calc(var(--alpha) * .45));animation:particle-float var(--dur) linear infinite, particle-twinkle calc(var(--dur) * .55) ease-in-out infinite;animation-delay:var(--delay), var(--delay);border-radius:999px;position:absolute;transform:translate(0,0)}@keyframes particle-float{to{transform:translate3d(var(--dx), var(--dy), 0)}}@keyframes particle-twinkle{0%,to{opacity:.35}50%{opacity:1}}.auth-side,.auth-box,.sidebar,.panel,.metric-card,.user-card,.placeholder-box{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172ab8;border:none;box-shadow:0 24px 60px #0003}.auth-side,.auth-box,.panel,.metric-card,.placeholder-box{border-radius:24px}.auth-side{padding:48px}.auth-box{z-index:1;width:clamp(340px,30vw,520px);padding:40px 44px;position:relative;overflow:hidden}.auth-header{margin-bottom:22px}.auth-box:before{content:"";filter:blur(18px);opacity:.9;pointer-events:none;background:radial-gradient(circle at 20% 15%,#6366f159,#0000 55%),radial-gradient(circle at 85% 10%,#0ea5e938,#0000 55%),radial-gradient(circle at 70% 90%,#ec489924,#0000 60%);position:absolute;inset:-2px}.auth-box>*{z-index:1;position:relative}.auth-header h1{letter-spacing:.02em;margin:14px 0 0;font-size:34px}.auth-side h1,.brand h2,.topbar h1,.panel h3,.module-card h4{margin:0}.auth-side p,.auth-side li,.topbar p,.placeholder-panel p{color:#94a3b8}.auth-side ul{gap:10px;margin:24px 0 0;padding-left:20px;display:grid}.badge{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:999px;justify-content:center;align-items:center;min-width:60px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.auth-tabs{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;display:grid}.auth-tabs button,.nav-item,.ghost-button,.primary-button,.danger-button,.link-button{border:1px solid #94a3b833;transition:all .2s}.auth-tabs button,.ghost-button,.danger-button{color:#d7def4;background:#1e293bbf}.auth-tabs button.active,.nav-item.active,.primary-button,.link-button:hover{color:#fff;background:linear-gradient(90deg,#2563eb,#4f46e5);border-color:#0000}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid.auth-form{grid-template-columns:1fr}.form-grid label{color:#cbd5e1;gap:8px;display:grid}.form-grid label span{color:#94a3b8;font-size:13px}.machine-config-field{gap:8px;display:grid}.machine-config-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.machine-config-label-row span{color:#94a3b8;font-size:13px}.machine-config-label-row strong{color:#e2e8f0;font-size:13px;font-weight:700}.machine-config-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.machine-config-option{text-align:left;color:#e2e8f0;cursor:pointer;background:#0f172ac7;border:1px solid #94a3b829;border-radius:14px;gap:4px;width:100%;padding:12px 14px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:grid}.machine-config-option:hover{background:#0f172aeb;border-color:#60a5fa5c;transform:translateY(-1px)}.machine-config-option.selected{background:linear-gradient(#1e293bf5,#0f172af0);border-color:#60a5fab8;box-shadow:0 10px 24px #2563eb29}.machine-config-option-name{color:#f8fafc;font-size:14px;font-weight:700;line-height:1.35}.machine-config-option-spec,.machine-config-option-meta{font-size:12px;line-height:1.35}.machine-config-option-spec{color:#cbd5e1}.machine-config-option-meta{color:#94a3b8}.form-grid input,.form-grid select,.form-grid textarea,.form-control,.traffic-rule-scope-trigger{color:#e2e8f0;background:#0f172ae6;border:1px solid #94a3b82e;border-radius:14px;outline:none;width:100%;padding:12px 14px;transition:border-color .18s,box-shadow .18s,background .18s}.form-grid select[multiple]{min-height:132px}.form-control:focus,.traffic-rule-scope-trigger:focus{background:#0f172af5;border-color:#60a5fa85;box-shadow:0 0 0 3px #2563eb1f}.form-control-with-unit{width:100%;position:relative}.form-control.has-unit{padding-right:40px}.form-control-unit{color:#94a3b8e0;pointer-events:none;font-size:12px;line-height:1;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.instance-config-form{max-width:none}.instance-config-form-page{width:100%;max-width:none}.field-with-affix{background:#0f172ae6;border:1px solid #94a3b82e;border-radius:14px;align-items:center;display:flex;overflow:hidden}.field-with-affix input{background:0 0;border:0}.field-affix{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#2563ebeb,#4f46e5eb);border:1px solid #60a5fa73;border-radius:999px;justify-content:center;align-items:center;min-width:0;margin-right:10px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 8px 20px #2563eb2e}.field-affix.prefix{margin-left:10px;margin-right:10px}.placement-form{max-width:none}.placement-fetch-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.placement-fetch-button{min-width:88px;height:46px;padding:0 16px}.placement-rule-select{width:100%;position:relative}.placement-rule-trigger{align-items:center;min-height:54px}.placement-rule-trigger-main{text-align:left;gap:4px;min-width:0;display:grid}.placement-rule-trigger-title{color:#f8fafc;font-size:14px;font-weight:400;line-height:1.4}.placement-rule-trigger-meta{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.45;overflow:hidden}.placement-rule-menu,.audience-machine-menu{max-height:320px;padding:10px}.placement-rule-option{color:#e2e8f0;text-align:left;cursor:pointer;background:#0f172ab8;border:1px solid #94a3b824;border-radius:14px;gap:8px;width:100%;padding:14px 16px;transition:border-color .18s,background .18s,transform .18s;display:grid}.placement-rule-option:hover{background:#1e293bc7;border-color:#60a5fa47;transform:translateY(-1px)}.placement-rule-option.selected{background:#1e293bd1;border-color:#60a5fa8f;box-shadow:0 12px 24px #2563eb1a}.placement-rule-option-clear{border-style:dashed}.placement-rule-option-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.placement-rule-option-header strong{color:#f8fafc;font-size:14px;font-weight:400;line-height:1.4}.placement-rule-option-tag{color:#dbeafe;white-space:nowrap;background:#2563eb1f;border:1px solid #60a5fa33;border-radius:999px;align-items:center;min-height:22px;padding:0 10px;font-size:12px;line-height:1.2;display:inline-flex}.placement-rule-option-body{gap:4px;display:grid}.placement-rule-option-body span{color:#94a3b8;font-size:12px;line-height:1.5}.placement-rule-empty{color:#94a3b8;text-align:center;background:#0f172a80;border:1px dashed #94a3b833;border-radius:14px;padding:14px 12px;font-size:12px}.placement-rule-detail-card{background:#0f172a85;border:1px solid #94a3b824;border-radius:16px;gap:10px;padding:14px 16px;display:grid}.placement-rule-detail-title{color:#e2e8f0;font-size:14px;line-height:1.4}.placement-rule-detail-list{gap:6px;display:grid}.placement-rule-detail-list span{color:#94a3b8;font-size:13px;line-height:1.4}.placement-rule-detail-list strong{color:#e2e8f0;word-break:break-word;font-size:14px;font-weight:400;line-height:1.6}.bandwidth-slider{background:#0f172ae6;border:1px solid #94a3b82e;border-radius:14px;gap:10px;padding:12px 14px;display:grid}.bandwidth-slider input[type=range]{accent-color:#2563eb;width:100%;padding:0}.bandwidth-slider-meta{color:#94a3b8;justify-content:center;align-items:center;font-size:13px;display:flex}.bandwidth-slider-meta strong{color:#e2e8f0;font-size:14px}.bandwidth-slider-scale{justify-content:space-between;align-items:center;gap:8px;display:flex}.bandwidth-scale-item{color:#94a3b8;font-size:12px;transition:color .18s}.bandwidth-scale-item.active{color:#fff;font-weight:700}.full-width,.form-grid .primary-button{grid-column:1/-1}.primary-button,.ghost-button,.danger-button,.link-button{border-radius:14px;padding:12px 16px}.primary-button{font-weight:700}.primary-button.flat{background:#2563ebb8;border:1px solid #94a3b838}.primary-button.flat:hover{background:#2563ebdb}.danger-button{color:#fff;background:#7f1d1dcc}.ghost-button:disabled,.primary-button:disabled,.danger-button:disabled,.link-button:disabled,.nav-item:disabled{cursor:not-allowed;opacity:.55;filter:grayscale(.25)}.danger-button:disabled{color:#e2e8f0e6;background:#4755698c}.ghost-button:disabled,.primary-button:disabled{color:#e2e8f0e6;background:#1e293b99}.small{border-radius:10px;height:34px;padding:0 12px;font-size:13px}.message{color:#e2e8f0;border:1px solid #94a3b829;border-radius:14px;margin:0 0 16px;padding:12px 16px}.message.success{background:#16653447}.message.error{background:#7f1d1d52}.message.inline{margin-bottom:20px}.sidebar{border-radius:28px;flex-direction:column;width:280px;max-height:calc(100vh - 40px);padding:24px;display:flex;position:fixed;inset:20px auto 20px 20px;overflow:hidden}.brand{align-items:flex-start;gap:14px;margin-bottom:28px;display:flex}.brand-mark{justify-items:start;gap:10px;display:grid}.brand-subtitle{color:#ffffffeb;letter-spacing:.02em;font-size:15px;font-weight:650}.brand p,.nav-title,.module-card small,.metric-card small,.panel-header span,.user-card span{color:#94a3b8}.nav-group{gap:10px;margin-bottom:20px;display:grid}.sidebar-nav{flex:1;padding-right:6px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:999px}.nav-title{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px}.nav-item,.link-button{text-align:left;color:#d7def4;background:#1e293ba6;border-radius:14px;padding:12px 14px}.content{margin-left:324px;padding:28px 28px 36px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.topbar-heading{gap:6px;min-width:0;display:grid}.topbar-heading h1{font-size:28px;line-height:1.1}.topbar-heading p{max-width:720px;margin:0;font-size:14px}.topbar-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.topbar-actions>.ghost-button{align-items:center;height:44px;padding-top:0;padding-bottom:0;display:inline-flex}.user-card{border-radius:18px;align-items:center;gap:12px;height:44px;padding:0 16px;display:flex}.user-card-meta{gap:1px;display:grid}.user-card-meta strong{font-size:13px;line-height:1.1}.user-card-meta span{white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:12px;line-height:1.1;overflow:hidden}.user-avatar{color:#fff;letter-spacing:.04em;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#2563ebe6,#7c3aedbf);border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:800;display:flex;box-shadow:0 18px 40px #00000038,0 0 0 1px #94a3b838}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.dashboard-overview-grid{background:radial-gradient(circle at 0 0,#3b82f629,#0000 38%),linear-gradient(135deg,#0f172ae0,#0f172abd);border:1px solid #94a3b81f;border-radius:24px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:stretch;gap:18px 20px;padding:22px;display:grid}.dashboard-overview-welcome{grid-area:1/1/auto/-1}.dashboard-overview-monitor{grid-area:2/1}.dashboard-overview-alert{grid-area:2/2;align-self:stretch}.dashboard-main-column{gap:18px;display:grid}.dashboard-eyebrow{color:#93c5fd;letter-spacing:.08em;text-transform:uppercase;background:#3b82f624;border-radius:999px;align-items:center;width:fit-content;padding:6px 12px;font-size:12px;display:inline-flex}.dashboard-welcome-card,.dashboard-monitor-card,.dashboard-alert-card{gap:18px;display:grid}.dashboard-welcome-card{background:radial-gradient(circle at 0 0,#60a5fa24,#0000 42%),linear-gradient(135deg,#1e293be0,#0f172ad1);border:none;border-radius:22px;min-height:156px;padding:34px 28px 30px;position:relative;overflow:hidden}.dashboard-welcome-card:after{content:"";pointer-events:none;mix-blend-mode:normal;background:radial-gradient(circle at 100% 0,#38bdf814,#0000 52%),radial-gradient(circle at 100%,#6366f10f,#0000 60%),linear-gradient(90deg,#0f172a00 0%,#0f172a1f 72%,#0f172a38 100%);position:absolute;inset:0}.dashboard-welcome-card h3{margin:0;font-size:34px;line-height:1.2}.dashboard-welcome-meta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.dashboard-welcome-meta span{color:#94a3b8eb;font-size:13px;line-height:1.4}.dashboard-monitor-card{background:#0f172a75;border:none;border-radius:22px;padding:24px 24px 22px}.dashboard-monitor-header{align-items:flex-start}.dashboard-monitor-update{justify-items:end;gap:4px;display:grid}.dashboard-monitor-update span{color:#94a3b8;font-size:12px}.dashboard-monitor-update strong{color:#f8fafc;font-size:14px;line-height:1.35}.dashboard-monitor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dashboard-monitor-metric{background:#0f172a94;border:1px solid #94a3b824;border-radius:18px;gap:10px;min-height:158px;padding:18px 20px;display:grid}.dashboard-monitor-metric.is-stale{border-color:#facc1538}.dashboard-monitor-metric-head{align-items:center;gap:8px;min-width:0;display:flex}.dashboard-monitor-metric-head>span:first-child{color:#94a3b8;font-size:13px}.dashboard-monitor-help{flex:none;align-items:center;display:inline-flex;position:relative}.dashboard-monitor-help-button{padding:0}.dashboard-monitor-help-button:focus-visible{outline-offset:2px;outline:2px solid #60a5faa6}.dashboard-monitor-tooltip{color:#e2e8f0;white-space:normal;opacity:0;pointer-events:none;z-index:10;background:#0f172af5;border:1px solid #94a3b829;border-radius:14px;min-width:180px;max-width:min(280px,36vw);padding:10px 12px;font-size:12px;line-height:1.45;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,6px);box-shadow:0 18px 50px #00000052}.dashboard-monitor-help:hover .dashboard-monitor-tooltip,.dashboard-monitor-help:focus-within .dashboard-monitor-tooltip{opacity:1;transform:translate(-50%)}.dashboard-monitor-metric strong{color:#f8fafc;word-break:break-word;font-size:32px;line-height:1.15}.dashboard-alert-card{background:#0f172a75;border:none;border-radius:22px;padding:24px 22px 22px}.dashboard-alert-header{gap:6px;display:grid}.dashboard-alert-header h3{margin:0}.dashboard-alert-header span{color:#94a3b8;font-size:13px;line-height:1.55}.dashboard-alert-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.dashboard-alert-row{color:#e2e8f0;text-align:left;background:#0f172a85;border:1px solid #94a3b829;border-radius:16px;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:12px;width:100%;min-height:58px;padding:16px 18px;transition:border-color .18s,background .18s,transform .18s;display:grid}.dashboard-alert-row:hover{transform:translateY(-1px)}.dashboard-alert-row.is-warn{border-color:#facc1538}.dashboard-alert-row.is-error{border-color:#f871713d}.dashboard-alert-row.is-success{border-color:#4ade8033}.dashboard-alert-marker{background:#94a3b8;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 4px #94a3b81f}.dashboard-alert-row.is-warn .dashboard-alert-marker{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b24}.dashboard-alert-row.is-error .dashboard-alert-marker{background:#ef4444;box-shadow:0 0 0 4px #ef444424}.dashboard-alert-row.is-success .dashboard-alert-marker{background:#22c55e;box-shadow:0 0 0 4px #22c55e24}.dashboard-alert-row-text{color:#f8fafc;font-size:14px;line-height:1.55}.dashboard-status-panel{background:#0f172a75;border:1px solid #94a3b81f;border-radius:22px;gap:18px;padding:24px 24px 22px;display:grid}.dashboard-quicklinks-panel{background:#0f172a75;border:1px solid #94a3b81f;border-radius:22px;gap:18px;min-width:0;padding:24px 24px 22px;display:grid}.dashboard-lower-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:stretch;gap:18px;display:grid}.dashboard-status-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.dashboard-status-header h3{margin:0}.dashboard-status-header span{color:#94a3b8;font-size:13px;line-height:1.55}.dashboard-status-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start;gap:14px;display:grid}.dashboard-quick-links{background:#0f172a6b;border:1px solid #94a3b81f;border-radius:16px;gap:12px;min-width:0;padding:16px 18px;display:grid}.dashboard-quick-links-head{gap:4px;display:grid}.dashboard-quick-links-head strong{color:#f8fafc;font-size:14px;line-height:1.25}.dashboard-quick-links-head span{color:#94a3b8;font-size:12px;line-height:1.5}.dashboard-quick-links-list{gap:10px;display:grid}.dashboard-quick-link{text-align:left;color:#e2e8f0;background:#0f172a85;border:1px solid #94a3b824;border-radius:14px;gap:4px;width:100%;padding:12px;transition:border-color .18s,background .18s,transform .18s;display:grid}.dashboard-quick-link:hover{background:#1e293b94;border-color:#94a3b83d;transform:translateY(-1px)}.dashboard-quick-link span{color:#f8fafc;font-size:14px;line-height:1.4}.dashboard-quick-link small{color:#94a3b8;font-size:12px;line-height:1.4}.dashboard-quick-links-empty{color:#94a3b8;font-size:13px;line-height:1.6}.metric-card,.panel{padding:22px}.metric-card{gap:10px;display:grid}.metric-card strong{font-size:34px}.panel{gap:18px;display:grid}.form-page{max-width:960px}.placement-form-page{width:100%;max-width:none}.panel-wide{grid-column:1/-1}.dashboard-panel-span-2{grid-column:span 2}.panel-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.panel-header p{margin:0}.simple-list{gap:10px;margin:0;padding-left:18px;display:grid}.info-grid{grid-template-columns:120px 1fr;gap:10px 14px;display:grid}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.module-card{background:#0f172a7a;border:1px solid #94a3b81f;border-radius:18px;gap:12px;padding:18px;display:grid}.link-button{gap:4px;display:grid}.dashboard-attention-list{gap:12px;display:grid}.dashboard-attention-item{background:#0f172a6b;border:1px solid #94a3b824;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.dashboard-attention-item.is-success{border-color:#4ade8033}.dashboard-attention-item.is-warn{border-color:#facc1538}.dashboard-attention-item.is-error{border-color:#f871713d}.dashboard-attention-main{gap:6px;min-width:0;display:grid}.dashboard-attention-main strong,.dashboard-status-card h4{margin:0}.dashboard-attention-main p{color:#94a3b8;margin:0;font-size:13px}.dashboard-attention-side{flex:none;justify-items:end;gap:10px;display:grid}.dashboard-attention-value{color:#f8fafc;font-size:22px;font-weight:800}.dashboard-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-status-card{background:#0f172a6b;border:1px solid #94a3b81f;border-radius:16px;gap:12px;padding:16px 18px;display:grid}.dashboard-status-rows{gap:10px;display:grid}.dashboard-status-row{color:#cbd5e1;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.dashboard-status-row strong{color:#f8fafc;font-size:14px}.dashboard-base-metrics{gap:12px;display:grid}.dashboard-base-metric{background:#0f172a6b;border:1px solid #94a3b81f;border-radius:16px;gap:4px;padding:14px 16px;display:grid}.dashboard-base-metric strong{font-size:24px;line-height:1.2}.management-grid{grid-template-columns:420px minmax(0,1fr);align-items:start;gap:20px;display:grid}.deploy-log-grid{grid-template-columns:minmax(620px,1.55fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=1100px){.deploy-log-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panel-span-2,.panel-wide{grid-column:1/-1}.dashboard-overview-grid{grid-template-columns:1fr}.dashboard-overview-welcome,.dashboard-overview-monitor,.dashboard-overview-alert{grid-area:auto/1}.dashboard-lower-grid{grid-template-columns:1fr}.list-filter-grid-placement,.list-filter-grid-audience{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.topbar-actions{justify-content:space-between;width:100%;margin-left:0}.dashboard-grid,.dashboard-monitor-grid,.dashboard-status-grid,.module-grid{grid-template-columns:1fr}.dashboard-monitor-header{gap:10px}.dashboard-monitor-update{justify-items:start}.dashboard-attention-item{flex-direction:column;align-items:flex-start}.list-filter-grid-placement,.list-filter-grid-audience{grid-template-columns:1fr}.dashboard-attention-side{justify-items:start;width:100%}}.deploy-task-table{table-layout:fixed;border-collapse:collapse;border-spacing:0}.deploy-task-table th,.deploy-task-table td{text-align:center;vertical-align:middle}.deploy-task-table th:first-child,.deploy-task-table td:first-child,.global-config-table th:first-child,.global-config-table td:first-child,.instance-config-table th:first-child,.instance-config-table td:first-child,.machine-table th:first-child,.machine-table td:first-child,.overview-table th:first-child,.overview-table td:first-child,.traffic-rule-table th:first-child,.traffic-rule-table td:first-child,.deploy-task-table th:not(:first-child),.deploy-task-table td:not(:first-child){font-size:14px}.deploy-task-table th:first-child,.deploy-task-table td:first-child{text-align:left;width:260px}.deploy-task-table th:last-child,.deploy-task-table td:last-child{width:120px}.deploy-task-row{cursor:default}.deploy-task-row:hover td{background:#0f172a3d}.deploy-task-row.active td{background:#3b82f61f}.deploy-task-detail{min-width:0}.deploy-drawer-mask{z-index:120;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617ad;justify-content:flex-end;display:flex;position:fixed;inset:0}.deploy-drawer{background:#0f172af0;border-left:1px solid #94a3b82e;grid-template-rows:auto 1fr;gap:14px;width:min(560px,100vw - 40px);height:100%;padding:18px 18px 22px;display:grid;overflow:hidden;box-shadow:-24px 0 70px #00000059}.deploy-drawer-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.deploy-drawer-title{align-items:center;gap:10px;min-width:0;display:inline-flex}.deploy-drawer-body{min-height:0;padding-right:4px;overflow:auto}.deploy-drawer-meta{background:#0f172a7a;border:1px solid #94a3b824;border-radius:16px;grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px;display:grid}.deploy-timeline-panel{gap:10px;margin-top:14px;display:grid}.deploy-timeline{gap:12px;padding:6px 2px 2px;display:grid}.deploy-timeline-item{grid-template-columns:14px minmax(0,1fr);align-items:start;gap:12px;display:grid;position:relative}.deploy-timeline-marker{justify-content:center;padding-top:4px;display:flex;position:relative}.deploy-timeline-item:not(:last-child) .deploy-timeline-marker:after{content:"";background:#94a3b82e;width:2px;position:absolute;top:18px;bottom:-14px;left:50%;transform:translate(-50%)}.deploy-timeline-dot{background:#0f172ae6;border:2px solid #60a5fad9;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 3px #3b82f61f}.deploy-timeline-content{background:#0f172a7a;border:1px solid #94a3b81f;border-radius:16px;gap:6px;min-width:0;padding:12px;display:grid}.deploy-timeline-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.deploy-timeline-time{color:#e2e8f0;font-size:12px;font-weight:600}.deploy-timeline-tag{color:#94a3b8;background:#0f172a8c;border:1px solid #94a3b829;border-radius:999px;padding:1px 8px;font-size:12px}.deploy-timeline-panel .deploy-task-log-header{padding:0 2px}.deploy-timeline-panel .deploy-task-log-count{color:#94a3b8}.deploy-drawer .empty-tip{padding:18px 0}.confirm-dialog-mask{z-index:130;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020617b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#0f172af5;border-radius:24px;gap:18px;width:min(440px,100vw - 32px);padding:24px;display:grid;box-shadow:0 24px 60px #0000004d}.confirm-dialog-head{gap:6px;display:grid}.confirm-dialog-head strong{color:#f8fafc;font-size:18px;line-height:1.3}.confirm-dialog-head span,.confirm-dialog-body p{color:#94a3b8;margin:0;font-size:13px;line-height:1.6}.confirm-dialog-body{background:#1e293ba3;border-radius:18px;gap:10px;padding:14px 16px;display:grid}.confirm-dialog-name{color:#e2e8f0;word-break:break-word;font-size:15px;font-weight:600;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.confirm-dialog-cancel,.confirm-dialog-confirm{border-radius:14px;min-width:104px;height:40px;padding:0 16px;font-size:13px;font-weight:600;line-height:1}.confirm-dialog-cancel{color:#e2e8f0;background:#334155b8;border-color:#94a3b82e}.confirm-dialog-cancel:hover:not(:disabled){background:#475569d1;border-color:#94a3b847;transform:translateY(-1px)}.confirm-dialog-confirm{color:#fff;background:linear-gradient(135deg,#dc2626eb,#b91c1ceb);border-color:#ef44442e;box-shadow:0 10px 24px #dc262638}.confirm-dialog-confirm:hover:not(:disabled){background:linear-gradient(135deg,#ef4444f5,#b91c1cf5);border-color:#0000;transform:translateY(-1px);box-shadow:0 14px 28px #dc262647}.quicklink-dialog{background:#0f172af5;border-radius:24px;gap:18px;width:min(980px,100vw - 32px);padding:24px;display:grid;box-shadow:0 24px 60px #0000004d}.quicklink-dialog-head{gap:6px;display:grid}.quicklink-dialog-head strong{color:#f8fafc;font-size:18px;line-height:1.3}.quicklink-dialog-head span{color:#94a3b8;margin:0;font-size:13px;line-height:1.6}.quicklink-dialog-body{background:#1e293ba3;border-radius:18px;padding:14px 16px}.quicklink-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:14px;display:grid}.quicklink-options{gap:14px;max-height:min(520px,100vh - 280px);padding-right:6px;display:grid;overflow:auto}.quicklink-group{gap:10px;display:grid}.quicklink-group-title{color:#f8fafc;letter-spacing:.02em;font-size:13px;font-weight:700}.quicklink-option{color:#e2e8f0;cursor:pointer;background:#0f172a61;border:1px solid #94a3b81f;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.quicklink-option:hover{background:#0f172a80;border-color:#94a3b83d}.quicklink-option input{width:14px;height:14px}.quicklink-option span{font-size:13px;line-height:1.4}.quicklink-selected{gap:12px;min-width:0;display:grid}.quicklink-selected-title{color:#f8fafc;font-size:13px;font-weight:700}.quicklink-selected-list{gap:10px;display:grid}.quicklink-selected-item{cursor:grab;-webkit-user-select:none;user-select:none;background:#0f172a85;border:1px solid #94a3b824;border-radius:12px;grid-template-columns:16px minmax(0,1fr) 56px;align-items:center;gap:10px;padding:10px 12px;display:grid}.quicklink-selected-item:active{cursor:grabbing}.quicklink-drag-handle{background:linear-gradient(135deg,#60a5fae6,#6366f1b3);border-radius:8px;width:16px;height:16px;box-shadow:0 0 0 4px #60a5fa1f}.quicklink-selected-text{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.4;overflow:hidden}.quicklink-remove{color:#e2e8f0;cursor:pointer;background:#3341559e;border:1px solid #94a3b829;border-radius:10px;height:28px;padding:0 10px;font-size:12px;font-weight:600}.quicklink-remove:hover{background:#475569c7;border-color:#94a3b847}.quicklink-selected-empty{color:#94a3b8;font-size:13px;line-height:1.6}.quicklink-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.quicklink-dialog-actions .ghost-button,.quicklink-dialog-actions .primary-button{border-radius:14px;justify-content:center;align-items:center;min-width:104px;height:40px;padding:0 16px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}@media (width<=820px){.quicklink-grid{grid-template-columns:1fr}}.deploy-task-detail-card{background:#0f172a7a;border:1px solid #94a3b824;border-radius:18px;gap:12px;min-width:0;padding:18px;display:grid}.deploy-task-detail-card.is-empty{color:#94a3b8}.deploy-task-detail-card.is-empty strong{color:#e2e8f0}.deploy-task-detail-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.deploy-task-detail-title{color:#f8fafc;font-size:15px;font-weight:700}.deploy-task-detail-status{color:#cbd5f5;white-space:nowrap;background:#0f172a99;border:1px solid #94a3b829;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;display:inline-flex}.deploy-task-detail-meta{grid-template-columns:1fr 1fr;gap:10px 14px;min-width:0;display:grid}.deploy-task-detail-row{grid-template-columns:90px minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}.deploy-task-detail-row span{color:#94a3b8;font-size:12px;line-height:1.4}.deploy-task-detail-row strong{color:#e2e8f0;min-width:0;font-size:13px;font-weight:600}.deploy-task-detail-row.full{grid-column:1/-1}.deploy-task-log-panel{gap:10px;min-width:0;display:grid}.deploy-task-log-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.deploy-task-log-count{color:#94a3b8;font-size:12px}.deploy-task-log-table-wrap{max-height:420px;overflow:auto}.deploy-task-log-table{table-layout:fixed;border-collapse:collapse;border-spacing:0}.deploy-task-log-table th:first-child,.deploy-task-log-table td:first-child{width:150px}.deploy-task-log-table th:nth-child(2),.deploy-task-log-table td:nth-child(2){text-align:center;width:78px}.deploy-task-log-table th:nth-child(3),.deploy-task-log-table td:nth-child(3){width:120px}.deploy-log-message{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:#e2e8f0;font-size:12px;line-height:1.45}.empty-tip{text-align:center;color:#94a3b8;padding:22px 0;font-size:13px}.data-state-tip{text-align:center;color:#cbd5e1;background:#0f172a57;border:1px solid #94a3b829;border-radius:16px;padding:24px 16px;font-size:13px}.data-state-tip.is-error{color:#fecaca;background:#7f1d1d2e;border-color:#f8717147}.form-panel{position:sticky;top:28px}.table-wrap{scrollbar-width:thin;scrollbar-color:#60a5fa6b #0f172a1f;overflow-x:auto}.list-pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.list-pagination-summary{color:#94a3b8;font-size:13px}.list-pagination-pages{align-items:center;gap:6px;display:inline-flex}.list-pagination-page{color:#cbd5e1;cursor:pointer;background:#0f172a94;border:1px solid #94a3b833;border-radius:10px;min-width:32px;height:32px;padding:0 10px;font-size:13px;font-weight:600;transition:border-color .18s,background .18s,color .18s,transform .18s}.list-pagination-page:hover{color:#eff6ff;border-color:#60a5fa66}.list-pagination-page.active{color:#eff6ff;background:linear-gradient(135deg,#3b82f642,#2563eb33);border-color:#60a5fa94;box-shadow:0 8px 18px #2563eb2e}.list-pagination-ellipsis{color:#64748b;justify-content:center;align-items:center;min-width:20px;font-size:13px;display:inline-flex}.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-track{background:#0f172a1f;border-radius:999px}.table-wrap::-webkit-scrollbar-thumb{background:#60a5fa6b;border-radius:999px}.table-wrap::-webkit-scrollbar-thumb:hover{background:#60a5fa8f}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #94a3b81f;padding:14px 12px}th{color:#94a3b8;font-size:13px;font-weight:600}.actions{align-items:center;gap:8px;display:flex}.actions .small,.config-actions .small{font-size:14px}.global-config-table,.instance-config-table{table-layout:fixed;border-collapse:collapse;border-spacing:0}.global-config-table th,.global-config-table td,.instance-config-table th,.instance-config-table td{text-align:center}.global-config-table th:not(:first-child),.global-config-table td:not(:first-child),.instance-config-table th:not(:first-child),.instance-config-table td:not(:first-child){font-size:14px}.global-config-table td:first-child,.instance-config-table td:first-child{text-align:left}.global-config-table th:first-child,.instance-config-table th:first-child,.global-config-table th:last-child,.instance-config-table th:last-child{text-align:center}.instance-config-table th:first-child,.instance-config-table td:first-child{width:210px}.instance-config-table th:last-child,.instance-config-table td:last-child{width:156px}.instance-config-table th:nth-child(2),.instance-config-table th:nth-child(3),.instance-config-table th:nth-child(4),.instance-config-table th:nth-child(5),.instance-config-table td:nth-child(2),.instance-config-table td:nth-child(3),.instance-config-table td:nth-child(4),.instance-config-table td:nth-child(5){width:calc(25% - 91.5px)}.global-config-table th:first-child,.global-config-table td:first-child{width:180px}.global-config-table th:last-child,.global-config-table td:last-child{width:156px}.global-config-table th:nth-child(2),.global-config-table th:nth-child(3),.global-config-table td:nth-child(2),.global-config-table td:nth-child(3){width:calc(50% - 168px)}.config-operation-cell{vertical-align:middle}.config-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;min-height:100%;display:flex}.machine-list-toolbar{align-items:center;gap:12px;display:flex}.machine-header-cell{align-items:center;gap:10px;display:inline-flex}.machine-info-cell{align-items:flex-start;gap:12px;display:flex}.machine-checkbox{accent-color:#38bdf8;flex:none;width:16px;height:16px;margin-top:2px}.config-key-cell{max-width:0;line-height:1.5}.instance-config-main,.instance-config-spec{justify-items:center;gap:4px;line-height:1.2;display:grid}.instance-config-main{justify-items:start}.instance-config-main strong{color:#e2e8f0;font-size:14px;font-weight:400}.instance-config-meta-row{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.instance-config-meta{color:#cbd5e1;font-size:14px}.instance-config-dot{background:#94a3b88c;border-radius:999px;width:4px;height:4px}.instance-config-spec{grid-template-columns:repeat(2,minmax(0,max-content));justify-content:start;align-items:center;gap:8px 18px;display:grid}.instance-config-spec-item{color:#e2e8f0;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.instance-config-spec-item.bandwidth-item{grid-column:1/-1;justify-self:start}.instance-config-spec-item strong{color:#e2e8f0;font-size:14px;font-weight:400}.instance-config-unit{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#2563ebeb,#4f46e5eb);border-radius:999px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:700}.instance-config-table th,.instance-config-table td{padding:14px 10px}.instance-config-table tbody tr{height:84px}.instance-config-table tbody td{background:0 0;border-bottom:1px solid #94a3b81f}.instance-config-table tbody tr:hover td{background:#0f172a4d}.instance-number-block,.instance-metric-block,.instance-price-block{white-space:nowrap;justify-content:center;align-items:baseline;gap:4px;display:inline-flex}.instance-number-block strong,.instance-metric-block strong,.instance-price-block strong{color:#e2e8f0;font-size:14px;font-weight:400;line-height:1.1}.instance-number-block span,.instance-metric-block span,.instance-price-block span{color:#94a3b8;white-space:nowrap;font-size:14px}.instance-price-block strong{letter-spacing:.01em;font-size:17px}.config-value-cell{white-space:normal;min-width:260px;max-width:0;line-height:1.5;overflow:hidden}.cell-ellipsis{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.config-entry-line{grid-template-columns:max-content max-content minmax(0,1fr);align-items:start;column-gap:0;width:100%;min-width:0;display:grid}.config-entry-key,.config-entry-value{min-width:0}.config-entry-separator{padding-right:2px}.field-helper{color:#94a3b8;margin-top:8px;font-size:12px;line-height:1.4;display:inline-block}.switch-button{cursor:pointer;background:#475569b3;border:1px solid #94a3b83d;border-radius:999px;justify-content:center;align-items:center;width:42px;height:22px;padding:0;transition:background .2s,border-color .2s;display:inline-flex}.switch-button.active,.switch-button.on{background:#2563ebd9;border-color:#60a5fab8}.switch-track{border-radius:999px;width:100%;height:100%;position:relative}.switch-thumb{background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .2s;position:absolute;top:1px;left:1px;box-shadow:0 4px 12px #0f172a4d}.switch-button.active .switch-thumb,.switch-button.on .switch-thumb{transform:translate(20px)}.config-entry-panel{gap:14px;display:grid}.config-entry-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.config-entry-list{gap:12px;display:grid}.config-entry-row{background:#0f172a73;border:1px solid #94a3b824;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;padding:14px;display:grid}.machine-table{table-layout:fixed;border-collapse:separate;border-spacing:0}.machine-table th,.machine-table td{text-align:center;vertical-align:middle}.machine-table th:not(:first-child),.machine-table td:not(:first-child){font-size:14px}.machine-table td:first-child{text-align:left}.machine-table th:first-child,.machine-table td:first-child{z-index:2;background:#0f172af0;width:280px;position:sticky;left:0;box-shadow:10px 0 18px #0206172e}.machine-table th:last-child,.machine-table td:last-child{z-index:2;background:#0f172af0;width:270px;position:sticky;right:0;box-shadow:-10px 0 18px #0206172e}.machine-table th:first-child,.machine-table th:last-child{z-index:3}.machine-table th:nth-child(2),.machine-table th:nth-child(3),.machine-table th:nth-child(4),.machine-table th:nth-child(5),.machine-table td:nth-child(2),.machine-table td:nth-child(3),.machine-table td:nth-child(4),.machine-table td:nth-child(5){width:calc(25% - 137.5px)}.machine-table tbody tr{height:96px}.machine-table tbody td{border-bottom:1px solid #94a3b81f}.machine-table tbody tr:hover td{background:#0f172a3d}.machine-table tbody tr:hover td:first-child,.machine-table tbody tr:hover td:last-child{background:#0f172af0}.machine-info-main,.machine-level-block,.machine-package-block,.machine-dsp-block,.machine-load-card{gap:6px;display:grid}.machine-info-main{justify-items:start}.machine-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.machine-title-row strong{color:#e2e8f0;font-size:14px;font-weight:400}.machine-status-badge{color:#cbd5f5;background:#1e293bb3;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.machine-status-dot{background:#94a3b8;border-radius:999px;width:8px;height:8px}.machine-status-badge.is-active .machine-status-dot{background:#22c55e}.machine-status-badge.is-disabled .machine-status-dot{background:#f59e0b}.machine-status-badge.is-released .machine-status-dot{background:#ef4444}.machine-status-badge.is-new .machine-status-dot{background:#60a5fa}.machine-deploy-icon{color:#cbd5e1;-webkit-user-select:none;user-select:none;background:#0f172ab3;border:1px solid #94a3b829;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.machine-deploy-icon.is-deploying{color:#60a5fa;animation:1.1s linear infinite cmx-spin}.machine-deploy-icon.is-failed{color:#ef4444;cursor:pointer;border-color:#ef444447}.machine-deploy-icon.is-failed:hover{background:#7f1d1d47}.machine-deploy-icon.is-failed:focus-visible{outline-offset:2px;outline:2px solid #ef4444b3}.machine-deploy-icon.is-success{color:#22c55e;border-color:#22c55e47}@keyframes cmx-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.machine-config-sub,.machine-dsp-block span,.machine-load-card span,.machine-level-block span,.machine-package-block span{color:#94a3b8;font-size:14px;line-height:1.4}.machine-load-card{justify-items:center;gap:8px;padding-top:10px;display:grid}.machine-load-preview{z-index:130;pointer-events:none;background:#0f172afa;border:1px solid #60a5fa38;border-radius:16px;width:248px;padding:12px;position:fixed;box-shadow:0 20px 48px #0206176b}.machine-load-preview-header{gap:2px;margin-bottom:10px;display:grid}.machine-load-preview-header strong{color:#f8fafc;font-size:13px}.machine-load-preview-header span{color:#93c5fd;font-size:12px}.machine-load-preview-chart{width:100%;height:72px}.machine-load-preview-chart line,.machine-sparkline line{shape-rendering:crispedges}.machine-load-zero-line{stroke:#94a3b847;stroke-width:.6px;stroke-dasharray:2 4}.machine-load-current-line{stroke:#93c5fda6;stroke-width:.9px;stroke-dasharray:4 4}.machine-load-hover-x-line{stroke:#60a5fa8c;stroke-width:1px}.machine-load-preview-chart polyline{fill:none;stroke:#60a5fa;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.machine-load-preview-chart circle{fill:#e0f2fe;stroke:#60a5fa;stroke-width:2px}.machine-load-preview-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.machine-load-preview-stats div{gap:2px;display:grid}.machine-load-preview-stats strong{color:#e2e8f0;font-size:16px}.machine-load-preview-stats span{color:#94a3b8;font-size:12px}.machine-load-empty{color:#64748b;background:#0f172a61;border:1px dashed #94a3b847;border-radius:10px;place-items:center;width:124px;height:38px;font-size:12px;display:grid}.machine-sparkline{cursor:crosshair;width:124px;height:38px;margin-top:2px;overflow:visible}.machine-sparkline polyline{fill:none;stroke:#60a5fa;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.machine-sparkline:hover polyline{stroke:#93c5fd}.machine-load-value{color:#e2e8f0;letter-spacing:.02em;min-height:15px;font-size:15px;font-weight:700;line-height:1}.machine-dsp-block,.machine-level-block,.machine-package-block{justify-items:center}.machine-package-block{white-space:nowrap;justify-content:center;align-items:baseline;gap:6px;display:inline-flex}.machine-dsp-block strong,.machine-level-block strong,.machine-package-block strong{color:#e2e8f0;font-size:14px;font-weight:400}.machine-dsp-block span,.machine-level-block span,.machine-package-block span{color:#e2e8f0}.machine-read-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.machine-read-card{background:#0f172a80;border:1px solid #94a3b824;border-radius:16px;gap:6px;padding:16px 18px;display:grid}.machine-read-card span{color:#94a3b8;font-size:12px}.machine-read-card strong{color:#f8fafc;font-size:18px;font-weight:700}.permission-tree{background:#0f172a99;border:1px solid #94a3b824;border-radius:16px;gap:12px;padding:14px;display:grid}.permission-group{border:1px solid #94a3b81f;border-radius:14px;overflow:hidden}.permission-parent{color:#e2e8f0;background:#1e293b8c;align-items:center;gap:10px;padding:12px 14px;font-weight:650;display:flex}.permission-parent input{accent-color:#4f46e5;width:16px;height:16px}.permission-children{background:#0f172a66;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:12px 14px 14px;display:grid}.permission-child{color:#d7def4;align-items:center;gap:10px;display:flex}.permission-child input{accent-color:#4f46e5;width:16px;height:16px}.form-actions{justify-content:flex-end;gap:12px;display:flex}.placeholder-panel{align-content:start;justify-items:start;gap:10px;min-height:280px}.placeholder-panel h3{place-self:start;line-height:1.15;display:inline-block}.placeholder-panel p{place-self:start;margin:0;line-height:1.2;display:inline-block}.placeholder-box{gap:8px;padding:24px;display:grid}.info-icon{color:#e2e8f0eb;background:#0f172a8c;border:1px solid #94a3b847;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:inline-flex}.overview-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:10px;display:grid}.overview-metric-card{background:#0f172a80;border:1px solid #94a3b824;border-radius:16px;gap:8px;padding:14px 16px;display:grid}.overview-metric-title{color:#cbd5f5;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.overview-metric-value{color:#f8fafc;letter-spacing:.02em;font-size:22px;font-weight:750}.overview-two-col{grid-template-columns:1fr;gap:14px;margin-top:14px;display:grid}.overview-section{background:#0f172a73;border:1px solid #94a3b824;border-radius:18px;flex-direction:column;gap:12px;min-height:400px;padding:14px 14px 10px;display:flex}.overview-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-section-title{align-items:center;gap:10px;display:inline-flex}.overview-section-title h4{color:#e2e8f0;margin:0;font-size:14px;font-weight:750}.overview-pager{align-items:center;gap:10px;display:inline-flex}.overview-pager-text{color:#94a3b8;text-align:center;min-width:62px;font-size:12px}.overview-table{border-collapse:collapse;table-layout:fixed;width:100%}.overview-table th,.overview-table td{text-align:left;color:#e2e8f0;border-bottom:1px solid #94a3b81f;padding:10px 12px;font-size:13px}.overview-table th:not(:first-child),.overview-table td:not(:first-child){font-size:14px}.overview-table th{color:#cbd5f5;font-weight:650}.empty-cell{text-align:center;color:#94a3b8}.overview-table-wrap{overflow-x:hidden}.overview-pager.is-bottom{justify-content:flex-end;margin-top:auto;padding-bottom:10px}.overview-dsp-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.overview-pie{grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:14px;min-height:280px;display:grid}.overview-pie-chart{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.overview-pie-svg{aspect-ratio:1;width:60%;min-width:160px;max-width:240px;display:block}.overview-pie-svg path{shape-rendering:geometricprecision;transform-origin:50%;transition:opacity .18s,transform .18s}.overview-pie-svg.spinning{transform-origin:50%;animation:.7s cubic-bezier(.22,1,.36,1) cmx-pie-spin}@keyframes cmx-pie-spin{0%{transform:rotate(0)scale(.985)}to{transform:rotate(360deg)scale(1)}}.overview-pie-legend{flex-direction:column;gap:6px;width:100%;max-height:160px;padding-right:2px;display:flex;overflow:auto}.overview-pie-legend-item{appearance:none;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:#0f172a38;border:1px solid #94a3b824;border-radius:12px;align-items:center;gap:8px;padding:6px 8px;display:flex}.overview-pie-legend-item:hover{background:#0f172a4d;border-color:#60a5fa38}.overview-pie-dot{border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 1px #94a3b838}.overview-pie-label{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:13px;line-height:1.2;overflow:hidden}.overview-pie-meta{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;text-align:right;max-width:140px;margin-left:auto;font-size:12px;line-height:1.2;overflow:hidden}.overview-pie-legend-item.off{opacity:.38}.overview-pie-legend-item:focus-visible{outline-offset:2px;outline:2px solid #60a5faa6}.overview-empty{text-align:center;color:#94a3b8;padding:20px 0 8px;font-size:12px}@media (width<=1100px){.overview-pie{grid-template-columns:1fr;justify-items:center}.overview-pie-legend{flex-flow:wrap;justify-content:center;max-height:none}.overview-pie-legend-item{grid-template-columns:12px minmax(0,1fr);width:min(320px,100%)}}.overview-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.overview-status-card{background:#0f172a80;border:1px solid #94a3b824;border-radius:16px;gap:8px;padding:14px 16px;display:grid}.overview-status-card span{color:#94a3b8;font-size:12px}.overview-status-card strong{color:#f8fafc;letter-spacing:.02em;font-size:22px;font-weight:750}.water-distribution-chart{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;padding:4px 2px;display:grid}.water-distribution-item{justify-items:center;gap:8px;display:grid}.water-distribution-bar{background:#1e293b8c;border:1px solid #94a3b81f;border-radius:12px;align-items:flex-end;width:100%;max-width:120px;height:86px;display:flex;overflow:hidden}.water-distribution-fill{border-radius:12px;width:100%;height:0%}.water-distribution-fill.is-idle{background:#94a3b880}.water-distribution-fill.is-healthy{background:#60a5fab8}.water-distribution-fill.is-high{background:#fb923cc2}.water-distribution-meta{color:#cbd5f5;white-space:nowrap;align-items:center;gap:8px;font-size:12px;display:inline-flex}.water-distribution-label{color:#cbd5f5eb}.water-distribution-count{color:#e2e8f0e6;font-weight:700}.overview-water-summary{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.water-chip{color:#e2e8f0;background:#0f172a8c;border:1px solid #94a3b829;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.water-chip.is-idle{color:#e2e8f0e0;border-color:#94a3b82e}.water-chip.is-healthy{color:#bfdbfee6;border-color:#60a5fa47}.water-chip.is-high{color:#fed7aae6;border-color:#fb923c47}.water-level-list{gap:10px;padding:0 10px;display:grid}.water-level-row{grid-template-columns:160px 1fr 64px;align-items:center;gap:8px;display:grid}.water-level-name{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.water-level-bar{background:#1e293ba6;border:1px solid #94a3b81f;border-radius:999px;height:10px;overflow:hidden}.water-level-fill{background:#60a5fabf;border-radius:999px;height:100%}.water-level-fill.is-idle{background:#94a3b88c}.water-level-fill.is-healthy{background:#60a5fabf}.water-level-fill.is-high{background:#fb923cc7}.water-level-percent{color:#e2e8f0e6;white-space:nowrap;text-align:right;font-size:12px}.water-level-empty{text-align:center;color:#94a3b8;padding:18px 0 8px;font-size:12px}.traffic-rule-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1380px}.traffic-rule-table th,.traffic-rule-table td{color:#e2e8f0eb;text-align:center;vertical-align:middle;border-bottom:1px solid #94a3b81f;padding:12px 14px}.traffic-rule-table th:not(:first-child),.traffic-rule-table td:not(:first-child){font-size:14px}.traffic-rule-table th{color:#94a3b8e6;background:#0f172a6b;font-size:12px;font-weight:600}.traffic-rule-table th:first-child,.traffic-rule-table td:first-child{z-index:2;background:#0f172af5;width:320px;position:sticky;left:0;box-shadow:10px 0 18px #0206172e}.traffic-rule-table th:last-child,.traffic-rule-table td:last-child{z-index:2;background:#0f172af5;width:260px;position:sticky;right:0;box-shadow:-10px 0 18px #0206172e}.traffic-rule-table th:first-child,.traffic-rule-table th:last-child{z-index:3}.traffic-rule-table th:nth-child(2),.traffic-rule-table td:nth-child(2){width:130px}.traffic-rule-table th:nth-child(3),.traffic-rule-table td:nth-child(3){width:210px}.traffic-rule-table th:nth-child(4),.traffic-rule-table td:nth-child(4),.traffic-rule-table th:nth-child(5),.traffic-rule-table td:nth-child(5){width:170px}.traffic-rule-table th:nth-child(6),.traffic-rule-table td:nth-child(6){width:220px}.traffic-rule-table tbody tr{height:96px}.traffic-rule-table tbody td{background:#0f172a14}.traffic-rule-table tbody tr:hover td{background:#0f172a3d}.traffic-rule-table tbody tr:hover td:first-child,.traffic-rule-table tbody tr:hover td:last-child{background:#0f172af5}.traffic-rule-primary-cell{align-items:center;gap:14px;display:flex}.traffic-rule-main{justify-items:start;gap:6px;min-width:0;display:grid}.traffic-rule-title-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.traffic-rule-title-row strong{color:#e2e8f0;font-size:14px;font-weight:400}.traffic-rule-remark-icon{opacity:.82;flex:none;width:16px;height:16px;margin-left:2px;font-size:10px}.traffic-rule-count-badge{color:#cbd5e1;letter-spacing:.01em;background:#94a3b81f;border:1px solid #94a3b829;border-radius:999px;align-items:center;min-height:22px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.traffic-rule-sub{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.5;overflow:hidden}.traffic-rule-remark{color:#94a3b8f2;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.traffic-rule-info-block{justify-items:center;gap:6px;min-width:0;display:grid}.traffic-rule-info-block strong{color:#e2e8f0e6;max-width:100%;font-size:14px;font-weight:500;line-height:1.3}.traffic-rule-info-block span{color:#94a3b8;font-size:14px;line-height:1.5}.traffic-rule-price-block{color:#94a3b8;align-content:center;justify-items:center;gap:2px;width:100%;font-size:14px;line-height:1.5;display:grid}.traffic-rule-price-block span{white-space:nowrap;text-align:center;justify-content:center;align-items:center;gap:0;width:auto;display:inline-flex}.traffic-rule-price-block em{color:#94a3b8e0;font-style:normal}.traffic-rule-price-block strong{color:#e2e8f0e6;font-size:14px;font-weight:500}.table-actions{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.traffic-rule-actions{flex-wrap:nowrap;justify-content:center;gap:8px;width:100%}.traffic-rule-actions .link-button,.traffic-rule-actions .danger-link-button{white-space:nowrap;border-radius:12px;padding:7px 10px;font-size:14px;line-height:1.2}.permission-visibility-button{min-width:84px}.permission-visibility-button.active{color:#bbf7d0;background:#22c55e14;border-color:#22c55e47}.block-rule-table{min-width:980px}.block-rule-table th:first-child,.block-rule-table td:first-child{width:120px}.block-rule-table th:nth-child(2),.block-rule-table td:nth-child(2){text-align:left;width:auto}.block-rule-table th:last-child,.block-rule-table td:last-child{width:240px}.placement-table{min-width:1500px}.placement-table th,.placement-table td{font-size:14px}.placement-table th:first-child,.placement-table td:first-child{text-align:left;width:300px}.placement-table th:nth-child(2),.placement-table td:nth-child(2),.placement-table th:nth-child(4),.placement-table td:nth-child(4),.placement-table th:nth-child(5),.placement-table td:nth-child(5){width:120px}.placement-table th:nth-child(3),.placement-table td:nth-child(3){width:180px}.placement-table th:nth-child(6),.placement-table td:nth-child(6),.placement-table th:nth-child(7),.placement-table td:nth-child(7),.placement-table th:nth-child(8),.placement-table td:nth-child(8){width:220px}.placement-table th:nth-child(9),.placement-table td:nth-child(9){width:320px}.placement-table .table-actions{gap:12px}.placement-insight-table{min-width:1700px}.placement-insight-table th,.placement-insight-table td{font-size:14px}.placement-insight-table th:first-child,.placement-insight-table td:first-child{text-align:left;z-index:4;background:#0f172a;width:360px}.placement-insight-table tbody tr:hover td:first-child{background:#0f172a}.placement-insight-table th:last-child,.placement-insight-table td:last-child{z-index:auto;box-shadow:none;width:160px;position:static;left:auto;right:auto}.placement-insight-table th:last-child{background:#0f172a6b}.placement-insight-table tbody td:last-child{background:#0f172a14}.placement-insight-table tbody tr:hover td:last-child{background:#0f172a3d}.placement-insight-table th{white-space:nowrap}.placement-insight-table th:nth-child(2),.placement-insight-table td:nth-child(2){z-index:4;background:#0f172a;width:140px;position:sticky;left:360px;box-shadow:10px 0 18px #0206172e}.placement-insight-table th:nth-child(2){z-index:5;background:#0f172a}.placement-insight-table tbody tr:hover td:nth-child(2){background:#0f172a}.placement-insight-table th:nth-child(n+3),.placement-insight-table td:nth-child(n+3){width:160px}.placement-insight-cell{justify-items:center;gap:4px;display:grid}.placement-insight-cell strong{color:#f8fafc;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.35}.placement-insight-diff{white-space:nowrap;color:#94a3b8;font-size:12px;line-height:1.35}.placement-insight-diff.is-positive{color:#fca5a5}.placement-insight-diff.is-negative{color:#93c5fd}.placement-insight-diff.is-neutral{color:#cbd5e1}.placement-primary{justify-items:start;gap:8px;min-width:0;display:grid}.placement-name{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:14px;font-weight:400;line-height:1.4;display:block;overflow:hidden}.placement-meta-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;display:flex}.placement-id{color:#cbd5e1;font-size:14px;line-height:1.4}.placement-status-inline{width:fit-content}.placement-detail-list{gap:6px;min-width:0;display:grid}.placement-detail-list-centered{place-items:center}.placement-detail-list span{color:#cbd5e1;word-break:break-word;font-size:13px;line-height:1.5}.placement-binding-item{text-align:center;place-items:center;gap:4px;display:grid}.placement-binding-name{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;line-height:1.5;display:block;overflow:hidden}.placement-binding-uv{color:#94a3b8;font-size:13px;line-height:1.5}.table-header-label{align-items:center;gap:6px;display:inline-flex}.table-header-help{color:#94a3b8;cursor:help;-webkit-user-select:none;user-select:none;background:#94a3b81a;border:1px solid #94a3b83d;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:inline-flex}.audience-package-table{min-width:1180px}.audience-package-table th:first-child,.audience-package-table td:first-child{width:260px}.audience-package-table th:nth-child(2),.audience-package-table td:nth-child(2),.audience-package-table th:nth-child(3),.audience-package-table td:nth-child(3),.audience-package-table th:nth-child(4),.audience-package-table td:nth-child(4),.audience-package-table th:nth-child(5),.audience-package-table td:nth-child(5),.audience-package-table th:nth-child(6),.audience-package-table td:nth-child(6){width:130px}.audience-package-table th:nth-child(7),.audience-package-table td:nth-child(7){width:180px}.selection-section{gap:12px;display:grid}.selection-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.selection-card{cursor:pointer;background:#0f172a80;border:1px solid #94a3b824;border-radius:16px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;transition:border-color .18s,background .18s,transform .18s;display:grid}.selection-card:hover{background:#0f172aa3;border-color:#60a5fa42;transform:translateY(-1px)}.selection-card.selected{background:#1e293bb8;border-color:#60a5fa8f;box-shadow:0 12px 24px #2563eb1f}.selection-card input{accent-color:#2563eb;width:16px;height:16px;margin:2px 0 0}.selection-card-main{gap:8px;min-width:0;display:grid}.selection-card-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.selection-card-title-row strong{color:#f8fafc;font-size:14px}.selection-card-main span{color:#94a3b8;font-size:12px;line-height:1.5}.audience-placement-select,.audience-machine-select{width:100%;position:relative}.audience-placement-trigger{align-items:center;min-height:46px}.audience-machine-trigger{align-items:center;min-height:54px}.audience-placement-menu{max-height:320px;padding:10px}.audience-placement-menu-header{color:#94a3b8;justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 8px;font-size:12px;display:flex}.audience-placement-clear{border-radius:10px;padding:6px 10px;font-size:12px}.audience-placement-option{cursor:pointer;background:#0f172a80;border:1px solid #94a3b824;border-radius:16px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;transition:border-color .18s,background .18s,transform .18s;display:grid}.audience-placement-option:hover{background:#0f172aa3;border-color:#60a5fa42;transform:translateY(-1px)}.audience-placement-option.selected{background:#1e293bb8;border-color:#60a5fa8f;box-shadow:0 12px 24px #2563eb1f}.audience-placement-option input{accent-color:#2563eb;width:16px;height:16px;margin:2px 0 0}.list-filter-card{box-shadow:none;background:0 0;border:0;gap:12px;padding:0;display:grid}.list-filter-grid{gap:14px;display:grid}.list-filter-grid-placement,.list-filter-grid-audience{grid-template-columns:repeat(3,minmax(0,1fr))}.list-filter-field{gap:8px;display:grid}.list-filter-field-dropdown{position:relative}.list-filter-field>span{color:#94a3b8;padding-left:2px;font-size:12px;line-height:1.2}.list-filter-field input,.list-filter-field select,.filter-select-search-input{color:#e2e8f0;background:#0f172ae6;border:1px solid #94a3b82e;border-radius:14px;outline:none;width:100%;min-height:44px;padding:10px 14px;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}.list-filter-field input::placeholder,.filter-select-search-input::placeholder{color:#94a3b8b8}.list-filter-field input:focus,.list-filter-field select:focus,.filter-select-search-input:focus{background:#0f172af5;border-color:#60a5fa85;box-shadow:0 0 0 3px #2563eb1f}.list-filter-field:hover input,.list-filter-field:hover select,.filter-select-search-input:hover{border-color:#60a5fa47}.filter-select-trigger{align-items:center;min-height:44px}.filter-search-box{cursor:text;background:#0f172ae6;border:1px solid #94a3b82e;border-radius:14px;align-items:center;gap:10px;min-height:44px;padding:0 14px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.filter-search-box:focus-within,.filter-search-box:hover{border-color:#60a5fa5c}.filter-search-box:focus-within{background:#0f172af5;box-shadow:0 0 0 3px #2563eb1f}.list-filter-field .filter-search-box-input{color:#e2e8f0;background:0 0;border:0;outline:none;flex:1;min-width:0;min-height:42px;padding:0}.filter-search-box-input::placeholder{color:#94a3b8d1}.filter-search-box-badge{color:#dbeafe;white-space:nowrap;background:#2563eb1f;border:1px solid #60a5fa33;border-radius:999px;flex:none;align-items:center;min-height:24px;padding:0 10px;font-size:12px;line-height:1.2;display:inline-flex}.filter-chip-row{flex-wrap:wrap;gap:6px;display:flex}.filter-select-value{color:#e2e8f0;line-height:1.5}.filter-select-value.placeholder{color:#94a3b8e6}.filter-select-menu{max-height:320px;overflow:auto}.filter-select-menu-header{z-index:1;background:#0f172afa;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex;position:sticky;top:0}.filter-select-menu-summary{color:#94a3b8;font-size:12px;line-height:1.4}.filter-select-search-input{min-height:40px;padding:9px 12px}.filter-select-clear{border-radius:10px;justify-self:end;padding:6px 10px;font-size:12px}.filter-multi-option{cursor:pointer;background:#0f172a85;border:1px solid #94a3b824;border-radius:14px;grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px;min-height:44px;padding:12px 14px;transition:border-color .18s,background .18s,transform .18s;display:grid}.filter-multi-option:hover{background:#0f172aa3;border-color:#60a5fa42;transform:translateY(-1px)}.filter-multi-option.selected{background:#1e293bb8;border-color:#60a5fa8f;box-shadow:0 12px 24px #2563eb1f}.filter-multi-option input{accent-color:#2563eb;width:16px;height:16px;margin:2px 0 0}.filter-multi-option-main{min-width:0}.filter-multi-option-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.filter-select-option{min-height:44px}.list-filter-actions{flex-wrap:wrap;justify-content:flex-end;place-self:center end;align-items:center;gap:12px;min-height:44px;display:flex}.list-filter-grid-audience .list-filter-actions{grid-column:-2/-1}.list-filter-result{color:#94a3b8;font-size:13px}.summary-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;display:grid}.summary-card{background:#0f172a7a;border:1px solid #94a3b824;border-radius:18px;gap:12px;padding:16px 18px;display:grid}.summary-card>strong{color:#f8fafc;font-size:14px}.summary-table{border-collapse:collapse;width:100%}.summary-table th,.summary-table td{text-align:left;padding:10px 12px;font-size:12px}.summary-total,.summary-inline{color:#cbd5e1;font-size:12px;line-height:1.5}.mini-table-wrap{overflow-x:auto}.switch-row{display:flex}.switch-field-card{background:#0f172a7a;border:1px solid #94a3b824;border-radius:18px;width:100%;padding:14px 16px}.audience-summary-card{width:100%}.audience-targeting-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.audience-targeting-tab{color:#cbd5e1;background:#0f172ab8;border:1px solid #94a3b82e;border-radius:14px;min-height:44px;font-size:14px;transition:border-color .18s,background .18s,color .18s,transform .18s}.audience-targeting-tab:hover{background:#1e293bd1;border-color:#60a5fa52;transform:translateY(-1px)}.audience-targeting-tab.active{color:#fff;background:linear-gradient(90deg,#2563eb,#4f46e5);border-color:#0000;box-shadow:0 12px 24px #2563eb2e}.compact-field{gap:8px}.placement-status.is-pending_bind{color:#fcd34d}.placement-status.is-pending_bind .machine-status-dot{background:#f59e0b}.placement-status.is-waiting,.audience-package-status.is-pending{color:#bfdbfe}.placement-status.is-waiting .machine-status-dot,.audience-package-status.is-pending .machine-status-dot{background:#60a5fa}.placement-status.is-active,.audience-package-status.is-updated{color:#bbf7d0}.placement-status.is-active .machine-status-dot,.audience-package-status.is-updated .machine-status-dot{background:#22c55e}.placement-status.is-stopped,.audience-package-status.is-updating{color:#fde68a}.placement-status.is-stopped .machine-status-dot,.audience-package-status.is-updating .machine-status-dot{background:#f59e0b}.danger-link-button{color:#fb7185f2;cursor:pointer;background:0 0;border:1px solid #f43f5e3d;border-radius:999px;padding:6px 10px}.danger-link-button:disabled{opacity:.45;cursor:not-allowed}.danger-link-button:not(:disabled):hover{background:#f43f5e24}.form-field{color:#cbd5e1;gap:8px;display:grid}.form-field>span,.form-field-title>span{color:#94a3b8;font-size:13px}.form-field-title{align-items:center;gap:8px;display:flex}.form-row-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.traffic-rule-form{gap:18px;display:grid}.traffic-rule-form-row{width:100%}.traffic-rule-form-row.single{display:flex}.traffic-rule-form-row.double{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:16px;display:grid}.traffic-rule-form-row.double-equal{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.traffic-rule-form-row.double-equal .traffic-rule-field.half{width:100%}.traffic-rule-form-row.name-status{grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:18px;display:grid}.traffic-rule-form-row.grouped{display:block}.traffic-rule-field.half{width:min(50%,520px)}.traffic-rule-field.full,.traffic-rule-status-field{width:100%}.traffic-rule-scope-field{width:100%;position:relative}.traffic-rule-scope-field .form-field-title{justify-content:flex-start}.traffic-rule-scope-trigger{cursor:pointer;text-align:left;justify-content:space-between;align-items:flex-start;gap:12px;min-height:46px;display:flex}.traffic-rule-scope-text{text-align:left;flex-wrap:wrap;gap:6px;min-width:0;display:flex}.traffic-rule-scope-placeholder{color:#94a3b8e6;line-height:20px}.traffic-rule-scope-tag{color:#dbeafe;white-space:nowrap;background:#2563eb1f;border:1px solid #60a5fa33;border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-size:12px;line-height:1.2;display:inline-flex}.traffic-rule-scope-tag.is-more{color:#cbd5e1;background:#94a3b824;border-color:#94a3b829}.traffic-rule-scope-arrow{color:#94a3b8eb;flex:none;font-size:12px}.traffic-rule-scope-menu{z-index:30;background:#0f172afa;border:1px solid #94a3b829;border-radius:16px;gap:6px;max-height:260px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 20px 40px #02061759}.traffic-rule-scope-option{color:#e2e8f0eb;cursor:pointer;background:#0f172ab8;border:1px solid #0000;border-radius:12px;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:10px;min-height:40px;padding:10px 12px;font-size:13px;transition:background .18s,border-color .18s,opacity .18s;display:grid}.traffic-rule-scope-option:hover{background:#1e293bc7;border-color:#60a5fa2e}.traffic-rule-scope-option.is-all{background:#2563eb14;border-color:#60a5fa2e}.traffic-rule-scope-option input{accent-color:#2563eb;margin:0}.traffic-rule-scope-option:has(input:checked){background:#2563eb1f;border-color:#60a5fa3d}.traffic-rule-scope-option:has(input:disabled){opacity:.5;cursor:not-allowed}.traffic-rule-group-card{background:#0f172a2e;border:1px solid #94a3b824;border-radius:18px;gap:14px;padding:14px 16px;display:grid}.traffic-rule-group-title{color:#e2e8f0;font-size:14px;font-weight:600}.binding-list{gap:10px;padding:2px;display:grid}.binding-item{background:#0f172a6b;border:1px solid #94a3b824;border-radius:14px;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 14px;display:flex}.binding-meta{color:#94a3b8eb;white-space:nowrap;font-size:12px}@media (width<=1280px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-monitor-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.management-grid{grid-template-columns:1fr}.form-panel{position:static}.selection-card-list,.summary-grid{grid-template-columns:1fr}}@media (width<=960px){.auth-shell{padding:24px}.sidebar{width:auto;margin:20px;position:static}.content{margin-left:0;padding:0 20px 24px}.topbar,.topbar-actions{flex-direction:column;align-items:stretch}.dashboard-grid,.module-grid,.form-grid,.traffic-rule-form-row.double,.traffic-rule-form-row.double-equal,.traffic-rule-form-row.name-status,.form-row-2{grid-template-columns:1fr}.traffic-rule-field.half{width:100%}.machine-config-option-list{grid-template-columns:1fr}.config-entry-row{grid-template-columns:1fr;align-items:stretch}.machine-read-grid{grid-template-columns:1fr 1fr}}
