:root{--color-primary:#65ad41;--color-primary-strong:#4f9631;--color-text:#203125;--color-muted:#5b6a60;--color-border:#d8e4d4;--color-surface:#fff;--color-surface-muted:#f8fcf6;--color-code-bg:#edf3ea;--color-status-on-bg:#e7f7e3;--color-status-on-fg:#2f7c22;--color-status-on-border:#c5e8bc;--color-status-on-hover-bg:#d8f0d0;--color-status-off-bg:#faecec;--color-status-off-fg:#a13333;--color-room-locked-border:#e0a0a0;--color-room-locked-accent:#cc4f4f;--color-room-locked-bg:#fff8f8;--color-room-locked-hover-shadow:0 12px 26px #b428281f;--color-danger:#cc4f4f;--color-danger-strong:#b13f3f;--color-error-text:#9f2a2a;--color-error-bg:#fff4f4;--color-error-border:#f3c8c8;--color-error-banner-text:#a03333;--color-error-banner-bg:#fff5f5;--color-error-banner-border:#f0c8c8;--color-danger-outline-border:#f2d3d3;--color-danger-outline-text:#9e3c3c;--color-page-bg-1:#f3f9f1;--color-page-bg-2:#ecf8e8;--color-page-bg-3:#e4f4de;--color-topbar-bg:#ffffffe0;--color-modal-border:#dbead6;--color-modal-backdrop:#141a1266;--color-room-disabled-border:#e3d4d4;--color-room-disabled-bg:#fffdfd;--shadow-login:0 18px 40px #26591f17;--shadow-room-hover:0 12px 26px #2c64241a;--focus-ring:0 0 0 3px #65ad4126;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:18px;--radius-pill:999px;--layout-topbar-max:1200px;--layout-dashboard-max:1280px;--layout-login-card-max:460px;--layout-modal-max:840px;--font-sans:"Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.topbar[data-v-733b3ab8]{border-bottom:1px solid var(--color-border);background:var(--color-topbar-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.topbar-inner[data-v-733b3ab8]{max-width:var(--layout-topbar-max);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1rem 1.5rem;display:flex}.brand[data-v-733b3ab8]{align-items:center;gap:.75rem;display:flex}.brand-logo[data-v-733b3ab8]{width:66px;height:auto}.brand-title[data-v-733b3ab8]{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.brand-subtitle[data-v-733b3ab8]{color:var(--color-muted);margin:0;font-size:.8rem}.session[data-v-733b3ab8]{align-items:center;gap:.75rem;display:flex}.session-pill[data-v-733b3ab8]{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);align-items:center;padding:.4rem .8rem;font-size:.85rem;display:inline-flex}.session-pill-button[data-v-733b3ab8]{font:inherit;cursor:pointer;margin:0;font-weight:600}.session-pill-button[data-v-733b3ab8]:hover{border-color:var(--color-primary);color:var(--color-text)}.footer[data-v-c3e0739b]{border-top:1px solid var(--color-border);background:var(--color-topbar-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;padding:.75rem 1.5rem}.footer-text[data-v-c3e0739b]{color:var(--color-muted);margin:0;font-size:.78rem}.ui-btn[data-v-026e7d1d]{font:inherit;cursor:pointer;border-radius:var(--radius-md);margin:0;font-weight:700}.ui-btn[data-v-026e7d1d]:disabled{cursor:not-allowed;opacity:.65}.ui-btn--block[data-v-026e7d1d]{width:100%}.ui-btn--slim[data-v-026e7d1d]{border-radius:var(--radius-sm);padding:.38rem .55rem;font-size:.78rem;line-height:1.2}.ui-btn[data-v-026e7d1d]:not(.ui-btn--slim):not(.ui-btn--comfortable){font-size:inherit;padding:.62rem .9rem}.ui-btn--comfortable[data-v-026e7d1d]:not(.ui-btn--slim){padding:.75rem .9rem;font-size:.95rem;font-weight:600}.ui-btn--primary[data-v-026e7d1d]{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-strong));color:var(--color-surface);border:0}.ui-btn--primary[data-v-026e7d1d]:hover:not(:disabled){filter:brightness(1.03)}.ui-btn--light[data-v-026e7d1d]{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.ui-btn--ghost[data-v-026e7d1d]{border:1px solid var(--color-border);background:var(--color-surface);padding:.5rem .75rem;font-weight:600}.ui-btn--danger[data-v-026e7d1d]{border:1px solid var(--color-danger-outline-border);background:var(--color-surface);color:var(--color-danger)}.ui-btn--danger[data-v-026e7d1d]:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-danger)}.ui-btn--roomLock[data-v-026e7d1d]{border:1px solid var(--color-danger-outline-border);background:var(--color-error-bg);color:var(--color-danger);flex:1}.ui-btn--roomLock[data-v-026e7d1d]:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface)}.ui-btn--roomUnlock[data-v-026e7d1d]{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-strong));color:var(--color-surface);border:1px solid #0000;flex:1}.ui-btn--roomUnlock[data-v-026e7d1d]:hover:not(:disabled){background:linear-gradient(135deg, var(--color-primary-strong), var(--color-primary-strong))}.ui-btn--roomOutline[data-v-026e7d1d]{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);flex:1}.ui-btn--roomOutline[data-v-026e7d1d]:hover:not(:disabled){border-color:var(--color-primary)}.ui-btn--icon[data-v-026e7d1d]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:.3rem .55rem;font-size:.76rem;font-weight:600}.ui-btn--iconDanger[data-v-026e7d1d]{border:1px solid var(--color-danger-outline-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-danger-outline-text);padding:.3rem .55rem;font-size:.76rem;font-weight:600}.login-layout[data-v-ea8f0506]{justify-content:center;width:100%;display:flex}.login-card[data-v-ea8f0506]{width:min(var(--layout-login-card-max), 100%);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background:var(--color-surface);box-shadow:var(--shadow-login);padding:2rem}.login-brand[data-v-ea8f0506]{justify-content:center;margin-bottom:1rem;display:flex}.logo[data-v-ea8f0506]{width:150px;height:auto}.login-headline[data-v-ea8f0506]{text-align:center;margin-bottom:1.6rem}.login-headline h1[data-v-ea8f0506]{color:var(--color-text);margin:0;font-size:1.4rem}.login-headline p[data-v-ea8f0506]{color:var(--color-muted);margin-top:.4rem;font-size:.92rem}.login-form[data-v-ea8f0506]{flex-direction:column;gap:.55rem;display:flex}label[data-v-ea8f0506]{color:var(--color-text);margin-top:.4rem;font-size:.87rem;font-weight:600}input[data-v-ea8f0506]{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.7rem .8rem;font-size:.95rem}input[data-v-ea8f0506]:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.error-alert[data-v-ea8f0506]{border:1px solid var(--color-error-border);border-radius:var(--radius-md);background:var(--color-error-bg);color:var(--color-error-text);margin:.7rem 0 .2rem;padding:.6rem .75rem;font-size:.86rem}.submit-row[data-v-ea8f0506]{margin-top:.6rem}.page-title[data-v-1e1f551e]{margin-bottom:1.2rem}.eyebrow[data-v-1e1f551e]{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:600}.heading[data-v-1e1f551e]{color:var(--color-text);margin:.25rem 0 0;font-size:1.5rem;font-weight:700}.room-card[data-v-bb2c2a18]{cursor:pointer;border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);flex-direction:column;min-height:200px;padding:1.1rem 1.25rem 1rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.room-card[data-v-bb2c2a18]:hover{border-color:var(--color-primary);border-left-color:var(--color-primary);box-shadow:var(--shadow-room-hover)}.room-card-disabled[data-v-bb2c2a18]{border-color:var(--color-room-locked-border);border-left-color:var(--color-room-locked-accent);background:var(--color-room-locked-bg)}.room-card-disabled[data-v-bb2c2a18]:hover{border-color:var(--color-room-locked-accent);border-left-color:var(--color-room-locked-accent);box-shadow:var(--color-room-locked-hover-shadow)}.room-head[data-v-bb2c2a18]{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.room-head h3[data-v-bb2c2a18]{color:var(--color-text);margin:0;font-size:1.08rem;font-weight:700}.vlan-badge[data-v-bb2c2a18]{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-muted);flex-shrink:0;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.subnet[data-v-bb2c2a18]{color:var(--color-muted);font-family:var(--font-mono);opacity:.75;margin:.5rem 0 .4rem;font-size:.75rem}.status-pill[data-v-bb2c2a18]{border-radius:var(--radius-pill);align-self:flex-start;align-items:center;gap:.35rem;padding:.28rem .65rem .28rem .5rem;font-size:.76rem;font-weight:700;display:inline-flex}.status-dot[data-v-bb2c2a18]{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.status-on[data-v-bb2c2a18]{background:var(--color-status-on-bg);color:var(--color-status-on-fg)}.status-on .status-dot[data-v-bb2c2a18]{background:var(--color-status-on-fg)}.status-off[data-v-bb2c2a18]{background:var(--color-status-off-bg);color:var(--color-status-off-fg)}.status-off .status-dot[data-v-bb2c2a18]{background:var(--color-status-off-fg)}.meta-pill[data-v-bb2c2a18]{border-radius:var(--radius-pill);align-self:flex-start;margin-top:.45rem;padding:.28rem .6rem;font-size:.76rem;font-weight:700;display:inline-block}.meta-schedule[data-v-bb2c2a18]{background:color-mix(in srgb, var(--color-primary) 12%, white);color:var(--color-primary)}.meta-override[data-v-bb2c2a18]{background:color-mix(in srgb, var(--color-status-off-fg) 12%, white);color:var(--color-status-off-fg)}.whitelist-tags[data-v-bb2c2a18]{flex-wrap:wrap;gap:.3rem;margin-top:.45rem;display:flex}.whitelist-tag[data-v-bb2c2a18]{border:1px solid var(--color-status-on-border);border-radius:var(--radius-pill);background:var(--color-status-on-bg);color:var(--color-status-on-fg);text-overflow:ellipsis;white-space:nowrap;max-width:120px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block;overflow:hidden}.room-card-disabled .whitelist-tag[data-v-bb2c2a18],.whitelist-tag-more[data-v-bb2c2a18]{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-muted)}.room-actions[data-v-bb2c2a18]{flex-direction:column;gap:.45rem;margin-top:auto;padding-top:.85rem;display:flex}.room-actions-secondary[data-v-bb2c2a18]{gap:.45rem;display:flex}.room-actions-secondary .ui-btn[data-v-bb2c2a18]{flex:1}.modal-backdrop[data-v-e18b6e81]{z-index:30;background:var(--color-modal-backdrop);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card[data-v-e18b6e81]{width:min(var(--layout-modal-max), 100%);border-radius:var(--radius-xl);border:1px solid var(--color-modal-border);background:var(--color-surface);max-height:85vh;padding:1rem;overflow:auto}.modal-header[data-v-83f244c3]{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.modal-header h3[data-v-83f244c3]{margin:0;font-size:1.1rem}.modal-eyebrow[data-v-83f244c3]{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:600}.modal-summary[data-v-83f244c3]{color:var(--color-muted);margin:0 0 1rem}.error-alert[data-v-83f244c3]{border:1px solid var(--color-error-border);border-radius:var(--radius-md);background:var(--color-error-bg);color:var(--color-error-text);margin:0 0 .8rem;padding:.7rem .8rem}.toggle-row[data-v-83f244c3]{color:var(--color-muted);align-items:center;gap:.6rem;margin-bottom:.9rem;font-size:.92rem;display:flex}.time-grid[data-v-83f244c3]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.time-grid label[data-v-83f244c3]{color:var(--color-text);gap:.35rem;font-size:.9rem;display:grid}.time-grid-disabled[data-v-83f244c3]{opacity:.55}.field[data-v-83f244c3]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;padding:.62rem .7rem;font-size:.9rem}.override-toggle[data-v-83f244c3]{margin-top:1rem}.modal-actions[data-v-83f244c3]{justify-content:flex-end;margin-top:1rem;display:flex}@media (width<=640px){.time-grid[data-v-83f244c3]{grid-template-columns:1fr}}.modal-header[data-v-a696ed3d]{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.modal-header h3[data-v-a696ed3d]{margin:0;font-size:1.1rem}.modal-eyebrow[data-v-a696ed3d]{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:600}.modal-toolbar[data-v-a696ed3d]{margin-bottom:.8rem}.editor-box[data-v-a696ed3d]{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);margin-bottom:.8rem;padding:.8rem}.field[data-v-a696ed3d]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;margin-bottom:.5rem;padding:.62rem .7rem;font-size:.9rem}.field-area[data-v-a696ed3d]{resize:vertical;min-height:120px;font-family:var(--font-mono)}.toggle-row[data-v-a696ed3d]{color:var(--color-muted);align-items:center;gap:.6rem;margin-bottom:.75rem;font-size:.88rem;display:flex}.empty[data-v-a696ed3d]{border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-muted);padding:.8rem}.error-alert[data-v-a696ed3d]{border:1px solid var(--color-error-border);border-radius:var(--radius-md);background:var(--color-error-bg);color:var(--color-error-text);margin:0 0 .8rem;padding:.7rem .8rem}.whitelist-list[data-v-a696ed3d]{gap:.7rem;display:grid}.whitelist-card[data-v-a696ed3d]{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:.75rem}.whitelist-head[data-v-a696ed3d]{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.45rem;display:flex}.whitelist-title[data-v-a696ed3d]{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.whitelist-head h4[data-v-a696ed3d]{margin:0;font-size:.98rem}.state-pill[data-v-a696ed3d]{border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.state-pill-on[data-v-a696ed3d]{color:#2e6f24;background:#307a271f}.state-pill-off[data-v-a696ed3d]{color:#5a5e66;background:#6e717a1f}.inline-actions[data-v-a696ed3d]{gap:.45rem;display:flex}.url-list[data-v-a696ed3d]{color:var(--color-muted);margin:0;padding-left:1rem;font-size:.86rem}.url-list li[data-v-a696ed3d]{font-family:var(--font-mono);word-break:break-all;margin-bottom:.2rem}.editor-inline[data-v-a696ed3d]{margin-bottom:0}.al[data-v-c184b1da]{flex-direction:column;gap:1rem;display:flex}.al-header[data-v-c184b1da]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.75rem;display:flex}.al-header-right[data-v-c184b1da]{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.al-eyebrow[data-v-c184b1da]{letter-spacing:.07em;text-transform:uppercase;color:var(--color-primary-strong);margin-bottom:.15rem;font-size:.7rem;font-weight:700;display:block}.al-title[data-v-c184b1da]{color:var(--color-text);margin:0;font-size:1.2rem;font-weight:700}.al-count[data-v-c184b1da]{color:var(--color-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:.18rem .6rem;font-size:.78rem}.al-filters[data-v-c184b1da]{flex-wrap:wrap;gap:.35rem;display:flex}.al-chip[data-v-c184b1da]{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-muted);cursor:pointer;align-items:center;gap:.3rem;padding:.28rem .7rem;font-size:.78rem;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.al-chip[data-v-c184b1da]:hover,.al-chip.active[data-v-c184b1da]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.al-chip-n[data-v-c184b1da]{text-align:center;border-radius:var(--radius-pill);background:#0000001a;min-width:1.1rem;padding:0 .25rem;font-size:.67rem;font-weight:700}.al-state[data-v-c184b1da]{color:var(--color-muted);justify-content:center;align-items:center;gap:.6rem;padding:2.5rem 0;font-size:.88rem;display:flex}.al-state--err[data-v-c184b1da]{color:var(--color-error-text)}.al-spinner[data-v-c184b1da]{border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;flex-shrink:0;width:22px;height:22px;animation:.7s linear infinite spin-c184b1da}@keyframes spin-c184b1da{to{transform:rotate(360deg)}}.al-table-wrap[data-v-c184b1da]{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.al-table[data-v-c184b1da]{border-collapse:collapse;width:100%;font-size:.85rem}.al-table th[data-v-c184b1da]{text-align:left;background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:.55rem 1rem;font-size:.7rem;font-weight:700}.al-table td[data-v-c184b1da]{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.65rem 1rem}.al-table tr:last-child td[data-v-c184b1da]{border-bottom:none}.al-table tr:hover td[data-v-c184b1da]{background:var(--color-surface-muted)}.row-fail td[data-v-c184b1da]{background:snow}.row-fail:hover td[data-v-c184b1da]{background:#fff3f3}.th-center[data-v-c184b1da]{text-align:center}.muted[data-v-c184b1da]{color:var(--color-muted);font-size:.75rem}.td-time[data-v-c184b1da]{white-space:nowrap;font-variant-numeric:tabular-nums;flex-direction:column;gap:.05rem;font-size:.82rem;display:flex}.td-target[data-v-c184b1da]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.82rem;overflow:hidden}.user-pill[data-v-c184b1da]{background:var(--color-code-bg);border-radius:var(--radius-pill);color:var(--color-primary-strong);padding:.15rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.action-chip[data-v-c184b1da]{border-radius:var(--radius-pill);white-space:nowrap;padding:.18rem .55rem;font-size:.76rem;font-weight:600;display:inline-block}.chip-login[data-v-c184b1da]{color:#3b55c9;background:#e8f0fe}.chip-internet[data-v-c184b1da]{color:var(--color-primary-strong);background:#e7f7e3}.chip-create[data-v-c184b1da]{color:#2a7c1e;background:#e7f7e3}.chip-update[data-v-c184b1da]{color:#a06a00;background:#fff8e1}.chip-delete[data-v-c184b1da]{color:#c0392b;background:#fce8e8}.chip-toggle[data-v-c184b1da]{color:#6b3fa0;background:#f0eafc}.chip-default[data-v-c184b1da]{background:var(--color-code-bg);color:var(--color-muted)}.badge-ok[data-v-c184b1da],.badge-fail[data-v-c184b1da]{border-radius:var(--radius-pill);padding:.15rem .55rem;font-size:.73rem;font-weight:700;display:inline-block}.badge-ok[data-v-c184b1da]{color:var(--color-primary-strong);background:#e7f7e3}.badge-fail[data-v-c184b1da]{color:#c0392b;background:#fce8e8}.toast[data-v-27555c11]{z-index:100;border-radius:var(--radius-lg);pointer-events:none;padding:.75rem 1.1rem;font-size:.9rem;font-weight:600;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 8px 24px #0000001f}.toast--success[data-v-27555c11]{border:1px solid var(--color-status-on-border);background:var(--color-status-on-bg);color:var(--color-status-on-fg)}.toast--error[data-v-27555c11]{border:1px solid var(--color-error-banner-border);background:var(--color-error-banner-bg);color:var(--color-error-banner-text)}.confirm-backdrop[data-v-f93320c3]{z-index:40;background:var(--color-modal-backdrop);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-card[data-v-f93320c3]{border-radius:var(--radius-xl);border:1px solid var(--color-modal-border);background:var(--color-surface);width:min(420px,100%);padding:1.4rem 1.4rem 1.1rem}.confirm-title[data-v-f93320c3]{color:var(--color-text);margin:0 0 .5rem;font-size:1.05rem}.confirm-message[data-v-f93320c3]{color:var(--color-muted);margin:0 0 1.2rem;font-size:.9rem;line-height:1.5}.confirm-actions[data-v-f93320c3]{justify-content:flex-end;gap:.5rem;display:flex}.confirm-btn[data-v-f93320c3]{cursor:pointer;border-radius:var(--radius-md);font:inherit;font-size:inherit;border:0;margin:0;padding:.62rem .9rem;font-weight:700}.confirm-btn--primary[data-v-f93320c3]{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-strong));color:var(--color-surface)}.confirm-btn--danger[data-v-f93320c3]{background:linear-gradient(135deg, var(--color-danger), var(--color-danger-strong));color:#fff}.confirm-btn[data-v-f93320c3]:hover{filter:brightness(1.05)}.dashboard[data-v-3241fff9]{width:min(var(--layout-dashboard-max), 100%);margin:0 auto;padding:1.5rem}.dashboard-header[data-v-3241fff9]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem;display:flex}.dashboard-header-actions[data-v-3241fff9]{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.error-banner[data-v-3241fff9]{border:1px solid var(--color-error-banner-border);border-radius:var(--radius-md);background:var(--color-error-banner-bg);color:var(--color-error-banner-text);margin-bottom:1rem;padding:.8rem;font-size:.9rem}.room-grid[data-v-3241fff9]{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=700px){.room-grid[data-v-3241fff9]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=699px){.dashboard-header[data-v-3241fff9]{flex-direction:column}.dashboard-header-actions[data-v-3241fff9]{justify-content:flex-start;width:100%}.dashboard-header-actions[data-v-3241fff9] button{flex:1 1 0}}@media (width>=1380px){.room-grid[data-v-3241fff9]{grid-template-columns:repeat(3,minmax(0,1fr))}}.loading[data-v-3241fff9]{border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-muted);padding:1rem}.toast-enter-active[data-v-3241fff9],.toast-leave-active[data-v-3241fff9]{transition:opacity .22s,transform .22s}.toast-enter-from[data-v-3241fff9],.toast-leave-to[data-v-3241fff9]{opacity:0;transform:translateY(.5rem)}.app-shell[data-v-96071884]{background:linear-gradient(160deg, var(--color-page-bg-1) 0%, var(--color-page-bg-2) 48%, var(--color-page-bg-3) 100%);min-height:100vh}.app-main[data-v-96071884]{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.app-main-auth[data-v-96071884]{align-items:stretch;min-height:calc(100vh - 78px)}
