:root{--bg:#f5f5f7;--panel:#ffffff;--panel-2:#f5f5f7;--line:#e5e5ea;--txt:#1d1d1f;--muted:#86868b;--accent:#34c759;--accent-2:#0071e3;--warn:#ff9f0a;--down:#ff3b30;--orange:#f59331;--radius:18px;--side:264px;--shadow:0 1px 2px rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.05)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Montserrat,-apple-system,system-ui,sans-serif;background:var(--bg);color:var(--txt);-webkit-font-smoothing:antialiased}.app{display:flex;min-height:100vh}.sidebar{width:var(--side);flex-shrink:0;background:#f5f5f7cc;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 14px;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:11px;padding:4px 8px 20px;cursor:pointer}.logo .mark{width:34px;height:34px;object-fit:contain}.logo .name{font-weight:700;font-size:17px;letter-spacing:-.3px}.logo .name b{color:var(--txt)}.picker-lbl,.nav-label{font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.2px;margin:6px 8px 8px;text-transform:none}.nav-label{margin-top:20px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;font-family:inherit;font-size:14px;font-weight:500;color:var(--txt);background:none;border:none;border-radius:11px;padding:10px 12px;cursor:pointer;transition:.15s;text-decoration:none}.nav-item:hover{background:#0000000a}.nav-item.active{background:#0000000f;font-weight:600}.nav-item .ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.nav-item .ico svg{width:18px;height:18px}.nav-item.active .ico{color:var(--txt)}.sidebar .spacer{flex:1}.profile .av{width:32px;height:32px;border-radius:50%;background:linear-gradient(150deg,#c7c7cc,#aeaeb2);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff}.profile .av svg{width:19px;height:19px}.profile .who{font-size:13px;font-weight:600;min-width:0;overflow-wrap:anywhere}.profile .who small{display:block;color:var(--muted);font-weight:400;font-size:11px}.profile-wrap{position:relative;margin-top:10px;border-top:1px solid var(--line)}.profile{display:flex;align-items:center;gap:10px;padding:12px 8px 4px;width:100%;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;border-radius:11px;transition:.15s}.profile:hover{background:#0000000a}.profile .chev{margin-left:auto;color:var(--muted);display:inline-flex;transition:.2s}.profile .chev svg{width:16px;height:16px}.profile-wrap.open .chev{transform:rotate(180deg)}.profile-menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 30px #0000001f;padding:6px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s}.profile-wrap.open .profile-menu{opacity:1;visibility:visible;transform:translateY(0)}.pm-item{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;font-family:inherit;font-size:14px;font-weight:500;color:var(--txt);padding:10px 11px;border-radius:9px;cursor:pointer;transition:.15s}.pm-item:hover{background:#0000000d}.pm-item.logout{color:var(--down)}.pm-item .pm-ic{display:inline-flex}.pm-item .pm-ic svg{width:17px;height:17px}.pm-row{display:flex;align-items:center;gap:10px;width:100%;font-size:14px;font-weight:500;color:var(--txt);padding:8px 11px}.pm-row .pm-ic{display:inline-flex;color:var(--muted)}.pm-row .pm-ic svg{width:17px;height:17px}.pm-row .lang-switch{margin-left:auto}.pm-div{height:1px;background:var(--line);margin:5px 8px}.lang-switch{display:inline-flex;background:#0000000d;border-radius:8px;padding:2px;flex-shrink:0}.lang-switch button{font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.3px;color:var(--muted);background:none;border:none;border-radius:6px;padding:4px 9px;cursor:pointer;transition:.15s}.lang-switch button:hover:not(.sel){color:var(--txt)}.lang-switch button.sel{background:var(--panel);color:var(--txt);box-shadow:0 1px 3px #0000001a}.main{flex:1;min-width:0;padding:30px 38px}header.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;flex-wrap:wrap;gap:14px}header.top h1{font-size:26px;font-weight:700;letter-spacing:-.5px}header.top h1 .ctx{color:var(--muted);font-weight:600}.hgroup{display:flex;align-items:center;gap:14px}.home-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer;transition:.15s;flex-shrink:0;box-shadow:var(--shadow)}.home-btn:hover{color:var(--txt);background:#fff}.home-btn svg{width:19px;height:19px}.status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:500}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #34c7592e}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow)}.card.full{grid-column:1 / -1}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px}.card-head h2{font-size:16px;font-weight:600;letter-spacing:-.2px}.card-head .hint{font-size:12px;color:var(--muted);font-weight:400}.toggle button{font-family:inherit;font-size:13px;font-weight:500;background-color:var(--panel-2);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:7px 13px;cursor:pointer;outline:none}.toggle{display:flex;gap:6px;background:var(--panel-2);padding:3px;border-radius:11px;border:1px solid var(--line)}.toggle button{border:none;background:none;border-radius:8px;padding:6px 12px;color:var(--muted);transition:.15s}.toggle button.active{background:#fff;color:var(--txt);box-shadow:0 1px 2px #00000014}.daterange{position:relative;display:inline-flex;align-items:center}.dr-trigger{display:inline-flex;align-items:center;gap:9px;font-family:inherit;font-size:13px;font-weight:600;color:var(--txt);background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:8px 13px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.dr-trigger:hover{border-color:#d0d0d5}.dr-trigger.open{border-color:var(--accent-2);box-shadow:0 0 0 3px #0071e326}.dr-trigger svg{color:var(--muted);flex-shrink:0}.dr-val{display:inline-flex;align-items:center;gap:8px;letter-spacing:.1px}.dr-arrow{color:var(--muted);font-weight:500}.dr-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:50;width:max-content;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px #00000024;padding:14px;animation:dr-pop .12s ease}@keyframes dr-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dr-cal{position:relative}.dr-chev{position:absolute;top:-1px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:var(--txt);background:var(--panel);border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:.15s;z-index:1}.dr-chev:hover{border-color:#d0d0d5;background:var(--panel-2)}.dr-chev:disabled{opacity:.35;cursor:default}.dr-chev:disabled:hover{border-color:var(--line);background:var(--panel)}.dr-prev{left:0}.dr-next{right:0}.dr-months{display:flex;gap:22px;flex-wrap:wrap}.dr-month{width:238px}.dr-mtitle{text-align:center;font-size:13.5px;font-weight:700;color:var(--txt);height:28px;line-height:28px;margin-bottom:8px}.dr-wk{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.dr-wk span{text-align:center;font-size:11px;font-weight:600;color:var(--muted)}.dr-grid{display:grid;grid-template-columns:repeat(7,1fr)}.dr-empty{height:34px}.dr-day{position:relative;height:34px;border:none;background:none;font-family:inherit;font-size:13px;font-weight:500;color:var(--txt);cursor:pointer;border-radius:9px;outline:none}.dr-day:hover:not(.dr-disabled):not(.dr-in){background:var(--panel-2)}.dr-today{font-weight:700;color:var(--accent-2)}.dr-disabled{color:#c7c7cc;cursor:default}.dr-day.dr-in{background:#0071e31f;border-radius:0}.dr-day.dr-start,.dr-day.dr-end{background:var(--accent-2);color:#fff;font-weight:700}.dr-day.dr-start{border-radius:9px 0 0 9px}.dr-day.dr-end{border-radius:0 9px 9px 0}.dr-day.dr-start.dr-end{border-radius:9px}.chart-box{position:relative;height:240px}.chart-box.tall{height:300px}.floors{display:flex;flex-direction:column}.floor-row{display:grid;grid-template-columns:54px 1fr 150px 110px;align-items:center;gap:16px;padding:14px 6px;border-bottom:1px solid var(--line)}.floor-row:last-child{border-bottom:none}.floors.no-delta .floor-row{grid-template-columns:54px 1fr 150px}.floor-name{font-weight:600;font-size:15px}.hbar{height:20px;background:var(--panel-2);border-radius:7px;overflow:hidden}.hbar .fill{height:100%;border-radius:7px;transition:width .4s ease}.hbar .fill.up,.hbar .fill.down{background:#38bdf8}.floor-val{text-align:right}.floor-val .num{font-size:16px;font-weight:600}.floor-val .lbl{font-size:11px;color:var(--muted);letter-spacing:.2px}.chip{justify-self:end;font-size:13px;font-weight:600;padding:5px 11px;border-radius:9px;display:inline-flex;align-items:center;gap:5px}.chip.up{color:#0f9d6b;background:#34d39924}.chip.down{color:#e0524b;background:#f8717124}.chip.none{color:var(--muted);background:var(--panel-2)}.chip.todo{color:#b26a00;background:#f59e0b29;font-size:11px;padding:3px 9px;margin-left:9px;vertical-align:middle}.alarm-list{display:flex;flex-direction:column;gap:12px}.alarm{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line)}.alarm .ico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.alarm.ok .ico{background:#34c75924;color:#1d8a3f}.alarm .body strong{display:block;font-size:14px;font-weight:600}.alarm .body span{font-size:13px;color:var(--muted)}.alarm .time{margin-left:auto;font-size:12px;color:var(--muted);font-weight:500}.pc-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.pc{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.45}.pc-ic{flex-shrink:0;display:inline-flex;margin-top:1px}.pc-ic svg{width:15px;height:15px}.pc-body{flex:1;min-width:0}.pc strong{font-weight:600;margin-right:6px}.pc .pc-d{color:var(--muted)}.pc-ok .pc-ic,.pc-ok strong{color:#1d8a3f}.pc-warning .pc-ic,.pc-warning strong{color:#a86a00}.pc-alarm .pc-ic{color:#c0392b}.pc-alarm strong{color:#b93a30}.view{display:none}.view.active{display:block}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cv-note{margin:-6px 0 18px;padding:10px 14px;border-radius:12px;background:#fff8e6;border:1px solid #f1d58a;color:var(--txt);font-size:13px;line-height:1.45}.cv-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px;color:var(--muted);font-size:13px;line-height:1.5}.chart-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--muted);font-size:13px}.cv-noref{margin:0;padding:8px 0 4px;font-size:14px;line-height:1.6;color:var(--muted);max-width:760px}.cv-beta{margin:-4px 0 10px;font-size:12px;line-height:1.5;color:var(--muted);font-style:italic}.ubadge.alarm{color:var(--down);background:#ff3b301f}.ubadge.advice{color:var(--accent-2);background:#0071e31a}.lights-table{min-width:860px}.lights-plant{font-weight:600}.lights-note{font-size:12px;color:var(--muted);margin-top:2px;max-width:220px}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--down);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.ev-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.ev-check{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer}.ev-row{cursor:pointer}.ev-row:hover td{background:#00000005}.ev-row .pc{padding:0;background:none}.ev-row.unread .pc-body strong{font-weight:700}.ev-new{margin-left:8px;font-size:10.5px;font-weight:700;color:var(--accent-2);background:#0071e31a;padding:2px 7px;border-radius:999px;vertical-align:middle}.ev-plant{font-weight:600;white-space:nowrap}.ev-period{white-space:nowrap;color:var(--muted)}.ev-status{font-size:12px;font-weight:600;color:var(--muted);background:var(--panel-2);padding:4px 10px;border-radius:999px;white-space:nowrap}.ev-status.on{color:var(--down);background:#ff3b301a}.lights-life{min-width:150px}.lights-bar{height:6px;border-radius:3px;background:#00000012;overflow:hidden}.lights-bar span{display:block;height:100%;border-radius:3px;background:#34d399}.lights-bar span.alarm{background:var(--down)}.lights-bar span.pending{background:#ff9f0a}.lights-bar span.advice{background:var(--accent-2)}.lights-hours{font-size:12px;color:var(--muted);margin-top:5px;white-space:nowrap}.lights-def{font-style:italic}.lights-row-actions{display:inline-flex;gap:8px;justify-content:flex-end;align-items:center}.lights-fix{width:30px;height:30px;border-radius:8px;border:none;background:#0000000d;color:var(--muted);font-size:15px;cursor:pointer;font-family:inherit}.lights-fix:hover{background:#0000001a;color:var(--txt)}.lights-legend{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:16px;white-space:pre-line}.u-intro.wide{max-width:none;white-space:pre-line}.lights-form{padding:0 24px 22px;display:flex;flex-direction:column;gap:12px}.lights-form label{display:flex;flex-direction:column;gap:5px}.lights-form label>span{font-size:12px;font-weight:600;color:var(--muted)}.lights-hint{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.lights-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.cv-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:13px;color:var(--muted);font-weight:500}.cv-sec{margin:30px 2px 14px}.cv-sec-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:30px 2px 14px;flex-wrap:wrap}.cv-sec-row .ttl h2{font-size:16px;font-weight:600;letter-spacing:-.2px}.cv-sec-row .ttl p{font-size:13px;color:var(--muted);margin-top:4px}.chart-box.rough{height:360px}.cv-sec h2{font-size:16px;font-weight:600;letter-spacing:-.2px}.cv-sec p{font-size:13px;color:var(--muted);margin-top:4px;max-width:760px;line-height:1.5}.dir-head{display:flex;align-items:center;margin-bottom:14px}.dir-head .d{font-size:15px;font-weight:600}.dir-head .tr{font-size:12.5px;color:var(--muted);font-weight:500}.help-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:10px;flex-shrink:0;align-self:flex-start;border-radius:50%;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;cursor:help;vertical-align:middle;-webkit-user-select:none;user-select:none}.help-tip:hover,.help-tip:focus{color:var(--accent-2);border-color:var(--accent-2);outline:none}.help-tip-box{position:absolute;left:0;top:26px;z-index:30;width:min(340px,calc(100vw - 64px));padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #0000001f;color:var(--txt);font-size:13px;font-weight:400;line-height:1.5;text-align:left;white-space:normal;cursor:auto}@media (max-width:900px){.grid-3{grid-template-columns:1fr}}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}.elly{display:flex;flex-direction:column;align-items:center;gap:22px;padding:26px 0 36px}.elly-title{display:flex;align-items:center;gap:14px;margin:0;font-size:34px;font-weight:500;letter-spacing:-.6px;color:var(--txt)}.elly-pic{height:64px;width:auto;flex-shrink:0}.elly-box{width:100%;max-width:720px;display:flex;flex-direction:column;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:16px 16px 12px 18px;box-shadow:var(--shadow)}.elly-box input{font:inherit;font-size:15px;border:none;outline:none;background:transparent;color:var(--txt);padding:2px 0}.elly-box input:disabled{cursor:not-allowed}.elly-bar{display:flex;align-items:center;justify-content:space-between}.elly-badge{font-size:12px;font-weight:600;color:var(--accent-2);background:#0071e31a;padding:4px 10px;border-radius:999px}.elly-bar button{width:34px;height:34px;border:none;border-radius:10px;background:var(--accent-2);color:#fff;display:flex;align-items:center;justify-content:center}.elly-bar button:disabled{opacity:.35;cursor:not-allowed}.elly-bar button svg{width:17px;height:17px}.chat-page{max-width:760px;margin:0 auto;min-height:calc(100vh - 170px);display:flex;flex-direction:column;gap:22px}.chat-thread{flex:1;display:flex;flex-direction:column;gap:18px;padding-top:8px}.chat-msg{display:flex;align-items:flex-start;gap:12px}.chat-av{height:48px;width:auto;flex-shrink:0}.chat-bubble{background:var(--panel);border:1px solid var(--line);border-radius:4px 16px 16px;padding:13px 16px;font-size:14px;line-height:1.55;box-shadow:var(--shadow)}.chat-examples{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-left:42px}.chat-ex-label{font-size:12px;color:var(--muted);font-weight:600}.chat-ex{font:inherit;font-size:13px;text-align:left;color:var(--txt);background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:8px 13px;cursor:pointer}.chat-ex:hover:not(:disabled){border-color:var(--accent-2)}.chat-ex:disabled{cursor:default;opacity:.6}.chat-bubble{white-space:pre-wrap}.chat-bubble.rich{white-space:normal}.chat-bubble.rich p{margin:0 0 8px}.chat-bubble.rich p:last-child,.chat-bubble.rich ul:last-child{margin-bottom:0}.chat-bubble.rich ul{margin:0 0 8px;padding-left:20px}.chat-bubble.rich li{margin:2px 0}.chat-msg.me{justify-content:flex-end}.chat-msg.me .chat-bubble{background:var(--accent-2);color:#fff;border-color:transparent;border-radius:16px 4px 16px 16px;max-width:80%}.chat-bubble.thinking{color:var(--muted);font-style:italic}.chat-error{align-self:center;font-size:13px;color:var(--down)}.chat-foot{position:sticky;bottom:12px;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--bg);padding-top:8px}.chat-note{margin:0;font-size:12px;color:var(--muted)}.ele-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;cursor:pointer;transition:.2s;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow)}.ele-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000001a}.ele-card .head{display:flex;align-items:center;gap:15px}.ele-card .ic{width:54px;height:54px;border-radius:15px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--txt)}.ele-card .ic svg{width:27px;height:27px}.ele-card .nm{font-size:18px;font-weight:600;letter-spacing:-.2px}.ele-card .nm small{display:block;font-size:12px;color:var(--muted);font-weight:400}.ele-card .nm .mac{font-family:ui-monospace,monospace;font-size:11.5px;letter-spacing:.3px;margin-top:3px}.ele-card .state{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:13px;background:#34c7591a}.ele-card .state .pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #34c75929}.ele-card .state b{font-size:14px;color:#1d8a3f}.ele-card .state span{display:block;font-size:12px;color:var(--muted);font-weight:400}.ele-card .meta{display:flex;gap:8px;flex-wrap:wrap}.ele-card .tag{font-size:12px;font-weight:500;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:5px 10px}.ele-card .state.warn{background:#ff9f0a1a}.ele-card .state.warn .pulse{background:#ff9f0a;box-shadow:0 0 0 4px #ff9f0a29}.ele-card .state.warn b{color:#a86a00}.ele-card.learning{cursor:default}.ele-card.learning:hover{transform:none;box-shadow:var(--shadow)}.learn-box{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:16px;font-size:12.5px;line-height:1.5}.learn-box strong{font-size:13.5px;font-weight:600;color:var(--accent-2,#0a84ff)}.learn-day{font-weight:600;color:var(--txt)}.learn-bar{display:block;height:6px;border-radius:3px;background:var(--panel-2);overflow:hidden}.learn-bar span{display:block;height:100%;border-radius:3px;background:var(--accent-2,#0a84ff)}.learn-d{color:var(--muted)}.kpi-loading{align-items:center}.nav-item.disabled{opacity:.4;cursor:not-allowed}.nav-item.disabled:hover{background:none}.card-alerts{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:16px}.ca-ok{display:flex;flex-direction:column;gap:7px}.ca-ok-head{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;padding:0;font-family:inherit;text-align:left;cursor:pointer}.ca-ok-head .chev{margin-left:auto;color:var(--muted);display:inline-flex;transform:rotate(180deg);transition:.2s}.ca-ok-head .chev svg{width:15px;height:15px}.ca-ok.open .ca-ok-head .chev{transform:rotate(0)}.ca-ok-list{display:flex;flex-direction:column;gap:7px}.spec-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:20px}.spec-card .spec-head{display:flex;align-items:center;gap:15px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.spec-card .spec-head .ic{width:50px;height:50px;border-radius:14px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;color:var(--txt);flex-shrink:0}.spec-card .spec-head .ic svg{width:25px;height:25px}.spec-card .spec-head .spec-title{min-width:0;flex:1}.spec-card .spec-head .nm{font-size:18px;font-weight:600;letter-spacing:-.2px}.spec-card .spec-head .nm-input{font-family:inherit;font-size:18px;font-weight:600;letter-spacing:-.2px;color:var(--txt);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:6px 10px;outline:none;width:100%;max-width:420px}.spec-card .spec-head .nm-input:focus{border-color:#d0d0d5}.spec-card .spec-head .dev{font-size:12px;color:var(--muted);font-family:ui-monospace,monospace;margin-top:4px}.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px 32px}.spec{display:flex;flex-direction:column;gap:3px}.spec span{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.2px}.spec b{font-size:14px;font-weight:600}.piani-editor{padding:4px 2px}.piani-hint{font-size:12px;color:var(--muted);margin-bottom:14px;line-height:1.5}.piani-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.piano-row{display:flex;align-items:center;gap:10px}.piano-row input{font-family:inherit;font-size:14px;color:var(--txt);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;outline:none}.piano-row input:focus{border-color:#d0d0d5}.piano-row input.ord{width:88px}.piano-row input.lab{width:160px}.piani-acts{display:flex;gap:10px;align-items:center}.piani-msg{margin-top:12px;font-size:13px;font-weight:600}.piani-msg.ok{color:var(--accent)}.piani-msg.err{color:var(--down)}.spec-acts{margin-left:auto;display:flex;gap:8px;align-items:center}.spec input,.spec .dd-btn{font-family:inherit;font-size:14px;font-weight:600;color:var(--txt);background-color:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 9px;outline:none;width:100%}.spec input:focus{border-color:#d0d0d5}.spec .spec-check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;padding:7px 0;cursor:pointer}.spec .spec-check input{width:auto;padding:0;margin:0;accent-color:var(--accent);cursor:pointer}.spec .dd{display:block}.spec .dd .dd-btn,.spec .dd .dd-btn>span:first-child{font-family:inherit;font-size:14px;font-weight:600;line-height:normal;color:var(--txt)}.spec .dd .dd-btn{background-color:var(--panel);border-radius:8px;padding:7px 9px}.u-intro{font-size:13.5px;color:var(--muted);line-height:1.6;max-width:720px;margin-bottom:20px}.u-stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}.u-stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 20px;box-shadow:var(--shadow);min-width:130px}.u-stat .n{font-size:24px;font-weight:700;letter-spacing:-.5px}.u-stat .l{font-size:12px;color:var(--muted);margin-top:2px}.u-stat.warn .n{color:#c98a00}.u-sec-title{font-size:13px;font-weight:600;color:var(--muted);margin:0 2px 12px}.pending-card{background:var(--panel);border:1px solid #f0e2c2;border-radius:16px;padding:20px 22px;box-shadow:var(--shadow);margin-bottom:14px}.pending-card .top{display:flex;align-items:center;gap:13px;margin-bottom:16px}.av-i{width:42px;height:42px;border-radius:50%;background:linear-gradient(150deg,#c7c7cc,#aeaeb2);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;color:#fff;flex-shrink:0}.pending-card .nm{font-size:15px;font-weight:600}.pending-card .em{font-size:12.5px;color:var(--muted)}.pending-card .ubadge{margin-left:auto}.assign{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-end}.assign .fld{display:flex;flex-direction:column;gap:6px}.assign .fld label{font-size:11px;color:var(--muted);font-weight:600}.assign select{min-width:160px}.ele-checks{display:flex;gap:14px;flex-wrap:wrap}.ele-checks label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;cursor:pointer}.msel,.dd{position:relative}.msel{min-width:200px}.dd{display:inline-block;max-width:100%}.msel-btn,.dd-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-family:inherit;font-size:13px;font-weight:500;background:var(--panel-2);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;outline:none;text-align:left}.msel-btn:hover,.dd-btn:hover,.dd.open .dd-btn{border-color:#d0d0d5}.dd-btn:disabled{opacity:.5;cursor:default}.msel-btn>span:first-child,.dd-btn>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-btn>span:first-child{min-height:1.2em}.msel-btn .chev,.dd-btn .chev{display:inline-flex;flex-shrink:0;color:var(--muted);transform:rotate(180deg);transition:.15s}.msel-btn .chev svg,.dd-btn .chev svg{width:14px;height:14px}.msel.open .msel-btn .chev,.dd.open .dd-btn .chev{transform:rotate(0)}.msel-panel,.dd-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #0000001f;padding:6px;max-height:260px;overflow-y:auto}.dd-panel{right:auto;min-width:100%;white-space:nowrap;z-index:40}.msel-opt,.dd-opt{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;padding:8px 10px;border-radius:8px;cursor:pointer}.dd-opt{justify-content:space-between;gap:14px;width:100%;font-family:inherit;color:var(--txt);background:none;border:none;text-align:left}.msel-opt:hover,.dd-opt:hover,.dd-opt.act{background:#0000000a}.dd-opt.sel{font-weight:600}.dd-opt .ck{display:inline-flex;flex-shrink:0;color:var(--accent-2)}.dd-opt .ck svg{width:14px;height:14px}.msel-opt.dis{opacity:.45;cursor:default}.msel-div{height:1px;background:var(--line);margin:4px 2px}.msel-empty{font-size:12px;color:var(--muted);padding:8px 10px}.assign .acts{margin-left:auto;display:flex;gap:8px}.btn{font-family:inherit;font-size:13px;font-weight:600;border-radius:10px;padding:9px 16px;cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--txt);transition:.15s}.btn:hover{border-color:#d0d0d5}.btn.primary{background:#0071e3;border-color:#0071e3;color:#fff}.btn.primary:hover{background:#0062c4}.btn.ghost{background:none}.u-table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:visible}.u-table{width:100%;border-collapse:collapse;font-size:13.5px}.u-table .msel{min-width:140px;max-width:170px}.u-table .dd{max-width:165px}.u-table th{text-align:left;font-size:11px;font-weight:600;color:var(--muted);text-transform:none;padding:13px 12px;border-bottom:1px solid var(--line);letter-spacing:.2px}.u-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.u-table tr:last-child td{border-bottom:none}.u-table th:last-child,.u-table td:last-child{text-align:right;padding-right:26px}.u-table td .u-user{max-width:210px}.u-user{display:flex;align-items:center;gap:11px}.u-user>div{min-width:0}.u-user .nm{font-weight:600;overflow-wrap:anywhere}.u-user .em{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.ubadge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px}.ubadge.pending{color:#a86a00;background:#ff9f0a24}.ubadge.active{color:#0f9d6b;background:#34d39924}.ubadge.suspended{color:#86868b;background:#0000000f}.u-ele{display:flex;gap:6px;flex-wrap:wrap}.u-ele .t{font-size:11px;font-weight:500;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:7px;padding:3px 8px}.sw{position:relative;width:38px;height:22px;border:none;border-radius:999px;background:var(--line);cursor:pointer;padding:0;transition:.2s;flex-shrink:0}.sw span{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.2s}.sw.on{background:var(--accent)}.sw.on span{left:18px}.sw:disabled{opacity:.5;cursor:default}.u-act{font-family:inherit;font-size:12.5px;font-weight:600;color:#0071e3;background:none;border:none;cursor:pointer;padding:4px}.u-act.danger{color:var(--down)}@media (max-width:900px){.u-table-wrap{overflow-x:auto}.u-table{min-width:640px}.assign .acts{margin-left:0;width:100%}}.dev-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px 26px;box-shadow:var(--shadow);margin-bottom:20px}.dev-head{display:flex;align-items:center;gap:15px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.dev-head .ic{width:48px;height:48px;border-radius:13px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;color:var(--txt);flex-shrink:0}.dev-head .ic svg{width:24px;height:24px}.dev-head .nm{font-size:17px;font-weight:600}.dev-head .mac{font-size:12.5px;color:var(--muted);font-family:ui-monospace,monospace;margin-top:2px}.dev-head .ubadge{margin-left:auto}.dev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px 32px;margin-bottom:24px}.storage{margin-bottom:20px}.storage .lab{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:7px}.storage .track{height:8px;background:var(--panel-2);border-radius:5px;overflow:hidden}.storage .track .fill{height:100%;background:#38bdf8;border-radius:5px}.sensors{display:flex;gap:10px;flex-wrap:wrap}.cmd-open{font-family:inherit;font-size:13px;font-weight:600;color:var(--accent-2);background:#0071e314;border:none;border-radius:980px;padding:7px 14px;cursor:pointer;margin-left:10px;transition:.15s}.cmd-open:hover{background:#0071e324}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;animation:sheet-fade .18s ease}.sheet{background:var(--bg);border-radius:22px;box-shadow:0 24px 80px #00000047;width:560px;max-width:100%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;animation:sheet-pop .22s cubic-bezier(.2,.9,.3,1.1)}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-pop{0%{opacity:0;transform:translateY(14px) scale(.98)}}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 14px}.sheet-head .t{font-size:19px;font-weight:700;letter-spacing:-.3px}.sheet-head .s{font-size:12.5px;color:var(--muted);margin-top:2px}.sheet-x{width:30px;height:30px;border-radius:50%;border:none;background:#0000000f;color:var(--muted);font-size:13px;cursor:pointer;transition:.15s;flex-shrink:0}.sheet-x:hover{background:#0000001a;color:var(--txt)}.sheet-body{padding:0 24px 22px;overflow-y:auto}.cmd-lab{font-size:12px;color:var(--muted);font-weight:600;margin:14px 4px 7px}.cmd-group{background:var(--panel);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.cmd-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px}.cmd-row+.cmd-row,.cmd-detail+.cmd-row{border-top:1px solid var(--line)}.cmd-txt b{display:block;font-size:14px;font-weight:600}.cmd-txt b.red{color:var(--down)}.cmd-txt span{display:block;font-size:12px;color:var(--muted);margin-top:1px}.cmd-detail{display:flex;flex-direction:column;gap:8px;padding:4px 16px 14px;background:var(--panel)}.cmd-input{font-family:inherit;font-size:13.5px;color:var(--txt);background:var(--panel-2);border:1px solid transparent;border-radius:10px;padding:9px 11px;outline:none;width:100%;resize:vertical;transition:.15s}.cmd-input:focus{border-color:var(--accent-2);background:var(--panel)}.cmd-input.mono,.mono{font-family:ui-monospace,SFMono-Regular,monospace}.hint{font-size:11.5px;color:var(--muted)}.cmd-fs{display:flex;align-items:center;justify-content:space-between;gap:12px}.swt{position:relative;width:46px;height:28px;border-radius:980px;border:none;background:#00000024;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.swt .knob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s cubic-bezier(.3,.9,.4,1.1)}.swt.on{background:var(--accent)}.swt.on.danger{background:var(--down)}.swt.on .knob{transform:translate(18px)}.seg{display:flex;background:#0000000d;border-radius:9px;padding:2px;flex-shrink:0}.seg button{font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);background:none;border:none;border-radius:7px;padding:6px 13px;cursor:pointer;transition:.15s}.seg button.sel{background:var(--panel);color:var(--txt);box-shadow:0 1px 3px #0000001a}.seg button:disabled{opacity:.4;cursor:default}.cmd-msg{font-size:13px;font-weight:600;margin-top:12px;display:flex;align-items:center;gap:9px}.cmd-msg.err{color:var(--down)}.cmd-msg.ok{color:var(--accent)}.cmd-msg.warn{color:var(--warn)}.cmd-msg.wait{color:var(--muted)}.spin{width:15px;height:15px;border-radius:50%;border:2px solid rgba(0,0,0,.12);border-top-color:var(--accent-2);animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.cmd-foot{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px}.cmd-send{font-family:inherit;font-size:14px;font-weight:600;color:#fff;background:var(--accent-2);border:none;border-radius:980px;padding:11px 22px;cursor:pointer;transition:.15s;flex-shrink:0}.cmd-send:hover:not(:disabled){filter:brightness(1.08)}.cmd-send:disabled{opacity:.4;cursor:default}.cmd-send.confirm{background:var(--down)}@media (max-width:640px){.sheet-overlay{padding:0;align-items:flex-end}.sheet{border-radius:22px 22px 0 0;max-height:92vh;width:100%}}.sensor{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.sensor .sd{width:8px;height:8px;border-radius:50%}.sensor.ok .sd{background:#34d399}.sensor.err .sd{background:#f87171}.sensor.err{color:#e0524b}.sensor.na .sd{background:#c7c7cc}.sensor.na{color:var(--muted)}.cmd-open:disabled{opacity:.5;cursor:default}.doc-empty{font-size:13px;color:var(--muted);padding:4px 2px}.doc-list{display:flex;flex-direction:column}.doc-row{display:flex;align-items:center;gap:14px;padding:12px 2px}.doc-row+.doc-row{border-top:1px solid var(--line)}.doc-kind{font-size:10.5px;font-weight:700;letter-spacing:.4px;border-radius:7px;padding:5px 8px;flex-shrink:0}.doc-kind.pdf{color:#c2410c;background:#f973161f}.doc-kind.docx{color:#1d4ed8;background:#3b82f61f}.doc-info{min-width:0;flex:1}.doc-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-meta{font-size:12px;color:var(--muted);margin-top:1px}.doc-actions{display:flex;gap:6px;flex-shrink:0}.doc-btn{font-family:inherit;font-size:12.5px;font-weight:600;color:var(--accent-2);background:#0071e314;border:none;border-radius:980px;padding:6px 12px;cursor:pointer;transition:.15s}.doc-btn:hover:not(:disabled){background:#0071e324}.doc-btn:disabled{opacity:.5;cursor:default}.doc-btn.danger{color:var(--down);background:#ff3b3014}.doc-btn.danger:hover:not(:disabled){background:#ff3b3024}.doc-btn.danger.armed{color:#fff;background:var(--down)}.sheet.doc-preview{width:960px;height:calc(100vh - 40px)}.doc-frame{flex:1;border:none;border-radius:0 0 22px 22px;background:var(--panel-2)}@media (max-width:640px){.doc-row{flex-wrap:wrap}.doc-actions{width:100%;justify-content:flex-end}}.mnt-wrap{background:none;border:none;box-shadow:none;border-radius:0;overflow-x:auto}.mnt-table{min-width:900px}.mnt-table th{padding-top:0}.mnt-table th:first-child,.mnt-table td:first-child{width:150px}.mnt-table th:nth-child(2),.mnt-table td:nth-child(2){width:170px}.mnt-table th:nth-child(5),.mnt-table td:nth-child(5){width:78px;text-align:center}.mnt-row td{vertical-align:top;padding-top:15px}.mnt-date{font-weight:600;white-space:nowrap}.mnt-time{font-size:12.5px;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}.mnt-tech{font-weight:600;overflow-wrap:anywhere}.mnt-sub{font-size:11.5px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.mnt-txt{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.mnt-note{font-size:12.5px;color:var(--muted);margin-top:6px}.mnt-note b{font-weight:600}.mnt-acts{display:flex;gap:10px;justify-content:flex-end;align-items:flex-start}.u-act.danger.armed{color:#fff;background:var(--down);border-radius:8px;padding:4px 10px}.mnt-row.editing td{background:#0071e309}.mnt-extra-row td{padding-top:0;background:#0071e309;border-bottom:1px solid var(--line)}.mnt-staged{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:2px 0 10px}.mnt-staged-lbl{font-size:11.5px;font-weight:600;color:var(--muted);margin-right:2px}.mnt-thumb{position:relative;width:52px;height:52px;border-radius:9px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);flex-shrink:0}.mnt-thumb img{width:100%;height:100%;object-fit:cover;display:block}.mnt-thumb-x{position:absolute;top:2px;right:2px;width:17px;height:17px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:9px;line-height:1;cursor:pointer;padding:0;transition:.15s}.mnt-thumb-x:hover:not(:disabled){background:var(--down)}.mnt-thumb-x:disabled{opacity:.4;cursor:default}.mnt-top-err{margin-bottom:12px}.mnt-in{display:block;width:100%;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--txt);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:7px 9px;outline:none;transition:.15s}.mnt-in+.mnt-in{margin-top:6px}.mnt-in:focus{border-color:var(--accent-2)}.mnt-in.ta{resize:vertical;line-height:1.5;min-height:38px}.mnt-hint{font-size:11px;color:var(--muted);line-height:1.4;display:block}.mnt-ph-cell{text-align:center}.mnt-ph-btn{display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:980px;padding:6px 10px;cursor:pointer;transition:.15s}.mnt-ph-btn:hover{color:var(--txt);border-color:#d0d0d5}.mnt-ph-btn.has{color:var(--accent-2);background:#0071e314;border-color:transparent}.mnt-ph-btn:disabled{opacity:.5;cursor:default}.mnt-ph-btn svg{width:15px;height:15px}.sheet.mnt-gallery{width:880px}.mnt-stage{position:relative;display:flex;align-items:center;justify-content:center;margin:0 24px;height:min(62vh,520px);background:#1d1d1f;border-radius:14px;overflow:hidden}.mnt-shot{max-width:100%;max-height:100%;object-fit:contain;display:block}.mnt-ph-empty{font-size:13px;color:#86868b}.mnt-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:none;background:#ffffff29;color:#fff;font-size:22px;line-height:1;cursor:pointer;transition:.15s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mnt-nav:hover:not(:disabled){background:#ffffff4d}.mnt-nav:disabled{opacity:.25;cursor:default}.mnt-nav.prev{left:12px}.mnt-nav.next{right:12px}.mnt-ph-err{margin:12px 24px 0}.mnt-ph-foot{display:flex;align-items:center;gap:12px;padding:16px 24px 22px}.mnt-ph-meta{display:flex;flex-direction:column;gap:2px;margin-right:auto;font-size:12.5px;color:var(--muted);font-weight:600}.mnt-ph-meta .hint{font-weight:400}@media (max-width:900px){.mnt-acts{justify-content:flex-start}.sheet.mnt-gallery{width:100%}.mnt-stage{height:46vh;margin:0 16px}.mnt-ph-foot{flex-wrap:wrap;padding:14px 16px 18px}}.placeholder{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:56px;text-align:center;color:var(--muted);box-shadow:var(--shadow)}.placeholder .big{margin:0 auto 16px;color:var(--muted)}.placeholder .big svg{width:42px;height:42px}.placeholder h3{color:var(--txt);font-size:19px;margin-bottom:6px;font-weight:600}@media (max-width:900px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:sticky;top:0;z-index:50;flex-direction:column;padding:12px 14px;background:#f5f5f7eb;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.sidebar .spacer{display:none}.logo{padding:2px 4px 12px}.picker-lbl,.nav-label{display:none}.sidebar>.nav-item{display:inline-flex}.sidebar{overflow:visible}.nav-scroll{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:none}.nav-scroll::-webkit-scrollbar{display:none}.nav-scroll .nav-item{flex:0 0 auto;white-space:nowrap;padding:9px 13px}.profile-wrap{margin-top:8px;border-top:1px solid var(--line)}.profile-menu{bottom:auto;top:calc(100% + 6px)}.main{padding:18px 16px}header.top{margin-bottom:18px}header.top h1{font-size:20px}.home-btn{width:36px;height:36px}.grid{grid-template-columns:1fr;gap:14px}.card{padding:18px 16px;border-radius:16px}.chart-box{height:200px}.chart-box.tall{height:230px}.home-grid{grid-template-columns:1fr;gap:14px}.elly{gap:16px;padding:8px 0 22px}.elly-title{font-size:24px;gap:10px}.elly-pic{height:48px}.ele-card{padding:22px}.spec-grid{grid-template-columns:1fr 1fr;gap:14px 18px}.floor-row{grid-template-columns:42px 1fr auto;gap:10px;padding:12px 2px}.floor-row .hbar,.floor-val{display:none}.floor-row .chip{justify-self:end}.floors.no-delta .floor-row{grid-template-columns:42px 1fr}.floors.no-delta .floor-val{display:block}}@media (max-width:430px){.spec-grid{grid-template-columns:1fr}.toggle button{padding:6px 9px;font-size:12px}.card-head{gap:8px}.ele-card .meta{gap:6px}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1100px 600px at 50% -10%,rgba(0,113,227,.1),transparent 60%),var(--bg)}.auth-card{position:relative;width:100%;max-width:420px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:38px 34px;text-align:center}.auth-lang{position:absolute;top:14px;right:14px}.auth-brand{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:26px}.auth-brand .mark{width:34px;height:34px;object-fit:contain}.auth-brand .name{font-weight:700;font-size:18px;letter-spacing:-.3px}.auth-card h1{font-size:21px;font-weight:700;letter-spacing:-.4px;margin-bottom:10px}.auth-sub{font-size:13.5px;color:var(--muted);line-height:1.6;margin-bottom:24px}.ms-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:40px;font-family:Roboto,arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:.25px;color:var(--txt);background:var(--panel);border:1px solid #dadce0;border-radius:4px;padding:0 16px;cursor:pointer;transition:.15s;box-shadow:none}.ms-btn:hover:not(:disabled){background:#f8f9fa;border-color:#d2d3d5}.ms-btn:disabled{opacity:.6;cursor:default}.ms-btn .ms-ic{display:inline-flex}.ms-btn .ms-ic svg{width:18px;height:18px}.google-btn{margin-top:12px;display:flex;justify-content:center}.google-btn iframe{margin:0!important}.auth-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:22px}.auth-note code{font-family:ui-monospace,monospace;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:1px 5px;font-size:11.5px}.auth-lock{width:58px;height:58px;border-radius:16px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:#ff9f0a24;color:#a86a00}.auth-lock svg{width:28px;height:28px}.auth-who{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:22px}.auth-who .em{font-size:13px;color:var(--muted);font-family:ui-monospace,monospace}.auth-code{text-align:left;background:#1d1d1f;color:#f5f5f7;border-radius:12px;padding:16px 18px;margin-bottom:6px;font-family:ui-monospace,monospace;font-size:12.5px;line-height:1.8}.auth-code .ln{white-space:nowrap;overflow-x:auto}.auth-code .ln:first-child{color:#86868b}.auth-code b{color:#5ac8fa;font-weight:600}.auth-splash{display:flex;align-items:center;justify-content:center}.spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent-2);animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (max-width:430px){.auth-card{padding:30px 22px}}
