@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap";/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Space Grotesk", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.z-40{z-index:40}.z-50{z-index:50}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.flex{display:flex}.min-h-full{min-height:100%}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-3{--tw-translate-y:calc(var(--spacing) * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-\[0\.98\]{scale:.98}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-y-auto{overflow-y:auto}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.text-balance{text-wrap:balance}.opacity-0{opacity:0}.opacity-100{opacity:1}.glass-panel{background:linear-gradient(155deg,#0c131feb,#080d17e6);border:1px solid #578aad47;box-shadow:0 22px 56px #00000073}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-250{--tw-duration:.25s;transition-duration:.25s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}:root{--bg: #05080f;--panel: rgba(13, 20, 32, .84);--panel-strong: rgba(15, 24, 37, .94);--line: #2d4766;--line-soft: #1d3049;--text-main: #ebf6ff;--text-dim: #a6bed6;--text-soft: #7b93ac;--primary: #2ac6f3;--primary-strong: #0f8fb8;--secondary: #2a8ce0;--accent: #ff8b4e;--success: #33d39b;--danger: #ff6b78;--warning: #ffc35f;--glow-primary: 0 0 24px rgba(42, 198, 243, .24);--glow-secondary: 0 0 24px rgba(42, 140, 224, .2);--glow-accent: 0 0 24px rgba(255, 139, 78, .22);--shadow-xl: 0 30px 78px rgba(2, 5, 10, .58);--shadow-md: 0 16px 36px rgba(2, 5, 10, .4)}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;height:100%}html{overflow-y:auto;scrollbar-gutter:stable;background:#040507}*{scrollbar-width:thin;scrollbar-color:var(--line) var(--panel-strong)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--panel-strong)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary);box-shadow:var(--glow-primary)}body{color:var(--text-main);background:radial-gradient(circle at 8% 9%,rgba(42,198,243,.2),transparent 40%),radial-gradient(circle at 84% 7%,rgba(42,140,224,.18),transparent 36%),radial-gradient(circle at 45% 95%,rgba(255,139,78,.16),transparent 32%),repeating-linear-gradient(0deg,rgba(42,198,243,.02),rgba(42,198,243,.02) 1px,transparent 1px,transparent 30px),linear-gradient(180deg,#05080f,#050b16 52%,#05080f);font-family:Space Grotesk,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.62rem .74rem;background:#0d131d;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}input:not([type=radio]):not([type=checkbox]):focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2fc7ff2e;background:#101925}.btn{border:1px solid transparent;border-radius:12px;padding:.58rem 1rem;cursor:pointer;line-height:1;font-weight:600;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #00000052;filter:brightness(1.04)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn.success{color:#082413;background:linear-gradient(135deg,#30dc7a,#1ac160)}.btn.warning{color:#372105;background:linear-gradient(135deg,#ffc562,#ffaf35)}.btn.danger{color:#ffeef0;background:linear-gradient(135deg,#ff5c63,#f4434b)}.btn.ghost{border-color:#2b384d;color:#c3d2e8;background:#0e1622}.btn.mini{padding:.42rem .66rem;border-radius:10px;font-size:.82rem}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(420px,100%);border-radius:20px;border:1px solid #2a3a4f;background:linear-gradient(145deg,#131a24f5,#0c1118f0);box-shadow:var(--shadow-xl);padding:2rem;position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;inset:-80% -40% auto;height:220px;background:radial-gradient(circle,rgba(47,199,255,.24),transparent 65%);pointer-events:none}.auth-card h1{margin:0;font-size:1.9rem;letter-spacing:.02em}.sub-title{margin:.58rem 0 1.55rem;color:var(--text-dim)}.auth-form{display:grid;gap:.95rem}.auth-form label{display:grid;gap:.4rem;color:#c6d3e8;font-size:.9rem}.auth-form button{border:1px solid #3cb8e8;border-radius:12px;padding:.62rem .8rem;color:#031018;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#46d7ff,#18b5e4);transition:transform .18s ease,box-shadow .18s ease}.auth-form button:hover{transform:translateY(-1px);box-shadow:0 12px 20px #18b5e447}.form-error{margin:0;color:#ff8f93}.dashboard-layout{width:min(1280px,100%);margin:0 auto;padding:1.2rem}.sticky-shell{position:sticky;top:.55rem;z-index:14;margin-bottom:1rem}.top-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem;border-radius:16px 16px 0 0;border:1px solid #2a3a4f;border-bottom:0;background:linear-gradient(120deg,rgba(47,199,255,.16),transparent 40%),linear-gradient(150deg,rgba(134,68,255,.16),transparent 52%),linear-gradient(180deg,rgba(255,78,138,.12),transparent 60%),var(--panel-strong);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-kicker{margin:0 0 .35rem;color:#84dfff;font-size:.82rem;font-family:JetBrains Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.hero-title-wrap h1{margin:0;font-size:clamp(1.3rem,2.2vw,1.9rem)}.hero-subtitle{margin:.45rem 0 0;color:var(--text-dim)}.hero-actions{display:flex;gap:.6rem;flex-wrap:wrap}.btn-ui{border:1px solid rgba(71,108,142,.66);border-radius:12px;padding:.58rem 1rem;cursor:pointer;line-height:1;font-weight:600;color:#deefff;background:linear-gradient(140deg,#0f1825f0,#0a111cf2);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease}.btn-ui:hover{transform:translateY(-1px);border-color:#559cd1b8;box-shadow:0 10px 22px #03081075}.btn-ui:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}.btn-ui-sm{padding:.42rem .72rem;border-radius:10px;font-size:.82rem}.btn-ui-primary{color:#041721;border-color:#37bfedbf;background:linear-gradient(135deg,#58ddff,#21bde9 46%,#0f95bc)}.btn-ui-primary:hover{border-color:#82e3ffe0;box-shadow:0 0 0 1px #70d7f659 inset,var(--glow-primary)}.btn-ui-secondary{color:#cfe7ff;border-color:#314a66;background:linear-gradient(140deg,#0d1421f2,#090f18f2)}.btn-ui-warning{color:#3f2504;border-color:#ffb03aa6;background:linear-gradient(135deg,#ffd47a,#ffb146)}.btn-ui-danger{color:#ffeef0;border-color:#ff727ab8;background:linear-gradient(135deg,#ff6d75,#f84f59)}.input-ui{width:100%;border:1px solid #314960;border-radius:12px;padding:.62rem .74rem;color:#eaf5ff;background:linear-gradient(150deg,#0b111cf2,#090e18f5);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input-ui::placeholder{color:#85a0bc}.input-ui:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2fc7ff33;background:linear-gradient(150deg,#0d1622fa,#0a101bfa)}.input-ui[disabled]{opacity:.72;cursor:not-allowed}.input-ui.input-ui-readonly{border-style:dashed;border-color:#4d6a88;color:#bdd2e9;background:linear-gradient(150deg,#0c141feb,#0a101beb);box-shadow:0 0 0 1px #4d6a882e inset}.tab-list-ui{display:flex;gap:.66rem;overflow-x:auto;margin-bottom:0;padding:.58rem;border-radius:0 0 16px 16px;border:1px solid #2a3a4f;background:linear-gradient(130deg,rgba(47,199,255,.12),transparent 38%),linear-gradient(160deg,rgba(255,139,78,.11),transparent 52%),#0a1018e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md),var(--glow-primary)}.tab-list-ui::-webkit-scrollbar{display:none}.tab-panels-ui{margin-top:.9rem}.tab-panel-ui{outline:none}.tab-btn-ui{border:1px solid #2a3a4f;color:#c8d4e8;background:#101a27;padding:.48rem .9rem;border-radius:999px;cursor:pointer;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent;transition:all .2s ease}.tab-btn-ui.is-active{border-color:#3db3e4;color:#ecf9ff;background:linear-gradient(135deg,#2fc7ff47,#2a8ce038);box-shadow:0 0 0 1px #2fc7ff2e inset,var(--glow-primary)}.tab-btn-ui:focus{outline:none}.tab-btn-ui:focus-visible{border-color:#49c8f2;box-shadow:0 0 0 1px #2fc7ff33 inset,0 0 0 2px #2fc7ff52}.listbox-wrap{position:relative}.listbox-btn-ui{width:100%;border:1px solid #314960;border-radius:12px;min-height:38px;padding:.58rem .74rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#eaf5ff;background:linear-gradient(150deg,#0b111cf2,#090e18f5);cursor:pointer}.listbox-btn-ui:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2fc7ff33}.listbox-chevron{color:#8db2d5;font-size:.82rem}.listbox-options-ui{position:absolute;z-index:90;width:100%;margin-top:.36rem;border:1px solid #2d4560;border-radius:12px;padding:.32rem;background:linear-gradient(165deg,#0b131efc,#080e18fc);box-shadow:0 14px 34px #02081085}.listbox-floating-panel{position:fixed;margin-top:0;z-index:260;max-height:280px;overflow:auto}.listbox-option-ui{list-style:none;padding:.48rem .56rem;border-radius:8px;color:#cde5ff;cursor:pointer}.listbox-option-ui.is-active{background:#2177a842}.listbox-option-ui.is-selected{color:#eff9ff;background:#2fc7ff3d}.table-ui{width:100%;border-collapse:collapse;min-width:960px}.table-ui th,.table-ui td{border-bottom:1px solid #1d2a3d;padding:.56rem .64rem;text-align:left;font-size:.84rem}.table-ui th{color:var(--text-dim);background:#0c121bf5;font-weight:600}.table-ui tbody tr:nth-child(2n){background:#0a101880}.table-ui tbody tr:hover{background:#182b4485}.table-ui tbody tr.row-selectable,.table-ui tbody tr.row-selectable td:first-child{cursor:pointer}.table-ui tbody tr.row-selected td{background:#2980b93d}.table-ui tbody tr.row-selected:hover td{background:#309ee447}.dtu-picker-table .table-ui th:first-child,.dtu-picker-table .table-ui td:first-child{width:54px;min-width:54px;text-align:center}.radio-cell{text-align:center}.radio-hitbox{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;cursor:pointer}.radio-ui{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin:0;border-radius:999px;border:2px solid #77a5cc;background:#0a1019f2;position:relative;cursor:pointer;flex:0 0 auto;display:inline-block}.radio-ui:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:999px;background:transparent}.radio-ui:checked{border-color:#33c3ef}.radio-ui:checked:after{background:#33c3ef}.radio-ui.is-checked{border-color:#33c3ef}.radio-ui.is-checked:after{background:#33c3ef}.radio-ui:focus-visible{outline:none;box-shadow:0 0 0 2px #33c3ef61}.toast{border:1px solid var(--line);border-radius:12px;padding:.72rem .85rem;margin-bottom:.85rem;color:#ecf7ff;background:#08101af5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-layer{position:fixed;top:1rem;left:50%;transform:translate(-50%);width:min(500px,calc(100vw - 2rem));z-index:220;pointer-events:none}.toast-floating{margin:0;box-shadow:0 16px 32px #02060c6b,0 0 0 1px #5c88b429 inset}.toast-info{background:linear-gradient(120deg,#2fc7ff3d,#0a2032e0),#08101af5}.toast-success{background:linear-gradient(120deg,#2ecc7140,#0a241ee6),#08101af5}.toast-error{background:linear-gradient(120deg,#ff5c6342,#2d1017e6),#08101af5}.tab-nav{display:flex;gap:.66rem;overflow-x:auto;margin-bottom:0;padding:.58rem;border-radius:0 0 16px 16px;border:1px solid #2a3a4f;background:linear-gradient(130deg,rgba(47,199,255,.12),transparent 38%),linear-gradient(160deg,rgba(134,68,255,.12),transparent 52%),#0a1018e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md),var(--glow-primary)}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{border:1px solid #2a3a4f;background:#101a27;color:#c8d4e8;padding:.48rem .9rem;border-radius:999px;cursor:pointer;white-space:nowrap;transition:all .2s ease}.tab-btn.active{border-color:#3db3e4;color:#eaf8ff;background:linear-gradient(135deg,#2fc7ff3d,#8644ff2e);box-shadow:0 0 0 1px #2fc7ff2e inset,var(--glow-primary)}.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}.card{grid-column:span 6;border-radius:16px;border:1px solid #2b3e56;background:linear-gradient(140deg,rgba(47,199,255,.11),transparent 38%),linear-gradient(165deg,rgba(134,68,255,.11),transparent 56%),linear-gradient(190deg,rgba(255,78,138,.08),transparent 68%),var(--panel);box-shadow:var(--shadow-md),var(--glow-secondary);padding:1rem;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--primary),var(--secondary),var(--accent));opacity:.85}.card:hover{border-color:#385074;box-shadow:var(--shadow-md),var(--glow-primary),var(--glow-accent)}.wide-card{grid-column:1 / -1}.card-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.9rem}.card-header h2{margin:0;font-size:1.08rem}.inline-actions{display:inline-flex;align-items:center;gap:.48rem;flex-wrap:wrap}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .58rem;border:1px solid transparent;font-size:.79rem}.status-chip.running{border-color:#2ecc717a;color:#84f3b4;background:#2ecc7129}.status-chip.stopped{border-color:#ff5c6373;color:#ffb7bc;background:#ff5c6326}.status-chip.muted{border-color:#8597ae59;color:#c0cce0;background:#8597ae1a}.metric-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem}.metric-item{border:1px solid var(--line-soft);border-radius:11px;padding:.62rem;background:#0a1018b8;display:grid;gap:.18rem}.metric-item span{color:var(--text-dim);font-size:.82rem}.metric-item strong{font-size:1rem}.card-actions{margin-top:.84rem;display:flex;gap:.62rem;flex-wrap:wrap}.chart-card{background:linear-gradient(145deg,rgba(255,184,79,.1),transparent 34%),linear-gradient(165deg,rgba(134,68,255,.12),transparent 52%),linear-gradient(190deg,rgba(47,199,255,.1),transparent 64%),var(--panel)}.trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.trend-panel{border:1px solid #1f2a39;border-radius:12px;background:#080d14b8;padding:.65rem}.trend-panel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.45rem}.trend-panel-head span{color:var(--text-dim);font-size:.8rem}.trend-panel-head strong{font-size:.95rem}.trend-svg{width:100%;height:56px;display:block}.trend-line{fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.trend-line.conn{stroke:#4ad8ff}.trend-line.flow{stroke:#ff87b0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}.form-grid.one-col{grid-template-columns:1fr}.form-grid.mount-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid label{display:grid;gap:.36rem;color:#ced9eb;font-size:.88rem}.picker-field{display:flex;gap:.56rem;align-items:center}.picker-value{display:inline-flex;align-items:center;min-height:34px;padding:.24rem .48rem;border:1px dashed #324964;border-radius:8px;color:#d6e6ff;background:#0c121b8c}.create-device-form .picker-value{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-fieldset{margin:0;padding:0;border:0;display:grid;gap:.48rem}.radio-fieldset legend{padding:0;color:#ced9eb;font-size:.88rem}.radio-options{display:inline-flex;gap:.62rem;flex-direction:row;flex-wrap:wrap;align-items:flex-start;width:fit-content;max-width:100%;margin-top:.62rem}.create-device-form .radio-option{display:inline-flex;align-items:center;gap:.46rem;padding:.48rem .62rem;border:1px solid #2d4560;border-radius:10px;background:#0c121d9e;color:#d8e9ff;cursor:pointer}.create-device-form .radio-option:has(input:checked){border-color:#34bcecbf;background:linear-gradient(135deg,#2ac6f333,#2177a81f);box-shadow:0 0 0 1px #34bcec33 inset}.create-device-form .radio-option span{line-height:1.2;white-space:nowrap}.span-2{grid-column:span 2}.form-actions{display:flex;gap:.62rem;flex-wrap:wrap;align-items:center}.device-filter-bar{margin-bottom:.82rem;display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,180px) minmax(180px,1fr) auto auto;gap:.56rem;align-items:center}.modal-footer{margin-top:1.15rem;display:flex;justify-content:flex-end;align-items:center;gap:.62rem}.table-wrap{overflow-x:auto;border:1px solid #212f43;border-radius:12px}.table-wrap.table-wrap-scroll{max-height:360px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) rgba(8,13,20,.78)}.table-wrap.table-wrap-scroll::-webkit-scrollbar{width:8px;height:8px}.table-wrap.table-wrap-scroll::-webkit-scrollbar-track{background:#080d14c7}.table-wrap.table-wrap-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#2e3e58,#1f2c42);border-radius:6px;border:1px solid rgba(47,199,255,.12)}.table-wrap.table-wrap-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#40cfff,#1ea8db);box-shadow:var(--glow-primary)}.table-wrap.table-wrap-scroll thead th{position:sticky;top:0;z-index:2}table{width:100%;border-collapse:collapse;min-width:960px}th,td{border-bottom:1px solid #1d2a3d;padding:.56rem .64rem;text-align:left;font-size:.84rem}th{color:var(--text-dim);background:#0c121bf5;font-weight:600}tbody tr:nth-child(2n){background:#0a101880}.table-empty{text-align:center;color:var(--text-soft);padding:1rem}.switch{display:inline-flex;align-items:center;gap:.32rem;font-size:.81rem}.switch-row{display:inline-flex;align-items:center;gap:.46rem;font-size:.81rem}.switch-ui{position:relative;display:inline-flex;height:24px;width:46px;border-radius:999px;border:1px solid rgba(88,112,148,.45);transition:all .2s ease}.switch-ui-on{background:linear-gradient(135deg,#2ac6f373,#0f8fb89e);box-shadow:var(--glow-primary)}.switch-ui-off{background:#23314873}.switch-ui-dot{pointer-events:none;display:inline-block;height:20px;width:20px;border-radius:999px;background:#f8fdff;box-shadow:0 2px 12px #00000059;transform:translate(1px,1px);transition:transform .2s ease}.row-actions{display:flex;gap:.35rem;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:block;padding:1rem;background:#03060ab8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(820px,100%);max-height:92vh;overflow:auto;border:1px solid #29405a;border-radius:16px;background:linear-gradient(160deg,#0f1620f7,#0a1019f2);padding:1rem;box-shadow:var(--shadow-xl)}.modal-card.dtu-picker-card{width:min(980px,100%)}.modal-card.delete-dialog-card{width:min(540px,100%)}.picker-toolbar{display:flex;gap:.62rem;align-items:center;margin-bottom:.72rem}.picker-toolbar input{flex:1}.dtu-picker-table table{min-width:720px}.picker-pagination{margin-top:.72rem;display:flex;justify-content:space-between;align-items:center;color:#c7d9ef;font-size:.84rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.72rem}.modal-header h3{margin:0;font-size:1.02rem}.modal-close{width:32px;height:32px;border:1px solid #2c3d53;border-radius:8px;cursor:pointer;color:#d7e5fb;background:#111a28}.delete-dialog-body{display:grid;gap:.72rem}.delete-dialog-tip{margin:0;color:#ffd7db;font-size:.92rem}.delete-summary-grid{display:grid;gap:.56rem}.delete-summary-item{display:grid;gap:.22rem;border:1px solid #2e455f;border-radius:10px;background:linear-gradient(160deg,#0f1622e0,#0b121de0);padding:.58rem .7rem}.delete-summary-item span{color:#9fbad8;font-size:.8rem}.delete-summary-item strong{color:#e8f5ff;font-size:.9rem;word-break:break-all}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .22s ease,transform .22s ease}.fade-slide-enter-from,.fade-slide-leave-to{opacity:0;transform:translateY(-6px)}@media(max-width:1100px){.card{grid-column:span 12}}@media(max-width:900px){.top-hero{flex-direction:column}.hero-actions{width:100%}.metric-list,.trend-grid,.form-grid,.form-grid.mount-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.picker-field{flex-direction:column;align-items:flex-start}.create-device-form .picker-field{flex-direction:row;align-items:center}.picker-pagination{flex-direction:column;gap:.5rem;align-items:flex-start}.device-filter-bar{grid-template-columns:1fr}}
