:root{--bg:#0b1220;--panel:#111a2e;--panel-2:#16223b;--line:#23314f;--text:#eff6ff;--muted:#9fb1d1;--primary:#3b82f6;--danger:#ef4444;--success:#16a34a;--shadow:0 28px 56px -34px #020617c2, 0 16px 28px -24px #0f172a94;--control-shadow:0 14px 28px -22px #020617b8, 0 8px 16px -12px #0f172a57;--control-shadow-strong:0 18px 34px -20px #2563eb57, 0 12px 24px -16px #0206177a;--body-bg:linear-gradient(180deg, #08101d 0%, #0d1730 100%);--html-bg:#08101d;--card-bg:#111a2ef5;--nested-bg:#09111f8c;--soft-bg:#ffffff0a;--soft-bg-2:#ffffff09;--soft-border:#ffffff0f;--input-bg:#080f1dcc;--top-bg:linear-gradient(180deg, #08111ffa, #0b1220f0)}:root[data-theme=light]{--bg:#f4f7fb;--panel:#fff;--panel-2:#eef4fb;--line:#d7e1ee;--text:#102033;--muted:#61718a;--primary:#2563eb;--danger:#dc2626;--success:#16a34a;--shadow:0 24px 48px -32px #1e407042, 0 14px 24px -22px #0f172a2e;--control-shadow:0 12px 22px -18px #1e407038, 0 6px 12px -10px #0f172a1f;--control-shadow-strong:0 18px 30px -18px #2563eb3d, 0 10px 20px -14px #1e40702e;--body-bg:linear-gradient(180deg, #f7fbff 0%, #eef5ff 100%);--html-bg:#f4f7fb;--card-bg:#fffffff0;--nested-bg:#f6faffeb;--soft-bg:#2563eb0e;--soft-bg-2:#2563eb0b;--soft-border:#2563eb1f;--input-bg:#ffffffe6;--top-bg:linear-gradient(180deg, #f7fbfffa, #eff6fff0)}*{box-sizing:border-box}html{background:var(--html-bg);height:100%;min-height:100%;overflow:hidden}body{background:var(--body-bg);height:100%;min-height:100dvh;color:var(--text);margin:0;padding:0;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;position:relative;overflow:hidden}a{color:#93c5fd;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--line);background:var(--input-bg);width:100%;color:var(--text);border-radius:12px;padding:.8rem .9rem}textarea{resize:vertical}button{background:linear-gradient(135deg, var(--primary), #2563eb);color:#fff;cursor:pointer;box-shadow:var(--control-shadow);background-clip:padding-box;border:0;border-radius:12px;padding:.82rem 1rem;font-weight:700;transition:filter .16s,box-shadow .16s,transform .16s}button:hover{filter:brightness(1.05);box-shadow:var(--control-shadow-strong)}button:disabled{cursor:wait;filter:none;opacity:.78}.danger-button{background:linear-gradient(135deg, var(--danger), #b91c1c)}.ghost-button{width:100%;color:var(--text);border:1px solid var(--line);background:0 0}label{color:var(--muted);gap:.4rem;font-size:.95rem;display:grid}ul{margin:0;padding-left:1.2rem}.form-input-invalid{box-shadow:0 0 0 3px #ef44441f;border-color:#ef4444c7!important}.field-error-text{color:#fca5a5;visibility:hidden;min-height:.95rem;font-size:.78rem;line-height:1.2}.field-error-text.visible{visibility:visible}.button-with-spinner{justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.button-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:999px;width:.95rem;height:.95rem;animation:.72s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}.card{background:var(--card-bg);box-shadow:var(--shadow);background-clip:padding-box;border:1px solid #3b82f61f;border-radius:22px;padding:1.1rem}.nested-card{background:var(--nested-bg);box-shadow:none}.form-card{gap:.9rem;display:grid}.auth-page{place-items:center;min-height:100vh;padding:1.2rem;display:grid}.auth-card{gap:1rem;width:min(1080px,100%);display:grid}.login-page{background:radial-gradient(circle at top,#581c8773,#0000 34%),linear-gradient(#251032 0%,#180e25 100%)}.login-shell{background:linear-gradient(#37183afa,#28142afa);border:1px solid #ffffff14;border-radius:28px;gap:1rem;width:min(460px,100%);padding:1.5rem;display:grid;position:relative}.login-shell-toolbar{z-index:2;position:absolute;top:1rem;right:1rem}.login-theme-switch{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;gap:.25rem;padding:.25rem;display:inline-flex}.login-theme-option{color:#ffffffb8;width:2.1rem;min-width:2.1rem;height:2.1rem;min-height:2.1rem;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.login-theme-option:hover{color:#fff;text-decoration:none;transform:none}.login-theme-option.active{color:#fff;background:#3b82f62e;border-color:#60a5fa47}.login-theme-option svg{width:1rem;height:1rem;display:block}.login-brand-icon{object-fit:cover;background:#0f172a47;border:1px solid #94a3b82e;border-radius:16px;width:48px;height:48px;position:absolute;top:1rem;left:1rem;box-shadow:0 14px 30px #0f172a33}.login-brand{text-align:center;justify-items:center;gap:.5rem;display:grid}.login-brand h1{margin:0;font-size:1.85rem}.login-brand p{margin:0}.login-avatar-wrap{justify-items:center;gap:.8rem;padding-top:.35rem;display:grid}.user-avatar-shell{flex:none;position:relative;overflow:hidden}.user-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.login-avatar{color:#fff;background:linear-gradient(135deg,#60a5fa,#2563eb 58%,#9333ea);border-radius:50%;place-items:center;width:104px;height:104px;font-size:2rem;font-weight:800;display:grid;box-shadow:0 12px 30px #2563eb47}.login-avatar-text{text-align:center;gap:.25rem;display:grid}.login-tabbar{background:#ffffff0d;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.35rem;display:grid}.login-tab{color:var(--muted);background:0 0;border:1px solid #0000;padding:.9rem .8rem}.login-tab.active{color:#fff;background:#3b82f62e;border-color:#60a5fa47}.login-form{gap:.9rem;display:grid}.login-form label{color:color-mix(in srgb, var(--text) 84%, transparent);gap:.5rem}.login-form input{border-color:var(--soft-border);background:color-mix(in srgb, var(--input-bg) 92%, transparent);border-radius:16px;padding:.95rem 1rem}.login-code-row{grid-template-columns:minmax(0,1fr) 132px;align-items:end;gap:.75rem;display:grid}.login-code-button{background:#ffffff0f;border-radius:16px;height:52px}.login-submit{border-radius:16px;margin-top:.35rem;padding:.95rem 1rem;font-size:1.02rem}.login-footer-links{justify-content:center;align-items:center;gap:.65rem;padding-top:.2rem;display:flex}.login-link{color:#93c5fd;background:0 0;padding:0;font-weight:500}.login-link.active{color:#fff}.login-divider{color:#ffffff47}.login-forgot-link{justify-content:center}.app-shell{grid-template-columns:280px minmax(0,1fr);gap:1rem;height:100dvh;min-height:0;padding:1rem;display:grid;overflow:hidden}.shell-main{grid-template-rows:minmax(0,1fr);gap:1rem;min-width:0;min-height:0;display:grid;overflow:hidden}.sidebar{flex-direction:column;gap:1rem;height:calc(100vh - 2rem);display:flex;position:sticky;top:1rem}.sidebar-brand{align-items:start;gap:.35rem;display:grid}.sidebar-brand-icon{object-fit:cover;background:#0f172a33;border:1px solid #94a3b829;border-radius:18px;width:56px;height:56px}.sidebar-title,.sidebar-brand p{margin:0}.sidebar-spacer{flex:1;min-height:.75rem}.mobile-topbar,.mobile-dock{display:none}.mobile-search-trigger{color:#dbeafe;background:#ffffff0d;border:1px solid #ffffff14;border-radius:18px;justify-content:flex-start;align-items:center;gap:.75rem;width:100%;padding:.92rem 1rem;display:flex}.mobile-search-trigger-icon{opacity:.92;font-size:1rem}.mobile-search-trigger-text{color:#c7d7f3;text-align:left;font-weight:500}.mobile-topbar-icon-button,.mobile-avatar-button{color:#fff;background:#ffffff12;border:1px solid #ffffff14;border-radius:999px;place-items:center;width:42px;min-width:42px;height:42px;padding:0;display:grid}.mobile-topbar-icon{font-size:1rem;line-height:1}.mobile-topbar-spacer{flex:1}.mobile-topbar-actions{align-items:center;gap:.45rem;display:flex}.mobile-avatar-circle{color:#fff;background:linear-gradient(135deg,#60a5fa,#2563eb 58%,#9333ea);border-radius:50%;place-items:center;width:30px;height:30px;font-size:.82rem;font-weight:800;display:grid}.mobile-avatar-circle.large{width:46px;height:46px;font-size:1rem}.mobile-search-overlay{z-index:1200;background:#0308149e;align-items:end;padding:1rem;display:grid;position:fixed;inset:0}.mobile-search-overlay.in-content{z-index:38;background:0 0;align-items:start;padding:.35rem 0 0;position:absolute;inset:0}.mobile-search-sheet{overscroll-behavior:contain;background:linear-gradient(#131d31fc,#0b121ffc);border-radius:26px;gap:1rem;width:min(560px,100%);max-height:min(78vh,100dvh - 2rem);margin:0 auto;display:grid;overflow-y:auto}.mobile-search-overlay.in-content .mobile-search-sheet{width:100%;max-width:none}.mobile-search-sheet-head{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.mobile-search-close{background:#ffffff0f;border-radius:14px;width:42px;min-width:42px;height:42px;padding:0}.mobile-search-form{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.mobile-search-input-wrap{display:grid;position:relative}.mobile-search-input-wrap input{padding-right:3.3rem}.mobile-search-scan-button{color:#dbeafe;width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;box-shadow:none;background:#3b82f624;border:1px solid #60a5fa33;border-radius:14px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.mobile-search-scan-button i,.mobile-topbar-icon,.mobile-search-trigger-icon,.mobile-dock-icon,.mobile-shortcut-icon i,.mobile-filter-menu-trigger i{font-size:1rem;line-height:1}.mobile-search-shortcuts{gap:.75rem}.mobile-shortcut-link{color:var(--text);background:#ffffff09;border:1px solid #ffffff0d;border-radius:18px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:.75rem;padding:.82rem .92rem;display:grid}.mobile-shortcut-link span{gap:.15rem;display:grid}.mobile-shortcut-icon{color:#dbeafe;background:#3b82f624;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.mobile-scan-overlay{z-index:1300;background:#030814b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.mobile-scan-sheet{background:linear-gradient(#131d31fc,#0b121ffc);border-radius:26px;gap:.9rem;width:min(560px,100%);margin:0 auto;display:grid}.mobile-scan-sheet-head{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.mobile-scan-close{background:#ffffff0f;border-radius:14px;width:42px;min-width:42px;height:42px;padding:0}.mobile-scan-preview{aspect-ratio:1;background:#020617b8;border:1px solid #60a5fa2e;border-radius:20px;position:relative;overflow:hidden}.mobile-scan-video{object-fit:cover;width:100%;height:100%;display:block}.mobile-scan-frame{border:2px solid #bfdbfee0;border-radius:22px;position:absolute;inset:14%;box-shadow:0 0 0 999px #0206173d}.mobile-scan-error{margin:0}.mobile-scan-file-input{display:none}.mobile-scan-fallback{color:#dbeafe;background:#3b82f61f;border:1px solid #60a5fa38;border-radius:14px;width:100%;min-height:44px;font-weight:600}.mobile-menu-overlay{z-index:1200;background:#03081452;position:fixed;inset:0}.mobile-user-popover{top:calc(env(safe-area-inset-top,0px) + .85rem);background:linear-gradient(#161f34fc,#0a101cfc);border:1px solid #60a5fa29;border-radius:22px;gap:.9rem;width:min(320px,100vw - 1.5rem);padding:1rem;display:grid;position:absolute;right:.75rem;box-shadow:0 22px 50px #00000059}.mobile-user-summary{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;display:grid}.mobile-user-actions{gap:.7rem}.mobile-user-link{color:var(--text);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:16px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:.75rem;padding:.9rem .95rem;display:grid}.mobile-user-link span{gap:.18rem;display:grid}.mobile-logout-button{width:100%}.mobile-filter-menu{display:none;position:relative}.mobile-filter-menu-trigger{background:var(--soft-bg);border:1px solid var(--soft-border);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text);border-radius:14px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-filter-menu-trigger.active{color:#fff;background:linear-gradient(#60a5fa,#2563eb);border-color:#60a5fa66}.mobile-filter-menu-popover{z-index:45;background:var(--card-bg);border:1px solid var(--soft-border);border-radius:18px;gap:.7rem;width:min(320px,100vw - 2rem);padding:.85rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 18px 42px #0f172a3d}.mobile-filter-menu-head{gap:.16rem;display:grid}.mobile-device-filter-panel{min-width:0}.mobile-device-filter-panel .device-status-filter-bar,.mobile-device-filter-panel .device-status-filter-reset-row{justify-content:flex-start}.content{grid-template-rows:auto auto auto minmax(0,1fr);align-content:stretch;gap:.75rem;min-height:0;display:grid;position:relative;overflow:hidden}.page-header{justify-content:space-between;align-items:end;gap:1rem;display:flex}.page-header h2{margin:.15rem 0}.desktop-page-header{z-index:30;background:var(--top-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid #60a5fa14;align-items:center;height:64px;min-height:64px;padding:0 .25rem;position:sticky;top:1rem}.section-card{gap:1rem;display:grid}.split-panel{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:1rem;display:grid}.subtle-panel{background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:18px;gap:.75rem;padding:1rem;display:grid}.align-start{align-items:start}.room-summary-card{padding-block:1rem}.admin-stack{gap:1rem;display:grid}.admin-entity-card{gap:.9rem;display:grid}.entity-card-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.admin-actions-row{justify-content:flex-start}.admin-hero{z-index:25;background:radial-gradient(circle at top right, #3b82f62e, transparent 34%), var(--card-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:flex-start;gap:.75rem;min-height:78px;padding:.68rem .9rem;display:flex;position:relative;top:auto;overflow:hidden}.admin-hero h3{max-width:860px;margin:.12rem 0 0;font-size:1.05rem;line-height:1.28}.admin-hero p{-webkit-line-clamp:1;-webkit-box-orient:vertical;max-width:860px;margin:0;font-size:.86rem;line-height:1.3;display:-webkit-box;overflow:hidden}.admin-hero-meta{flex-wrap:nowrap;justify-content:flex-end;gap:.42rem;min-width:0;max-width:42%;display:flex;overflow:hidden}.admin-hero-meta span{color:#dbeafe;white-space:nowrap;background:#3b82f61f;border:1px solid #60a5fa2e;border-radius:999px;flex:none;padding:.34rem .62rem;font-size:.8rem;line-height:1.1}.admin-tabbar{z-index:20;background:color-mix(in srgb, var(--panel) 82%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);scrollbar-width:thin;border:1px solid #60a5fa1f;border-radius:16px;align-items:center;gap:.5rem;height:62px;min-height:62px;padding:.45rem;display:flex;position:relative;top:auto;overflow:auto hidden}.admin-tabbar.compact-tabbar{display:flex}.admin-tab{height:50px;min-height:50px;color:var(--text);background:var(--soft-bg-2);box-shadow:var(--control-shadow);background-clip:padding-box;border:1px solid #0000;border-radius:12px;flex:0 0 176px;align-content:center;gap:.12rem;padding:.45rem .62rem;display:grid}.admin-tab:hover{box-shadow:var(--control-shadow-strong);border-color:#60a5fa2e;text-decoration:none}.admin-tab.active{box-shadow:inset 0 1px 0 #ffffff0f, var(--control-shadow);background:#3b82f629;border-color:#60a5fa4d}.admin-tab small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;line-height:1.25;overflow:hidden}.admin-subpage{scrollbar-width:thin;align-content:start;gap:.75rem;min-height:0;padding-bottom:.6rem;padding-right:.15rem;display:grid;overflow:auto}.admin-subpage.device-list-subpage{grid-template-rows:auto minmax(0,1fr);align-content:stretch;overflow:hidden}.device-list-subpage>.device-list-shell{grid-row:1/-1}.device-list-subpage>.search-summary-card+.device-list-shell{grid-row:2}.admin-subpage.dashboard-subpage{align-content:start}.admin-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;min-height:0;display:grid}.room-overview-workspace{justify-items:start}.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.admin-summary-grid.single{grid-template-columns:1fr}.admin-summary-grid div{background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:16px;gap:.2rem;padding:.85rem;display:grid}.admin-summary-grid strong{font-size:1.5rem}.admin-summary-grid span{color:var(--muted);font-size:.86rem}.admin-main-panel{min-width:0;min-height:0}.scroll-card,.device-list-shell{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.scroll-card-triple{grid-template-rows:auto auto minmax(0,1fr)}.device-list-shell{grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem;height:100%}.admin-list-scroll,.timeline-scroll,.scroll-card>:last-child{scrollbar-width:thin;min-height:0;padding-right:.2rem;overflow:auto}.grouped-form{gap:.8rem}.form-group-card{background:var(--soft-bg-2);border:1px solid var(--soft-border);border-radius:18px;gap:.75rem;padding:.95rem;display:grid}.compact-form-group{max-width:520px}.position-cascade{background:var(--nested-bg);border:1px solid var(--soft-border);border-radius:16px;gap:.72rem;padding:.85rem;display:grid}.position-cascade[data-selected=true]{border-color:#3b82f661;box-shadow:inset 0 0 0 1px #3b82f614}.position-cascade-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.position-selected-pill{color:#eff6ff;white-space:nowrap;background:#2563eb8f;border:1px solid #93c5fd6b;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.18rem .62rem;font-size:.76rem;font-weight:800;display:inline-flex}.position-cascade-grid{gap:.65rem;display:grid}.combo-field{position:relative}.combo-input-shell{display:block;position:relative}.combo-input-shell input{padding-right:2.6rem}.combo-input-shell input::-webkit-search-cancel-button{display:none}.combo-toggle-button{width:2rem;min-width:2rem;height:2rem;color:var(--text);box-shadow:none;background:0 0;border:0;padding:0;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.combo-option-list{z-index:2600;background:#0f172afa;border:1px solid #94a3b840;border-radius:14px;gap:.2rem;max-height:min(260px,42vh);padding:.45rem;display:grid;position:absolute;top:calc(100% + .36rem);left:0;right:0;overflow:auto;box-shadow:0 18px 42px #00000052}.combo-option{color:#f8fafc;text-align:left;width:100%;min-height:38px;box-shadow:none;background:0 0;border:0;border-radius:10px;justify-content:flex-start;gap:.12rem;padding:.45rem .62rem;display:grid}.combo-option-meta{color:var(--muted);font-size:.74rem;line-height:1.2;display:block}.combo-option:hover,.combo-option.active{background:#3b82f638}.combo-empty{padding:.55rem .62rem}.recent-position-panel{gap:.42rem;display:grid}.recent-position-list{flex-wrap:wrap;gap:.45rem;display:flex}.recent-position-chip{width:auto;max-width:100%;min-height:32px;color:var(--text);background:var(--soft-bg);border:1px solid var(--soft-border);text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:.32rem .62rem;font-size:.82rem;font-weight:700;overflow:hidden}.position-current-label{color:var(--text);background:#3b82f61c;border:1px solid #60a5fa2e;border-radius:12px;padding:.5rem .65rem;font-size:.86rem;line-height:1.4}.usage-position-picker-shell{gap:.85rem;display:grid}.usage-position-picker-meta{align-content:start}.usage-position-result-card{background:#3b82f614;border:1px solid #60a5fa2e;border-radius:14px;gap:.55rem;padding:.72rem;display:grid}.compact-head{align-items:center;margin-bottom:0}.usage-position-occupant-card{background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:12px;align-items:flex-start;gap:.65rem;padding:.68rem;display:flex}.usage-position-occupant-card>div{gap:.15rem;min-width:0;display:grid}.usage-position-cabinet-card{background:#0f172a0a;border:1px solid #94a3b838;border-radius:16px;gap:.75rem;min-width:0;padding:.8rem;display:grid;position:relative;overflow:visible}.usage-position-cabinet-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.usage-position-cabinet-caption{color:var(--text);background:var(--soft-bg);border:1px solid var(--soft-border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .62rem;font-size:.76rem;font-weight:700;display:inline-flex}.usage-position-cabinet-grid-wrap{scrollbar-width:thin;padding-bottom:.15rem;overflow:auto}.usage-position-cabinet-board-frame{gap:.42rem;min-width:max-content;margin-inline:auto;display:grid}.usage-position-cabinet-column-head{justify-content:center;gap:.42rem;padding-left:2.45rem;display:grid}.usage-position-cabinet-column-head span,.usage-position-cabinet-layer-head span{color:var(--muted);justify-content:center;align-items:center;font-size:.76rem;font-weight:800;display:inline-flex}.usage-position-cabinet-grid-row{grid-template-columns:2rem auto;align-items:start;gap:.42rem;display:grid}.usage-position-cabinet-layer-head{align-content:center;gap:.42rem;display:grid}.usage-position-cabinet-board{place-content:center;gap:.42rem;display:grid}.usage-position-cabinet-cell{width:100%;height:100%;min-height:52px;box-shadow:none;background:#e2e8f0eb;border:1px solid #94a3b83d;border-radius:12px;padding:0}.usage-position-cabinet-cell:hover:not(:disabled),.usage-position-cabinet-cell:focus-visible:not(:disabled){background:#bfdbfeeb;border-color:#3b82f666;box-shadow:0 10px 20px #3b82f61f}.usage-position-cabinet-cell.is-selected{background:#60a5faf2;border-color:#2563eb99;box-shadow:inset 0 0 0 1px #2563eb2e}.usage-position-cabinet-cell.is-occupied{background:#fb923cd6;border-color:#ea580c5c}.usage-position-cabinet-cell.is-disabled,.usage-position-cabinet-cell:disabled{cursor:not-allowed;box-shadow:none;background:#94a3b82e;border-style:dashed}.put-in-use-form:has(.usage-position-submit-gate:invalid) .put-in-use-submit{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none}.usage-position-occupant-bubble{z-index:40;width:min(260px,100% - 1rem,100vw - 3rem);color:var(--text);background:var(--card-bg);border:1px solid var(--soft-border);pointer-events:none;border-radius:14px;gap:.18rem;padding:.7rem .78rem;display:grid;position:absolute;transform:translateY(-50%);box-shadow:0 20px 44px #0f172a2e}.usage-position-occupant-bubble:after{content:"";background:var(--card-bg);border-right:1px solid var(--soft-border);border-bottom:1px solid var(--soft-border);width:12px;height:12px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.usage-position-occupant-bubble.align-right:after{left:-7px}.usage-position-occupant-bubble.align-left:after{right:-7px;transform:translateY(-50%)rotate(225deg)}.usage-position-occupant-bubble.point-up:after{top:34%}.usage-position-occupant-bubble.point-down:after{top:66%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.warning-panel{color:var(--text);background:#f59e0b1c;border:1px solid #f59e0b42;border-radius:16px;gap:.55rem;padding:.85rem;display:grid}.strong-checkbox{color:var(--text);font-weight:700}.storage-position-form{margin-bottom:.9rem}@media (min-width:980px){.usage-position-picker-shell{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start}}.cabinet-card-button{text-align:left;border:1px solid var(--soft-border);background:var(--nested-bg);justify-content:space-between;align-items:center;gap:.85rem;width:100%;padding:1rem;display:flex}.cabinet-card-button:hover{border-color:#60a5fa57;text-decoration:none;box-shadow:0 12px 24px #0f172a1f}.cabinet-card-button.is-active{border-color:#3b82f66b;box-shadow:0 14px 28px #2563eb2e}.cabinet-card-copy{min-width:0;color:var(--text);gap:.28rem;display:grid}.cabinet-browser-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.cabinet-browser-list-card{width:320px;min-width:0;max-width:320px}.cabinet-browser-list{align-content:start;gap:.8rem;display:grid}.cabinet-browser-detail-shell{isolation:isolate;flex-direction:column;gap:1rem;width:auto;max-width:none;min-height:0;max-height:min(70vh,820px);display:flex;position:relative;overflow:hidden}.cabinet-browser-empty{align-content:start;display:grid}@media (max-width:1080px){.cabinet-browser-layout{grid-template-columns:1fr}.cabinet-browser-list-card{width:100%;max-width:none}.cabinet-browser-detail-shell{max-height:none}}.cabinet-card-copy strong{font-size:1rem}.cabinet-card-copy .muted{color:color-mix(in srgb, var(--text) 62%, transparent)}.cabinet-mobile-back-button{display:none}.cabinet-detail-dialog-card{gap:1rem}.cabinet-detail-head{align-items:start}.cabinet-detail-head-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.cabinet-detail-summary{background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:16px;padding:.75rem .85rem}.cabinet-summary-line{flex-wrap:wrap;justify-content:space-between;gap:.55rem 1rem;display:flex}.cabinet-grid-legend{flex-wrap:wrap;gap:.5rem;margin-top:.65rem;display:flex}.cabinet-grid-legend-item{border:1px solid var(--soft-border);background:var(--soft-bg-2);color:var(--muted);border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .58rem;font-size:.78rem;display:inline-flex}.cabinet-grid-legend-item:before{content:"";opacity:.88;background:currentColor;border-radius:999px;width:.68rem;height:.68rem}.cabinet-grid-legend-item.empty{color:#94a3b8}.cabinet-grid-legend-item.occupied{color:#22c55e}.cabinet-grid-legend-item.disabled{color:#f97316}.cabinet-grid-legend-item.merged{color:#a855f7}.cabinet-mobile-zoom-toolbar{display:none}.cabinet-mobile-zoom-button{border:1px solid var(--soft-border);background:var(--soft-bg);width:30px;min-width:30px;height:30px;min-height:30px;color:var(--text);box-shadow:none;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.cabinet-mobile-zoom-button i{font-size:.88rem;line-height:1}.cabinet-mobile-zoom-button:disabled{opacity:.45}.cabinet-position-list{min-height:0;max-height:100%;padding-right:0;overflow:auto}.cabinet-grid-panel{flex:auto;min-height:0;padding-right:0;overflow:auto}.cabinet-grid-panel.has-floating-actions{padding-bottom:.9rem;padding-right:5rem}.cabinet-grid-zoom-viewport,.cabinet-grid-zoom-stage{width:100%}.cabinet-grid-zoom-stage{position:relative}.cabinet-floating-actions{z-index:180;flex-direction:column;align-items:flex-end;gap:.45rem;display:flex;position:absolute;bottom:1.45rem;right:1.55rem}.cabinet-floating-action-item{justify-content:flex-end;width:38px;min-width:38px;min-height:38px;display:flex;position:relative}.cabinet-floating-action-item:before{content:attr(data-label);opacity:0;pointer-events:none;white-space:nowrap;color:#e2e8f0;background:#0f172aeb;border:1px solid #60a5fa38;border-radius:999px;padding:.28rem .55rem;font-size:.74rem;line-height:1.1;transition:opacity .18s,transform .18s;position:absolute;top:50%;right:calc(100% + .55rem);transform:translateY(-50%)translate(4px);box-shadow:0 10px 24px #0206173d}.cabinet-floating-action-item:hover:before,.cabinet-floating-action-item:focus-within:before{opacity:1;transform:translateY(-50%)translate(0)}.cabinet-floating-action-item>form,.cabinet-floating-action-item>.device-action-popover{justify-content:center;align-items:center;width:38px;min-width:38px;min-height:38px;display:flex}.cabinet-floating-action-button{color:#0f172a;background:linear-gradient(#f8fafcfa,#e2e8f0f5);border-color:#94a3b86b;border-radius:14px;flex-basis:38px;width:38px;min-width:38px;height:38px;min-height:38px;box-shadow:0 10px 24px #0f172a2e}.cabinet-floating-action-button.scrap,.cabinet-floating-actions .cabinet-delete-popover .device-action-icon.scrap{color:#7f1d1d;background:linear-gradient(#fef2f2fa,#fee2e2f5);border-color:#f871716b}.cabinet-action-icon-glyph{text-align:center;justify-content:center;align-items:center;width:1em;height:1em;font-size:1.2rem;line-height:1;display:inline-flex;transform:translateY(0)}.cabinet-action-icon-glyph.is-delete{font-size:1.18rem}.cabinet-grid-frame{grid-template-rows:auto minmax(0,1fr);grid-template-columns:64px minmax(0,1fr);gap:.4rem;width:max-content;min-width:100%;display:grid;overflow:visible}.cabinet-grid-corner,.cabinet-grid-axis{background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:12px;place-items:center;min-height:34px;padding:.3rem;font-size:.72rem;font-weight:700;display:grid}.cabinet-grid-column-heads,.cabinet-grid-row-heads,.cabinet-grid-board{gap:.35rem;display:grid}.cabinet-grid-axis-button{cursor:pointer;width:100%;transition:border-color .18s,box-shadow .18s,background .18s,color .18s}.cabinet-grid-axis-button.is-selected{color:var(--text);background:#2563eb24;border-color:#60a5fa99;box-shadow:0 0 0 2px #60a5fa2e}.cabinet-grid-axis-button:hover{border-color:#60a5fa66}.cabinet-grid-row-heads{grid-area:2/1}.cabinet-grid-column-heads{grid-area:1/2}.cabinet-grid-board{isolation:isolate;grid-area:2/2;align-items:stretch;position:relative;overflow:visible}.cabinet-grid-cell{border:1px solid var(--soft-border);background:linear-gradient(#0f172ab8,#0f172a80);border-radius:12px;min-width:0;min-height:0;padding:0;transition:border-color .18s,transform .18s,box-shadow .18s,background .18s;display:block;position:relative;box-shadow:inset 0 1px #ffffff0a}.cabinet-grid-cell.is-hovered,.cabinet-grid-cell:focus-visible{z-index:120}.cabinet-grid-cell.is-view-only:focus-visible,.cabinet-grid-cell.is-view-only:hover,.cabinet-grid-cell.is-editable:hover{border-color:#60a5fa5c;transform:translateY(-1px);box-shadow:0 12px 24px #0f172a29}.cabinet-grid-cell.is-view-only{cursor:pointer}.cabinet-grid-cell.is-editable{cursor:pointer;text-align:left}.cabinet-grid-cell.is-empty{background:linear-gradient(#1e293be0,#0f172ab8)}.cabinet-grid-cell.is-occupied{background:linear-gradient(#15803d47,#0f172ae0);border-color:#4ade8047}.cabinet-grid-cell.is-disabled{background:repeating-linear-gradient(135deg,#f9731629 0 10px,#78350f38 10px 20px),linear-gradient(#0f172aeb,#0f172ad1);border-color:#fb923c42}.cabinet-grid-cell.is-merged{box-shadow:inset 0 0 0 1px #a855f738}.cabinet-grid-cell.is-selected{border-color:#60a5fab3;box-shadow:0 0 0 2px #60a5fa3d,0 14px 28px #2563eb2e}.cabinet-grid-badge{border-radius:999px;justify-content:center;align-items:center;padding:.16rem .46rem;font-size:.72rem;font-weight:700;line-height:1.15;display:inline-flex}.cabinet-grid-badge.empty{color:#cbd5e1;background:#94a3b829}.cabinet-grid-badge.occupied{color:#bbf7d0;background:#16a34a2e}.cabinet-grid-badge.disabled{color:#fed7aa;background:#f973162e}.cabinet-hover-card{z-index:260;background:linear-gradient(#111827fa,#020617fa);border:1px solid #60a5fa38;border-radius:18px;gap:.7rem;min-width:220px;padding:.9rem;display:grid;position:absolute;top:50%;left:calc(100% + .7rem);transform:translateY(-50%);box-shadow:0 18px 38px #02061757}.cabinet-hover-card.align-left{left:auto;right:calc(100% + .7rem)}.cabinet-hover-card:before{content:"";background:inherit;border-bottom:1px solid #60a5fa38;border-left:1px solid #60a5fa38;width:14px;height:14px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)rotate(45deg)}.cabinet-hover-card.align-left:before{border-top:1px solid #60a5fa38;border-bottom:none;border-left:none;border-right:1px solid #60a5fa38;left:auto;right:-7px}.cabinet-hover-card-head,.cabinet-hover-card-body{z-index:1;gap:.45rem;display:grid;position:relative}.cabinet-hover-device-link{border-radius:16px}.cabinet-history-dialog{width:min(760px,100vw - 2rem)}.cabinet-history-dialog-card{gap:1rem}.cabinet-history-summary{flex-wrap:wrap;gap:.55rem 1rem;display:flex}.cabinet-history-list{gap:.75rem;display:grid}.cabinet-history-timeline-item{align-items:stretch}.cabinet-history-time-col{min-width:118px}.cabinet-history-content{gap:.55rem}.cabinet-history-card{gap:.55rem;display:grid}.cabinet-history-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.cabinet-history-card-meta{flex-wrap:wrap;align-items:center;gap:.45rem .7rem;display:flex}.system-icon-setting{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.system-icon-preview{place-items:center;min-height:96px;display:grid}.system-icon-preview-image,.system-icon-summary-image{object-fit:cover;border:1px solid var(--soft-border);background:#0f172a1f;border-radius:14px;width:48px;height:48px}.system-icon-summary{align-items:center;gap:.75rem;display:flex}.cabinet-history-time-block{gap:.08rem;display:grid}.cabinet-history-time-label{color:var(--muted);font-size:.75rem;line-height:1.1}.cabinet-history-time-block strong{font-size:.94rem;line-height:1.2}.cabinet-history-duration-chip{align-self:center}.cabinet-history-jump{width:36px;min-width:36px;min-height:36px;color:var(--text);background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.cabinet-history-jump i{font-size:1rem}.cabinet-history-pagination{margin-top:.2rem}.cabinet-edit-mode-toggle{width:auto}.cabinet-detail-footer{justify-content:flex-end;align-items:flex-end;display:flex}.cabinet-delete-popover{align-items:flex-end}.cabinet-floating-actions .cabinet-delete-popover .device-action-icon{color:#0f172a;background:linear-gradient(#f8fafcfa,#e2e8f0f5);border-color:#94a3b86b;border-radius:14px;flex-basis:38px;width:38px;min-width:38px;height:38px;min-height:38px;box-shadow:0 10px 24px #0f172a2e}.cabinet-floating-actions .cabinet-delete-popover{justify-content:center;align-items:center}.cabinet-delete-panel{z-index:260;box-sizing:border-box;background:linear-gradient(#191f2dfa,#0d121efa);border:1px solid #f871713d;border-radius:18px;width:min(344px,100vw - 5rem);padding:.95rem;position:absolute;bottom:-.2rem;right:calc(100% + .65rem);box-shadow:0 18px 36px #02061752}.cabinet-delete-panel-form{z-index:1;gap:.85rem;width:100%;min-width:0;display:grid;position:relative}.cabinet-delete-panel-head{justify-content:space-between;align-items:flex-start;gap:.75rem;width:100%;min-width:0;display:flex}.cabinet-delete-panel-head>strong{color:#f8fafc;font-size:.98rem;line-height:1.2}.cabinet-delete-panel-risk{color:#fee2e2;white-space:nowrap;background:#ef44442e;border:1px solid #f871713d;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .58rem;font-size:.74rem;font-weight:800;display:inline-flex}.cabinet-delete-panel-body{overflow-wrap:anywhere;gap:.32rem;min-width:0;line-height:1.45;display:grid}.cabinet-delete-panel-body p{margin:0}.cabinet-delete-panel-check{box-sizing:border-box;background:#f8717114;border:1px solid #f8717129;border-radius:14px;grid-template-columns:18px minmax(0,1fr);align-items:flex-start;gap:0 .72rem;width:100%;min-width:0;padding:.7rem .78rem;font-size:.9rem;display:grid}.cabinet-delete-panel-check input{align-self:start;margin-top:.15rem}.cabinet-delete-panel-check span{overflow-wrap:anywhere;min-width:0;line-height:1.42;display:block}.cabinet-delete-panel-actions{width:100%;display:flex}.cabinet-delete-submit{width:100%;min-width:0}.room-permission-action-form,.device-operation-action-form{gap:1rem;display:grid}.device-operation-action-card{gap:.9rem}.device-operation-action-head{margin-bottom:0}.device-operation-selector-field{gap:.55rem;display:grid}.device-operation-selector-list{flex-wrap:wrap;align-items:stretch;gap:.65rem;display:flex}.device-operation-selector-card{text-align:left;width:220px;max-width:100%;min-height:120px;color:var(--text);background:var(--nested-bg);border:1px solid var(--soft-border);box-shadow:none;border-radius:16px;flex:0 0 220px;align-content:start;justify-items:start;gap:.32rem;padding:.8rem;display:grid}.device-operation-selector-card:hover,.device-operation-selector-card:focus-visible{background:#3b82f614;border-color:#60a5fa57}.device-operation-selector-card.active{background:#3b82f61f;border-color:#3b82f675;box-shadow:inset 0 0 0 1px #3b82f614}.device-operation-selector-card strong{font-size:.95rem;line-height:1.25}.device-operation-selector-card .muted{line-height:1.4}.device-operation-selector-tag{color:#bfdbfe;background:#2563eb29;border:1px solid #60a5fa38;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:0 .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.device-operation-detail-card{gap:.85rem}.device-operation-mobile-sheet-overlay{z-index:1250;padding:.75rem .75rem max(.75rem, env(safe-area-inset-bottom));background:#02061761;align-items:end;display:grid;position:fixed;inset:0}.device-operation-detail-sheet{border-radius:24px 24px 20px 20px;width:min(720px,100%);max-height:min(74vh,100dvh - 1rem);margin:0 auto;overflow:auto;box-shadow:0 -18px 40px #0f172a38}.device-operation-sheet-handle{background:#94a3b87a;border-radius:999px;width:44px;height:5px;margin:0 auto .15rem}.device-operation-detail-sheet-head{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.device-operation-sheet-close{background:var(--soft-bg);border:1px solid var(--soft-border);min-width:64px;min-height:38px;color:var(--text);border-radius:999px;padding:.35rem .7rem}.device-operation-detail-head{gap:.24rem;display:grid}.device-operation-panel-form{gap:.9rem;display:grid}.device-operation-panel-form>.form-actions{margin-top:0}.room-permission-action-card{gap:.9rem}.room-permission-action-head{margin-bottom:0}.room-permission-action-grid{grid-template-columns:1fr}.room-permission-operation-field{gap:.55rem;display:grid}.room-permission-operation-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.room-permission-operation-card{text-align:left;width:100%;min-height:112px;color:var(--text);background:var(--nested-bg);border:1px solid var(--soft-border);box-shadow:none;border-radius:16px;align-content:start;justify-items:start;gap:.32rem;padding:.8rem;display:grid}.room-permission-operation-card:hover,.room-permission-operation-card:focus-visible{background:#3b82f614;border-color:#60a5fa57}.room-permission-operation-card.active{background:#3b82f61f;border-color:#3b82f675;box-shadow:inset 0 0 0 1px #3b82f614}.room-permission-operation-card strong{font-size:.95rem;line-height:1.25}.room-permission-operation-card .muted{line-height:1.4}.room-transfer-device-panel{gap:.8rem;display:grid}.room-permission-submit-row{justify-content:space-between;align-items:flex-start;gap:1rem}.room-transfer-inline-note{flex:320px;gap:.2rem;display:grid}.room-transfer-submit-wrap{flex:none;position:relative}.room-transfer-confirm-bubble{background:var(--card-bg);border:1px solid var(--soft-border);z-index:12;border-radius:16px;gap:.7rem;width:min(320px,100vw - 3rem);padding:.9rem;display:grid;position:absolute;bottom:calc(100% + .75rem);right:0;box-shadow:0 20px 48px #0f172a38}.room-transfer-confirm-bubble:after{content:"";background:var(--card-bg);border-right:1px solid var(--soft-border);border-bottom:1px solid var(--soft-border);width:12px;height:12px;position:absolute;top:100%;right:1.2rem;transform:rotate(45deg)translateY(-7px)}.room-transfer-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.room-transfer-confirm-cancel{width:auto;min-width:0;color:var(--text);border:1px solid var(--line);background:0 0;padding-inline:.9rem}.room-transfer-toolbar{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.room-transfer-count-label{margin-right:auto}.room-transfer-toolbar-actions{align-items:center;gap:.45rem;display:inline-flex}.room-transfer-toolbar-icon{width:38px;min-width:38px;min-height:38px;color:var(--text);background:var(--nested-bg);border:1px solid var(--soft-border);border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex}.room-transfer-toolbar-icon i{font-size:1rem}.compact-buttons .ghost-button,.compact-pagination .ghost-button{width:auto;min-width:92px}.room-transfer-device-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.65rem;display:grid}.room-transfer-device-card{background:var(--nested-bg);border:1px solid var(--soft-border);border-radius:16px;gap:.55rem;padding:.9rem;display:grid;position:relative}.room-transfer-device-card.selected{border-color:#3b82f666;box-shadow:inset 0 0 0 1px #3b82f614}.room-transfer-status-badge{position:absolute;top:.8rem;right:.8rem}.device-transfer-check{align-items:flex-start;gap:.58rem;padding-right:5.4rem;display:flex}.device-transfer-check input{width:auto;margin-top:.2rem}.device-transfer-check span{gap:.16rem;min-width:0;display:grid}.transfer-device-code{white-space:nowrap}@media (max-width:980px){.room-permission-operation-list{grid-template-columns:1fr}}.device-transfer-meta{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}@media (max-width:720px){.room-permission-submit-row{flex-direction:column;align-items:stretch}.room-transfer-submit-wrap,.room-transfer-submit-wrap>button,.room-transfer-confirm-actions>button{width:100%}.room-transfer-confirm-bubble{width:auto;left:0;right:0}}.timeline-metadata{flex-wrap:wrap;gap:.38rem;margin-top:.4rem;display:flex}.timeline-metadata span{color:var(--text);background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:999px;padding:.22rem .52rem;font-size:.82rem}.timeline-list{gap:.85rem;display:grid}.timeline-day-group{gap:.5rem;display:grid}.timeline-day-divider{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;display:grid}.timeline-day-divider-line{background:linear-gradient(90deg,#60a5fa57,#60a5fa0a);border-radius:999px;height:1px;display:block}.timeline-day-divider-label{color:#dbeafe;white-space:nowrap;background:#2563eb1a;border:1px solid #60a5fa33;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:.2rem .65rem;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.timeline-entry{border-bottom:1px solid #ffffff0f;grid-template-columns:132px 24px minmax(0,1fr);align-items:start;gap:.8rem;padding:0 0 .9rem;display:grid}.timeline-entry:last-child{border-bottom:0;padding-bottom:0}.timeline-time-col{text-align:right;justify-items:end;gap:.18rem;display:grid}.timeline-time-date{color:var(--muted);font-size:.8rem;line-height:1.1}.timeline-time-clock{font-size:1rem;font-weight:700;line-height:1.15}.timeline-axis{justify-content:center;min-height:100%;display:flex;position:relative}.timeline-axis:before{content:"";background:linear-gradient(#60a5fa8c,#60a5fa14);border-radius:999px;width:2px;position:absolute;top:0;bottom:-.95rem}.timeline-entry:last-child .timeline-axis:before{bottom:.35rem}.timeline-axis-dot{z-index:1;background:linear-gradient(#60a5fa,#2563eb);border-radius:999px;width:12px;height:12px;margin-top:.3rem;position:relative;box-shadow:0 0 0 4px #2563eb1f}.timeline-content{gap:.28rem;min-width:0;display:grid}.timeline-duration-chip{color:#dbeafe;white-space:nowrap;background:#2563eb1f;border:1px solid #60a5fa38;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:.12rem .5rem;font-size:.76rem;line-height:1;display:inline-flex}.repair-info-card{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:.75rem;display:flex}.admin-list-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.85rem;display:grid}.department-workshop-list{gap:1rem;display:grid}.department-order-status{margin-top:-.2rem}.department-workshop-card{background:var(--nested-bg);border:1px solid var(--soft-border);border-radius:22px;gap:1rem;padding:1rem 1rem 1rem 3.4rem;display:grid;position:relative}.department-workshop-card.is-dragging,.department-team-card.is-dragging,.location-station-card.is-dragging{opacity:.68;box-shadow:var(--control-shadow-strong);border-color:#60a5fa66}.department-workshop-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.department-workshop-copy{gap:.45rem;min-width:0;display:grid}.department-workshop-title-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.department-workshop-title-row strong{font-size:1.02rem}.department-workshop-meta{flex-wrap:wrap;gap:.45rem;display:flex}.department-workshop-meta span{background:var(--soft-bg);border:1px solid var(--soft-border);color:var(--muted);border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.82rem;display:inline-flex}.department-inline-form{gap:.45rem;display:grid}.department-drag-handle{cursor:grab;position:absolute;top:.95rem;left:.95rem}.department-drag-handle:active{cursor:grabbing}.department-inline-input{border-radius:14px;width:min(100%,18rem);min-height:2.45rem;padding:.55rem .78rem}.department-workshop-name-input{width:min(100%,22rem)}.department-inline-save-button{white-space:nowrap;border-radius:999px;width:auto;min-width:0;min-height:2.45rem;padding:.55rem .95rem}.department-card-action-rail{flex-direction:column;justify-content:space-between;align-self:stretch;align-items:flex-end;gap:.75rem;display:flex;position:relative}.department-card-action-rail-workshop{min-width:2.1rem}.department-delete-popover{position:relative}.department-delete-bubble{background:var(--card-bg);border:1px solid var(--soft-border);z-index:12;border-radius:16px;gap:.7rem;width:min(320px,100vw - 3rem);padding:.9rem;display:grid;position:absolute;bottom:calc(100% + .75rem);right:0;box-shadow:0 20px 48px #0f172a38}.department-delete-bubble:after{content:"";background:var(--card-bg);border-right:1px solid var(--soft-border);border-bottom:1px solid var(--soft-border);width:12px;height:12px;position:absolute;top:100%;right:.9rem;transform:rotate(45deg)translateY(-7px)}.department-delete-confirm-button{width:auto;min-width:0;padding-inline:.95rem}.department-team-grid{grid-template-columns:repeat(auto-fill,minmax(260px,280px));justify-content:start;align-items:start;gap:.85rem;display:grid}.department-team-card{width:min(100%,280px);padding:.9rem .9rem .9rem 3rem;position:relative}.department-team-head{justify-content:space-between;align-items:stretch;gap:.75rem;display:flex}.department-team-form{flex:auto;min-width:0}.department-team-title-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.department-team-title-row strong{font-size:.98rem}.department-team-form small{color:var(--muted);line-height:1.35}.department-team-empty{background:var(--soft-bg);border:1px dashed var(--soft-border);border-radius:18px;padding:.95rem 1rem}.location-line-list{gap:1rem;display:grid}.location-line-card{background:var(--nested-bg);border:1px solid var(--soft-border);border-radius:22px;gap:1rem;padding:1rem;display:grid}.location-line-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.location-line-copy{gap:.45rem;min-width:0;display:grid}.location-line-title-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.location-line-title-row strong{font-size:1.02rem}.location-line-meta{flex-wrap:wrap;gap:.45rem;display:flex}.location-line-meta span{background:var(--soft-bg);border:1px solid var(--soft-border);color:var(--muted);border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.82rem;display:inline-flex}.location-station-grid{grid-template-columns:repeat(auto-fill,minmax(260px,280px));justify-content:start;align-items:start;gap:.85rem;display:grid}.location-station-card{width:min(100%,280px);padding:.9rem .9rem .9rem 3rem;position:relative}.location-station-drag-handle{cursor:grab;position:absolute;top:.78rem;left:.78rem}.location-station-drag-handle:active{cursor:grabbing}.location-station-head{justify-content:space-between;align-items:stretch;gap:.75rem;display:flex}.location-station-copy{gap:.35rem;min-width:0;display:grid}.location-station-copy strong{font-size:.98rem}.location-station-copy small{color:var(--muted);line-height:1.35}.location-station-empty{background:var(--soft-bg);border:1px dashed var(--soft-border);border-radius:18px;padding:.95rem 1rem}.department-create-switch{background:var(--soft-bg-2);border:1px solid var(--soft-border);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.35rem;display:grid}.department-create-switch-option{min-height:42px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:12px;font-weight:700}.department-create-switch-option.active{color:#fff;background:linear-gradient(#60a5fa,#2563eb);border-color:#60a5fa66;box-shadow:0 10px 24px #2563eb38}.admin-vertical-list{gap:.85rem;display:grid}.user-manage-card{gap:.95rem;display:grid}.user-manage-head{justify-content:space-between;align-items:start;gap:.9rem;display:flex}.user-manage-summary{gap:.38rem;min-width:0;display:grid}.user-manage-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.user-manage-title-row strong{font-size:1rem}.user-manage-title-row small{color:var(--muted)}.user-manage-meta{color:var(--muted);flex-wrap:wrap;gap:.45rem .8rem;font-size:.9rem;display:flex}.user-manage-form{padding-top:.1rem}.catalog-section-list{scrollbar-width:thin;gap:.7rem;max-height:min(62vh,720px);padding-right:.2rem}.catalog-entry-card,.catalog-request-card{gap:.8rem}.catalog-entry-head{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.catalog-entry-copy{gap:.28rem;min-width:0;display:grid}.catalog-entry-copy strong,.catalog-request-card strong{overflow-wrap:anywhere}.catalog-request-list{gap:.8rem}.catalog-request-review-grid{align-items:start}.catalog-list-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.admin-details-card{background:var(--nested-bg);border:1px solid var(--soft-border);border-radius:18px;overflow:visible}.admin-details-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;list-style:none;display:flex}.admin-details-card summary::-webkit-details-marker{display:none}.admin-details-card summary>span:first-child{gap:.25rem;min-width:0;display:grid}.admin-details-card summary small{color:var(--muted);line-height:1.35}.admin-details-card[open] summary{background:#3b82f612;border-bottom:1px solid #ffffff0f}.detail-edit-form{padding:1rem}.eyebrow{color:#60a5fa;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.muted{color:var(--muted)}.small{font-size:.88rem}.section-head{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.8rem;display:flex}.section-head h3,.section-head h4{margin:0}.section-icon-button{border-radius:999px;justify-content:center;align-items:center;width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;padding:0;font-size:1.35rem;line-height:1;display:inline-flex;box-shadow:0 12px 24px #2563eb2e}.section-icon-button svg,.device-action-icon svg{width:1.1rem;height:1.1rem}.device-list-head{align-items:center;gap:.8rem}.device-status-filter-wrap{flex:0 auto;gap:.38rem;min-width:min(100%,30rem);display:grid}.device-list-head-copy{flex:18rem;min-width:0}.device-list-head-copy .muted.small{overflow-wrap:anywhere}.device-status-filter-bar{scrollbar-width:thin;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.45rem;max-width:100%;padding-bottom:.12rem;display:flex;overflow-x:auto}.device-status-filter-reset-row{justify-content:flex-end;display:flex}.device-status-filter{border:1px solid var(--soft-border);background:var(--soft-bg);min-height:36px;color:var(--muted);box-shadow:var(--control-shadow);opacity:.84;background-clip:padding-box;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.42rem .78rem;font-size:.84rem;font-weight:600;transition:transform .16s,border-color .16s,background .16s,color .16s,box-shadow .16s,opacity .16s;display:inline-flex}.device-status-filter:hover{opacity:.96;text-decoration:none;transform:translateY(-1px)}.device-status-filter.active{color:var(--text);opacity:1;box-shadow:var(--control-shadow-strong);background:#3b82f624;border-color:#60a5fa3d}.device-status-filter.reset{color:var(--text);opacity:.9;background:0 0;border-style:dashed}.room-filter-toolbar{justify-content:flex-start;margin-bottom:.5rem}.room-line-filter.active{color:#fff;background:linear-gradient(#60a5fa,#2563eb);border-color:#60a5fa66;box-shadow:0 8px 18px #2563eb2e}.room-line-pick-label{color:var(--text);font-size:.92rem;font-weight:700}.room-line-filter-bar{justify-content:flex-start}.room-hierarchy-scroll{min-height:0;padding-bottom:.2rem}.room-line-card{gap:.8rem;padding:.95rem;display:grid}.room-station-card{gap:.7rem;padding:.85rem;display:grid}.room-mini-grid{flex-wrap:wrap;align-items:stretch;gap:.7rem;display:flex}.room-mini-card{background:var(--soft-bg);border:1px solid var(--soft-border);width:248px;min-width:248px;max-width:248px;color:var(--text);border-radius:16px;flex:0 0 248px;gap:.2rem;padding:.85rem;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.room-mini-card:hover{border-color:#60a5fa59;text-decoration:none;transform:translateY(-1px);box-shadow:0 12px 24px #0f172a1f}.room-mini-card strong{font-size:.96rem;line-height:1.2}.detail-back-fab{color:#fff;z-index:12;background:linear-gradient(#60a5fa,#2563eb);border:1px solid #60a5fa6b;border-radius:999px;justify-content:center;align-items:center;width:3rem;min-width:3rem;height:3rem;min-height:3rem;display:inline-flex;position:absolute;bottom:.15rem;right:.15rem;box-shadow:0 14px 28px #2563eb3d}.detail-back-fab-topbar{display:none}.detail-back-fab:hover{text-decoration:none;transform:translateY(-1px)}.detail-back-fab svg{width:1.1rem;height:1.1rem;display:block}.device-list-pagination{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:.85rem;margin-top:.85rem;padding-top:.75rem;display:flex}.pagination-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.42rem;display:flex}.pagination-link,.pagination-ellipsis{border:1px solid var(--soft-border);background:var(--soft-bg);min-width:38px;min-height:36px;color:var(--text);box-shadow:var(--control-shadow);background-clip:padding-box;border-radius:12px;justify-content:center;align-items:center;padding:.4rem .7rem;display:inline-flex}.pagination-link:hover{box-shadow:var(--control-shadow-strong);text-decoration:none}.pagination-link.active{color:#dbeafe;box-shadow:var(--control-shadow-strong);background:#3b82f62e;border-color:#60a5fa47}.pagination-link.disabled{color:var(--muted);opacity:.6}.pagination-ellipsis{min-width:auto;color:var(--muted);border-style:dashed}.nav-list,.stack-lg,.stack-md,.stack-sm{gap:.8rem;display:grid}.stack-lg{gap:1rem}.stack-sm{gap:.45rem}.nav-link{background:var(--soft-bg-2);color:var(--text);border-radius:12px;padding:.8rem .95rem}.nav-link.active{background:#3b82f626;border:1px solid #3b82f640}.user-box{background:var(--soft-bg-2);border:1px solid var(--soft-border);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:84px;padding:.7rem .8rem;display:grid;overflow:hidden}.user-box-copy{gap:.1rem;min-width:0;display:grid}.user-box span,.user-box strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.user-box-avatar-slot{place-items:center;width:54px;height:54px;display:grid}.sidebar-avatar{color:#fff;background:linear-gradient(135deg,#60a5fa,#2563eb 58%,#9333ea);border-radius:50%;place-items:center;width:54px;height:54px;font-size:1rem;font-weight:800;display:grid;box-shadow:0 8px 20px #2563eb38}.grid{gap:1rem;display:grid}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-grid{gap:.75rem}.dashboard-grid{align-items:start}.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.stat-card{gap:.35rem;display:grid}.stat-card strong{font-size:2rem}.quick-links{gap:.75rem;display:grid}.feature-link{background:#3b82f614;border-radius:14px;padding:1rem;display:block}.alert{border-radius:14px;padding:.9rem 1rem}.alert.success{background:#16a34a26;border:1px solid #16a34a40}.alert.error{background:#ef444426;border:1px solid #ef444440}@keyframes growl-slide-in{0%{opacity:0;transform:translate(28px,18px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}.flash-toast-stack{right:1rem;bottom:max(1rem, env(safe-area-inset-bottom));z-index:2050;justify-items:end;gap:.7rem;width:min(360px,100vw - 1.5rem);display:grid;position:fixed}.flash-toast{background:linear-gradient(#1a243dfa,#0e1626fa);border:1px solid #60a5fa2e;border-radius:18px;gap:.75rem;width:100%;padding:.95rem 1rem;animation:.28s cubic-bezier(.22,1,.36,1) growl-slide-in;display:grid;box-shadow:0 18px 42px #00000052}.flash-toast.tone-success{border-color:#4ade8038;box-shadow:0 18px 42px #0c4a272e}.flash-toast.tone-error{border-color:#f871713d;box-shadow:0 18px 42px #7f1d1d33}.flash-toast-badge{letter-spacing:.02em;color:#eff6ff;background:#2563eb9e;border:1px solid #93c5fd6b;border-radius:999px;width:fit-content;padding:.32rem .68rem;font-size:.78rem;font-weight:800;box-shadow:0 8px 18px #2563eb38}.flash-toast.tone-success .flash-toast-badge{color:#f0fdf4;background:#16a34aad;border-color:#86efac6b;box-shadow:0 8px 18px #16653438}.flash-toast.tone-error .flash-toast-badge{color:#fff1f2;background:#dc2626b8;border-color:#fca5a575;box-shadow:0 8px 18px #7f1d1d3d}.flash-toast-body{gap:.3rem;display:grid}.flash-toast-body p{color:var(--muted);margin:0;line-height:1.45}.flash-toast-close{width:auto;min-width:84px;color:var(--text);justify-self:end}.inline-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.inline-form>*{flex:180px}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.button-row>*{flex:none}.device-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.8rem;display:grid}.device-check{align-items:start;gap:.8rem;display:flex}.device-check input{width:auto;margin-top:.2rem}.device-list-compact{isolation:isolate;z-index:0;scrollbar-width:thin;align-content:start;gap:.55rem;min-height:0;padding-right:.2rem;display:grid;position:relative;overflow:auto}.device-card{gap:.72rem;display:grid}.device-card-interactive{--device-floating-inset-x:.64rem;--device-floating-inset-y:.58rem;outline:none;padding:.74rem .82rem .78rem;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:visible}.device-card-interactive:hover,.device-card-interactive:focus-visible,.device-card-interactive.device-popover-active{z-index:12;border-color:#3b82f652;box-shadow:0 18px 42px #0f172a38}.device-card-interactive.device-popover-active{z-index:18}.device-card-main{gap:.32rem;min-width:0;padding-bottom:0;padding-right:0;display:grid}.device-card-dense-head{justify-content:flex-start;align-items:flex-start;gap:.56rem;display:flex}.device-title-block{gap:.16rem;min-width:0;display:grid}.device-title-line{align-items:center;gap:.52rem;min-width:0;display:flex}.device-title-line h4{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;line-height:1.2;overflow:hidden}.device-card-chip-group{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:.35rem;margin-left:auto;padding-left:.4rem;display:flex}.device-ownership-chip{border:1px solid var(--soft-border);white-space:nowrap;min-height:25px;box-shadow:var(--control-shadow);background-clip:padding-box;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .52rem;font-size:.76rem;line-height:1;display:inline-flex}.device-ownership-chip.operable{color:#bbf7d0;background:#22c55e24;border-color:#4ade803d}.device-ownership-chip.readonly{color:#dbe4f3;background:#94a3b826;border-color:#94a3b83d}.device-subtitle-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-card-head{margin-bottom:0}.device-card-actions-panel{right:var(--device-floating-inset-x);bottom:var(--device-floating-inset-y);z-index:4;flex-direction:row;justify-content:flex-end;align-items:flex-end;gap:.24rem;min-width:0;display:flex;position:absolute}.device-detail-chip{background:var(--soft-bg);border:1px solid var(--soft-border);min-height:25px;color:var(--text);white-space:nowrap;box-shadow:var(--control-shadow);background-clip:padding-box;border-radius:999px;justify-content:center;align-items:center;padding:.18rem .54rem;font-size:.79rem;display:inline-flex}.device-detail-chip:hover{box-shadow:var(--control-shadow-strong);text-decoration:none}.device-action-dialog-heading-wrap{align-items:flex-start;gap:.65rem;min-width:0;display:flex}.device-compact-meta{flex-wrap:wrap;gap:.28rem;min-width:0;display:flex}.device-compact-meta span{min-width:0;max-width:min(360px,100%);color:var(--muted);background:var(--soft-bg-2);border:1px solid var(--soft-border);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:.28rem;padding:.18rem .5rem;font-size:.78rem;line-height:1.14;display:inline-flex;overflow:hidden}.device-compact-meta strong{color:var(--text);flex:none;font-size:.73rem}.device-action-rail{opacity:0;pointer-events:none;flex-flow:row;justify-content:flex-end;align-items:center;gap:.24rem;transition:opacity .18s,transform .18s;display:flex;position:relative;transform:translateY(5px)scale(.98)}.device-card-interactive:hover .device-action-rail,.device-card-interactive:focus-within .device-action-rail,.device-card-interactive:focus-visible .device-action-rail,.device-card-interactive.device-popover-active .device-action-rail{opacity:1;pointer-events:auto;transform:translate(0)scale(1)}.device-action-popover{justify-content:flex-end;display:flex;position:relative}.device-action-popover.is-open{z-index:16}.device-action-icon{border:1px solid var(--soft-border);background:var(--soft-bg);width:29px;min-width:29px;height:29px;min-height:29px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;appearance:none;box-shadow:var(--control-shadow);background-clip:padding-box;border-radius:999px;flex:0 0 29px;justify-content:center;align-items:center;padding:0;font-weight:800;line-height:1;display:inline-flex}.device-action-icon svg{width:14px;height:14px;display:block}.device-action-popover.is-open .device-action-icon,.device-action-icon:hover{color:#fff;box-shadow:var(--control-shadow-strong);background:linear-gradient(#60a5fa,#2563eb);border-color:#3b82f666}.device-action-icon.store{background:#3b82f61f}.device-action-icon.outbound{background:#0ea5e91f}.device-action-icon.use{background:#22c55e1f}.device-action-icon.down{background:#6366f11f}.device-action-icon.repair{background:#f59e0b24}.device-action-icon.scrap{background:#ef444424}.device-action-icon.done{background:#16a34a24}.device-action-dialog{background:0 0;border:none;width:min(520px,100vw - 2rem);max-width:calc(100vw - 2rem);margin:auto;padding:0;transition:width .18s;position:fixed;inset:0;overflow:visible}.device-action-dialog.wide{width:min(680px,100vw - 2rem)}.device-action-dialog.device-action-dialog-adaptive-usage{width:min(520px,100vw - 2rem)}.device-action-dialog.device-action-dialog-adaptive-usage:has(.usage-position-picker[data-cabinet-selected=true]){width:min(980px,100vw - 2rem)}.device-action-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#02061785}.device-action-dialog-card{background:var(--card-bg);border:1px solid #3b82f633;border-radius:18px;gap:.85rem;padding:1rem;display:grid;box-shadow:0 22px 54px #0f172a52}.device-action-dialog-head,.popover-head{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.device-action-dialog-heading{gap:.2rem;min-width:0;display:grid}.device-action-dialog-heading strong{font-size:1rem}.device-dialog-close{border:1px solid var(--soft-border);background:var(--soft-bg);width:auto;min-height:36px;color:var(--text);white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.84rem;display:inline-flex}.device-action-sheet-handle,.device-action-sheet-footer{display:none}.device-dialog-back{border:1px solid var(--soft-border);background:var(--soft-bg);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text);border-radius:999px;padding:0;display:none}.device-sheet-menu-button{border:1px solid var(--soft-border);cursor:pointer}.device-sheet-menu-icon{color:#dbeafe;background:#3b82f624;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.device-sheet-menu-icon svg,.device-sheet-menu-icon i{width:1rem;height:1rem;font-size:1rem;line-height:1}.device-action-form{gap:.75rem;display:grid}.device-action-form p{margin:0}.device-action-form button{justify-self:end}.repair-send-hidden-form{display:none}.repair-send-composer{gap:.8rem;display:grid}.repair-kind-switch{background:var(--soft-bg-2);border:1px solid var(--soft-border);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.35rem;display:grid}.repair-kind-switch-option{min-height:42px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:12px;font-weight:700}.repair-kind-switch-option.active{color:#fff;background:linear-gradient(#60a5fa,#2563eb);border-color:#60a5fa66;box-shadow:0 10px 24px #2563eb38}.repair-kind-panel{margin-top:.2rem}.repair-preset-head{justify-content:space-between;align-items:center;gap:.75rem;padding-right:8.5rem;display:flex;position:relative}.repair-inline-tip{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:8rem;padding:.18rem .5rem;font-size:.74rem;line-height:1.2;animation:.18s repair-inline-tip-fade;position:absolute;top:50%;right:0;overflow:hidden;transform:translateY(-50%)}.repair-inline-tip.success{color:#bbf7d0;background:#16a34a24;border:1px solid #22c55e2e}.repair-inline-tip.error{color:#fecaca;background:#ef444424;border:1px solid #f871712e}@keyframes repair-inline-tip-fade{0%{opacity:0;transform:translateY(-50%)translate(6px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.repair-preset-bubbles{flex-wrap:wrap;gap:.55rem;display:flex}.repair-preset-bubble{background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:999px;align-items:center;gap:.28rem;max-width:100%;padding:.24rem .28rem .24rem .3rem;display:inline-flex}.repair-preset-fill{width:auto;min-height:0;color:var(--text);white-space:nowrap;background:0 0;border:none;padding:.18rem .42rem;font-size:.82rem;line-height:1.2}.repair-preset-delete-form{display:contents}.repair-preset-delete{color:#fecaca;background:#ef44441f;border:1px solid #f8717133;border-radius:999px;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;font-size:.92rem;line-height:1}.repair-preset-delete.is-loading{color:#fff}.repair-external-fields{position:relative}.repair-external-grid{padding-top:.3rem}.repair-template-save-icon{color:#bfdbfe;background:#3b82f61f;border:1px solid #60a5fa42;border-radius:999px;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;display:inline-flex;position:absolute;top:-.2rem;right:0;box-shadow:0 10px 24px #2563eb29}.repair-template-save-icon svg{width:16px;height:16px;display:block}.repair-template-save-icon:hover:not(:disabled){color:#fff;background:linear-gradient(#60a5fa,#2563eb);border-color:#60a5fa66}.repair-template-save-icon:disabled{opacity:.45;cursor:not-allowed}.repair-preset-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.device-no-actions{min-width:36px;min-height:36px;color:var(--muted);background:var(--soft-bg-2);border:1px solid var(--soft-border);border-radius:999px;justify-content:center;align-items:center;font-size:.82rem;display:inline-flex}.device-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.actions-grid{gap:.8rem;display:grid}.repair-form{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:center;gap:.6rem;display:grid}.list-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.timeline-item{border-bottom:1px solid #ffffff0f;padding-bottom:.8rem}.timeline-item:last-child{border-bottom:0;padding-bottom:0}.status-badge{color:#bfdbfe;background:#3b82f62e;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.88rem;display:inline-flex}.status-badge.alt{color:#cbd5e1;background:#94a3b826}.status-badge.tone-buffer,.device-status-filter.tone-buffer{color:#bfdbfe;background:#3b82f61a;border-color:#60a5fa29}.status-badge.tone-stored,.device-status-filter.tone-stored{color:#dbe4f3;background:#94a3b81a;border-color:#94a3b829}.status-badge.tone-in-use,.device-status-filter.tone-in-use{color:#bbf7d0;background:#22c55e1a;border-color:#4ade8029}.status-badge.tone-repair,.device-status-filter.tone-repair{color:#fde68a;background:#f59e0b1f;border-color:#fbbf2429}.status-badge.tone-scrap-pending,.device-status-filter.tone-scrap-pending{color:#fed7aa;background:#f973161f;border-color:#fb923c29}.status-badge.tone-scrapped,.device-status-filter.tone-scrapped{color:#fecaca;background:#ef44441f;border-color:#f8717129}.device-status-filter.active.tone-buffer{color:#eff6ff;background:#3b82f63d;border-color:#60a5fa5c}.device-status-filter.active.tone-stored{color:#f8fafc;background:#94a3b83d;border-color:#94a3b857}.device-status-filter.active.tone-in-use{color:#f0fdf4;background:#22c55e3d;border-color:#4ade8057}.device-status-filter.active.tone-repair{color:#fffbeb;background:#f59e0b42;border-color:#fbbf2457}.device-status-filter.active.tone-scrap-pending{color:#fff7ed;background:#f9731642;border-color:#fb923c57}.device-status-filter.active.tone-scrapped{color:#fef2f2;background:#ef44443d;border-color:#f8717157}.device-status-filter.active.tone-buffer,.device-status-filter.active.tone-stored,.device-status-filter.active.tone-in-use,.device-status-filter.active.tone-repair,.device-status-filter.active.tone-scrap-pending,.device-status-filter.active.tone-scrapped{box-shadow:var(--control-shadow-strong)}.qr-block{text-align:center;justify-items:center;gap:.8rem;display:grid}.device-overview-card{grid-column:1/-1;width:100%;padding-bottom:4.25rem;position:relative}.device-overview-head{align-items:center}.device-overview-layout{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:1rem;display:grid}.device-overview-meta-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.device-overview-meta-grid>div,.public-device-meta-grid>div{min-width:0}.device-overview-meta-grid>div:first-child,.device-overview-meta-grid>div:last-child,.public-device-meta-grid>div:last-child{grid-column:1/-1}.device-overview-meta-grid .muted.small,.device-overview-meta-grid>div>div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.device-overview-qr-panel{text-align:center;background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:18px;justify-items:center;gap:.7rem;padding:.9rem;display:grid}.device-overview-qr-copy{gap:.18rem;display:grid}.device-overview-download-slot{position:absolute;bottom:1rem;right:1rem}.room-overview-card{width:min(100%,960px);position:relative}.room-overview-head{align-items:center}.room-overview-head p{margin:.35rem 0 0}.qr-download-anchor{flex:none;display:inline-flex;position:relative}.qr-download-button{color:#fff;background:linear-gradient(#60a5fa,#2563eb);border:1px solid #60a5fa6b}.qr-download-button:hover{text-decoration:none}.qr-download-button svg{width:1.2rem;height:1.2rem;display:block}.room-delete-trigger{width:auto;min-width:132px}.qr-download-preview{opacity:0;pointer-events:none;z-index:40;gap:.45rem;width:220px;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:calc(100% + .65rem);right:0;transform:translateY(-4px)}.qr-download-anchor:hover .qr-download-preview,.qr-download-anchor:focus-within .qr-download-preview{opacity:1;transform:translateY(0)}.qr-download-preview-badge{color:#dbeafe;background:#2563ebe6;border-radius:999px;justify-self:end;padding:.25rem .6rem;font-size:.74rem;font-weight:700;box-shadow:0 10px 24px #0f172a33}.qr-download-preview-card{background:#f8fafcfa;border:1px solid #94a3b84d;border-radius:20px;justify-items:center;gap:.7rem;padding:.9rem;display:grid;box-shadow:0 16px 34px #0f172a33}.qr-download-preview-meta{text-align:center;gap:.14rem;width:100%;display:grid}.qr-download-preview-meta.align-left{text-align:left}.qr-download-preview-meta span{color:#64748b;font-size:.74rem;font-weight:700}.qr-download-preview-meta strong{color:#0f172a;font-size:1.02rem;line-height:1.25}.device-qr-download-anchor .qr-download-preview{width:292px}.device-qr-download-preview-card{justify-items:start}.device-qr-download-preview-lines{gap:.18rem;width:100%;display:grid}.theme-mode-radio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.theme-radio-card{border-radius:18px;align-items:flex-start;gap:.7rem;padding:.9rem 1rem}.theme-radio-card input{width:auto;margin-top:.15rem}.theme-radio-card span{gap:.18rem;display:grid}.admin-inline-help{align-self:end;line-height:1.5}.public-page-shell{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;height:100dvh;padding:1.5rem;overflow-y:auto}.public-page-main{gap:1rem;width:min(100%,980px);margin:0 auto;padding-bottom:1.5rem;display:grid}.public-device-hero{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.public-device-hero h1{margin:.3rem 0 .45rem;font-size:clamp(1.7rem,4vw,2.3rem)}.public-device-hero p{max-width:42rem;margin:0}.public-device-hero-actions{justify-items:end;gap:.65rem;display:grid}.public-device-detail-link{color:#fff;background:linear-gradient(#60a5fa,#2563eb);border:1px solid #60a5fa6b}.public-device-detail-link svg{width:1.15rem;height:1.15rem;display:block}.public-device-login-link{color:var(--muted);font-size:.88rem}.public-device-summary-card,.public-device-timeline-card{width:100%}.public-device-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-device-timeline-card .section-head p{margin:.28rem 0 0}.notes-list{color:var(--muted);gap:.6rem;display:grid}.top-gap{margin-top:1rem}.danger-zone{margin-top:.6rem}.align-right{justify-items:end;gap:.35rem;display:grid}.foot-links{justify-content:flex-end;display:flex}.install-tip{text-align:right}.search-summary-card{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.update-toast{right:1.25rem;bottom:max(1.25rem, env(safe-area-inset-bottom));z-index:999;background:linear-gradient(#1a243dfa,#0e1626fa);border:1px solid #60a5fa40;border-radius:18px;gap:.85rem;width:min(360px,100vw - 2rem);padding:1rem;animation:.28s cubic-bezier(.22,1,.36,1) growl-slide-in;display:grid;position:fixed;box-shadow:0 20px 50px #00000059}.update-toast-badge{color:#dbeafe;background:#3b82f62e;border-radius:999px;width:fit-content;padding:.35rem .7rem;font-size:.8rem}.update-toast-body{gap:.35rem;display:grid}.update-toast-body p{color:var(--muted);margin:0;line-height:1.5}.update-toast-actions{justify-content:flex-end;gap:.75rem;display:flex}.update-toast-secondary{width:auto;min-width:88px;color:var(--text)}.update-toast-primary{border-radius:14px;min-width:112px}.profile-settings-grid{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.settings-avatar-panel{text-align:center;justify-items:center}.settings-avatar{color:#fff;background:linear-gradient(135deg,#60a5fa,#2563eb 58%,#9333ea);border-radius:50%;place-items:center;width:112px;height:112px;font-size:2rem;font-weight:800;display:grid;box-shadow:0 14px 30px #2563eb38}.settings-avatar-copy{gap:.18rem;display:grid}.checkbox-row{align-items:center;gap:.65rem;display:flex}.checkbox-row input{flex:none;width:auto}.theme-toggle-card{background:var(--soft-bg);border:1px solid var(--soft-border);border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.theme-toggle-card p{margin:.35rem 0 0}.theme-toggle-button{background:var(--soft-bg-2);border:1px solid var(--soft-border);min-width:168px;color:var(--text);justify-content:center;align-items:center;gap:.65rem;display:inline-flex}.theme-toggle-track{background:#94a3b859;border-radius:999px;justify-content:flex-start;width:42px;height:24px;padding:3px;display:inline-flex}.theme-toggle-thumb{background:#fff;border-radius:999px;width:18px;height:18px;box-shadow:0 2px 8px #0f172a38}.theme-toggle-button[aria-pressed=true] .theme-toggle-track{background:#2563ebc7;justify-content:flex-end}:root[data-theme=light] a{color:#1d4ed8}:root[data-theme=light] .eyebrow{color:#2563eb}:root[data-theme=light] .install-tip{color:#64748b}:root[data-theme=light] .sidebar,:root[data-theme=light] .mobile-search-sheet,:root[data-theme=light] .mobile-user-popover,:root[data-theme=light] .update-toast{background:var(--card-bg);border-color:var(--soft-border)}:root[data-theme=light] .mobile-topbar,:root[data-theme=light] .mobile-dock{background:#f8fbff85;border-color:#2563eb14}:root[data-theme=light] .flash-toast{background:var(--card-bg);border-color:var(--soft-border);box-shadow:0 16px 34px #1e407024}:root[data-theme=light] .flash-toast-badge{color:#fff;background:#2563eb;border-color:#2563eb47}:root[data-theme=light] .flash-toast.tone-success .flash-toast-badge{color:#fff;background:#15803d;border-color:#15803d47}:root[data-theme=light] .flash-toast.tone-error .flash-toast-badge{color:#fff;background:#dc2626;border-color:#dc262647}:root[data-theme=light] .flash-toast-close,:root[data-theme=light] .update-toast-secondary,:root[data-theme=light] .login-code-button{color:#102033}:root[data-theme=light] .update-toast-badge{color:#fff;background:#2563eb;border:1px solid #2563eb47}:root[data-theme=light] .position-selected-pill{color:#fff;background:#2563eb;border-color:#2563eb52}:root[data-theme=light] .device-operation-selector-tag{color:#1e3a8a;background:#2563eb1f;border-color:#2563eb33}:root[data-theme=light] .combo-option-list{background:#fff;border-color:#2563eb29;box-shadow:0 18px 40px #1e40702e}:root[data-theme=light] .combo-option{color:#102033}:root[data-theme=light] .combo-option-meta{color:#64748b}:root[data-theme=light] .combo-option:hover,:root[data-theme=light] .combo-option.active{background:#2563eb1c}:root[data-theme=light] .room-mini-card:hover{box-shadow:0 12px 22px #2563eb1f}:root[data-theme=light] .detail-back-fab{color:#fff;box-shadow:0 12px 22px #2563eb2e}:root[data-theme=light] .device-action-icon,:root[data-theme=light] .device-sheet-menu-icon{border:1px solid #94a3b82e;box-shadow:0 8px 18px #94a3b81f}:root[data-theme=light] .device-action-icon.store,:root[data-theme=light] .device-sheet-menu-icon.store{color:#1d4ed8;background:#2563eb29;border-color:#2563eb3d}:root[data-theme=light] .device-action-icon.outbound,:root[data-theme=light] .device-sheet-menu-icon.outbound{color:#0369a1;background:#0284c729;border-color:#0284c738}:root[data-theme=light] .device-action-icon.use,:root[data-theme=light] .device-sheet-menu-icon.use{color:#15803d;background:#22c55e26;border-color:#22c55e38}:root[data-theme=light] .device-action-icon.down,:root[data-theme=light] .device-sheet-menu-icon.down{color:#4338ca;background:#6366f126;border-color:#6366f138}:root[data-theme=light] .device-action-icon.repair,:root[data-theme=light] .device-sheet-menu-icon.repair{color:#b45309;background:#f59e0b2b;border-color:#f59e0b3d}:root[data-theme=light] .device-action-icon.done,:root[data-theme=light] .device-sheet-menu-icon.done{color:#047857;background:#10b98129;border-color:#10b98138}:root[data-theme=light] .device-action-icon.scrap,:root[data-theme=light] .device-sheet-menu-icon.scrap{color:#b91c1c;background:#ef444426;border-color:#ef444438}:root[data-theme=light] .login-page{background:radial-gradient(circle at top,#60a5fa42,#0000 34%),linear-gradient(#f7fbff 0%,#e9f2ff 100%)}:root[data-theme=light] .login-shell{background:linear-gradient(#fffffffa,#f4f8fffa);border-color:#2563eb24}:root[data-theme=light] .login-theme-switch{background:#2563eb14;border-color:#2563eb24}:root[data-theme=light] .login-theme-option{color:#64748b}:root[data-theme=light] .login-theme-option:hover{color:#1d4ed8}:root[data-theme=light] .login-theme-option.active{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb2e}:root[data-theme=light] .login-tabbar{background:#2563eb0f}:root[data-theme=light] .login-tab.active,:root[data-theme=light] .login-link.active{color:#0f172a}:root[data-theme=light] .login-divider{color:#64748b73}:root[data-theme=light] .cabinet-card-copy{color:#0f172a}:root[data-theme=light] .cabinet-card-copy .muted{color:#475569}:root[data-theme=light] .cabinet-browser-list-card{min-width:0}:root[data-theme=light] .cabinet-card-button.is-active{border-color:#2563eb4d;box-shadow:0 16px 32px #2563eb24}:root[data-theme=light] .cabinet-grid-corner,:root[data-theme=light] .cabinet-grid-axis{color:#334155;background:linear-gradient(#fffffffa,#f1f5f9fa);border-color:#94a3b847}:root[data-theme=light] .cabinet-grid-cell{color:#0f172a;background:linear-gradient(#fffffffa,#f8fafcfa);border-color:#94a3b847;box-shadow:inset 0 1px #ffffffeb,0 10px 22px #94a3b81f}:root[data-theme=light] .cabinet-grid-cell.is-view-only:focus-visible,:root[data-theme=light] .cabinet-grid-cell.is-view-only:hover,:root[data-theme=light] .cabinet-grid-cell.is-editable:hover{border-color:#2563eb47;box-shadow:0 16px 28px #2563eb1f}:root[data-theme=light] .cabinet-grid-cell.is-empty{background:linear-gradient(#fffffffc,#f8fafcfc)}:root[data-theme=light] .cabinet-grid-cell.is-occupied{background:linear-gradient(#dcfce7fa,#f0fdf4f2);border-color:#22c55e4d}:root[data-theme=light] .cabinet-grid-cell.is-disabled{background:repeating-linear-gradient(135deg,#fb923c1f 0 10px,#fed7aa6b 10px 20px),linear-gradient(#fff7edfa,#fffbebfa);border-color:#f973164d}:root[data-theme=light] .cabinet-grid-cell.is-merged{box-shadow:inset 0 0 0 1px #a855f733,0 10px 22px #94a3b81f}:root[data-theme=light] .cabinet-grid-cell.is-selected{border-color:#2563ebad;box-shadow:0 0 0 2px #3b82f629,0 16px 30px #2563eb29}:root[data-theme=light] .cabinet-grid-badge.empty{color:#475569;background:#94a3b824}:root[data-theme=light] .cabinet-grid-badge.occupied{color:#166534;background:#22c55e29}:root[data-theme=light] .cabinet-grid-badge.disabled{color:#c2410c;background:#f9731629}:root[data-theme=light] .cabinet-hover-card{background:linear-gradient(#fffffffc,#f8fafcfc);border-color:#2563eb2e;box-shadow:0 18px 38px #94a3b838}:root[data-theme=light] .cabinet-hover-card:before{border-bottom-color:#2563eb2e;border-left-color:#2563eb2e}:root[data-theme=light] .cabinet-hover-card.align-left:before{border-color:#2563eb2e #2563eb2e #0000 #0000}:root[data-theme=light] .cabinet-grid-axis-button.is-selected{background:#3b82f624;border-color:#2563eb6b}:root[data-theme=light] .cabinet-floating-action-item:before{color:#334155;background:#fffffff5;border-color:#2563eb29}:root[data-theme=light] .cabinet-floating-action-button,:root[data-theme=light] .cabinet-floating-actions .cabinet-delete-popover .device-action-icon{color:#0f172a}:root[data-theme=light] .cabinet-floating-action-button.scrap,:root[data-theme=light] .cabinet-floating-actions .cabinet-delete-popover .device-action-icon.scrap{color:#7f1d1d}:root[data-theme=light] .cabinet-hover-card .muted{color:#64748b}:root[data-theme=light] .cabinet-delete-panel{background:linear-gradient(#fffffffc,#f8fafcfc);border-color:#ef444438}:root[data-theme=light] .cabinet-delete-panel-head>strong{color:#0f172a}:root[data-theme=light] .cabinet-delete-panel-body{color:#475569}:root[data-theme=light] .cabinet-delete-panel-risk{color:#b91c1c;background:#fee2e2f2;border-color:#f8717133}:root[data-theme=light] .cabinet-delete-panel-check{background:#fef2f2f5;border-color:#f871712e}:root[data-theme=light] .qr-download-preview-card{background:#f8fafcfa}:root[data-theme=light] .mobile-search-trigger,:root[data-theme=light] .mobile-avatar-button,:root[data-theme=light] .mobile-topbar-icon-button,:root[data-theme=light] .mobile-search-close,:root[data-theme=light] .mobile-scan-close,:root[data-theme=light] .mobile-user-link,:root[data-theme=light] .mobile-shortcut-link,:root[data-theme=light] .mobile-search-scan-button,:root[data-theme=light] .mobile-filter-menu-trigger{color:var(--text);background:var(--soft-bg);border-color:var(--soft-border)}:root[data-theme=light] .mobile-search-trigger-text{color:#475569}:root[data-theme=light] .mobile-menu-overlay,:root[data-theme=light] .mobile-search-overlay,:root[data-theme=light] .mobile-scan-overlay{background:#0f172a38}:root[data-theme=light] .mobile-search-overlay.in-content{background:0 0}:root[data-theme=light] .mobile-scan-sheet,:root[data-theme=light] .mobile-filter-menu-popover{background:var(--card-bg);border-color:var(--soft-border)}:root[data-theme=light] .mobile-shortcut-icon{color:#1d4ed8;background:#2563eb1f;border:1px solid #2563eb2e}:root[data-theme=light] .mobile-scan-preview{background:#dbeafe;border-color:#2563eb24}:root[data-theme=light] .admin-tab.active,:root[data-theme=light] .nav-link.active,:root[data-theme=light] .mobile-dock-link.active{color:#0f172a;background:#2563eb1a;border-color:#2563eb33}:root[data-theme=light] .status-badge{color:#1e40af;background:#2563eb1a}:root[data-theme=light] .status-badge.alt{color:#475569;background:#64748b1a}:root[data-theme=light] .status-badge.tone-buffer,:root[data-theme=light] .device-status-filter.tone-buffer{color:#1d4ed8;background:#2563eb0f;border-color:#2563eb1f}:root[data-theme=light] .status-badge.tone-stored,:root[data-theme=light] .device-status-filter.tone-stored{color:#475569;background:#64748b12;border-color:#64748b1f}:root[data-theme=light] .status-badge.tone-in-use,:root[data-theme=light] .device-status-filter.tone-in-use{color:#15803d;background:#22c55e12;border-color:#22c55e1f}:root[data-theme=light] .status-badge.tone-repair,:root[data-theme=light] .device-status-filter.tone-repair{color:#b45309;background:#f59e0b14;border-color:#f59e0b24}:root[data-theme=light] .status-badge.tone-scrap-pending,:root[data-theme=light] .device-status-filter.tone-scrap-pending{color:#c2410c;background:#f9731614;border-color:#f9731624}:root[data-theme=light] .status-badge.tone-scrapped,:root[data-theme=light] .device-status-filter.tone-scrapped{color:#b91c1c;background:#ef444412;border-color:#ef44441f}:root[data-theme=light] .device-status-filter.active.tone-buffer{color:#1e40af;background:#2563eb29;border-color:#2563eb3d}:root[data-theme=light] .device-status-filter.active.tone-stored{color:#334155;background:#64748b29;border-color:#64748b38}:root[data-theme=light] .device-status-filter.active.tone-in-use{color:#166534;background:#22c55e29;border-color:#22c55e38}:root[data-theme=light] .device-status-filter.active.tone-repair{color:#92400e;background:#f59e0b2e;border-color:#f59e0b3d}:root[data-theme=light] .device-status-filter.active.tone-scrap-pending{color:#9a3412;background:#f973162e;border-color:#f973163d}:root[data-theme=light] .device-status-filter.active.tone-scrapped{color:#991b1b;background:#ef444429;border-color:#ef444438}:root[data-theme=light] .device-ownership-chip.operable{color:#166534;background:#22c55e1f;border-color:#22c55e2e}:root[data-theme=light] .device-ownership-chip.readonly{color:#475569;background:#64748b1a;border-color:#64748b29}:root[data-theme=light] .timeline-duration-chip{color:#1e40af;background:#2563eb1f;border-color:#2563eb2e}:root[data-theme=light] .timeline-day-divider-label{color:#1e40af;background:#2563eb1a;border-color:#2563eb29}:root[data-theme=light] .pagination-link.active{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb33}:root[data-theme=light] .admin-hero-meta span{color:#1e3a8a;background:#2563eb1f;border-color:#2563eb38}:root[data-theme=light] .alert.success{background:#16a34a1a}:root[data-theme=light] .alert.error{background:#dc26261a}:root[data-theme=light] .form-input-invalid{box-shadow:0 0 0 3px #dc26261a;border-color:#dc2626b8!important}:root[data-theme=light] .field-error-text{color:#b91c1c}:root[data-theme=light] .repair-preset-delete{color:#991b1b;background:#ef44442e;border-color:#dc262642}:root[data-theme=light] .repair-inline-tip.success{color:#166534;background:#16a34a1f;border-color:#16a34a2e}:root[data-theme=light] .repair-inline-tip.error{color:#991b1b;background:#ef44441f;border-color:#dc26262e}:root[data-theme=light] .repair-template-save-icon{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb38}@media (max-width:1100px){.app-shell{grid-template-columns:1fr;padding:0 .75rem .85rem}.shell-main{grid-template-rows:auto minmax(0,1fr);gap:0}.sidebar{display:none}.mobile-topbar{z-index:40;padding:calc(env(safe-area-inset-top,0px) + .55rem) .75rem .65rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#08111ffa,#0b1220e6);border-bottom:1px solid #60a5fa14;justify-content:space-between;align-items:center;gap:.75rem;margin:0 -.75rem;display:flex;position:sticky;top:0}.desktop-page-header{display:none}.mobile-dock{left:50%;bottom:max(1rem, calc(env(safe-area-inset-bottom) + .35rem));z-index:60;-webkit-backdrop-filter:blur(22px)saturate(160%);backdrop-filter:blur(22px)saturate(160%);background:#0a122261;border:1px solid #60a5fa14;border-radius:22px;grid-template-columns:repeat(5,minmax(0,1fr));gap:.38rem;width:min(520px,100vw - 1.4rem);padding:.46rem;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 18px 38px #00000029}.mobile-dock-link,.mobile-dock-search,.mobile-dock-scan{min-height:52px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:16px;align-content:center;justify-items:center;gap:.14rem;padding:.38rem .28rem;display:grid}.mobile-dock-link.active{color:#fff;background:#3b82f61f;border-color:#60a5fa2e}.mobile-dock-scan{color:#fff;background:linear-gradient(#3b82f6f2,#2563ebf2);border-color:#60a5fa2e;align-self:start;min-height:58px;transform:translateY(-10px);box-shadow:0 14px 26px #2563eb52}.mobile-dock-text{font-size:.66rem;font-weight:600;line-height:1}.content{grid-template-rows:auto auto minmax(0,1fr);padding-top:0;padding-bottom:0}.admin-subpage{padding-bottom:calc(5.8rem + env(safe-area-inset-bottom))}.app-shell.mobile-dock-collapsed .admin-subpage{padding-bottom:.8rem}.app-shell.mobile-dock-collapsed .update-toast{bottom:.9rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.three-col,.split-panel{grid-template-columns:1fr}.admin-hero{display:none}.admin-tabbar{scroll-snap-type:x mandatory;overflow-x:auto}.admin-tab{scroll-snap-align:start;flex-basis:154px}.admin-workspace{grid-template-columns:1fr}.update-toast{bottom:6.4rem}}@media (max-width:840px){.login-shell-toolbar{top:.8rem;right:.8rem}.cabinet-delete-panel{width:min(340px,100vw - 2.5rem);bottom:calc(100% + .55rem);right:0}.cabinet-position-label,.cabinet-card-button{flex-direction:column;align-items:start}.cabinet-browser-layout.mobile-detail-open{grid-template-columns:1fr}.cabinet-browser-layout.mobile-detail-open .cabinet-browser-detail-shell{max-height:none}.cabinet-mobile-zoom-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;display:flex}.cabinet-mobile-zoom-copy{font-size:.75rem}.cabinet-mobile-zoom-actions{background:color-mix(in srgb, var(--soft-bg) 90%, transparent);border:1px solid var(--soft-border);border-radius:999px;align-items:center;gap:.32rem;margin-left:auto;padding:.2rem .3rem;display:inline-flex}.cabinet-mobile-zoom-value{text-align:center;min-width:48px;color:var(--text);font-size:.78rem;font-weight:700}.cabinet-mobile-back-button{border:1px solid var(--soft-border);background:var(--soft-bg);width:fit-content;min-height:36px;color:var(--text);border-radius:999px;align-items:center;gap:.32rem;padding:.2rem .65rem;font-weight:700;display:inline-flex}.cabinet-detail-head-tools{justify-content:flex-start}.cabinet-grid-panel{overflow:hidden}.cabinet-grid-panel.has-floating-actions{padding-bottom:4.8rem;padding-right:0}.cabinet-grid-zoom-viewport{-webkit-overflow-scrolling:touch;touch-action:manipulation;max-width:100%;height:min(68dvh,560px);min-height:280px;padding-bottom:.25rem;overflow:auto}.cabinet-grid-zoom-stage{margin:0 auto}.room-overview-head{align-items:start}.device-overview-layout,.public-device-hero{flex-direction:column;grid-template-columns:1fr}.device-overview-download-slot{justify-content:flex-end;margin-top:.8rem;display:flex;position:static}.public-page-shell{height:100dvh;padding:1rem}.public-device-hero-actions{justify-items:start;width:100%}.public-device-meta-grid,.theme-mode-radio-grid{grid-template-columns:1fr}.qr-download-preview{width:min(220px,100vw - 3rem);right:0}.room-mini-card{flex-basis:100%;width:100%;min-width:0;max-width:none}.detail-back-fab{bottom:5.9rem;right:0}.detail-back-fab-inline{display:none}.detail-back-fab-topbar{width:42px;min-width:42px;height:42px;min-height:42px;box-shadow:none;z-index:auto;border-radius:999px;display:inline-flex;position:static}.two-col,.device-meta-grid,.repair-form,.stats-grid,.login-code-row{grid-template-columns:1fr}.page-header,.list-row,.entity-card-head{flex-direction:column;align-items:start}.align-right,.install-tip{text-align:left;justify-items:start}.card{border-radius:18px;padding:.95rem}.content{gap:.75rem}.admin-subpage{padding-right:0}.login-shell{padding:1.2rem}.section-card{padding:1rem}.section-head{margin-bottom:.45rem}.device-list-head{align-items:flex-start}.device-status-filter-wrap{width:100%;min-width:0}.desktop-device-filter-wrap{display:none}.mobile-filter-menu{display:block}.device-operation-selector-list{grid-template-columns:1fr;display:grid}.device-operation-selector-card{width:100%;min-height:132px;padding:.95rem 1rem}.device-operation-detail-card:not(.device-operation-detail-sheet){display:none}.timeline-entry{grid-template-columns:1fr;gap:.45rem}.timeline-day-divider{grid-template-columns:1fr;justify-items:start}.timeline-day-divider-line{width:100%}.timeline-time-col{text-align:left;justify-items:start}.timeline-axis{display:none}.device-list-pagination{flex-direction:row;align-items:center;gap:.55rem;margin-top:.7rem;padding-top:.6rem}.device-list-pagination .muted.small{white-space:nowrap}.pagination-links{flex:auto;justify-content:flex-end;gap:.35rem}.pagination-link,.pagination-ellipsis{border-radius:10px;min-width:34px;min-height:32px;padding:.32rem .58rem;font-size:.82rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card strong{font-size:1.55rem}.feature-link{padding:.85rem .9rem}.button-row>*{flex:auto}.inline-form{display:grid}.device-grid{grid-template-columns:1fr}.flash-toast-stack{left:.75rem;right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom));width:auto}.profile-settings-grid,.mobile-user-summary{grid-template-columns:1fr}.settings-avatar-panel{text-align:left;justify-items:start}.device-card-interactive{--device-floating-inset-x:.58rem;--device-floating-inset-y:.54rem;padding:.58rem .68rem .62rem}.device-card-interactive[data-device-card-trigger]{cursor:pointer}.device-card-main{gap:.24rem;padding-bottom:0;padding-right:3.3rem}.device-card-dense-head{flex-wrap:wrap;gap:.42rem}.device-title-block{gap:.08rem}.device-title-line h4{font-size:.94rem}.device-subtitle-line{font-size:.76rem}.device-card-chip-group{justify-content:flex-end;width:auto;padding-left:0;position:absolute;top:.58rem;right:.68rem}.device-ownership-chip{display:none}.device-detail-chip{min-height:22px;padding-inline:.46rem;font-size:.72rem}.device-compact-meta{gap:.22rem}.device-compact-meta span{max-width:100%;padding:.15rem .42rem;font-size:.72rem}.device-compact-meta strong{font-size:.68rem}.repair-preset-form-grid{grid-template-columns:1fr}.repair-preset-head{padding-right:7rem}.repair-inline-tip{max-width:6.5rem;font-size:.7rem}.repair-template-save-icon{top:-.15rem}.device-card-actions-panel{width:0;height:0;position:static;overflow:visible}.device-action-rail{opacity:1;width:0;height:0;position:static;overflow:visible;transform:none}.device-action-popover>.device-action-icon,.device-action-rail>.device-no-actions{display:none}.device-action-dialog{inset:auto 0 max(.45rem, env(safe-area-inset-bottom)) 0;background:0 0;width:min(100vw - .8rem,100%);max-width:none;max-height:min(78vh,100dvh - 1rem);margin:0 auto;padding:0 .4rem}.device-action-dialog.wide{width:min(100vw - .8rem,100%)}.device-action-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0206176b}.device-action-dialog-card{padding:.8rem .85rem calc(.85rem + env(safe-area-inset-bottom));border-radius:24px 24px 20px 20px;gap:.8rem;max-height:min(78vh,100dvh - 1rem);overflow:auto;box-shadow:0 -18px 44px #0f172a57}.device-action-sheet-handle{background:#94a3b880;border-radius:999px;width:44px;height:5px;margin:0 auto .15rem;display:block}.device-action-dialog-head{align-items:center}.device-dialog-back{justify-content:center;align-items:center;display:inline-flex}.device-dialog-close{min-width:68px}.device-sheet-menu-list .device-operation-selector-list{grid-template-columns:1fr;display:grid}.device-sheet-menu-button{grid-template-columns:auto 1fr;align-items:center;column-gap:.75rem;width:100%;min-height:0;padding:.85rem}.device-sheet-menu-button strong,.device-sheet-menu-button .muted.small{grid-column:2}.device-sheet-menu-button .muted.small{white-space:normal}.device-action-sheet-footer{padding-top:.1rem;display:block}.device-action-sheet-footer button{width:100%}.device-action-form button{justify-self:stretch}.system-icon-setting{grid-template-columns:1fr}.admin-tabbar{margin:0 -.15rem;padding:.55rem}.admin-list-grid,.catalog-list-grid{grid-template-columns:1fr}.department-workshop-head{flex-direction:column;align-items:stretch}.department-card-action-rail{flex-direction:row;justify-content:flex-end;align-items:center;width:100%}.department-delete-bubble{width:min(320px,100vw - 2.2rem);left:auto;right:0}.department-team-grid{grid-template-columns:1fr}.department-team-card{width:100%}.user-manage-head{flex-direction:column;align-items:stretch}.department-workshop-card{padding-top:3rem;padding-left:1rem}.department-team-card{padding-top:2.8rem;padding-left:.9rem}.department-drag-handle{top:.75rem;left:.9rem}.department-inline-input,.department-workshop-name-input{width:100%}.form-actions{justify-content:stretch}.form-actions button{width:100%}.admin-details-card summary{align-items:flex-start}.mobile-search-form{grid-template-columns:1fr}.search-summary-card{align-items:start}.mobile-user-popover{top:calc(env(safe-area-inset-top,0px) + .7rem);width:calc(100vw - 1.2rem);right:.6rem}.update-toast{width:auto;bottom:6.2rem;left:.75rem;right:.75rem}}
