.live-monitor-page[data-v-23f6dd82]{display:flex;flex-direction:column;gap:18px;min-width:0}.page-head[data-v-23f6dd82],.monitor-filter[data-v-23f6dd82],.empty-state[data-v-23f6dd82]{border:1px solid #dfe8f2;border-radius:8px;background:#fff;box-shadow:0 10px 28px #192d4b0f}.page-head[data-v-23f6dd82]{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px}.eyebrow[data-v-23f6dd82]{margin:0 0 6px;color:#176bd7;font-size:12px;font-weight:800;letter-spacing:0}.page-head h1[data-v-23f6dd82],.section-head h2[data-v-23f6dd82]{margin:0;color:#162033}.page-head p[data-v-23f6dd82]:not(.eyebrow){margin:8px 0 0;color:#6b7890}.head-stats[data-v-23f6dd82]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.head-stats span[data-v-23f6dd82]{display:inline-flex;align-items:center;gap:7px;min-height:38px;max-width:min(300px,46vw);box-sizing:border-box;padding:0 12px;overflow:hidden;border:1px solid #d8e7f8;border-radius:8px;color:#35608e;background:#f3f8ff;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.head-stats strong[data-v-23f6dd82]{color:#176bd7;font-size:18px}.monitor-filter[data-v-23f6dd82]{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(132px,1fr)) auto auto;gap:10px;padding:14px}input[data-v-23f6dd82],select[data-v-23f6dd82]{width:100%;height:42px;box-sizing:border-box;border:1px solid #d5e0ec;border-radius:8px;padding:0 12px;color:#1c2b3e;background:#fff;font:inherit}.button[data-v-23f6dd82],.icon-button[data-v-23f6dd82],.stage-icon[data-v-23f6dd82],.nav-button[data-v-23f6dd82],.source-card[data-v-23f6dd82]{border:0;cursor:pointer;font:inherit}.button[data-v-23f6dd82]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;border-radius:8px;padding:0 15px;font-weight:800}.button.solid[data-v-23f6dd82]{color:#fff;background:#176bd7}.button.ghost[data-v-23f6dd82],.icon-button[data-v-23f6dd82]{color:#176bd7;background:#edf6ff}.icon-button[data-v-23f6dd82]{display:inline-grid;width:42px;height:42px;place-items:center;border-radius:8px}.button[data-v-23f6dd82]:disabled,.icon-button[data-v-23f6dd82]:disabled,.nav-button[data-v-23f6dd82]:disabled{cursor:not-allowed;opacity:.46}.button[data-v-23f6dd82]:not(:disabled):hover,.icon-button[data-v-23f6dd82]:not(:disabled):hover,.source-card[data-v-23f6dd82]:hover{filter:brightness(.97)}.button[data-v-23f6dd82]:focus-visible,.icon-button[data-v-23f6dd82]:focus-visible,.stage-icon[data-v-23f6dd82]:focus-visible,.nav-button[data-v-23f6dd82]:focus-visible,.source-card[data-v-23f6dd82]:focus-visible{outline:3px solid rgba(23,107,215,.22);outline-offset:2px}.monitor-workspace[data-v-23f6dd82]{display:grid;gap:18px;min-width:0}.player-section[data-v-23f6dd82],.playlist-section[data-v-23f6dd82]{min-width:0}.monitor-stage[data-v-23f6dd82]{position:relative;min-height:clamp(200px,44vw,520px);overflow:hidden;border:1px solid #1d3350;border-radius:8px;background:#06101f;aspect-ratio:16 / 9}.live-video[data-v-23f6dd82]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#000;object-fit:contain}.stream-heading[data-v-23f6dd82]{display:flex;align-items:center;min-height:48px;margin-bottom:8px}.stream-meta[data-v-23f6dd82]{display:flex;align-items:center;gap:10px;min-width:0;color:#162033}.stream-meta div[data-v-23f6dd82]{display:grid;min-width:0;gap:2px}.stream-meta strong[data-v-23f6dd82],.stream-meta span[data-v-23f6dd82]:last-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-meta span[data-v-23f6dd82]:last-child{color:#6b7890;font-size:12px}.live-indicator[data-v-23f6dd82]{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#16a16d;box-shadow:0 0 0 4px #16a16d2b}.live-indicator.error[data-v-23f6dd82]{background:#ec5a5a;box-shadow:0 0 0 4px #ec5a5a29}.stage-message[data-v-23f6dd82],.stage-loading[data-v-23f6dd82]{position:absolute;top:50%;left:50%;display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:calc(100% - 40px);margin:0;padding:8px 10px;border-radius:8px;color:#d9e6f8;background:#050f1ed6;font-size:13px;font-weight:700;text-align:center;transform:translate(-50%,-50%)}.action-notice[data-v-23f6dd82]{position:absolute;left:16px;margin:0;padding:8px 10px;border-radius:8px;color:#d9e6f8;background:#050f1ed6;font-size:13px;font-weight:700}.stage-message.error[data-v-23f6dd82],.action-notice.error[data-v-23f6dd82]{color:#ffd2d2;border:1px solid rgba(239,93,93,.44)}.action-notice[data-v-23f6dd82]{bottom:16px;max-width:calc(100% - 176px)}.action-notice.success[data-v-23f6dd82]{color:#c8f5df;border:1px solid rgba(49,185,117,.42)}.stage-actions[data-v-23f6dd82]{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:8px;z-index:3}.stage-icon[data-v-23f6dd82]{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;background:#050f1ed6}.stage-icon[data-v-23f6dd82]:hover{background:#176bd7}.quality-control[data-v-23f6dd82],.quality-trigger[data-v-23f6dd82]{position:relative}.quality-trigger>span[data-v-23f6dd82]{position:absolute;right:2px;bottom:2px;min-width:15px;padding:1px 2px;border-radius:3px;color:#fff;background:#176bd7;font-size:7px;font-weight:900;line-height:1.15;text-align:center}.quality-menu[data-v-23f6dd82]{position:absolute;right:0;bottom:46px;display:grid;width:150px;gap:3px;padding:6px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#050f1ef5;box-shadow:0 10px 28px #00000047}.quality-option[data-v-23f6dd82]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 9px;border:0;border-radius:6px;color:#d9e6f8;background:transparent;cursor:pointer;font:inherit;text-align:left}.quality-option[data-v-23f6dd82]:hover,.quality-option.active[data-v-23f6dd82]{color:#fff;background:#176bd7}.quality-option.unavailable[data-v-23f6dd82]:not(:hover){color:#9aabc1}.quality-option span[data-v-23f6dd82]{display:flex;align-items:baseline;gap:7px}.quality-option strong[data-v-23f6dd82]{font-size:13px}.quality-option small[data-v-23f6dd82]{font-size:10px;font-weight:800;opacity:.78}.quality-option .quality-status[data-v-23f6dd82]{padding:2px 4px;border:1px solid rgba(255,255,255,.22);border-radius:4px;font-size:9px;white-space:nowrap}.player-nav[data-v-23f6dd82]{display:flex;align-items:center;justify-content:center;gap:16px;min-height:52px;color:#5c6a80;font-size:13px;font-weight:800}.nav-button[data-v-23f6dd82]{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid #dce6f1;border-radius:8px;color:#176bd7;background:#fff}.section-head[data-v-23f6dd82]{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.section-head span[data-v-23f6dd82]{color:#6b7890;font-size:13px;font-weight:800}.source-list[data-v-23f6dd82]{display:grid;grid-auto-columns:minmax(220px,280px);grid-auto-flow:column;grid-template-rows:1fr;gap:12px;overflow-x:auto;padding:2px 1px 10px;scrollbar-color:#b8c8db transparent}.source-card[data-v-23f6dd82]{display:grid;grid-template-columns:92px minmax(0,1fr);min-width:0;overflow:hidden;padding:0;border:1px solid #dfe8f2;border-radius:8px;color:#1d2c3f;text-align:left;background:#fff;box-shadow:0 6px 18px #192d4b0d}.source-card.selected[data-v-23f6dd82]{border-color:#176bd7;box-shadow:0 0 0 2px #176bd724}.source-thumb[data-v-23f6dd82]{position:relative;display:grid;width:92px;min-height:92px;place-items:center;overflow:hidden;color:#176bd7;background:#eaf3fb}.source-thumb img[data-v-23f6dd82]{width:100%;height:100%;object-fit:cover}.source-live[data-v-23f6dd82]{position:absolute;bottom:6px;left:6px;display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border-radius:5px;color:#fff;background:#050f1ec7;font-size:10px;font-style:normal;font-weight:800}.source-live i[data-v-23f6dd82]{width:5px;height:5px;border-radius:50%;background:#31c77a}.source-body[data-v-23f6dd82]{display:grid;min-width:0;align-content:center;gap:5px;padding:11px}.source-body strong[data-v-23f6dd82],.source-body>span[data-v-23f6dd82]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-body strong[data-v-23f6dd82]{color:#162033;font-size:14px}.source-body>span[data-v-23f6dd82]{color:#6b7890;font-size:12px}.source-body em[data-v-23f6dd82]{justify-self:start;padding:2px 6px;border-radius:4px;font-size:11px;font-style:normal;font-weight:800}.source-body em.ok[data-v-23f6dd82]{color:#147b4e;background:#e8f7ef}.source-body em.active[data-v-23f6dd82]{color:#176bd7;background:#e9f3ff}.source-body em.warn[data-v-23f6dd82]{color:#af6500;background:#fff4df}.source-body em.muted[data-v-23f6dd82]{color:#657185;background:#eef1f5}.empty-state[data-v-23f6dd82]{display:grid;min-height:260px;place-content:center;justify-items:center;gap:12px;padding:22px;color:#6b7890;text-align:center}.empty-state strong[data-v-23f6dd82]{color:#334158}.spinning[data-v-23f6dd82]{animation:spin-23f6dd82 .9s linear infinite}.monitor-stage[data-v-23f6dd82]:fullscreen{width:100vw;height:100vh;min-height:0;border:0;border-radius:0;aspect-ratio:auto}@keyframes spin-23f6dd82{to{transform:rotate(360deg)}}@media (max-width: 1080px){.monitor-filter[data-v-23f6dd82]{grid-template-columns:minmax(200px,1fr) repeat(2,minmax(150px,1fr)) auto auto}.monitor-filter select[data-v-23f6dd82]:last-of-type{grid-column:span 2}}@media (max-width: 720px){.page-head[data-v-23f6dd82]{align-items:flex-start;flex-direction:column}.head-stats[data-v-23f6dd82]{justify-content:flex-start;width:100%}.head-stats span[data-v-23f6dd82]{max-width:100%}.monitor-filter[data-v-23f6dd82]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.monitor-filter input[data-v-23f6dd82],.monitor-filter select[data-v-23f6dd82]:first-of-type{grid-column:1 / -1}.monitor-filter select[data-v-23f6dd82]:last-of-type{grid-column:auto}.stage-actions[data-v-23f6dd82]{right:10px;bottom:10px;gap:5px}.stage-icon[data-v-23f6dd82]{width:34px;height:34px}.stream-heading[data-v-23f6dd82]{min-height:42px}.action-notice[data-v-23f6dd82]{bottom:52px;left:10px;max-width:calc(100% - 20px)}.stage-message[data-v-23f6dd82],.stage-loading[data-v-23f6dd82]{max-width:calc(100% - 28px)}}.equipment-page[data-v-08c884ed]{display:flex;flex-direction:column;gap:18px;min-width:0}.page-head[data-v-08c884ed],.toolbar[data-v-08c884ed],.panel[data-v-08c884ed],.metric-panel[data-v-08c884ed]{background:#fff;border:1px solid #e7edf5;border-radius:14px;box-shadow:0 16px 40px #1a2d4e0f}.page-head[data-v-08c884ed]{display:flex;justify-content:space-between;gap:18px;padding:22px}.page-head h1[data-v-08c884ed],.panel-title h2[data-v-08c884ed]{margin:0;color:#162033}.page-head p[data-v-08c884ed]{margin:8px 0 0;color:#6b7890}.eyebrow[data-v-08c884ed]{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:0;color:#176bd7;text-transform:uppercase}.head-metrics[data-v-08c884ed],.control-grid[data-v-08c884ed],.device-line[data-v-08c884ed],.device-actions[data-v-08c884ed],.dialog-actions[data-v-08c884ed],.attachment-line[data-v-08c884ed]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.head-metrics span[data-v-08c884ed]{min-width:96px;padding:12px 14px;border-radius:12px;background:#f4f8fd;color:#5c6a80;font-size:13px}.head-metrics strong[data-v-08c884ed]{display:block;color:#142033;font-size:22px}.toolbar[data-v-08c884ed]{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,1fr)) auto;gap:10px;padding:14px}.toolbar.compact[data-v-08c884ed]{grid-template-columns:minmax(220px,1fr) minmax(160px,240px);box-shadow:none;border:0;padding:0 0 12px}input[data-v-08c884ed],select[data-v-08c884ed],textarea[data-v-08c884ed]{width:100%;height:42px;border:1px solid #dce5f0;border-radius:10px;padding:0 12px;box-sizing:border-box;color:#1c2b3e;background:#fff;font:inherit}textarea[data-v-08c884ed]{height:auto;padding:10px 12px;resize:vertical}input[data-v-08c884ed]:disabled{color:#7a8799;background:#f5f8fc}.archive-layout[data-v-08c884ed]{display:flex;flex-direction:column;gap:18px;min-width:0}.repair-layout[data-v-08c884ed]{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:18px;min-width:0}.panel[data-v-08c884ed]{min-width:0;padding:18px}.panel-title[data-v-08c884ed]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.repair-filter[data-v-08c884ed]{position:sticky;top:18px;align-self:start}.equipment-form-panel[data-v-08c884ed]{position:static;width:auto;height:auto;overflow:visible;border-radius:14px}.form-grid[data-v-08c884ed]{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}label[data-v-08c884ed]{display:grid;gap:7px;margin-bottom:12px;color:#42516a;font-size:13px;font-weight:800}.upload-row[data-v-08c884ed]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.button[data-v-08c884ed],.icon-button[data-v-08c884ed]{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;cursor:pointer;font-weight:800}.button[data-v-08c884ed]{min-height:42px;border-radius:10px;padding:0 15px}.button.full[data-v-08c884ed]{width:100%}.button.solid[data-v-08c884ed]{color:#fff;background:#176bd7}.button.ghost[data-v-08c884ed],.icon-button[data-v-08c884ed]{color:#176bd7;background:#eef6ff}.button.danger-soft[data-v-08c884ed]{color:#d93025;background:#fff0f0}.button[data-v-08c884ed]:hover,.icon-button[data-v-08c884ed]:hover{filter:brightness(.97)}.button[data-v-08c884ed]:focus-visible,.icon-button[data-v-08c884ed]:focus-visible,.h5-button[data-v-08c884ed]:focus-visible{outline:3px solid rgba(23,107,215,.18);outline-offset:2px}.icon-button[data-v-08c884ed]{width:38px;height:38px;border-radius:10px}.danger-icon[data-v-08c884ed]{color:#d93025;background:#fff0f0}.dialog-actions[data-v-08c884ed]{justify-content:flex-end;padding-top:6px}.hidden-file[data-v-08c884ed]{display:none}.control-grid[data-v-08c884ed]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-panel[data-v-08c884ed]{display:grid;gap:6px;padding:16px;color:#176bd7}.metric-panel strong[data-v-08c884ed]{color:#142033;font-size:26px}.metric-panel span[data-v-08c884ed]{color:#617086;font-weight:800}.device-list[data-v-08c884ed]{min-width:0}.device-list-archive[data-v-08c884ed],.device-list-control[data-v-08c884ed]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.device-list-control[data-v-08c884ed]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:stretch}.device-card[data-v-08c884ed]{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;border:1px solid #e4edf7;border-radius:18px;background:linear-gradient(180deg,#fff,#f9fcff);box-shadow:0 12px 30px #1a2d4e0f;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.device-card[data-v-08c884ed]:hover{border-color:#cbdcf0;box-shadow:0 18px 38px #1a2d4e17}.device-card-control[data-v-08c884ed]{min-height:342px;padding:14px}.device-card-archive[data-v-08c884ed]{min-height:264px}.device-card-head[data-v-08c884ed]{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;min-width:0}.device-media[data-v-08c884ed]{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;overflow:hidden;color:#176bd7;background:linear-gradient(135deg,#eef6ff,#e8f8f3)}.device-media img[data-v-08c884ed]{width:100%;height:100%;object-fit:cover}.device-title-block[data-v-08c884ed]{min-width:0}.device-control-visual[data-v-08c884ed]{position:relative;display:grid;place-items:center;min-height:126px;overflow:hidden;border-radius:16px;background:radial-gradient(circle at 18% 12%,rgba(23,107,215,.16),transparent 34%),linear-gradient(135deg,#f2f8ff,#eefaf6)}.device-control-visual .device-media[data-v-08c884ed]{width:96px;height:96px;border:1px solid rgba(23,107,215,.12);border-radius:22px;background:#ffffffc7;box-shadow:0 14px 34px #1f43741f}.device-control-visual .device-media.has-photo[data-v-08c884ed]{width:100%;height:126px;border:0;border-radius:16px;box-shadow:none}.device-control-visual .status-badge[data-v-08c884ed]{position:absolute;top:12px;right:12px;box-shadow:0 8px 18px #1a2d4e1f}.device-control-body[data-v-08c884ed]{display:grid;gap:10px;min-width:0}.device-card-name[data-v-08c884ed]{display:block;min-width:0;overflow:hidden;color:#162033;font-size:18px;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.repair-card[data-v-08c884ed]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid #edf1f6}.repair-main[data-v-08c884ed]{min-width:0}.repair-main strong[data-v-08c884ed]{color:#172033;font-size:16px}.repair-main p[data-v-08c884ed],.muted-line[data-v-08c884ed],.reply-line[data-v-08c884ed]{margin:6px 0 0;color:#607086;font-size:13px;line-height:1.55}.reply-line[data-v-08c884ed]{color:#176bd7;font-weight:800}.attachment-line a[data-v-08c884ed]{border:0;padding:0;color:#176bd7;background:transparent;font-weight:800;text-decoration:none;cursor:pointer}.repair-card[data-v-08c884ed]:first-of-type{border-top:0}.device-line[data-v-08c884ed]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.device-line strong[data-v-08c884ed]{min-width:0;overflow:hidden;color:#172033;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.device-code[data-v-08c884ed]{margin:4px 0 0;overflow:hidden;color:#6b7890;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.device-place-line[data-v-08c884ed]{display:flex;align-items:center;gap:7px;min-width:0;min-height:34px;padding:0 2px;color:#607086;font-size:13px;font-weight:800}.device-place-line svg[data-v-08c884ed]{flex:0 0 auto;color:#176bd7}.device-place-line span[data-v-08c884ed]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-brief-grid[data-v-08c884ed]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.device-brief-item[data-v-08c884ed]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 7px;min-height:58px;padding:10px;border:1px solid #edf2f8;border-radius:12px;background:#f5f8fc;color:#6b7890}.device-brief-item svg[data-v-08c884ed]{grid-row:span 2;align-self:center;color:#176bd7}.device-brief-item span[data-v-08c884ed]{color:#7b8798;font-size:12px;font-weight:900;line-height:1}.device-brief-item strong[data-v-08c884ed]{min-width:0;overflow:hidden;color:#1d2b3f;font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.binding-box[data-v-08c884ed]{display:flex;align-items:center;gap:8px;min-height:42px;padding:10px 12px;border:1px solid #d9ebff;border-radius:12px;color:#176bd7;background:#eef6ff}.binding-box span[data-v-08c884ed]{color:#607086;font-size:13px;font-weight:800}.binding-box strong[data-v-08c884ed]{min-width:0;overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.device-card-footer[data-v-08c884ed]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid #edf1f6}.h5-actions[data-v-08c884ed]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.h5-button[data-v-08c884ed]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid #dceafe;border-radius:999px;color:#176bd7;background:#eef6ff;font-size:13px;font-weight:900;text-decoration:none;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.h5-button[data-v-08c884ed]:hover{border-color:#b9d7ff;color:#0d5fc4;background:#e5f1ff}.device-actions[data-v-08c884ed]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.device-actions .icon-button[data-v-08c884ed]{border:1px solid #dfe8f3;background:#fff}.device-actions .danger-icon[data-v-08c884ed]{color:#d93025;background:#fff7f7}.device-card-control .device-card-footer[data-v-08c884ed]{grid-template-columns:1fr;align-items:stretch;gap:10px;padding-top:10px}.device-card-control .device-actions[data-v-08c884ed]{width:100%}.device-card-control .h5-actions[data-v-08c884ed]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.device-card-control .h5-button[data-v-08c884ed]{min-width:0;border-radius:12px;white-space:nowrap}.device-card-archive .h5-actions[data-v-08c884ed]{min-width:0}.power-button[data-v-08c884ed]{width:100%;min-width:0;min-height:44px;border-radius:12px}.status-badge[data-v-08c884ed]{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:900}.status-badge.ok[data-v-08c884ed]{color:#157347;background:#e9f8f0}.status-badge.active[data-v-08c884ed]{color:#176bd7;background:#e9f3ff}.status-badge.warn[data-v-08c884ed]{color:#ad5f00;background:#fff5e5}.status-badge.muted[data-v-08c884ed]{color:#687587;background:#eef2f7}.empty[data-v-08c884ed]{display:grid;place-items:center;min-height:220px;color:#7a8799;font-weight:800}.pagination[data-v-08c884ed]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;border-top:1px solid #edf1f6;color:#617086}.pagination>div[data-v-08c884ed]{display:flex;align-items:center;gap:10px}.dialog-backdrop[data-v-08c884ed]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#0f172a6b}.dialog[data-v-08c884ed]{width:min(560px,calc(100vw - 32px));padding:20px;border-radius:14px;background:#fff;box-shadow:0 24px 80px #0f172a38}.live-dialog[data-v-08c884ed]{width:min(960px,calc(100vw - 40px))}.live-video[data-v-08c884ed]{width:100%;aspect-ratio:16 / 9;border-radius:12px;background:#020617}.live-url[data-v-08c884ed]{margin:12px 0 0;color:#617086;font-size:13px;line-height:1.5;word-break:break-all}@media (max-width: 1080px){.page-head[data-v-08c884ed]{flex-direction:column}.toolbar[data-v-08c884ed],.repair-layout[data-v-08c884ed],.control-grid[data-v-08c884ed]{grid-template-columns:1fr}.repair-filter[data-v-08c884ed]{position:static}.form-grid[data-v-08c884ed],.device-list-archive[data-v-08c884ed],.device-list-control[data-v-08c884ed]{grid-template-columns:1fr}}@media (max-width: 720px){.toolbar.compact[data-v-08c884ed],.device-brief-grid[data-v-08c884ed]{grid-template-columns:1fr}.device-card-footer[data-v-08c884ed],.h5-actions[data-v-08c884ed],.device-card-control .device-actions[data-v-08c884ed]{width:100%}.h5-button[data-v-08c884ed],.power-button[data-v-08c884ed]{flex:1}}@media (prefers-reduced-motion: reduce){.device-card[data-v-08c884ed],.h5-button[data-v-08c884ed]{transition:none}}.equipment-page .device-list{min-width:0}.equipment-page .device-list-archive,.equipment-page .device-list-control{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}.equipment-page .device-list-control{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.equipment-page .device-card{position:relative;display:flex;flex-direction:column;gap:16px;min-width:0;min-height:330px;padding:18px;overflow:hidden;border:1px solid #dce8f4;border-radius:20px;background:linear-gradient(180deg,#fffffffa,#f8fcfff5),radial-gradient(circle at top right,rgba(23,107,215,.12),transparent 36%);box-shadow:0 18px 42px #1a2d4e17;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.equipment-page .device-card:hover{border-color:#bdd5ef;box-shadow:0 24px 54px #1a2d4e21}.equipment-page .device-card-archive{min-height:286px}.equipment-page .device-card-head{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;align-items:center;min-width:0}.equipment-page .device-media{display:grid;place-items:center;width:62px;height:62px;border:1px solid #d7e9fb;border-radius:18px;overflow:hidden;color:#176bd7;background:linear-gradient(135deg,#eef6ff,#eaf8f4);box-shadow:inset 0 1px #ffffffe6}.equipment-page .device-media img{width:100%;height:100%;object-fit:cover}.equipment-page .device-title-block{min-width:0}.equipment-page .device-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.equipment-page .device-line strong,.equipment-page .device-card-name{display:block;min-width:0;overflow:hidden;color:#142033;font-size:18px;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.equipment-page .device-card-name{font-size:19px}.equipment-page .device-code{margin:6px 0 0;overflow:hidden;color:#718198;font-size:13px;font-weight:800;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.equipment-page .status-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:900;white-space:nowrap}.equipment-page .status-badge.ok{color:#157347;background:#e7f8ef}.equipment-page .status-badge.active{color:#176bd7;background:#e7f1ff}.equipment-page .status-badge.warn{color:#ad5f00;background:#fff4df}.equipment-page .status-badge.muted{color:#667587;background:#eef2f7}.equipment-page .device-control-visual{position:relative;display:grid;place-items:center;min-height:150px;overflow:hidden;border:1px solid #e1edf8;border-radius:18px;background:radial-gradient(circle at 18% 14%,rgba(23,107,215,.16),transparent 32%),linear-gradient(135deg,#f3f8ff,#edf9f5)}.equipment-page .device-control-visual .device-media{width:104px;height:104px;border-radius:24px;background:#ffffffd1;box-shadow:0 16px 36px #1f437424}.equipment-page .device-control-visual .device-media.has-photo{width:100%;height:150px;border:0;border-radius:18px;box-shadow:none}.equipment-page .device-control-visual .status-badge{position:absolute;top:12px;right:12px;box-shadow:0 10px 22px #1a2d4e21}.equipment-page .device-control-body{display:grid;gap:13px;min-width:0}.equipment-page .device-location-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.equipment-page .device-location-chips span{display:inline-flex;align-items:center;gap:7px;min-width:0;min-height:36px;padding:0 10px;border:1px solid #e4edf7;border-radius:12px;color:#526276;background:#f7fafd;font-size:13px;font-weight:800;white-space:nowrap}.equipment-page .device-location-chips span svg{flex:0 0 auto;color:#176bd7}.equipment-page .device-location-chips span{overflow:hidden;text-overflow:ellipsis}.equipment-page .device-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.equipment-page .device-brief-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;min-height:64px;padding:12px;border:1px solid #e2edf8;border-radius:14px;background:#f5f9fd;color:#607086}.equipment-page .device-brief-item svg{grid-row:span 2;align-self:center;color:#176bd7}.equipment-page .device-brief-item span{color:#7a8799;font-size:12px;font-weight:900;line-height:1}.equipment-page .device-brief-item strong{min-width:0;overflow:hidden;color:#1d2b3f;font-size:15px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.equipment-page .binding-box{display:flex;align-items:center;gap:8px;min-height:42px;padding:10px 12px;border:1px solid #d8eaff;border-radius:14px;color:#176bd7;background:#eef6ff}.equipment-page .binding-box span{color:#617086;font-size:13px;font-weight:900}.equipment-page .binding-box strong{min-width:0;overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.equipment-page .device-card-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #e7edf5}.equipment-page .h5-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;min-width:0}.equipment-page .h5-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:0 12px;border:1px solid #d9eafe;border-radius:12px;color:#176bd7;background:#eef6ff;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.equipment-page .h5-button:hover{border-color:#b8d5fb;color:#0d5fc4;background:#e5f1ff}.equipment-page .device-actions{display:flex;align-items:center;gap:8px}.equipment-page .device-actions .icon-button{border:1px solid #dfe8f3;background:#fff}.equipment-page .device-actions .danger-icon{color:#d93025;background:#fff7f7}.equipment-page .device-card-control .device-card-footer{grid-template-columns:1fr;gap:10px;padding-top:12px}.equipment-page .device-card-control .device-actions{width:100%}.equipment-page .power-button{width:100%;min-width:0;min-height:46px;border-radius:14px;font-size:15px}.equipment-page .pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #edf1f6;color:#617086}.equipment-page .pagination>div{display:flex;align-items:center;gap:10px}@media (max-width: 1080px){.equipment-page .device-list-archive,.equipment-page .device-list-control{grid-template-columns:1fr}}@media (max-width: 720px){.equipment-page .device-location-chips,.equipment-page .device-brief-grid,.equipment-page .device-card-footer,.equipment-page .h5-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.equipment-page .device-card,.equipment-page .h5-button{transition:none}}.cleanup-box[data-v-6cbabd99]{display:flex;align-items:center;gap:8px;color:#647084;font-size:13px}.cleanup-box input[data-v-6cbabd99]{width:74px;height:38px;padding:0 10px;border:1px solid #d7e0ea;border-radius:10px;background:#fff;color:#172033;font-weight:700}.material-cell[data-v-9ec4578e]{display:inline-flex;flex-direction:column;gap:6px;align-items:flex-start}.material-video-link[data-v-9ec4578e]{color:var(--primary);font-size:12px;font-weight:800;text-decoration:none}.device-context[data-v-9ec4578e]{display:block;margin-top:4px;color:var(--green);font-size:12px;font-weight:800;line-height:1.45}:root{color-scheme:light;--bg: #f3f6f5;--surface: #ffffff;--surface-soft: #edf4f1;--line: #d9e4df;--text: #17231f;--muted: #66756f;--green: #0f7a63;--green-soft: #dff5ee;--blue: #2869aa;--blue-soft: #e0ecf8;--amber: #a66515;--amber-soft: #f8ead7;--coral: #b94f3b;--coral-soft: #fae2dc;--danger: #b3261e;--primary: var(--green);--shadow: 0 18px 42px rgba(24, 43, 36, .08);font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 20% -10%,rgba(15,122,99,.11),transparent 34%),linear-gradient(180deg,#f8fbfa 0%,var(--bg) 100%);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:28px;height:100vh;padding:24px 18px;background:linear-gradient(180deg,#0f352e,#112b27);border-right:1px solid rgba(255,255,255,.08);box-shadow:12px 0 34px #132c251f}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#fff;color:var(--green);overflow:hidden}.brand-emblem{width:110px;height:44px;object-fit:cover;object-position:left center}.sidebar .brand{color:#fff}.sidebar .nav-link{color:#ffffffb8;transition:background .18s ease,color .18s ease,transform .18s ease}.sidebar .nav-link:hover{background:#ffffff14;color:#fff}.sidebar .nav-link.router-link-active{background:#fff;color:var(--green);box-shadow:0 12px 24px #00000024}.brand strong,.brand small{display:block}.brand small,.eyebrow,.muted,.record-title+small,.recent-list small,.stat-card small{color:var(--muted)}.sidebar .brand strong{color:#fff}.sidebar .brand small{color:#ffffffad}.nav-list{display:grid;gap:18px;overflow-y:auto;padding-right:2px}.nav-group{display:grid;gap:6px}.nav-group-title{margin:0 0 2px;padding:0 12px;color:#ffffff75;font-size:12px;font-weight:900;letter-spacing:0}.nav-link{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border-radius:8px;color:var(--muted)}.nav-link.router-link-active{background:var(--green-soft);color:var(--green);font-weight:700}.content-area{min-width:0;background:transparent}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 32px;background:#ffffffd1;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar h1,.section-title h2,.form-header h2,.detail-header h2,.login-card h2{margin:0}.eyebrow{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.page-content{padding:28px 32px 40px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card,.panel,.detail-panel,.form-panel,.dialog{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.stat-card{display:flex;gap:14px;min-height:124px;padding:18px}.stat-card p{margin:0 0 8px;color:var(--muted)}.stat-card strong{display:block;margin-bottom:8px;font-size:28px}.stat-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:8px}.stat-icon.green{background:var(--green-soft);color:var(--green)}.stat-icon.blue{background:var(--blue-soft);color:var(--blue)}.stat-icon.amber{background:var(--amber-soft);color:var(--amber)}.stat-icon.coral{background:var(--coral-soft);color:var(--coral)}.split-layout,.settings-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;margin-top:18px}.panel,.detail-panel{padding:20px}.section-title,.detail-header,.form-header,.toolbar,.pagination,.dialog-actions,.form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.icon-button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.icon-button{width:40px;padding:0}.primary-action,.button{width:auto;padding:0 14px}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.user-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-weight:800}.user-chip:hover{border-color:#0f7a636b;color:var(--green)}.button.solid,.primary-action{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 10px 20px #0f7a632e}.button:hover,.icon-button:hover{border-color:#0f7a636b;box-shadow:0 10px 20px #182b2414}.button.ghost{background:var(--surface-soft)}.button.danger,.danger-icon{color:var(--danger)}.button.danger{border-color:#f1c4bf;background:#fff2f0}.bar-list,.recent-list,.config-list{display:grid;gap:14px;margin-top:18px}.bar-row{display:grid;grid-template-columns:86px minmax(80px,1fr) 32px;align-items:center;gap:12px}.bar-track{height:10px;overflow:hidden;border-radius:999px;background:var(--surface-soft)}.bar-track i{display:block;height:100%;border-radius:inherit;background:var(--green)}.recent-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.recent-list span,.record-title+small{min-width:0}.recent-list strong,.recent-list small,.record-title,.record-title+small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-page,.detail-page{display:grid;gap:18px}.toolbar{flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:10px;flex:1 1 280px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.search-box input,label input,label select,label textarea,.toolbar select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);outline:none}.search-box input{border:0}.toolbar select{width:160px;min-height:42px;padding:0 12px}.date-filter{width:160px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);outline:none}.table-shell{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}table{width:100%;min-width:940px;border-collapse:collapse}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#f7faf9;color:var(--muted);font-size:13px}.actions-col{width:104px}.row-actions{display:flex;gap:8px}.empty-cell{height:180px;color:var(--muted);text-align:center}.record-title{max-width:260px;font-weight:800}.record-title+small{max-width:260px;margin-top:4px}.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:800}.status-badge.active{background:var(--green-soft);color:var(--green)}.status-badge.paused{background:var(--amber-soft);color:var(--amber)}.status-badge.archived{background:var(--surface-soft);color:var(--muted)}.status-badge.disabled{background:#f3f4f4;color:var(--muted)}.type-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:13px;font-weight:800;white-space:nowrap}.pagination{min-height:48px}.pagination>div{display:flex;align-items:center;gap:10px}.notice{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.notice.error,.form-error{color:var(--danger)}.drawer-backdrop,.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:flex-end;background:#141b1852}.form-panel{width:min(560px,100vw);height:100%;overflow-y:auto;padding:24px;border-radius:0}.form-panel label{display:grid;gap:8px;margin-top:16px;font-weight:700}label input,label select{min-height:42px;padding:0 12px}label textarea{resize:vertical;padding:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.switch-row{display:inline-flex;align-items:center;gap:10px;width:fit-content}.switch-row input,.check-row input,.permission-card input,.permission-user-table input{width:16px;height:16px;accent-color:var(--green)}.dialog-backdrop{align-items:center;justify-content:center}.dialog{width:min(420px,calc(100vw - 32px));padding:22px}.detail-grid,.config-list{margin:20px 0 0}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail-grid div,.detail-card,.config-list div,.description-block{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.detail-card.wide{grid-column:1 / -1}.detail-card h2{margin:2px 0 14px}.detail-card dl{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px 14px;margin:0}.detail-card dd{min-width:0}.user-agent{margin-top:14px;overflow-wrap:anywhere}dt{margin-bottom:6px;color:var(--muted);font-size:13px}dd{margin:0;font-weight:800;overflow-wrap:anywhere}.description-block{margin-top:14px}.description-block p:last-child{margin-bottom:0;line-height:1.7}.back-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:var(--green);font-weight:800}.login-screen{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,480px);align-items:center;gap:42px;min-height:100vh;overflow:hidden;padding:56px clamp(20px,6vw,86px);background:#0d2e29;isolation:isolate}.login-bg,.login-overlay,.campus-frame{position:absolute;top:0;right:0;bottom:0;left:0}.login-bg{z-index:-3}.login-overlay{z-index:-2;background:linear-gradient(90deg,#071f1bc2,#0f3b3375 48%,#ffffffe6 76%,#fffffffa)}.campus-frame{background-position:center;background-size:cover;opacity:0;transform:scale(1.04);animation:campusFade 18s infinite}.campus-one{background-image:url(/assets/campus-cover-CkdyIzdt.jpeg)}.campus-two{background-image:url(/assets/campus-spring-C1oDtu5R.jpeg);animation-delay:6s}.campus-three{background-image:url(/assets/campus-life-CCgdzfuy.jpeg);animation-delay:12s}@keyframes campusFade{0%,to{opacity:0;transform:scale(1.04)}8%,33%{opacity:1;transform:scale(1)}43%{opacity:0;transform:scale(1.02)}}.login-brand-panel{display:grid;gap:38px;max-width:720px;color:#fff}.school-logo-lockup{width:min(428px,78vw);height:75px;background:url(/assets/logo-CFegjhEh.png) left center / contain no-repeat;filter:drop-shadow(0 12px 24px rgba(64,42,117,.16))}.brand-copy{display:grid;gap:20px}.login-eyebrow{margin:0;color:#bff2e4;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.brand-copy h1{max-width:700px;margin:0;font-size:clamp(34px,5.2vw,64px);line-height:1.1;letter-spacing:0}.brand-copy p{max-width:680px;margin:0;color:#ffffffd1;font-size:17px;line-height:1.95}.school-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px}.school-meta span,.session-tip{display:inline-flex;align-items:center;gap:8px}.school-meta span{min-height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#ffffff1f;color:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-card,.forgot-dialog{border:1px solid rgba(255,255,255,.52);border-radius:8px;background:#ffffffeb;box-shadow:0 26px 80px #00000047;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-card{width:100%;padding:28px}.login-card-head{display:flex;align-items:center;gap:14px;margin-bottom:26px}.login-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:8px;background:var(--green);color:#fff}.login-card .login-eyebrow,.forgot-dialog .login-eyebrow{color:var(--green)}.login-form{display:grid;gap:16px}.login-form label,.forgot-dialog label{position:relative;display:grid;gap:8px;font-weight:800}.login-form label i{position:absolute;left:13px;bottom:12px;display:grid;place-items:center;color:var(--muted)}.login-form input,.forgot-dialog input,.forgot-dialog textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fffffff5;color:var(--text);outline:none}.login-form input{min-height:46px;padding:0 46px}.forgot-dialog input{min-height:42px;padding:0 12px}.forgot-dialog textarea{resize:vertical;padding:12px}.field-action{position:absolute;right:6px;bottom:4px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted)}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px}.link-button{border:0;background:transparent;color:var(--green);font-weight:900}.login-error{margin:0;color:var(--danger);font-weight:800}.login-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border:0;border-radius:8px;background:var(--green);color:#fff;font-weight:900}.forgot-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;padding:24px}.forgot-dialog label{margin-top:16px}.forgot-message{margin:14px 0 0;color:var(--green);font-weight:900}.permission-page,.permission-section{display:grid;gap:18px}.segmented-control{display:inline-flex;min-height:40px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.segmented-control button{min-width:88px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-weight:900}.segmented-control button:last-child{border-right:0}.segmented-control button.active{background:var(--green);color:#fff}.permission-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.permission-card{display:flex;align-items:flex-start;gap:10px;min-height:82px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.permission-card strong,.permission-card small{display:block}.permission-card small{margin-top:5px;color:var(--muted);overflow-wrap:anywhere}.permission-toolbar{margin-top:0}.permission-account-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.permission-user-table table{min-width:720px}.permission-user-table th:first-child,.permission-user-table td:first-child{width:44px}.permission-assignment{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.permission-assignment h3{margin:0}.check-list{display:grid;gap:10px}.check-row{display:flex;align-items:center;gap:10px;min-height:36px;color:var(--text);font-weight:800}.management-grid{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.35fr);gap:18px}.compact-table table{min-width:620px}.selected-row{background:#f0f7f4}.student-toolbar{margin:18px 0}.upload-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-weight:800;cursor:pointer}.upload-button.disabled{cursor:not-allowed;opacity:.55}.upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.wide-form{width:min(720px,100vw)}.attendance-photo{display:block;width:58px;height:58px;object-fit:cover;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.image-cell{display:inline-flex;align-items:center;min-width:82px}.image-link{display:inline-flex;border-radius:8px}.image-fallback{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:76px;height:58px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:800;line-height:1.25;text-align:center;text-decoration:none}.image-fallback small{color:var(--green);font-size:11px;font-weight:900}.standard-preview-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.standard-preview-copy{display:grid;gap:5px;min-width:0}.standard-preview-copy strong{color:var(--text);font-size:14px}.standard-preview-copy small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.standard-preview-link{display:block;width:180px;height:118px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.standard-preview-image{display:block;width:100%;height:100%;object-fit:cover}.standard-preview-fallback{display:inline-flex;align-items:center;justify-content:center;width:180px;min-height:118px;padding:12px;border:1px dashed var(--line);border-radius:8px;background:#fff;color:var(--green);font-size:13px;font-weight:900;line-height:1.45;text-align:center;text-decoration:none}.field-hint{margin:-2px 0 4px;color:var(--muted);font-size:13px;line-height:1.5}.equipment-page{display:grid;gap:18px}.equipment-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:178px;padding:28px;overflow:hidden;border:1px solid rgba(17,103,79,.16);border-radius:8px;background:linear-gradient(135deg,#11674feb,#0e4974db),url(/assets/campus-life-CCgdzfuy.jpeg) center/cover;color:#fff;box-shadow:0 22px 50px #0a2a3a29}.equipment-hero h2{margin:4px 0 8px;color:#fff;font-size:30px}.equipment-hero p:not(.eyebrow){max-width:620px;margin:0;color:#ffffffd1;line-height:1.7}.equipment-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px}.equipment-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.equipment-panel{display:grid;gap:16px;padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 16px 36px #16253612}.accent-panel{align-content:center;background:linear-gradient(180deg,#f3fbf8,#fff)}.accent-panel p:not(.eyebrow),.repair-ticket p{margin:0;color:var(--muted);line-height:1.7}.metric-panel{min-height:172px;align-content:center}.metric-panel svg{color:var(--green)}.metric-panel strong{font-size:28px;color:var(--text)}.metric-panel span{color:var(--muted);font-weight:800}.repair-ticket{grid-template-columns:minmax(0,1fr) auto;align-items:start}.score-stack{display:grid;gap:4px;color:var(--muted);font-size:13px;line-height:1.35}.score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:34px;padding:0 12px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-weight:900}.location-cell{max-width:260px;line-height:1.5}.reason-line{display:block;max-width:220px;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-list{display:flex;flex-direction:column;gap:6px}.student-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:220px;padding:12px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.student-option{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border-radius:8px;background:#fff;color:var(--text);font-size:13px}.attachment-list a{color:var(--primary);font-weight:700;text-decoration:none}.file-link{display:inline-flex;align-items:center;gap:6px;max-width:220px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfa;color:var(--green);font-weight:800}.file-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-file{margin-top:8px}.reject-dialog label{display:grid;gap:8px;margin:16px 0;font-weight:700}.inline-field-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.inline-field-action .button{min-width:116px;white-space:nowrap}.profile-page{display:grid;gap:18px}.profile-hero-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px}.profile-hero-copy{display:flex;align-items:center;gap:16px;min-width:0}.profile-avatar{width:74px;height:74px;flex:0 0 74px;border:1px solid var(--line);border-radius:8px;object-fit:cover;background:#fff}.profile-grid{margin-top:0;align-items:start}.profile-form{display:grid;gap:16px}.profile-form label{display:grid;gap:8px;font-weight:800}.profile-side{display:grid;gap:18px}.full-button{width:100%}.avatar-upload{margin:0}.danger-zone{display:grid;gap:12px;padding:20px;border-color:#f1c4bf;background:snow}.danger-zone h2,.profile-hero-panel h2{margin:0}@media (max-width: 1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid,.split-layout,.settings-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-screen{grid-template-columns:1fr;align-items:start;padding-top:34px}.login-brand-panel{gap:26px}.permission-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-account-layout,.management-grid{grid-template-columns:1fr}}@media (max-width: 720px){.topbar,.page-content{padding:18px}.topbar,.section-title,.pagination{align-items:flex-start;flex-direction:column}.dashboard-grid,.split-layout,.settings-grid,.detail-grid,.equipment-grid,.equipment-grid.three,.form-grid,.form-grid.three,.nav-list{grid-template-columns:1fr}.toolbar select,.toolbar .button,.toolbar .upload-button{width:100%}.standard-preview-card{grid-template-columns:1fr}.standard-preview-link,.standard-preview-fallback{width:100%}.drawer-backdrop{justify-content:stretch}.login-screen{min-height:100svh;padding:18px;gap:22px}.brand-copy h1{font-size:32px}.brand-copy p{font-size:15px}.school-meta{display:none}.login-card{padding:20px}.school-logo-lockup{width:min(270px,78vw);height:88px}.login-options{align-items:flex-start;flex-direction:column}.permission-menu-grid{grid-template-columns:1fr}.segmented-control,.segmented-control button{width:100%}.inline-field-action{grid-template-columns:1fr}}
