:root{--bg: #f4f6fa;--bg-tint: #eef1f6;--surface: #ffffff;--surface-soft: #f8fafc;--ink: #101828;--ink-soft: #344054;--muted: #667085;--line: #e4e7ec;--line-strong: #d0d5dd;--primary: #0b62d6;--primary-ink: #0a4fae;--primary-soft: #eaf2fe;--pink: #b42318;--pink-soft: #fef3f2;--mint: #067647;--mint-soft: #ecfdf3;--lemon: #b54708;--lemon-soft: #fffaeb;--sky: #0b62d6;--sky-soft: #eaf2fe;--danger: #b42318;--danger-soft: #fef3f2;--radius-xl: 14px;--radius-lg: 12px;--radius-md: 10px;--radius-sm: 8px;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 4px 10px -2px rgba(16, 24, 40, .08), 0 2px 4px -2px rgba(16, 24, 40, .04);--shadow-lg: 0 16px 40px -12px rgba(16, 24, 40, .2);--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sidebar-w: 248px;--ease: cubic-bezier(.22, .8, .32, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" on}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:none}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.022em;color:var(--ink)}p{margin:0}a{color:var(--primary-ink);text-decoration:none}button{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:3px solid rgba(11,98,214,.28);outline-offset:2px;border-radius:8px}::selection{background:#0b62d629}.mono{font-family:var(--mono);font-size:.92em;letter-spacing:-.01em}.muted{color:var(--muted)}.small{font-size:12.5px}.nowrap{white-space:nowrap}.spacer{flex:1}.row{display:flex;align-items:center;gap:10px}.row-wrap{flex-wrap:wrap}.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:4px}.fade-in{animation:fadeIn .28s var(--ease) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;background:var(--surface);color:var(--ink);font-weight:600;font-size:14px;line-height:1;padding:11px 18px;cursor:pointer;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s,border-color .16s;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px;flex:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px -10px #0b62d680}.btn-primary:hover:not(:disabled){background:var(--primary-ink)}.btn-soft{background:var(--primary-soft);color:var(--primary-ink);border-color:transparent}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink-soft)}.btn-ghost:hover:not(:disabled){background:var(--surface);border-color:var(--line-strong)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#fee4e2}.btn-sm{padding:8px 13px;font-size:13px;gap:6px}.btn-sm svg{width:14px;height:14px}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background .16s,transform .16s var(--ease),color .16s;position:relative}.icon-btn:hover{background:var(--surface-soft);color:var(--ink);transform:translateY(-1px)}.icon-btn svg{width:18px;height:18px}.icon-btn.plain{border-color:transparent;background:transparent}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-label{font-size:12.5px;font-weight:600;color:var(--ink-soft);letter-spacing:.01em}.field-hint{font-size:12px;color:var(--muted)}.input,.select,.textarea{width:100%;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-md);padding:11px 13px;font-size:14px;font-family:inherit;color:var(--ink);transition:border-color .16s,box-shadow .16s,background .16s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input::placeholder,.textarea::placeholder{color:#98a2b3}.input:hover,.select:hover,.textarea:hover{border-color:#d0d5dd}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:#0b62d68c;box-shadow:0 0 0 4px #0b62d61f}.input.error{border-color:var(--danger);box-shadow:0 0 0 4px #d94f461a}.textarea{min-height:88px;resize:vertical;line-height:1.55}.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238c8496' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer}.input-icon{position:relative;display:flex;align-items:center}.input-icon>svg{position:absolute;left:13px;width:17px;height:17px;color:var(--muted);pointer-events:none}.input-icon .input{padding-left:39px}.password-wrap{position:relative}.password-wrap .input{padding-right:46px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);padding:8px;border-radius:10px;cursor:pointer;display:flex}.password-toggle:hover{color:var(--ink);background:var(--surface-soft)}.password-toggle svg{width:17px;height:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .span-2{grid-column:span 2}.form-error{border-radius:var(--radius-md);background:var(--danger-soft);color:#b42318;padding:10px 13px;font-size:13px;font-weight:500}.form-note{border-radius:var(--radius-md);background:var(--sky-soft);color:#275c92;padding:10px 13px;font-size:13px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}.card-title{font-size:15px;font-weight:700}.card-sub{font-size:12.5px;color:var(--muted);margin-top:2px}.shell{position:relative;z-index:1;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px 18px;display:flex;flex-direction:column;gap:18px;border-right:1px solid rgba(228,217,210,.7)}.brand{display:flex;align-items:center;gap:11px;padding:6px 10px 2px}.brand-mark{width:38px;height:38px;border-radius:9px;background:var(--primary);display:grid;place-items:center;color:#fff;box-shadow:0 1px 2px #10182829;flex:none}.brand-mark svg{width:21px;height:21px}.brand-text strong{display:block;font-size:14.5px;letter-spacing:-.02em;line-height:1.2}.brand-text span{display:block;font-size:11.5px;color:var(--muted);letter-spacing:.02em}.nav{display:flex;flex-direction:column;gap:4px}.nav-section{margin-top:14px;padding:0 12px 6px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#667085}.nav-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:13px;color:var(--ink-soft);font-size:14px;font-weight:500;transition:background .16s,color .16s,transform .16s var(--ease);position:relative}.nav-link svg{width:18px;height:18px;color:#667085;transition:color .16s;flex:none}.nav-link:hover{background:#ffffffb8;color:var(--ink);transform:translate(1px)}.nav-link.active{background:var(--surface);color:var(--primary-ink);font-weight:600;box-shadow:var(--shadow-xs),inset 0 0 0 1px var(--line)}.nav-link.active svg{color:var(--primary)}.nav-link.active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:4px;height:20px;border-radius:0 4px 4px 0;background:var(--primary)}.nav-badge{margin-left:auto;font-size:11px;font-weight:700;background:var(--primary-soft);color:var(--primary-ink);border-radius:999px;padding:2px 8px}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.user-chip{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:15px;background:#ffffffb3;border:1px solid var(--line);transition:background .16s,box-shadow .16s}.user-chip:hover{background:var(--surface);box-shadow:var(--shadow-xs)}.user-chip-body{min-width:0;flex:1}.user-chip-name{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip-role{font-size:11px;color:var(--muted);text-transform:capitalize}.avatar{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:12.5px;flex:none;letter-spacing:.01em}.avatar.lg{width:46px;height:46px;border-radius:15px;font-size:15px}.avatar.sm{width:28px;height:28px;border-radius:10px;font-size:11px}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:14px 32px;background:#fbf7f4d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(239,231,226,.9)}.topbar-search{flex:1;max-width:460px}.topbar-search .input{background:#ffffffd9;border-radius:999px;padding:9px 15px 9px 40px;font-size:13.5px}.topbar-search .input-icon>svg{left:15px}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.topbar-date{font-size:12.5px;color:var(--muted);font-weight:500;white-space:nowrap}.page{padding:26px 32px 56px;width:100%;max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.page-head{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.page-title{font-size:26px;line-height:1.2;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.page-sub{color:var(--muted);font-size:13.5px;margin-top:5px}.page-actions{margin-left:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.wave{display:inline-block;animation:wave 2.4s var(--ease) 1;transform-origin:70% 70%}@keyframes wave{0%,60%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-6deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card:after{content:"";position:absolute;width:110px;height:110px;right:-46px;top:-50px;border-radius:50%;background:var(--tint, var(--primary-soft));opacity:.7}.stat-top{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.stat-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--tint, var(--primary-soft));color:var(--tone, var(--primary))}.stat-icon svg{width:18px;height:18px}.stat-label{font-size:12.5px;font-weight:600;color:var(--muted)}.stat-value{font-size:27px;font-weight:800;letter-spacing:-.04em;margin-top:12px;line-height:1.1;position:relative;z-index:1;font-variant-numeric:tabular-nums}.stat-foot{font-size:12px;color:var(--muted);margin-top:4px;position:relative;z-index:1}.stat-foot b{color:var(--ink-soft);font-weight:700}.progress{height:7px;border-radius:999px;background:var(--bg-tint);overflow:hidden}.progress>span{display:block;height:100%;border-radius:999px;background:var(--primary);transition:width .5s var(--ease)}.progress.mint>span{background:var(--mint)}.progress.lemon>span{background:var(--lemon)}.progress.pink>span{background:var(--pink)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-scroll{overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table thead th{position:sticky;top:0;background:#f8fafc;text-align:left;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#667085;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap;z-index:2}.table tbody td{padding:13px 16px;border-bottom:1px solid #eef1f6;vertical-align:middle}.table tbody tr{transition:background .13s;cursor:pointer}.table tbody tr:hover{background:#f8fafc}.table tbody tr:last-child td{border-bottom:0}.table tbody tr.is-selected{background:var(--primary-soft)}.row-chevron svg{width:15px;height:15px;color:#c0c6d0;transition:transform .16s,color .16s}.table tbody tr:hover .row-chevron svg{color:var(--primary);transform:translate(2px)}.cell-stack{display:flex;flex-direction:column;gap:1px;min-width:0}.cell-title{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.cell-sub{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.port-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 8px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--line);font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink-soft)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700;letter-spacing:.01em;text-transform:capitalize;white-space:nowrap}.pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.9}.pill.no-dot:before{display:none}.pill-occupied{background:var(--mint-soft);color:#16795a}.pill-empty{background:#eef1f6;color:#667085}.pill-reserved{background:var(--lemon-soft);color:#9a6407}.pill-fault{background:var(--pink-soft);color:#b42318}.role-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize}.role-admin{background:var(--primary-soft);color:var(--primary-ink)}.role-editor{background:var(--sky-soft);color:#24639c}.role-viewer{background:#eef1f6;color:#667085}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--line);font-size:11.5px;font-weight:600;color:var(--ink-soft);white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.dot-live{background:#34c48f;box-shadow:0 0 0 3px #34c48f29}.dot-off{background:#98a2b3}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.toolbar .input-icon{flex:1;min-width:220px}.toolbar .input,.toolbar .select{border-radius:12px;background:#f8fafc;font-size:13.5px;padding-top:9px;padding-bottom:9px}.toolbar .select{min-width:158px;width:auto}.toolbar-count{margin-left:auto;font-size:12.5px;color:var(--muted);font-weight:500;white-space:nowrap}.segmented{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:12px;background:#eef1f6;border:1px solid var(--line)}.segment{border:0;background:transparent;border-radius:9px;padding:7px 11px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .16s,color .16s,box-shadow .16s;white-space:nowrap}.segment:hover{color:var(--ink-soft)}.segment.active{background:var(--surface);color:var(--primary-ink);box-shadow:var(--shadow-xs)}.segment .count{font-size:10.5px;opacity:.6;margin-left:3px}.pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);background:#f8fafc}.pagination-info{font-size:12.5px;color:var(--muted)}.page-btn{min-width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;transition:background .14s,border-color .14s,color .14s}.page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary-ink)}.page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn svg{width:14px;height:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#10182873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .16s var(--ease)}.port-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}.port-detail>section{min-width:0}.port-detail>section:last-child{grid-column:1 / -1}.port-detail .kv-grid{grid-template-columns:minmax(0,1fr);gap:0}.port-detail .kv{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line)}.port-detail .kv:last-child{border-bottom:0}.port-detail .kv-label{margin-bottom:0;color:var(--muted)}.port-detail .kv-full{grid-column:auto}@media(max-width:720px){.port-detail{grid-template-columns:minmax(0,1fr)}.port-detail .kv{grid-template-columns:110px minmax(0,1fr)}}.section-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.kv{min-width:0}.kv-label{font-size:11.5px;color:var(--muted);margin-bottom:2px}.kv-value{font-size:13.5px;font-weight:500;color:var(--ink);overflow-wrap:anywhere}.kv-value.empty{color:#98a2b3;font-weight:400}.kv-full{grid-column:span 2}.copy-row{display:flex;align-items:center;gap:6px}.copy-btn{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:4px;display:inline-flex;cursor:pointer;transition:background .14s,color .14s}.copy-btn:hover{background:var(--surface-soft);color:var(--primary-ink)}.copy-btn svg{width:13px;height:13px}.remark-box{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px;font-size:13px;color:var(--ink-soft);white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:61;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:popIn .22s var(--ease);overflow:hidden}.modal.wide{width:min(720px,calc(100vw - 32px))}@keyframes popIn{0%{transform:translate(-50%,-48%) scale(.97);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.modal-head{padding:20px 22px 14px;display:flex;align-items:flex-start;gap:14px}.modal-body{padding:0 22px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.modal-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px;background:var(--surface-soft)}.modal-title{font-size:18px;letter-spacing:-.02em}.modal-sub{font-size:12.5px;color:var(--muted);margin-top:3px}.toast-stack{position:fixed;bottom:22px;right:22px;z-index:90;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:10px;background:var(--ink);color:#fff;border-radius:14px;padding:12px 15px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);animation:toastIn .24s var(--ease)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.toast svg{width:16px;height:16px;flex:none;margin-top:1px}.toast-success{background:#17795a}.toast-error{background:#b42318}.toast-info{background:#344054}.empty{padding:54px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.empty-art{width:96px;height:96px;border-radius:12px;background:var(--surface-soft);display:grid;place-items:center;margin-bottom:8px;border:1px solid var(--line)}.empty-art svg{width:42px;height:42px;color:var(--primary);opacity:.75}.empty h3{font-size:15.5px}.empty p{font-size:13px;color:var(--muted);max-width:340px}.skeleton{background:linear-gradient(90deg,#eef1f6 25%,#f7f9fc 37%,#eef1f6 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:8px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-line{height:11px;margin:6px 0}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}.spinner.ink{border-color:#0b62d633;border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px;color:var(--muted);font-size:13px}.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.site-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:13px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s;cursor:pointer;text-align:left}.site-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cfe0f8}.site-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.site-name{font-size:14.5px;font-weight:700;letter-spacing:-.015em;line-height:1.35}.site-code{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}.site-metrics{display:flex;gap:16px}.site-metric b{display:block;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.site-metric span{font-size:11px;color:var(--muted)}.site-foot{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--muted)}.dash-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:start}.dash-col{display:flex;flex-direction:column;gap:16px;min-width:0}.ring-card{display:flex;align-items:center;gap:22px}.ring{--pct: 0;width:118px;height:118px;border-radius:50%;background:conic-gradient(var(--primary) calc(var(--pct) * 1%),#e9edf4 0);display:grid;place-items:center;position:relative;flex:none}.ring:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;background:var(--surface)}.ring-inner{position:relative;text-align:center}.ring-value{font-size:22px;font-weight:800;letter-spacing:-.04em;line-height:1}.ring-label{font-size:10.5px;color:var(--muted);margin-top:3px;font-weight:600}.legend{display:flex;flex-direction:column;gap:9px;flex:1}.legend-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft)}.legend-row b{margin-left:auto;font-variant-numeric:tabular-nums}.legend-dot{width:8px;height:8px;border-radius:3px;flex:none}.list-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eef1f6}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-row:first-child{padding-top:0}.list-num{width:26px;height:26px;border-radius:9px;background:var(--surface-soft);border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--muted);flex:none;font-variant-numeric:tabular-nums}.list-body{min-width:0;flex:1}.list-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-sub{font-size:11.5px;color:var(--muted)}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-action{display:flex;flex-direction:column;gap:7px;align-items:flex-start;padding:13px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;transition:background .16s,border-color .16s,transform .16s var(--ease);text-align:left;font-size:12.5px;font-weight:600;color:var(--ink-soft)}.quick-action:hover{background:var(--surface);border-color:#cfe0f8;transform:translateY(-1px)}:root[data-theme=dark] .quick-action{background:var(--surface-soft);border-color:var(--line-strong);color:var(--ink)}:root[data-theme=dark] .quick-action:hover{background:var(--primary-soft);border-color:var(--primary)}.quick-action svg{width:17px;height:17px;color:var(--primary)}.quick-action.span-2{grid-column:span 2}.auth-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);padding:18px;gap:18px}.auth-visual{position:relative;border-radius:14px;background:#eef3fa;border:1px solid var(--line);padding:38px;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}.auth-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(11,98,214,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(11,98,214,.06) 1px,transparent 1px);background-size:28px 28px;z-index:-1}.auth-brand{display:flex;align-items:center;gap:11px}.auth-brand .brand-mark{width:42px;height:42px;border-radius:14px}.auth-visual h1{margin-top:auto;font-size:clamp(28px,3.2vw,40px);line-height:1.12;letter-spacing:-.04em;max-width:13ch}.auth-visual h1 em{font-style:normal;color:var(--primary-ink)}.auth-visual p{margin-top:12px;max-width:40ch;color:var(--ink-soft);font-size:14px;line-height:1.6}.auth-visual-foot{margin-top:30px;display:flex;gap:8px;flex-wrap:wrap}.auth-tag{display:inline-flex;align-items:center;gap:6px;background:#ffffffb8;border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;color:var(--ink-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-tag svg{width:14px;height:14px;color:var(--primary)}.auth-illustration{position:absolute;right:-18px;bottom:96px;width:260px;opacity:.95;pointer-events:none}.auth-panel{display:grid;place-items:center;padding:24px}.auth-card{width:min(400px,100%);display:flex;flex-direction:column;gap:18px;animation:fadeIn .35s var(--ease)}.auth-card h2{font-size:24px;letter-spacing:-.03em}.auth-card .auth-sub{color:var(--muted);font-size:13.5px;margin-top:5px}.auth-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:6px}.auth-hint{font-size:12px;color:var(--muted);background:#f7f9fc;border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:10px 13px;line-height:1.55}.auth-hint code{font-family:var(--mono);background:#fff;border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:11.5px}.login-error{display:flex;align-items:flex-start;gap:8px;background:var(--danger-soft);color:#b42318;padding:11px 13px;border-radius:var(--radius-md);font-size:13px;font-weight:500}.login-error svg{width:15px;height:15px;flex:none;margin-top:1px}.public-shell{position:relative;z-index:1;min-height:100vh;padding:22px 18px 48px}.public-inner{max-width:1160px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.public-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.public-badge{display:inline-flex;align-items:center;gap:6px;background:var(--primary-soft);color:var(--primary-ink);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.public-badge svg{width:13px;height:13px}.public-title-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:24px 26px;box-shadow:var(--shadow-sm);display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.public-title{font-size:22px;letter-spacing:-.03em}.public-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:12.5px;color:var(--muted)}.public-meta b{color:var(--ink-soft);font-weight:600}.mobile-nav,.mobile-only,.mobile-admin-link{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.divider{height:1px;background:var(--line);margin:2px 0}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:0;margin-bottom:2px;overflow-x:auto}.tab{border:0;background:transparent;padding:10px 12px 12px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .16s,border-color .16s}.tab:hover{color:var(--ink-soft)}.tab.active{color:var(--primary-ink);border-bottom-color:var(--primary)}.note-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-md);background:var(--lemon-soft);color:#7c5306;font-size:12.5px;line-height:1.55;border:1px solid #fedf89}.note-card svg{width:16px;height:16px;flex:none;margin-top:1px}.link-text{border:0;background:transparent;color:var(--primary-ink);font-weight:600;font-size:12.5px;cursor:pointer;padding:0}.link-text:hover{text-decoration:underline}.code-box{display:flex;align-items:center;gap:8px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;font-family:var(--mono);font-size:12px;color:var(--ink-soft);overflow-wrap:anywhere}.code-box span{flex:1;min-width:0}.activity-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--surface-soft);color:var(--muted)}.activity-icon svg{width:15px;height:15px}.activity-icon.create,.activity-icon.share_create{background:var(--mint-soft);color:#16795a}.activity-icon.update,.activity-icon.password_change,.activity-icon.password_reset{background:var(--sky-soft);color:#24639c}.activity-icon.delete,.activity-icon.share_revoke,.activity-icon.share_delete{background:var(--pink-soft);color:#b42318}.activity-icon.login{background:var(--primary-soft);color:var(--primary-ink)}@media(max-width:1180px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:960px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar{padding:12px 16px}.topbar-date{display:none}.page{padding:18px 16px 96px}.page-title{font-size:22px}.mobile-admin-link{display:inline-flex}.mobile-nav{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-md);padding:7px;gap:4px}.mobile-nav-link{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:14px;font-size:10.5px;font-weight:600;color:var(--muted)}.mobile-nav-link svg{width:19px;height:19px}.mobile-nav-link.active{background:var(--primary-soft);color:var(--primary-ink)}.auth-shell{grid-template-columns:minmax(0,1fr);padding:0;gap:0}.auth-visual{display:none}.auth-mobile-brand{display:flex}.auth-panel{min-height:100vh;padding:24px 20px 40px}.toast-stack{bottom:88px;right:16px;left:16px;max-width:none}}@media(max-width:720px){.topbar-search{max-width:none}.page-actions{width:100%}.page-actions .btn{flex:1}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.kv-grid{grid-template-columns:1fr}.kv-full{grid-column:span 1}.toolbar .select{flex:1}.desktop-only{display:none!important}.mobile-only{display:block}.table-scroll .table{min-width:640px}.card-pad{padding:17px}.card-head{padding:15px 17px}.modal,.modal.wide{width:calc(100vw - 20px);max-height:calc(100vh - 32px)}.port-detail .kv{grid-template-columns:1fr;gap:2px}.public-shell{padding:14px 12px 36px}.public-title-card{padding:18px}.site-grid{grid-template-columns:1fr}.hide-sm{display:none!important}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px;border-radius:var(--radius-md)}.stat-value{font-size:23px;margin-top:9px}}@media(max-width:420px){.stat-grid{grid-template-columns:1fr}.btn{padding:10px 15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.stat-card-link,.site-card-link{text-decoration:none;color:inherit;cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.stat-card-link:hover,.site-card-link:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.stat-card-link:focus-visible,.site-card-link:focus-visible{outline:3px solid rgba(11,98,214,.28);outline-offset:2px}.stat-card-link .stat-foot:after{content:"→";margin-left:6px;color:var(--primary);opacity:0;transition:opacity .16s,transform .16s}.stat-card-link:hover .stat-foot:after{opacity:1}.table-dense th,.table-dense td{padding:9px 12px;font-size:12.5px;white-space:nowrap}.table-dense th{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.table-dense tbody tr:hover{background:var(--surface-soft)}.table-dense .cell-sub{display:block;font-size:11px;color:var(--muted)}.filters-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.mini-bar{display:inline-block;width:64px;height:6px;border-radius:999px;background:var(--bg-tint);overflow:hidden}.mini-bar>span{display:block;height:100%;background:var(--primary)}.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.card-sub{font-size:12px;color:var(--muted);margin-top:2px}.plain-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--ink-soft);line-height:1.55}.plain-list code{font-family:var(--mono);font-size:12px;background:var(--surface-soft);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;margin-top:14px}.check-row{display:flex;align-items:center;gap:9px;font-size:13px}.check-dot{width:20px;height:20px;border-radius:999px;display:inline-grid;place-items:center;font-size:11px;font-weight:700;color:#fff;flex:none}.check-dot.ok{background:var(--mint)}.check-dot.bad{background:var(--danger)}.copy-field{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;overflow-x:auto}.copy-field code{font-family:var(--mono);font-size:12px;color:var(--ink-soft);white-space:nowrap}.search-input{position:relative;display:flex;align-items:center}.search-input>svg{position:absolute;left:12px;width:15px;height:15px;color:var(--muted);pointer-events:none}.search-input .input{padding-left:34px}.link{color:var(--primary);text-decoration:none}.link:hover{text-decoration:underline}:root{--bg: #f2f7fc;--bg-tint: #e5f0fa;--surface: rgba(255, 255, 255, .82);--surface-soft: #f4f9fe;--ink: #162a42;--ink-soft: #405a75;--muted: #607b95;--line: rgba(98, 143, 184, .2);--line-strong: #b9cfe2;--primary: #0b62d6;--primary-ink: #0752b4;--primary-soft: #e4f1ff;--radius-xl: 22px;--radius-lg: 18px;--radius-md: 13px;--radius-sm: 10px;--shadow-sm: 0 8px 26px rgba(72, 86, 126, .06), 0 1px 2px rgba(72, 86, 126, .04);--sidebar-w: 224px}:root[data-theme=dark]{--bg: #0b1829;--bg-tint: #1a3047;--surface: rgba(22, 43, 65, .9);--surface-soft: #203b56;--ink: #edf7ff;--ink-soft: #c4d9ea;--muted: #9ab8ce;--line: rgba(147, 191, 221, .18);--line-strong: #54728d;--primary: #80c2ff;--primary-ink: #a5d5ff;--primary-soft: #173e65;--mint: #5bd0a1;--mint-soft: #163f38;--lemon: #edbc68;--lemon-soft: #493b28;--pink: #f295a0;--pink-soft: #4c2e3d;--sky: #a5c7ff;--sky-soft: #273e5c;--danger: #ffacb6;--danger-soft: #4c2e3d;--shadow-sm: 0 8px 26px rgba(0, 0, 0, .17)}body{background:var(--bg)}body:before{background:radial-gradient(ellipse at 80% 0%,rgba(135,199,255,.22),transparent 42%),radial-gradient(ellipse at 5% 90%,rgba(154,220,242,.16),transparent 40%)}:root[data-theme=dark] body:before{background:radial-gradient(ellipse at 80% 0%,rgba(37,120,187,.22),transparent 42%),radial-gradient(ellipse at 5% 90%,rgba(36,132,165,.12),transparent 40%)}.sidebar,.topbar,.mobile-nav{background:var(--surface);border-color:var(--line);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.sidebar{background:color-mix(in srgb,var(--surface) 76%,transparent)}.brand-mark{background:linear-gradient(145deg,#1685ed,#0756bd);box-shadow:0 6px 16px #0b62d63d}.nav-link.active,.user-chip,.topbar-search .input{background:var(--surface);border-color:var(--line)}.nav-link:hover,.user-chip:hover{background:var(--surface-soft)}.card,.table-wrap,.stat-card,.site-card,.toolbar,.public-title-card{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.page{max-width:1480px}.page-wide{max-width:none}.main,.page-wide,.table-wrap{min-width:0}.page-wide .table-scroll{overflow-x:auto;overscroll-behavior-x:contain}.page-wide .table{min-width:max-content}.table thead th{background:var(--surface-soft);color:var(--muted)}.table tbody td{border-color:var(--line)}.table tbody tr:hover{background:var(--surface-soft)}.table-dense th,.table-dense td{padding:13px 14px}.table-dense th{letter-spacing:.035em}.toolbar .input,.toolbar .select,.input,.select{background-color:var(--surface-soft);color:var(--ink);border-color:var(--line-strong)}.theme-toggle{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink-soft);cursor:pointer;box-shadow:var(--shadow-xs)}.theme-toggle:hover{background:var(--primary-soft);color:var(--primary-ink)}.theme-toggle svg{width:18px;height:18px}.theme-toggle-floating{position:fixed;z-index:45;top:14px;right:16px}:root[data-theme=dark] .btn-primary{color:#0b1829}:root[data-theme=dark] .btn-primary:hover:not(:disabled){background:#add9ff}:root[data-theme=dark] .btn-danger:hover:not(:disabled){background:#633b49}:root[data-theme=dark] .note-card{background:var(--lemon-soft);color:#ffdc9f;border-color:#6b593e}:root[data-theme=dark] .status-pill.empty,:root[data-theme=dark] .badge{background:var(--surface-soft);color:var(--ink-soft)}:root[data-theme=dark] .modal,:root[data-theme=dark] .modal-foot,:root[data-theme=dark] .auth-panel{background:var(--bg);color:var(--ink)}:root[data-theme=dark] .topbar-search .input{background:var(--surface-soft)}@media(max-width:960px){.page{padding:18px 16px 96px}}:root[data-theme=dark] .pill-occupied{color:#87e4bc}:root[data-theme=dark] .pill-empty,:root[data-theme=dark] .role-viewer{background:var(--surface-soft);color:var(--ink-soft)}:root[data-theme=dark] .pill-reserved{color:#f8cc82}:root[data-theme=dark] .pill-fault{color:#ffb0ba}:root[data-theme=dark] .role-editor{color:#b4d5ff}:root[data-theme=dark] .segmented,:root[data-theme=dark] .auth-hint{background:var(--surface-soft)}.share-intro{display:flex;align-items:flex-start;gap:14px}.share-intro-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;color:var(--primary-ink);background:var(--primary-soft)}.share-intro p{margin-top:5px}.share-list{margin-top:8px}.share-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:16px 0}.share-row-main{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.share-row-actions{display:flex;flex-wrap:wrap;gap:8px}.legacy-form{display:flex;gap:10px;margin-top:15px}.legacy-form .input{flex:1;min-width:0}@media(max-width:720px){.share-row{align-items:flex-start;flex-direction:column}.legacy-form{flex-direction:column}}.table-hint{padding:9px 14px;color:var(--muted);font-size:11.5px;border-bottom:1px solid var(--line)}.table-hint span{color:var(--primary);margin-left:4px}.password-form{display:flex;flex-direction:column;gap:14px}.setup-inner{display:flex;flex-direction:column;gap:20px;max-width:680px;margin:0 auto}.setup-brand{align-self:flex-start;margin-bottom:4px}.setup-output{font-family:var(--mono);font-size:12px;resize:vertical;overflow-wrap:anywhere}.advanced-filters{display:grid;gap:18px}.advanced-filters .form-grid{gap:16px}.filter-toggle{white-space:nowrap}.select option{background:var(--surface);color:var(--ink)}.select{color-scheme:inherit}.site-table{min-width:640px}.share-row-actions{align-items:center;flex-shrink:0}.share-url{display:block;max-width:620px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.account-admin-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}@media(max-width:720px){.filter-toolbar .input-icon{flex-basis:100%}.filter-toolbar .select{min-width:0}.share-row-actions{width:100%}}.switch-expand{display:inline-flex;align-items:center;gap:9px;padding:4px 0;border:0;background:transparent;color:var(--primary-ink);font:inherit;font-weight:700;text-align:left;cursor:pointer}.switch-expand svg{width:16px;height:16px;flex:none;transition:transform .16s}.switch-expand svg.expanded{transform:rotate(180deg)}.switch-expand:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:3px}.table tbody .switch-detail-row,.table tbody .switch-detail-row:hover{background:var(--surface-soft);cursor:default}.table tbody .switch-detail-row>td{padding:16px}.switch-customers{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.switch-customers-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px}.switch-customers-head p{margin-top:4px}.switch-customers-message{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;color:var(--muted);border-top:1px solid var(--line)}.switch-customer-scroll{border-top:1px solid var(--line)}.switch-customer-table{min-width:1050px}.switch-customer-table tbody tr{cursor:default}@media(max-width:720px){.switch-customers-head{align-items:flex-start;flex-direction:column}}.user-role-filters button{border:0;border-radius:9px;background:transparent;color:var(--muted);padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.user-role-filters button.active{background:var(--surface);color:var(--primary-ink);box-shadow:var(--shadow-sm)}.share-links-table-wrap{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius-md)}.share-links-table{min-width:760px}.share-links-table tbody tr{cursor:default}.mobile-admin-menu{display:none}.mobile-admin-button{border:0;background:transparent;font-family:inherit;cursor:pointer}@media(max-width:960px){.mobile-admin-menu{display:flex;flex-direction:column;position:fixed;right:12px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:41;min-width:190px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-md)}}.material-select.MuiInputBase-root{width:100%;min-height:43px;border-radius:var(--radius-md);background:var(--surface-soft);color:var(--ink);font:inherit;font-size:14px}.material-select .MuiSelect-select{padding:10px 36px 10px 13px;min-height:0}.material-select .MuiOutlinedInput-notchedOutline{border-color:var(--line-strong)}.material-select.MuiInputBase-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--muted)}.material-select.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--primary);border-width:2px}.material-select .MuiSvgIcon-root{color:var(--muted)}.material-select-menu.MuiPaper-root{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:min(320px,60vh)}.material-select-menu .MuiMenuItem-root{font-family:var(--font);font-size:14px;min-height:42px}.material-select-menu .MuiMenuItem-root:hover,.material-select-menu .MuiMenuItem-root.Mui-focusVisible{background:var(--surface-soft)}.material-select-menu .MuiMenuItem-root.Mui-selected{background:var(--primary-soft);color:var(--primary-ink)}.toolbar .material-select.MuiInputBase-root{width:auto;min-width:158px;min-height:39px}.filters-row .material-select.MuiInputBase-root{width:auto;min-width:180px}@media(max-width:720px){.toolbar .material-select.MuiInputBase-root{flex:1;min-width:0}}.shared-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.shared-sidebar{position:sticky;top:0;height:100vh;padding:25px 16px;background:var(--surface);border-right:1px solid var(--line)}.shared-sidebar .brand{padding:0 8px}.shared-nav{display:flex;flex-direction:column;gap:4px;margin-top:36px}.shared-main{min-width:0;padding:28px 32px 60px}.shared-main .public-inner{max-width:1300px;margin:0 auto}.shared-switch-table{min-width:680px}.shared-switch-table tbody tr{cursor:default}@media(max-width:960px){.shared-shell{display:block}.shared-sidebar{position:static;height:auto;padding:14px 16px;border-right:0;border-bottom:1px solid var(--line)}.shared-nav{flex-direction:row;margin-top:14px}.shared-nav .nav-link{flex:1;justify-content:center}.shared-main{padding:20px 16px 48px}}.switch-list-table>tbody>tr:not(.switch-detail-row){cursor:default}.material-select-menu.MuiPaper-root{background-color:#fff;background-image:none;opacity:1;-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=dark] .material-select-menu.MuiPaper-root{background-color:#162b41;background-image:none}
