@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";html,body,#root{min-height:100%}:root{--bg-deep: #070f5a;--bg-mid: #102779;--line-glass: rgba(140, 185, 255, .38);--text-main: #ecf3ff;--text-soft: #bfd4ff;--accent-cyan: #77d2ff;--accent-blue: #1f6fff;--accent-blue-2: #1a3ad9;--green: #6ee980}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Segoe UI,sans-serif;color:var(--text-main);background:radial-gradient(70% 45% at 50% 35%,#3f72ff59,#0a155a00 70%),radial-gradient(110% 80% at 70% 10%,#1b2f87 0%,var(--bg-mid) 42%,var(--bg-deep) 100%);min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.065) 0,rgba(255,255,255,.065) 1px,transparent 1px,transparent 4px)}.loading-screen,.login-screen,.dashboard-screen{min-height:100vh;position:relative}.loading-screen{display:grid;place-items:center;color:var(--text-soft);font-size:1.05rem}.login-screen{display:grid;place-items:center;padding:1.58rem .88rem}.login-shell{width:min(455px,100%);display:grid;gap:1.15rem}.login-brand{display:grid;justify-items:center;gap:.24rem}.brand-bulb{width:57px;height:57px;color:#d8ecff;filter:drop-shadow(0 0 16px rgba(89,181,255,.75))}.login-brand h1{margin:0;font-size:clamp(1.54rem,2.8vw,2.38rem);font-weight:700;letter-spacing:.01em;color:#f4f8ff}.login-brand h1 span{color:#98ddff}.login-panel{width:100%;border-radius:20px;border:1px solid var(--line-glass);padding:1.58rem 1.47rem 1.33rem;background:linear-gradient(160deg,#70a0ff33,#0d1c639e 52%,#05124dbd),#0c1a6099;box-shadow:inset 0 1px #ffffff2e,0 20px 38px #040a2e99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.login-form-blue{display:grid;gap:.74rem}.field-block{display:grid;gap:.43rem}.field-title{display:inline-flex;align-items:center;gap:.38rem;font-size:1.4rem;font-weight:700;letter-spacing:.01em}.field-title-icon{width:1.4rem;height:1.4rem;color:#c7ddff}.field-input-wrap{position:relative;display:flex;align-items:center}.field-input-icon{position:absolute;left:.77rem;width:1.4rem;height:1.4rem;color:#c0d8ff}.field-input-wrap input{width:100%;height:52px;border-radius:10px;border:1px solid rgba(156,194,255,.52);outline:none;background:linear-gradient(160deg,#203f9757,#0b1a5fd1);color:#edf5ff;padding:0 3.36rem 0 3.01rem;font:600 1.4rem/1 Manrope,Segoe UI,sans-serif;letter-spacing:.01em}.field-input-wrap input::placeholder{color:#c0d2f5}.field-input-wrap input:focus{border-color:#7dc4ff;box-shadow:0 0 0 2px #7dc4ff3d}.eye-button{position:absolute;right:.6rem;width:38px;height:38px;border:0;padding:0;border-radius:50%;color:#c4d8ff;background:transparent;cursor:pointer}.eye-icon{width:27px;height:27px}.remember-row{display:inline-flex;align-items:center;gap:.5rem;margin-top:.18rem;font-size:1.4rem;color:#d7e4ff;font-weight:500}.remember-row input[type=checkbox]{appearance:none;width:1.4rem;height:1.4rem;border-radius:6px;border:1px solid rgba(156,194,255,.52);background:#081759c2;cursor:pointer}.remember-row input[type=checkbox]:checked{border-color:#88c8ff;background:radial-gradient(circle at 50% 50%,#8fd7ff 38%,#8fd7ff00 40%),#081759c2}.login-button{margin-top:.27rem;border:1px solid rgba(143,212,255,.55);border-radius:10px;height:53px;background:linear-gradient(92deg,#0d48ee,#46bcff 48%,#0d48ee);color:#f4f9ff;font:800 2.07rem/1 Manrope,Segoe UI,sans-serif;letter-spacing:.03em;cursor:pointer;box-shadow:0 10px 24px #0718606b}.login-button:disabled{cursor:not-allowed;opacity:.72}.error{margin:0;color:#ff9b9b;font-size:.77rem;font-weight:700}.small{margin:.25rem 0 0;color:var(--text-soft);font-size:.9rem}.login-error{margin-top:.15rem}.dashboard-screen{--dashboard-scale: 1;overflow-x:hidden;min-height:100dvh}.dashboard-scale-shell{zoom:var(--dashboard-scale);width:100%;min-height:100dvh}@supports not (zoom: 1){.dashboard-scale-shell{transform:scale(var(--dashboard-scale));transform-origin:top center;width:100%;min-height:100dvh}}.dashboard-topbar{width:100%;margin-top:0;position:relative;z-index:20;border-top:1px solid rgba(176,202,255,.24);border-bottom:1px solid rgba(176,202,255,.22);background:linear-gradient(180deg,#4374e957,#10287994);box-shadow:inset 0 1px #ffffff1f,0 8px 18px #07104452}.topbar-inner{width:min(1560px,calc(100% - clamp(2.2rem,3.8vw,3.8rem)));margin:0 auto;min-height:clamp(84px,8.8vw,120px);display:flex;justify-content:space-between;align-items:center;gap:clamp(.75rem,1.4vw,1rem);min-width:0}.brand-inline{display:inline-flex;align-items:center;gap:1rem;min-width:0;flex:1 1 auto}.header-bulb{width:clamp(46px,4.2vw,58px);height:clamp(46px,4.2vw,58px);color:#e4f3ff;filter:drop-shadow(0 0 12px rgba(61,171,255,.95))}.brand-inline h1{margin:0;font-size:clamp(1.85rem,3.6vw,3rem);font-weight:700;letter-spacing:.005em;color:#f1f7ff;min-width:0}.brand-inline h1 span{color:#9adfff}.view-tabs{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:0 0 auto;min-width:0}.view-tab,.logout-button{border:1px solid rgba(143,212,255,.42);border-radius:10px;min-height:38px;color:#eaf4ff;background:#08185457;font:700 .84rem/1 Manrope,Segoe UI,sans-serif;cursor:pointer;padding:0 .85rem;white-space:nowrap}.view-tab.active{border-color:#77d2ffb8;background:linear-gradient(95deg,#164fd5c7,#34a4ffc7);box-shadow:inset 0 0 0 1px #82d5ff38}.view-tab:disabled,.logout-button:disabled{opacity:.6;cursor:not-allowed}.account-actions{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;gap:.52rem;min-width:0;flex:0 1 auto}.account-actions .profile-pill{max-width:min(340px,100%)}.profile-pill{border:1px solid transparent;border-radius:999px;background:transparent;color:#e3eeff;font:500 clamp(1.05rem,1.9vw,1.9rem) / 1 "Manrope","Segoe UI",sans-serif;display:inline-flex;align-items:center;gap:clamp(.55rem,1.2vw,.8rem);cursor:pointer;padding:clamp(.35rem,.8vw,.5rem) .2rem;min-width:0;max-width:min(56%,560px);flex:0 1 auto}.profile-pill.active,.profile-pill[aria-expanded=true]{border-color:#77d2ff85;background:#0818544d}.profile-pill span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-icon{width:clamp(32px,2.9vw,46px);height:clamp(32px,2.9vw,46px);color:#a9c6ff}.logout-button{min-height:36px;border-color:#ffaeae7a;background:#5a163057}.account-menu{position:absolute;top:calc(100% + .55rem);right:0;z-index:30;width:min(220px,calc(100vw - 1.2rem));border:1px solid rgba(143,183,255,.42);border-radius:12px;background:linear-gradient(160deg,#1f4cb0eb,#071853f5),#071853f5;box-shadow:inset 0 1px #ffffff1f,0 16px 36px #030a2a75;padding:.38rem;display:grid;gap:.32rem}.account-menu-identity{border-bottom:1px solid rgba(143,183,255,.26);padding:.42rem .58rem .55rem;display:grid;gap:.12rem;min-width:0}.account-menu-identity strong,.account-menu-identity span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-identity strong{color:#f4f9ff;font-size:.86rem}.account-menu-identity span{color:#c9dcff;font-size:.76rem}.account-menu button{min-height:38px;border:1px solid transparent;border-radius:9px;background:transparent;color:#eaf4ff;font:700 .86rem/1 Manrope,Segoe UI,sans-serif;cursor:pointer;text-align:left;padding:0 .75rem}.account-menu button:hover,.account-menu button:focus-visible,.account-menu button.active{outline:none;border-color:#77d2ff7a;background:#4392ff38}.account-menu button.danger{color:#ffd6dc}.account-menu button.danger:hover,.account-menu button.danger:focus-visible{border-color:#ffaeae75;background:#80233961}.dashboard-content{width:min(1560px,calc(100% - clamp(2.8rem,4.5vw,5.2rem)));margin:3.4rem auto 0}.dashboard-content h2{margin:0 0 1.65rem;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:700;letter-spacing:.01em}.global-error{margin-bottom:.95rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(360px,24vw,460px);gap:clamp(1.4rem,2vw,1.9rem);align-items:start}.management-grid{margin-top:1.7rem;display:grid;gap:1.35rem}@media(min-width:1100px){.management-grid{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);align-items:start}.management-grid>.schedule-stack{display:contents}.management-grid>.schedule-stack:only-child .schedule-create,.management-grid>.schedule-stack:only-child .schedule-list,.management-grid>.schedule-stack:only-child .schedule-runs,.schedule-list,.schedule-runs{grid-column:1 / -1}}.lamp-list{display:grid;gap:1.48rem}.lamp-empty{border-radius:16px;border:1px dashed rgba(151,193,255,.45);background:#0a1c5a6b;padding:1.25rem}.lamp-empty h3{margin:0 0 .45rem;font-size:1.25rem;font-weight:700}.lamp-empty p{margin:0;color:var(--text-soft)}.lamp-card{min-height:170px;border-radius:16px;border:1px solid rgba(142,180,255,.34);padding:1.3rem 1.45rem;background:linear-gradient(165deg,#6693ff36,#15308699 45%,#0b1b60bf),#0b21708f;box-shadow:inset 0 1px #ffffff17,0 14px 24px #040a286b;display:grid;grid-template-columns:96px minmax(0,1fr) auto;grid-template-areas:"icon meta switch";align-items:center;column-gap:1.1rem;row-gap:.9rem;position:relative}.lamp-icon-shell{grid-area:icon;width:92px;height:92px;border-radius:50%;display:grid;place-items:center}.lamp-icon-shell.on{color:#e4f3ff;border:4px solid #67bdff;box-shadow:0 0 18px #4cb4ffcc}.lamp-icon-shell.off{color:#c5d5ff70;border:4px solid rgba(166,183,224,.42)}.lamp-icon{width:66px;height:66px}.lamp-meta{grid-area:meta;min-width:0}.lamp-meta h3{margin:0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:700;line-height:1.2}.lamp-meta-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding-right:4.1rem}.lamp-subtitle{margin:.28rem 0 0;color:var(--text-soft);font-size:clamp(.78rem,1.4vw,.95rem)}.lamp-power{margin:.35rem 0 0;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:600}.lamp-power.on{color:#4ab2ff}.lamp-power.off{color:#bfcef6a8}.lamp-statusline{margin:.3rem 0 0;color:#b8ccf5;font-size:clamp(.74rem,1.2vw,.88rem);line-height:1.35}.lamp-card-actions{display:flex;align-items:center;gap:.35rem;position:absolute;top:.72rem;right:.72rem;z-index:2}.lamp-mini-button{border:1px solid rgba(150,194,255,.54);border-radius:50%;width:30px;height:30px;padding:0;color:#e9f2ff;background:linear-gradient(95deg,#2657c7d9,#3697ffd9);display:grid;place-items:center;cursor:pointer;transition:transform .15s ease,filter .15s ease}.lamp-mini-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.07)}.lamp-mini-button.danger{border-color:#ffaeaea6;background:linear-gradient(95deg,#8c2d38eb,#bf4153eb)}.lamp-mini-icon{width:15px;height:15px}.lamp-mini-button:disabled{opacity:.55;cursor:not-allowed}.lamp-switch{--switch-width: 248px;--switch-knob-size: 70px;--switch-pad: 8px;--switch-travel: calc(var(--switch-width) - var(--switch-knob-size) - var(--switch-pad) - var(--switch-pad));grid-area:switch;width:var(--switch-width);height:86px;border:1px solid transparent;border-radius:999px;padding:0;position:relative;overflow:hidden;display:block;cursor:pointer;transition:background .24s ease,border-color .24s ease,filter .15s ease}.lamp-switch:disabled{opacity:.45;cursor:not-allowed}.lamp-switch:focus-visible{outline:none;box-shadow:0 0 0 2px #77d2ff47}.lamp-switch.on{background:linear-gradient(95deg,#2469f8,#11a5ff 65%)}.lamp-switch.off{background:linear-gradient(95deg,#27438db8,#6179bba8);border-color:#7d91ce59}.lamp-switch-label{position:absolute;top:50%;left:2.2rem;transform:translateY(-50%);color:#ebf3ff;font-size:4.2rem;font-weight:600;line-height:1;transition:left .24s ease,right .24s ease;pointer-events:none}.lamp-switch.on .lamp-switch-label{left:2.2rem;right:auto}.lamp-switch.off .lamp-switch-label{left:auto;right:2.2rem}.lamp-switch-knob{position:absolute;top:50%;left:var(--switch-pad);width:var(--switch-knob-size);height:var(--switch-knob-size);border-radius:50%;background:#f6f7fc;box-shadow:inset 0 -2px 1px #00000017,0 1px 4px #0000003d;transform:translateY(-50%);transition:transform .26s cubic-bezier(.2,.9,.2,1)}.lamp-switch.on .lamp-switch-knob{transform:translate(var(--switch-travel),-50%)}.lamp-switch.off .lamp-switch-knob{transform:translateY(-50%)}.monitor-card{border-radius:18px;border:1px solid rgba(143,183,255,.36);background:linear-gradient(166deg,#6a97ff38,#122a7ea8 54%,#08185ecc),#091e66b8;box-shadow:inset 0 1px #ffffff1c,0 16px 30px #040c2d70;padding:1.35rem 1.2rem;min-width:0;max-width:100%;overflow:hidden}.monitor-card h3{margin:0 0 1.1rem;font-size:3.2rem;font-weight:700}.monitor-row{padding:.88rem 0;border-bottom:1px solid rgba(171,198,255,.21);display:flex;align-items:center;justify-content:space-between;gap:.9rem;min-width:0}.monitor-row span,.monitor-row strong,.monitor-row p{margin:0;font-size:clamp(1rem,1.25vw,1.22rem);line-height:1.3;font-weight:500;min-width:0}.monitor-row.signal{display:block}.signal-content{margin-top:.85rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.wifi-icon{width:56px;height:56px;color:#6cea7e;flex:none}.signal-bars{width:205px;height:92px;display:flex;align-items:flex-end;justify-content:space-between}.bar{width:20px;border-radius:1px;background:linear-gradient(180deg,#8af59b,#55c86d);box-shadow:0 0 7px #5ce07647}.b1{height:20px}.b2{height:32px}.b3{height:44px}.b4{height:65px}.b5{height:52px}.b6{height:61px}.b7{height:74px}.monitor-row.connection{border-bottom:0;padding-bottom:.2rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.8rem;min-inline-size:0;min-width:0}.monitor-row.connection span{font-weight:600;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monitor-row.connection strong{display:block;font-weight:800;font-size:clamp(.95rem,1.1vw,1.2rem);line-height:1.12;letter-spacing:.02em;justify-self:end;text-align:right;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.connected{color:var(--green)}.disconnected{color:#ffa2a2}.device-create,.schedule-create,.schedule-list,.schedule-runs{border-radius:18px;border:1px solid rgba(143,183,255,.36);background:linear-gradient(166deg,#6a97ff2e,#122a7e99 54%,#08185ec2),#091e66a8;box-shadow:inset 0 1px #ffffff17,0 16px 30px #040c2d59;padding:1.2rem}.device-create h3,.schedule-create h3,.schedule-list h3,.schedule-runs h3{margin:0 0 .8rem;font-size:1.12rem}.device-create-form,.schedule-form,.schedule-edit-form{display:grid;gap:.72rem}.device-create-form label,.schedule-form label,.schedule-edit-form label{display:grid;gap:.34rem;color:var(--text-soft);font-size:.86rem}.device-create-form input,.schedule-form input,.schedule-form select,.schedule-edit-form input,.schedule-edit-form select{border:1px solid rgba(152,188,245,.46);border-radius:10px;background:#0718539e;color:var(--text-main);font-size:.92rem;padding:.6rem .7rem}.device-create-form input:focus,.schedule-form input:focus,.schedule-form select:focus,.schedule-edit-form input:focus,.schedule-edit-form select:focus{outline:none;border-color:#8ed1ff;box-shadow:0 0 0 2px #8ed1ff33}.device-create-form button,.schedule-form button,.schedule-actions button{border:1px solid rgba(143,212,255,.55);border-radius:10px;min-height:40px;color:#f4f9ff;background:linear-gradient(92deg,#0d48ee,#46bcff 48%,#0d48ee);font:700 .9rem/1 Manrope,Segoe UI,sans-serif;cursor:pointer;padding:0 .82rem}.device-create-form button:disabled,.schedule-form button:disabled,.schedule-actions button:disabled{opacity:.6;cursor:not-allowed}.device-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.device-form-actions .secondary{border-color:#9cb8ff80;background:linear-gradient(95deg,#27438dd1,#6179bbc2)}.device-discovery{margin-top:1rem;border-top:1px solid rgba(143,183,255,.28);padding-top:.9rem;display:grid;gap:.6rem}.device-discovery-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.device-discovery-head h4{margin:0;font-size:.98rem}.device-discovery-button{border:1px solid rgba(143,212,255,.55);border-radius:10px;min-height:34px;color:#f4f9ff;background:linear-gradient(92deg,#0d48ee,#46bcff 48%,#0d48ee);font:700 .82rem/1 Manrope,Segoe UI,sans-serif;cursor:pointer;padding:0 .75rem}.device-discovery-button:disabled{opacity:.6;cursor:not-allowed}.device-discovery-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.device-discovery-list li{border-radius:10px;border:1px solid rgba(140,184,255,.38);background:#09195285;padding:.62rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem}.device-discovery-meta strong{font-size:.9rem}.device-discovery-meta p{margin:.18rem 0 0;color:var(--text-soft);font-size:.76rem;line-height:1.35}.device-discovery-claim{border:1px solid rgba(143,212,255,.55);border-radius:9px;min-height:33px;color:#f4f9ff;background:linear-gradient(92deg,#0d48ee,#46bcff 48%,#0d48ee);font:700 .78rem/1 Manrope,Segoe UI,sans-serif;cursor:pointer;padding:0 .65rem;white-space:nowrap}.device-discovery-claim.off{border-color:#9cb8ff80;background:linear-gradient(95deg,#27438dd1,#6179bbc2)}.device-discovery-claim:disabled{opacity:.7;cursor:not-allowed}.schedule-stack{display:grid;gap:1.15rem}.schedule-list ul,.schedule-runs ul{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}.schedule-list li,.schedule-runs li{border-radius:12px;border:1px solid rgba(145,181,242,.34);background:#0b1b598c;padding:.68rem}.schedule-list li.selected{border-color:#7ed3ffb3;box-shadow:inset 0 0 0 1px #7ed3ff52}.schedule-list li strong{font-size:.96rem}.schedule-summary{display:grid;gap:.52rem}.schedule-title-row{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.schedule-title-copy{min-width:0;display:grid;gap:.14rem}.schedule-title-copy strong,.schedule-title-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-title-copy span{color:var(--text-soft);font-size:.76rem}.schedule-status-pill{flex:none;border:1px solid rgba(143,212,255,.42);border-radius:999px;padding:.2rem .5rem;color:#dff4ff;background:#1f6ce23d;font-size:.72rem;font-weight:800;line-height:1}.schedule-status-pill.paused{border-color:#ffd28a75;color:#ffe6b6;background:#764b1752}.schedule-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:.36rem}.schedule-chip{min-width:0;border:1px solid rgba(143,183,255,.22);border-radius:9px;background:#07185361;padding:.38rem .46rem;display:grid;gap:.12rem}.schedule-chip span{color:var(--text-soft);font-size:.68rem;line-height:1.15}.schedule-chip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main);font-size:.78rem;line-height:1.2}.schedule-chip.warning{border-color:#ffd28a57;background:#764b173d}.schedule-actions{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.45rem}@media(min-width:1100px){.schedule-list ul{gap:.72rem}.schedule-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.72rem}.schedule-list .schedule-edit-form{grid-column:1 / -1}.schedule-list .schedule-actions{margin-top:0;justify-content:flex-end;min-width:max-content}.schedule-chip-grid{grid-template-columns:repeat(auto-fit,minmax(116px,1fr))}.schedule-list .schedule-chip strong{white-space:normal;overflow-wrap:anywhere}}@media(min-width:1280px){.schedule-list .schedule-chip-grid{grid-template-columns:minmax(150px,1fr) minmax(190px,1.15fr) minmax(95px,.7fr) minmax(120px,.75fr) minmax(150px,.9fr) minmax(190px,1.15fr)}}.schedule-actions .danger{border-color:#ff9e9e99;background:linear-gradient(92deg,#a83445,#d94e63)}.schedule-actions .off{border-color:#9cb8ff80;background:linear-gradient(95deg,#27438dd1,#6179bbc2)}.panel-shell{border-radius:18px;border:1px solid rgba(143,183,255,.36);background:linear-gradient(166deg,#6a97ff2e,#122a7e99 54%,#08185ec2),#091e66a8;box-shadow:inset 0 1px #ffffff17,0 16px 30px #040c2d59;padding:1.25rem;min-width:0}.panel-head,.assignment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-head h2,.panel-form h3,.profile-card h3,.member-list h3,.assignment-panel h3{margin:0}.panel-head h2{font-size:clamp(2rem,4vw,3rem);line-height:1.05}.role-badge{border:1px solid rgba(118,229,155,.45);border-radius:999px;background:#1a704861;color:#bfffd2;font-size:.82rem;font-weight:800;letter-spacing:.04em;padding:.45rem .75rem;text-transform:uppercase}.success-message{margin:0 0 .95rem;color:#aef5c1;font-size:.86rem;font-weight:800}.profile-grid,.user-manager-grid,.assignment-area{display:grid;gap:1rem}.profile-grid{grid-template-columns:minmax(260px,.9fr) repeat(2,minmax(260px,1fr));align-items:start}.user-manager-grid{grid-template-columns:minmax(280px,.48fr) minmax(0,1fr);align-items:start}.assignment-area{margin-top:1rem;grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);align-items:start}.profile-card,.panel-form,.member-list,.assignment-panel{border-radius:12px;border:1px solid rgba(145,181,242,.34);background:#0b1b598c;padding:.95rem;min-width:0}.panel-form{display:grid;gap:.74rem}.panel-form label{display:grid;gap:.34rem;color:var(--text-soft);font-size:.86rem}.panel-form input,.assignment-table select,.user-table select{border:1px solid rgba(152,188,245,.46);border-radius:10px;background:#0718539e;color:var(--text-main);font-size:.92rem;padding:.6rem .7rem;min-width:0}.panel-form input:focus,.assignment-table select:focus{outline:none;border-color:#8ed1ff;box-shadow:0 0 0 2px #8ed1ff33}.panel-form button,.panel-action,.table-button{border:1px solid rgba(143,212,255,.55);border-radius:10px;min-height:40px;color:#f4f9ff;background:linear-gradient(92deg,#0d48ee,#46bcff 48%,#0d48ee);font:700 .9rem/1 Manrope,Segoe UI,sans-serif;cursor:pointer;padding:0 .82rem}.panel-form button:disabled,.panel-action:disabled,.table-button:disabled{opacity:.6;cursor:not-allowed}.inline-check{display:inline-flex!important;grid-template-columns:auto 1fr;align-items:center;gap:.5rem!important}.inline-check input{width:18px;height:18px}.profile-facts{display:grid;gap:.72rem;margin:.9rem 0 0}.profile-facts div{display:grid;gap:.18rem}.profile-facts dt{color:var(--text-soft);font-size:.78rem;font-weight:700}.profile-facts dd{margin:0;overflow-wrap:anywhere;font-weight:800}.user-table-wrap,.assignment-table-wrap{overflow-x:auto;margin-top:.72rem}.user-table,.assignment-table{width:100%;min-width:620px;border-collapse:collapse}.user-table th,.user-table td,.assignment-table th,.assignment-table td{border-bottom:1px solid rgba(143,183,255,.22);padding:.72rem .58rem;text-align:left;vertical-align:top}.user-table th,.assignment-table th{color:#d9e8ff;font-size:.76rem;letter-spacing:.03em;text-transform:uppercase}.user-table tr.selected td{background:#34a4ff1f}.user-table tr.archived td{color:#e4eeffbd;background:#313d5d24}.table-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.42rem;vertical-align:middle;padding-top:.35rem!important;padding-bottom:.35rem!important}.table-actions .table-button{min-height:36px;white-space:nowrap}.table-button.danger{border-color:#ff9e9e8f;background:linear-gradient(92deg,#a83445,#d94e63)}.table-icon-button{width:36px;min-width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}.table-button-icon{width:17px;height:17px}.status-chip{display:inline-flex;align-items:center;border:1px solid rgba(143,212,255,.38);border-radius:999px;min-height:24px;padding:0 .52rem;font-size:.74rem;font-weight:800;white-space:nowrap}.status-chip.active{border-color:#76e59b6b;color:#bfffd2;background:#1a70484d}.status-chip.inactive{border-color:#ffd28a70;color:#ffe2ae;background:#764b174d}.status-chip.archived{border-color:#b9c4da5c;color:#d6dfef;background:#4b567057}.assignment-table td p{margin:.22rem 0 0;color:var(--text-soft);font-size:.76rem}.assignment-table input[type=checkbox]{width:18px;height:18px}.assignment-table select{width:min(190px,100%)}.permission-note{color:#ffd4a6!important}@media(min-width:768px){.schedule-form,.schedule-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.85rem}.schedule-form .weekday-picker,.schedule-edit-form .weekday-picker,.schedule-form>button,.schedule-edit-form .schedule-actions,.schedule-form .small,.schedule-edit-form .small{grid-column:1 / -1}}.weekday-picker{margin:0;padding:0;border:0}.weekday-picker legend{font-size:.86rem;color:var(--text-soft);margin-bottom:.4rem}.weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem}.weekday-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(133,175,238,.48);border-radius:8px;min-height:28px;padding:0 .28rem;background:#081b5b8c;color:#d8e8ff;font-size:.76rem;font-weight:600;cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease,background .2s ease}.weekday-toggle:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:#6fccffcc;transform:scaleX(0);transform-origin:center;transition:transform .2s ease}.weekday-toggle.is-enabled{color:#f3f9ff;border-color:#65cdffbf;background:linear-gradient(145deg,#1959d3b3,#2b9bffc7);box-shadow:inset 0 0 0 1px #65cdff59}.weekday-toggle.is-enabled:after{transform:scaleX(1)}.weekday-toggle.is-disabled{color:#d8e8ffcc;background:#081b5b73}.weekday-toggle:not(:disabled):hover{transform:translateY(-1px)}.weekday-toggle:not(:disabled):active{transform:translateY(0)}.weekday-toggle:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #65cdff59,0 0 0 2px #77d2ff40}.weekday-toggle:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1180px){.dashboard-screen{--dashboard-scale: 1}.dashboard-content{width:calc(100% - 2.8rem);margin-top:2rem}.dashboard-content h2{margin-bottom:1.2rem;font-size:clamp(2.1rem,4.6vw,3rem)}.dashboard-grid{grid-template-columns:1fr;gap:1.2rem}.lamp-card{min-height:142px;grid-template-columns:74px minmax(0,1fr);grid-template-areas:"icon meta" "switch switch";align-items:start;row-gap:.72rem;padding:1rem 1.05rem}.lamp-meta{display:grid;grid-auto-rows:max-content;row-gap:.2rem}.lamp-icon-shell{width:66px;height:66px;border-width:3px}.lamp-icon{width:48px;height:48px}.lamp-meta h3{font-size:clamp(1.12rem,2.25vw,1.48rem)}.lamp-meta-head{padding-right:0;align-items:flex-start;margin-bottom:.04rem}.lamp-card-actions{position:static;top:auto;right:auto;z-index:auto;margin-left:auto;gap:.32rem}.lamp-subtitle,.lamp-power,.lamp-statusline{margin:0}.lamp-switch{--switch-width: 268px;width:var(--switch-width);height:64px;--switch-knob-size: 48px;--switch-pad: 8px;justify-self:start;align-self:start;margin-top:0}.lamp-switch-label{font-size:1.9rem}.monitor-card h3{font-size:clamp(1.55rem,3vw,2.2rem)}.monitor-row span,.monitor-row strong,.monitor-row p{font-size:clamp(.96rem,1.8vw,1.15rem)}}@media(max-width:980px){.dashboard-topbar{margin-top:0}.topbar-inner{width:calc(100% - 2rem);min-height:82px;flex-wrap:nowrap;padding:.65rem 0}.brand-inline h1{font-size:clamp(1.45rem,4vw,2rem)}.header-bulb{width:38px;height:38px}.profile-pill{font-size:clamp(.98rem,2.3vw,1.15rem)}.view-tabs{flex:1 1 auto;justify-content:center;overflow-x:auto;padding-bottom:.1rem}.account-actions{flex:0 0 auto;max-width:none}.profile-icon{width:28px;height:28px}.dashboard-content{width:calc(100% - 2.2rem);margin-top:1.4rem}.dashboard-content h2{font-size:clamp(2rem,7vw,2.7rem)}.dashboard-grid{grid-template-columns:1fr}.management-grid{margin-top:1.2rem;gap:1rem}.lamp-card{min-height:130px;grid-template-columns:58px minmax(0,1fr);grid-template-areas:"icon meta" "switch switch";column-gap:.8rem;row-gap:.64rem;padding:.9rem}.lamp-icon-shell{width:56px;height:56px;border-width:2px}.lamp-icon{width:42px;height:42px}.lamp-meta h3{font-size:clamp(1.1rem,3.8vw,1.4rem)}.lamp-meta-head{gap:.5rem}.lamp-mini-button{width:28px;height:28px}.lamp-mini-icon{width:14px;height:14px}.lamp-power{font-size:clamp(1.02rem,3.3vw,1.22rem)}.lamp-subtitle,.lamp-statusline{font-size:.72rem}.lamp-switch{--switch-width: 220px;width:var(--switch-width);height:52px;--switch-knob-size: 40px;--switch-pad: 6px;justify-self:start;margin-top:0}.lamp-switch-label{font-size:1.6rem}.monitor-card h3{font-size:clamp(1.45rem,4vw,1.9rem)}.monitor-row span,.monitor-row strong,.monitor-row p{font-size:clamp(.95rem,3.1vw,1.1rem)}.device-create,.schedule-create,.schedule-list,.schedule-runs{padding:.95rem}.profile-grid,.user-manager-grid,.assignment-area{grid-template-columns:1fr}.panel-head,.assignment-head{align-items:stretch;flex-direction:column}.panel-action{width:100%}.device-discovery-list li{grid-template-columns:1fr}.device-discovery-claim{width:100%}.weekday-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.signal-bars{width:150px;height:72px}.bar{width:14px}.wifi-icon{width:42px;height:42px}.login-screen{padding:1.12rem .6rem}.login-shell{gap:.77rem}.brand-bulb{width:41px;height:41px}.login-brand h1{font-size:clamp(1.44rem,5.6vw,1.75rem)}.login-panel{border-radius:14px;padding:.85rem .7rem .7rem}.field-title{font-size:clamp(.88rem,3.5vw,1.05rem)}.field-title-icon,.field-input-icon{width:.95rem;height:.95rem}.field-input-wrap input{height:38px;border-radius:12px;font-size:.95rem;padding-left:2.1rem;padding-right:2.38rem}.eye-button{width:28px;height:28px}.eye-icon{width:21px;height:21px}.remember-row{font-size:.95rem}.remember-row input[type=checkbox]{width:.91rem;height:.91rem}.login-button{height:41px;font-size:1.4rem}}@media(max-width:640px){.topbar-inner{width:calc(100% - 1.2rem);min-height:72px;gap:.55rem;flex-wrap:nowrap}.brand-inline{flex:0 0 auto;gap:.45rem}.header-bulb{width:34px;height:34px}.brand-inline h1{display:none}.profile-pill{font-size:.95rem;gap:.45rem;padding:.26rem .08rem;max-width:100%}.profile-pill span{display:none}.account-actions{width:auto;max-width:none;justify-content:flex-end}.view-tabs{flex:1 1 auto;justify-content:center;gap:.28rem;overflow-x:auto}.view-tab,.logout-button{min-height:34px;padding:0 .52rem;font-size:.72rem}.profile-icon{width:24px;height:24px}.dashboard-content{width:calc(100% - 1.2rem);margin-top:1rem}.lamp-card{grid-template-columns:1fr;grid-template-areas:"icon" "meta" "switch";justify-items:center;text-align:center;row-gap:.68rem}.lamp-meta{width:100%}.lamp-meta-head{flex-direction:column;align-items:center}.lamp-card-actions{margin-left:0;justify-content:center}.lamp-switch{width:min(100%,var(--switch-width));justify-self:center;margin-top:0}.device-discovery-head{align-items:stretch;flex-direction:column}.device-discovery-button{width:100%}.schedule-actions button{flex:1 1 calc(50% - .4rem)}.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-shell{padding:.9rem}.user-table,.assignment-table{min-width:560px}}
