:root,html[data-theme=light]{color-scheme:light;--bg: #eef2f4;--card: #ffffff;--text: #152033;--muted: #667085;--line: rgba(21, 32, 51, .1);--accent: #0279ff;--accent-dim: rgba(2, 121, 255, .12);--danger: #d64545;--ok: #1f9d55;--nav: #152033;--hero-a: #8ecae6;--hero-b: #b7d4f5;--hero-c: #eef2f4;--panel-shadow: 0 18px 50px rgba(21, 32, 51, .1);--glass: rgba(255, 255, 255, .58);--glass-border: rgba(255, 255, 255, .78);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .86), 0 12px 40px rgba(21, 32, 51, .08);--glass-text: #102038;--glass-muted: #334155;--glass-accent: #0056d6;--glass-chip: rgba(0, 86, 214, .16)}html[data-theme=dark]{color-scheme:dark;--bg: #0e141c;--card: #151d28;--text: #e8eef6;--muted: #93a0b3;--line: rgba(255, 255, 255, .1);--accent: #4da3ff;--accent-dim: rgba(77, 163, 255, .16);--danger: #f07178;--ok: #3ecf8e;--nav: #f4f7fb;--hero-a: #102033;--hero-b: #12304a;--hero-c: #0e141c;--panel-shadow: 0 18px 50px rgba(0, 0, 0, .35);--glass: rgba(12, 18, 28, .58);--glass-border: rgba(255, 255, 255, .16);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 12px 40px rgba(0, 0, 0, .28);--glass-text: #f2f6fb;--glass-muted: #c5d0de;--glass-accent: #8ec5ff;--glass-chip: rgba(142, 197, 255, .2)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text);overflow-x:clip;touch-action:pan-x pan-y}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 34%,transparent) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 28%,transparent);border-radius:99px;border:1px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 46%,transparent)}body{font-family:Noto Sans SC,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}a{color:var(--accent);text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:transparent;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled):not(.btn-fill){background:var(--accent-dim)}.btn-ghost:hover:not(:disabled){background:var(--accent-dim)}.btn-fill{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:650;height:40px}.btn-fill.compact,.btn-ghost.compact{width:auto;min-width:140px}.btn-fill:hover:not(:disabled){filter:none;background:color-mix(in srgb,var(--accent) 86%,#0b1a33);border-color:color-mix(in srgb,var(--accent) 86%,#0b1a33)}.btn-fill.danger-fill{background:var(--danger);border-color:var(--danger);color:#fff;min-width:120px}.btn-fill.danger-fill:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 86%,#1a0b0b);border-color:color-mix(in srgb,var(--danger) 86%,#1a0b0b)}.btn-ghost,button.secondary{background:transparent}button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}input,textarea,select{width:100%;max-width:360px;background:color-mix(in srgb,var(--card) 70%,var(--bg));border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none}select{height:40px;padding:0 12px;width:auto;max-width:none;min-width:128px;cursor:pointer}input:focus,textarea:focus,select:focus{border-color:var(--accent)}input[type=checkbox]{width:auto;max-width:none;height:auto;padding:0;border:0;background:transparent;accent-color:var(--accent)}textarea{max-width:none}.app-frame{position:relative;min-height:100vh;overflow:visible;display:flex;flex-direction:column;--content-inset: 16px;--content-width: min(640px, calc(100% - var(--content-inset) * 2))}.app-frame.is-wide,.app-frame.is-admin{--content-inset: 24px;--content-width: calc(100% - var(--content-inset) * 2)}.hero{position:absolute;inset:0 0 auto;height:50vh;min-height:240px;overflow:hidden;background:linear-gradient(180deg,var(--hero-a) 0%,var(--hero-c) 100%)}.carousel-images{position:absolute;inset:0;z-index:0}.carousel-image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease-in-out}.carousel-image.is-active{opacity:1}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:#0006}.hero:after{content:"";position:absolute;inset:auto 0 0;z-index:1;height:28%;background:linear-gradient(transparent,var(--bg))}.top-chrome{position:relative;z-index:5}.overlay-nav{position:relative;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:1rem 2rem;color:#fff;background:transparent}.site-title{display:flex;align-items:center;gap:10px;min-width:0;font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-logo{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}.desktop-menu{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end}.desktop-menu>a,.menu-item-btn{color:#fff;text-decoration:none;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;background:transparent;border:0;height:auto;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.25);transition:background-color .2s ease}.desktop-menu>a:hover,button.menu-item-btn:hover:not(:disabled),button.user-chip:hover:not(:disabled){background:#ffffff26}.icon-wrapper{width:18px;height:18px;display:flex;align-items:center;justify-content:center}.icon-wrapper svg{width:100%;height:100%;fill:currentColor}.user-chip{display:inline-flex;align-items:center;gap:8px;height:auto;color:#fff;padding:.35rem .8rem .35rem .35rem;border:0;background:transparent;list-style:none;cursor:pointer}.user-chip img{width:28px;height:28px;border-radius:50%;object-fit:cover}.desktop-menu .user-chip{border-radius:8px}.desktop-menu .user-chip:hover{background:#ffffff26}.app-tabs{position:relative;z-index:2;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 1.7rem .35rem}.app-tabs a,.app-tabs summary{color:#fff;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.25)}.app-tabs a:hover,.app-tabs a.active,.app-tabs summary:hover{background:#ffffff26}.app-tabs a.active{font-weight:700}.app-tabs .nav-menu-trigger{color:#fff;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.25);border:0;background:transparent;height:auto}.app-tabs .nav-menu-trigger:hover:not(:disabled),.app-tabs .nav-menu-trigger[aria-expanded=true]{background:#ffffff26}.nav-menu{position:relative}.nav-menu summary{list-style:none;cursor:pointer}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu-list{position:absolute;top:calc(100% + 6px);left:0;min-width:168px;max-width:min(240px,calc(100vw - 32px));max-height:min(70vh,360px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--panel-shadow);display:grid;z-index:20}.nav-menu-list a{color:var(--text)!important;border-radius:8px;text-shadow:none}.theme-menu{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.theme-menu.is-open{z-index:20}.theme-menu-list{position:absolute;top:calc(100% + 8px);right:0;min-width:176px;width:max-content;max-width:min(240px,calc(100vw - 32px));max-height:min(70vh,320px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:var(--panel-shadow);display:grid;gap:2px;z-index:30}.theme-menu-list.is-fixed{position:fixed;top:auto;right:auto;left:auto;z-index:400;pointer-events:auto;isolation:isolate}.theme-menu-list button,.theme-menu-list a{position:relative;z-index:1;display:flex;width:100%;min-height:40px;justify-content:flex-start;align-items:center;gap:.75rem;height:auto;padding:.7rem .85rem;border:0;border-radius:8px;color:var(--text);background:transparent;text-decoration:none;text-shadow:none;box-sizing:border-box}.theme-menu-list button:hover:not(:disabled),.theme-menu-list button.active,.theme-menu-list a:hover{background:var(--accent-dim)}.theme-menu-list button.active{color:var(--accent);font-weight:600}.theme-menu-list .icon-wrapper{width:16px;height:16px;color:inherit;flex-shrink:0}.theme-menu-list,.nav-menu-list{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 32%,transparent) transparent}.theme-menu-list::-webkit-scrollbar,.nav-menu-list::-webkit-scrollbar{width:8px}.theme-menu-list::-webkit-scrollbar-track,.nav-menu-list::-webkit-scrollbar-track{background:transparent}.theme-menu-list::-webkit-scrollbar-thumb,.nav-menu-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 28%,transparent);border-radius:99px;border:2px solid transparent;background-clip:padding-box}.stage{position:relative;z-index:2;width:var(--content-width);margin:calc(50vh - 230px) auto 0;flex:1}.stage.wide{width:var(--content-width);max-width:none;margin:12px auto 0}.app-footer{position:relative;z-index:2;text-align:center;padding:2rem 1rem;margin-top:4rem;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);background:var(--bg)}.powered-by{margin:0 0 1rem;font-size:.9rem}.powered-by a{color:var(--text);font-weight:500}.powered-by a:hover{color:var(--accent)}.copyright{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0;font-size:.8rem;opacity:.8}.copyright a{color:var(--muted);transition:color .2s}.copyright a:hover,.separator{color:var(--text)}.panel,.page{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--panel-shadow);padding:28px}.page h2,.panel h1{margin:0 0 8px;font-size:24px;font-weight:700}.auth-panel{padding:36px 32px 28px}.auth-panel .btn-fill{width:100%;margin-top:18px}.hint{margin:16px 0 0;color:var(--muted);font-size:13px}.stack{display:grid;gap:14px}.muted{color:var(--muted)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.filter-bar{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;margin:0 0 14px;overflow-x:auto;padding-bottom:2px}.combined-search{display:flex;flex:1 1 220px;min-width:180px;max-width:520px;border:1px solid var(--line);border-radius:10px;overflow:visible;background:color-mix(in srgb,var(--text) 4%,var(--card))}.combined-search .ui-select.is-embedded .ui-select-trigger{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;min-width:118px;max-width:160px;box-shadow:none}.combined-search .ui-select.is-grow{flex:1;min-width:0}.combined-search .ui-select.is-grow .ui-select-trigger{width:100%;max-width:none;border-right:0}.combined-search input{flex:1;min-width:0;max-width:none;border:0;background:transparent;border-radius:0}.app-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}button.app-tile{text-align:left;cursor:pointer;width:100%;font:inherit;appearance:none}.warn-text{color:#c2410c;font-weight:650}.toolbar input{max-width:320px}.toolbar input.filter-input,.toolbar input[type=datetime-local]{max-width:190px}.toolbar-end{margin-left:auto;flex-shrink:0}.export-btn{min-width:72px;padding:0 12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;flex-wrap:wrap}.section-head h2{margin:0}.section-head>div p{margin:8px 0 0;max-width:72ch;line-height:1.55}.example-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.card{background:color-mix(in srgb,var(--bg) 55%,var(--card));border:1px solid var(--line);border-radius:12px;padding:4px 8px;overflow-x:auto}.meta-grid{display:grid;grid-template-columns:140px 1fr;gap:16px;padding-top:8px}.meta-label{color:var(--muted);font-size:12px;margin-bottom:4px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500}.banner,.alert{padding:10px 12px;border-radius:10px;background:var(--accent-dim)}.alert.error,.banner.error{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--card))}.error{color:var(--danger)}.alert.ok,.ok{color:var(--ok)}.token-box{display:block;width:100%;min-height:96px;resize:none;word-break:break-all;max-width:none}.token-box.is-masked{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card) 70%,var(--bg));color:var(--muted);user-select:none;-webkit-user-select:none;cursor:default;white-space:pre-wrap}.token-actions{margin-top:18px}.token-actions>input,.token-actions>button,.token-actions .btn-fill,.token-actions .btn-ghost{height:40px}.token-actions>input{max-width:220px;padding:0 12px}.token-example{margin-top:22px;display:grid;gap:16px}.token-example .muted{margin:0}.example-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.example-copy{height:32px;padding:0 10px;font-size:13px}.token-example pre{margin:8px 0 0;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,var(--card));border:1px solid var(--line);overflow-x:auto;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-all}label.muted{display:inline-flex;align-items:center;gap:6px}iframe.doc-frame{width:100%;max-width:100%;min-width:0;height:min(78vh,920px);border:1px solid var(--line);border-radius:12px;background:#fff;display:block}.data-panel:has(.doc-frame){min-width:0;overflow:hidden}.docs-action-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:14px}.workspace{display:grid;gap:18px;min-width:0}.page-glass,.page-head{border-radius:16px;background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6)}.page-glass{display:grid;gap:12px;padding:20px 24px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:nowrap;padding:20px 24px;color:var(--glass-text)}.page-head>:first-child{flex:1 1 auto;min-width:0}.page-head>:not(:first-child){flex:0 1 auto;align-self:start;margin-top:2px}.page-head h1{margin:0;font-size:24px;font-weight:700;line-height:1.25}.page-head>:first-child>p,.page-head>:first-child>.muted{margin:6px 0 0}.page-glass .page-head{padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.page-head .toolbar{margin:0}.page-head .muted,.page-glass .muted{margin:0;color:var(--glass-muted)}.page-glass .banner,.page-glass .alert{margin:0;background:color-mix(in srgb,var(--text) 7%,transparent)}.page-glass .alert.ok{background:color-mix(in srgb,var(--ok) 14%,transparent)}.page-glass .banner.error,.page-glass .alert.error{background:color-mix(in srgb,var(--danger) 14%,transparent)}.role-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--accent-dim);color:var(--accent)}.chip.staff{background:color-mix(in srgb,var(--text) 10%,var(--card));color:var(--text)}.page-head .chip,.page-glass .chip{background:var(--glass-chip);color:var(--glass-accent)}.page-head .chip.staff,.page-glass .chip.staff{background:color-mix(in srgb,var(--glass-text) 14%,transparent);color:var(--glass-text)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.dash-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--panel-shadow);padding:22px;color:inherit;min-height:148px;transition:border-color .15s ease,transform .15s ease}.dash-card:hover{border-color:var(--accent);transform:translateY(-1px)}.dash-kicker{font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.04em}.dash-card h2{margin:8px 0;font-size:18px}.dash-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.data-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--panel-shadow);padding:22px 24px;min-width:0;max-width:100%}.data-panel h2,.page h2{margin:0 0 14px;font-size:18px}.data-panel .section-head h2{margin:0}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-scroll table{width:max-content;min-width:100%}.table-scroll th,.table-scroll td{white-space:nowrap;vertical-align:middle}.table-scroll .copy-id{max-width:none}.page-refreshing{transition:opacity .18s ease;opacity:.78}.inline-refresh{font-size:12px;color:var(--muted);margin-left:8px;font-weight:400}.info-list{display:grid;gap:14px;margin:0}.info-list dt{font-size:12px;color:var(--muted);margin-bottom:4px}.info-list dd{margin:0}.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border, rgba(127, 127, 127, .22))}.dash-metric{display:flex;flex-direction:column;gap:4px;min-width:0}.dash-metric-label{font-size:12px;color:var(--muted);line-height:1.35}.dash-metric-value{font-size:18px;font-weight:650;letter-spacing:.01em}@media(max-width:720px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.pager{display:flex;align-items:center;gap:8px;padding:12px 4px 0;flex-wrap:nowrap;overflow-x:auto}.pager-meta{white-space:nowrap}.pager-size{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0;white-space:nowrap;color:var(--muted);font-size:13px}.pager-size .ui-select-trigger{height:36px;min-width:72px}.table-empty{text-align:center;color:var(--muted);padding:32px 8px!important}.table-link{color:inherit;font-weight:650;text-decoration:none}.table-link:hover{color:var(--muted);text-decoration:none}tr.is-clickable{cursor:pointer}tr.is-clickable:hover td{background:color-mix(in srgb,var(--accent) 8%,transparent)}.tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:650;vertical-align:middle}.tag.warn{color:color-mix(in srgb,#c47b16 80%,var(--text));background:color-mix(in srgb,#c47b16 16%,transparent)}.tag.perm-caller,.tag.perm-siteRead,.tag.perm-siteAct,.tag.perm-none{margin-left:0}.tag.perm-caller{color:color-mix(in srgb,var(--accent) 80%,var(--text));background:color-mix(in srgb,var(--accent) 14%,transparent)}.tag.perm-siteRead{color:color-mix(in srgb,#c47b16 80%,var(--text));background:color-mix(in srgb,#c47b16 16%,transparent)}.tag.perm-siteAct{color:color-mix(in srgb,#7c3aed 80%,var(--text));background:color-mix(in srgb,#7c3aed 16%,transparent)}.tag.perm-none{color:var(--muted);background:color-mix(in srgb,var(--muted) 16%,transparent)}.copy-id{height:auto;padding:0;border:0;background:none;color:inherit;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start}button.copy-id:hover:not(:disabled){background:transparent;color:var(--muted)}.insight-panel h2{margin-bottom:6px}.insight-panel h3{margin:0 0 8px;font-size:13px;color:var(--muted)}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:12px}.insight-grid ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:13px}.diff-table{font-size:13px}.diff-table th:nth-child(1),.diff-table td:nth-child(1){width:28%}.diff-table tr.is-changed td:nth-child(2),.diff-table tr.is-changed td:nth-child(3){background:color-mix(in srgb,var(--accent) 8%,transparent)}.diff-table tr.is-changed td:nth-child(3){font-weight:650}.reason-link{color:var(--text);background:none;border:0;height:auto;padding:0;justify-content:flex-start;text-align:left;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.reason-link:hover:not(:disabled){background:transparent;color:var(--accent)}.modal-backdrop{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:24px;background:#0c121c75;backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1)}html[data-theme=light] .modal-backdrop{background:#15203352}.toast-stack{position:fixed;top:18px;left:50%;z-index:800;display:grid;gap:8px;width:min(420px,calc(100vw - 32px));transform:translate(-50%);pointer-events:none}.toast{padding:10px 16px;border-radius:12px;border:1px solid transparent;box-shadow:var(--panel-shadow);font-size:13px;font-weight:650;text-align:center;animation:toast-in .22s ease}.toast-count{margin-left:8px;opacity:.78;font-variant-numeric:tabular-nums}.toast.ok{background:color-mix(in srgb,var(--ok) 16%,var(--card));border-color:color-mix(in srgb,var(--ok) 38%,var(--line));color:var(--ok)}.toast.error{background:color-mix(in srgb,var(--danger) 14%,var(--card));border-color:color-mix(in srgb,var(--danger) 36%,var(--line));color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-card{width:min(560px,100%);max-height:min(86vh,720px);overflow:auto;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:var(--panel-shadow);padding:22px 24px 18px}.modal-card.wide{width:min(720px,100%);max-height:min(92vh,900px)}.oauth-block{margin-top:8px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:14px}.oauth-status{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:650;background:var(--accent-dim);color:var(--text)}.oauth-status.pending{background:#fff7ed;color:#9a3412}.oauth-status.approved{background:#ecfdf3;color:#166534}.oauth-status.rejected{background:#fef2f2;color:#b91c1c}.oauth-status.revoked{background:#f1f5f9;color:#475569}.oauth-status.disabled{background:#fff7ed;color:#9a3412}.modal-card h2{margin:0 0 10px;font-size:18px;font-weight:700}.modal-body{display:grid;gap:12px;color:var(--text);font-size:14px;line-height:1.6}.modal-body p,.modal-body .muted{margin:0}.modal-body textarea,.modal-body input{max-width:none}.modal-body textarea{min-height:96px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-btn{height:40px;min-width:96px;padding:0 16px;width:auto;border-radius:10px;font-weight:600}.modal-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.modal-btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 86%,#0b1a33);border-color:color-mix(in srgb,var(--accent) 86%,#0b1a33)}.modal-btn.primary.danger{background:var(--danger);border-color:var(--danger)}.modal-btn.primary.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 86%,#1a0b0b);border-color:color-mix(in srgb,var(--danger) 86%,#1a0b0b)}.detail-list{display:grid;gap:10px;margin:0}.detail-list>div{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:start}.detail-list dt{margin:0;color:var(--muted);font-size:12px;padding-top:2px}.detail-list dd{margin:0;word-break:break-word}.detail-json{margin:0;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--bg) 70%,var(--card));border:1px solid var(--line);font-size:12px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.form-grid{display:grid;gap:14px}.form-section{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 45%,var(--card))}.form-section h3{margin:0;font-size:13px;font-weight:700;color:var(--muted)}.form-row{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.form-row>*{min-width:0}.form-row>span{color:var(--muted);font-size:13px}.form-row input[type=number]{width:100%;max-width:none}.image-url-row{display:flex;gap:8px;align-items:center;min-width:0}.image-url-row input{flex:1;min-width:0}.image-url-row .btn-ghost.compact{min-width:96px}.oauth-icon-preview{display:block;width:64px;height:64px;margin:8px 0 0 98px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--card)}.email-chips .btn-ghost.compact{min-width:72px;height:28px;padding:0 10px}.form-check{display:inline-flex;align-items:center;gap:8px;height:40px;color:var(--text)}.scope-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 12px}.scope-grid .form-check{height:auto;min-height:32px;align-items:flex-start;padding:4px 0;font-size:13px}.scope-grid code{font-size:12px}.ui-select{position:relative;display:inline-flex;vertical-align:middle}.ui-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;height:40px;min-width:128px;max-width:280px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card) 70%,var(--bg));color:var(--text);cursor:pointer;text-align:left}.ui-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-chevron{width:12px;height:12px;flex-shrink:0;color:var(--muted)}.ui-select.is-open .ui-select-trigger,.ui-select-trigger:hover{border-color:var(--accent)}.ui-select.is-compact .ui-select-trigger{min-width:72px;max-width:96px;padding:0 8px}.form-row .ui-select,.form-row .ui-select-trigger{width:100%;max-width:none}.ui-select-list{position:fixed;z-index:700;display:grid;gap:2px;padding:6px;min-width:128px;max-height:min(70vh,320px);overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);box-shadow:var(--panel-shadow)}.ui-select-list button{justify-content:flex-start;height:auto;min-height:36px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text)}.ui-select-list button:hover,.ui-select-list button.active{background:var(--accent-dim)}.ui-select-list button.active{color:var(--accent);font-weight:650}.datetime-picker{display:inline-flex}.datetime-trigger{height:40px;min-width:188px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card) 70%,var(--bg));color:var(--text);justify-content:flex-start}.datetime-trigger .is-placeholder{color:var(--muted)}.datetime-picker.is-open .datetime-trigger{border-color:var(--accent)}.calendar-pop{position:fixed;z-index:700;width:292px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--text);box-shadow:var(--panel-shadow)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.calendar-nav strong{font-size:14px}.calendar-nav-btn{width:32px;min-width:32px;height:32px;padding:0;border-radius:8px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-week span{text-align:center;font-size:11px;color:var(--muted);padding:4px 0}.calendar-day{height:34px;min-width:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text)}.calendar-day.is-blank{pointer-events:none}.calendar-day.is-today{font-weight:700;color:var(--accent)}.calendar-day.is-selected,.calendar-day.is-selected:hover{background:var(--accent);color:#fff}.calendar-day:hover:not(.is-selected):not(.is-blank){background:var(--accent-dim)}.calendar-time{display:flex;align-items:center;gap:8px;margin:10px 0 8px}.calendar-time label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.calendar-time input{width:52px;max-width:52px;height:34px;padding:0 8px;text-align:center}.calendar-actions{display:flex;justify-content:flex-end;gap:8px}.calendar-actions .btn-fill.compact{min-width:72px}.email-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card) 70%,var(--bg))}.email-chip{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 4px 0 10px;border-radius:999px;background:var(--accent-dim);color:var(--text);font-size:12px}.email-chip button{width:22px;min-width:22px;height:22px;padding:0;border:0;border-radius:999px;color:var(--muted)}.email-chips input{flex:1;min-width:160px;max-width:none;height:28px;padding:0 8px;border:0;background:transparent}@media(max-width:860px){.overlay-nav{padding:.75rem 1rem;gap:8px}.site-title{font-size:.95rem}.site-logo{width:28px;height:28px}.desktop-menu{gap:.15rem}.menu-label{display:none}.desktop-menu>a,.menu-item-btn{padding:.45rem;min-width:36px;justify-content:center}.app-tabs{padding:0 .7rem .35rem}.page-head,.page-glass{padding:16px 18px}.page-glass .page-head{padding:0}.page-head{flex-wrap:wrap}.page-head>:not(:first-child){width:100%;margin-top:8px}.stage{margin-top:calc(42vh - 120px)}.stage.wide{margin-top:12px}.app-frame.is-wide,.app-frame.is-admin{--content-inset: 10px}.user-chip span{display:none}.user-chip{padding:.3rem}.pager-meta{display:none}.combined-search{min-width:160px;flex-basis:160px}.filter-bar .ui-select-trigger{min-width:0}}.home-banner{position:relative;z-index:2;box-sizing:border-box;width:var(--content-width);margin:10px auto 0;padding:10px 18px;border-radius:8px;border:1px solid transparent;font-size:14px;line-height:1.5;text-align:left;backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);color:var(--glass-text)}.app-frame.is-admin .home-banner{flex:0 0 auto}.home-banner.kind-note,.home-banner.kind-info{border-color:color-mix(in srgb,var(--accent) 42%,var(--glass-border));background:color-mix(in srgb,var(--glass) 78%,var(--accent-dim));box-shadow:inset 3px 0 0 var(--accent),var(--glass-shadow)}.home-banner.kind-warn{border-color:color-mix(in srgb,#d97706 55%,var(--glass-border));background:color-mix(in srgb,var(--glass) 72%,color-mix(in srgb,#f59e0b 28%,transparent));box-shadow:inset 3px 0 #d97706,var(--glass-shadow);color:color-mix(in srgb,var(--glass-text) 82%,#9a3412)}.home-banner.kind-important{border-color:color-mix(in srgb,var(--danger) 55%,var(--glass-border));background:color-mix(in srgb,var(--glass) 68%,color-mix(in srgb,var(--danger) 32%,transparent));box-shadow:inset 3px 0 0 var(--danger),var(--glass-shadow);color:color-mix(in srgb,var(--glass-text) 78%,var(--danger));font-weight:600}html[data-theme=dark] .home-banner.kind-warn{color:color-mix(in srgb,var(--glass-text) 70%,#fdba74)}html[data-theme=dark] .home-banner.kind-important{color:color-mix(in srgb,var(--glass-text) 65%,#fca5a5)}.app-frame:has(.hero-carousel) .home-banner.kind-note,.app-frame:has(.hero-carousel) .home-banner.kind-info{background:color-mix(in srgb,var(--glass) 62%,var(--accent-dim))}.app-frame:has(.hero-carousel) .home-banner.kind-warn{background:color-mix(in srgb,var(--glass) 58%,color-mix(in srgb,#f59e0b 30%,transparent))}.app-frame:has(.hero-carousel) .home-banner.kind-important{background:color-mix(in srgb,var(--glass) 55%,color-mix(in srgb,var(--danger) 34%,transparent))}.app-frame.is-admin{height:100dvh;max-height:100dvh;overflow:hidden}html:has(.app-frame.is-admin),html:has(.app-frame.is-admin) body,html:has(.app-frame.is-admin) #root{height:100%;max-height:100%;overflow:hidden}.app-frame.is-admin .stage.wide{flex:1;min-height:0;min-width:0;width:var(--content-width);margin:12px auto;display:flex;flex-direction:column}.app-frame.is-admin .app-footer{flex-shrink:0;margin-top:0;padding:.75rem 1rem}.admin-card{position:relative;flex:1;min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:minmax(0,1fr);background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:20px;box-shadow:var(--panel-shadow);overflow:hidden}.admin-side{display:flex;flex-direction:column;border-right:1px solid var(--line);background:color-mix(in srgb,var(--card) 88%,var(--bg));min-height:0;overflow:auto}.admin-brand{display:flex;align-items:center;gap:10px;padding:18px 16px 12px;color:var(--text);font-weight:750}.admin-brand span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-brand img{width:28px;height:28px;object-fit:contain;flex-shrink:0}.admin-nav{flex:1;overflow:auto;padding:8px 10px 24px}.admin-nav-group{margin:0 0 16px}.admin-nav-group p{margin:0 8px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:750}.admin-nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--text);font-size:14px}.admin-nav a:hover,.admin-nav a.active{background:var(--accent-dim);color:var(--accent)}.admin-back{margin:8px 12px 16px;padding:8px 10px;border-radius:8px;color:var(--muted);font-size:13px}.admin-back:hover{color:var(--accent)}.admin-main{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column}.admin-top{display:none;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--card) 70%,transparent)}.admin-top-title{font-size:15px;font-weight:750}.admin-menu,.admin-chip{height:36px;padding:0 12px;border-radius:8px}.admin-menu,.admin-side-close{display:none}.admin-content{flex:1;padding:20px 24px 48px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain}.admin-content .workspace{margin:0;min-width:0}.admin-content .data-panel{background:color-mix(in srgb,var(--bg) 35%,var(--card));max-width:100%}.admin-content .page-head{overflow-x:auto}.admin-content .table-scroll table,.admin-content table{min-width:max(100%,720px)}.admin-mask{display:none;cursor:pointer;background:#0f172a47}.admin-mask:hover,.admin-mask:focus{background:#0f172a47}.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.ops-card strong{display:block;margin-top:6px;font-size:28px;letter-spacing:-.03em}.doc-locked-card{margin-top:12px;padding:12px 14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13px;background:color-mix(in srgb,var(--bg) 70%,var(--card))}.tip-editor{display:grid;gap:10px;margin-top:12px}.tip-row{display:grid;grid-template-columns:120px 1fr auto;gap:8px;align-items:start;padding:10px;border-radius:10px;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card))}.tip-row.kind-warn{border-left-color:#d97706;background:#fff7ed}.tip-row.kind-important{border-left-color:#dc2626;background:#fef2f2}.endpoint-copy{padding:16px 0;border-top:1px solid var(--line)}.endpoint-copy h3{margin:0 0 4px;font-size:16px}.slide-list{display:grid;gap:16px;margin:12px 0}.slide-row{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px}.settings-stack{display:grid;gap:20px}.settings-stack>h2{margin:0}.settings-stack .form-row{grid-template-columns:1fr;align-items:stretch;gap:8px}.settings-stack .form-row>span{color:var(--text);font-weight:650}.settings-stack .oauth-icon-preview{margin-left:0}.brand-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.settings-sub{display:grid;gap:14px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 45%,var(--card))}.settings-sub h3{margin:0;font-size:14px;font-weight:750}.locale-toggles{display:flex;flex-wrap:wrap;gap:16px}.locale-list{display:grid;gap:10px}.locale-chip{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(120px,1fr) auto auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 40%,var(--card))}.locale-chip.is-active{border-color:var(--accent)}.locale-chip label{display:inline-flex;align-items:center;gap:8px;min-width:0}.locale-chip code{font-size:11px;color:var(--muted)}.locale-chip .secondary{min-width:72px}.locale-create{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.i18n-json-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.i18n-json-head h2{margin:0}.i18n-json{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.i18n-json.is-single{grid-template-columns:1fr}.i18n-json label{display:flex;flex-direction:column;gap:8px;min-width:0}.i18n-json span{font-size:13px;font-weight:750;color:var(--muted)}.i18n-json textarea{min-height:min(70vh,720px);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;tab-size:2;resize:vertical;white-space:pre}@media(max-width:960px){.app-frame.is-admin{--content-inset: 10px}.app-frame.is-admin .stage.wide{margin:8px auto}.admin-card{display:flex;flex-direction:column}.admin-side{position:absolute;top:56px;left:10px;width:min(280px,calc(100% - 20px));max-height:min(72%,calc(100% - 68px));display:none;border-radius:16px;border:1px solid var(--line);box-shadow:0 18px 40px #0f172a38;z-index:8}.admin-card.nav-open .admin-side,.admin-top{display:flex}.admin-menu{display:inline-flex}.admin-side-close{display:inline-flex;width:32px;min-width:32px;height:32px;margin-left:auto;padding:0;border:0;font-size:22px;line-height:1}.admin-mask{display:block;position:absolute;inset:0;border:0;border-radius:inherit;background:#0f172a47;z-index:7;height:auto}.admin-mask:hover,.admin-mask:focus{background:#0f172a47}.tip-row,.brand-media-grid,.settings-split,.locale-chip,.locale-create,.i18n-json{grid-template-columns:1fr}.form-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.oauth-icon-preview{margin-left:0}.image-url-row{flex-wrap:wrap}.meta-grid{grid-template-columns:1fr}}.playground-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;align-items:start;min-width:0}.playground-main{display:grid;gap:20px;min-width:0}.playground-catalog{display:flex;flex-direction:column;gap:12px;position:sticky;top:88px;max-height:calc(100vh - 108px);min-width:0}.playground-catalog h2{margin-bottom:0;flex:0 0 auto}.playground-endpoints{display:block;min-height:0;overflow:auto;padding-right:2px}.playground-group{min-width:0}.playground-group-title{margin:18px 8px 8px;font-size:11px;font-weight:750;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.playground-group:first-child .playground-group-title{margin-top:0}.playground-group-list{display:block}.playground-endpoint{display:flex;align-items:center;gap:8px;width:100%;height:auto;text-align:left;color:inherit;background:transparent;border:0;border-left:3px solid transparent;border-radius:8px;padding:7px 10px 7px 7px;font-size:13.5px;font-weight:650;line-height:1.4;cursor:pointer}.playground-endpoint-text{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playground-endpoint .method-tag{flex:0 0 auto;width:auto;min-width:42px;height:20px;padding:0 6px}.playground-endpoint:hover,.playground-endpoint.is-active{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent)}.playground-endpoint.is-deprecated{color:var(--muted);opacity:.72}.playground-endpoint.is-deprecated .playground-endpoint-text{text-decoration:line-through;text-decoration-thickness:1px}.playground-endpoint.is-deprecated:hover,.playground-endpoint.is-deprecated.is-active{color:var(--accent);opacity:.88}.method-tag{display:inline-flex;align-items:center;justify-content:center;width:48px;height:22px;padding:0;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.03em;flex:0 0 48px}.method-tag.get{color:#0f766e;background:color-mix(in srgb,#14b8a6 18%,transparent)}.method-tag.post{color:#1d4ed8;background:color-mix(in srgb,#3b82f6 18%,transparent)}.playground-token textarea,.playground-body textarea,.playground-pre{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:13px;line-height:1.5}.playground-pre{margin:0;padding:14px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--text) 4%,var(--card));overflow:auto;max-height:420px;white-space:pre-wrap;word-break:break-word}.playground-image{display:grid;gap:12px;justify-items:start}.playground-image-meta{margin:0}.playground-preview{display:block;max-width:min(100%,480px);max-height:420px;width:auto;height:auto;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--text) 6%,var(--card));object-fit:contain}.playground-image-open{text-decoration:none}.playground-meta{margin-bottom:18px}.playground-token-bar{display:grid;gap:12px;margin-bottom:4px}.playground-token-bar .form-row{margin:0}.playground-note{margin:0;font-size:13px;line-height:1.5}.playground-error{margin-top:12px}.playground-stamp{margin:0}.playground-ep-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.playground-ep-head code{overflow-wrap:anywhere}.playground-ep-meta{display:grid;gap:8px;margin-bottom:18px}.playground-ep-meta h2,.playground-ep-meta p{margin:0}.playground-auth-hint{margin-top:2px!important}.playground-fields{border:1px solid var(--line);border-radius:12px;padding:14px 16px 16px;margin:0 0 18px;display:grid;gap:16px}.playground-fields legend{padding:0 6px;color:var(--muted);font-size:12px;font-weight:650}.playground-field{display:grid;gap:8px;min-width:0}.playground-field-name{color:var(--muted);font-size:13px;font-weight:650}.playground-field-note{font-size:12px;line-height:1.45;white-space:pre-wrap}.playground-body-params{margin:0 0 8px}.playground-body-params table{width:100%;border-collapse:collapse;font-size:12px}.playground-body-params th,.playground-body-params td{border-bottom:1px solid var(--border, #ddd);padding:6px 8px;text-align:left;vertical-align:top}.playground-field input,.playground-field textarea{width:100%}.playground-actions{margin-top:4px;gap:10px}@media(max-width:900px){.playground-layout{grid-template-columns:1fr}.playground-catalog{position:static;width:auto;max-height:none}.playground-endpoints{max-height:min(36vh,320px)}}
