:root{--primary:210 100% 50%;--primary-foreground:0 0% 100%;--background:222 47% 11%;--foreground:210 40% 98%;--card:222 47% 13%;--card-foreground:210 40% 98%;--border:217 32% 17%;--input:217 32% 17%;--ring:212 91% 45%;--radius:.75rem;--glass-bg:#ffffff08;--glass-border:#ffffff0d;--glass-card-bg:#1e293bb3;--glass-card-border:#ffffff1a;--glass-card-shadow:0 8px 32px 0 #0000005e}[data-theme=light]{--background:210 25% 96%;--foreground:222 47% 11%;--card:0 0% 100%;--card-foreground:222 47% 11%;--border:214 32% 86%;--input:214 32% 86%;--ring:212 91% 45%;--glass-bg:#00000008;--glass-border:#00000014;--glass-card-bg:#ffffffeb;--glass-card-border:#00000014;--glass-card-shadow:0 8px 24px 0 #0000000f}*{box-sizing:border-box;margin:0;padding:0}body{background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;transition:background-color .25s,color .25s}h1,h2,h3,h4,h5,h6{color:hsl(var(--foreground))}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);transition:background .25s,border-color .25s}.glass-card{background:var(--glass-card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-card-border);box-shadow:var(--glass-card-shadow);transition:background .25s,border-color .25s,box-shadow .25s}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:10px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary))}.settings-back-btn{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:12px;flex-shrink:0;align-items:center;gap:.55rem;padding:.45rem 1rem .45rem .5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 6px #0000000a}.settings-back-btn:hover .btn-icon-wrap{color:#fff;background:#8b5cf6;border-color:#8b5cf6}.layout-container{background-color:hsl(var(--background));width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background-color:hsl(var(--card));border-right:1px solid hsl(var(--border));z-index:50;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-header{align-items:center;height:70px;padding:1.5rem;display:flex}.logo-container{cursor:pointer;align-items:center;gap:.75rem;display:flex}.sidebar-logo-img{object-fit:contain;filter:drop-shadow(0 2px 6px #00000040);max-width:140px;height:auto;max-height:44px;transition:transform .2s,filter .2s;display:block}.sidebar-logo-img:hover{filter:drop-shadow(0 4px 10px #00000059);transform:scale(1.02)}.logo-icon{color:hsl(var(--primary));filter:drop-shadow(0 0 8px hsl(var(--primary) / .4))}.logo-text{letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.active-device-banner{border-radius:var(--radius);border:1px solid hsl(var(--primary) / .2);background:linear-gradient(135deg, hsl(var(--primary) / .05), transparent);flex-direction:column;gap:.75rem;margin:0 1rem 1.5rem;padding:1rem;display:flex}.device-info{flex-direction:column;display:flex}.device-label{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--primary));font-size:.7rem;font-weight:700}.device-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.change-device-btn{color:hsl(var(--primary));background-color:hsl(var(--primary) / .1);text-align:center;border-radius:4px;padding:.4rem;font-size:.75rem;font-weight:700;transition:all .2s}.change-device-btn:hover{background-color:hsl(var(--primary) / .2)}.sidebar-nav{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex}.nav-link{border-radius:var(--radius);color:hsl(var(--foreground) / .6);align-items:center;padding:.75rem;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-link:hover:not(.disabled){background-color:hsl(var(--foreground) / .05);color:hsl(var(--foreground))}.nav-link.active{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.nav-link.disabled{opacity:.4;cursor:not-allowed}.icon-wrapper{justify-content:center;align-items:center;width:24px;display:flex}.link-text{margin-left:.75rem;font-size:.9375rem;font-weight:600}.lock-badge{background-color:hsl(var(--foreground) / .1);text-transform:uppercase;border-radius:4px;padding:.2rem .4rem;font-size:.65rem;font-weight:700;position:absolute;right:.75rem}.sidebar-footer{border-top:1px solid hsl(var(--border));padding:1rem}.logout-btn{border-radius:var(--radius);color:#ef4444;align-items:center;gap:.75rem;width:100%;padding:.75rem;font-weight:600;transition:all .2s;display:flex}.logout-btn:hover{background-color:#ef444415}.main-content{flex-direction:column;flex:1;height:100%;display:flex;position:relative;overflow:hidden}.topbar{border-bottom:1px solid hsl(var(--border));z-index:40;justify-content:space-between;align-items:center;height:70px;padding:0 1.5rem;display:flex}.topbar-left{align-items:center;gap:1.5rem;display:flex}.menu-toggle{color:hsl(var(--foreground) / .6);transition:color .2s}.menu-toggle:hover{color:hsl(var(--foreground))}.breadcrumb{color:hsl(var(--foreground) / .4);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.breadcrumb-current{color:hsl(var(--foreground));font-weight:600}.topbar-actions{align-items:center;gap:.75rem;display:flex}.user-profile{background-color:hsl(var(--foreground) / .05);cursor:pointer;border-radius:50px;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem 1rem;transition:background-color .2s;display:flex}.user-profile:hover{background-color:hsl(var(--foreground) / .1)}.user-text{text-align:right;flex-direction:column;display:flex}.user-role{color:hsl(var(--foreground) / .4);font-size:.75rem;font-weight:500}.avatar{background-color:hsl(var(--primary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.topbar-theme-btn{background-color:hsl(var(--foreground) / .05);width:38px;height:38px;color:hsl(var(--foreground) / .8);border:1px solid hsl(var(--border) / .5);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.topbar-theme-btn:hover{background-color:hsl(var(--foreground) / .1);color:hsl(var(--primary));transform:translateY(-1px)}.topbar-logout-btn{background-color:hsl(var(--foreground) / .05);color:#ef4444;border:1px solid hsl(var(--border) / .5);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.topbar-logout-btn:hover{background-color:#ef444415;border-color:#ef444440;transform:translateY(-1px)}.content-inner{flex:1;padding-bottom:2rem;overflow:hidden auto}@media (width<=768px){.sidebar.closed{border:none;padding:0;width:0!important}}.login-page{background-color:hsl(var(--background));justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.login-bg-blobs{z-index:0;position:absolute;inset:0;overflow:hidden}.blob{filter:blur(80px);opacity:.15;border-radius:50%;width:400px;height:400px;animation:20s infinite alternate blob-float;position:absolute}.blob-1{background-color:hsl(var(--primary));top:-100px;left:-100px}.blob-2{background-color:#8b5cf6;animation-delay:-5s;bottom:-100px;right:-100px}@keyframes blob-float{0%{transform:translate(0)}to{transform:translate(100px,100px)}}.login-card{z-index:10;border-radius:calc(var(--radius) * 2);width:100%;max-width:420px;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo-img{object-fit:contain;filter:drop-shadow(0 4px 12px #0000004d);max-width:200px;height:auto;max-height:75px;margin:0 auto 1.5rem;transition:transform .2s;display:block}.login-logo-img:hover{transform:scale(1.03)}.login-logo-icon{color:hsl(var(--primary));filter:drop-shadow(0 0 8px hsl(var(--primary) / .4));margin:0 auto 1.25rem}.login-header h1{margin-bottom:.35rem;font-size:1.75rem;font-weight:800}.login-header p{color:hsl(var(--foreground) / .6);font-size:.875rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.method-selector{background-color:hsl(var(--foreground) / .05);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:.75rem;padding:.25rem;display:grid}.method-btn{border-radius:calc(var(--radius) - 2px);color:hsl(var(--foreground) / .6);justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.method-btn:hover{background-color:hsl(var(--foreground) / .05)}.method-btn.active{background-color:hsl(var(--card));color:hsl(var(--primary));box-shadow:0 2px 8px #0000001a}.country-select{width:100%;position:relative}.country-select select{border-radius:var(--radius);background-color:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border));width:100%;color:hsl(var(--foreground));appearance:none;cursor:pointer;padding:.75rem 1rem;font-size:.875rem;transition:all .2s}.country-select select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.select-icon{pointer-events:none;color:hsl(var(--foreground) / .5);position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.input-field{align-items:center;width:100%;display:flex;position:relative}.input-icon{color:hsl(var(--foreground) / .4);z-index:1;pointer-events:none;position:absolute;left:1rem}.input-field input{border-radius:var(--radius);background-color:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border));width:100%;color:hsl(var(--foreground));padding:.875rem 1rem .875rem 3rem;font-size:1rem;transition:all .2s}.input-field input:focus{border-color:hsl(var(--primary));background-color:hsl(var(--foreground) / .08);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.captcha-section{border-radius:var(--radius);background:hsl(var(--foreground) / .03);border:1px solid hsl(var(--border) / .6);flex-direction:column;gap:.6rem;padding:.85rem;display:flex}.captcha-header{justify-content:space-between;align-items:center;display:flex}.captcha-title{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground) / .7);align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.captcha-refresh-btn{color:hsl(var(--primary));cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.captcha-refresh-btn:hover{background:hsl(var(--primary) / .1)}.captcha-card-row{align-items:center;gap:.6rem;width:100%;display:flex}.captcha-canvas-wrap{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--border));background:#0f172af2;flex-shrink:0;justify-content:center;align-items:center;height:46px;display:flex;overflow:hidden;box-shadow:inset 0 2px 6px #0006}.captcha-canvas{-webkit-user-select:none;user-select:none;display:block}.captcha-input-field{flex:1;align-items:center;min-width:0;display:flex;position:relative}.captcha-code-input{letter-spacing:2px;text-transform:none;font-weight:700;padding-left:2.75rem!important;padding-right:2.25rem!important;font-size:.95rem!important}.captcha-valid-icon{color:#10b981;pointer-events:none;position:absolute;right:12px}.otp-input input{text-align:center;letter-spacing:.5rem;padding-left:1rem;font-size:1.5rem;font-weight:700}.login-error{color:#ef4444;text-align:center;border-radius:var(--radius);background-color:#ef44441a;border:1px solid #ef444433;padding:.75rem;font-size:.8125rem}.login-submit{border-radius:var(--radius);background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 4px 12px hsl(var(--primary) / .3);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.75rem;padding:1rem;font-weight:700;transition:all .2s;display:flex}.login-submit:hover:not(:disabled){box-shadow:0 6px 16px hsl(var(--primary) / .4);background-color:hsl(var(--primary) / .9);transform:translateY(-2px)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.5;cursor:not-allowed}.otp-timer{text-align:center}.otp-timer p{color:hsl(var(--foreground) / .5);justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.otp-timer span{color:hsl(var(--primary));font-weight:700}.resend-btn{color:hsl(var(--primary));cursor:pointer;border-radius:var(--radius);background:0 0;background-color:hsl(var(--primary) / .1);border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:700}.back-link{color:hsl(var(--foreground) / .5);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:.5rem;font-size:.8125rem;transition:color .2s}.back-link:hover{color:hsl(var(--foreground))}.login-footer{text-align:center;margin-top:2rem}.login-footer p{color:hsl(var(--foreground) / .6);font-size:.875rem}.login-footer a{color:hsl(var(--primary));font-weight:700}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=480px){.login-page{align-items:center;padding:1.25rem .75rem}.login-card{border-radius:var(--radius);max-width:100%;padding:1.5rem 1.15rem}.login-header{margin-bottom:1.25rem}.login-header h1{font-size:1.45rem}.login-logo-img{max-width:150px;margin-bottom:1rem}.captcha-card-row{flex-direction:column;align-items:stretch;gap:.65rem}.captcha-canvas-wrap{justify-content:center;width:100%;height:48px}.captcha-canvas{max-width:180px}.captcha-input-field{width:100%}.captcha-code-input{height:46px;padding:.8rem 2.25rem .8rem 2.75rem!important;font-size:1rem!important}}.confirm-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background-color:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-modal-card{border-radius:var(--radius,16px);border:1px solid hsl(var(--border) / .6);background:hsl(var(--card) / .95);flex-direction:column;gap:1.25rem;width:100%;max-width:440px;padding:1.75rem;display:flex;position:relative;box-shadow:0 20px 40px -10px #0006}.confirm-modal-close{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.confirm-modal-close:hover{color:hsl(var(--foreground));background-color:hsl(var(--accent) / .4)}.confirm-modal-header{align-items:center;gap:.875rem;display:flex}.confirm-icon-wrapper{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.confirm-icon-wrapper.variant-warning{color:#f59e0b;background-color:#f59e0b26;border:1px solid #f59e0b4d}.confirm-icon-wrapper.variant-danger{color:#ef4444;background-color:#ef444426;border:1px solid #ef44444d}.confirm-icon-wrapper.variant-info{background-color:hsl(var(--primary) / .15);color:hsl(var(--primary));border:1px solid hsl(var(--primary) / .3)}.confirm-modal-title{color:hsl(var(--foreground));margin:0;font-size:1.15rem;font-weight:700;line-height:1.3}.confirm-modal-body{margin:0}.confirm-modal-message{color:hsl(var(--foreground) / .85);margin:0;font-size:.9375rem;line-height:1.5}.confirm-modal-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.confirm-modal-actions.single-action{justify-content:center}.confirm-modal-actions.single-action .confirm-btn-submit{width:100%}.confirm-btn-cancel,.confirm-btn-submit{border-radius:var(--radius,8px);cursor:pointer;border:none;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.confirm-btn-cancel{background-color:hsl(var(--background) / .6);border:1px solid hsl(var(--border));color:hsl(var(--foreground))}.confirm-btn-cancel:hover{background-color:hsl(var(--accent) / .4)}.confirm-btn-submit.variant-warning{color:#fff;background-color:#f59e0b}.confirm-btn-submit.variant-warning:hover{background-color:#d97706;box-shadow:0 4px 12px #f59e0b4d}.confirm-btn-submit.variant-danger{color:#fff;background-color:#ef4444}.confirm-btn-submit.variant-danger:hover{background-color:#dc2626;box-shadow:0 4px 12px #ef44444d}.confirm-btn-submit.variant-info{background-color:hsl(var(--primary));color:#fff}.confirm-btn-submit.variant-info:hover{filter:brightness(1.1);box-shadow:0 4px 12px hsl(var(--primary) / .3)}.server-dashboard-container{flex-direction:column;gap:1.25rem;display:flex}.server-relaxed-loader{border-radius:var(--radius,18px);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:3rem;display:flex}.pulse-loader-text{color:hsl(var(--foreground));letter-spacing:.5px;margin:0;font-size:1rem;font-weight:700}@keyframes pulse-ring{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.12)}}@keyframes pulse-core{0%,to{transform:scale(.94)}50%{transform:scale(1.06)}}.server-header-card{border-radius:var(--radius,16px);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.server-header-title{align-items:center;gap:1rem;display:flex}.server-header-title h2{color:hsl(var(--foreground));margin:0 0 .15rem;font-size:1.35rem;font-weight:800}.server-timestamp{color:hsl(var(--foreground) / .65);margin:0;font-size:.8rem}.refresh-dashboard-btn{background:hsl(var(--primary) / .15);border:1px solid hsl(var(--primary) / .3);color:hsl(var(--primary));cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.refresh-dashboard-btn:hover:not(:disabled){background:hsl(var(--primary) / .25);transform:translateY(-1px)}.server-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.stat-card{color:#fff;cursor:pointer;border-radius:14px;flex-direction:column;gap:.5rem;padding:1.15rem 1.25rem;display:flex;box-shadow:0 8px 20px -4px #00000026}.stat-card.blue-gradient{background:linear-gradient(135deg,#3b82f6 0%,#06b6d4 100%)}.stat-card.red-gradient{background:linear-gradient(135deg,#ef4444 0%,#f97316 100%)}.stat-card.purple-gradient{background:linear-gradient(135deg,#8b5cf6 0%,#ec4899 100%)}.stat-card.pink-gradient{background:linear-gradient(135deg,#f43f5e 0%,#fb7185 100%)}.stat-card.green-gradient{background:linear-gradient(135deg,#10b981 0%,#06b6d4 100%)}.stat-card-top{justify-content:space-between;align-items:center;display:flex}.stat-value{font-size:1.5rem;font-weight:800;line-height:1}.stat-label{opacity:.95;font-size:.825rem;font-weight:700}.specs-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.spec-box{border-radius:14px;flex-direction:column;gap:.6rem;padding:1.15rem 1.25rem;display:flex}.spec-header{text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--foreground) / .7);align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;display:flex}.spec-value-large{color:hsl(var(--foreground));font-size:1.25rem;font-weight:800}.spec-subtext{color:hsl(var(--foreground) / .6);font-size:.8rem}.progress-bar-wrap{background:hsl(var(--muted) / .6);border-radius:4px;width:100%;height:8px;margin-top:.2rem;overflow:hidden}.progress-bar-fill{border-radius:4px;height:100%;transition:width .4s}.progress-bar-fill.primary{background:#3b82f6}.progress-bar-fill.purple{background:#8b5cf6}.progress-bar-fill.danger{background:#ef4444}.spec-value-bottom{color:hsl(var(--foreground));font-size:.9rem;font-weight:700}.badges-card{border-radius:14px;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.badge-item{align-items:center;gap:.5rem;display:flex}.badge-title{color:hsl(var(--foreground) / .7);font-size:.85rem;font-weight:600}.ip-badge{border-radius:12px;align-items:center;gap:.35rem;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-emerald{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.badge-amber{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-rose{color:#f43f5e;background:#f43f5e26;border:1px solid #f43f5e4d}.analytics-section{flex-direction:column;gap:1rem;display:flex}.analytics-header{justify-content:space-between;align-items:center;display:flex}.analytics-header h3{align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:800;display:flex}.range-switcher{background:hsl(var(--muted) / .5);border-radius:10px;padding:3px;display:flex}.range-btn{color:hsl(var(--foreground) / .7);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.range-btn.active{background:hsl(var(--primary));color:#fff}.charts-grid{gap:1.25rem;display:grid}.charts-grid.range-7{grid-template-columns:repeat(2,1fr)}.charts-grid.range-30{grid-template-columns:1fr}@media (width<=992px){.charts-grid.range-7{grid-template-columns:1fr}}.modern-chart-card{background:var(--card-bg,#ffffff0a);border:1px solid hsl(var(--border) / .5);border-radius:16px;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex;position:relative}.chart-card-header-wrapper{border-bottom:1px solid hsl(var(--border) / .35);flex-direction:column;gap:.65rem;padding-bottom:.75rem;display:flex}.chart-card-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.chart-title-group{align-items:center;gap:.6rem;display:flex}.chart-title-group h4{color:hsl(var(--foreground));letter-spacing:-.2px;margin:0;font-size:1.05rem;font-weight:800}.chart-stats-summary{align-items:center;gap:.5rem;display:flex}.chart-meta-row{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.meta-pill{background:hsl(var(--background) / .5);border:1px solid hsl(var(--border) / .4);border-radius:8px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.775rem;font-weight:600;display:inline-flex}.meta-pill .meta-label{color:hsl(var(--foreground) / .55)}.meta-pill .meta-val{color:hsl(var(--foreground));font-weight:700}.stat-pill{background:hsl(var(--background) / .5);border:1px solid hsl(var(--border) / .4);border-radius:6px;align-items:center;gap:.25rem;padding:2px 6px;font-size:.75rem;font-weight:600;display:flex}.stat-pill .stat-name{color:hsl(var(--foreground) / .6)}.stat-pill .stat-val{font-weight:700}.svg-wrapper{width:100%;position:relative}.modern-svg-chart{width:100%;height:200px;overflow:visible}.x-axis-date-bar{width:100%;height:24px;margin-top:4px;position:relative}.x-date-item{color:hsl(var(--foreground) / .85);white-space:nowrap;font-size:.725rem;font-weight:700;position:absolute;transform:translate(-50%)}.chart-interactive-point{cursor:pointer}.point-dot{transition:r .2s,stroke-width .2s}.chart-interactive-point:hover .point-dot{r:6.5;stroke-width:3px}.chart-floating-tooltip{pointer-events:none;color:#fff;white-space:nowrap;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#0f172ae6;border:1px solid #ffffff26;border-radius:8px;padding:6px 10px;font-size:.75rem;position:absolute;transform:translate(-50%,-125%);box-shadow:0 10px 25px -5px #0006}.tooltip-date{color:#fff9;margin-bottom:2px;font-size:.68rem}.tooltip-value{font-size:.85rem;font-weight:800}.no-chart-data{text-align:center;color:hsl(var(--foreground) / .5);padding:2.5rem;font-size:.85rem}.server-modal-card.max-w-600{max-width:620px}.server-modal-card.max-w-420{max-width:440px}.server-modal-card .modal-header{border-bottom:1px solid hsl(var(--border) / .4);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.server-modal-card .modal-header h3{color:hsl(var(--foreground));margin:0;font-size:1.15rem;font-weight:800}.server-modal-card .close-btn{color:hsl(var(--foreground) / .6);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .2s}.server-modal-card .close-btn:hover{color:hsl(var(--foreground));background:hsl(var(--muted) / .5)}.modal-table-header-row{background:hsl(var(--muted) / .5);color:hsl(var(--foreground) / .7);letter-spacing:.3px;border-radius:8px;align-items:center;padding:.55rem .85rem;font-size:.8rem;font-weight:700;display:flex}.modal-table-data-row{border-bottom:1px solid hsl(var(--border) / .4);align-items:center;padding:.75rem .85rem;transition:background .2s;display:flex}.modal-table-data-row:hover{background:hsl(var(--primary) / .05)}.item-info{flex-direction:column;gap:.15rem;display:flex}.full-imei-text{font-family:var(--font-mono,monospace);color:hsl(var(--foreground));letter-spacing:.3px;font-size:.85rem;font-weight:700}.device-name-gray{color:hsl(var(--foreground) / .6);font-size:.775rem;font-weight:500}.date-tabs-row{gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.date-tab{background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground) / .75);cursor:pointer;white-space:nowrap;border-radius:20px;padding:.4rem .85rem;font-size:.775rem;font-weight:600;transition:all .2s}.date-tab.active{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.status-icon-pill-btn{cursor:pointer;border:none;border-radius:14px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.725rem;font-weight:800;transition:transform .15s;display:inline-flex}.status-icon-pill-btn:hover{transform:scale(1.05)}.status-detail-card{background:hsl(var(--background) / .6);border-radius:12px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.status-detail-card h4{color:hsl(var(--foreground));margin:0 0 .15rem;font-size:.95rem;font-weight:800}.status-detail-card .detail-imei{color:hsl(var(--foreground) / .6);font-size:.775rem}.status-badge-pill{border-radius:16px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:800;display:inline-flex}.status-description-box{background:hsl(var(--background) / .5);border-left:4px solid #3b82f6;border-radius:8px;flex-direction:column;gap:.35rem;padding:.9rem 1rem;display:flex}.status-description-box .desc-tag{text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--foreground) / .5);font-size:.68rem;font-weight:800}.status-description-box p{color:hsl(var(--foreground));margin:0;font-size:.85rem;line-height:1.45}.status-meta-grid{justify-content:space-between;align-items:center;padding:.25rem .5rem;display:flex}.status-meta-grid .meta-lbl{color:hsl(var(--foreground) / .5);margin-bottom:2px;font-size:.65rem;font-weight:700;display:block}.status-meta-grid .meta-val{color:hsl(var(--foreground));font-size:.775rem;font-weight:700}.status-modal-close-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;width:100%;padding:.75rem;font-size:.9rem;font-weight:700;transition:all .2s}.status-modal-close-btn:hover{background:#2563eb;transform:translateY(-1px)}.admin-filter-pill-bar{background:hsl(var(--muted) / .5);border-radius:12px;align-items:center;gap:.4rem;padding:2px 8px;display:inline-flex}.admin-filter-pill{color:hsl(var(--foreground) / .6);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.75rem;font-weight:700}.admin-filter-pill.active{color:#2196f3}.user-contacts-sub{flex-direction:column;gap:.15rem;margin-top:.2rem;display:flex}.contact-tag{color:hsl(var(--foreground) / .65);align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.contact-tag.italic{font-style:italic}.role-tag-bar{margin-top:.35rem}.role-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:4px;padding:2px 7px;font-size:.68rem;font-weight:800}.role-badge.role-4{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.role-badge.role-3{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.role-badge.role-2{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.role-badge.role-1{background:hsl(var(--muted) / .5);color:hsl(var(--foreground) / .6)}.edit-user-btn{color:#2196f3;cursor:pointer;background:#2196f31f;border:1px solid #2196f34d;border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.775rem;font-weight:700;transition:all .2s;display:inline-flex}.edit-user-btn:hover{background:#2196f338;transform:translateY(-1px)}.edit-user-info-card{background:hsl(var(--background) / .5);border-radius:10px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.edit-user-info-card strong{color:hsl(var(--foreground));font-size:.95rem}.edit-user-info-card span{color:hsl(var(--foreground) / .6);font-size:.775rem}.role-select-group{flex-direction:column;gap:.6rem;display:flex}.role-option{background:hsl(var(--background) / .4);border:1px solid hsl(var(--border) / .5);cursor:pointer;color:hsl(var(--foreground));border-radius:10px;align-items:center;gap:.6rem;padding:.75rem .85rem;font-size:.85rem;font-weight:600;transition:background .2s;display:flex}.role-option:hover{background:hsl(var(--primary) / .08)}.cancel-modal-btn{background:hsl(var(--muted) / .6);color:hsl(var(--foreground));cursor:pointer;border:none;border-radius:10px;flex:1;padding:.65rem;font-size:.85rem;font-weight:700}.save-modal-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;flex:1;padding:.65rem;font-size:.85rem;font-weight:700;transition:all .2s}.save-modal-btn:hover:not(:disabled){background:#2563eb}.modal-search{background:hsl(var(--background) / .6);border:1px solid hsl(var(--border));border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .85rem;display:flex}.modal-search input{width:100%;color:hsl(var(--foreground));background:0 0;border:none;outline:none;font-size:.85rem}.modal-list-body{flex-direction:column;gap:.25rem;max-height:380px;display:flex;overflow-y:auto}.modal-loading{text-align:center;color:hsl(var(--foreground) / .6);padding:2rem;font-size:.85rem}.dashboard-page{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-tabs-bar{border-radius:var(--radius,14px);align-items:center;gap:.5rem;width:fit-content;margin-bottom:1.5rem;padding:.35rem;display:flex}.tab-card-btn{color:hsl(var(--foreground) / .7);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.tab-card-btn:hover{color:hsl(var(--foreground))}.tab-card-btn.active{background:hsl(var(--primary));color:#fff;box-shadow:0 4px 12px #00000026}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.header-text h1{background:linear-gradient(135deg, hsl(var(--primary)), #8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.25rem;font-size:2.25rem;font-weight:800}.header-text p{color:hsl(var(--foreground) / .6)}.add-device-btn{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius);box-shadow:0 4px 12px hsl(var(--primary) / .3);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:700;transition:all .2s;display:flex}.add-device-btn:hover{box-shadow:0 6px 16px hsl(var(--primary) / .4);transform:translateY(-2px)}.dashboard-controls{gap:1.5rem;margin-bottom:2.5rem;display:flex}.search-bar{border-radius:var(--radius);flex:1;align-items:center;gap:1rem;height:3.5rem;padding:0 1.25rem;display:flex}.search-bar input{color:hsl(var(--foreground));background:0 0;border:none;outline:none;flex:1;font-size:1rem}.search-bar svg{color:hsl(var(--foreground) / .4)}.status-overview{gap:1rem;display:flex}.status-pill{border-radius:var(--radius);white-space:nowrap;align-items:center;gap:.75rem;padding:0 1.25rem;font-size:.875rem;font-weight:600;display:flex}.device-card{border-radius:calc(var(--radius) * 1.5);cursor:pointer;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.device-card:before{content:"";background-color:hsl(var(--foreground) / .1);width:4px;height:100%;transition:background-color .3s;position:absolute;top:0;left:0}.device-card.online:before{background-color:hsl(var(--primary))}.device-card-header{justify-content:space-between;align-items:center;display:flex}.device-icon{background-color:hsl(var(--foreground) / .05);width:44px;height:44px;color:hsl(var(--foreground) / .6);border-radius:12px;justify-content:center;align-items:center;display:flex}.header-badges{align-items:center;gap:.5rem;display:flex}.device-status-badge{text-transform:uppercase;letter-spacing:.05em;background-color:hsl(var(--foreground) / .05);border-radius:20px;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.75rem;font-weight:700;display:flex}.status-dot{background-color:#94a3b8;border-radius:50%;width:8px;height:8px}.status-dot.pulse{background-color:hsl(var(--primary));animation:2s infinite pulse-green;box-shadow:0 0 #10b98166}@keyframes pulse-green{0%{box-shadow:0 0 0 0px hsl(var(--primary) / .4)}70%{box-shadow:0 0 0 10px hsl(var(--primary) / 0)}to{box-shadow:0 0 0 0px hsl(var(--primary) / 0)}}.status-dot.offline{background-color:#ef4444}.device-card-content h3{margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.imei-text{color:hsl(var(--foreground) / .5);align-items:center;gap:.4rem;font-family:monospace;font-size:.8125rem;display:flex}.device-vitals{background:hsl(var(--foreground) / .03);border:1px solid hsl(var(--border) / .4);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.25rem;padding:.75rem .85rem;display:flex}.vital-item{flex-direction:column;flex:1;align-items:center;gap:.35rem;display:flex}.vital-icon-wrap{justify-content:center;align-items:center;height:30px;display:flex}.vital-item span{color:hsl(var(--foreground) / .6);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-align:center;font-size:.72rem;font-weight:700;line-height:1}.notification-icon-tag{color:#3b82f6;cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.notification-icon-tag:hover{color:#60a5fa;background:#3b82f64d;transform:scale(1.1)}.signal-bars{align-items:flex-end;gap:2px;height:22px;display:flex}.signal-bar{background-color:hsl(var(--foreground) / .1);border-radius:1px;width:3px}.signal-bar.active{background-color:#22c55e}.device-card-footer{border-top:1px solid hsl(var(--border) / .5);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.last-seen{color:hsl(var(--foreground) / .4);font-size:.8125rem}.dashboard-loading{color:hsl(var(--foreground) / .4);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:4rem;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem;display:flex}.animate-spin{animation:1s linear infinite spin}@media (width<=768px){.dashboard-controls{flex-direction:column}.status-overview{width:100%}.status-pill{flex:1;justify-content:center}}.device-detail-page{flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;padding:1.5rem;display:flex}.device-detail-header{border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 2rem;display:flex}.header-left{flex-wrap:wrap;align-items:center;gap:2rem;display:flex}.back-btn{color:hsl(var(--foreground));cursor:pointer;background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);border-radius:50px;align-items:center;gap:.65rem;padding:.45rem 1.15rem .45rem .55rem;font-size:.9rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 14px #00000014}.back-icon-circle{color:#3b82f6;background:linear-gradient(135deg,#3b82f633,#3b82f60f);border:1px solid #3b82f659;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s;display:flex;box-shadow:0 2px 8px #3b82f633}.back-btn:hover{color:#3b82f6;background:#3b82f61f;border-color:#3b82f666;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f633}.back-btn:hover .back-icon-circle{color:#fff;background:#3b82f6;border-color:#3b82f6;transform:translate(-2px);box-shadow:0 4px 12px #3b82f666}.device-title-info{flex-direction:column;gap:.45rem;display:flex}.title-row{align-items:center;gap:1rem;display:flex}.title-row h1{color:hsl(var(--foreground));letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:800}.connection-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:50px;align-items:center;gap:.4rem;padding:.3rem .85rem;font-size:.75rem;font-weight:800;display:inline-flex}.conn-dot{border-radius:50%;width:7px;height:7px}.connection-badge.online{color:#22c55e;background:#22c55e26;border:1px solid #22c55e59}.connection-badge.online .conn-dot{background-color:#22c55e;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 8px #22c55e}.connection-badge.offline{color:#ef4444;background:#ef444426;border:1px solid #ef444459}.connection-badge.offline .conn-dot{background-color:#ef4444}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.subtitle-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.meta-chip{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .4);color:hsl(var(--foreground) / .75);border-radius:8px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.8rem;display:inline-flex}.meta-chip strong{color:hsl(var(--foreground));font-weight:700}.edit-sim-btn{color:hsl(var(--foreground));cursor:pointer;border:1px solid hsl(var(--border) / .5);border-radius:14px;align-items:center;gap:.5rem;padding:.65rem 1.3rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.edit-sim-btn:hover{color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.expiry-alert-banner{background:#f59e0b1a;border-left:4px solid #f59e0b;border-radius:16px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.banner-text h4{color:#f59e0b;margin:0 0 .2rem;font-size:.95rem;font-weight:800}.banner-text p{color:hsl(var(--foreground) / .8);margin:0;font-size:.85rem}.device-detail-grid{grid-template-columns:1fr 340px;gap:1.5rem;display:grid}.detail-main-column{flex-direction:column;gap:1.5rem;display:flex}.tracker-summary-card{border-radius:20px;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.header-title{align-items:center;gap:.6rem;display:flex}.header-title h3{color:hsl(var(--foreground));margin:0;font-size:1.1rem;font-weight:800}.icon-link-btn{color:#3b82f6;cursor:pointer;background:0 0;border:none;align-items:center;display:flex}.tracker-items-list{flex-direction:column;gap:.6rem;display:flex}.tracker-item{background:hsl(var(--foreground) / .04);border-left:3px solid #3b82f6;border-top:1px solid hsl(var(--border) / .3);border-right:1px solid hsl(var(--border) / .3);border-bottom:1px solid hsl(var(--border) / .3);border-radius:12px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.tracker-item.overdue{background:#ef44440f;border-left-color:#ef4444}.tracker-item-info{flex-direction:column;display:flex}.log-title{color:hsl(var(--foreground));font-size:.88rem;font-weight:700}.log-note{color:hsl(var(--foreground) / .5);font-size:.75rem}.days-chip{border-radius:50px;padding:.2rem .6rem;font-size:.75rem;font-weight:800}.chip-orange{color:#f59e0b;background:#f59e0b26}.chip-red{color:#ef4444;background:#ef444426}.motors-control-container{flex-direction:column;gap:1rem;display:flex}.section-heading{color:hsl(var(--foreground));align-items:center;gap:.6rem;margin:0;font-size:1.15rem;font-weight:800;display:flex}.motor-panel-card{border:1px solid hsl(var(--border) / .5);border-radius:20px;flex-direction:column;gap:1.25rem;padding:1.5rem;transition:all .3s;display:flex}.motor-panel-card.motor-on{border-color:#3b82f6;box-shadow:0 8px 30px #3b82f626}.motor-header-banner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.motor-action-buttons-wrap{align-items:center;gap:.75rem;display:flex}.power-btn{color:#fff;cursor:pointer;border:none;border-radius:14px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.85rem;font-weight:800;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 14px #00000040}.power-btn:hover:not(:disabled){transform:translateY(-2px)}.power-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;filter:grayscale(.4);transform:none}.power-btn.power-on{background:linear-gradient(135deg,#22c55e,#16a34a)}.power-btn.power-off{background:linear-gradient(135deg,#ef4444,#dc2626)}.motor-status-display{cursor:pointer;flex:1;align-items:center;gap:1rem;display:flex}.motor-icon-box{background:#3b82f614;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.motor-status-img{object-fit:contain;width:50px;height:50px}.motor-title-wrap h4{color:hsl(var(--foreground));align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:800;display:flex}.status-tag{border-radius:6px;padding:.15rem .5rem;font-size:.78rem;font-weight:800}.tag-on{color:#22c55e;background:#22c55e26}.tag-off{color:#ef4444;background:#ef444426}.expand-hint{color:hsl(var(--foreground) / .5);font-size:.75rem}.power-failed-alert{color:#ef4444;background:#ef444426;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.85rem;font-weight:700;display:flex}.ryb-summary-bar{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .5);cursor:pointer;border-radius:12px;justify-content:space-around;align-items:center;padding:.65rem 1rem;display:flex}.phase-pill{color:hsl(var(--foreground));align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;display:flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.red{background-color:#ef4444}.dot.yellow{background-color:#eab308}.dot.blue{background-color:#3b82f6}.motor-expanded-content{border-top:1px dashed hsl(var(--border) / .6);flex-direction:column;gap:1.25rem;padding-top:.5rem;display:flex}.phase-table-container{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .5);border-radius:14px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.table-title{color:hsl(var(--foreground) / .6);justify-content:space-between;margin-bottom:.2rem;font-size:.8rem;font-weight:800;display:flex}.phase-mode-tag{color:#f59e0b}.phase-grid-table{flex-direction:column;gap:.5rem;display:flex}.phase-row{border-bottom:1px solid hsl(var(--border) / .3);color:hsl(var(--foreground));grid-template-columns:1.5fr 1fr 1fr;align-items:center;padding:.4rem .5rem;font-size:.85rem;display:grid}.phase-row:last-child{border-bottom:none}.phase-name{align-items:center;gap:.4rem;font-weight:700;display:flex}.phase-val{text-align:center;font-family:monospace;font-weight:800}.config-controls-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.config-card{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .5);border-radius:14px;flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.cfg-label{color:hsl(var(--foreground) / .5);text-transform:uppercase;font-size:.75rem;font-weight:800}.cfg-action{justify-content:space-between;align-items:center;display:flex}.mode-badge.phase{color:#3b82f6;background:#3b82f626}.toggle-mode-btn{cursor:pointer;color:hsl(var(--foreground));border:1px solid hsl(var(--border) / .5);border-radius:10px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .2s}.toggle-mode-btn:hover{color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.schedule-section{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .5);border-radius:14px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.schedule-header{justify-content:space-between;align-items:center;display:flex}.sch-title{align-items:center;gap:.6rem;display:flex}.sch-title h5{color:hsl(var(--foreground));margin:0;font-size:.95rem;font-weight:800}.subtext{color:hsl(var(--foreground) / .5);font-size:.75rem}.manage-sch-btn{color:hsl(var(--foreground));cursor:pointer;border:1px solid hsl(var(--border) / .5);border-radius:10px;padding:.4rem .8rem;font-size:.78rem;font-weight:700}.active-clocks-list{flex-direction:column;gap:.4rem;display:flex}.clock-item{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground));border-radius:8px;justify-content:space-between;align-items:center;padding:.4rem .8rem;font-size:.82rem;display:flex}.delete-clock-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:.2rem}.no-clocks-text{color:hsl(var(--foreground) / .5);margin:0;font-size:.8rem}.detail-sidebar-column{flex-direction:column;gap:1.5rem;display:flex}.vitals-card,.device-hardware-card,.weather-card{border-radius:20px;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.vitals-card h3,.device-hardware-card h3,.weather-header h3{color:hsl(var(--foreground));align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:800;display:flex}.vitals-list,.hw-info-list{flex-direction:column;gap:.75rem;display:flex}.vital-row,.hw-row{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.vital-meta{color:hsl(var(--foreground) / .7);align-items:center;gap:.5rem;display:flex}.vital-num{color:hsl(var(--foreground));font-weight:800}.hw-row span{color:hsl(var(--foreground) / .6)}.hw-row strong{color:hsl(var(--foreground))}.expiry-tag{color:#22c55e;font-weight:800}.expiry-tag.warn{color:#f59e0b}.weather-card{text-align:center}.weather-header{justify-content:center;align-items:center;gap:.5rem;display:flex}.weather-body{flex-direction:column;gap:.2rem;display:flex}.weather-temp{color:hsl(var(--foreground));font-size:2.2rem;font-weight:800}.weather-loc{color:#3b82f6;font-size:.85rem;font-weight:700}.weather-cond{color:hsl(var(--foreground) / .6);font-size:.78rem}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--glass-card-bg,hsl(var(--card)));border:1px solid var(--glass-card-border,hsl(var(--border)));width:100%;max-width:480px;color:hsl(var(--foreground));box-shadow:var(--glass-card-shadow,0 20px 40px #00000040);border-radius:20px;flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.modal-header h3{color:hsl(var(--foreground));margin:0;font-size:1.1rem;font-weight:800}.close-modal{color:hsl(var(--foreground) / .6);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex}.close-modal:hover{color:hsl(var(--foreground))}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:hsl(var(--foreground) / .8);font-size:.82rem;font-weight:700}.form-group input,.form-group select{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border));color:hsl(var(--foreground));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:12px;outline:none;padding:.7rem 1rem;font-size:.875rem;transition:border-color .2s,background .2s}@media (prefers-color-scheme:dark){.form-group input,.form-group select{--lightningcss-light: ;--lightningcss-dark:initial}}.form-group input:focus,.form-group select:focus{background:hsl(var(--foreground) / .08);border-color:#3b82f6}.form-group select option{background:hsl(var(--card));color:hsl(var(--foreground))}.btn-cancel{border:1px solid hsl(var(--border));background:hsl(var(--foreground) / .05);color:hsl(var(--foreground));cursor:pointer;border-radius:12px;padding:.65rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .2s}.btn-cancel:hover{background:hsl(var(--foreground) / .1)}.btn-save{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:12px;padding:.65rem 1.4rem;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #3b82f659}.clocks-editor{flex-direction:column;gap:.75rem;display:flex}.clock-edit-row{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .5);border-radius:12px;justify-content:space-between;align-items:center;padding:.7rem .9rem;display:flex}.clock-toggle{color:hsl(var(--foreground));cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;display:flex}.time-inputs{align-items:center;gap:.6rem;display:flex}.time-field{color:hsl(var(--foreground) / .7);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.time-field input{background:hsl(var(--foreground) / .06);border:1px solid hsl(var(--border));color:hsl(var(--foreground));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;border-radius:8px;padding:.35rem .6rem;font-family:monospace;font-size:.82rem}@media (prefers-color-scheme:dark){.time-field input{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){.device-detail-grid{grid-template-columns:1fr}}.section-coming-soon{text-align:center;border-radius:var(--radius,20px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e293b66;border:1px dashed #94a3b833;flex-direction:column;justify-content:center;align-items:center;margin-top:1rem;padding:3.5rem 2rem;display:flex}.coming-soon-icon-box{color:#3b82f6;background:#3b82f61a;border-radius:24px;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1.25rem;display:flex;box-shadow:0 10px 25px -5px #3b82f633}.coming-soon-title{color:hsl(var(--foreground));margin-bottom:.5rem;font-size:1.35rem;font-weight:800}.coming-soon-text{color:hsl(var(--foreground) / .6);max-width:520px;margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.coming-soon-text span{color:#3b82f6;font-weight:700}.support-badge-btn{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1.35rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #2563eb4d}.support-badge-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.horizontal-menu-wrapper{margin:1.5rem 0 1rem;position:relative}.horizontal-menu-scroller{scrollbar-width:thin;scrollbar-color:hsl(var(--foreground) / .2) transparent;align-items:center;gap:.6rem;padding:.5rem .25rem .75rem;display:flex;overflow-x:auto}.horizontal-menu-scroller::-webkit-scrollbar{height:4px}.horizontal-menu-scroller::-webkit-scrollbar-thumb{background:hsl(var(--foreground) / .2);border-radius:4px}.menu-tab-btn{border:1px solid hsl(var(--border) / .5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:hsl(var(--foreground) / .7);cursor:pointer;white-space:nowrap;background:#1e293b4d;border-radius:14px;align-items:center;gap:.5rem;padding:.65rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;position:relative}.menu-tab-btn:hover{color:hsl(var(--foreground));border-color:var(--tab-color,#3b82f6);background:#1e293b99;transform:translateY(-1px)}.menu-tab-btn.active{background:var(--tab-color,#3b82f6);color:#fff;border-color:var(--tab-color,#3b82f6);font-weight:700;box-shadow:0 4px 14px #00000040}.tab-icon{flex-shrink:0}.default-pin-dot{background-color:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.menu-customize-btn{border:1px solid hsl(var(--border) / .5);width:38px;height:38px;color:hsl(var(--foreground) / .7);cursor:pointer;background:#1e293b4d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.menu-customize-btn:hover{color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.menu-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999;background:#000000b3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.menu-modal-content{background:#0f172a;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:520px;padding:1.75rem;box-shadow:0 25px 50px -12px #000000b3}.menu-modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.menu-modal-header h3{color:#f8fafc;font-size:1.2rem;font-weight:800}.menu-modal-header p{color:#94a3b8;margin-top:.2rem;font-size:.8rem}.close-modal-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.close-modal-btn:hover{color:#ef4444;background:#ef444433}.menu-modal-list{flex-direction:column;gap:.6rem;max-height:380px;padding-right:.4rem;display:flex;overflow-y:auto}.menu-order-row{background:#1e293b99;border:1px solid #ffffff0d;border-radius:14px;align-items:center;gap:.75rem;padding:.6rem .85rem;transition:all .2s;display:flex}.menu-order-row.default-row{background:#3b82f61a;border-color:#3b82f6}.menu-order-row.hidden{opacity:.4}.order-arrows{flex-direction:column;display:flex}.arrow-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex}.arrow-btn:hover:not(:disabled){color:#3b82f6}.arrow-btn:disabled{opacity:.2;cursor:not-allowed}.row-icon-box{border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.row-info{flex:1;align-items:center;gap:.5rem;display:flex}.row-label{color:#f8fafc;font-size:.9rem;font-weight:600}.row-default-badge{color:#fff;letter-spacing:.5px;background:#3b82f6;border-radius:6px;padding:.15rem .45rem;font-size:.65rem;font-weight:800}.row-actions{align-items:center;gap:.35rem;display:flex}.action-icon-btn,.action-pin-btn{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:none;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.action-icon-btn:hover,.action-pin-btn:hover{color:#fff;background:#ffffff1a}.action-pin-btn.pinned{color:#fff;background:#3b82f6}.section-container{margin-top:1rem}.section-header-banner{border-radius:var(--radius,18px);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:1rem 1.35rem;display:flex}.banner-left{align-items:center;gap:1rem;display:flex}.banner-icon{border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.droplets-bg{color:#3b82f6;background:#3b82f61f}.filter-bg{color:#8b5cf6;background:#8b5cf61f}.tank-bg{color:#06b6d4;background:#06b6d41f}.banner-left h4{color:hsl(var(--foreground));font-size:1.05rem;font-weight:800}.banner-left p{color:hsl(var(--foreground) / .55);font-size:.78rem}.banner-stats{gap:.5rem;display:flex}.stat-pill{border-radius:20px;padding:.35rem .75rem;font-size:.75rem;font-weight:700}.stat-pill.green{color:#22c55e;background:#22c55e1f}.stat-pill.gray{color:#94a3b8;background:#94a3b81f}.stat-pill.cyan{color:#06b6d4;background:#06b6d41f}.stat-pill.purple{color:#8b5cf6;background:#8b5cf61f}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;display:grid}.filter-card{border-radius:var(--radius,16px);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.filter-card-header{justify-content:space-between;align-items:center;display:flex}.filter-card-header h5{font-size:.95rem;font-weight:700}.dp-gauge-container{align-items:center;gap:1.25rem;display:flex}.dp-value-box{background:#eab3081a;border:1px solid #eab30833;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-width:90px;padding:.75rem 1.25rem;display:flex}.dp-number{color:#eab308;font-size:1.75rem;font-weight:900}.dp-unit{color:hsl(var(--foreground) / .6);font-size:.7rem;font-weight:800}.dp-bars{flex-direction:column;flex:1;gap:.4rem;display:flex}.dp-sub-bar{color:hsl(var(--foreground) / .7);background:hsl(var(--foreground) / .04);border-radius:8px;padding:.4rem .75rem;font-size:.8rem;font-weight:600}.filter-params-list{flex-direction:column;gap:.5rem;display:flex}.param-row{border-bottom:1px solid hsl(var(--border) / .3);justify-content:space-between;padding:.4rem 0;font-size:.85rem;display:flex}.param-label{color:hsl(var(--foreground) / .6)}.param-val{color:hsl(var(--foreground));font-weight:700}.control-desc{color:hsl(var(--foreground) / .6);font-size:.8rem;line-height:1.4}.trigger-flush-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-size:.875rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #7c3aed4d}.trigger-flush-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed66}.trigger-flush-btn:disabled{opacity:.6;cursor:not-allowed}.tanks-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem;display:grid}.tank-card{border-radius:var(--radius,18px);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.tank-card-header{justify-content:space-between;align-items:center;display:flex}.tank-id{color:#06b6d4;background:#06b6d41a;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:800}.tank-card-header h4{margin-top:.2rem;font-size:1.05rem;font-weight:700}.mode-badge{border-radius:12px;padding:.25rem .6rem;font-size:.7rem;font-weight:700}.mode-badge.auto{color:#22c55e;background:#22c55e1a}.mode-badge.manual{color:#f59e0b;background:#f59e0b1a}.tank-visual-row{align-items:center;gap:1.25rem;display:flex}.tank-cylinder{background:#06b6d40d;border:2px solid #06b6d466;border-radius:14px;flex-direction:column;justify-content:flex-end;width:60px;height:100px;display:flex;position:relative;overflow:hidden}.water-level-fill{background:linear-gradient(#22d3ee,#0891b2);justify-content:center;align-items:center;width:100%;transition:height .5s;display:flex}.water-pct{color:#fff;text-shadow:0 1px 2px #00000080;font-size:.75rem;font-weight:900}.tank-stats-col{flex-direction:column;flex:1;gap:.4rem;display:flex}.stat-line{justify-content:space-between;font-size:.8rem;display:flex}.stat-lbl{color:hsl(var(--foreground) / .6)}.stat-val{font-weight:700}.text-cyan{color:#06b6d4}.text-purple{color:#a855f7}.tank-valves-row{border-top:1px solid hsl(var(--border) / .3);gap:.75rem;padding-top:.75rem;display:flex}.valve-status-chip{background:hsl(var(--foreground) / .04);color:hsl(var(--foreground) / .7);border-radius:8px;flex:1;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.75rem;display:flex}.valve-status-chip.active{color:#22c55e;background:#22c55e1a}.sensors-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.sensor-card{border-radius:var(--radius,16px);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.sensor-card-header{justify-content:space-between;align-items:center;display:flex}.sensor-title-group{align-items:center;gap:.6rem;display:flex}.sensor-avatar{border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sensor-card-header h5{font-size:.95rem;font-weight:700}.sensor-id-pill{color:hsl(var(--foreground) / .5);background:hsl(var(--foreground) / .05);border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.metric-primary-display{flex-direction:column;align-items:center;padding:1rem 0;display:flex}.big-num{font-size:2.2rem;font-weight:900;line-height:1}.unit{color:hsl(var(--foreground) / .5);margin-top:.2rem;font-size:.75rem;font-weight:800}.sub-detail{color:hsl(var(--foreground) / .5);margin-top:.5rem;font-size:.75rem}.npk-grid{flex-direction:column;gap:.4rem;display:flex}.npk-chip{background:hsl(var(--foreground) / .04);border-radius:8px;justify-content:space-between;padding:.4rem .6rem;font-size:.8rem;display:flex}.npk-chip.n{border-left:3px solid #3b82f6}.npk-chip.p{border-left:3px solid #10b981}.npk-chip.k{border-left:3px solid #f59e0b}.npk-label{color:hsl(var(--foreground) / .6)}.npk-val{color:hsl(var(--foreground));font-weight:700}.soil-metrics,.weather-grid{flex-direction:column;gap:.5rem;display:flex}.soil-item,.weather-item{color:hsl(var(--foreground) / .8);background:hsl(var(--foreground) / .04);border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.85rem;display:flex}.other-status-pill{color:#10b981;background:#10b9811a;border-radius:12px;padding:.5rem 1rem;font-size:.85rem;font-weight:700;display:inline-block}@keyframes pulse-bg{0%,to{opacity:1}50%{opacity:.6}}.pulse-purple{animation:2s ease-in-out infinite pulse-bg}.valve-visual-container{background:#0f172a66;border:1px solid #ffffff0d;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;margin:.25rem 0;padding:.75rem 0;display:flex;position:relative}.valve-png-image{object-fit:contain;filter:drop-shadow(0 4px 10px #0000004d);width:56px;height:56px;transition:transform .3s}.valve-png-image.pulse-active{animation:2s ease-in-out infinite pulse-valve-glow}[data-theme=dark] .ideal-valve-icon,[data-theme=dark] .valve-card.closed .valve-png-image,[data-theme=dark] .group-card.idle .group-card-png,[data-theme=dark] img[src*=valve_ideal],[data-theme=dark] img[src*=valve_group_ideal],:root:not([data-theme=light]) .ideal-valve-icon,:root:not([data-theme=light]) .valve-card.closed .valve-png-image,:root:not([data-theme=light]) .group-card.idle .group-card-png,:root:not([data-theme=light]) img[src*=valve_ideal],:root:not([data-theme=light]) img[src*=valve_group_ideal]{filter:invert(.65)brightness(.9)grayscale()drop-shadow(0 2px 6px #0006);opacity:.85}[data-theme=light] .ideal-valve-icon,[data-theme=light] .valve-card.closed .valve-png-image,[data-theme=light] .group-card.idle .group-card-png,[data-theme=light] img[src*=valve_ideal],[data-theme=light] img[src*=valve_group_ideal]{filter:drop-shadow(0 4px 10px #0003);opacity:1}@keyframes pulse-valve-glow{0%,to{filter:drop-shadow(0 0 8px #22c55e80);transform:scale(1)}50%{filter:drop-shadow(0 0 16px #22c55ecc);transform:scale(1.08)}}.valve-groups-container{border-radius:var(--radius,18px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b59;border:1px solid #ffffff14;margin-bottom:1.5rem;padding:1.25rem}.groups-header-row{justify-content:space-between;align-items:center;margin-bottom:1.1rem;display:flex}.groups-title-group{align-items:center;gap:.75rem;display:flex}.group-title-icon-box{background:#9c27b026;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.group-header-png{object-fit:contain;width:22px;height:22px}.groups-title-group h5{color:hsl(var(--foreground));margin:0;font-size:1rem;font-weight:800}.groups-subtext{color:hsl(var(--foreground) / .55);margin:0;font-size:.75rem}.group-mode-pill{text-transform:uppercase;border-radius:12px;padding:.25rem .65rem;font-size:.72rem;font-weight:800}.group-mode-pill.auto{color:#3b82f6;background:#3b82f626}.group-mode-pill.manual{color:#f59e0b;background:#f59e0b26}.valve-groups-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.group-card{border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:.65rem;padding:.95rem 1.1rem;transition:all .2s;display:flex}.group-card.active{background:linear-gradient(135deg,#9c27b01f,#1e293b66);border-color:#9c27b080;box-shadow:0 4px 15px #9c27b026}.group-card-top{justify-content:space-between;align-items:center;display:flex}.group-card-png{object-fit:contain;width:32px;height:32px}.group-status-badge{border-radius:6px;padding:.15rem .45rem;font-size:.68rem;font-weight:800}.group-status-badge.active{color:#22c55e;background:#22c55e26}.group-status-badge.idle{color:#94a3b8;background:#94a3b81f}.group-card-info h6{color:hsl(var(--foreground));margin:0 0 .15rem;font-size:.92rem;font-weight:800}.group-id-label{color:hsl(var(--foreground) / .5);font-size:.72rem}.valves-grid-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;padding:0 .25rem;display:flex}.valves-grid-header h5{color:hsl(var(--foreground));font-size:.95rem;font-weight:800}.valves-count-tag{color:hsl(var(--foreground) / .5);background:hsl(var(--foreground) / .05);border-radius:6px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.valve-card-actions{align-items:center;gap:.5rem;display:flex}.valve-signal-bars-bottom{align-items:flex-end;gap:2.5px;height:14px;margin-left:auto;padding-left:.5rem;display:flex}.valve-signal-bars-bottom .signal-bar{background:#94a3b84d;border-radius:2px;width:3px}.valve-signal-bars-bottom .signal-bar:first-child{height:4px}.valve-signal-bars-bottom .signal-bar:nth-child(2){height:6px}.valve-signal-bars-bottom .signal-bar:nth-child(3){height:8px}.valve-signal-bars-bottom .signal-bar:nth-child(4){height:11px}.valve-signal-bars-bottom .signal-bar:nth-child(5){height:14px}.valve-signal-bars-bottom .signal-bar.good{background:#22c55e}.valve-signal-bars-bottom .signal-bar.fair{background:#f59e0b}.valve-signal-bars-bottom .signal-bar.none{background:#94a3b833}.no-signal-icon-sm{object-fit:contain;width:16px;height:16px}.valve-signal-bars .signal-bar.fair{background:#f59e0b}.valve-signal-bars .signal-bar.none{background:#94a3b833}.status-page{max-width:1400px;margin:0 auto;padding:2rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header-main{align-items:center;gap:1.25rem;display:flex}.header-icon.droplets{color:#3b82f6;background:#3b82f61f;border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 8px 20px -4px #3b82f633}.header-text h1{margin-bottom:.25rem;font-size:1.75rem;font-weight:800}.header-stats{align-items:center;gap:1rem;display:flex}.refresh-btn{border:1px solid hsl(var(--border) / .5);width:44px;height:44px;color:hsl(var(--foreground));cursor:pointer;background:#1e293b4d;border-radius:14px;justify-content:center;align-items:center;transition:all .2s;display:flex}.refresh-btn:hover{color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.refresh-btn.spinning svg{animation:1s linear infinite spin}.stat-item{border-radius:14px;flex-direction:column;gap:.2rem;min-width:110px;padding:.6rem 1.25rem;display:flex}.stat-label{text-transform:uppercase;color:hsl(var(--foreground) / .5);letter-spacing:.5px;font-size:.7rem;font-weight:700}.stat-value{font-size:1.05rem;font-weight:800}.text-primary{color:#3b82f6}.motor-header-banner{border-left:5px solid #64748b;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:1.1rem 1.5rem;transition:all .3s;display:flex}.motor-header-banner.running{background:linear-gradient(90deg,#22c55e14,#1e293b66);border-left-color:#22c55e}.motor-header-banner.idle{border-left-color:#f59e0b}.motor-header-banner.power-failed{background:linear-gradient(90deg,#ef44441f,#1e293b66);border-left-color:#ef4444}.motor-banner-left{align-items:center;gap:1.1rem;display:flex}.motor-icon-box{border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.motor-icon-box.active{color:#22c55e;background:#22c55e26}.motor-icon-box.gray{color:#94a3b8;background:#94a3b826}.motor-icon-box.danger{color:#ef4444;background:#ef444426}.motor-lbl{letter-spacing:.8px;color:hsl(var(--foreground) / .5);text-transform:uppercase;font-size:.68rem;font-weight:800}.motor-details h3{color:hsl(var(--foreground));margin:.1rem 0;font-size:1.15rem;font-weight:800}.power-fail-tag{color:#ef4444;font-size:.85rem;font-weight:900}.motor-time-text{color:hsl(var(--foreground) / .6);font-size:.8rem}.motor-state-badge{letter-spacing:.5px;border-radius:20px;align-items:center;gap:.5rem;padding:.4rem .85rem;font-size:.75rem;font-weight:800;display:flex}.motor-state-badge.online{color:#22c55e;background:#22c55e26}.motor-state-badge.offline{color:#94a3b8;background:#94a3b81f}.motor-state-badge .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.motor-state-badge.online .dot{box-shadow:0 0 8px #22c55e}.vitals-card{box-sizing:border-box;border-radius:16px;flex-direction:row;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;margin-bottom:1.25rem;padding:.75rem 1.35rem;display:flex}.vitals-left{flex-flow:row;align-items:center;gap:1.75rem;display:flex}.vital-row{white-space:nowrap;align-items:center;gap:.55rem;display:flex}.vital-label-group{color:hsl(var(--foreground) / .75);white-space:nowrap;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;display:flex}.vital-png-icon,.vital-wifi-icon{object-fit:contain;filter:drop-shadow(0 2px 4px #00000026);flex-shrink:0;width:18px;height:18px}.vital-val{color:hsl(var(--foreground));background:hsl(var(--foreground) / .06);border:1px solid hsl(var(--border) / .4);white-space:nowrap;border-radius:6px;padding:.15rem .55rem;font-size:.875rem;font-weight:800}.vitals-timer-right{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;margin-left:auto;transition:transform .2s;display:flex;position:relative}.vitals-timer-right:hover{transform:scale(1.05)}.timer-center-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.present-m{color:hsl(var(--foreground));font-size:.85rem;font-weight:900}.max-m{color:hsl(var(--foreground) / .5);font-size:.6rem;font-weight:700}.valves-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.valve-card{border-left:4px solid #94a3b8;border-radius:18px;flex-direction:column;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.valve-card.open{border-left-color:#22c55e}.valve-card.closed{border-left-color:#ef4444}.valve-card.fault{border-left-color:#f59e0b}.valve-card-top{justify-content:space-between;align-items:center;display:flex}.valve-badge{align-items:center;gap:.6rem;display:flex}.valve-number{color:#3b82f6;background:#3b82f61a;border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:900}.valve-name{color:hsl(var(--foreground));font-size:1rem;font-weight:800}.status-tag{text-transform:uppercase;border-radius:20px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.7rem;font-weight:800;display:flex}.status-tag.open{color:#22c55e;background:#22c55e1f}.status-tag.closed{color:#ef4444;background:#ef44441f}.status-tag.fault{color:#f59e0b;background:#f59e0b1f}.valve-metrics-row{background:hsl(var(--foreground) / .03);border-radius:12px;gap:1rem;padding:.65rem .85rem;display:flex}.metric-box{flex:1;align-items:center;gap:.5rem;display:flex}.metric-data{flex-direction:column;display:flex}.metric-val{font-size:.85rem;font-weight:800}.metric-lbl{color:hsl(var(--foreground) / .5);font-size:.68rem}.valve-card-actions{border-top:1px solid hsl(var(--border) / .3);justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}.mode-indicator{align-items:center;gap:.4rem;display:flex}.mode-lbl{color:hsl(var(--foreground) / .5);font-size:.75rem}.mode-chip{cursor:pointer;border:none;border-radius:10px;padding:.2rem .55rem;font-size:.7rem;font-weight:800;transition:all .2s}.mode-chip.auto{color:#22c55e;background:#22c55e26}.mode-chip.manual{color:#f59e0b;background:#f59e0b26}.toggle-power-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.75rem;font-weight:800;transition:all .2s;display:flex}.toggle-power-btn.start{color:#fff;background:#22c55e}.toggle-power-btn.stop{color:#fff;background:#ef4444}.toggle-power-btn:hover:not(:disabled){transform:translateY(-1px)}.status-tables-container{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.table-card{border-radius:20px;padding:1.35rem}.table-card h4{color:hsl(var(--foreground));margin-bottom:1rem;font-size:1.05rem;font-weight:800}.telemetry-table{border-collapse:collapse;width:100%;font-size:.85rem}.telemetry-table th{text-align:left;text-transform:uppercase;color:hsl(var(--foreground) / .5);border-bottom:1px solid hsl(var(--border) / .5);padding-bottom:.75rem;font-size:.7rem;font-weight:800}.telemetry-table td{border-bottom:1px solid hsl(var(--border) / .2);color:hsl(var(--foreground) / .85);padding:.65rem 0}.font-bold{font-weight:700}.table-status-pill{border-radius:12px;padding:.2rem .5rem;font-size:.7rem;font-weight:800}.table-status-pill.open{color:#22c55e;background:#22c55e26}.table-status-pill.closed{color:#ef4444;background:#ef444426}.cat-chip{color:#3b82f6;background:#3b82f61a;border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.sp-modal-body{flex-direction:column;align-items:center;gap:1.25rem;padding:1rem 0;display:flex}.sp-slider-display{background:#3b82f61a;border:1px solid #3b82f633;border-radius:20px;flex-direction:column;align-items:center;padding:1rem 2rem;display:flex}.sp-val{color:#3b82f6;font-size:2.5rem;font-weight:900}.sp-sub{color:#94a3b8;font-size:.75rem;font-weight:700}.sp-range-input{accent-color:#3b82f6;cursor:pointer;width:100%;height:6px}.sp-actions{justify-content:flex-end;gap:1rem;width:100%;margin-top:1rem;display:flex}.btn-primary-blue{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:12px;padding:.6rem 1.25rem;font-weight:700}.btn-primary-blue:hover{background:#2563eb}.addon-page{max-width:1400px;margin:0 auto;padding:2rem}.addon-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.addon-card{border-radius:var(--radius);cursor:pointer;align-items:center;gap:1.5rem;padding:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.addon-card-icon{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.addon-card-content{flex:1}.addon-card-content h3{margin-bottom:.25rem;font-size:1.125rem;font-weight:700}.addon-card-content p{color:hsl(var(--foreground) / .5);font-size:.875rem;line-height:1.4}.addon-arrow{color:hsl(var(--foreground) / .2);transition:transform .2s}.addon-card:hover .addon-arrow{color:hsl(var(--foreground) / .6);transform:translate(4px)}.empty-peripherals{text-align:center;color:hsl(var(--foreground) / .4);flex-direction:column;grid-column:1/-1;align-items:center;gap:1.5rem;padding:5rem;display:flex}.pro-tip{border-radius:var(--radius);background:linear-gradient(90deg, hsl(var(--primary) / .05), transparent);align-items:center;gap:1.25rem;margin-top:3rem;padding:1.5rem;display:flex}.tip-content h4{margin-bottom:.2rem;font-size:.9rem;font-weight:700}.tip-content p{color:hsl(var(--foreground) / .6);font-size:.8125rem}@media (width<=640px){.addon-grid{grid-template-columns:1fr}}.about-page{box-sizing:border-box;flex-direction:column;gap:2rem;width:100%;max-width:1360px;margin:0 auto;padding:1.75rem 2rem 4rem;display:flex}.about-hero{border:1px solid var(--glass-card-border);background:radial-gradient(circle at top right, #3b82f614, transparent 60%), radial-gradient(circle at bottom left, #8b5cf60f, transparent 50%), var(--glass-card-bg);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 2rem;display:flex;position:relative;overflow:hidden}.about-hero:before{content:"";opacity:.8;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#10b981,#0000);height:2px;position:absolute;top:0;left:0;right:0}.hero-left{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.hero-avatar-wrap{flex-shrink:0;position:relative}.hero-avatar{background:linear-gradient(135deg, hsl(var(--primary)), #8b5cf6);color:#fff;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex;box-shadow:0 8px 24px #3b82f659}.hero-status-dot{border:2.5px solid hsl(var(--card));background-color:#10b981;border-radius:50%;width:15px;height:15px;position:absolute;bottom:2px;right:2px;box-shadow:0 0 10px #10b981}.hero-identity{flex-direction:column;gap:.35rem;display:flex}.hero-name-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hero-name{letter-spacing:-.02em;color:hsl(var(--foreground));margin:0;font-size:1.5rem;font-weight:800}.hero-role-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.role-super{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b66;box-shadow:0 0 12px #f59e0b33}.role-admin{color:#06b6d4;background:#06b6d426;border:1px solid #06b6d459}.role-standard{color:#10b981;background:#10b98126;border:1px solid #10b98159}.hero-email{color:hsl(var(--foreground) / .55);margin:0;font-size:.875rem;font-weight:500}.hero-chips{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.25rem;display:flex}.hero-chip{color:hsl(var(--foreground) / .75);background-color:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border));border-radius:9999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.hero-chip.interactive{cursor:pointer}.hero-chip.interactive:hover{background-color:hsl(var(--primary) / .12);color:hsl(var(--primary));border-color:hsl(var(--primary) / .3);transform:translateY(-1px)}.text-emerald{color:#10b981}.text-amber{color:#f59e0b}.hero-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.hero-action-btn{cursor:pointer;border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-size:.8125rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.theme-toggle-btn{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.theme-toggle-btn:hover{background:hsl(var(--foreground) / .12);border-color:hsl(var(--foreground) / .2);transform:translateY(-2px)}.logout-hero-btn{color:#ef4444;background:#ef44441a;border:1px solid #ef444440}.logout-hero-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:translateY(-2px);box-shadow:0 4px 14px #ef444459}.hub-dual-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem;width:100%;display:grid}@media (width<=1080px){.hub-dual-row{grid-template-columns:1fr}}.hub-panel{border:1px solid var(--glass-card-border);background:var(--glass-card-bg);box-shadow:var(--glass-card-shadow);border-radius:20px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.hub-panel:before{content:"";background:linear-gradient(90deg,#ffffff26,#0000);height:2px;position:absolute;top:0;left:0;right:0}.hub-panel-header{border-bottom:1px solid hsl(var(--border) / .5);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.85rem;display:flex}.panel-title-group{align-items:center;gap:.85rem;display:flex}.panel-icon-wrap{border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.panel-title{color:hsl(var(--foreground));letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:800}.panel-subtitle{color:hsl(var(--foreground) / .5);margin:2px 0 0;font-size:.775rem;font-weight:500}.panel-counter-badge{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground) / .7);border:1px solid hsl(var(--border));text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .65rem;font-size:.7rem;font-weight:700}.hub-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (width<=620px){.hub-cards-grid{grid-template-columns:1fr}}.hub-card{cursor:pointer;border:1px solid var(--glass-card-border);background:var(--glass-card-bg);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:165px;padding:1.25rem;transition:border-color .25s,box-shadow .25s,background .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000f}.hub-card:after{content:"";background:radial-gradient(circle at top right, var(--card-accent), transparent 70%);opacity:.06;pointer-events:none;width:90px;height:90px;transition:opacity .3s;position:absolute;top:0;right:0}.hub-card:hover{box-shadow:0 16px 32px -8px #00000059, 0 0 0 1px var(--card-accent)33;border-color:var(--card-accent)!important}.hub-card:hover:after{opacity:.16}.hub-card-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.hub-icon-box{border:1px solid;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex}.hub-card:hover .hub-icon-box{transform:scale(1.08)rotate(-2deg)}.hub-tag{text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:6px;padding:.2rem .55rem;font-size:.65rem;font-weight:800}.hub-card-body{flex-direction:column;flex:1;gap:.35rem;display:flex}.hub-card-title{color:hsl(var(--foreground));letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:700;transition:color .2s}.hub-card:hover .hub-card-title{color:var(--card-accent)}.hub-card-desc{color:hsl(var(--foreground) / .55);margin:0;font-size:.785rem;font-weight:450;line-height:1.45}.hub-card-footer{border-top:1px solid hsl(var(--border) / .4);justify-content:space-between;align-items:center;margin-top:.85rem;padding-top:.6rem;display:flex}.hub-action-label{color:hsl(var(--foreground) / .45);font-size:.725rem;font-weight:600;transition:color .2s}.hub-card:hover .hub-action-label{color:var(--card-accent)}.hub-action-arrow{background:hsl(var(--foreground) / .05);width:26px;height:26px;color:hsl(var(--foreground) / .5);border-radius:50%;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.hub-card:hover .hub-action-arrow{background:var(--card-accent);color:#fff;transform:translate(2px,-2px);box-shadow:0 4px 10px #00000040}.admin-command-panel{background:radial-gradient(ellipse at top left, #f59e0b0f, transparent 60%), radial-gradient(ellipse at bottom right, #ef44440a, transparent 60%), var(--glass-card-bg);box-shadow:var(--glass-card-shadow);border:1px solid #f59e0b40;border-radius:20px;flex-direction:column;gap:1.5rem;padding:1.75rem 2rem;display:flex;position:relative;overflow:hidden}.admin-command-panel:before{content:"";background:linear-gradient(90deg,#f59e0b,#ef4444,#8b5cf6,#0000);height:2px;position:absolute;top:0;left:0;right:0}.admin-panel-header{border-bottom:1px solid hsl(var(--border) / .6);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.admin-header-left{align-items:center;gap:1rem;display:flex}.admin-pulse-icon{color:#f59e0b;background:linear-gradient(135deg,#f59e0b33,#ef444433);border:1px solid #f59e0b66;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 6px 18px #f59e0b33}.admin-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-panel-title{letter-spacing:-.01em;color:hsl(var(--foreground));margin:0;font-size:1.25rem;font-weight:800}.admin-privilege-badge{color:#f59e0b;text-transform:uppercase;letter-spacing:.05em;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:9999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.pulse-dot{background-color:#f59e0b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #f59e0b}.admin-panel-subtitle{color:hsl(var(--foreground) / .5);margin:3px 0 0;font-size:.8rem;font-weight:500}.admin-tools-count{background:hsl(var(--foreground) / .06);color:hsl(var(--foreground) / .75);border:1px solid hsl(var(--border));letter-spacing:.04em;border-radius:9999px;padding:.35rem .85rem;font-size:.75rem;font-weight:700}.admin-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.15rem;display:grid}.hub-card.admin{border-color:hsl(var(--border) / .7);background:#ffffff05}[data-theme=light] .hub-card.admin{background:#ffffffd9}.about-footer-card{border:1px solid var(--glass-card-border);background:var(--glass-card-bg);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem 1.75rem;display:flex}.footer-left{flex-direction:column;gap:.25rem;display:flex}.footer-brand{color:hsl(var(--foreground) / .85);align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:flex}.footer-subtext{color:hsl(var(--foreground) / .45);font-size:.775rem}.footer-logout-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef444440;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.8125rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.footer-logout-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 4px 14px #ef444459}@media (width<=768px){.about-page{gap:1.5rem;padding:1rem 1rem 3rem}.about-hero{flex-direction:column;align-items:flex-start;padding:1.5rem}.hero-left{flex-direction:column;align-items:flex-start;gap:1rem}.hero-right{border-top:1px solid hsl(var(--border) / .5);justify-content:flex-start;width:100%;padding-top:.5rem}.about-footer-card{flex-direction:column;align-items:flex-start}.footer-logout-btn{justify-content:center;width:100%}}.manage-motors-page{max-width:1200px;margin:0 auto;padding:2rem}.manage-motors-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.manage-motors-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.manage-motors-page .header-main{align-items:center;gap:1rem;display:flex}.manage-motors-page .header-icon.motor{color:#3b82f6;background:#3b82f626;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.manage-motors-page .header-text h1{margin:0 0 .2rem;font-size:1.35rem;font-weight:700}.manage-motors-page .header-text p{color:hsl(var(--foreground) / .55);margin:0;font-size:.85rem}.motors-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.motor-item-container{flex-direction:column;gap:.5rem;display:flex}.motor-main-card{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;transition:all .2s;display:flex}.motor-main-card:hover{background-color:hsl(var(--foreground) / .05)}.motor-item-container.expanded .motor-main-card{border-color:hsl(var(--primary) / .3);background-color:hsl(var(--primary) / .02)}.motor-info-basic{align-items:center;gap:1.25rem;display:flex}.motor-status-indicator{border-radius:50%;width:12px;height:12px;box-shadow:0 0 8px}.motor-status-indicator.on{color:#22c55e;background-color:#22c55e}.motor-status-indicator.off{color:#94a3b8;background-color:#94a3b8}.motor-text h3{margin-bottom:.4rem;font-size:1.125rem;font-weight:700}.motor-badges{gap:.5rem;display:flex}.badge{text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.badge.enabled{color:#22c55e;background-color:#22c55e1a}.badge.disabled{color:#ef4444;background-color:#ef44441a}.motor-controls-mini{align-items:center;gap:1.5rem;display:flex}.mini-stat{color:hsl(var(--foreground) / .5);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.power-toggle-mini{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.power-toggle-mini.on{color:#fff;background-color:#22c55e;box-shadow:0 4px 12px #22c55e4d}.power-toggle-mini.off{background-color:hsl(var(--foreground) / .1);color:hsl(var(--foreground) / .4)}.motor-expanded-content{border-radius:var(--radius);border-top:1px solid hsl(var(--border) / .5);margin-left:1rem;padding:2rem}.detail-sections{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.detail-section h4{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground) / .4);align-items:center;gap:.6rem;margin-bottom:1.25rem;font-size:.9rem;font-weight:800;display:flex}.controls-grid{flex-direction:column;gap:.75rem;display:flex}.control-card{background-color:hsl(var(--foreground) / .03);border-radius:10px;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex}.toggle-btn{background-color:hsl(var(--foreground) / .1);border-radius:6px;padding:.4rem .8rem;font-size:.75rem;font-weight:800;transition:all .2s}.toggle-btn.active{background-color:hsl(var(--primary));color:#fff}.phase-switcher{background-color:hsl(var(--foreground) / .1);border-radius:6px;padding:2px;display:flex}.phase-switcher button{border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:800}.phase-switcher button.active{color:#000;background-color:#fff;box-shadow:0 2px 4px #0000001a}.protections-list,.timers-summary{flex-direction:column;gap:.75rem;display:flex}.protection-row{justify-content:space-between;font-size:.9rem;font-weight:600;display:flex}.status.active{color:#22c55e}.status.inactive{color:hsl(var(--foreground) / .3)}.section-edit-btn{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.6rem;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.section-edit-btn:hover{background-color:hsl(var(--primary) / .2)}.timer-stat{justify-content:space-between;font-size:.875rem;font-weight:600;display:flex}.timer-stat .label{color:hsl(var(--foreground) / .5)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:calc(var(--radius) * 1.5);width:90%;max-width:500px;padding:2rem}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.close-btn{color:hsl(var(--foreground) / .4);font-size:1.5rem}.modal-body{color:hsl(var(--foreground) / .6);margin-bottom:2rem;line-height:1.6}.modal-footer{justify-content:flex-end;gap:1rem;display:flex}@media (width<=768px){.motor-controls-mini{display:none}}.manage-valves-page{max-width:1200px;margin:0 auto;padding:2rem}.manage-valves-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.manage-valves-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.manage-valves-page .header-main{align-items:center;gap:1rem;display:flex}.manage-valves-page .header-icon.valves{color:#3b82f6;background:#3b82f626;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.manage-valves-page .header-text h1{margin:0 0 .2rem;font-size:1.35rem;font-weight:700}.manage-valves-page .header-text p{color:hsl(var(--foreground) / .55);margin:0;font-size:.85rem}.valve-filters{border-radius:var(--radius);align-items:center;gap:1.25rem;margin-bottom:2rem;padding:1.25rem 1.5rem;display:flex}.filter-chips{gap:.75rem;padding-bottom:4px;display:flex;overflow-x:auto}.chip{background-color:hsl(var(--foreground) / .05);white-space:nowrap;border-radius:20px;padding:.5rem 1rem;font-size:.8125rem;font-weight:700;transition:all .2s}.chip.active{background-color:hsl(var(--primary));color:#fff;box-shadow:0 4px 12px hsl(var(--primary) / .3)}.valves-list{flex-direction:column;gap:1rem;display:flex}.valve-item-container{flex-direction:column;gap:.5rem;display:flex}.valve-main-card{border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;transition:all .2s;display:flex}.valve-main-card:hover{background-color:hsl(var(--foreground) / .05)}.valve-info-basic{align-items:center;gap:1.25rem;display:flex}.valve-status-indicator{border-radius:50%;width:12px;height:12px;box-shadow:0 0 8px}.valve-status-indicator.open{color:#22c55e;background-color:#22c55e}.valve-status-indicator.closed{color:#ef4444;background-color:#ef4444}.valve-status-indicator.bad{color:#f59e0b;background-color:#f59e0b}.valve-text h3{margin-bottom:.4rem;font-size:1.125rem;font-weight:700}.valve-controls-mini{align-items:center;gap:1.5rem;display:flex}.condition-pill{text-transform:uppercase;border-radius:4px;padding:.3rem .6rem;font-size:.7rem;font-weight:800}.condition-pill.open{color:#22c55e;background-color:#22c55e1a}.condition-pill.closed{color:#ef4444;background-color:#ef44441a}.condition-pill.bad{color:#f59e0b;background-color:#f59e0b1a}.valve-expanded-content{border-radius:var(--radius);border-top:1px solid hsl(var(--border) / .5);margin-left:1rem;padding:2rem}.mode-switcher{color:hsl(var(--foreground) / .4);gap:1rem;display:flex}.mode-switcher span.active{color:hsl(var(--primary));font-weight:800}.action-btn{border-radius:8px;padding:.5rem 1rem;font-size:.8125rem;font-weight:700;transition:all .2s}.action-btn.on{color:#fff;background-color:#ef4444}.action-btn.off{color:#fff;background-color:#22c55e}.metric-box{background-color:hsl(var(--foreground) / .03);border-radius:12px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.metric-box .label{color:hsl(var(--foreground) / .5);font-size:.75rem;font-weight:700}.metric-box .value{font-size:1.25rem;font-weight:800}.metric-box .value small{font-size:.8rem;font-weight:600}.flush-secondary-btn{background-color:hsl(var(--foreground) / .05);border-radius:10px;justify-content:center;align-items:center;gap:.6rem;width:100%;margin-top:1rem;padding:.75rem;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.flush-secondary-btn:hover:not(:disabled){background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.flush-secondary-btn:disabled{opacity:.4;cursor:not-allowed}.input-group{margin-bottom:1.5rem}.input-group label{color:hsl(var(--foreground) / .6);margin-bottom:.5rem;font-size:.8125rem;font-weight:700;display:block}.glass-input,.glass-select{background-color:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border));width:100%;color:hsl(var(--foreground));border-radius:8px;outline:none;padding:.75rem 1rem}.glass-input:focus{border-color:hsl(var(--primary))}@media (width<=768px){.valve-controls-mini{display:none}}.manage-tanks-page{max-width:1200px;margin:0 auto;padding:2rem}.manage-tanks-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.manage-tanks-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.manage-tanks-page .header-main{align-items:center;gap:1rem;display:flex}.manage-tanks-page .header-icon.tanks{color:#3b82f6;background:#3b82f626;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.manage-tanks-page .header-text h1{margin:0 0 .2rem;font-size:1.35rem;font-weight:700}.manage-tanks-page .header-text p{color:hsl(var(--foreground) / .55);margin:0;font-size:.85rem}.tanks-list{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.tank-main-card{border-radius:var(--radius);cursor:pointer;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;transition:all .2s;display:flex}.tank-main-card:hover{background-color:hsl(var(--foreground) / .05)}.tank-info-basic{align-items:center;gap:1.25rem;display:flex}.tank-avatar{border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.tank-text h3{margin-bottom:.4rem;font-size:1.125rem;font-weight:700}.tank-metrics-preview{align-items:center;gap:1.5rem;display:flex}.preview-stat{flex-direction:column;align-items:flex-end;display:flex}.preview-stat .label{text-transform:uppercase;color:hsl(var(--foreground) / .4);font-size:.75rem;font-weight:700}.preview-stat .value{font-size:1rem;font-weight:800}.level-indicator-mini{width:100px}.indicator-track{background-color:hsl(var(--foreground) / .05);border-radius:3px;height:6px;overflow:hidden}.indicator-fill{height:100%;transition:width .5s ease-out}.tank-expanded-content{border-radius:var(--radius);border-top:1px solid hsl(var(--border) / .5);margin-top:.5rem;padding:2.5rem}.level-ring-container{width:140px;height:140px;margin-bottom:1.5rem;position:relative}.level-ring{transform:rotate(-90deg)}.ring-bg{fill:none;stroke:hsl(var(--foreground) / .05);stroke-width:10px}.ring-fill{fill:none;stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset 1s ease-out}.ring-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-text .val{font-size:2rem;font-weight:800}.ring-text .unit{color:hsl(var(--foreground) / .4);font-size:.875rem;font-weight:700}.level-metadata{gap:2rem;display:flex}.meta-item{flex-direction:column;display:flex}.meta-item .label{color:hsl(var(--foreground) / .4);font-size:.75rem;font-weight:700}.meta-item .value{font-weight:700}.valves-status-grid{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.valve-status-card{background-color:hsl(var(--foreground) / .03);border-radius:12px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.valve-status-card .label{color:hsl(var(--foreground) / .5);font-size:.8125rem;font-weight:700}.status-box{align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;display:flex}.mode-tag{text-transform:uppercase;background-color:hsl(var(--foreground) / .05);border-radius:4px;padding:.2rem .5rem;font-size:.65rem;font-weight:800}.sensors-list{flex-direction:column;gap:1rem;display:flex}.sensor-row{justify-content:space-between;align-items:center;display:flex}.sensor-info{flex-direction:column;display:flex}.sensor-info .name{font-size:.9rem;font-weight:700}.sensor-info .desc{color:hsl(var(--foreground) / .4);font-size:.75rem}.toggle-icon{width:40px;height:40px;color:hsl(var(--foreground) / .2);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.toggle-icon.active{color:#22c55e;background-color:#22c55e1a}.grid-2{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.modal-content.wide{max-width:650px}@media (width<=768px){.tank-metrics-preview{display:none}.grid-2{grid-template-columns:1fr}}.manage-devices-page{flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;padding:1.5rem;display:flex}.toast-notification{z-index:1000;border-radius:var(--radius);align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.875rem;font-weight:600;display:flex;position:fixed;top:80px;right:24px;box-shadow:0 10px 30px #0000004d}.toast-notification.success{color:#4caf50;border-left:4px solid #4caf50}.toast-notification.error{color:#ef4444;border-left:4px solid #ef4444}.page-header{border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;display:flex}.back-btn{background-color:hsl(var(--foreground) / .05);width:40px;height:40px;color:hsl(var(--foreground));border:1px solid hsl(var(--border) / .5);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.back-btn:hover{background-color:hsl(var(--foreground) / .1);transform:translate(-2px)}.page-header h1{letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.5rem;font-weight:800}.page-header p{color:hsl(var(--foreground) / .6);font-size:.875rem}.refresh-devices-btn{border-radius:var(--radius);color:hsl(var(--foreground));border:1px solid hsl(var(--border) / .5);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.refresh-devices-btn:hover:not(:disabled){color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.add-device-primary-btn{border-radius:var(--radius);background-color:hsl(var(--primary));color:#fff;cursor:pointer;box-shadow:0 4px 14px hsl(var(--primary) / .3);white-space:nowrap;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:700;transition:all .2s;display:flex}.add-device-primary-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.controls-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.search-box{border-radius:var(--radius);flex:1;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.clear-search{color:hsl(var(--foreground) / .4);border-radius:50%;justify-content:center;align-items:center;padding:.25rem;display:flex}.clear-search:hover{color:hsl(var(--foreground));background-color:hsl(var(--foreground) / .1)}.stats-pill{border-radius:var(--radius);color:hsl(var(--primary));white-space:nowrap;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}.device-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem;display:grid}.manage-card{border-radius:var(--radius);border:1px solid hsl(var(--border) / .5);flex-direction:column;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.manage-card.hidden-unit{opacity:.75;border-style:dashed}.card-top-bar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.unit-title-group{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.unit-icon{background-color:hsl(var(--primary) / .1);width:42px;height:42px;color:hsl(var(--primary));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.unit-name{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;overflow:hidden}.unit-location{color:hsl(var(--foreground) / .5);align-items:center;gap:.25rem;margin-top:.15rem;font-size:.75rem;display:flex}.unit-quick-actions{align-items:center;gap:.4rem;display:flex}.device-visibility-switch{cursor:pointer;border:1px solid hsl(var(--border) / .5);-webkit-user-select:none;user-select:none;border-radius:50px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.device-visibility-switch.is-visible{color:#4caf50;background-color:#4caf5015;border-color:#4caf5040}.device-visibility-switch.is-hidden{background-color:hsl(var(--foreground) / .05);color:hsl(var(--foreground) / .5);border-color:hsl(var(--border) / .5)}.switch-track{background-color:hsl(var(--foreground) / .2);border-radius:10px;width:28px;height:16px;transition:background-color .2s;position:relative}.is-visible .switch-track{background-color:#4caf50}.switch-thumb{background-color:#fff;border-radius:50%;width:12px;height:12px;transition:transform .2s;position:absolute;top:2px;left:2px}.is-visible .switch-thumb{transform:translate(12px)}.action-icon-btn{background-color:hsl(var(--foreground) / .05);width:34px;height:34px;color:hsl(var(--foreground) / .7);border:1px solid hsl(var(--border) / .5);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.action-icon-btn:hover{background-color:hsl(var(--foreground) / .1);color:hsl(var(--foreground))}.action-icon-btn.wifi-btn.connected{color:#4caf50;background-color:#4caf5015;border-color:#4caf5040}.action-icon-btn.edit-btn:hover{color:#2196f3}.action-icon-btn.refresh-btn:hover,.action-icon-btn.toggle-btn.visible{color:#4caf50}.action-icon-btn.toggle-btn.hidden{color:#ef4444}.card-divider{background-color:hsl(var(--border) / .5);height:1px}.card-info-body{flex-direction:column;gap:.6rem;display:flex}.info-row{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.info-label{color:hsl(var(--foreground) / .5);font-weight:500}.info-value{color:hsl(var(--foreground));font-weight:600}.info-value.mono{font-family:monospace;font-size:.9rem}.text-warning{color:#ff9800}.text-danger{color:#ef4444}.status-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:50px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.725rem;font-weight:700;display:flex}.status-badge .dot{border-radius:50%;width:6px;height:6px}.status-online{color:#4caf50;background-color:#4caf5015}.status-online .dot{background-color:#4caf50}.status-offline{color:#ef4444;background-color:#ef444415}.status-offline .dot{background-color:#ef4444}.status-stale{color:#ff9800;background-color:#ff980015}.status-stale .dot{background-color:#ff9800}.status-hidden{background-color:hsl(var(--foreground) / .1);color:hsl(var(--foreground) / .5)}.status-hidden .dot{background-color:hsl(var(--foreground) / .5)}.card-footer{border-top:1px solid hsl(var(--border) / .5);margin-top:.5rem;padding-top:.75rem}.remove-device-btn{border-radius:var(--radius);color:#ef4444;cursor:pointer;background-color:#ef444410;border:1px solid #ef444430;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.6rem;font-size:.8125rem;font-weight:700;transition:all .2s;display:flex}.remove-device-btn:hover{background-color:#ef444420;border-color:#ef444460}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background-color:#000000b3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-box{border-radius:var(--radius);flex-direction:column;gap:1.25rem;width:100%;max-width:480px;padding:1.75rem;display:flex;box-shadow:0 20px 40px #0006}.modal-header{justify-content:space-between;align-items:flex-start;display:flex}.modal-header h2{font-size:1.25rem;font-weight:800}.modal-header p{color:hsl(var(--foreground) / .6);margin-top:.25rem;font-size:.8125rem}.close-modal-btn{color:hsl(var(--foreground) / .5);border-radius:50%;justify-content:center;align-items:center;padding:.25rem;display:flex}.close-modal-btn:hover{color:hsl(var(--foreground));background-color:hsl(var(--foreground) / .1)}.modal-form{flex-direction:column;gap:1.15rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex;position:relative}.form-group label{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground) / .7);align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:flex}.form-group input{border-radius:var(--radius);background-color:hsl(var(--background) / .5);border:1px solid hsl(var(--border));color:hsl(var(--foreground));outline:none;padding:.75rem 1rem;font-size:.9375rem;transition:all .2s}.form-group input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.form-group input.read-only-input{opacity:.6;cursor:not-allowed;font-family:monospace}.suggestions-list{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);z-index:50;max-height:140px;margin-top:4px;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestions-list li{cursor:pointer;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}.suggestions-list li:hover{background-color:hsl(var(--foreground) / .1)}.delete-warning-text{color:hsl(var(--foreground) / .8);font-size:.875rem;line-height:1.4}.modal-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.btn-cancel{border-radius:var(--radius);background-color:hsl(var(--foreground) / .05);color:hsl(var(--foreground));border:1px solid hsl(var(--border));cursor:pointer;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-cancel:hover{background-color:hsl(var(--foreground) / .1)}.btn-submit{border-radius:var(--radius);background-color:hsl(var(--primary));color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;padding:.65rem 1.5rem;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.btn-submit:hover{filter:brightness(1.1)}.btn-danger{border-radius:var(--radius);color:#fff;cursor:pointer;background-color:#ef4444;border:none;justify-content:center;align-items:center;padding:.65rem 1.5rem;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.btn-danger:hover{filter:brightness(1.1)}.empty-state{text-align:center;border-radius:var(--radius);color:hsl(var(--foreground) / .5);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.empty-state h3{color:hsl(var(--foreground));font-size:1.25rem}.profile-page{max-width:1000px;margin:0 auto;padding:2rem}.profile-page .page-header{border-radius:var(--radius);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.profile-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.profile-page .header-main{align-items:center;gap:1rem;display:flex}.profile-page .header-icon.profile{color:#10b981;background:#10b98126;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.profile-page .header-text h1{margin:0 0 .2rem;font-size:1.35rem;font-weight:700}.profile-page .header-text p{color:hsl(var(--foreground) / .55);margin:0;font-size:.85rem}.profile-content{grid-template-columns:1.5fr 1fr;gap:2rem;margin-top:1.5rem;display:grid}.profile-main-card{border-radius:var(--radius);flex-direction:column;gap:2.5rem;padding:2.5rem;display:flex}.profile-hero{align-items:center;gap:2rem;display:flex}.hero-avatar{background-color:hsl(var(--primary));width:100px;height:100px;box-shadow:0 8px 16px hsl(var(--primary) / .2);border-radius:50%;justify-content:center;align-items:center;display:flex}.avatar-letter{color:#fff;font-size:3rem;font-weight:800}.hero-info h2{margin-bottom:.5rem;font-size:2rem;font-weight:800}.hero-badges{gap:.75rem;display:flex}.badge{border-radius:20px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.75rem;font-weight:700;display:flex}.badge.admin{color:#22c55e;background-color:#22c55e1a}.badge.role{background-color:hsl(var(--foreground) / .05);color:hsl(var(--foreground) / .6)}.detail-row{border-bottom:1px solid hsl(var(--border) / .5);justify-content:space-between;align-items:center;padding:1.25rem 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-label{color:hsl(var(--foreground) / .4);align-items:center;gap:1rem;font-size:.875rem;font-weight:700;display:flex}.detail-value{font-size:1rem;font-weight:700}.detail-value.mono{font-family:monospace;font-size:.9rem}.profile-actions{flex-direction:column;gap:1.5rem;display:flex}.action-section{border-radius:var(--radius);padding:1.5rem}.action-section h3{margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.action-section p{color:hsl(var(--foreground) / .5);margin-bottom:1.5rem;font-size:.8125rem}.btn-danger-outline{color:#ef4444;border:1px solid #ef4444;border-radius:8px;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.75rem;font-weight:700;transition:all .2s;display:flex}.btn-danger-outline:hover{color:#fff;background-color:#ef4444;box-shadow:0 4px 12px #ef444433}.modal-content.danger{border-top:4px solid #ef4444}.alert-box{color:#ef4444;background-color:#ef444410;border-radius:12px;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.alert-box p{font-size:.9rem;font-weight:600}.instruction{margin-bottom:.75rem;font-size:.875rem}.glass-input.danger:focus{border-color:#ef4444}.btn-danger{color:#fff;background-color:#ef4444;border-radius:8px;padding:.75rem 1.5rem;font-weight:700}.btn-danger:disabled{opacity:.4;cursor:not-allowed}@media (width<=850px){.profile-content{grid-template-columns:1fr}}.support-page{max-width:1200px;margin:0 auto;padding:2rem}.support-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.support-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.support-page .header-main{align-items:center;gap:1rem;display:flex}.support-page .header-icon.support{color:#f43f5e;background:#f43f5e26;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.support-page .header-text h1{margin:0 0 .2rem;font-size:1.35rem;font-weight:700}.support-page .header-text p{color:hsl(var(--foreground) / .55);margin:0;font-size:.85rem}.support-filters{border-radius:var(--radius);margin-bottom:2rem;padding:1.25rem 1.5rem}.filter-group{align-items:center;gap:1.25rem;display:flex}.filter-label{color:hsl(var(--foreground) / .5);font-size:.875rem;font-weight:700}.tickets-grid{flex-direction:column;gap:1.25rem;display:flex}.ticket-card{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;padding:1.5rem;transition:all .3s}.ticket-card:hover{background-color:hsl(var(--foreground) / .05)}.ticket-card.expanded{border-color:hsl(var(--primary) / .3);background-color:hsl(var(--primary) / .02)}.ticket-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.ticket-id-section{align-items:center;gap:.75rem;display:flex}.ticket-id{color:hsl(var(--foreground) / .3);font-size:.875rem;font-weight:800}.status-pill{text-transform:uppercase;border-radius:4px;padding:.25rem .6rem;font-size:.65rem;font-weight:800}.status-pill.pending{color:#f59e0b;background-color:#f59e0b1a}.status-pill.resolved{color:#22c55e;background-color:#22c55e1a}.status-pill.in-progress{color:#1e40af;background-color:#1e40af1a}.timestamp{color:hsl(var(--foreground) / .4);font-size:.75rem;font-weight:600}.ticket-category{margin-bottom:.5rem;font-size:1.125rem;font-weight:800}.device-tag{color:hsl(var(--foreground) / .5);background-color:hsl(var(--foreground) / .05);border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.3rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.ticket-issue{color:hsl(var(--foreground) / .7);font-size:.9375rem;line-height:1.6}.ticket-resolution{border-top:1px solid hsl(var(--border) / .5);margin-top:1.5rem;padding-top:1.5rem}.resolution-header{color:#22c55e;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.resolution-header h4{text-transform:uppercase;font-size:.875rem;font-weight:800}.resolution-meta{color:hsl(var(--foreground) / .4);margin-top:.75rem;font-size:.75rem;font-weight:600}.ticket-footer{color:hsl(var(--foreground) / .3);justify-content:space-between;align-items:center;margin-top:1.25rem;display:flex}.expand-hint{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.rotate{transform:rotate(90deg)}.textarea{resize:vertical;min-height:120px}.loading-state,.empty-state{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:4rem;display:flex}.empty-state h3{font-size:1.25rem;font-weight:800}.empty-state p{color:hsl(var(--foreground) / .5);max-width:300px}.spinner{border:3px solid hsl(var(--primary) / .1);border-top-color:hsl(var(--primary));border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.console-page{flex-direction:column;max-width:1400px;height:calc(100vh - 100px);margin:0 auto;padding:2rem;display:flex}.console-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.console-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.console-page .header-main{align-items:center;gap:1rem;display:flex}.console-page .header-icon.console{color:#3b82f6;background:#3b82f626;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.console-page .header-text h1{margin:0 0 .2rem;font-size:1.35rem;font-weight:700}.console-page .header-text p{color:hsl(var(--foreground) / .55);margin:0;font-size:.85rem}.console-controls{gap:1rem;display:flex}.control-btn{background-color:hsl(var(--foreground) / .05);border-radius:8px;align-items:center;gap:.75rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.control-btn.active{color:#fff;background-color:#ef4444;box-shadow:0 4px 12px #ef44444d}.control-btn:not(.active):hover{background-color:hsl(var(--foreground) / .1)}.control-btn.secondary{color:hsl(var(--foreground) / .6)}.console-filters{border-radius:var(--radius);gap:2rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.filter-item{flex:1;align-items:center;gap:1rem;display:flex}.glass-select-mini,.glass-input-mini{border:none;border-bottom:2px solid hsl(var(--border));width:100%;color:hsl(var(--foreground));background:0 0;outline:none;padding:.5rem 0;font-size:.875rem;font-weight:600;transition:border-color .2s}.glass-select-mini:focus,.glass-input-mini:focus{border-color:hsl(var(--primary))}.console-logs-container{border-radius:var(--radius);flex-direction:column;flex:1;display:flex;overflow:hidden;background-color:#0c0d10!important}.logs-header{background-color:#ffffff08;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.header-tabs{gap:1.5rem;display:flex}.header-tabs button{text-transform:uppercase;color:#fff6;padding:.5rem 0;font-size:.75rem;font-weight:700;position:relative}.header-tabs button.active{color:#fff}.header-tabs button.active:after{content:"";background-color:hsl(var(--primary));height:2px;position:absolute;bottom:0;left:0;right:0}.stats{color:#ffffff4d;font-size:.75rem;font-weight:700}.logs-body{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.logs-body::-webkit-scrollbar{width:8px}.logs-body::-webkit-scrollbar-track{background:0 0}.logs-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.logs-empty{color:#fff3;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;height:100%;display:flex}.log-entry{background-color:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;padding:1rem}.log-entry.sent{border-left:3px solid #22c55e}.log-entry.received{border-left:3px solid #3b82f6}.entry-meta{align-items:center;gap:1.25rem;margin-bottom:.75rem;display:flex}.timestamp{color:#fff6;font-family:monospace;font-size:.7rem}.direction-tag{border-radius:4px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.6rem;font-weight:800;display:flex}.direction-tag.sent{color:#22c55e;background-color:#22c55e1a}.direction-tag.received{color:#3b82f6;background-color:#3b82f61a}.at-type{color:#f59e0b;font-family:monospace;font-size:.75rem;font-weight:700}.did-tag{color:#fff9;font-size:.75rem;font-weight:700}.entry-payload{color:#fffc;white-space:pre-wrap;background-color:#0000004d;border-radius:6px;padding:1rem;font-family:Fira Code,Roboto Mono,monospace;font-size:.8125rem}.notifications-page{flex-direction:column;gap:1.25rem;max-width:1400px;margin:0 auto;padding:1.5rem;display:flex}.active-device-header-banner{background:linear-gradient(90deg,#3b82f61a,#1e293b4d);border-left:4px solid #3b82f6;border-radius:20px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.banner-icon-box{background:#3b82f626;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.banner-lbl{color:#3b82f6;letter-spacing:.8px;font-size:.68rem;font-weight:800}.banner-info h3{margin:.1rem 0;font-size:1.1rem;font-weight:800}.banner-info p{color:hsl(var(--foreground) / .6);align-items:center;gap:.3rem;font-size:.78rem;display:flex}.page-header{border-radius:var(--radius,20px);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.header-title-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.35rem;display:flex}.back-dashboard-btn{color:hsl(var(--foreground));cursor:pointer;border:1px solid hsl(var(--border) / .5);border-radius:12px;align-items:center;gap:.4rem;padding:.45rem .95rem;font-size:.82rem;font-weight:700;transition:all .2s;display:flex}.back-dashboard-btn:hover{color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.header-text h1{align-items:center;gap:.75rem;margin:0;font-size:1.4rem;font-weight:800;display:flex}.header-text p{color:hsl(var(--foreground) / .6);font-size:.85rem}.refresh-btn{color:hsl(var(--foreground));border:1px solid hsl(var(--border) / .5);cursor:pointer;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.refresh-btn:hover:not(:disabled){color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.notifications-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.search-box{border:1px solid hsl(var(--border) / .5);border-radius:14px;flex:1;align-items:center;gap:.75rem;min-width:280px;padding:.65rem 1.1rem;display:flex}.search-box input{color:hsl(var(--foreground));background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.clear-search{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.clear-search:hover{color:#ef4444}.device-select{border:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground));cursor:pointer;background:#1e293b66;border-radius:14px;outline:none;padding:.65rem 1.1rem;font-size:.85rem;font-weight:700}.filter-pills{border:1px solid hsl(var(--border) / .5);border-radius:14px;align-items:center;gap:.25rem;padding:.3rem;display:flex}.pill-btn{color:hsl(var(--foreground) / .6);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:.45rem .9rem;font-size:.8rem;font-weight:700;transition:all .2s}.pill-btn:hover{color:hsl(var(--foreground))}.pill-btn.active{color:#fff;background-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.notification-stats-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-chip{cursor:pointer;border:1px solid hsl(var(--border) / .5);border-radius:16px;align-items:center;gap:1rem;padding:.9rem 1.25rem;transition:all .2s;display:flex}.stat-chip:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 14px #3b82f626}.stat-chip-icon{border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-total{color:#3b82f6;background:#3b82f626}.stat-alert{color:#ef4444;background:#ef444426}.stat-change{color:#10b981;background:#10b98126}.stat-event{color:#a855f7;background:#a855f726}.stat-chip-content{flex-direction:column;display:flex}.stat-num{font-size:1.2rem;font-weight:800;line-height:1.2}.offline-notice{color:hsl(var(--foreground) / .85);background:#f59e0b1a;border-left:4px solid #f59e0b;border-radius:14px;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.85rem;display:flex}.notice-retry-btn{color:#f59e0b;cursor:pointer;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:8px;margin-left:auto;padding:.3rem .8rem;font-size:.78rem;font-weight:700}.pill-alert.active{color:#fff!important;background-color:#ef4444!important;box-shadow:0 4px 12px #ef44444d!important}.notifications-list{border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.table-header{background-color:hsl(var(--foreground) / .05);text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground) / .5);border-bottom:1px solid hsl(var(--border));align-items:center;padding:1rem 1.5rem;font-size:.75rem;font-weight:800;display:flex}.col-date{flex-direction:column;flex:1.6;display:flex}.col-type{flex:1.1}.col-device{flex:1.5}.col-message{flex:4;justify-content:space-between;align-items:center;display:flex}.device-tag{color:#3b82f6;text-overflow:ellipsis;white-space:nowrap;background:#3b82f61a;border-radius:8px;align-items:center;gap:.35rem;max-width:170px;padding:.25rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex;overflow:hidden}.load-more-container{border-top:1px solid hsl(var(--border) / .3);justify-content:center;padding:1.5rem;display:flex}.load-more-btn{cursor:pointer;color:hsl(var(--foreground));border:1px solid hsl(var(--border) / .5);border-radius:14px;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.88rem;font-weight:700;transition:all .2s;display:flex}.load-more-btn:hover:not(:disabled){color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.table-row{border-bottom:1px solid hsl(var(--border) / .4);cursor:pointer;flex-direction:column;transition:background-color .15s;display:flex}.table-row:hover{background-color:hsl(var(--foreground) / .03)}.row-main{align-items:center;padding:.9rem 1.5rem;display:flex}.date-str{font-size:.85rem;font-weight:700}.time-str{color:hsl(var(--foreground) / .5);font-size:.72rem}.type-badge{background-color:hsl(var(--foreground) / .06);color:hsl(var(--foreground) / .8);border-radius:50px;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.badge-error{color:#ef4444;background-color:#ef444426}.row-error{background-color:#ef44440a;border-left:4px solid #ef4444}.message-preview{color:hsl(var(--foreground));padding-right:1rem;font-size:.85rem;line-height:1.4}.expand-indicator{color:hsl(var(--foreground) / .4)}.row-details{background-color:hsl(var(--foreground) / .03);border-top:1px dashed hsl(var(--border) / .6);color:hsl(var(--foreground) / .8);flex-direction:column;gap:.4rem;padding:.9rem 1.5rem;font-size:.82rem;display:flex}.detail-item strong{color:hsl(var(--foreground))}.loading-state,.empty-state{text-align:center;color:hsl(var(--foreground) / .5);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.chart-page{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.chart-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.chart-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.chart-page .header-text h1{align-items:center;gap:.65rem;margin-bottom:.25rem;font-size:1.35rem;font-weight:700;display:flex}.chart-page .header-text p{color:hsl(var(--foreground) / .55);font-size:.85rem}.timeline-container{flex-direction:column;gap:1.25rem;display:flex}.day-group{border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.day-header{color:hsl(var(--primary));border-bottom:1px solid hsl(var(--border) / .5);align-items:center;gap:.5rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:700;display:flex}.events-list{flex-direction:column;gap:.75rem;display:flex}.event-card{border-radius:var(--radius);background-color:hsl(var(--foreground) / .03);border:1px solid hsl(var(--border) / .5);border-left-width:4px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;transition:transform .15s;display:flex}.event-card:hover{transform:translate(4px)}.event-info{flex-direction:column;gap:.25rem;display:flex}.event-title{color:hsl(var(--foreground));font-size:.9375rem;font-weight:700}.event-time{color:hsl(var(--foreground) / .5);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.event-duration{color:hsl(var(--primary));border-radius:50px;padding:.35rem .75rem;font-size:.75rem;font-weight:700}.farming-tracker-page{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.farming-tracker-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.farming-tracker-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.farming-tracker-page .header-text h1{align-items:center;gap:.65rem;margin-bottom:.25rem;font-size:1.35rem;font-weight:700;display:flex}.farming-tracker-page .header-text p{color:hsl(var(--foreground) / .55);font-size:.85rem}.header-actions{align-items:center;gap:1rem;display:flex}.add-log-btn{border-radius:var(--radius);background-color:hsl(var(--primary));color:#fff;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;display:flex}.tracker-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.tracker-card{border-radius:var(--radius);flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.tracker-card.is-closed{opacity:.65}.card-header{justify-content:space-between;align-items:center;display:flex}.crop-title{align-items:center;gap:.5rem;display:flex}.crop-title h3{font-size:1.05rem;font-weight:700}.card-actions{align-items:center;gap:.5rem;display:flex}.status-toggle{border-radius:50px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.75rem;font-weight:700;display:flex}.status-toggle.open{color:#4caf50;background-color:#4caf5020}.status-toggle.closed{background-color:hsl(var(--foreground) / .1);color:hsl(var(--foreground) / .5)}.log-note{color:hsl(var(--foreground) / .8);font-size:.875rem;line-height:1.4}.reminder-info{color:hsl(var(--foreground) / .6);border-top:1px solid hsl(var(--border) / .5);align-items:center;gap:.5rem;padding-top:.65rem;font-size:.8rem;display:flex}.days-badge{background-color:hsl(var(--primary) / .15);color:hsl(var(--primary));border-radius:4px;padding:.2rem .5rem;font-weight:700}.days-badge.urgent{color:#ef4444;background-color:#ef444420}.ai-page{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.ai-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.ai-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.ai-page .header-text h1{align-items:center;gap:.65rem;margin-bottom:.25rem;font-size:1.35rem;font-weight:700;display:flex}.ai-page .header-text p{color:hsl(var(--foreground) / .55);font-size:.85rem}.tab-pills{border-radius:var(--radius);align-items:center;gap:.35rem;padding:.35rem;display:flex}.tab-btn{border-radius:calc(var(--radius) - .25rem);color:hsl(var(--foreground) / .6);align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.tab-btn:hover{color:hsl(var(--foreground))}.tab-btn.active{background-color:hsl(var(--primary));color:#fff}.chat-container{border-radius:var(--radius);flex-direction:column;height:600px;display:flex;overflow:hidden}.messages-box{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.message-row{align-items:flex-start;gap:.75rem;max-width:80%;display:flex}.message-row.user{flex-direction:row-reverse;align-self:flex-end}.avatar-icon{background-color:hsl(var(--primary) / .1);width:34px;height:34px;color:hsl(var(--primary));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.message-row.user .avatar-icon{background-color:hsl(var(--foreground) / .1);color:hsl(var(--foreground))}.message-bubble{background-color:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .5);border-radius:18px;padding:.85rem 1.25rem;font-size:.9375rem;line-height:1.5}.message-row.user .message-bubble{background-color:hsl(var(--primary));color:#fff;border-color:#0000}.typing-bubble{color:hsl(var(--foreground) / .6);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.chat-input-bar{background-color:hsl(var(--foreground) / .03);border-top:1px solid hsl(var(--border) / .5);align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.chat-input-bar input{border-radius:var(--radius);background-color:hsl(var(--background) / .5);border:1px solid hsl(var(--border));color:hsl(var(--foreground));outline:none;flex:1;padding:.75rem 1.25rem;font-size:.9375rem}.send-btn{border-radius:var(--radius);background-color:hsl(var(--primary));color:#fff;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.send-btn:disabled{opacity:.4;cursor:not-allowed}.crop-health-container{flex-direction:column;gap:1.25rem;display:flex}.health-header{border-radius:var(--radius);align-items:center;gap:1.25rem;padding:1.5rem 2rem;display:flex}.diseases-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.disease-card{border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.disease-card-header{align-items:center;gap:.75rem;display:flex}.crop-badge{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:50px;margin-left:auto;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.disease-info{font-size:.875rem;line-height:1.4}.disease-info.treatment{border-top:1px solid hsl(var(--border) / .5);color:#4caf50;padding-top:.85rem}.products-page{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.products-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.products-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.products-page .header-text h1{align-items:center;gap:.65rem;margin-bottom:.25rem;font-size:1.35rem;font-weight:700;display:flex}.products-page .header-text p{color:hsl(var(--foreground) / .55);font-size:.85rem}.add-guide-btn{border-radius:var(--radius);background-color:hsl(var(--primary));color:#fff;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;display:flex}.products-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.lang-pills{border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.guides-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.guide-card{border-radius:var(--radius);flex-direction:column;gap:.85rem;padding:1.5rem;display:flex}.card-top{justify-content:space-between;align-items:center;display:flex}.lang-badge{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:50px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.video-badge{color:#ef4444;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}.guide-title{font-size:1.05rem;font-weight:700}.guide-note{color:hsl(var(--foreground) / .7);font-size:.875rem;line-height:1.4}.watch-btn{border-radius:var(--radius);color:#ef4444;background-color:#ef444415;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:.65rem;font-size:.8125rem;font-weight:700;transition:all .2s;display:flex}.watch-btn:hover{background-color:#ef444430}.video-modal-box{border-radius:var(--radius);width:100%;max-width:800px;height:480px;padding:0;position:relative;overflow:hidden}.video-modal-box iframe{border:none;width:100%;height:100%}.manage-user-page{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.manage-user-page .page-header{border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.manage-user-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.manage-user-page .header-text h1{align-items:center;gap:.65rem;margin-bottom:.25rem;font-size:1.35rem;font-weight:700;display:flex}.manage-user-page .header-text p{color:hsl(var(--foreground) / .55);font-size:.85rem}.add-user-btn{border-radius:var(--radius);background-color:hsl(var(--primary));color:#fff;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;display:flex}.user-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.role-filter-pills{border-radius:var(--radius);align-items:center;gap:.35rem;padding:.5rem 1rem;display:flex}.users-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.user-card{border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.user-card.disabled-user{opacity:.6;border-style:dashed}.user-card-header{align-items:center;gap:.75rem;display:flex}.user-avatar-badge{background-color:hsl(var(--primary) / .1);width:42px;height:42px;color:hsl(var(--primary));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-name{font-size:1.05rem;font-weight:700}.role-badge{text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.725rem;font-weight:700;display:inline-block}.role-4{color:#ef4444;background-color:#ef444420}.role-3{color:#9c27b0;background-color:#9c27b020}.role-2{color:#2196f3;background-color:#2196f320}.role-1{color:#4caf50;background-color:#4caf5020}.user-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.icon-btn{background-color:hsl(var(--foreground) / .05);width:32px;height:32px;color:hsl(var(--foreground) / .7);border-radius:8px;justify-content:center;align-items:center;display:flex}.icon-btn.toggle.enable{color:#4caf50}.icon-btn.toggle.disable{color:#ef4444}.user-card-body{border-top:1px solid hsl(var(--border) / .5);flex-direction:column;gap:.5rem;padding-top:.75rem;font-size:.85rem;display:flex}.info-item{color:hsl(var(--foreground) / .7);align-items:center;gap:.5rem;display:flex}.status-tag{font-size:.75rem;font-weight:700}.tag-active{color:#4caf50}.tag-disabled{color:#ef4444}.manage-unit-page{flex-direction:column;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.unit-toast{z-index:2000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 10px 30px #0000004d}.unit-toast.toast-success{color:#fff;background:#10b981f2}.unit-toast.toast-error{color:#fff;background:#ef4444f2}.unit-header{border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.unit-header .header-left{align-items:center;gap:1.2rem;display:flex}.unit-title{color:hsl(var(--foreground));letter-spacing:-.3px;margin:0;font-size:1.35rem;font-weight:800}.unit-hub-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.hub-card{cursor:pointer;border-radius:20px;flex-direction:column;gap:.85rem;padding:1.75rem 1.5rem;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.hub-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000026}.hub-card.color-green:hover{border-color:#4caf5080}.hub-card.color-blue:hover{border-color:#2196f380}.hub-card.color-orange:hover{border-color:#ff980080}.hub-card.color-red:hover{border-color:#f4433680}.hub-card.color-purple:hover{border-color:#9c27b080}.hub-card.color-teal:hover{border-color:#14b8a680}.hub-icon-wrapper{border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.35rem;transition:transform .25s;display:flex}.hub-card:hover .hub-icon-wrapper{transform:scale(1.08)}.hub-icon-wrapper.green{color:#4caf50;background:#4caf5026}.hub-icon-wrapper.blue{color:#2196f3;background:#2196f326}.hub-icon-wrapper.orange{color:#ff9800;background:#ff980026}.hub-icon-wrapper.red{color:#f44336;background:#f4433626}.hub-icon-wrapper.purple{color:#9c27b0;background:#9c27b026}.hub-icon-wrapper.teal{color:#14b8a6;background:#14b8a626}.hub-title{color:hsl(var(--foreground));margin:0;font-size:1.2rem;font-weight:800}.hub-desc{color:hsl(var(--foreground) / .65);flex-grow:1;margin:0;font-size:.85rem;line-height:1.4}.hub-footer{border-top:1px solid var(--glass-border);color:hsl(var(--foreground) / .75);justify-content:space-between;align-items:center;padding-top:.85rem;font-size:.8rem;font-weight:700;display:flex}.hub-card.color-green .hub-footer{color:#4caf50}.hub-card.color-blue .hub-footer{color:#2196f3}.hub-card.color-orange .hub-footer{color:#ff9800}.hub-card.color-red .hub-footer{color:#f44336}.hub-card.color-purple .hub-footer{color:#9c27b0}.hub-card.color-teal .hub-footer{color:#14b8a6}.unit-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.unit-modal-card{border-radius:20px;flex-direction:column;width:100%;max-height:90vh;display:flex;overflow:hidden}.unit-modal-card.max-w-500{max-width:500px}.unit-modal-card.max-w-540{max-width:540px}.unit-modal-card.max-w-580{max-width:580px}.unit-modal-card.max-w-1100{width:95vw;max-width:1100px}.modal-icon-badge{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.modal-icon-badge.green{color:#4caf50;background:#4caf5026}.modal-icon-badge.blue{color:#2196f3;background:#2196f326}.modal-icon-badge.orange{color:#ff9800;background:#ff980026}.modal-icon-badge.red{color:#f44336;background:#f4433626}.modal-icon-badge.purple{color:#9c27b0;background:#9c27b026}.close-btn{width:32px;height:32px;color:hsl(var(--foreground) / .6);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-btn:hover{background:var(--glass-bg);color:hsl(var(--foreground))}.modal-form-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;overflow-y:auto}.input-field-wrapper{align-items:center;display:flex;position:relative}.input-icon{pointer-events:none;position:absolute;left:1rem}.input-field-wrapper input{background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;color:hsl(var(--foreground));border-radius:12px;outline:none;padding:.75rem 1rem .75rem 2.75rem;font-size:.925rem;font-weight:600;transition:border-color .2s}.input-field-wrapper input:focus{border-color:hsl(var(--primary))}.input-field-wrapper input:disabled{opacity:.7;cursor:not-allowed;padding-right:3rem}.copy-btn-inner{width:32px;height:32px;color:hsl(var(--foreground) / .7);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.copy-btn-inner:hover{color:hsl(var(--foreground));background:hsl(var(--primary) / .15)}.recent-imeis-dropdown{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-direction:column;gap:.25rem;margin-top:.25rem;padding:.6rem;display:flex}.dropdown-header{text-transform:uppercase;color:hsl(var(--foreground) / .55);align-items:center;gap:.35rem;padding:0 .35rem .35rem;font-size:.7rem;font-weight:700;display:flex}.recent-imei-btn{color:hsl(var(--foreground) / .85);background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .65rem;font-family:monospace;font-size:.825rem;font-weight:600;transition:all .15s;display:flex}.recent-imei-btn:hover{background:hsl(var(--primary) / .15);color:hsl(var(--foreground))}.form-step-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;flex-direction:column;gap:.6rem;padding:1.15rem;display:flex}.step-tag{text-transform:uppercase;color:#2196f3;background:#2196f326;border-radius:4px;width:fit-content;padding:.15rem .5rem;font-size:.675rem;font-weight:800}.step-label{color:hsl(var(--foreground));font-size:.85rem;font-weight:700}.step-actions{justify-content:flex-end;margin-top:.35rem;display:flex}.btn-validate{color:#fff;background:#3b82f6;border-radius:10px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #3b82f64d}.btn-validate:hover:not(:disabled){background:#2563eb}.validation-box{background:#00000026;border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.validation-item{color:hsl(var(--foreground));align-items:center;gap:.55rem;font-size:.825rem;display:flex}.val-icon{align-items:center;display:flex}.assigned-users-table{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.75rem;display:flex}.table-heading{color:hsl(var(--foreground) / .7);text-transform:uppercase;font-size:.75rem;font-weight:700}.user-rows-list{flex-direction:column;gap:.25rem;display:flex}.user-row-item{background:#0000001a;border-radius:6px;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.8rem;display:flex}.user-name-col{color:hsl(var(--foreground));font-weight:700}.device-name-col{color:hsl(var(--foreground) / .65)}.confirm-safeguard-box{color:hsl(var(--foreground));background:#ff98001a;border:1px solid #ff98004d;border-radius:12px;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.825rem;display:flex}.confirm-safeguard-box.danger{background:#f443361a;border-color:#f443364d}.confirm-input-field{background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;color:hsl(var(--foreground));text-align:center;letter-spacing:2px;text-transform:uppercase;border-radius:12px;outline:none;padding:.75rem 1rem;font-size:.95rem;font-weight:800}.confirm-input-field:focus{border-color:#ff9800}.confirm-input-field.danger:focus{border-color:#f44336}.sim-type-selector{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;grid-template-columns:1fr 1fr;gap:.5rem;padding:.3rem;display:grid}.sim-type-option{color:hsl(var(--foreground) / .7);text-align:center;border-radius:9px;padding:.6rem;font-size:.825rem;font-weight:700;transition:all .2s}.sim-type-option.active{color:#fff;background:#9c27b0;box-shadow:0 4px 12px #9c27b059}.date-toggle-group{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;flex-direction:column;gap:.45rem;margin-top:.25rem;padding:.85rem;display:flex}.toggle-header{justify-content:space-between;align-items:center;display:flex}.toggle-header label{color:hsl(var(--foreground));font-size:.8rem;font-weight:700}.date-checkbox{color:hsl(var(--foreground) / .75);cursor:pointer;align-items:center;gap:.45rem;font-size:.775rem;font-weight:600;display:flex}.checkbox-box{border:1px solid hsl(var(--foreground) / .3);background:var(--glass-bg);color:#fff;border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.date-checkbox.checked .checkbox-box{background:#9c27b0;border-color:#9c27b0}.date-input-row{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.date-input-row .input-field-wrapper{flex:1}.date-input-row input[type=date]{background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;color:hsl(var(--foreground));border-radius:10px;outline:none;padding:.6rem 1rem .6rem 2.6rem;font-size:.875rem;font-weight:600}.expiry-tag{color:#9c27b0;white-space:nowrap;background:#9c27b026;border-radius:8px;padding:.35rem .65rem;font-size:.75rem;font-weight:700}.modal-actions-row{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.btn-cancel{background:var(--glass-bg);border:1px solid var(--glass-border);color:hsl(var(--foreground) / .8);border-radius:10px;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .2s}.btn-cancel:hover{color:hsl(var(--foreground));background:#ffffff14}.btn-save{color:#fff;border-radius:10px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .2s}.btn-save.green{background:#4caf50;box-shadow:0 4px 14px #4caf5059}.btn-save.green:hover:not(:disabled){background:#43a047}.btn-save.blue{background:#2196f3;box-shadow:0 4px 14px #2196f359}.btn-save.blue:hover:not(:disabled){background:#1e88e5}.btn-save.orange{background:#ff9800;box-shadow:0 4px 14px #ff980059}.btn-save.orange:hover:not(:disabled){background:#fb8c00}.btn-save.red{background:#f44336;box-shadow:0 4px 14px #f4433659}.btn-save.red:hover:not(:disabled){background:#e53935}.btn-save.purple{background:#9c27b0;box-shadow:0 4px 14px #9c27b059}.btn-save.purple:hover:not(:disabled){background:#8e24aa}.btn-save:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.modal-icon-badge.teal{color:#14b8a6;background:#14b8a626}.modal-header-actions{align-items:center;gap:.5rem;display:flex}.modal-action-btn{cursor:pointer;background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .8);color:hsl(var(--foreground) / .85);border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.modal-action-btn:hover:not(:disabled){background:hsl(var(--foreground) / .1);color:hsl(var(--foreground));transform:translateY(-1px)}.modal-action-btn.export-btn{color:#14b8a6;background:#14b8a61f;border-color:#14b8a64d}.modal-action-btn.export-btn:hover:not(:disabled){color:#0d9488;background:#14b8a633;border-color:#14b8a680}.modal-action-btn:disabled{opacity:.5;cursor:not-allowed}.sim-report-body{flex-direction:column;gap:1rem;max-height:calc(88vh - 85px);padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.sim-stats-grid{grid-template-columns:repeat(4,1fr);gap:.85rem;display:grid}.sim-stat-card{background:hsl(var(--foreground) / .03);border:1px solid hsl(var(--border) / .7);border-radius:14px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;transition:transform .2s;display:flex}.sim-stat-card:hover{background:hsl(var(--foreground) / .05);transform:translateY(-2px)}.sim-stat-card .stat-label{color:hsl(var(--foreground) / .6);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.sim-stat-card .stat-value{color:hsl(var(--foreground));font-size:1.5rem;font-weight:800;line-height:1.2}.sim-stat-card .stat-value.text-blue{color:#3b82f6}.sim-stat-card .stat-value.text-purple{color:#a855f7}.sim-stat-card .stat-value.text-red{color:#ef4444}.sim-stat-card .stat-value.text-green{color:#10b981}.sim-stat-card .stat-sub{color:hsl(var(--foreground) / .5);font-size:.72rem}.sim-filters-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;display:flex}.search-box{flex:1;align-items:center;min-width:260px;display:flex;position:relative}.search-box .search-icon{color:hsl(var(--foreground) / .45);pointer-events:none;position:absolute;left:.85rem}.search-box input{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);width:100%;color:hsl(var(--foreground));border-radius:12px;outline:none;padding:.55rem 2.2rem .55rem 2.4rem;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.search-box input:focus{border-color:#14b8a699;box-shadow:0 0 0 3px #14b8a626}.filter-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-group .filter-icon{color:hsl(var(--foreground) / .5)}.filter-select{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);color:hsl(var(--foreground) / .9);cursor:pointer;border-radius:12px;outline:none;padding:.52rem .85rem;font-size:.8rem;font-weight:600;transition:border-color .2s}.filter-select:focus{border-color:#14b8a699}.filter-select option{color:#fff;background:#1e1e24}.sim-table-container{border:1px solid hsl(var(--border) / .7);background:hsl(var(--foreground) / .015);border-radius:14px;max-height:52vh;overflow:auto;box-shadow:inset 0 2px 6px #0000000f}.sim-table{border-collapse:collapse;text-align:left;width:100%;font-size:.82rem}.sim-table thead th{z-index:10;background:hsl(var(--background) / .95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:hsl(var(--foreground) / .7);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid hsl(var(--border) / .8);white-space:nowrap;padding:.75rem .85rem;font-size:.74rem;font-weight:700;position:sticky;top:0}.sim-table tbody tr{border-bottom:1px solid hsl(var(--border) / .4);transition:background-color .15s}.sim-table tbody tr:hover{background:hsl(var(--foreground) / .035)}.sim-table tbody td{vertical-align:middle;color:hsl(var(--foreground) / .9);padding:.75rem .85rem}.imei-cell-wrapper{align-items:center;gap:.45rem;display:inline-flex}.mono-imei{color:hsl(var(--foreground));letter-spacing:.3px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.copy-mini-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .5);cursor:pointer;color:hsl(var(--foreground) / .6);border-radius:6px;justify-content:center;align-items:center;padding:.2rem .3rem;transition:all .15s;display:inline-flex}.copy-mini-btn:hover{color:#14b8a6;background:#14b8a626;border-color:#14b8a666}.user-names-cell{align-items:center;gap:.45rem;max-width:260px;display:flex}.user-names-text{color:hsl(var(--foreground) / .95);white-space:normal;word-break:break-word;font-weight:600;line-height:1.35}.user-count-tag{color:#6366f1;white-space:nowrap;background:#6366f126;border:1px solid #6366f14d;border-radius:6px;flex-shrink:0;align-items:center;gap:.2rem;padding:.1rem .35rem;font-size:.7rem;font-weight:700;display:inline-flex}.sim-number-text{color:hsl(var(--foreground) / .9);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:600}.type-badge{white-space:nowrap;border-radius:8px;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-block}.type-badge.customer{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.type-badge.iot{color:#a855f7;background:#a855f726;border:1px solid #a855f74d}.type-badge.unassigned{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground) / .6);border:1px solid hsl(var(--border) / .6)}.log-days-text{color:#06b6d4;background:#06b6d41a;border-radius:6px;padding:.15rem .45rem;font-size:.75rem;font-weight:700}.expiry-cell{flex-direction:column;gap:.2rem;display:flex}.expiry-date{color:hsl(var(--foreground));font-size:.8rem;font-weight:600}.expiry-pill{border-radius:5px;width:fit-content;padding:.1rem .4rem;font-size:.7rem;font-weight:700;display:inline-block}.expiry-pill.active{color:#10b981;background:#10b98126}.expiry-pill.warning{color:#f59e0b;background:#f59e0b26}.expiry-pill.expired{color:#ef4444;background:#ef444426}.last-update-text{color:hsl(var(--foreground) / .7);white-space:nowrap;font-size:.75rem}.row-edit-btn{color:#9c27b0;cursor:pointer;background:#9c27b01f;border:1px solid #9c27b04d;border-radius:8px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.75rem;font-weight:700;transition:all .2s;display:inline-flex}.row-edit-btn:hover{color:#fff;background:#9c27b0;transform:translateY(-1px);box-shadow:0 3px 8px #9c27b059}.sim-table-loading,.sim-table-empty,.sim-table-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.sim-table-empty .empty-icon{color:hsl(var(--foreground) / .3)}.sim-table-empty h4,.sim-table-error h4{color:hsl(var(--foreground));margin:0;font-size:1.1rem}.sim-table-empty p,.sim-table-error p{color:hsl(var(--foreground) / .6);max-width:450px;margin:0;font-size:.85rem}.btn-reset-filters,.btn-retry{color:#14b8a6;cursor:pointer;background:#14b8a626;border:1px solid #14b8a666;border-radius:8px;padding:.45rem 1rem;font-size:.8rem;font-weight:700;transition:all .2s}.btn-reset-filters:hover,.btn-retry:hover{color:#fff;background:#14b8a6}.sim-report-footer{border-top:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground) / .6);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.5rem;font-size:.78rem;display:flex}.footer-legend{align-items:center;gap:1rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:inline-flex}.legend-dot.green{background:#10b981}.legend-dot.yellow{background:#f59e0b}.legend-dot.red{background:#ef4444}@media (width<=900px){.sim-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.manage-unit-page{gap:1rem;padding:1rem}.unit-hub-grid{grid-template-columns:1fr}.sim-filters-bar{flex-direction:column;align-items:stretch}.filter-group{justify-content:space-between}.filter-select{flex:1}}.sim-report-page{flex-direction:column;gap:1.5rem;width:100%;max-width:1440px;min-height:calc(100vh - 80px);margin:0 auto;padding:1.5rem;display:flex}.sim-toast{z-index:2000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 10px 30px #0000004d}.sim-toast.toast-success{color:#fff;background:#10b981f2}.sim-toast.toast-error{color:#fff;background:#ef4444f2}.sim-report-header{border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.sim-report-header .header-left{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.sim-back-btn{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:12px;align-items:center;gap:.55rem;padding:.45rem 1rem .45rem .5rem;font-size:.875rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 6px #0000000a}.sim-back-btn .btn-icon-wrap{background:hsl(var(--foreground) / .06);width:28px;height:28px;color:hsl(var(--foreground) / .8);border:1px solid hsl(var(--border) / .4);border-radius:8px;justify-content:center;align-items:center;transition:all .25s;display:flex}.sim-back-btn .btn-label{letter-spacing:.2px}.sim-back-btn:hover{color:#14b8a6;background:#14b8a61f;border-color:#14b8a673;transform:translate(-2px);box-shadow:0 4px 14px #14b8a633}.sim-back-btn:hover .btn-icon-wrap{color:#fff;background:#14b8a6;border-color:#14b8a6;transform:translate(-2px);box-shadow:0 2px 8px #14b8a666}.title-icon-badge{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.title-icon-badge.teal{color:#14b8a6;background:#14b8a626;border:1px solid #14b8a64d}.sim-pill{text-transform:uppercase;letter-spacing:.4px;border-radius:6px;padding:.15rem .5rem;font-size:.68rem;font-weight:700}.sim-pill.teal{color:#14b8a6;background:#14b8a626;border:1px solid #14b8a64d}.sim-pill.outline{color:hsl(var(--foreground) / .7);border:1px solid hsl(var(--border) / .8);background:0 0}.sim-title{color:hsl(var(--foreground));letter-spacing:-.3px;margin:0;font-size:1.35rem;font-weight:800}.sim-header-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.action-btn-pill{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);color:hsl(var(--foreground) / .85);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:.55rem;padding:.45rem 1rem .45rem .5rem;font-size:.875rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 6px #0000000a}.action-btn-pill .btn-icon-wrap{background:hsl(var(--foreground) / .06);width:28px;height:28px;color:hsl(var(--foreground) / .8);border:1px solid hsl(var(--border) / .4);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .25s;display:flex}.action-btn-pill .btn-label{letter-spacing:.2px}.action-btn-pill.refresh-btn:hover:not(:disabled){color:#14b8a6;background:#14b8a61f;border-color:#14b8a673;transform:translateY(-2px);box-shadow:0 4px 14px #14b8a633}.action-btn-pill.refresh-btn:hover:not(:disabled) .btn-icon-wrap{color:#fff;background:#14b8a6;border-color:#14b8a6;box-shadow:0 2px 8px #14b8a666}.action-btn-pill.refresh-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #14b8a626}.action-btn-pill.export-btn{color:#14b8a6;background:#14b8a614;border-color:#14b8a659}.action-btn-pill.export-btn .btn-icon-wrap{color:#14b8a6;background:#14b8a624;border-color:#14b8a64d}.action-btn-pill.export-btn:hover:not(:disabled){color:#0d9488;background:#14b8a633;border-color:#14b8a68c;transform:translateY(-2px);box-shadow:0 4px 14px #14b8a640}.action-btn-pill.export-btn:hover:not(:disabled) .btn-icon-wrap{color:#fff;background:#14b8a6;border-color:#14b8a6;box-shadow:0 2px 8px #14b8a666}.action-btn-pill.export-btn:active:not(:disabled){transform:translateY(0)}.action-btn-pill:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.sim-page-stats{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.sim-kpi-card{border-radius:18px;flex-direction:column;gap:.35rem;padding:1.1rem 1.25rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.sim-kpi-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001f}.sim-kpi-card .kpi-label{color:hsl(var(--foreground) / .6);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.sim-kpi-card .kpi-value{color:hsl(var(--foreground));font-size:1.85rem;font-weight:800;line-height:1.2}.sim-kpi-card .kpi-value.text-blue{color:#3b82f6}.sim-kpi-card .kpi-value.text-purple{color:#a855f7}.sim-kpi-card .kpi-value.text-red{color:#ef4444}.sim-kpi-card .kpi-value.text-green{color:#10b981}.sim-kpi-card .kpi-sub{color:hsl(var(--foreground) / .5);font-size:.75rem}.sim-toolbar-card{border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.sim-search-wrap{flex:1;align-items:center;min-width:280px;display:flex;position:relative}.sim-search-wrap .search-icon{color:hsl(var(--foreground) / .45);pointer-events:none;position:absolute;left:.95rem}.sim-search-wrap input{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);width:100%;color:hsl(var(--foreground));border-radius:12px;outline:none;padding:.65rem 2.4rem .65rem 2.6rem;font-size:.88rem;transition:border-color .2s,box-shadow .2s}.sim-search-wrap input:focus{border-color:#14b8a699;box-shadow:0 0 0 3px #14b8a626}.clear-search-btn{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.2rem;display:flex;position:absolute;right:.75rem}.clear-search-btn:hover{color:hsl(var(--foreground));background:hsl(var(--foreground) / .1)}.sim-filter-group{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.sim-filter-group .filter-icon{color:hsl(var(--foreground) / .5)}.sim-select{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);color:hsl(var(--foreground) / .9);cursor:pointer;border-radius:12px;outline:none;padding:.6rem 1rem;font-size:.82rem;font-weight:600;transition:border-color .2s}.sim-select:focus{border-color:#14b8a699}.sim-select option{color:#fff;background:#1e1e24}.sim-page-table-card{border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000014}.sim-table-scroll-area{min-height:400px;max-height:calc(100vh - 360px);overflow:auto}.sim-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.sim-data-table thead th{z-index:10;background:hsl(var(--background) / .96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:hsl(var(--foreground) / .7);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid hsl(var(--border) / .8);white-space:nowrap;padding:.85rem 1rem;font-size:.75rem;font-weight:700;position:sticky;top:0}.sim-data-table tbody tr{border-bottom:1px solid hsl(var(--border) / .4);transition:background-color .15s}.sim-data-table tbody tr:hover{background:hsl(var(--foreground) / .035)}.sim-data-table tbody td{vertical-align:middle;color:hsl(var(--foreground) / .9);padding:.85rem 1rem}.imei-badge-wrap{align-items:center;gap:.5rem;display:inline-flex}.imei-code{color:hsl(var(--foreground));letter-spacing:.4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88rem;font-weight:700}.copy-icon-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .5);cursor:pointer;color:hsl(var(--foreground) / .6);border-radius:6px;justify-content:center;align-items:center;padding:.25rem .35rem;transition:all .15s;display:inline-flex}.copy-icon-btn:hover{color:#14b8a6;background:#14b8a626;border-color:#14b8a666}.users-list-cell{align-items:center;gap:.55rem;max-width:340px;display:flex}.users-comma-text{color:hsl(var(--foreground) / .95);white-space:normal;word-break:break-word;font-weight:600;line-height:1.4}.users-count-tag{color:#6366f1;white-space:nowrap;background:#6366f126;border:1px solid #6366f14d;border-radius:6px;flex-shrink:0;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.sim-mono-num{color:hsl(var(--foreground) / .95);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:600}.badge-sim-type{white-space:nowrap;border-radius:8px;padding:.22rem .65rem;font-size:.74rem;font-weight:700;display:inline-block}.badge-sim-type.customer{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.badge-sim-type.iot{color:#a855f7;background:#a855f726;border:1px solid #a855f74d}.badge-sim-type.unassigned{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground) / .6);border:1px solid hsl(var(--border) / .6)}.badge-log-days{color:#06b6d4;white-space:nowrap;background:#06b6d41f;border-radius:6px;padding:.2rem .5rem;font-size:.76rem;font-weight:700}.expiry-cell-block{flex-direction:column;gap:.25rem;display:flex}.expiry-val-date{color:hsl(var(--foreground));font-size:.82rem;font-weight:600}.status-expiry-tag{white-space:nowrap;border-radius:6px;width:fit-content;padding:.12rem .45rem;font-size:.7rem;font-weight:700;display:inline-block}.status-expiry-tag.active{color:#10b981;background:#10b98126}.status-expiry-tag.warning{color:#f59e0b;background:#f59e0b26}.status-expiry-tag.expired{color:#ef4444;background:#ef444426}.last-update-val{color:hsl(var(--foreground) / .7);white-space:nowrap;font-size:.78rem}.btn-table-edit{color:#9c27b0;cursor:pointer;white-space:nowrap;background:#9c27b01f;border:1px solid #9c27b04d;border-radius:9px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-table-edit:hover{color:#fff;background:#9c27b0;transform:translateY(-1px);box-shadow:0 3px 8px #9c27b059}.sim-page-loading,.sim-page-empty,.sim-page-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.sim-page-empty .empty-icon{color:hsl(var(--foreground) / .3)}.sim-page-empty h4,.sim-page-error h4{color:hsl(var(--foreground));margin:0;font-size:1.2rem}.sim-page-empty p,.sim-page-error p{color:hsl(var(--foreground) / .6);max-width:500px;margin:0;font-size:.88rem}.btn-action-refresh{color:#14b8a6;cursor:pointer;background:#14b8a626;border:1px solid #14b8a666;border-radius:10px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .2s}.btn-action-refresh:hover{color:#fff;background:#14b8a6}.sim-table-footer-bar{border-top:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .65);background:hsl(var(--foreground) / .015);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 1.25rem;font-size:.82rem;display:flex}.sim-pagination-left{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.sim-page-size-wrap{align-items:center;gap:.5rem;display:inline-flex}.sim-footer-label{color:hsl(var(--foreground) / .7);font-size:.82rem;font-weight:500}.sim-page-size-select{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .8);color:hsl(var(--foreground));cursor:pointer;border-radius:8px;outline:none;padding:.3rem .65rem;font-size:.82rem;font-weight:600;transition:all .2s}.sim-page-size-select:focus{border-color:#14b8a6;box-shadow:0 0 0 2px #14b8a633}.sim-pagination-range{color:hsl(var(--foreground) / .75);font-size:.82rem}.sim-pagination-range strong{color:hsl(var(--foreground));font-weight:700}.sim-pagination-nav{align-items:center;gap:.35rem;display:inline-flex}.sim-page-nav-btn{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);width:32px;height:32px;color:hsl(var(--foreground) / .8);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.sim-page-nav-btn:hover:not(:disabled){color:#14b8a6;background:#14b8a626;border-color:#14b8a666;transform:translateY(-1px)}.sim-page-nav-btn:disabled{opacity:.35;cursor:not-allowed;border-color:hsl(var(--border) / .3)}.sim-page-numbers-list{align-items:center;gap:.25rem;display:inline-flex}.sim-page-number-btn{min-width:32px;height:32px;color:hsl(var(--foreground) / .75);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.sim-page-number-btn:hover:not(.active){background:hsl(var(--foreground) / .06);color:hsl(var(--foreground))}.sim-page-number-btn.active{color:#fff;background:#14b8a6;border-color:#14b8a6;font-weight:700;box-shadow:0 2px 8px #14b8a659}.sim-page-ellipsis{color:hsl(var(--foreground) / .4);-webkit-user-select:none;user-select:none;padding:0 .25rem;font-weight:700}.legend-group{align-items:center;gap:1.2rem;display:flex}.legend-chip{align-items:center;gap:.4rem;display:inline-flex}.legend-circle{border-radius:50%;width:8px;height:8px}.legend-circle.green{background:#10b981}.legend-circle.yellow{background:#f59e0b}.legend-circle.red{background:#ef4444}.sim-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.sim-modal-box{border-radius:20px;flex-direction:column;width:100%;max-width:540px;max-height:90vh;display:flex;overflow:hidden}.sim-modal-box .modal-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title-wrap{align-items:center;gap:.85rem;display:flex}.modal-icon-badge.purple{color:#9c27b0;background:#9c27b026;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.modal-close-btn{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.4rem;transition:all .2s}.modal-close-btn:hover{color:hsl(var(--foreground));background:#ffffff14}.sim-modal-form{flex-direction:column;gap:1.15rem;padding:1.5rem;display:flex;overflow-y:auto}.form-input-group{flex-direction:column;gap:.4rem;display:flex}.form-input-group label{color:hsl(var(--foreground) / .7);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.field-icon-wrapper{align-items:center;display:flex;position:relative}.field-icon-wrapper .field-icon{color:#9c27b0;position:absolute;left:.85rem}.field-icon-wrapper input{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);width:100%;color:hsl(var(--foreground));border-radius:12px;outline:none;padding:.65rem .85rem .65rem 2.5rem;font-size:.9rem;transition:border-color .2s}.field-icon-wrapper input:focus{border-color:#9c27b0}.sim-type-button-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.sim-type-btn-opt{border:1px solid hsl(var(--border) / .7);background:hsl(var(--foreground) / .03);color:hsl(var(--foreground) / .7);cursor:pointer;border-radius:10px;padding:.65rem;font-size:.82rem;font-weight:700;transition:all .2s}.sim-type-btn-opt.active{color:#9c27b0;background:#9c27b026;border-color:#9c27b0}.date-toggle-box{background:hsl(var(--foreground) / .02);border:1px solid hsl(var(--border) / .6);border-radius:12px;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.toggle-top-row{justify-content:space-between;align-items:center;display:flex}.toggle-top-row label{color:hsl(var(--foreground) / .8);font-size:.8rem;font-weight:700}.checkbox-toggle-btn{color:hsl(var(--foreground) / .7);cursor:pointer;background:0 0;border:none;align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;display:inline-flex}.checkbox-square{border:1px solid hsl(var(--border) / .8);background:hsl(var(--foreground) / .04);border-radius:5px;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.checkbox-toggle-btn.checked .checkbox-square{color:#fff;background:#9c27b0;border-color:#9c27b0}.date-field-flex{align-items:center;gap:.5rem;display:flex}.date-field-flex .field-icon-wrapper{flex:1}.modal-btn-row{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.btn-secondary{border:1px solid hsl(var(--border) / .8);color:hsl(var(--foreground) / .8);cursor:pointer;background:0 0;border-radius:10px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600}.btn-secondary:hover{color:hsl(var(--foreground));background:#ffffff14}.btn-primary-purple{color:#fff;cursor:pointer;background:#9c27b0;border:none;border-radius:10px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #9c27b059}.btn-primary-purple:hover:not(:disabled){background:#8e24aa}.btn-primary-purple:disabled{opacity:.5;cursor:not-allowed}@media (width<=1024px){.sim-page-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sim-report-page{gap:1rem;padding:1rem}.sim-report-header{flex-direction:column;align-items:stretch}.sim-header-actions{justify-content:flex-end}.sim-toolbar-card{flex-direction:column;align-items:stretch}.sim-filter-group{justify-content:space-between}.sim-select{flex:1}.sim-page-stats{grid-template-columns:1fr}.sim-table-footer-bar{flex-direction:column;align-items:stretch;gap:1rem}.sim-pagination-left{justify-content:space-between}.sim-pagination-nav{justify-content:center;width:100%}}.firmware-management-page{flex-direction:column;gap:1.5rem;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.toast-notification{z-index:2100;border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.875rem;font-weight:600;display:flex;position:fixed;top:80px;right:24px;box-shadow:0 10px 30px #00000059}.toast-notification.success{color:#fff;background:#10b981f2;border-left:4px solid #10b981}.toast-notification.error{color:#fff;background:#ef4444f2;border-left:4px solid #ef4444}.firmware-header{border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.firmware-header .header-left{align-items:center;gap:1.2rem;display:flex}.header-server-path{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground) / .75);border-radius:8px;align-items:center;gap:.45rem;padding:.4rem .85rem;font-family:monospace;font-size:.75rem;display:flex}.header-divider{background:hsl(var(--border) / .6);width:1px;height:38px;margin:0 .35rem}.title-icon-badge{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 6px 16px #8b5cf659}.hub-badge{color:#8b5cf6;text-transform:uppercase;letter-spacing:.5px;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:4px;padding:.15rem .45rem;font-size:.65rem;font-weight:800}.firmware-title{color:hsl(var(--foreground));letter-spacing:-.3px;margin:0;font-size:1.35rem;font-weight:800}.firmware-card{border-radius:20px;flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex;position:relative}.card-section-header{border-bottom:1px solid hsl(var(--border) / .5);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.section-title-wrap{align-items:center;gap:.85rem;display:flex}.icon-pill{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.icon-pill.blue{color:#2196f3;background:#2196f326;border:1px solid #2196f34d}.icon-pill.purple{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf64d}.icon-pill.green{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.section-title-wrap h3{color:hsl(var(--foreground));margin:0 0 .15rem;font-size:1.15rem;font-weight:800}.section-subtitle code,.empty-table-state code{background:hsl(var(--foreground) / .08);color:hsl(var(--primary));border-radius:4px;padding:.15rem .35rem;font-family:monospace}.server-only-tag{color:#8b5cf6;background:#8b5cf61f;border:1px solid #8b5cf64d;border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:flex}.validated-status-tag{color:#10b981;background:#10b98126;border:1px solid #10b9814d;border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:flex}.imei-input-section{flex-direction:column;gap:1.25rem;display:flex}.input-group{flex-direction:column;gap:.4rem;display:flex}.input-group label{color:hsl(var(--foreground) / .6);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.imei-input-row{align-items:center;gap:.75rem;display:flex}.input-field-wrapper{flex:1;align-items:center;display:flex;position:relative}.field-icon{pointer-events:none;position:absolute;left:14px}.imei-input{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);width:100%;color:hsl(var(--foreground));letter-spacing:1px;border-radius:12px;outline:none;padding:.85rem 2.8rem .85rem 2.75rem;font-family:monospace;font-size:1rem;transition:all .2s}.imei-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .15);background:hsl(var(--foreground) / .07)}.imei-input.validated-field{color:#10b981;background:#10b9810d;border-color:#10b98180;font-weight:700}.clear-field-btn,.copy-imei-btn{background:hsl(var(--foreground) / .08);width:28px;height:28px;color:hsl(var(--foreground) / .6);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;right:12px}.clear-field-btn:hover,.copy-imei-btn:hover{background:hsl(var(--foreground) / .15);color:hsl(var(--foreground))}.validate-btn{background:hsl(var(--primary));color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.validate-btn:hover:not(:disabled){background:hsl(var(--primary) / .85);box-shadow:0 4px 14px hsl(var(--primary) / .35);transform:translateY(-1px)}.validate-btn:disabled{opacity:.5;cursor:not-allowed}.revalidate-btn{background:hsl(var(--foreground) / .08);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .85);cursor:pointer;white-space:nowrap;border-radius:12px;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.revalidate-btn:hover{background:hsl(var(--foreground) / .15);color:hsl(var(--foreground))}.recent-imeis-container{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.recent-title{color:hsl(var(--foreground) / .5);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:flex}.recent-pills-list{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.recent-pill{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground) / .8);cursor:pointer;border-radius:20px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-family:monospace;font-size:.75rem;transition:all .15s;display:flex}.recent-pill:hover{background:hsl(var(--primary) / .15);color:hsl(var(--primary));border-color:hsl(var(--primary) / .4)}.recent-pill.active{background:hsl(var(--primary) / .2);color:hsl(var(--primary));border-color:hsl(var(--primary));font-weight:700}.pill-remove-btn{color:hsl(var(--foreground) / .4);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.pill-remove-btn:hover{color:#ef4444}.associated-users-box{background:hsl(var(--foreground) / .02);border:1px solid hsl(var(--border) / .4);border-radius:16px;flex-direction:column;gap:.85rem;padding:1.25rem 1.5rem;display:flex}.users-box-header{justify-content:space-between;align-items:center;display:flex}.users-box-header .header-info{align-items:center;gap:.5rem;display:flex}.users-box-header h4{color:hsl(var(--foreground));margin:0;font-size:.95rem;font-weight:800}.user-count-badge{color:#2196f3;background:#2196f31f;border:1px solid #2196f34d;border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.users-table-container{overflow-x:auto}.associated-users-table{border-collapse:collapse;width:100%;font-size:.85rem}.associated-users-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground) / .5);border-bottom:1px solid hsl(var(--border) / .5);padding:.5rem .75rem;font-size:.75rem;font-weight:700}.associated-users-table td{border-bottom:1px solid hsl(var(--border) / .25);color:hsl(var(--foreground));padding:.65rem .75rem}.user-name-cell strong{color:hsl(var(--foreground));font-weight:700}.mono-cell{letter-spacing:.5px;font-family:monospace}.location-cell{color:hsl(var(--foreground))}.location-badge{color:hsl(var(--foreground));background:#2196f31a;border:1px solid #2196f340;border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.role-chip{color:#10b981;background:#10b98126;border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.no-users-note{color:hsl(var(--foreground) / .6);align-items:center;gap:.5rem;padding:.75rem;font-size:.85rem;display:flex}.firmware-upload-form{flex-direction:column;gap:1.25rem;display:flex}.file-dropzone{border:1.5px dashed hsl(var(--border));text-align:center;cursor:pointer;background:hsl(var(--foreground) / .02);border-radius:10px;justify-content:center;align-items:center;min-height:50px;padding:.75rem 1.25rem;transition:all .2s;display:flex}.file-dropzone:hover{background:#8b5cf60a;border-color:#8b5cf6}.file-dropzone.dragging{background:#8b5cf61a;border-color:#8b5cf6;transform:scale(1.005)}.file-dropzone.file-selected{background:#10b9810a;border-style:solid;border-color:#10b98180}.dropzone-content{flex-flow:wrap;justify-content:center;align-items:center;gap:.75rem;width:100%;display:flex}.upload-icon-circle{color:#8b5cf6;background:#8b5cf61f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.file-selected .upload-icon-circle{color:#10b981;background:#10b98126}.dropzone-text{align-items:center;display:flex}.dropzone-text h4{color:hsl(var(--foreground) / .85);margin:0;font-size:.875rem;font-weight:600}.selected-file-meta{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.selected-file-meta .file-name{color:hsl(var(--foreground));font-size:.9rem;font-weight:700}.selected-file-meta .file-subtext{color:hsl(var(--foreground) / .6);margin:0;font-size:.8rem}.reselect-btn{color:#8b5cf6;cursor:pointer;background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:4px;margin-left:.25rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;transition:all .15s}.reselect-btn:hover{background:#8b5cf633}.computed-specs-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.spec-card{background:hsl(var(--foreground) / .03);border:1px solid hsl(var(--border) / .4);border-radius:12px;flex-direction:column;gap:.35rem;padding:1rem 1.25rem;display:flex}.spec-label{color:hsl(var(--foreground) / .5);text-transform:uppercase;letter-spacing:.05em;font-size:.725rem;font-weight:700}.spec-value{color:hsl(var(--foreground));font-size:.95rem;font-weight:700}.spec-value.mono.highlight{color:#8b5cf6;word-break:break-all}.crc-badge-wrap{align-items:center;display:flex}.crc-badge{color:#10b981;letter-spacing:1px;background:#10b98126;border:1px solid #10b9814d;border-radius:6px;padding:.2rem .6rem;font-family:monospace;font-size:1rem;font-weight:800}.form-inputs-row{flex-wrap:wrap;gap:1rem;display:flex}.form-group.flex-1{flex:1;min-width:200px}.form-group.flex-2{flex:2;min-width:280px}.label-with-source{justify-content:space-between;align-items:center;display:flex}.source-pill{color:#10b981;background:#10b9811f;border-radius:4px;align-items:center;gap:.3rem;padding:.15rem .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.req{color:#ef4444}.form-input{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);width:100%;color:hsl(var(--foreground));border-radius:12px;outline:none;padding:.85rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input:focus{background:hsl(var(--foreground) / .07);border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.upload-action-row{justify-content:flex-end;display:flex}.submit-firmware-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:12px;align-items:center;gap:.6rem;padding:.9rem 2rem;font-size:.95rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px #8b5cf659}.submit-firmware-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680}.submit-firmware-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.table-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.table-refresh-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .8);cursor:pointer;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.table-refresh-btn:hover:not(:disabled){background:hsl(var(--foreground) / .12);color:hsl(var(--foreground))}.table-search-box{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .6);border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .85rem;display:flex}.table-search-box input{color:hsl(var(--foreground));background:0 0;border:none;outline:none;width:220px;font-family:inherit;font-size:.85rem}.table-search-box input::placeholder{color:hsl(var(--foreground) / .4)}.datatable-responsive-wrapper{border:1px solid hsl(var(--border) / .4);border-radius:12px;overflow-x:auto}.firmware-datatable{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.firmware-datatable th{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground) / .55);background:hsl(var(--foreground) / .03);border-bottom:1px solid hsl(var(--border) / .5);white-space:nowrap;padding:.85rem 1rem;font-size:.75rem;font-weight:800}.firmware-datatable td{border-bottom:1px solid hsl(var(--border) / .25);color:hsl(var(--foreground));vertical-align:middle;padding:.85rem 1rem}.firmware-datatable tr:hover td{background:hsl(var(--foreground) / .02)}.sl-no-cell{color:hsl(var(--foreground) / .5);width:50px;font-weight:700}.filename-cell{max-width:240px}.file-info-item{align-items:center;gap:.4rem;display:flex}.file-name-text{white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-weight:600;overflow:hidden}.date-cell{white-space:nowrap;color:hsl(var(--foreground) / .7);font-size:.8rem}.version-pill{color:#2196f3;white-space:nowrap;background:#2196f326;border:1px solid #2196f34d;border-radius:6px;padding:.2rem .6rem;font-size:.75rem;font-weight:800}.size-cell{white-space:nowrap;color:hsl(var(--foreground) / .75);font-size:.8rem}.crc32-tag{color:#10b981;letter-spacing:.5px;background:#10b9811f;border:1px solid #10b98140;border-radius:4px;padding:.2rem .5rem;font-family:monospace;font-size:.8rem;font-weight:700}.note-cell{white-space:normal;word-break:break-word;min-width:160px;max-width:400px;color:hsl(var(--foreground) / .85);font-size:.825rem;line-height:1.4}.action-buttons-group{justify-content:center;align-items:center;gap:.4rem;display:flex}.action-btn-dummy{color:#8b5cf6;cursor:pointer;white-space:nowrap;background:#8b5cf626;border:1px solid #8b5cf659;border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.action-btn-dummy:hover{background:#8b5cf647;border-color:#8b5cf6;transform:translateY(-1px)}.icon-action-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .5);width:28px;height:28px;color:hsl(var(--foreground) / .7);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-action-btn:hover{background:hsl(var(--foreground) / .12);color:hsl(var(--foreground))}.icon-action-btn.delete:hover{color:#ef4444;background:#ef444426;border-color:#ef444466}.empty-table-state{color:hsl(var(--foreground) / .5);flex-direction:column;align-items:center;gap:.5rem;display:flex}.empty-table-state p{margin:0;font-size:.9rem}@media (width<=768px){.firmware-management-page{padding:1rem}.imei-input-row{flex-direction:column;align-items:stretch}.validate-btn,.revalidate-btn{justify-content:center;width:100%}.form-inputs-row{flex-direction:column}.upload-action-row{justify-content:stretch}.submit-firmware-btn{justify-content:center;width:100%}}.ota-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ota-modal-card{background:hsl(var(--card) / .95);border:1px solid hsl(var(--border));border-radius:16px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 20px 40px #0006}.ota-modal-header{border-bottom:1px solid hsl(var(--border) / .6);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.ota-modal-title{align-items:center;gap:.6rem;display:flex}.ota-modal-icon{color:#8b5cf6}.ota-modal-title h3{color:hsl(var(--foreground));margin:0;font-size:1.1rem;font-weight:700}.ota-modal-close-btn{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;transition:all .2s}.ota-modal-close-btn:hover:not(:disabled){color:hsl(var(--foreground));background:hsl(var(--foreground) / .1)}.ota-modal-body{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.ota-modal-success-banner{color:#10b981;background:#10b9811f;border:1px solid #10b9814d;border-radius:10px;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex}.ota-modal-success-banner code{background:#0003;border-radius:4px;padding:.1rem .35rem;font-family:monospace}.ota-info-grid{background:hsl(var(--foreground) / .03);border:1px solid hsl(var(--border) / .4);border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.ota-info-row{justify-content:space-between;align-items:center;display:flex}.ota-info-label{color:hsl(var(--foreground) / .6);font-weight:600}.ota-info-val.mono{font-family:monospace;font-weight:700}.ota-info-val.version-tag{color:#2196f3;background:#2196f326;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.ota-info-val.imei-tag{color:#8b5cf6;font-weight:800}.ota-info-val.note-tag{color:hsl(var(--foreground) / .9);white-space:normal;word-break:break-word;background:#8b5cf61a;border:1px solid #8b5cf640;border-radius:6px;max-width:100%;padding:.35rem .65rem;font-size:.825rem;font-weight:500;line-height:1.4;display:inline-block}.ota-modal-prompt{color:hsl(var(--foreground) / .85);margin:0;font-size:.95rem;line-height:1.5}.ota-modal-footer{background:hsl(var(--foreground) / .02);border-top:1px solid hsl(var(--border) / .6);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.ota-btn-secondary{border:1px solid hsl(var(--border) / .7);background:hsl(var(--foreground) / .05);color:hsl(var(--foreground) / .8);cursor:pointer;border-radius:10px;padding:.65rem 1.25rem;font-size:.85rem;font-weight:600;transition:all .2s}.ota-btn-secondary:hover:not(:disabled){background:hsl(var(--foreground) / .1);color:hsl(var(--foreground))}.ota-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #8b5cf659}.ota-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #8b5cf680}.ota-btn-primary:disabled,.ota-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.delete-header{border-bottom:1px solid #ef444433}.delete-title h3{color:#ef4444!important}.delete-modal-icon-badge{color:#ef4444;background:#ef444426;border:1px solid #ef44444d;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ota-modal-warning-banner{color:#ef4444;background:#ef44441f;border:1px solid #ef44444d;border-radius:10px;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:flex}.ota-btn-danger{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.85rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #ef444459}.ota-btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #ef444480}.ota-btn-danger:disabled{opacity:.5;cursor:not-allowed}.active-ota-card{border:1px solid hsl(var(--border) / .7);background:hsl(var(--background) / .55);border-radius:18px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.active-ota-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.active-ota-title-row h3{color:hsl(var(--foreground));margin:0;font-size:1.15rem;font-weight:700}.live-ota-badge{color:#10b981;text-transform:uppercase;letter-spacing:.5px;background:#10b98126;border:1px solid #10b98159;border-radius:9999px;align-items:center;gap:.45rem;padding:.2rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.live-dot{background:#10b981;border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite pulseLiveDot;box-shadow:0 0 8px #10b981}@keyframes pulseLiveDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.active-ota-actions{align-items:center;gap:.5rem;display:flex}.active-ota-list{flex-direction:column;gap:.85rem;display:flex}.active-ota-item{background:hsl(var(--foreground) / .03);border:1px solid hsl(var(--border) / .5);border-radius:14px;flex-direction:column;gap:.85rem;padding:1.1rem 1.25rem;transition:all .2s;display:flex}.active-ota-item:hover{background:hsl(var(--foreground) / .05);border-color:hsl(var(--border) / .8)}.active-ota-item-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.active-ota-imei-badge{color:#3b82f6;background:#3b82f61f;border:1px solid #3b82f64d;border-radius:8px;align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.active-ota-meta-tags{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.active-ota-links-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ota-link-chip{border-radius:10px;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 6px #0000000d}.ota-link-chip.bin{color:#8b5cf6;background:#8b5cf61f;border:1px solid #8b5cf659}.ota-link-chip.bin:hover{color:#a78bfa;background:#8b5cf640;border-color:#8b5cf6;transform:translateY(-2px);box-shadow:0 4px 14px #8b5cf640}.ota-link-chip.json{color:#10b981;background:#10b9811f;border:1px solid #10b98159}.ota-link-chip.json:hover{color:#34d399;background:#10b98140;border-color:#10b981;transform:translateY(-2px);box-shadow:0 4px 14px #10b98140}.link-chip-text{font-size:.8rem;font-weight:700}.link-ext-icon{opacity:.75;transition:transform .2s}.ota-link-chip:hover .link-ext-icon{opacity:1;transform:translate(1px,-1px)}.copy-chip-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .75);cursor:pointer;border-radius:10px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.copy-chip-btn:hover{background:hsl(var(--foreground) / .12);color:hsl(var(--foreground));border-color:hsl(var(--border));transform:translateY(-1px)}.active-ota-note{color:hsl(var(--foreground) / .6);background:hsl(var(--foreground) / .03);border-radius:6px;align-items:center;gap:.45rem;padding:.35rem .6rem;font-size:.78rem;display:flex}.active-ota-empty{background:hsl(var(--foreground) / .02);border:1px dashed hsl(var(--border) / .6);border-radius:14px;align-items:center;gap:1.25rem;padding:1.5rem;display:flex}.empty-ota-icon{color:hsl(var(--foreground) / .4)}.empty-ota-title{color:hsl(var(--foreground) / .85);margin:0 0 .25rem;font-size:.95rem;font-weight:700}.empty-ota-sub{color:hsl(var(--foreground) / .6);margin:0;font-size:.82rem}.ota-modal-link-chip{border-radius:8px;align-items:center;gap:.45rem;padding:.25rem .65rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.ota-modal-link-chip.bin{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf659}.ota-modal-link-chip.bin:hover{color:#a78bfa;background:#8b5cf647;border-color:#8b5cf6;transform:translate(2px)}.ota-modal-link-chip.json{color:#10b981;background:#10b98126;border:1px solid #10b98159}.ota-modal-link-chip.json:hover{color:#34d399;background:#10b98147;border-color:#10b981;transform:translate(2px)}.firmware-subtitle{color:hsl(var(--foreground) / .55);margin:.25rem 0 0;font-size:.8rem}.live-pulse-badge{color:#10b981;letter-spacing:.5px;background:#10b98126;border:1px solid #10b98159;border-radius:20px;padding:.15rem .5rem;font-size:.65rem;font-weight:800}.active-ota-badge-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ota-type-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.72rem;font-weight:800;display:inline-flex}.ota-type-badge.fw{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf64d}.ota-type-badge.bl{color:#eab308;background:#eab30826;border:1px solid #eab3084d}.ota-type-badge.imei{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.ota-model-badge{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .85);border-radius:6px;padding:.2rem .55rem;font-size:.78rem}.ota-model-badge strong{color:hsl(var(--primary));font-weight:800}.primary-tabs-nav{background:hsl(var(--foreground) / .02);border:1px solid hsl(var(--border) / .6);border-radius:16px;grid-template-columns:repeat(2,1fr);gap:1rem;padding:.75rem;display:grid}.primary-tab-btn{background:hsl(var(--foreground) / .03);border:1.5px solid hsl(var(--border) / .5);color:hsl(var(--foreground) / .7);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:1rem;padding:1.15rem 1.4rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.primary-tab-btn:hover{background:hsl(var(--foreground) / .06);border-color:hsl(var(--border) / .8);color:hsl(var(--foreground));transform:translateY(-1px)}.primary-tab-btn.active{color:hsl(var(--foreground));background:linear-gradient(135deg,#8b5cf626,#6366f114);border-color:#8b5cf6;box-shadow:0 6px 20px #8b5cf626}.tab-btn-icon-wrap{background:hsl(var(--foreground) / .06);width:44px;height:44px;color:hsl(var(--foreground) / .7);border:1px solid hsl(var(--border) / .4);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .25s;display:flex}.primary-tab-btn.active .tab-btn-icon-wrap{color:#fff;background:#8b5cf6;border-color:#8b5cf6;box-shadow:0 4px 14px #8b5cf666}.tab-btn-text{flex-direction:column;gap:.25rem;display:flex}.tab-btn-title{letter-spacing:-.2px;color:hsl(var(--foreground));font-size:1.1rem;font-weight:800}.tab-title-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.tab-live-count{color:#10b981;letter-spacing:.3px;background:#10b9812e;border:1px solid #10b98166;border-radius:9999px;align-items:center;padding:.12rem .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.tab-btn-desc{color:hsl(var(--foreground) / .55);font-size:.78rem;line-height:1.3}.tab-content-wrapper{flex-direction:column;gap:1.5rem;width:100%;display:flex}.all-subtabs-nav{border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.5rem;display:flex}.subtabs-header-text h3{color:hsl(var(--foreground));margin:0 0 .2rem;font-size:1.05rem;font-weight:800}.subtabs-header-text p{color:hsl(var(--foreground) / .55);margin:0;font-size:.8rem}.subtabs-toggle-group{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);border-radius:12px;align-items:center;gap:.35rem;padding:.35rem;display:inline-flex}.subtab-toggle-btn{color:hsl(var(--foreground) / .7);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:.55rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:700;transition:all .2s;display:inline-flex}.subtab-toggle-btn:hover{color:hsl(var(--foreground));background:hsl(var(--foreground) / .05)}.subtab-toggle-btn.active{background:hsl(var(--card));color:#8b5cf6;box-shadow:0 2px 10px #0000001f}.subtab-tag{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground) / .6);border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.subtab-toggle-btn.active .subtab-tag{color:#8b5cf6;background:#8b5cf626}.subtab-pane{flex-direction:column;gap:1.5rem;width:100%;display:flex}.type-badge-pill{letter-spacing:.5px;border-radius:4px;padding:.15rem .55rem;font-size:.68rem;font-weight:800}.type-badge-pill.fw{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf64d}.type-badge-pill.bl{color:#eab308;background:#eab30826;border:1px solid #eab3084d}.upload-dropzone-wrapper{flex-direction:column;gap:1.25rem;width:100%;display:flex}.locked-upload-banner{color:hsl(var(--foreground));background:#eab3080f;border:1.5px dashed #eab30866;border-radius:12px;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.locked-icon{color:#eab308;flex-shrink:0}.locked-upload-banner h4{color:#eab308;margin:0 0 .2rem;font-size:.95rem;font-weight:800}.locked-upload-banner p{color:hsl(var(--foreground) / .7);margin:0;font-size:.85rem}.model-chip-badge{color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:6px;padding:.25rem .65rem;font-family:monospace;font-size:.8rem;font-weight:800;display:inline-block}.model-chip-badge.bl{color:#eab308;background:#eab30826;border-color:#eab3084d}.dual-files-wrap{flex-direction:column;gap:.35rem;display:flex}.file-chip-btn{cursor:pointer;text-align:left;border:1px solid #0000;border-radius:6px;align-items:center;gap:.45rem;max-width:fit-content;padding:.3rem .65rem;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.file-chip-btn.bin{color:#8b5cf6;background:#8b5cf614;border-color:#8b5cf640}.file-chip-btn.bin:hover{background:#8b5cf633;border-color:#8b5cf6;transform:translate(2px)}.file-chip-btn.json{color:#10b981;background:#10b98114;border-color:#10b98140}.file-chip-btn.json:hover{background:#10b98133;border-color:#10b981;transform:translate(2px)}.chip-download-icon{opacity:.6}.file-chip-btn:hover .chip-download-icon{opacity:1}.model-pill{color:#8b5cf6;background:#8b5cf61f;border-radius:4px;padding:.15rem .5rem;font-family:monospace;font-size:.8rem;font-weight:800}.command-pill{color:#ef4444;background:#ef444426;border:1px solid #ef44444d;border-radius:4px;padding:.15rem .5rem;font-size:.8rem;font-weight:800}.trigger-target-selector-box{background:hsl(var(--foreground) / .03);border:1px solid hsl(var(--border) / .6);border-radius:10px;flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.target-select-label{color:hsl(var(--foreground) / .7);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.target-toggle-row{flex-wrap:wrap;gap:.5rem;display:flex}.target-pill-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .75);cursor:pointer;border-radius:8px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.target-pill-btn:hover{background:hsl(var(--foreground) / .1);color:hsl(var(--foreground))}.target-pill-btn.active{color:#8b5cf6;background:#8b5cf62e;border-color:#8b5cf6}.single-target-input-row{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.single-imei-input{letter-spacing:1px;font-family:monospace;font-size:.85rem}.device-dropdown-select{cursor:pointer;font-size:.85rem}@media (width<=768px){.primary-tabs-nav{grid-template-columns:1fr}.subtabs-toggle-group{justify-content:stretch;width:100%}.subtab-toggle-btn{flex:1;justify-content:center}}.server-info-page{flex-direction:column;gap:1.5rem;width:100%;max-width:1280px;margin:0 auto;padding:1.5rem;display:flex}.server-toast{z-index:2000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 10px 30px #0000004d}.server-toast.success{color:#fff;background:#10b981e6}.server-toast.error{color:#fff;background:#ef4444e6}.server-info-header{border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.server-info-header .header-left{align-items:center;gap:1.2rem;display:flex}.header-icon-box{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f640;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.server-info-header h1{color:hsl(var(--foreground));letter-spacing:-.3px;margin:0 0 .25rem;font-size:1.35rem;font-weight:800}.server-info-header p{color:hsl(var(--foreground) / .65);margin:0;font-size:.825rem}.table-refresh-btn,.refresh-info-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.table-refresh-btn:hover:not(:disabled),.refresh-info-btn:hover:not(:disabled){background:hsl(var(--foreground) / .12);color:hsl(var(--foreground));border-color:hsl(var(--border));transform:translateY(-1px)}.table-refresh-btn:disabled,.refresh-info-btn:disabled{opacity:.5;cursor:not-allowed}.server-info-loader{flex-direction:column;justify-content:center;align-items:center;min-height:320px;display:flex}.pulse-outer-ring{background:#3b82f626;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1rem;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-ring;display:flex}.pulse-inner-core{color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;animation:2s ease-in-out infinite pulse-core;display:flex;box-shadow:0 4px 20px #3b82f680}.pulse-loader-text{color:hsl(var(--foreground));font-size:.95rem;font-weight:700}.server-info-content{flex-direction:column;gap:1.75rem;display:flex}.server-section{flex-direction:column;gap:.85rem;display:flex}.section-header-row{justify-content:space-between;align-items:center;display:flex}.section-title-group{align-items:center;gap:.6rem;display:flex}.section-title-group h2{text-transform:uppercase;letter-spacing:.8px;color:hsl(var(--foreground));margin:0;font-size:1.05rem;font-weight:800}.edit-section-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.8rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 8px #3b82f64d}.edit-section-btn:hover{background:#2563eb;transform:translateY(-1px)}.builds-stats-card{border-radius:18px;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:1rem;padding:1.5rem;display:flex}.build-stat-item{flex:1;justify-content:center;align-items:center;gap:.85rem;min-width:180px;display:flex}.stat-icon-wrapper.amber{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.stat-icon-wrapper.green{color:#3ddc84;background:#3ddc8426;border:1px solid #3ddc844d}.stat-icon-wrapper.blue{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.stat-details{flex-direction:column;gap:.15rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--foreground) / .6);font-size:.725rem;font-weight:800}.stat-divider{background:hsl(var(--border) / .5);width:1px;height:40px}@media (width<=768px){.stat-divider{display:none}}.hosting-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}@media (width<=868px){.hosting-grid{grid-template-columns:1fr}}.hosting-card{border-left-style:solid;border-left-width:5px;border-radius:16px;justify-content:space-between;align-items:center;padding:1.25rem 1.35rem;transition:transform .2s,box-shadow .2s;display:flex}.hosting-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0003}.card-main-info{align-items:center;gap:.9rem;display:flex}.card-icon-box{border-style:solid;border-width:1px;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.card-text-details{flex-direction:column;gap:.15rem;display:flex}.card-category-tag{text-transform:uppercase;letter-spacing:.8px;color:hsl(var(--foreground) / .55);font-size:.68rem;font-weight:800}.card-primary-value{color:hsl(var(--foreground));margin:0;font-size:1.05rem;font-weight:800}.card-sub-value{color:hsl(var(--foreground) / .6);font-size:.775rem}.card-expiry-badge-group{flex-direction:column;align-items:flex-end;gap:.35rem;display:flex}.countdown-badge{letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;border-style:solid;border-width:1px;border-radius:10px;padding:4px 10px;font-size:.725rem;font-weight:800}.expiry-date-label{color:hsl(var(--foreground) / .6);font-size:.725rem;font-weight:600}.server-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.server-modal-card{border-radius:22px;flex-direction:column;gap:1.25rem;width:100%;max-width:540px;max-height:85vh;padding:1.5rem;display:flex;box-shadow:0 20px 40px #0006}.server-modal-card.max-w-680{max-width:680px}.modal-header{border-bottom:1px solid hsl(var(--border) / .4);justify-content:space-between;align-items:flex-start;padding-bottom:.85rem;display:flex}.modal-header-icon-badge{background:hsl(var(--primary) / .15);border:1px solid hsl(var(--primary) / .3);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.modal-subtitle{color:hsl(var(--foreground) / .6);margin:0;font-size:.775rem}.close-btn{color:hsl(var(--foreground) / .6);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;transition:all .2s}.close-btn:hover{color:hsl(var(--foreground));background:hsl(var(--muted) / .5)}.modal-form-body{flex-direction:column;gap:1.15rem;max-height:60vh;padding-right:4px;display:flex;overflow-y:auto}.modal-form-section-card{background:hsl(var(--background) / .45);border:1px solid hsl(var(--border) / .5);border-radius:14px;flex-direction:column;gap:.85rem;padding:1.15rem 1.25rem;display:flex}.section-card-header{border-bottom:1px solid hsl(var(--border) / .35);align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.section-card-header h4{text-transform:uppercase;letter-spacing:.6px;color:hsl(var(--foreground));margin:0;font-size:.825rem;font-weight:800}.input-grid-2col{grid-template-columns:repeat(2,1fr);gap:.85rem;display:grid}@media (width<=600px){.input-grid-2col{grid-template-columns:1fr}}.input-group{flex-direction:column;gap:.35rem;width:100%;display:flex}.input-group label{color:hsl(var(--foreground) / .8);font-size:.8rem;font-weight:700}.input-field-wrapper{background:hsl(var(--background) / .65);border:1.5px solid hsl(var(--border));box-sizing:border-box;border-radius:12px;align-items:center;width:100%;padding:.65rem .85rem;transition:all .2s;display:flex;position:relative}.input-field-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.input-icon{width:18px;height:18px;color:hsl(var(--foreground) / .5);pointer-events:none;z-index:2;flex-shrink:0;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.input-field-wrapper input{width:100%;min-width:0;color:hsl(var(--foreground));box-sizing:border-box;background:0 0;border:none;outline:none;margin:0;padding:0 .25rem 0 2.25rem;font-size:.875rem;font-weight:600}.input-field-wrapper input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;font-family:inherit}.modal-actions-row{border-top:1px solid hsl(var(--border) / .4);gap:.75rem;margin-top:.5rem;padding-top:.85rem;display:flex}.btn-cancel{background:hsl(var(--background) / .6);border:1.5px solid hsl(var(--border));color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:12px;flex:1;padding:.75rem;font-size:.875rem;font-weight:700;transition:all .2s}.btn-cancel:hover{color:#ef4444;background:#ef44441f;border-color:#ef44444d;transform:translateY(-1px)}.btn-save{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:12px;flex:1;padding:.75rem;font-size:.875rem;font-weight:700;transition:all .2s;box-shadow:0 4px 14px #3b82f64d}.btn-save:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.notification-test-page{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.notification-test-page .page-header{border-radius:var(--radius);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.notification-test-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.notification-test-page .page-header h1{color:hsl(var(--foreground));align-items:center;gap:.75rem;margin:0 0 .25rem;font-size:1.5rem;font-weight:800;display:flex}.notification-test-page .subtitle{color:hsl(var(--foreground) / .6);margin:0;font-size:.85rem}.notification-test-page .header-icon.text-amber{color:#f59e0b}.test-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:1.5rem;display:grid}.test-card{border-radius:var(--radius,16px);background:var(--card-bg,#ffffff0d);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--border) / .6);flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex;box-shadow:0 8px 32px #00000014}.test-card .card-header{align-items:center;gap:.85rem;margin-bottom:.25rem;display:flex}.test-card .card-header h2{color:hsl(var(--foreground));margin:0;font-size:1.25rem;font-weight:700}.card-header-icon{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.card-header-icon.amber-glow{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.card-header-icon.blue-glow{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.test-form{flex-direction:column;gap:1.15rem;display:flex}.mode-switcher{background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border) / .5);border-radius:12px;padding:4px;display:flex}.mode-btn{color:hsl(var(--foreground) / .7);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:.6rem .75rem;font-size:.875rem;font-weight:600;transition:all .2s}.mode-btn.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground,#fff));box-shadow:0 2px 8px #00000026}.test-form .form-group{flex-direction:column;gap:.5rem;display:flex;position:relative}.test-form .field-label{text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--foreground) / .7);font-size:.75rem;font-weight:700}.field-label-row{justify-content:space-between;align-items:center;display:flex}.char-counter{color:hsl(var(--foreground) / .6);font-size:.75rem}.char-counter.warning{color:#ef4444;font-weight:700}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon .input-icon{color:hsl(var(--foreground) / .5);pointer-events:none;position:absolute;left:12px}.input-with-icon input{background:hsl(var(--background) / .6);border:1px solid hsl(var(--border));width:100%;color:hsl(var(--foreground));border-radius:10px;padding:.7rem 2.5rem .7rem 2.4rem;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.input-with-icon input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2);outline:none}.dropdown-toggle{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.test-form textarea{background:hsl(var(--background) / .6);border:1px solid hsl(var(--border));width:100%;color:hsl(var(--foreground));resize:vertical;border-radius:10px;min-height:80px;padding:.75rem;font-family:inherit;font-size:.9rem}.test-form textarea:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2);outline:none}.dropdown-wrapper{position:relative}.autocomplete-dropdown{z-index:100;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;margin-top:4px;padding:.5rem 0;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 25px -5px #0003}.dropdown-title{color:hsl(var(--foreground) / .5);text-transform:uppercase;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;font-weight:700;display:flex}.autocomplete-item{color:hsl(var(--foreground));cursor:pointer;padding:.6rem .85rem;font-size:.875rem;transition:background .15s}.autocomplete-item:hover{background:hsl(var(--accent) / .3)}.submit-action-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.6rem;margin-top:.5rem;padding:.85rem;font-size:.9375rem;font-weight:700;transition:all .2s;display:flex}.submit-action-btn.primary-btn{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 4px 14px #f59e0b4d}.submit-action-btn.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.submit-action-btn.secondary-btn{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 4px 14px #3b82f64d}.submit-action-btn.secondary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.submit-action-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px){.test-grid{grid-template-columns:1fr}}.comment-panel-page{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:flex}.comment-panel-page .page-header{border-radius:var(--radius);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.comment-panel-page .header-left-group{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.comment-panel-page .header-text h1{align-items:center;gap:.65rem;margin:0 0 .25rem;font-size:1.35rem;font-weight:700;display:flex}.comment-panel-page .header-text p{color:hsl(var(--foreground) / .55);margin:0;font-size:.85rem}.panel-content-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.5rem;display:grid}@media (width<=900px){.panel-content-grid{grid-template-columns:1fr}}.comment-box{border-radius:var(--radius,12px);box-sizing:border-box;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.device-selection-wrapper{flex-direction:column;gap:.5rem;display:flex;position:relative}.field-header{justify-content:space-between;align-items:center;display:flex}.field-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:600}.refresh-btn{color:hsl(var(--foreground) / .7);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.refresh-btn:hover:not(:disabled){color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.dropdown-input-container{align-items:center;display:flex;position:relative}.device-search-input{border-radius:var(--radius,8px);background-color:hsl(var(--background) / .6);border:1px solid hsl(var(--border));width:100%;color:hsl(var(--foreground));outline:none;padding:.75rem 2.5rem .75rem 1rem;font-size:.9375rem;transition:border-color .2s}.device-search-input:focus{border-color:hsl(var(--primary))}.clear-search-btn{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:2.25rem}.dropdown-toggle-btn{color:hsl(var(--foreground) / .6);cursor:pointer;background:0 0;border:none;align-items:center;display:flex;position:absolute;right:.75rem}.dropdown-menu{z-index:50;border:1px solid hsl(var(--border));border-radius:var(--radius,8px);background:hsl(var(--card));max-height:220px;margin-top:6px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px -5px #0000004d}.dropdown-item{cursor:pointer;border-bottom:1px solid hsl(var(--border) / .4);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.875rem;transition:background .15s;display:flex}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:hsl(var(--accent) / .3)}.dropdown-item.active{background-color:hsl(var(--primary) / .15);font-weight:600}.dropdown-item.reset-item{color:hsl(var(--muted-foreground,0 0% 60%));font-style:italic}.dropdown-item.empty-item{color:hsl(var(--muted-foreground,0 0% 60%));cursor:default;justify-content:center}.device-imei-text{opacity:.75;font-size:.8rem}.active-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:700}.active-badge.online{color:#22c55e;background-color:#22c55e26;border:1px solid #22c55e4d}.active-badge.offline{color:#ef4444;background-color:#ef444426;border:1px solid #ef44444d}.input-field-wrapper{flex-direction:column;gap:.5rem;display:flex;position:relative}.comment-textarea{border-radius:var(--radius,8px);background-color:hsl(var(--background) / .6);border:1px solid hsl(var(--border));width:100%;color:hsl(var(--foreground));resize:vertical;outline:none;min-height:90px;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;transition:border-color .2s}.comment-textarea:focus{border-color:hsl(var(--primary))}.history-dropdown{z-index:40;border:1px solid hsl(var(--border));border-radius:var(--radius,8px);background:hsl(var(--card));max-height:180px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px -5px #0000004d}.history-header{text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--muted-foreground,0 0% 60%));border-bottom:1px solid hsl(var(--border) / .4);padding:.5rem .875rem;font-size:.75rem;font-weight:700}.history-item{border-bottom:1px solid hsl(var(--border) / .3);justify-content:space-between;align-items:center;padding:.6rem .875rem;font-size:.85rem;transition:background .15s;display:flex}.history-item:last-child{border-bottom:none}.history-item:hover{background-color:hsl(var(--accent) / .3)}.history-text{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;flex:1;margin-right:8px;overflow:hidden}.delete-history-btn{color:hsl(var(--destructive,0 84% 60%) / .7);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:color .15s;display:flex}.delete-history-btn:hover{color:hsl(var(--destructive,0 84% 60%));background:hsl(var(--destructive,0 84% 60%) / .1)}.action-buttons-row{gap:1rem;margin-top:.25rem;display:flex}.submit-btn,.clear-btn{border-radius:var(--radius,8px);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.submit-btn{background-color:hsl(var(--primary));color:#fff}.submit-btn:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 12px hsl(var(--primary) / .3)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.clear-btn{background-color:hsl(var(--destructive,0 84% 60%) / .15);color:hsl(var(--destructive,0 84% 60%));border:1px solid hsl(var(--destructive,0 84% 60%) / .3)}.clear-btn:hover{background-color:hsl(var(--destructive,0 84% 60%) / .25)}.response-card{border-radius:var(--radius,12px);box-sizing:border-box;flex-direction:column;gap:1rem;height:100%;padding:1.5rem;display:flex}.response-header{justify-content:space-between;align-items:center;display:flex}.response-title{color:hsl(var(--foreground));align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.copy-response-btn{background-color:hsl(var(--background) / .6);border:1px solid hsl(var(--border));color:hsl(var(--foreground));cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.copy-response-btn:hover{background-color:hsl(var(--accent) / .5)}.copy-response-btn.copied{color:#22c55e;background-color:#22c55e26;border-color:#22c55e4d}.clear-response-btn{background-color:hsl(var(--background) / .6);border:1px solid hsl(var(--border));color:hsl(var(--destructive,0 84% 60%));cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.clear-response-btn:hover{background-color:hsl(var(--destructive,0 84% 60%) / .15);border-color:hsl(var(--destructive,0 84% 60%) / .35)}.response-body{background-color:hsl(var(--background) / .7);border:1px solid hsl(var(--border));border-radius:var(--radius,8px);flex-direction:column;flex:1;min-height:160px;padding:1rem;display:flex}.response-text{font-family:var(--font-mono,monospace), monospace;color:hsl(var(--foreground));white-space:pre-wrap;word-break:break-word;margin:0;font-size:.875rem;line-height:1.5}.loading-state,.placeholder-state{color:hsl(var(--muted-foreground,0 0% 60%));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1rem;font-size:.875rem;display:flex}.spin{animation:1s linear infinite spin}.comment-tabs-bar{background:hsl(var(--card) / .5);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--border) / .6);border-radius:var(--radius,12px);align-items:center;gap:.5rem;padding:.35rem .4rem;display:flex;overflow-x:auto;box-shadow:0 4px 20px -2px #00000026}.comment-tab-btn{color:hsl(var(--foreground) / .7);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.15rem;font-size:.875rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.comment-tab-btn:hover{color:hsl(var(--foreground));background:hsl(var(--accent) / .4)}.comment-tab-btn.active{color:hsl(var(--foreground));background:hsl(var(--primary) / .18);border:1px solid hsl(var(--primary) / .35);box-shadow:0 2px 8px hsl(var(--primary) / .15)}.tab-badge{background:hsl(var(--primary) / .25);color:hsl(var(--primary));border-radius:10px;padding:2px 7px;font-size:.72rem;font-weight:700;line-height:1}.tab-badge.error-badge{color:#ef4444;background:#ef444433}.live-pulse-dot{background-color:#22c55e;border-radius:50%;width:8px;height:8px;animation:1.6s cubic-bezier(.66,0,0,1) infinite live-pulse-anim;box-shadow:0 0 #22c55eb3}@keyframes live-pulse-anim{0%{transform:scale(.95);box-shadow:0 0 #22c55eb3}70%{transform:scale(1);box-shadow:0 0 0 7px #22c55e00}to{transform:scale(.95);box-shadow:0 0 #22c55e00}}.logs-card{border-radius:var(--radius,12px);box-sizing:border-box;background:hsl(var(--card) / .7);-webkit-backdrop-filter:blur(16px);border:1px solid hsl(var(--border) / .7);flex-direction:column;gap:1rem;min-height:520px;padding:1.25rem 1.5rem;display:flex;box-shadow:0 10px 30px -5px #0000004d}.logs-card-header{border-bottom:1px solid hsl(var(--border) / .5);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.85rem;display:flex}.logs-device-identity{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.device-imei-pill{background:hsl(var(--background) / .7);border:1px solid hsl(var(--border));font-family:var(--font-mono,monospace);color:hsl(var(--foreground));letter-spacing:.3px;border-radius:8px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.9rem;font-weight:700;display:inline-flex}.device-name-pill{background:hsl(var(--primary) / .12);border:1px solid hsl(var(--primary) / .25);color:hsl(var(--primary));border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.card-type-tag{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.card-type-tag.live{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.card-type-tag.errors{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.logs-card-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.log-filter-box{align-items:center;display:flex;position:relative}.log-filter-input{background:hsl(var(--background) / .7);border:1px solid hsl(var(--border));color:hsl(var(--foreground));border-radius:6px;outline:none;width:170px;padding:.4rem 2rem;font-size:.8125rem;transition:all .2s}.log-filter-input:focus{border-color:hsl(var(--primary));width:220px}.log-filter-icon{color:hsl(var(--foreground) / .5);pointer-events:none;position:absolute;left:.6rem}.log-filter-clear{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;padding:2px;position:absolute;right:.5rem}.log-filter-clear:hover{color:hsl(var(--foreground))}.card-tool-btn{background:hsl(var(--background) / .6);border:1px solid hsl(var(--border));color:hsl(var(--foreground) / .8);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:all .18s;display:inline-flex}.card-tool-btn:hover{color:hsl(var(--foreground));background:hsl(var(--accent) / .5)}.card-tool-btn.active{background:hsl(var(--primary) / .15);color:hsl(var(--primary));border-color:hsl(var(--primary) / .35)}.card-tool-btn.stop-btn{color:#ef4444;background:#ef44441f;border-color:#ef44444d}.card-tool-btn.stop-btn:hover{color:#ef4444;background:#ef444438}.card-tool-btn.pause-btn{background:hsl(var(--background) / .6);border:1px solid hsl(var(--border));color:hsl(var(--foreground) / .85)}.card-tool-btn.pause-btn:hover{background:hsl(var(--accent) / .5);color:hsl(var(--foreground))}.card-tool-btn.pause-btn.paused{color:#f59e0b;background:#f59e0b33;border-color:#f59e0b80;font-weight:700;box-shadow:0 0 10px #f59e0b40}.card-tool-btn.pause-btn.paused:hover{color:#f59e0b;background:#f59e0b4d}.card-tool-btn.clear-btn-tool{background:hsl(var(--background) / .6);border:1px solid hsl(var(--border));color:hsl(var(--foreground) / .85)}.card-tool-btn.clear-btn-tool:hover:not(:disabled){color:#ef4444;background:#ef444426;border-color:#ef444459}.paused-indicator-badge{color:#f59e0b;letter-spacing:.5px;text-transform:uppercase;background:#f59e0b33;border:1px solid #f59e0b59;border-radius:4px;align-items:center;gap:.3rem;padding:2px 7px;font-size:.7rem;font-weight:800;display:inline-flex}.logs-table-container{background:hsl(var(--background) / .65);border:1px solid hsl(var(--border) / .7);border-radius:var(--radius,8px);flex-direction:column;flex:1;min-height:380px;display:flex;overflow:hidden}.logs-table-header{background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--muted-foreground,0 0% 60%));align-items:center;padding:.65rem 1rem;font-size:.75rem;font-weight:700;display:flex}.logs-col-time{flex-shrink:0;align-items:center;gap:.35rem;width:170px;min-width:140px;display:flex}.logs-col-msg{flex:1;align-items:center;gap:.35rem;display:flex}.logs-table-body{flex:1;max-height:520px;padding:0;font-family:JetBrains Mono,Fira Code,Roboto Mono,monospace;font-size:.8125rem;overflow-y:auto}.log-table-row{border-bottom:1px solid hsl(var(--border) / .25);align-items:flex-start;padding:.55rem 1rem;line-height:1.45;transition:background-color .12s;display:flex}.log-table-row:nth-child(2n){background-color:hsl(var(--accent) / .08)}.log-table-row:hover{background-color:hsl(var(--accent) / .22)}.log-cell-time{width:170px;min-width:140px;color:hsl(var(--muted-foreground,0 0% 65%));-webkit-user-select:text;user-select:text;flex-shrink:0;font-size:.78rem}.log-cell-msg{color:hsl(var(--foreground));word-break:break-word;white-space:pre-wrap;flex:1;align-items:flex-start;gap:.5rem;display:flex}.log-severity-tag{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.68rem;font-weight:800;line-height:1.3;display:inline-block}.log-severity-tag.err{color:#ef4444;background:#ef444433;border:1px solid #ef444459}.log-severity-tag.warn{color:#f59e0b;background:#f59e0b33;border:1px solid #f59e0b59}.log-severity-tag.info{color:#3b82f6;background:#3b82f633;border:1px solid #3b82f659}.log-severity-tag.success{color:#22c55e;background:#22c55e33;border:1px solid #22c55e59}.logs-waiting-state{color:hsl(var(--muted-foreground,0 0% 60%));text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:4rem 1.5rem;display:flex}.waiting-radar-wrap{justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.waiting-radar-ping{background:hsl(var(--primary) / .25);border-radius:50%;width:100%;height:100%;animation:2s cubic-bezier(0,0,.2,1) infinite radar-ping;position:absolute}.waiting-radar-icon{z-index:2;color:hsl(var(--primary));position:relative}@keyframes radar-ping{75%,to{opacity:0;transform:scale(2)}}.waiting-title{color:hsl(var(--foreground));margin:0;font-size:1.05rem;font-weight:700}.waiting-desc{max-width:480px;color:hsl(var(--foreground) / .6);margin:0;font-size:.85rem;line-height:1.5}.waiting-tag-pill{font-family:var(--font-mono,monospace);background:hsl(var(--card));border:1px solid hsl(var(--border));color:hsl(var(--primary));border-radius:6px;padding:.25rem .6rem;font-size:.8rem}.logs-card-footer{color:hsl(var(--muted-foreground,0 0% 60%));border-top:1px solid hsl(var(--border) / .4);justify-content:space-between;align-items:center;padding-top:.5rem;font-size:.78rem;display:flex}.logs-footer-status{align-items:center;gap:.5rem;display:flex}.live-logs-container{background:hsl(var(--card) / .85);border:1px solid hsl(var(--border) / .8);border-radius:18px;flex-direction:column;min-height:620px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000040}.live-header-bar{background:hsl(var(--card) / .95);border-bottom:1px solid hsl(var(--border) / .7);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.live-status-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.live-status-indicator{border:1px solid hsl(var(--border) / .6);background:#00000040;border-radius:9999px;align-items:center;gap:8px;padding:5px 12px;display:inline-flex}.live-status-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.dot-active{background:#10b981;animation:1.8s infinite livePulse;box-shadow:0 0 10px #10b981,0 0 16px #10b98199}.dot-paused{background:#f59e0b;box-shadow:0 0 10px #f59e0b}.dot-offline{background:#6b7280}@keyframes livePulse{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.25)}to{opacity:.8;transform:scale(.95)}}.live-status-text{letter-spacing:.06em;color:hsl(var(--foreground));font-size:.75rem;font-weight:700}.live-metric-pill{background:hsl(var(--foreground) / .05);color:hsl(var(--foreground) / .8);border:1px solid hsl(var(--border) / .4);border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.live-metric-pill.secondary{color:hsl(var(--foreground) / .65)}.live-actions-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.live-action-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .7);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-flex}.live-action-btn:hover{background:hsl(var(--foreground) / .1);color:hsl(var(--foreground));border-color:hsl(var(--border));transform:translateY(-1px)}.live-action-btn.active-primary{background:hsl(var(--primary) / .15);border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.live-action-btn.active-warning{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b80}.live-action-btn.btn-start-stream{color:#10b981;background:#10b98133;border-color:#10b98199;font-weight:700}.live-action-btn.btn-start-stream:hover{background:#10b9814d;transform:translateY(-1px);box-shadow:0 0 12px #10b98166}.live-action-btn.btn-stop-stream{color:#ef4444;background:#ef444426;border-color:#ef444480;font-weight:700}.live-action-btn.btn-stop-stream:hover{background:#ef444440;transform:translateY(-1px);box-shadow:0 0 12px #ef444459}.live-action-btn.btn-connect{color:#10b981;background:#10b98126;border-color:#10b98166}.buffer-select-wrapper{position:relative}.buffer-select{appearance:none;background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .7);color:hsl(var(--foreground) / .85);cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;border-radius:10px;outline:none;padding:6px 24px 6px 10px;font-size:.8125rem;font-weight:600}.live-filters-bar{background:hsl(var(--card) / .75);border-bottom:1px solid hsl(var(--border) / .6);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex}.live-search-box{flex:1;min-width:260px;max-width:440px;position:relative}.live-search-icon{color:hsl(var(--foreground) / .4);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.live-search-box input{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .6);width:100%;color:hsl(var(--foreground));border-radius:10px;outline:none;padding:7px 34px;font-size:.8125rem;transition:all .2s}.live-search-box input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2);background:hsl(var(--foreground) / .07)}.live-clear-search-btn{color:hsl(var(--foreground) / .5);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.category-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.category-pill{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground) / .75);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.category-pill:hover{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground))}.category-pill.active{background:hsl(var(--primary) / .2);border-color:hsl(var(--primary) / .6);color:hsl(var(--primary))}.category-pill .pill-badge{background:hsl(var(--foreground) / .08);border-radius:9999px;padding:1px 5px;font-size:.6875rem}.category-pill.active .pill-badge{background:hsl(var(--primary) / .3);color:hsl(var(--foreground))}.category-pill.pill-error.active{color:#ef4444;background:#ef444433;border-color:#ef444499}.category-pill.pill-warn.active{color:#f59e0b;background:#f59e0b33;border-color:#f59e0b99}.category-pill.pill-mqtt.active{color:#10b981;background:#10b98133;border-color:#10b98199}.category-pill.pill-tcp.active{color:#3b82f6;background:#3b82f633;border-color:#3b82f699}.category-pill.pill-ws.active{color:#a855f7;background:#a855f733;border-color:#a855f799}.live-terminal-window{color:#e2e8f0;scroll-behavior:auto;border-bottom:1px solid hsl(var(--border) / .7);background:#090d16;flex:1;min-height:480px;max-height:65vh;padding:12px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8125rem;line-height:1.55;overflow-y:auto}.live-terminal-window.wrap-lines .stream-content{white-space:pre-wrap;word-break:break-all}.live-terminal-lines{flex-direction:column;display:flex}.stream-line-row{border-radius:4px;align-items:flex-start;gap:12px;padding:3px 6px;transition:background .1s;display:flex}.stream-line-row:hover{background:#ffffff0d}.stream-line-num{text-align:right;color:#4b5563;-webkit-user-select:none;user-select:none;flex-shrink:0;width:44px;padding-top:1px;font-size:.75rem}.stream-timestamp{color:#38bdf8;-webkit-user-select:none;user-select:none;opacity:.85;flex-shrink:0;font-size:.75rem}.stream-tag{-webkit-user-select:none;user-select:none;letter-spacing:.02em;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:.6875rem;font-weight:700}.stream-tag-error{color:#ef4444;background:#ef444433;border:1px solid #ef444466}.stream-tag-warn{color:#f59e0b;background:#f59e0b33;border:1px solid #f59e0b66}.stream-tag-mqtt{color:#10b981;background:#10b98133;border:1px solid #10b98159}.stream-tag-tcp{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f659}.stream-tag-ws{color:#c084fc;background:#a855f733;border:1px solid #a855f759}.stream-tag-system{color:#94a3b8;background:#ffffff14;border:1px solid #ffffff26}.stream-content{white-space:pre;color:#cbd5e1;flex:1;overflow-x:hidden}.stream-line-error .stream-content{color:#fca5a5}.stream-line-warn .stream-content{color:#fde68a}.stream-search-highlight{color:#000;background:#eab308;border-radius:2px;padding:0 2px;font-weight:700}.live-terminal-empty{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:40px 20px;display:flex}.radar-spinner{color:#10b981;background:#10b9811a;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:20px;display:flex;position:relative}.radar-spinner.idle{color:#94a3b8;background:#94a3b81a}.radar-wave{border:2px solid #10b98166;border-radius:50%;animation:2s cubic-bezier(0,0,.2,1) infinite radarPing;position:absolute;inset:-6px}@keyframes radarPing{0%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(1.6)}}.btn-start-stream-large{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:12px;align-items:center;gap:8px;margin-top:6px;padding:10px 24px;font-size:.875rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 15px #10b98166}.btn-start-stream-large:hover{background:#059669;transform:translateY(-2px);box-shadow:0 6px 20px #10b98199}.live-terminal-empty h4{color:#f1f5f9;margin-bottom:8px;font-size:1rem;font-weight:600}.live-terminal-empty p{color:#64748b;max-width:500px;margin-bottom:16px;font-size:.8125rem;line-height:1.5}.btn-reset-filters{background:hsl(var(--primary) / .2);border:1px solid hsl(var(--primary) / .5);color:hsl(var(--primary));cursor:pointer;border-radius:8px;padding:6px 14px;font-size:.8125rem;font-weight:600;transition:all .2s}.btn-reset-filters:hover{background:hsl(var(--primary) / .3)}.floating-scroll-bottom-btn{color:#fff;cursor:pointer;z-index:20;background:#3b82f6;border:none;border-radius:9999px;align-items:center;gap:8px;padding:8px 18px;font-size:.8125rem;font-weight:600;transition:transform .2s,background .2s;display:inline-flex;position:absolute;bottom:56px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #3b82f680}.floating-scroll-bottom-btn:hover{background:#2563eb;transform:translate(-50%)translateY(-2px)}.live-footer-bar{background:hsl(var(--card) / .95);color:hsl(var(--foreground) / .6);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;font-size:.75rem;display:flex}.footer-left{align-items:center;gap:8px;display:flex}.footer-left code{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground) / .85);border-radius:4px;padding:2px 6px;font-family:monospace}.footer-sep{opacity:.4}.footer-right{align-items:center;gap:16px;display:flex}.footer-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.footer-toggle input[type=checkbox]{cursor:pointer;accent-color:hsl(var(--primary))}.server-logs-container{flex-direction:column;gap:20px;max-width:1300px;margin:0 auto;padding:24px 20px 48px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.logs-toast{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:10px;padding:12px 20px;font-size:14px;font-weight:500;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 10px 30px #00000059}.toast-success{color:#fff;background:#10b981e6;border:1px solid #fff3}.toast-error{color:#fff;background:#ef4444e6;border:1px solid #fff3}.toast-info{color:#fff;background:#3b82f6e6;border:1px solid #fff3}.logs-header{border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.logs-header .header-left{align-items:center;gap:1.2rem;display:flex}.badge-row{gap:8px;margin-bottom:4px;display:flex}.live-badge{text-transform:uppercase;letter-spacing:.6px;color:#10b981;background:#10b98126;border:1px solid #10b9814d;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.logs-title{color:hsl(var(--foreground));letter-spacing:-.4px;margin:0;font-size:24px;font-weight:800}.logs-view-tabs{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .8);border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.logs-tab-btn{color:hsl(var(--foreground) / .7);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;padding:6px 14px;font-size:.8125rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.logs-tab-btn:hover{color:hsl(var(--foreground));background:hsl(var(--foreground) / .04)}.logs-tab-btn.active{background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border) / .5);box-shadow:0 2px 8px #00000026}.live-pulsing-dot-sm{background:#10b981;border-radius:50%;width:7px;height:7px;animation:1.8s infinite livePulse;box-shadow:0 0 6px #10b981}.live-pulsing-dot-sm.inactive{box-shadow:none;background:#64748b;animation:none}.live-badge.badge-stopped{color:#94a3b8;background:#64748b26;border-color:#64748b4d}.live-badge.badge-streaming{color:#10b981;background:#10b98126;border-color:#10b9814d}.tab-badge{background:hsl(var(--foreground) / .08);color:hsl(var(--foreground) / .85);border-radius:9999px;padding:1px 6px;font-size:.6875rem}.refresh-btn.loading svg,.table-refresh-btn.loading svg{animation:1s linear infinite spin}.path-banner{background:#0f172a99;border:1px solid #ffffff14;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.path-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.path-icon{color:#3b82f6}.path-label{color:var(--text-muted,#94a3b8);font-size:13px;font-weight:600}.path-code{color:#38bdf8;background:#0006;border:1px solid #38bdf833;border-radius:8px;padding:4px 10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.copy-path-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.copy-path-btn:hover{background:hsl(var(--foreground) / .12);color:hsl(var(--foreground));border-color:hsl(var(--border));transform:translateY(-1px)}.text-success{color:#10b981}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.stat-card{background:var(--bg-card,#1e293b80);border:1px solid var(--border-color,#ffffff14);border-radius:16px;align-items:center;gap:16px;padding:18px 20px;display:flex}.stat-icon-wrapper{border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.stat-icon-wrapper.color-blue{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.stat-icon-wrapper.color-purple{color:#a855f7;background:#a855f726;border:1px solid #a855f74d}.stat-icon-wrapper.color-emerald{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.stat-content{flex-direction:column;gap:2px;display:flex}.stat-label{color:var(--text-muted,#94a3b8);font-size:13px;font-weight:500}.stat-value{color:var(--text-color,#fff);font-size:22px;font-weight:700}.stat-value-sm{color:var(--text-color,#fff);font-size:16px;font-weight:600}.controls-bar{background:var(--bg-card,#1e293b80);border:1px solid var(--border-color,#ffffff14);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.search-box{background:#0000004d;border:1px solid #ffffff1a;border-radius:10px;flex:1;align-items:center;gap:10px;min-width:260px;padding:8px 14px;display:flex}.search-box input{color:var(--text-color,#fff);background:0 0;border:none;outline:none;width:100%;font-size:14px}.search-box input::placeholder{color:var(--text-muted,#64748b)}.clear-search-btn{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.sort-controls{align-items:center;gap:8px;display:flex}.sort-select{color:var(--text-color,#fff);cursor:pointer;background:#0000004d;border:1px solid #ffffff1a;border-radius:10px;outline:none;padding:8px 14px;font-size:13px;font-weight:500}.sort-select option{color:#fff;background:#1e293b}.logs-table-wrapper{background:var(--bg-card,#1e293b80);border:1px solid var(--border-color,#ffffff14);border-radius:18px;overflow:hidden;box-shadow:0 10px 40px #00000040}.logs-table-container{overflow-x:auto}.logs-table{border-collapse:collapse;text-align:left;width:100%}.logs-table th{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted,#94a3b8);background:#0f172a66;border-bottom:1px solid #ffffff14;padding:14px 20px;font-size:12px;font-weight:600}.logs-table td{vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:16px 20px}.log-row{cursor:pointer;transition:background .15s}.log-row:hover{background:#ffffff0a}.file-info-cell{align-items:center;gap:14px;display:flex}.file-icon-box{color:#10b981;background:#10b9811f;border:1px solid #10b98140;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.file-name-meta{flex-direction:column;gap:2px;display:flex}.file-name{color:var(--text-color,#fff);letter-spacing:-.2px;font-family:JetBrains Mono,Fira Code,monospace;font-size:14px;font-weight:600}.file-sub-meta{color:var(--text-muted,#94a3b8);font-size:12px}.mobile-only{display:none}.primary-time{color:var(--text-color,#e2e8f0);font-size:13.5px;font-weight:500}.relative-time{color:var(--text-muted,#94a3b8);align-items:center;gap:4px;font-size:12px;display:inline-flex}.size-badge{color:#cbd5e1;background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-block}.text-right{text-align:right}.action-buttons{align-items:center;gap:8px;display:inline-flex}.preview-action-btn{color:#3b82f6;cursor:pointer;background:#3b82f61f;border:1px solid #3b82f64d;border-radius:8px;align-items:center;gap:.4rem;padding:.42rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.preview-action-btn:hover{background:#3b82f63d;border-color:#3b82f6;transform:translateY(-1px)}.download-action-btn{color:#10b981;cursor:pointer;background:#10b98126;border:1px solid #10b98159;border-radius:8px;align-items:center;gap:.4rem;padding:.42rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.download-action-btn:hover:not(:disabled){background:#10b98147;border-color:#10b981;transform:translateY(-1px)}.download-action-btn.downloading{opacity:.8;cursor:wait}.logs-loading-state,.logs-empty-state{color:var(--text-muted,#94a3b8);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 20px;display:flex}.empty-icon{color:var(--text-muted,#64748b)}.logs-empty-state h3{color:var(--text-color,#fff);margin:0;font-size:18px}.logs-empty-state p{max-width:400px;margin:0;font-size:14px}.reset-search-btn{color:#3b82f6;cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;border-radius:8px;margin-top:8px;padding:8px 16px;font-size:13px;font-weight:500}.pagination-bar{background:#0f172a4d;border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.pagination-info{color:var(--text-muted,#94a3b8);font-size:13px}.highlight-text{color:var(--text-color,#fff);font-weight:600}.pagination-buttons{align-items:center;gap:10px;display:flex}.page-nav-btn{color:var(--text-color,#fff);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.page-nav-btn:hover:not(:disabled){background:#ffffff1f}.page-nav-btn:disabled{opacity:.4;cursor:not-allowed}.page-indicator{color:var(--text-muted,#94a3b8);padding:0 4px;font-size:13px;font-weight:500}.preview-modal{background:#0d1322;border:1px solid #ffffff26;border-radius:20px;flex-direction:column;width:100%;max-width:950px;height:85vh;max-height:850px;display:flex;overflow:hidden;box-shadow:0 25px 60px #0009}.preview-header{background:#172033;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.preview-title-group{align-items:center;gap:12px;display:flex}.preview-icon{color:#10b981}.preview-filename{color:#fff;margin:0;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600}.preview-subtitle{color:#94a3b8;font-size:12px}.preview-header-actions{align-items:center;gap:10px;display:flex}.modal-copy-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.modal-copy-btn:hover{background:hsl(var(--foreground) / .12);color:hsl(var(--foreground));border-color:hsl(var(--border))}.modal-download-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .95rem;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #10b9814d}.modal-download-btn:hover{background:#059669;transform:translateY(-1px)}.modal-close-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground) / .7);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.modal-close-btn:hover{color:hsl(var(--foreground));background:hsl(var(--foreground) / .12);border-color:hsl(var(--border))}.preview-find-bar{background:#0f172ad9;border-bottom:1px solid #ffffff14;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.find-input-container{background:#0006;border:1px solid #3b82f666;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:240px;max-width:440px;padding:6px 12px;display:flex}.find-input-container:focus-within{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf833}.find-icon{color:#38bdf8}.find-input{color:#fff;background:0 0;border:none;outline:none;width:100%;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.find-input::placeholder{color:#64748b;font-family:inherit}.find-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.find-clear-btn:hover{color:#fff}.find-matches-navigator{align-items:center;gap:6px;display:flex}.find-count-badge{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.find-count-badge.no-matches{color:#f87171;background:#ef444433;border-color:#ef44444d}.find-nav-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.find-nav-btn:hover:not(:disabled){background:#ffffff2e}.find-nav-btn:disabled{opacity:.35;cursor:not-allowed}.find-options-group{align-items:center;gap:12px;display:flex}.find-filter-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:all .2s;display:inline-flex}.find-filter-btn:hover{color:#fff;background:#ffffff1f}.find-filter-btn.active{color:#10b981;background:#10b98133;border-color:#10b98166}.lines-selector{align-items:center;gap:6px;display:flex}.lines-label{color:#94a3b8;font-size:12px;font-weight:500}.lines-select{color:#e2e8f0;cursor:pointer;background:#0006;border:1px solid #ffffff1f;border-radius:6px;outline:none;padding:5px 10px;font-size:12px}.lines-select option{color:#fff;background:#1e293b}.preview-body{background:#070a13;flex:1;padding:0;font-family:JetBrains Mono,Fira Code,Courier New,monospace;overflow-y:auto}.preview-loading,.preview-empty{color:#94a3b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 20px;display:flex}.log-viewer{flex-direction:column;width:100%;padding:12px 0;display:flex}.log-line-row{border-left:3px solid #0000;align-items:flex-start;padding:2px 16px;font-size:12.5px;line-height:1.6;transition:background .1s;display:flex}.log-line-row:hover{background:#ffffff08}.log-line-row.has-match-row{background:#eab3080f;border-left-color:#eab308}.log-line-num{color:#475569;-webkit-user-select:none;user-select:none;text-align:right;flex-shrink:0;width:44px;padding-right:14px;font-size:11px;line-height:1.7}.log-line-content{color:#93c5fd;white-space:pre-wrap;word-break:break-all;flex:1}.log-match-highlight{color:#fff;background:#ca8a04;border-radius:3px;padding:1px 3px;font-weight:600;box-shadow:0 0 4px #ca8a0466}.log-match-highlight.active-match{color:#fff;background:#f97316;outline:2px solid #fdba74;animation:1.2s infinite alternate pulseMatch;box-shadow:0 0 8px #f97316cc}@keyframes pulseMatch{0%{filter:brightness()}to{filter:brightness(1.25)}}@media (width<=768px){.server-logs-container{padding:16px 12px 32px}.logs-title{font-size:22px}.col-timestamp,.col-size{display:none}.mobile-only{display:block}.preview-action-btn .btn-text,.download-action-btn span{display:none}.controls-bar,.preview-find-bar{flex-direction:column;align-items:stretch}.find-input-container{max-width:100%}.find-options-group{justify-content:space-between}}.server-health-container{flex-direction:column;gap:1.5rem;width:100%;max-width:1400px;margin:0 auto;padding:1.5rem;display:flex}.server-health-loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:480px;display:flex}.health-pulse-ring{background:#06b6d426;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;animation:2s cubic-bezier(.4,0,.6,1) infinite healthPulse;display:flex}.health-pulse-core{background:#06b6d4;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 0 24px #06b6d499}@keyframes healthPulse{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}}.health-toast{z-index:2000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 10px 30px #0000004d}.health-toast.toast-success{color:#fff;background:#10b981f2}.health-toast.toast-error{color:#fff;background:#ef4444f2}.health-header{border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.health-header .header-left{align-items:center;gap:1.2rem;display:flex}.settings-back-btn{background:hsl(var(--foreground) / .04);border:1px solid hsl(var(--border) / .7);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:12px;align-items:center;gap:.55rem;padding:.45rem 1rem .45rem .5rem;font-size:.875rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 6px #0000000a}.settings-back-btn .btn-icon-wrap{background:hsl(var(--foreground) / .06);width:28px;height:28px;color:hsl(var(--foreground) / .8);border:1px solid hsl(var(--border) / .4);border-radius:8px;justify-content:center;align-items:center;transition:all .25s;display:flex}.settings-back-btn .btn-label{letter-spacing:.2px}.settings-back-btn:hover{color:#8b5cf6;background:#8b5cf61f;border-color:#8b5cf673;transform:translate(-2px);box-shadow:0 4px 14px #8b5cf633}.settings-back-btn:hover .btn-icon-wrap{color:#fff;background:#8b5cf6;border-color:#8b5cf6;transform:translate(-2px);box-shadow:0 2px 8px #8b5cf666}.title-icon-badge{color:#06b6d4;background:#06b6d426;border:1px solid #06b6d44d;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.badge-row{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.super-admin-badge{color:#ef4444;text-transform:uppercase;letter-spacing:.5px;background:#ef444426;border:1px solid #ef44444d;border-radius:6px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.live-telemetry-badge{color:#10b981;text-transform:uppercase;letter-spacing:.5px;background:#10b98126;border:1px solid #10b9814d;border-radius:6px;align-items:center;gap:.4rem;padding:.2rem .5rem;font-size:.7rem;font-weight:700;display:flex}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.health-title{color:hsl(var(--foreground));letter-spacing:-.3px;margin:0;font-size:1.35rem;font-weight:800}.interval-control{background:var(--glass-bg);border:1px solid var(--glass-border);color:hsl(var(--foreground) / .8);border-radius:10px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.8rem;display:flex}.interval-icon{color:#06b6d4}.interval-select{color:hsl(var(--foreground));cursor:pointer;background:0 0;border:none;outline:none;font-size:.8rem;font-weight:600}.interval-select option{color:#fff;background:#1e293b}[data-theme=light] .interval-select option{color:#1e293b;background:#fff}.copy-report-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.copy-report-btn:hover{background:hsl(var(--foreground) / .12);color:hsl(var(--foreground));border-color:hsl(var(--border));transform:translateY(-1px)}.table-refresh-btn,.refresh-btn{background:hsl(var(--foreground) / .05);border:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground) / .85);cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.table-refresh-btn:hover:not(:disabled),.refresh-btn:hover:not(:disabled){background:hsl(var(--foreground) / .12);color:hsl(var(--foreground));border-color:hsl(var(--border));transform:translateY(-1px)}.table-refresh-btn:disabled,.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.server-meta-banner{border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:stretch;gap:1rem;padding:1.25rem;display:grid}.meta-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;align-items:center;gap:.9rem;min-width:0;padding:.9rem 1.1rem;transition:transform .2s,border-color .2s;display:flex}.meta-item:hover{border-color:hsl(var(--primary) / .3)}.meta-icon-box{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.meta-icon-box.cyan{color:#06b6d4;background:#06b6d426}.meta-icon-box.blue{color:#3b82f6;background:#3b82f626}.meta-icon-box.emerald{color:#10b981;background:#10b98126}.meta-icon-box.amber{color:#f59e0b;background:#f59e0b26}.meta-content{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex;overflow:hidden}.meta-label{text-transform:uppercase;color:hsl(var(--foreground) / .55);letter-spacing:.5px;font-size:.7rem;font-weight:700}.meta-value{color:hsl(var(--foreground));white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:800;line-height:1.3;overflow:hidden}.meta-sub{color:hsl(var(--foreground) / .5);white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-size:.7rem;overflow:hidden}.status-pill-item{background:#10b9810d;border-color:#10b98133;flex-direction:column;justify-content:center;align-items:flex-start;gap:.35rem;display:flex}.health-status-pill{border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.775rem;font-weight:700;display:inline-flex}.health-status-pill.healthy{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.last-sync-time{color:hsl(var(--foreground) / .5);padding-left:.35rem;font-size:.725rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.kpi-card{border-radius:16px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.kpi-header{justify-content:space-between;align-items:center;display:flex}.kpi-icon-box{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.kpi-icon-box.color-blue{color:#3b82f6;background:#3b82f626}.kpi-icon-box.color-purple{color:#8b5cf6;background:#8b5cf626}.kpi-icon-box.color-cyan{color:#06b6d4;background:#06b6d426}.kpi-icon-box.color-emerald{color:#10b981;background:#10b98126}.kpi-status-tag{text-transform:uppercase;border-radius:6px;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.kpi-status-tag.normal{color:#10b981;background:#10b98126}.kpi-main{flex-direction:column;gap:.4rem;display:flex}.kpi-label{color:hsl(var(--foreground) / .6);text-transform:uppercase;letter-spacing:.4px;font-size:.75rem;font-weight:600}.kpi-value-row{align-items:baseline;gap:.4rem;display:flex}.kpi-value{color:hsl(var(--foreground));letter-spacing:-.5px;font-size:1.6rem;font-weight:800}.kpi-subtext{color:hsl(var(--foreground) / .55);font-size:.85rem}.kpi-progress-bg{background:var(--glass-bg);border-radius:10px;width:100%;height:6px;margin-top:.4rem;overflow:hidden}.kpi-progress-bar{border-radius:10px;height:100%;transition:width .5s}.kpi-progress-bar.blue{background:#3b82f6}.kpi-progress-bar.purple{background:#8b5cf6}.kpi-progress-bar.cyan{background:#06b6d4}.kpi-progress-bar.emerald{background:#10b981}.kpi-footer-row{color:hsl(var(--foreground) / .6);border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding-top:.5rem;font-size:.75rem;display:flex}.kpi-mono-val{color:hsl(var(--foreground));font-family:monospace;font-weight:600}.health-section{border-radius:18px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-title-wrapper{align-items:center;gap:.85rem;display:flex}.section-icon-box{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.section-icon-box.color-purple{color:#8b5cf6;background:#8b5cf626}.section-icon-box.color-emerald{color:#10b981;background:#10b98126}.section-icon-box.color-cyan{color:#06b6d4;background:#06b6d426}.section-icon-box.color-blue{color:#3b82f6;background:#3b82f626}.section-icon-box.color-amber{color:#f59e0b;background:#f59e0b26}.section-title{color:hsl(var(--foreground));margin:0;font-size:1.15rem;font-weight:800}.section-subtitle{color:hsl(var(--foreground) / .6);margin:.15rem 0 0;font-size:.8rem}.total-ram-badge,.total-storage-badge{background:var(--glass-bg);border:1px solid var(--glass-border);color:hsl(var(--foreground) / .8);border-radius:10px;padding:.4rem .85rem;font-size:.825rem}.memory-stacked-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;flex-direction:column;gap:.85rem;padding:1.25rem;display:flex}.stacked-bar-wrapper{background:#0003;border-radius:8px;width:100%;height:24px;display:flex;overflow:hidden}.stacked-segment{cursor:pointer;height:100%;transition:width .4s}.stacked-segment:hover{filter:brightness(1.2)}.stacked-legend-row{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.legend-item{align-items:center;gap:.45rem;font-size:.775rem;display:flex}.legend-dot{border-radius:3px;width:10px;height:10px}.legend-name{color:hsl(var(--foreground) / .75)}.legend-percent{color:hsl(var(--foreground));font-weight:700}.ram-cards-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.ram-split-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-left-width:4px;border-radius:12px;flex-direction:column;gap:.5rem;padding:1.1rem;transition:transform .2s;display:flex}.ram-split-card:hover{transform:translateY(-2px)}.ram-card-top{justify-content:space-between;align-items:center;display:flex}.ram-tag{border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.ram-percent-badge{font-size:.85rem;font-weight:800}.ram-service-name{color:hsl(var(--foreground));margin:0;font-size:.9rem;font-weight:700}.ram-service-desc{color:hsl(var(--foreground) / .6);flex-grow:1;margin:0;font-size:.75rem;line-height:1.35}.ram-card-bottom{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.ram-allocated-label{color:hsl(var(--foreground) / .55);font-size:.725rem}.ram-allocated-value{font-size:.875rem;font-weight:800}.swap-memory-bar{border-radius:12px;flex-direction:column;gap:.45rem;padding:.85rem 1.15rem;display:flex}.swap-info-group{justify-content:space-between;align-items:center;font-size:.775rem;display:flex}.swap-label{color:hsl(var(--foreground) / .7);font-weight:600}.swap-values{color:hsl(var(--foreground));font-family:monospace;font-weight:600}.swap-progress-track{background:#0003;border-radius:10px;width:100%;height:6px;overflow:hidden}.swap-progress-fill{background:#f59e0b;border-radius:10px;height:100%}.socket-states-chips{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.socket-chip{background:var(--glass-bg);border:1px solid var(--glass-border);color:hsl(var(--foreground) / .7);border-radius:8px;padding:.3rem .65rem;font-size:.725rem}.socket-chip strong{color:hsl(var(--foreground))}.ports-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.port-card{border-radius:16px;flex-direction:column;gap:1rem;padding:1.25rem;transition:transform .2s,border-color .2s;display:flex}.port-card:hover{border-color:hsl(var(--primary) / .4);transform:translateY(-2px)}.port-card-header{justify-content:space-between;align-items:center;display:flex}.port-number-badge{background:var(--glass-bg);border:1px solid;border-radius:8px;padding:.25rem .6rem;font-family:monospace;font-size:.75rem;font-weight:800}.port-online-pill{color:#10b981;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;display:flex}.status-dot.green{background:#10b981;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #10b981}.port-card-body{flex-direction:column;gap:.3rem;display:flex}.port-name{color:hsl(var(--foreground));margin:0;font-size:1rem;font-weight:700}.port-service-code{color:hsl(var(--foreground) / .55);font-family:monospace;font-size:.725rem}.port-metrics-block{border-top:1px solid var(--glass-border);flex-direction:column;gap:.65rem;padding-top:.75rem;display:flex}.port-metric-row{justify-content:space-between;align-items:center;display:flex}.metric-title{color:hsl(var(--foreground) / .6);font-size:.75rem}.metric-val.text-highlight{font-size:.95rem;font-weight:800}.port-bandwidth-grid{background:#00000026;border-radius:8px;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem;display:grid}.bw-item{flex-direction:column;gap:.15rem;display:flex}.bw-label{color:hsl(var(--foreground) / .5);align-items:center;gap:.25rem;font-size:.675rem;display:flex}.bw-value{color:hsl(var(--foreground));font-family:monospace;font-size:.775rem;font-weight:700}.storage-partitions-list{flex-direction:column;gap:1rem;display:flex}.partition-card{border-radius:14px;flex-direction:column;gap:.75rem;padding:1.15rem 1.35rem;display:flex}.partition-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.partition-mount-info{align-items:center;gap:.75rem;display:flex}.folder-icon-box{background:#06b6d426;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.partition-name{color:hsl(var(--foreground));margin:0;font-size:.925rem;font-weight:700}.partition-path{color:hsl(var(--foreground) / .55);font-family:monospace;font-size:.75rem}.partition-size-stats{align-items:center;gap:.85rem;display:flex}.usage-numbers{align-items:baseline;gap:.25rem;display:flex}.used-text{color:hsl(var(--foreground));font-size:.95rem;font-weight:800}.total-text{color:hsl(var(--foreground) / .5);font-size:.775rem}.usage-badge{border-radius:6px;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.usage-badge.healthy{color:#10b981;background:#10b98126}.usage-badge.warning{color:#f59e0b;background:#f59e0b26}.usage-badge.critical{color:#ef4444;background:#ef444426}.partition-progress-track{background:#0003;border-radius:10px;width:100%;height:7px;overflow:hidden}.partition-progress-bar{border-radius:10px;height:100%;transition:width .4s}.partition-progress-bar.cyan{background:#06b6d4}.partition-progress-bar.amber{background:#f59e0b}.partition-progress-bar.red{background:#ef4444}.partition-footer-info{color:hsl(var(--foreground) / .5);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.partition-available strong{color:#10b981}.dual-section-row{flex-wrap:wrap;gap:1.5rem;display:flex}.dual-section-row .flex-1{flex:500px}.db-status-pill{color:#10b981;background:#10b98126;border-radius:8px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.725rem;font-weight:700;display:inline-flex}.mysql-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.db-metric-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-direction:column;gap:.25rem;padding:.85rem;display:flex}.db-label{color:hsl(var(--foreground) / .55);text-transform:uppercase;font-size:.725rem}.db-val{color:hsl(var(--foreground));font-size:1.15rem;font-weight:800}.db-sub{color:hsl(var(--foreground) / .45);font-size:.7rem}.network-io-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.io-card{border-radius:12px;align-items:center;gap:.85rem;padding:1rem;display:flex}.io-icon-badge{background:var(--glass-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.io-details{flex-direction:column;gap:.15rem;display:flex}.io-label{color:hsl(var(--foreground) / .6);font-size:.725rem}.io-value{font-family:monospace;font-size:1.1rem;font-weight:800}.io-sub{color:hsl(var(--foreground) / .45);font-size:.675rem}@media (width<=768px){.server-health-container{gap:1rem;padding:1rem}.health-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:space-between}.status-pill-item{align-items:flex-start}.dual-section-row{flex-direction:column}}.slave-monitor-container{flex-direction:column;gap:1.5rem;width:100%;max-width:1400px;margin:0 auto;padding:1.5rem;display:flex}.slave-toast{z-index:2100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 10px 30px #00000059}.slave-toast.toast-success{color:#fff;background:#10b981f2}.slave-toast.toast-error{color:#fff;background:#ef4444f2}.slave-toast.toast-info{color:#fff;background:#3b82f6f2}.slave-header{border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.header-left{align-items:center;gap:1.2rem;display:flex}.back-btn{background:hsl(var(--card));width:42px;height:42px;color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex}.back-btn:hover{background:hsl(var(--primary));color:#fff;transform:translate(-2px)}.header-divider{background:hsl(var(--border) / .8);width:1px;height:36px}.title-group{align-items:center;gap:1rem;display:flex}.title-icon-badge{color:#f59e0b;background:linear-gradient(135deg,#f59e0b33,#f59e0b0d);border:1px solid #f59e0b4d;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 0 20px #f59e0b33}.badge-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.super-admin-badge{text-transform:uppercase;letter-spacing:.05em;color:#ef4444;background:#ef444426;border:1px solid #ef44444d;border-radius:6px;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.telemetry-badge{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:6px;align-items:center;gap:.4rem;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.baseline-badge{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:6px;padding:.2rem .55rem;font-size:.7rem;font-weight:600}.pulse-dot{background:#f59e0b;border-radius:50%;width:7px;height:7px;animation:1.6s infinite pulseDot;box-shadow:0 0 8px #f59e0b}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.slave-title{color:hsl(var(--foreground));margin:0;font-size:1.45rem;font-weight:800;line-height:1.2}.slave-subtitle{color:hsl(var(--foreground) / .6);margin-top:.2rem;font-size:.825rem}.header-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.header-action-btn{background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:10px;align-items:center;gap:.45rem;padding:.55rem .95rem;font-size:.825rem;font-weight:600;transition:all .2s;display:flex}.header-action-btn:hover:not(:disabled){background:hsl(var(--card) / .8);border-color:hsl(var(--primary));transform:translateY(-1px)}.header-action-btn:disabled{opacity:.5;cursor:not-allowed}.primary-action-btn{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;box-shadow:0 4px 14px #f59e0b59}.primary-action-btn:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#d97706);box-shadow:0 6px 18px #f59e0b73}.spin-icon{animation:1s linear infinite spin}.storage-path-bar{border-left:3px solid #f59e0b;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:.85rem 1.25rem;display:flex}.storage-path-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.storage-icon{color:#f59e0b}.storage-text-block{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.storage-label{text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--foreground) / .65);font-size:.8rem;font-weight:700}.storage-path-code{background:hsl(var(--card));border:1px solid hsl(var(--border));color:#f59e0b;word-break:break-all;border-radius:6px;padding:.25rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem}.copy-mini-btn{background:hsl(var(--card));border:1px solid hsl(var(--border));width:26px;height:26px;color:hsl(var(--foreground) / .7);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.copy-mini-btn:hover{color:hsl(var(--primary));border-color:hsl(var(--primary))}.storage-path-right{align-items:center;gap:.75rem;display:flex}.status-pill{border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.pill-active{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.pill-missing{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.pulse-indicator{background:#10b981;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #10b981}.meta-time{color:hsl(var(--foreground) / .55);align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.missing-file-alert{background:linear-gradient(135deg,#ef44441f,#ef444408);border:1px solid #ef444459;border-radius:18px;align-items:flex-start;gap:1.5rem;padding:1.75rem;display:flex;box-shadow:0 8px 32px #ef444426}.alert-icon-wrap{color:#ef4444;background:#ef444433;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;box-shadow:0 0 20px #ef44444d}.alert-content{flex:1}.alert-heading{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.alert-heading h3{color:#ef4444;margin:0;font-size:1.2rem;font-weight:800}.alert-code-tag{color:#ef4444;background:#ef444440;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.alert-message{color:hsl(var(--foreground));margin-bottom:.4rem;font-size:.9rem;line-height:1.5}.alert-description{color:hsl(var(--foreground) / .65);margin-bottom:1.2rem;font-size:.825rem;line-height:1.5}.alert-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.alert-btn{border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.alert-btn.primary-btn{color:#fff;background:#ef4444;box-shadow:0 4px 14px #ef444459}.alert-btn.primary-btn:hover{background:#dc2626;transform:translateY(-1px)}.alert-btn.secondary-btn{background:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.alert-btn.secondary-btn:hover{border-color:hsl(var(--primary))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));justify-content:center;align-items:stretch;gap:1.25rem;width:100%;display:grid}.stat-card{text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:1.5rem 1.25rem;display:flex;position:relative;overflow:hidden}.stat-card-header{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.stat-card-title{text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground) / .65);text-align:center;font-size:.775rem;font-weight:700}.stat-icon-wrap{border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:.15rem;display:flex}.stat-icon-amber{color:#f59e0b;background:#f59e0b26}.stat-icon-rose{color:#f43f5e;background:#f43f5e26}.stat-icon-cyan{color:#06b6d4;background:#06b6d426}.stat-icon-emerald{color:#10b981;background:#10b98126}.stat-value-group{text-align:center;justify-content:center;align-items:baseline;gap:.4rem;width:100%;display:flex}.stat-main-number{letter-spacing:-.02em;color:hsl(var(--foreground));text-align:center;font-size:2.15rem;font-weight:900;line-height:1}.stat-unit{color:hsl(var(--foreground) / .55);font-size:.85rem;font-weight:600}.stat-footer{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;width:100%;font-size:.75rem;display:flex}.stat-tag{text-align:center;border-radius:6px;justify-content:center;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.tag-recovered{color:#10b981;background:#10b98126}.tag-info{color:#3b82f6;background:#3b82f626}.tag-cyan{color:#06b6d4;background:#06b6d426}.stat-subtext{color:hsl(var(--foreground) / .55);text-align:center}.table-section{border-radius:18px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.table-controls-bar{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.filter-pills-group{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;align-items:center;gap:.4rem;padding:.3rem .4rem;display:flex}.filter-group-label{color:hsl(var(--foreground) / .5);text-transform:uppercase;padding:0 .3rem;font-size:.72rem;font-weight:700}.filter-pill{color:hsl(var(--foreground) / .7);border-radius:7px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.filter-pill:hover{color:hsl(var(--foreground));background:hsl(var(--background) / .4)}.filter-pill.active{color:#fff;background:#f59e0b;font-weight:700}.pill-count{background:#00000026;border-radius:4px;padding:.05rem .35rem;font-size:.7rem}.table-search-box{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;flex:1;align-items:center;gap:.5rem;min-width:240px;padding:.45rem .75rem;display:flex}.search-icon{color:hsl(var(--foreground) / .4)}.search-input{color:hsl(var(--foreground));background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.search-input::placeholder{color:hsl(var(--foreground) / .4)}.clear-search-btn{color:hsl(var(--foreground) / .4);padding:.15rem}.clear-search-btn:hover{color:hsl(var(--foreground))}.sort-dropdown-wrap{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;align-items:center;gap:.45rem;padding:.45rem .75rem;display:flex}.sort-icon{color:hsl(var(--foreground) / .5)}.sort-select{color:hsl(var(--foreground));cursor:pointer;background:0 0;border:none;outline:none;font-size:.825rem;font-weight:600}.sort-select option{background:hsl(var(--card));color:hsl(var(--foreground))}.table-responsive{border:1px solid hsl(var(--border));border-radius:12px;overflow-x:auto}.outage-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.outage-table th{background:hsl(var(--card));color:hsl(var(--foreground) / .65);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid hsl(var(--border));white-space:nowrap;padding:.85rem 1rem;font-size:.75rem;font-weight:700}.outage-table td{border-bottom:1px solid hsl(var(--border) / .6);color:hsl(var(--foreground));padding:.85rem 1rem}.outage-row{cursor:pointer;transition:background .15s}.outage-row:hover{background:hsl(var(--primary) / .05)}.td-num{color:hsl(var(--foreground) / .4);width:40px;font-weight:700}.timestamp-cell{flex-direction:column;gap:.2rem;display:flex}.ts-formatted{white-space:nowrap;font-weight:600}.ts-relative{color:hsl(var(--foreground) / .5);align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.node-badge{border-radius:6px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.node-cloud1{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.node-cloud2{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.ip-cell{align-items:center;gap:.5rem;display:flex}.ip-address-text{color:hsl(var(--foreground) / .9);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.825rem}.ip-copy-btn{width:22px;height:22px;color:hsl(var(--foreground) / .4);border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.ip-copy-btn:hover{color:hsl(var(--primary));background:hsl(var(--card))}.protocol-badge{border-radius:5px;padding:.18rem .5rem;font-size:.72rem;font-weight:800;display:inline-block}.proto-badge-ipv4{color:#06b6d4;background:#06b6d426;border:1px solid #06b6d44d}.proto-badge-ipv6{color:#a855f7;background:#a855f726;border:1px solid #a855f74d}.duration-cell{flex-direction:column;gap:.3rem;min-width:140px;display:flex}.duration-val-row{align-items:baseline;gap:.35rem;display:flex}.duration-human{color:#f59e0b;font-weight:700}.duration-ms{color:hsl(var(--foreground) / .45);font-size:.72rem}.mini-meter-track{background:hsl(var(--background));border-radius:999px;height:4px;overflow:hidden}.mini-meter-fill{border-radius:999px;height:100%}.status-badge-recovered{color:#10b981;text-transform:capitalize;background:#10b98126;border:1px solid #10b9814d;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.inspect-btn{background:hsl(var(--card));border:1px solid hsl(var(--border));width:28px;height:28px;color:hsl(var(--foreground) / .6);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.inspect-btn:hover{color:#f59e0b;border-color:#f59e0b}.empty-table-cell{text-align:center;padding:3rem 1rem!important}.empty-state{color:hsl(var(--foreground) / .5);flex-direction:column;align-items:center;gap:.75rem;display:flex}.reset-filters-btn{color:#fff;background:#f59e0b;border-radius:8px;padding:.45rem .9rem;font-size:.8rem;font-weight:700}.table-footer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.5rem;display:flex}.table-count-text{color:hsl(var(--foreground) / .55);font-size:.8rem}.table-quick-actions{align-items:center;gap:1rem;display:flex}.quick-action-link{color:#f59e0b;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;transition:opacity .15s;display:inline-flex}.quick-action-link:hover{opacity:.8;text-decoration:underline}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2200;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.raw-json-modal{border-radius:18px;flex-direction:column;width:100%;max-width:820px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.incident-detail-modal{border-radius:18px;flex-direction:column;gap:1.25rem;width:100%;max-width:580px;max-height:85vh;padding:1.5rem;display:flex;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.incident-detail-modal .modal-header{padding:0 0 1rem}.modal-title-group{align-items:center;gap:.75rem;display:flex}.modal-title-icon{color:#f59e0b}.modal-title-group h3{color:hsl(var(--foreground));margin:0;font-size:1.1rem;font-weight:800}.modal-path-text{color:hsl(var(--foreground) / .55);margin-top:.1rem;font-family:ui-monospace,monospace;font-size:.75rem}.modal-actions-group{align-items:center;gap:.5rem;display:flex}.modal-icon-btn,.modal-close-btn{background:hsl(var(--card));border:1px solid hsl(var(--border));width:32px;height:32px;color:hsl(var(--foreground) / .7);border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-icon-btn:hover,.modal-close-btn:hover{color:#f59e0b;border-color:#f59e0b}.modal-body{flex:1;padding:1.25rem;overflow-y:auto}.code-viewer{color:#58a6ff;background:#0d1117;border:1px solid #ffffff14;border-radius:10px;margin:0;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto}.incident-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.incident-field{flex-direction:column;gap:.25rem;display:flex}.field-label{text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--foreground) / .5);font-size:.72rem;font-weight:700}.field-value{color:hsl(var(--foreground));font-size:.9rem;font-weight:600}.field-value.uppercase{text-transform:uppercase}.field-value.highlight-amber{color:#f59e0b;font-weight:700}.field-copy-row{align-items:center;gap:.4rem;display:flex}.field-code{color:hsl(var(--foreground));word-break:break-all;font-family:ui-monospace,monospace;font-size:.85rem}.field-copy-btn{width:24px;height:24px;color:hsl(var(--foreground) / .4);border-radius:4px;justify-content:center;align-items:center;display:flex}.field-copy-btn:hover{color:#f59e0b}.inline-badge{align-self:flex-start}.incident-json-preview{flex-direction:column;gap:.5rem;display:flex}.preview-label-row{text-transform:uppercase;color:hsl(var(--foreground) / .5);justify-content:space-between;align-items:center;font-size:.72rem;font-weight:700;display:flex}.code-viewer-mini{color:#58a6ff;background:#0d1117;border:1px solid #ffffff14;border-radius:10px;margin:0;padding:.85rem;font-family:ui-monospace,monospace;font-size:.75rem;line-height:1.45;overflow-x:auto}@media (width<=900px){.slave-header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:flex-start;width:100%}.timeline-item-meta{min-width:200px}.incident-grid{grid-template-columns:1fr}}
