:root{color:#24211e;font-synthesis:none;--ground:#f4f1ec;--surface:#fcfbf8;--surface-strong:#fff;--ink:#24211e;--muted:#756f68;--line:#e4ded5;--line-strong:#d5ccbf;--primary:#315b4c;--primary-soft:#e5eee9;--danger:#a6453d;--warning:#9a611b;--success:#2f6b50;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--motion:.16s cubic-bezier(.2, .75, .25, 1);--font-ui:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-math:var(--font-ui), "Cambria Math", "STIX Two Math", "Noto Sans Math", serif;--type-page-title:clamp(calc(28px * var(--ui-font-scale,1)), calc(2.4vw * var(--ui-font-scale,1)), calc(34px * var(--ui-font-scale,1)));--type-page-eyebrow:calc(12px * var(--ui-font-scale,1));--type-page-summary:calc(14px * var(--ui-font-scale,1));--type-section-title:calc(20px * var(--ui-font-scale,1));--type-subsection-title:calc(18px * var(--ui-font-scale,1));--type-card-title:calc(17px * var(--ui-font-scale,1));--type-body:calc(14px * var(--ui-font-scale,1));--type-label:calc(12px * var(--ui-font-scale,1));--type-caption:calc(11px * var(--ui-font-scale,1));--weight-heading:700;--weight-emphasis:600;background:#f4f1ec;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}body{font-family:var(--font-ui);min-width:min(320px,100%);margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button,a{transition:background var(--motion), border-color var(--motion), color var(--motion), transform var(--motion)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,.primary-button,.secondary-button,.danger-button,.text-button{overflow-wrap:normal;word-break:keep-all}.primary-button,.secondary-button,.text-button,.icon-button{white-space:nowrap}.page-actions{flex-wrap:wrap}:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 35%, transparent);outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-ui);font-weight:var(--weight-heading);text-wrap:pretty}p{text-wrap:pretty}small{color:var(--muted)}.app-shell{--type-page-title:clamp(calc(28px * var(--ui-font-scale,1)), calc(2.4vw * var(--ui-font-scale,1)), calc(34px * var(--ui-font-scale,1)));--type-page-eyebrow:calc(12px * var(--ui-font-scale,1));--type-page-summary:calc(14px * var(--ui-font-scale,1));--type-section-title:calc(20px * var(--ui-font-scale,1));--type-subsection-title:calc(18px * var(--ui-font-scale,1));--type-card-title:calc(17px * var(--ui-font-scale,1));--type-body:calc(14px * var(--ui-font-scale,1));--type-label:calc(12px * var(--ui-font-scale,1));--type-caption:calc(11px * var(--ui-font-scale,1));--weight-heading:700;--weight-emphasis:600;grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.desktop-sidebar-toggle{border-radius:var(--radius-sm);color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;width:42px;height:42px;margin-left:-8px;display:inline-flex}.desktop-sidebar-toggle:hover{background:var(--primary-soft);color:var(--primary)}.sidebar{background:linear-gradient(180deg, #ffffffb8, transparent 160px), var(--surface);border-right:1px solid var(--line);z-index:50;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}@media (min-width:901px){.app-shell{transition:grid-template-columns var(--motion)}.app-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar{min-width:0;transition:opacity var(--motion), transform var(--motion), visibility 0s linear 0s}.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;transition:opacity var(--motion), transform var(--motion), visibility 0s linear var(--motion);visibility:hidden;border-right:0;width:0;overflow:hidden;transform:translate(-16px)}}.sidebar>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;padding:14px 16px;display:flex}.sidebar-brand{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-width:0;display:grid}.sidebar-brand-mark{background:var(--primary);color:#fff;font-size:calc(11px * var(--ui-font-scale,1));letter-spacing:-.02em;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;display:flex}.sidebar-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.sidebar-brand-copy{gap:2px;min-width:0;display:grid}.sidebar-brand-copy>span{font-size:calc(14px * var(--ui-font-scale,1));text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.sidebar-brand-copy>strong{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));font-weight:500}.sidebar>header button{font-size:calc(24px * var(--ui-font-scale,1));background:0 0;border:0;display:none}.sidebar nav{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;gap:3px;padding:14px 12px 20px;display:grid;overflow-y:auto}.sidebar nav a{border-radius:var(--radius-sm);color:#5f5952;font-size:calc(14px * var(--ui-font-scale,1));grid-template-columns:32px 1fr;align-items:center;gap:10px;min-height:44px;padding:0 10px;display:grid;position:relative}.sidebar nav a span{font-size:calc(18px * var(--ui-font-scale,1));border:0;border-radius:8px;justify-content:center;align-items:center;height:30px;display:flex}.sidebar nav a:hover{color:var(--ink);background:#f3f0eb}.sidebar nav a.active{background:var(--primary-soft);color:var(--primary)}.sidebar nav a.active:before{background:var(--primary);content:"";border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:calc(50% - 10px);left:-12px}.sidebar nav a.active span{background:0 0}.sidebar-management{gap:5px;margin-top:12px;padding-top:6px;display:grid;position:relative}.sidebar-management:before{background:linear-gradient(90deg, var(--line), transparent);content:"";height:1px;position:absolute;top:0;left:10px;right:10px}.sidebar-management>p{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));letter-spacing:.06em;margin:0;padding:7px 10px 3px;font-weight:700}.sidebar-management-list{gap:4px;display:grid}.sidebar-section-toggle,.sidebar-tree-toggle{border-radius:var(--radius-sm);color:#5f5952;font-size:calc(14px * var(--ui-font-scale,1));text-align:left;background:0 0;border:0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 10px;display:grid}.sidebar-section-toggle:hover,.sidebar-tree-toggle:hover{color:var(--ink);background:#f3f0eb}.sidebar-section-toggle>span,.sidebar-tree-toggle>span{justify-content:center;align-items:center;display:flex}.sidebar-section-toggle b,.sidebar-tree-toggle b{font-size:calc(14px * var(--ui-font-scale,1));font-weight:700}.sidebar-ai-tree{gap:4px;padding:2px 0 4px;display:grid}.sidebar nav .sidebar-ai-tree>a,.sidebar nav .sidebar-ai-tree>.sidebar-tree-toggle{min-height:44px}.sidebar nav .sidebar-ai-tree>a{font-size:calc(14px * var(--ui-font-scale,1));grid-template-columns:32px 1fr;gap:10px;padding:0 10px}.sidebar-tree-links{border-left:1px solid var(--line);gap:2px;margin:2px 0 5px 25px;padding-left:5px;display:grid}.sidebar nav .sidebar-tree-links a{font-size:calc(14px * var(--ui-font-scale,1));grid-template-columns:26px minmax(0,1fr);gap:8px;min-height:40px;padding:0 8px;display:grid}.sidebar nav .sidebar-tree-links a b{grid-column:2;font-weight:700;line-height:1.5}.sidebar nav .sidebar-tree-links a.active{box-shadow:none}.sidebar nav .sidebar-admin-links a{grid-template-columns:26px minmax(0,1fr)}.sidebar nav .sidebar-management-list a.active{background:var(--primary-soft)}.sidebar>footer{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto;padding:18px;display:grid}.sidebar-profile-link{border-radius:var(--radius-sm);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0;margin:-6px;padding:6px;display:grid}.sidebar-profile-link:hover,.sidebar-profile-link.active{background:var(--primary-soft);color:var(--primary)}.sidebar-profile-copy{min-width:0;display:grid}.sidebar-profile-copy strong,.sidebar-profile-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-profile-copy strong{font-size:calc(13px * var(--ui-font-scale,1))}.sidebar-profile-copy small{font-size:calc(11px * var(--ui-font-scale,1))}.sidebar>footer button{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));background:0 0;border:0}.avatar{background:var(--primary-soft);color:var(--primary);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:flex}.avatar.small{border-radius:9px;width:34px;height:34px}.main-column{background:linear-gradient(180deg, color-mix(in srgb, var(--primary-soft) 20%, var(--ground)) 0, var(--ground) 340px);min-width:0;min-height:100vh}.topbar{background:color-mix(in srgb, var(--ground) 92%, transparent);border-bottom:1px solid var(--line);z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;height:58px;padding:0 clamp(18px,3vw,34px);display:flex;position:sticky;top:0}.topbar>span{color:var(--muted);font-size:calc(13px * var(--ui-font-scale,1))}.topbar-profile-link{border-radius:var(--radius-sm);justify-items:end;min-width:0;margin-right:-8px;padding:5px 8px;display:grid}.topbar-actions{align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.topbar-profile-link:hover{background:var(--primary-soft);color:var(--primary)}.topbar small{font-size:calc(11px * var(--ui-font-scale,1))}.topbar strong{font-size:calc(13px * var(--ui-font-scale,1));text-overflow:ellipsis;white-space:nowrap;max-width:min(260px,54vw);overflow:hidden}.menu-button{background:0 0;border:0;justify-content:center;align-items:center;padding:10px;display:none}.menu-button i{background:var(--ink);width:22px;height:1px;display:block}.main-column>main{width:100%;min-width:0;max-width:1680px;margin:auto;padding:28px clamp(18px,3.5vw,48px) 72px}.app-content>*{width:100%;min-width:0}.scrim{display:none}.page-header{justify-content:space-between;align-items:end;gap:32px;margin-bottom:22px;animation:.26s cubic-bezier(.2,.75,.25,1) backwards page-header-enter;display:flex}.page-header>div:first-child{min-width:0;max-width:760px}.page-header>div:first-child>span,.section-header span,.cms-library>label,.license-form header span{color:var(--primary);font-size:var(--type-page-eyebrow);font-weight:var(--weight-heading);letter-spacing:.04em;line-height:1.45}.page-header h1{font-family:var(--font-ui);font-size:var(--type-page-title);font-weight:var(--weight-heading);letter-spacing:-.035em;margin:5px 0 7px;line-height:1.22}.page-header p{color:var(--muted);font-size:var(--type-page-summary);margin:0;line-height:1.65}.page-eyebrow{color:var(--primary);font-size:var(--type-page-eyebrow);font-weight:var(--weight-heading);letter-spacing:.04em;line-height:1.45}.page-title{font-size:var(--type-page-title);font-weight:var(--weight-heading);letter-spacing:-.035em;line-height:1.22}.page-summary{color:var(--muted);font-size:var(--type-page-summary);line-height:1.65}.section-title{font-size:var(--type-section-title);font-weight:var(--weight-heading);line-height:1.4}.subsection-title{font-size:var(--type-subsection-title);font-weight:var(--weight-heading);line-height:1.45}.card-title{font-size:var(--type-card-title);font-weight:var(--weight-heading);line-height:1.45}.page-actions{align-items:center;gap:10px;display:flex}.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-sm);font-size:calc(13px * var(--ui-font-scale,1));text-align:center;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 18px;font-weight:700;display:inline-flex}.primary-button{background:var(--primary);border:1px solid var(--primary);color:#fff}.primary-button:hover{background:color-mix(in srgb, var(--primary) 86%, black)}.secondary-button{background:var(--surface);border:1px solid var(--line-strong);color:var(--ink)}.secondary-button:hover{border-color:var(--primary);color:var(--primary)}.danger-button{background:var(--surface);border:1px solid color-mix(in srgb, var(--danger) 45%, var(--line));color:var(--danger)}.danger-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 7%, var(--surface));border-color:var(--danger)}.text-button{color:var(--primary);font-size:calc(12px * var(--ui-font-scale,1));background:0 0;border:0}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0}.section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.section-header h2{font-size:var(--type-section-title);margin:4px 0 0;line-height:1.4}.section-header a{color:var(--primary);font-size:calc(12px * var(--ui-font-scale,1));font-weight:700}.state-panel{border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:40px;display:flex}.state-panel strong,.state-panel>h1,.state-panel>h2{color:var(--ink);font-family:inherit;font-size:var(--type-section-title);margin:0}.state-panel p{font-size:var(--type-body);margin:8px 0}.state-panel.error{border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.state-panel button{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-top:10px;padding:8px 14px}.spinner{border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes page-header-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.metric-line{border-bottom:1px solid var(--line-strong);border-top:1px solid var(--line-strong);grid-template-columns:repeat(4,1fr);margin-bottom:28px;display:grid}.metric-line article{gap:5px;padding:24px 22px;display:grid}.metric-line article+article{border-left:1px solid var(--line)}.metric-line span,.metric-line small{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.metric-line strong{font-family:inherit;font-size:calc(31px * var(--ui-font-scale,1))}.simple-list>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:72px;padding:14px 22px;display:flex}.simple-list>a:last-child{border-bottom:0}.simple-list>a>div{gap:4px;display:grid}.simple-list strong{font-size:calc(14px * var(--ui-font-scale,1))}.simple-list small{font-size:calc(11px * var(--ui-font-scale,1))}.status{color:#655f58;font-size:calc(11px * var(--ui-font-scale,1));background:#efebe5;border-radius:8px;padding:5px 8px;font-weight:700}.status.active,.status.online,.status.ready{background:var(--primary-soft);color:var(--success)}.status.closed,.status.suspended,.status.offline{color:var(--danger);background:#f5e9e7}.status.draft,.status.unknown,.status.degraded{color:var(--warning);background:#f6eddf}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.class-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;min-height:260px;padding:24px;display:flex}.class-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--line));transform:translateY(-2px)}.class-card>header{justify-content:space-between;align-items:center;display:flex}.class-card>header>span{color:var(--primary);font-size:calc(11px * var(--ui-font-scale,1));font-weight:700}.class-card h2{font-size:var(--type-section-title);margin:34px 0 10px;line-height:1.4}.class-card p{color:var(--muted);font-size:calc(12px * var(--ui-font-scale,1));line-height:1.8}.class-card footer{border-top:1px solid var(--line);justify-content:space-between;align-items:end;margin-top:auto;padding-top:16px;display:flex}.class-card footer span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.class-card footer strong{font-size:calc(12px * var(--ui-font-scale,1))}.class-tabs{border-bottom:1px solid var(--line-strong);gap:2px;display:flex;overflow-x:auto}.class-tabs button{color:var(--muted);font-size:calc(13px * var(--ui-font-scale,1));white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;min-height:46px;padding:0 16px}.class-tabs button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:700}@media (max-width:720px){.class-tabs{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.class-tabs::-webkit-scrollbar{display:none}}.class-workspace{padding-top:28px}.feed{gap:14px;max-width:880px;display:grid}.feed>article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px}.feed>article header{align-items:center;gap:10px;display:flex}.feed>article header>div:nth-child(2){display:grid}.feed>article header small{font-size:calc(11px * var(--ui-font-scale,1))}.feed h3{font-size:var(--type-card-title);margin:22px 0 8px}.feed p{color:#514c46;font-size:calc(14px * var(--ui-font-scale,1));margin:0;line-height:1.8}.data-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.data-list article{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:16px;min-height:72px;padding:12px 18px;display:grid}.data-list article:last-child{border-bottom:0}.data-list article>div{gap:4px;display:grid}.data-list small{font-size:calc(11px * var(--ui-font-scale,1))}.data-list span{color:var(--muted);font-size:calc(12px * var(--ui-font-scale,1))}.data-list button{background:var(--primary-soft);color:var(--primary);border:0;border-radius:8px;padding:8px 12px}.member-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.member-grid article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:48px 1fr;align-items:center;gap:6px;padding:16px;display:grid}.member-grid article small{grid-column:2}.settings-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px}.settings-summary dl{margin:0 0 20px}.settings-summary dl div,.license-form dl div{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;padding:14px 0;display:grid}.settings-summary dt,.license-form dt{color:var(--muted);font-size:calc(12px * var(--ui-font-scale,1))}.settings-summary dd,.license-form dd{font-size:calc(13px * var(--ui-font-scale,1));margin:0}.search-input{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-width:260px;min-height:42px;padding:0 12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:920px}th{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));text-align:left;background:#f6f3ee}th,td{border-bottom:1px solid var(--line);padding:14px 16px}tbody tr:last-child td{border-bottom:0}td{font-size:calc(13px * var(--ui-font-scale,1))}td strong,td small{display:block}td small{font-size:calc(11px * var(--ui-font-scale,1));margin-top:3px}.camera-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.camera-card{overflow:hidden}.camera-card>header{justify-content:space-between;align-items:start;padding:18px 20px 8px;display:flex}.camera-card>header span{color:var(--primary);font-size:calc(11px * var(--ui-font-scale,1));font-weight:700}.camera-card h2{font-size:var(--type-section-title);margin:5px 0}.camera-card dl{grid-template-columns:1fr 1fr;margin:0;padding:0 20px;display:grid}.camera-card dl div{gap:3px;display:grid}.camera-card dt{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.camera-card dd{font-size:calc(12px * var(--ui-font-scale,1));margin:0}.camera-card footer{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:16px;padding:14px 20px;display:flex}.camera-card footer button,.camera-page-actions button{align-items:center;gap:6px;display:inline-flex}.camera-page-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.camera-binding-summary{border-radius:var(--radius-sm);font-size:calc(11px * var(--ui-font-scale,1));background:#f7f4ef;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;margin:14px 20px 0;padding:10px 11px;display:grid}.camera-binding-summary svg{color:var(--primary)}.camera-binding-summary b{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.camera-setup-methods{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.camera-setup-method{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);color:var(--ink);text-align:left;flex-direction:column;align-items:flex-start;min-height:196px;padding:17px;display:flex}.camera-setup-method:hover:not(:disabled){background:color-mix(in srgb, var(--primary-soft) 45%, var(--surface));border-color:var(--primary);transform:translateY(-1px)}.camera-setup-method-icon{background:var(--primary-soft);color:var(--primary);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:15px;display:inline-flex}.camera-setup-method strong{font-size:calc(14px * var(--ui-font-scale,1));line-height:1.45}.camera-setup-method p{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));text-wrap:pretty;word-break:normal;overflow-wrap:break-word;margin:7px 0 14px;line-height:1.65}.camera-setup-method small{border-top:1px solid var(--line);color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));text-wrap:pretty;word-break:normal;overflow-wrap:break-word;width:100%;margin-top:auto;padding-top:10px;line-height:1.55}.camera-setup-actions{margin-top:18px}.camera-audio-source{border:1px solid var(--line-strong);border-radius:var(--radius-md);margin:2px 0 0;padding:14px}.camera-audio-source legend{color:var(--ink);font-size:calc(12px * var(--ui-font-scale,1));padding:0 6px;font-weight:800}.camera-audio-options{grid-template-columns:1fr;gap:9px;display:grid}.form-grid .camera-audio-option,.form-grid .camera-audio-required{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:12px 14px;display:grid}.form-grid .camera-audio-option:has(input:checked){background:color-mix(in srgb, var(--primary-soft) 55%, var(--surface));border-color:var(--primary)}.form-grid .camera-audio-option.is-disabled{cursor:not-allowed;opacity:.56}.camera-audio-option input,.camera-audio-required input{width:auto;min-height:auto;margin:2px 0 0}.camera-audio-option strong,.camera-audio-required strong{font-size:calc(11px * var(--ui-font-scale,1));line-height:1.45;display:block}.camera-audio-option small,.camera-audio-required small{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));margin-top:4px;line-height:1.55;display:block}.camera-audio-note{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));margin:10px 2px 0;line-height:1.6}.camera-audio-device{border-radius:var(--radius-sm);background:#f7f4ef;gap:9px;margin-top:11px;padding:12px;display:grid}.camera-audio-device>label{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));gap:6px;display:grid}.camera-audio-discovery{background:var(--surface);border:1px solid var(--line);border-radius:9px;gap:9px;padding:10px;display:grid}.camera-audio-discovery>header{justify-content:space-between;align-items:start;gap:10px;display:flex}.camera-audio-discovery>header>div{gap:2px;display:grid}.camera-audio-discovery>header strong{color:var(--ink);font-size:calc(11px * var(--ui-font-scale,1))}.camera-audio-discovery>header span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));line-height:1.5}.camera-audio-discovery>header button{font-size:calc(11px * var(--ui-font-scale,1));flex:none;min-height:32px;padding:5px 7px}.camera-audio-device-list{gap:7px;display:grid}.camera-audio-device-list>div{background:#f7f4ef;border-radius:8px;justify-content:space-between;align-items:center;gap:9px;padding:8px 9px;display:flex}.camera-audio-device-list span{gap:2px;min-width:0;display:grid}.camera-audio-device-list strong{color:var(--ink);font-size:calc(11px * var(--ui-font-scale,1));overflow-wrap:anywhere}.camera-audio-device-list small{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.camera-audio-device-list button{font-size:calc(11px * var(--ui-font-scale,1));flex:none;min-height:32px;padding:5px 8px}.camera-audio-device-state,.camera-audio-registration-notice{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));background:#f7f4ef;border-radius:8px;padding:8px 9px;line-height:1.55}.camera-audio-device-state.error{color:var(--danger);background:#fff0ec}.camera-audio-registration-notice{background:var(--primary-soft);color:var(--primary)}.camera-audio-validation,.camera-audio-summary{font-size:calc(11px * var(--ui-font-scale,1));border:1px solid #0000;border-radius:8px;padding:9px 10px;line-height:1.6}.camera-audio-validation{border-color:color-mix(in srgb, var(--warning) 22%, var(--line));color:#714c08;background:#fff2d9}.camera-audio-summary{background:var(--primary-soft);border-color:color-mix(in srgb, var(--primary) 18%, var(--line));color:var(--primary);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 9px;display:grid}.camera-audio-summary>svg{grid-row:1/3}.camera-audio-summary strong{color:var(--ink)}.form-grid .camera-audio-required,.camera-audio-source>.camera-audio-summary,.camera-audio-source>.camera-audio-validation,.camera-audio-source>.secondary-button{margin-top:11px}.camera-setup-back{color:var(--primary);font-size:calc(11px * var(--ui-font-scale,1));background:0 0;border:0;align-items:center;gap:6px;margin:-6px 0 16px;padding:5px 0;display:inline-flex}.camera-discovery-panel{gap:14px;display:grid}.camera-discovery-intro,.camera-push-guidance{background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;padding:13px 14px;display:grid}.camera-discovery-intro strong,.camera-push-guidance strong{color:var(--ink);font-size:calc(11px * var(--ui-font-scale,1));display:block}.camera-discovery-intro p,.camera-push-guidance span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));text-wrap:pretty;margin:4px 0 0;line-height:1.65;display:block}.camera-discovery-state{border-radius:var(--radius-sm);color:#714c08;background:#fff2d9;gap:4px;padding:11px 13px;display:grid}.camera-discovery-state.neutral{color:var(--ink);background:#f7f4ef}.camera-discovery-state.progress{background:var(--primary-soft);color:var(--primary)}.camera-discovery-state.error{background:color-mix(in srgb, var(--danger) 10%, var(--surface));color:var(--danger)}.camera-discovery-state strong{font-size:calc(11px * var(--ui-font-scale,1));align-items:center;gap:7px;display:flex}.camera-discovery-state span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));text-wrap:pretty;line-height:1.6}.camera-discovery-submit{justify-self:start}.camera-discovery-node-link{justify-self:start;margin-top:4px}.camera-discovery-spinner{animation:.9s linear infinite camera-discovery-spin}.camera-discovery-results{gap:9px;display:grid}.camera-discovery-results-heading{gap:3px;display:grid}.camera-discovery-results-heading strong{color:var(--ink);font-size:calc(11px * var(--ui-font-scale,1))}.camera-discovery-results-heading span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));line-height:1.55}.camera-discovery-devices{gap:7px;display:grid}.camera-discovery-device{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.camera-discovery-device:hover{background:color-mix(in srgb, var(--primary-soft) 45%, var(--surface));border-color:var(--primary)}.camera-discovery-device:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 28%, transparent);outline-offset:2px}.camera-discovery-device>span:nth-child(2){gap:3px;min-width:0;display:grid}.camera-discovery-device strong{font-size:calc(11px * var(--ui-font-scale,1))}.camera-discovery-device small{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));overflow-wrap:anywhere}.camera-discovery-device>svg{color:var(--muted)}.camera-discovery-device-icon{background:var(--primary-soft);color:var(--primary);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.camera-manual-device-hint{background:var(--primary-soft);border:1px solid color-mix(in srgb, var(--primary) 18%, var(--line));border-radius:var(--radius-sm);color:var(--primary);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px 13px;display:grid}.camera-manual-device-hint strong{color:var(--ink);font-size:calc(11px * var(--ui-font-scale,1));display:block}.camera-manual-device-hint span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));margin-top:3px;line-height:1.6;display:block}@keyframes camera-discovery-spin{to{transform:rotate(360deg)}}.camera-push-guidance{min-height:64px}.camera-ingress-preview{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f7f4ef;gap:1px;display:grid;overflow:hidden}.camera-ingress-preview>div{background:var(--surface);grid-template-columns:auto 110px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px 12px;display:grid}.camera-ingress-preview svg{color:var(--primary)}.camera-ingress-preview span,.camera-ingress-preview small{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.camera-ingress-preview strong,.camera-ingress-preview code{font-size:calc(11px * var(--ui-font-scale,1));overflow-wrap:anywhere}.camera-ingress-preview>small{color:#8c5b00;background:#fff2d9;margin:0;padding:9px 12px}.camera-ingress-empty{justify-content:space-between;align-items:center;display:flex}.ingress-manager{gap:14px;display:grid}.ingress-guidance{background:var(--primary-soft);border-radius:var(--radius-sm);color:var(--primary);grid-template-columns:auto 1fr;align-items:start;gap:11px;padding:13px 14px;display:grid}.ingress-guidance strong{font-size:calc(11px * var(--ui-font-scale,1))}.ingress-guidance p{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));text-wrap:pretty;margin:4px 0 0;line-height:1.65}.ingress-manager-toolbar{justify-content:space-between;align-items:center;display:flex}.ingress-manager-toolbar>span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.ingress-manager-toolbar button,.ingress-binding-card button,.secret-input-row button{align-items:center;gap:5px;display:inline-flex}.ingress-binding-list{gap:12px;display:grid}.ingress-binding-card{border:1px solid var(--line);border-radius:var(--radius-md);gap:12px;padding:15px;display:grid}.ingress-binding-card>header{justify-content:space-between;align-items:start;display:flex}.ingress-binding-card>header>div{gap:3px;display:grid}.ingress-binding-card>header span{color:var(--primary);font-size:calc(11px * var(--ui-font-scale,1));font-weight:700}.ingress-binding-card>header strong{font-size:calc(15px * var(--ui-font-scale,1))}.ingress-binding-card dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.ingress-binding-card dl div{gap:3px;display:grid}.ingress-binding-card dt{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.ingress-binding-card dd{font-size:calc(11px * var(--ui-font-scale,1));margin:0}.ingress-endpoint-block,.ingress-reader-path{border-radius:var(--radius-sm);background:#f7f4ef;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:7px;padding:10px 11px;display:grid}.ingress-endpoint-block>span,.ingress-reader-path>span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.ingress-endpoint-block code,.ingress-reader-path code{font-size:calc(11px * var(--ui-font-scale,1));overflow-wrap:anywhere}.ingress-endpoint-block.secret>div{gap:5px;display:flex}.ingress-reader-path{grid-template-columns:145px minmax(0,1fr)}.ingress-reader-preview{background:var(--primary-soft);border-radius:var(--radius-sm);gap:5px;padding:10px 12px;display:grid}.ingress-reader-preview span{color:var(--primary);font-size:calc(11px * var(--ui-font-scale,1));font-weight:700}.ingress-reader-preview code{font-size:calc(11px * var(--ui-font-scale,1));overflow-wrap:anywhere}.ingress-binding-card>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding-top:10px;display:flex}.ingress-empty-state{border:1px dashed var(--line);border-radius:var(--radius-md);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px;display:flex}.ingress-empty-state svg{color:var(--primary)}.ingress-empty-state p{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));max-width:390px;margin:0;line-height:1.6}.secret-input-row{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;display:grid}.cms-layout{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:190px minmax(0,1fr) 260px;min-height:680px;display:grid;overflow:hidden}.cms-library{border-right:1px solid var(--line);flex-direction:column;padding:15px 10px;display:flex}.cms-library>label{margin:10px 8px 7px}.cms-library button{text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:26px 1fr;gap:2px;padding:10px;display:grid}.cms-library button strong{font-size:calc(11px * var(--ui-font-scale,1))}.cms-library button small{font-size:calc(11px * var(--ui-font-scale,1));grid-column:2}.cms-library button>span{border:1px solid var(--line);border-radius:6px;grid-row:1/3;justify-content:center;align-items:center;display:flex}.cms-library button.active,.cms-library button:hover{background:var(--primary-soft);color:var(--primary)}.cms-canvas{background:#ebe7e0;padding:18px}.canvas-bar{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.login-preview-canvas{background:#fff;border-radius:14px;grid-template-columns:1.1fr .9fr;min-height:390px;display:grid;overflow:hidden}.login-preview-canvas>aside{background:var(--preview-brand);color:#fff;flex-direction:column;justify-content:center;padding:38px;display:flex}.login-preview-canvas>aside span,.login-preview-canvas>aside p{color:#ffffffb3;font-size:calc(11px * var(--ui-font-scale,1));line-height:1.7}.login-preview-canvas h2{font-size:calc(28px * var(--ui-font-scale,1));margin:14px 0;line-height:1.35}.preview-form{align-self:center;gap:10px;padding:36px;display:grid}.preview-form>span,.preview-form label{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.preview-form h3{font-size:calc(22px * var(--ui-font-scale,1));margin:4px 0 10px}.preview-form label{gap:4px;display:grid}.preview-form input{border:1px solid var(--line);background:#f5f2ed;border-radius:7px;height:34px}.preview-form button{background:var(--preview-brand);color:#fff;border:0;border-radius:7px;height:35px}.preview-blocks{gap:1px;margin-top:12px;display:grid}.preview-blocks article{background:#fff;padding:20px}.preview-blocks article span{color:var(--primary);font-size:calc(11px * var(--ui-font-scale,1))}.preview-blocks h3{font-size:calc(16px * var(--ui-font-scale,1));margin:5px 0}.preview-blocks p{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.cms-inspector{border-left:1px solid var(--line);padding:16px}.cms-inspector label{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));gap:6px;margin-bottom:14px;display:grid}.cms-inspector input,.cms-inspector select{border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:100%;min-height:38px;padding:0 8px}.cms-inspector input[type=color]{padding:4px}.cms-inspector p{color:var(--primary);font-size:calc(11px * var(--ui-font-scale,1))}.license-layout{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:start;gap:20px;display:grid}.license-hero{background:var(--primary);border-radius:var(--radius-lg);color:#fff;flex-direction:column;min-height:260px;padding:28px;display:flex}.license-hero span,.license-hero small,.license-hero p{color:#ffffffb3}.license-hero-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.license-hero-heading>div{gap:6px;min-width:0;display:grid}.license-hero-heading>div>span{font-size:var(--type-label)}.license-remaining-days{text-align:right;flex:none;grid-template-columns:auto auto;align-items:baseline;line-height:1;display:grid}.license-remaining-days b{font-size:clamp(calc(42px * var(--ui-font-scale,1)), calc(5vw * var(--ui-font-scale,1)), calc(64px * var(--ui-font-scale,1)));letter-spacing:-.06em}.license-remaining-days>span{font-size:var(--type-label);margin-left:5px}.license-remaining-days small{font-size:var(--type-caption);grid-column:1/-1;margin-top:5px}.license-hero h2{font-size:var(--type-section-title);margin:0}.license-hero p{font-size:calc(13px * var(--ui-font-scale,1));max-width:540px;margin:22px 0;line-height:1.8}.license-hero-expiry{border-top:1px solid #fff3;justify-content:space-between;gap:16px;margin-top:auto;padding-top:16px;display:flex}.license-hero-expiry span{font-size:var(--type-caption)}.license-hero-expiry strong{font-size:var(--type-body);font-variant-numeric:tabular-nums}.license-form{flex-direction:column;padding:28px;display:flex}.license-form header h2{font-size:var(--type-section-title);margin:6px 0 24px}.license-form>label{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));gap:7px;margin-bottom:14px;display:grid}.license-form input{border:1px solid var(--line-strong);background:#fff;border-radius:9px;min-height:42px;padding:0 11px}.license-form input[readonly]{background:var(--surface-soft);color:var(--muted)}.license-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.license-plan-summary{background:var(--primary-soft);border-radius:var(--radius-md);grid-template-columns:42px 1fr;align-items:center;gap:12px;margin-bottom:18px;padding:14px;display:grid}.license-plan-summary>span{background:var(--surface-strong);color:var(--primary);border-radius:10px;justify-content:center;align-items:center;height:42px;display:flex}.license-plan-summary>div{gap:3px;display:grid}.license-plan-summary strong{font-size:calc(14px * var(--ui-font-scale,1))}.license-plan-summary small{font-size:calc(11px * var(--ui-font-scale,1));line-height:1.5}.license-features{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.license-features>header{color:var(--primary);align-items:center;gap:9px;display:flex}.license-features>header div{gap:2px;display:grid}.license-features>header strong{color:var(--ink);font-size:calc(13px * var(--ui-font-scale,1))}.license-features>header small{font-size:calc(11px * var(--ui-font-scale,1))}.license-features>div{grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;display:grid}.license-features>div span{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));align-items:center;gap:6px;display:flex}.license-features>div .license-legacy-notice{background:var(--wash);border:1px solid var(--line);grid-column:1/-1;padding:10px 12px;line-height:1.65}.license-features>div svg{color:var(--success)}.license-form>.primary-button{margin-top:4px}.license-form dl{margin:24px 0 0}.form-error{color:var(--danger);font-size:calc(12px * var(--ui-font-scale,1));background:#f5e9e7;border-radius:9px;margin-bottom:12px;padding:10px 12px}.form-message{color:var(--primary);font-size:calc(12px * var(--ui-font-scale,1))}.login-page{--brand:#315b4c;background:#f7f4ef;grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.login-brand{background:var(--brand);color:#fff;flex-direction:column;justify-content:center;padding:clamp(42px,7vw,100px);display:flex}.login-brand>div{max-width:680px}.login-brand span,.login-brand p,.login-brand small{color:#ffffffb3}.login-brand span{font-size:calc(14px * var(--ui-font-scale,1))}.login-brand h1{font-size:clamp(calc(40px * var(--ui-font-scale,1)), calc(5.2vw * var(--ui-font-scale,1)), calc(76px * var(--ui-font-scale,1)));letter-spacing:-.055em;margin:28px 0;line-height:1.25}.login-brand p{font-size:calc(16px * var(--ui-font-scale,1));max-width:560px;line-height:1.9}.login-brand>small{margin-top:auto}.login-form{align-self:center;gap:16px;width:100%;max-width:480px;margin:auto;padding:48px;display:grid}.login-form header span{color:var(--brand);font-size:calc(13px * var(--ui-font-scale,1));font-weight:700}.login-form h2{font-size:calc(34px * var(--ui-font-scale,1));margin:8px 0}.login-form header p{color:var(--muted);font-size:calc(13px * var(--ui-font-scale,1))}.login-form>label{color:var(--muted);font-size:calc(12px * var(--ui-font-scale,1));gap:7px;display:grid}.login-form input,.login-form select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;height:48px;padding:0 13px}.login-form>.primary-button{background:var(--brand);height:48px}.login-form footer{border-top:1px solid var(--line);color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));text-align:center;margin-top:8px;padding-top:16px}@media (max-width:1180px){.class-grid{grid-template-columns:repeat(2,1fr)}.cms-layout{grid-template-columns:170px 1fr}.cms-inspector{border-left:0;border-top:1px solid var(--line);grid-column:1/3}.metric-line{grid-template-columns:repeat(2,1fr)}.metric-line article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.metric-line article:nth-child(4){border-top:1px solid var(--line)}}@media (max-width:1100px){.page-header{flex-direction:column;align-items:stretch;gap:18px}.page-actions{align-items:stretch}}@media (max-width:900px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.desktop-sidebar-toggle{display:none}.sidebar{transition:transform var(--motion);width:min(320px,86vw);position:fixed;left:0;transform:translate(-105%);box-shadow:0 20px 60px #302a232e}.menu-open .sidebar{transform:translate(0)}.sidebar>header button,.menu-button{display:grid}.menu-open .scrim{z-index:40;background:#24211e73;border:0;display:block;position:fixed;inset:0}.topbar{padding:0 20px}.main-column>main{padding:28px 20px 64px}.camera-grid,.license-layout{grid-template-columns:1fr}.camera-setup-methods{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-setup-methods>:last-child:nth-child(odd){grid-column:1/-1}.member-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-brand{min-height:42vh}.login-brand>small{margin-top:40px}.login-form{padding:40px 24px}.cms-layout{grid-template-columns:1fr}.cms-library{border-bottom:1px solid var(--line);border-right:0;grid-template-columns:repeat(2,1fr);display:grid}.cms-library>label{grid-column:1/3}.cms-inspector{grid-column:1}.login-preview-canvas{grid-template-columns:1fr}.login-preview-canvas>aside{min-height:280px}}@media (max-width:620px){.topbar{height:56px;padding:0 14px}.topbar>span{display:none}.topbar-profile-link{margin-left:auto}.page-header{flex-direction:column;align-items:stretch}.page-actions{flex-direction:column;align-items:stretch;width:100%}.page-actions>:is(button,a){justify-content:center;width:100%;min-height:44px}.main-column>main{padding:24px 16px 48px}.app-content :where(input,select,textarea),.app-content :where(.surface,.state-panel){max-width:100%}.app-content :where(.table-wrap,.backup-table-wrap,.content-activity-table,.security-table-region,.system-service-table){overscroll-behavior-inline:contain;scrollbar-gutter:stable;max-width:100%}.app-shell .modal-layer{padding:12px}.app-shell .modal-card{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.search-input{width:100%;min-width:0}.class-grid,.metric-line,.camera-grid{grid-template-columns:1fr}.metric-line article+article{border-left:0;border-top:1px solid var(--line)}.member-grid{grid-template-columns:1fr}.data-list article{grid-template-columns:1fr auto}.data-list article b,.data-list article button{grid-area:1/2/3}.login-brand{padding:42px 24px}.login-brand h1{font-size:calc(38px * var(--ui-font-scale,1))}.cms-canvas{padding:10px}.login-preview-canvas>aside,.preview-form{padding:24px}.cms-library{grid-template-columns:1fr}.cms-library>label{grid-column:1}}@media (max-width:390px){.main-column>main{padding-inline:12px}.page-header{gap:14px;margin-bottom:18px}.page-header h1{overflow-wrap:anywhere}}.license-page{container-type:inline-size}@container (width<=760px){.license-layout{grid-template-columns:1fr}.license-hero{min-height:0;padding:24px}}@container (width<=440px){.license-hero-heading,.license-hero-expiry{flex-direction:column;align-items:flex-start}.license-remaining-days{text-align:left}}@media (max-width:900px){.menu-open .scrim{bottom:0;inset:0 0 0 min(320px,86vw)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.modal-layer{z-index:100;background:#211d197a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-lg);max-height:calc(100vh - 48px);overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;max-width:680px;max-height:calc(100dvh - 48px);font-size:var(--type-body);padding:24px;overflow:auto;box-shadow:0 28px 90px #24211e33}.modal-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;margin:-2px 0 22px;padding-bottom:18px;display:flex}.modal-card>header>div{flex:1 1 0;width:0;min-width:0}.modal-card>header h2{font-size:var(--type-section-title);margin:0 0 5px}.modal-card>header p{color:var(--muted);font-size:var(--type-body);margin:0;line-height:1.6}.modal-card>header>button{color:var(--muted);font-size:calc(25px * var(--ui-font-scale,1));background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:42px;height:42px;margin:-8px -8px 0 0;line-height:1;display:inline-flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid label{color:var(--muted);font-size:var(--type-label);gap:6px;display:grid}.form-grid label.wide,.form-grid>.wide{grid-column:1/3}.checkbox-fieldset{border:1px solid var(--line);border-radius:12px;margin:0;padding:12px 14px 14px}.checkbox-fieldset legend{color:var(--ink);font-size:var(--type-label);padding:0 6px;font-weight:800}.permission-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.permission-grid label{background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:calc(12px * var(--ui-font-scale,1));border-radius:9px;align-items:center;gap:8px;min-height:38px;padding:8px 10px;display:flex}.permission-grid input{width:auto;min-height:auto}.field-help{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1));margin:0 0 10px}.scope-management-panel>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.scope-management-panel>header p{color:var(--muted);margin:6px 0 0}.scope-group-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:20px;display:grid}.scope-group-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}.scope-group-card>header,.scope-group-card>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.scope-group-card>header div{display:grid}.scope-group-card>header small,.scope-group-card>footer small,.scope-group-card>p{color:var(--muted);font-size:calc(11px * var(--ui-font-scale,1))}.text-button.danger{color:var(--danger)}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line-strong);min-height:42px;font-size:var(--type-body);background:#fff;border-radius:9px;width:100%;padding:9px 11px}.form-grid textarea{resize:vertical;min-height:110px}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;display:flex}.inline-notice{background:var(--primary-soft);color:var(--primary);font-size:var(--type-label);border-radius:9px;margin:12px 0;padding:10px 12px}.license-repair-banner{color:#694a00;background:#fff4dc;border-bottom:1px solid #e7c777;align-items:center;gap:10px;padding:10px 28px;display:flex}.license-repair-banner>span{flex-wrap:wrap;flex:1;gap:6px;line-height:1.5;display:flex}.license-repair-banner a{color:inherit;white-space:nowrap;font-weight:700}@media (max-width:620px){.modal-layer{align-items:flex-end;padding:0}.modal-card{max-height:92vh;max-height:calc(100dvh - env(safe-area-inset-top));padding:20px;padding-bottom:max(20px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.form-grid{grid-template-columns:1fr}.form-grid label.wide,.form-grid>.wide{grid-column:1}.camera-ingress-preview>div{grid-template-columns:auto minmax(0,1fr)}.camera-setup-methods,.camera-audio-options{grid-template-columns:1fr}.camera-setup-method{min-height:0}.camera-page-actions{flex-direction:column;align-items:stretch}.camera-ingress-preview strong,.camera-ingress-preview code{grid-column:2}.ingress-manager-toolbar{flex-direction:column;align-items:stretch;gap:9px}.ingress-endpoint-block,.ingress-reader-path{grid-template-columns:1fr;align-items:start}.ingress-endpoint-block.secret>div{flex-wrap:wrap}.secret-input-row{grid-template-columns:minmax(0,1fr) auto}.secret-input-row button:last-child{grid-column:1/3;justify-content:center}.topbar>span{display:none}.scope-management-panel>header,.scope-group-card>footer{flex-direction:column;align-items:stretch}.form-actions{background:var(--surface-strong);z-index:4;padding-bottom:20px;position:sticky;bottom:-20px}}@media (max-width:420px){.topbar{padding:0 14px}.main-column>main{padding:24px 14px 56px}.page-header{gap:18px}.modal-card{padding-left:16px;padding-right:16px}.form-actions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;bottom:-20px}}.ai-completion-notice{z-index:1200;color:#17352d;background:#f2fbf6;border:1px solid #9acbb8;border-radius:.8rem;align-items:center;gap:.65rem;width:min(30rem,100vw - 2rem);padding:.8rem .9rem;display:flex;position:fixed;top:1rem;right:1rem;box-shadow:0 12px 34px #142d262e}.ai-completion-notice span{flex:1;line-height:1.45}.ai-completion-notice a{color:#0c6b50;flex:none;font-weight:700}.ai-completion-notice button{color:inherit;background:0 0;border:0;flex:none;place-items:center;padding:.2rem;display:grid}.check-label{flex-direction:row;align-items:center!important;display:flex!important}.check-label input{width:18px;height:18px;min-height:18px}.danger-text{color:var(--danger)!important}
