:root{--bg: #08090b;--bg-elevated: #0f1013;--surface: #0f1013;--surface-2: #17181c;--surface-hover: #17181c;--sidebar-bg: #08090b;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--text: #f5f5f7;--text-secondary: #9a9aa2;--text-muted: #5c5c64;--accent: #6c5ce7;--accent-hover: #7c6df0;--accent-soft: rgba(108, 92, 231, .14);--on-accent: #ffffff;--success: #0f8a66;--danger: #cc4444;--danger-hover: #b83d3d;--warning: #a97b12;--neutral: rgba(255, 255, 255, .06);--neutral-hover: rgba(255, 255, 255, .1);--disabled: #17181c;--ok-text: #7ee0c3;--danger-text: #f17c7c;--warn-text: #f2c879;--info-text: #85c3f6;--ok-soft: rgba(126, 224, 195, .1);--danger-soft: rgba(241, 124, 124, .1);--warn-soft: rgba(242, 200, 121, .1);--selection: rgba(108, 92, 231, .3);--scrim: rgba(8, 9, 11, .6);--font-body: "Geist", "Segoe UI", sans-serif;--font-mono: "Geist Mono", Consolas, Menlo, monospace;--scrollbar-hover: #33343a;--r-sm: 8px;--r-md: 12px;--r-lg: 16px}:root[data-theme=light]{--bg: #f5f6f8;--bg-elevated: #ffffff;--surface: #ffffff;--surface-2: #eeeff2;--surface-hover: #eeeff2;--sidebar-bg: #f5f6f8;--border: rgba(16, 18, 24, .1);--border-strong: rgba(16, 18, 24, .18);--text: #1a1b1f;--text-secondary: #5a5b63;--text-muted: #8a8b93;--accent-soft: rgba(108, 92, 231, .12);--neutral: rgba(16, 18, 24, .05);--neutral-hover: rgba(16, 18, 24, .09);--disabled: #eeeff2;--ok-text: #0f8a66;--danger-text: #cc4444;--warn-text: #a97b12;--info-text: #3e63d0;--ok-soft: rgba(15, 138, 102, .1);--danger-soft: rgba(204, 68, 68, .1);--warn-soft: rgba(169, 123, 18, .1);--scrollbar-hover: #c3c5cc}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.45;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover);background-clip:padding-box}.app-shell{display:flex;height:100vh;overflow:hidden}.shell-main{flex:1;display:flex;flex-direction:column;min-width:0}#main{flex:1;padding:26px 32px 40px;overflow-y:auto;scrollbar-gutter:stable}h1,h2,h3{margin-top:0;font-weight:600;color:var(--text);letter-spacing:-.02em}h1{letter-spacing:-.025em}a{color:var(--accent-hover)}.page{max-width:1600px;margin:0 auto}.fullscreen-center{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:var(--text-secondary)}.center-state{padding:48px;text-align:center;color:var(--text-secondary)}.center-state.boxed{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.muted-cell{color:var(--text-secondary)}.mono{font-family:var(--font-mono)}#sidebar{position:relative;width:230px;background:var(--sidebar-bg);color:var(--text);display:flex;flex-direction:column;padding:0 16px 22px;border-right:1px solid var(--border);transition:width .2s ease,padding .2s ease}.nav-burger{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:10px;height:64px;margin:0 -16px 16px;padding:0 24px;border-bottom:1px solid var(--border);overflow:hidden;white-space:nowrap;text-decoration:none}.sidebar-brand img{width:34px;height:34px;border-radius:var(--r-md);flex-shrink:0}.sidebar-brand-name{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text)}.sidebar-menu{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;white-space:nowrap}.sidebar-scrim{display:none}#sidebar ul{list-style:none;padding:0;margin:0}#sidebar li{margin-bottom:4px}#sidebar a{display:flex;align-items:center;gap:12px;color:var(--text-secondary);text-decoration:none;padding:11px 14px;border-radius:var(--r-md);font-size:14px;font-weight:500;overflow:hidden;transition:background .18s ease,color .18s ease,padding .2s ease}#sidebar a:hover{background:var(--surface-hover);color:var(--text)}#sidebar a.active{background:var(--surface-hover);color:var(--text);font-weight:600}#sidebar a.active .nav-icon{color:var(--accent-hover)}.nav-icon{width:18px;height:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.nav-label{flex:1}.nav-count{background:var(--surface-2);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px}#sidebar a.active .nav-count{background:var(--accent);color:var(--on-accent)}.sidebar-collapse{position:absolute;left:100%;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-secondary);cursor:pointer;z-index:5;transition:background .15s ease,color .15s ease}.sidebar-collapse:hover{background:var(--surface-hover);color:var(--text)}@media(min-width:821px){#sidebar.collapsed{width:64px;padding:0 10px 22px}#sidebar.collapsed .sidebar-brand{justify-content:center;margin-left:-10px;margin-right:-10px;padding:0}#sidebar.collapsed .sidebar-brand-name,#sidebar.collapsed .nav-label,#sidebar.collapsed .nav-count{display:none}#sidebar.collapsed ul a{justify-content:center;padding:11px 0}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px;flex-shrink:0;padding:0 28px;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.topbar-status{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);min-width:0}.topbar-right{display:flex;align-items:center;gap:18px;flex-shrink:0}.user-menu{position:relative;flex-shrink:0}.user-btn{display:flex;align-items:center;background:transparent;border:1px solid transparent;padding:4px;border-radius:999px;cursor:pointer;font-family:inherit;transition:background .15s ease}.user-btn:hover{background:var(--surface-hover)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;object-fit:cover;flex-shrink:0}.avatar-lg{width:40px;height:40px;font-size:16px}.dropdown{position:absolute;right:0;top:50px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:224px;max-width:calc(100vw - 24px);padding:6px;z-index:1100;animation:fadeIn .15s ease}.dropdown-header{padding:10px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}.dropdown-header .dh-name{font-size:14px;font-weight:600;color:var(--text)}.dropdown-header .dh-mail{font-size:12px;color:var(--text-muted);margin-top:2px;word-break:break-all}.dropdown-header .dh-role{display:inline-block;margin-top:8px;font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover)}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;color:var(--text);border-radius:var(--r-md);cursor:pointer;font-size:14px;text-align:left;font-family:inherit}.dropdown-item:hover{background:var(--surface-hover)}.dropdown-item.danger{color:var(--danger-text)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border);position:relative}.page-header:after{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:2px;background:var(--accent)}.page-header h1{font-size:22px;margin:0}.page-hint{font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--text-muted);margin:0 0 18px}.page-hint+table{margin-top:0}table{width:100%;border-collapse:collapse;margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}th,td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--border)}tbody td{height:60px;padding-top:6px;padding-bottom:6px;vertical-align:middle}tbody tr:last-child td{border-bottom:none}th{background:var(--bg-elevated);font-family:var(--font-mono);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.th-right{text-align:right}td{color:var(--text);font-size:14px}tr.row{cursor:pointer;transition:background .15s ease}tr.row:hover{background:var(--surface-hover)}td.name-cell,.name-cell{font-weight:500}.cell-sub{font-size:.85em;color:var(--text-muted)}.cell-stack{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-stack .name-cell,.cell-stack .cell-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.id-cell{font-family:var(--font-mono);font-size:13px}.actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:8px}input,select,textarea{margin:0;padding:10px 14px;width:100%;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);font-family:inherit;font-size:14px;box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease}input::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select option{background:var(--surface);color:var(--text)}label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.field{margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:none;border-radius:var(--r-md);font-family:inherit;font-size:14px;font-weight:600;color:#fff;cursor:pointer;white-space:nowrap;transition:background .18s ease,transform .12s ease}.btn:active{transform:translateY(1px)}.btn:disabled{background:var(--disabled);color:var(--text-muted);cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-neutral{background:var(--neutral);color:var(--text)}.btn-neutral:hover:not(:disabled){background:var(--neutral-hover)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--r-md);cursor:pointer;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);transition:background .18s ease,color .18s ease,transform .12s ease}.icon-btn:active{transform:translateY(1px)}.icon-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn.primary:hover:not(:disabled){color:var(--accent-hover)}.icon-btn.danger:hover:not(:disabled){color:var(--danger-text)}.icon-btn.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.icon-btn.accent:hover:not(:disabled){background:var(--accent-hover);color:var(--on-accent)}.icon-circle-btn{width:38px;height:38px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.icon-circle-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-circle-btn:active{transform:translateY(1px)}.btn.btn-icon{width:42px;height:42px;padding:0;flex-shrink:0;justify-content:center}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-count{background:var(--accent-soft);color:var(--accent-hover)}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2);color:var(--text-secondary)}.platform-cell{display:inline-flex;align-items:center;gap:8px}.platform-icon{display:inline-flex;flex-shrink:0}.platform-icon.android{color:#3ddc84}.platform-icon.ios{color:var(--text-secondary)}.platform-icon.webgl{color:#e8842a}.platform-icon.editor{color:var(--accent-hover)}:root[data-theme=light] .platform-icon.android{color:#1d9e5c}:root[data-theme=light] .platform-icon.ios{color:#46474f}.chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip:hover{background:var(--surface-hover);color:var(--text)}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.chip-count{color:var(--text-muted);font-family:var(--font-mono);font-weight:600}.search{position:relative;display:flex;align-items:center;flex:1;min-width:180px}.search svg{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.search input{padding-left:38px;padding-right:34px}.search-clear{position:absolute;right:8px;display:inline-flex;padding:2px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm)}.search-clear:hover{color:var(--text)}.toolbar-select{width:auto;min-width:220px;flex-shrink:0;cursor:pointer}.picker{position:relative;flex-shrink:0}.picker-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:220px;height:38px;padding:0 12px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer}.picker-button:hover{background:var(--surface-hover)}.picker-placeholder{color:var(--text-muted)}.picker-panel{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:max(260px,100%);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden;animation:fadeIn .12s ease}.picker-search{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-muted)}.picker-search input{flex:1;min-width:0;border:none;background:none;font:inherit;color:var(--text);outline:none}.picker-list{list-style:none;margin:0;padding:4px;max-height:280px;overflow-y:auto}.picker-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;font:inherit;text-align:left;color:var(--text);background:none;border:none;border-radius:var(--r-sm);cursor:pointer}.picker-option.is-active{background:var(--surface-hover)}.picker-option[aria-selected=true]{color:var(--accent-hover);font-weight:600}.picker-empty{padding:12px 10px;color:var(--text-muted)}.sub-layout{display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:start}.sub-nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:0}.sub-nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;font:inherit;font-weight:500;text-align:left;color:var(--text-secondary);background:none;border:none;border-radius:var(--r-md);cursor:pointer}.sub-nav-item:hover{background:var(--surface-hover);color:var(--text)}.sub-nav-item.active{background:var(--surface-hover);color:var(--text);font-weight:600}.sub-nav-item.active svg{color:var(--accent-hover)}.sub-nav-item span:first-of-type{flex:1}.sub-content{min-width:0}.platform-row{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:28px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px}.stat-label{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px}.stat-value{font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}.stat-value .stat-sub{font-size:14px;font-weight:500;color:var(--text-muted)}.dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dash-section-head h2{margin:0;font-size:16px}.project-cell{display:flex;align-items:center;gap:12px;min-width:0}.project-icon{width:38px;height:38px;border-radius:9px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;background:linear-gradient(135deg,hsl(var(--tile-hue) 55% 48%),hsl(calc(var(--tile-hue) + 40) 55% 34%))}.bundle-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bundle-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.bundle-tag button{display:inline-flex;padding:2px;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.bundle-tag button:hover{background:var(--danger-soft);color:var(--danger-text)}.detail-card{display:flex;flex-wrap:wrap;gap:14px 28px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:20px}.detail-item{display:flex;flex-direction:column;gap:4px;min-width:0}.detail-label{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.detail-value{font-family:var(--font-mono);font-size:13px;overflow-wrap:anywhere}.back-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease}.modal-content{background:var(--surface);border:1px solid var(--border);padding:26px 30px;border-radius:var(--r-lg);width:100%;max-width:440px;max-height:calc(100vh - 40px);overflow-y:auto;animation:fadeIn .2s ease}.modal-content.wide{max-width:880px}.modal-content h2{margin-top:0;margin-bottom:18px;font-size:18px;color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.dialog-message{color:var(--text-secondary);margin:4px 0 16px}.toast-stack{position:fixed;top:10px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2000}.toast-item{padding:10px 16px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:13px;animation:toastDrop .3s cubic-bezier(.2,.9,.3,1.2)}@keyframes toastDrop{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.toast-item.success{border-color:var(--success)}.toast-item.error{border-color:var(--danger)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(60% 50% at 50% 0%,var(--accent-soft),transparent 70%),var(--bg)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:32px 28px;text-align:center}.login-card img{width:52px;height:52px;border-radius:var(--r-md)}.login-card h1{font-size:20px;margin:14px 0 6px}.login-card p{color:var(--text-secondary);margin:0 0 24px}.btn-google{width:100%;padding:11px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:border-color .18s ease,background .18s ease}.btn-google:hover:not(:disabled){border-color:var(--accent);background:var(--surface-hover)}.btn-google:disabled{opacity:.55;cursor:not-allowed}.login-domains{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);line-height:1.7}.notice{padding:10px 14px;border-radius:var(--r-md);font-size:13px;margin-bottom:14px;text-align:left}.notice.error{background:var(--danger-soft);color:var(--danger-text)}.notice.ok{background:var(--ok-soft);color:var(--ok-text)}@media(max-width:820px){.app-shell{flex-direction:column;height:100dvh;position:relative}.shell-main{min-height:0}#sidebar{position:relative;width:auto;flex-direction:row;align-items:center;gap:12px;padding:8px 12px;border-right:none;border-bottom:1px solid var(--border);flex-shrink:0}.nav-burger{display:inline-flex}.sidebar-collapse{display:none}.sidebar-brand{height:auto;margin:0;padding:0;border-bottom:none}.sidebar-brand img{display:none}.sidebar-menu{position:fixed;top:0;left:0;bottom:0;z-index:300;width:min(236px,70vw);padding:14px 12px;background:var(--sidebar-bg);border-right:1px solid var(--border);transform:translate(-100%);transition:transform .25s ease}#sidebar.open .sidebar-menu{transform:translate(0);box-shadow:24px 0 48px #00000059}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .25s ease}#sidebar.open .sidebar-scrim{opacity:1;pointer-events:auto}.topbar{position:absolute;top:0;right:8px;height:55px;padding:0;gap:10px;background:transparent;border-bottom:none;z-index:100}.topbar-status{display:none}h1{font-size:19px}.page-hint{display:none}#main{padding:16px 14px 32px;overflow-x:hidden}th,td{padding:10px 12px}tbody td{height:52px;padding-top:5px;padding-bottom:5px}td{font-size:13px}.project-icon{width:32px;height:32px;border-radius:8px;font-size:14px}.project-cell{gap:9px}.toolbar-select{width:100%;min-width:0}.sub-layout{grid-template-columns:1fr;gap:14px}.sub-nav{flex-direction:row;flex-wrap:wrap;position:static}.picker,.picker-button{width:100%;min-width:0}.detail-card{padding:12px 14px;gap:10px 18px}.modal-content{padding:20px}}@media(max-width:700px){.hide-sm{display:none}}.id-cell .badge{margin-left:8px}.role-select{width:auto;min-width:120px;cursor:pointer}.json-editor.json-editor{--jse-theme-color: var(--bg-elevated);--jse-theme-color-highlight: var(--surface-hover);--jse-menu-color: var(--accent-hover);--jse-background-color: var(--surface);--jse-panel-background: var(--bg-elevated);--jse-panel-color-readonly: var(--text-muted);--jse-text-color: var(--text);--jse-text-color-inverse: var(--bg);--jse-main-border: 1px solid var(--border);--jse-panel-border: 1px solid var(--border);--jse-context-menu-background: var(--surface-2);--jse-context-menu-background-highlight: var(--surface-hover);--jse-context-menu-color: var(--text);--jse-hover-background-color: var(--surface-hover);--jse-selection-background-color: var(--accent-soft);--jse-key-color: var(--text-secondary);--jse-value-color: var(--text);--jse-value-color-number: var(--warn-text);--jse-value-color-boolean: var(--info-text);--jse-value-color-null: var(--text-muted);--jse-value-color-string: var(--ok-text);--jse-delimiter-color: var(--text-muted);--jse-font-family-mono: var(--font-mono);--jse-font-size-mono: 13px;--jse-input-background: var(--bg-elevated);--jse-input-border: 1px solid var(--border-strong);--jse-button-background: var(--accent);--jse-button-background-highlight: var(--accent-hover);--jse-button-color: var(--on-accent);--jse-button-secondary-background: var(--neutral);--jse-button-secondary-background-highlight: var(--neutral-hover);--jse-button-secondary-color: var(--text);--jse-modal-background: var(--surface);--jse-modal-overlay-background: var(--scrim);--jse-tag-background: var(--accent-soft);--jse-tag-color: var(--accent-hover);--jse-edit-outline: 2px solid var(--accent);height:520px;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.editor-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.editor-note{color:var(--text-muted);font-size:13px}.diff-list{max-height:340px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:18px}.diff-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) 14px minmax(0,1fr);align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:12.5px}.diff-row:last-child{border-bottom:none}.diff-path{color:var(--text);overflow-wrap:anywhere}.diff-from{color:var(--danger-text);overflow-wrap:anywhere}.diff-arrow{color:var(--text-muted);text-align:center}.diff-to{color:var(--ok-text);overflow-wrap:anywhere}@media(max-width:700px){.diff-row{grid-template-columns:1fr;gap:2px}.diff-arrow{display:none}.json-editor{height:min(440px,55vh)}.json-editor.is-compact{height:min(380px,45vh)}}.table-wrap{width:100%;overflow-x:auto}@media(max-width:820px){.table-wrap table{min-width:540px}}@media(max-width:700px){.table-wrap{overflow-x:visible}.table-wrap table{min-width:0}.table-wrap thead{display:none}.table-wrap tr{display:block;padding:12px 14px;border-bottom:1px solid var(--border)}.table-wrap tbody tr:last-child{border-bottom:none}.table-wrap td{display:flex;align-items:center;justify-content:space-between;gap:14px;height:auto;padding:4px 0;border:none;text-align:right}.table-wrap td:before{content:attr(data-label);flex-shrink:0;color:var(--text-muted);font-size:12px;text-align:left}.table-wrap td:first-child{justify-content:flex-start;text-align:left;padding-bottom:8px;font-size:14px}.table-wrap td:first-child:before{content:none}.table-wrap td:not([data-label]){justify-content:flex-end;padding-top:8px}.table-wrap .hide-sm{display:flex}}.packed-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.packed-label{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.packed-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.packed-chip:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.json-editor.is-compact{height:380px;margin-bottom:16px}.json-editor .jse-tag{background:transparent;color:var(--text-muted);padding:0 2px;font-size:11px}
