:root{--app-canvas:#f7f7fc;--app-sidebar-bg:#f5f3ff;--app-surface:rgba(255,255,255,.92);--app-surface-soft:#f6f4ff;--app-surface-raised:#fcfbff;--app-border:#e7e3f4;--app-border-strong:#d9d1ee;--app-text-primary:#1f2433;--app-text-secondary:#5d6680;--app-text-muted:#8b93ab;--app-text-placeholder:#afb6c7;--app-accent:#6f4fff;--app-accent-strong:#8b71ff;--app-accent-soft:rgba(111,79,255,.12);--app-teal:#1db9b2;--app-teal-soft:rgba(29,185,178,.14);--app-sky:#4f8cff;--app-sky-soft:rgba(79,140,255,.14);--app-amber:#f0b24a;--app-amber-soft:rgba(240,178,74,.16);--app-rose:#eb6a8d;--app-rose-soft:rgba(235,106,141,.14);--app-danger:#d84c64;--app-danger-soft:rgba(216,76,100,.1);--app-success:#12a66a;--app-success-soft:rgba(18,166,106,.1);--app-warning:#d28a1f;--app-warning-soft:rgba(210,138,31,.12);--app-shadow:0 20px 42px rgba(76,88,120,.08);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}:root[data-theme=dark]{--app-canvas:#0b0d15;--app-sidebar-bg:#1a2031;--app-surface:rgba(28,34,50,.92);--app-surface-soft:#20273a;--app-surface-raised:#272f45;--app-border:#343d57;--app-border-strong:#46506d;--app-text-primary:#f4f6fb;--app-text-secondary:#c4cbe0;--app-text-muted:#97a0b8;--app-text-placeholder:#79829a;--app-accent:#8b71ff;--app-accent-strong:#a895ff;--app-accent-soft:rgba(139,113,255,.18);--app-teal:#36d2c8;--app-teal-soft:rgba(54,210,200,.18);--app-sky:#72a7ff;--app-sky-soft:rgba(114,167,255,.18);--app-amber:#f4bf5f;--app-amber-soft:rgba(244,191,95,.18);--app-rose:#ff7fa0;--app-rose-soft:rgba(255,127,160,.18);--app-danger:#ff6f86;--app-danger-soft:rgba(255,111,134,.14);--app-success:#32d18d;--app-success-soft:rgba(50,209,141,.14);--app-warning:#f2b24b;--app-warning-soft:rgba(242,178,75,.16);--app-shadow:0 24px 54px rgba(0,0,0,.28);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top left, rgba(111,79,255,.1), transparent 24rem), radial-gradient(circle at top right, rgba(34,197,194,.08), transparent 20rem), var(--app-canvas);color:var(--app-text-primary);margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button:active:not(:disabled){transform:scale(.98)}*{-webkit-tap-highlight-color:transparent}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.22s ease-out slideUp}.app-root{background:radial-gradient(circle at top left, rgba(111,79,255,.08), transparent 24rem), radial-gradient(circle at bottom right, rgba(34,197,194,.05), transparent 22rem), var(--app-canvas);min-height:100vh;color:var(--app-text-primary)}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{border-right:1px solid var(--app-border);background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.38)), var(--app-sidebar-bg);backdrop-filter:blur(18px);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}:root[data-theme=dark] .app-sidebar{background:radial-gradient(circle at top left, rgba(139,113,255,.2), transparent 14rem), radial-gradient(circle at bottom left, rgba(54,210,200,.12), transparent 18rem), linear-gradient(180deg, rgba(38,45,67,.98), rgba(28,34,50,.98)), var(--app-sidebar-bg);box-shadow:inset -1px 0 rgba(255,255,255,.04)}.app-main{background:var(--app-canvas);min-width:0;min-height:100vh}.app-main-inner{box-sizing:border-box;min-height:100%;padding:20px 24px 24px}.app-mobile-topbar,.app-mobile-drawer{display:none}.app-shell-brand{align-items:center;gap:10px;min-width:0;display:flex}.app-shell-brand__mark{background:linear-gradient(135deg, var(--app-accent), var(--app-accent-strong));color:#fff;border-radius:14px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;font-weight:900;display:inline-flex;box-shadow:0 16px 30px rgba(111,79,255,.22)}.app-shell-brand__text{min-width:0}.app-shell-brand__title{color:var(--app-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:800;display:block;overflow:hidden}.app-shell-brand__subtitle{color:var(--app-text-muted);letter-spacing:.02em;margin-top:2px;font-size:.64rem;font-weight:650;display:block}.app-shell-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:0 8px;display:flex}.app-shell-section-head__label{color:var(--app-text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:800}.app-shell-theme-btn{border:1px solid var(--app-border-strong);background:var(--app-surface-raised);border-radius:12px;width:34px;height:34px;padding:0;box-shadow:0 10px 24px rgba(15,23,42,.08)}.app-shell-nav{flex-direction:column;gap:3px;display:flex}.app-shell-nav__item{min-height:36px;color:var(--app-text-secondary);border-radius:12px;align-items:center;gap:8px;padding:7px 10px;font-size:.8rem;font-weight:700;text-decoration:none;transition:background-color .16s,color .16s,box-shadow .16s;display:flex}.app-shell-nav__item:hover{background:color-mix(in srgb, var(--app-accent) 8%, transparent);color:var(--app-text-primary)}.app-shell-nav__item.is-active{background:linear-gradient(135deg, var(--app-accent), var(--app-accent-strong));color:#fff;box-shadow:0 14px 28px rgba(111,79,255,.24)}.app-shell-nav__icon{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.app-shell-nav__dot{opacity:.45;background:currentColor;border-radius:999px;width:7px;height:7px;display:inline-block}.app-shell-nav__label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.app-shell-nav__meta{color:inherit;opacity:.72;flex:none;font-size:.6rem}.app-shell-nav__group{width:100%;color:var(--app-text-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:7px 10px;font-size:.72rem;font-weight:800;transition:background-color .16s,color .16s;display:flex}.app-shell-nav__group:hover{background:var(--app-surface);color:var(--app-text-primary)}.app-shell-nav__children{gap:3px;margin-top:4px;padding-left:10px;display:grid}.app-shell-loading,.app-shell-empty{color:var(--app-text-muted);border-radius:12px;align-items:center;gap:10px;padding:12px 10px;font-size:.78rem;display:flex}.app-shell-empty{text-align:center;justify-content:center}.app-shell-account{border:1px solid var(--app-border);background:var(--app-surface);border-radius:16px;padding:10px;box-shadow:0 12px 28px rgba(76,88,120,.08)}.app-shell-account__row{align-items:center;gap:10px;display:flex}.app-shell-account__avatar{background:var(--app-accent-soft);width:34px;height:34px;color:var(--app-accent-strong);border-radius:13px;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:800;display:inline-flex}.app-shell-account__name{color:var(--app-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700;display:block;overflow:hidden}.app-shell-account__meta{color:var(--app-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;display:block;overflow:hidden}.app-shell-account__action{width:100%;margin-top:10px}.app-page{flex-direction:column;gap:14px;width:min(100%,1380px);margin:0 auto;display:flex}.app-page--wide{width:min(100%,1520px)}.app-page-header{z-index:20;border:1px solid var(--app-border);background:radial-gradient(circle at top right, rgba(79,140,255,.1), transparent 11rem), radial-gradient(circle at left center, rgba(29,185,178,.08), transparent 12rem), linear-gradient(135deg, color-mix(in srgb, var(--app-surface) 92%, white) 0%, color-mix(in srgb, var(--app-surface-soft) 88%, white) 100%);min-height:64px;box-shadow:var(--app-shadow);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex;position:sticky;top:0;overflow:hidden}.app-page-header:before{content:"";background:linear-gradient(90deg, var(--app-accent), var(--app-teal), var(--app-amber), var(--app-rose));border-radius:999px;width:140px;height:3px;position:absolute;top:0;bottom:auto;left:0;right:auto}.app-page-header>*{z-index:1;position:relative}.app-page-header__kicker{color:var(--app-teal);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:700}.app-page-header__title{color:var(--app-text-primary);letter-spacing:0;margin-top:4px;font-size:1.12rem;font-weight:700}.app-page-header__desc{display:none}.app-card,.app-panel{border:1px solid var(--app-border);background:linear-gradient(180deg, color-mix(in srgb, var(--app-surface) 96%, white) 0%, var(--app-surface-raised) 100%);box-shadow:var(--app-shadow);backdrop-filter:blur(14px);border-radius:18px}.app-card--padded,.app-panel{padding:15px}.app-card--table{padding:15px;overflow:hidden}.app-card--table .app-table-wrap{margin-top:8px}.app-panel__header{border-bottom:1px solid color-mix(in srgb, var(--app-border) 74%, white);background:linear-gradient(180deg, var(--app-surface-soft) 0%, transparent 100%);border-radius:18px 18px 0 0;justify-content:space-between;align-items:center;gap:12px;margin:-15px -15px 15px;padding:13px 15px;display:flex}.app-panel__title{color:var(--app-text-primary);font-size:.9rem;font-weight:700}.app-panel__meta{color:var(--app-amber);font-size:.72rem;font-weight:700}.app-label{color:var(--app-text-secondary);margin-bottom:5px;font-size:.74rem;font-weight:650;display:block}.app-input{border:1px solid var(--app-border);background:var(--app-surface-raised);width:100%;min-height:34px;color:var(--app-text-primary);box-sizing:border-box;vertical-align:middle;border-radius:12px;padding:8px 10px;font-size:.84rem;line-height:1.2;transition:border-color .16s,box-shadow .16s,background-color .16s}.app-input::placeholder{color:var(--app-text-placeholder)}.app-input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-soft);outline:none}.app-input:disabled{cursor:not-allowed;color:var(--app-text-muted);background:var(--app-surface-soft)}.app-textarea{resize:vertical;min-height:82px}.app-button,.app-btn-primary,.app-btn-secondary,.app-btn-ghost,.app-btn-danger{cursor:pointer;border:1px solid transparent;border-radius:12px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:6px 12px;font-size:.8rem;font-weight:700;line-height:1.2;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.app-button:disabled,.app-btn-primary:disabled,.app-btn-secondary:disabled,.app-btn-ghost:disabled,.app-btn-danger:disabled{cursor:not-allowed;opacity:.58}.app-btn-primary{background:linear-gradient(135deg, var(--app-accent), var(--app-accent-strong));color:#fff;box-shadow:0 14px 28px rgba(111,79,255,.22)}.app-btn-primary:hover:not(:disabled){background:var(--app-accent-strong)}.app-btn-secondary,.app-btn-ghost,.app-btn-danger{background:var(--app-surface-raised)}.app-btn-secondary{border-color:var(--app-border-strong);color:var(--app-text-secondary)}.app-btn-secondary:hover:not(:disabled),.app-btn-ghost:hover:not(:disabled){border-color:var(--app-accent);color:var(--app-accent)}.app-btn-ghost{color:var(--app-text-secondary);border-color:transparent}.app-btn-danger{border-color:color-mix(in srgb, var(--app-danger) 26%, transparent);color:var(--app-danger)}.app-btn-danger:hover:not(:disabled){background:var(--app-danger-soft)}.app-notice{border:1px solid transparent;border-radius:15px;padding:10px 13px;font-size:.82rem;font-weight:600}.app-notice--info{border-color:color-mix(in srgb, var(--app-teal) 24%, transparent);background:linear-gradient(135deg, var(--app-teal-soft), color-mix(in srgb, var(--app-surface) 84%, white));color:color-mix(in srgb, var(--app-teal) 82%, black)}.app-notice--error{border-color:color-mix(in srgb, var(--app-danger) 24%, transparent);background:var(--app-danger-soft);color:var(--app-danger)}.app-notice--success{border-color:color-mix(in srgb, var(--app-success) 24%, transparent);background:var(--app-success-soft);color:var(--app-success)}.app-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:.66rem;font-weight:700;display:inline-flex}.app-badge--success{background:var(--app-success-soft);color:var(--app-success)}.app-badge--danger{background:var(--app-danger-soft);color:var(--app-danger)}.app-badge--neutral{background:var(--app-surface-soft);color:var(--app-text-secondary)}.app-badge--accent{background:linear-gradient(135deg, var(--app-sky-soft), var(--app-accent-soft));color:color-mix(in srgb, var(--app-sky) 42%, var(--app-accent) 58%)}.app-chip{border:1px solid var(--app-border);background:color-mix(in srgb, var(--app-surface-raised) 88%, white);color:var(--app-text-secondary);cursor:default;border-radius:999px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.app-chip:hover{border-color:var(--app-teal);color:var(--app-teal)}.app-section-title{color:var(--app-text-primary);font-size:.9rem;font-weight:700}.app-tabbar{border:1px solid var(--app-border);background:var(--app-surface);border-radius:8px;gap:3px;width:fit-content;max-width:100%;padding:3px;display:inline-flex}.app-tab{min-width:84px;color:var(--app-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.app-tab:hover{color:var(--app-text-primary)}.app-tab.is-active{background:var(--app-accent);color:#fff}.app-table-wrap{overflow-x:auto}.app-table{border-collapse:separate;border-spacing:0;width:100%}.app-table thead tr{background:var(--app-surface-soft)}.app-table th{border-bottom:1px solid var(--app-border);text-align:left;color:var(--app-text-muted);letter-spacing:.04em;text-transform:uppercase;padding:9px 12px;font-size:.68rem;font-weight:800}.app-table td{border-bottom:1px solid var(--app-border);color:var(--app-text-secondary);vertical-align:top;padding:10px 12px}.app-table tbody tr:hover{background:var(--app-surface-soft)}.app-mobile-list{display:none}.app-mobile-card{border:1px solid var(--app-border);background:var(--app-surface);border-radius:18px;padding:12px}.app-mobile-card__title{color:var(--app-text-primary);font-size:.88rem;font-weight:700}.app-mobile-card__meta{color:var(--app-text-muted);margin-top:4px;font-size:.74rem;line-height:1.5}.log-terminal{tab-size:2;border-radius:0 0 8px 8px;font-family:Menlo,Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6}.log-terminal .log-error{color:#ff6f86}.log-terminal .log-warn{color:#f2b24b}.log-terminal .log-info{color:#7ea7ff}.log-terminal .log-debug{color:#9aa3b6}.log-terminal .log-trace{color:#767f94}.log-terminal .log-fatal{color:#ff6f86;font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--app-border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--app-text-muted)}:focus-visible{outline:2px solid var(--app-accent);outline-offset:1px}@media (max-width:900px){.app-shell{min-height:100vh;display:block}.app-sidebar{display:none}.app-mobile-topbar{z-index:30;border-bottom:1px solid var(--app-border);background:var(--app-surface);min-height:50px;padding:7px 10px;padding-top:max(8px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-mobile-drawer{z-index:40;pointer-events:none;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.app-mobile-drawer.is-open{pointer-events:auto}.app-mobile-drawer__backdrop{opacity:0;background:rgba(0,0,0,.32);transition:opacity .18s;position:absolute;top:0;bottom:0;left:0;right:0}.app-mobile-drawer.is-open .app-mobile-drawer__backdrop{opacity:1}.app-mobile-drawer__panel{border-right:1px solid var(--app-border);background:var(--app-sidebar-bg);width:min(82vw,318px);transition:transform .18s;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}:root[data-theme=dark] .app-mobile-drawer__panel{background:radial-gradient(circle at top left, rgba(139,113,255,.18), transparent 14rem), linear-gradient(180deg, rgba(38,45,67,.98), rgba(28,34,50,.98)), var(--app-sidebar-bg)}.app-mobile-drawer.is-open .app-mobile-drawer__panel{transform:translate(0)}.app-main-inner{padding:12px 10px 14px}.app-main{min-height:calc(100dvh - max(58px, 50px + env(safe-area-inset-top)))}.app-page{gap:10px;width:100%;margin:0}.app-page-header{z-index:auto;align-items:flex-start;min-height:0;padding:13px 13px 8px;position:static;top:auto}.app-page-header__title{font-size:1rem}.app-page-header__desc{font-size:.76rem}.app-card--padded,.app-panel{padding:11px}.app-panel__header{margin:-11px -11px 11px;padding:10px 11px}.app-tabbar{width:100%;display:flex}.app-tab{flex:1 1 0;min-width:0;padding:7px 6px;font-size:.74rem}.app-table-wrap{display:none}.app-mobile-list{gap:10px;display:grid}.app-input{min-height:38px}.app-button,.app-btn-primary,.app-btn-secondary,.app-btn-ghost,.app-btn-danger{min-height:36px}.app-shell-brand__mark{border-radius:12px;width:30px;height:30px;font-size:.74rem}.app-shell-brand__title{font-size:.78rem}.app-shell-brand__subtitle{font-size:.6rem}}.app-spinner{border:2px solid;border-top-color:transparent;border-radius:999px;width:1.2rem;height:1.2rem;animation:.8s linear infinite spin}.app-spinner--page{width:1.9rem;height:1.9rem;margin:2.5rem auto}.app-loading-block{justify-content:center;align-items:center;gap:10px;padding:2rem 0;display:flex}.app-loading-block__text,.app-loading-table-row__text{color:var(--app-text-muted);font-size:.78rem}.app-loading-button{min-width:78px}.app-loading-button__spinner{width:.95rem;height:.95rem}.app-loading-table-row__cell{padding:10px 12px}.app-loading-table-row__skeleton{background:color-mix(in srgb, var(--app-border) 74%, white);border-radius:999px;height:.75rem;animation:1.4s ease-in-out infinite pulse}.app-loading-table-row__state{text-align:center;padding:2rem 1rem}.app-loading-table-row__content{justify-content:center;align-items:center;gap:10px;display:inline-flex}.app-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:1.5rem;display:flex}.app-searchbar{align-items:center;gap:8px;display:flex}.app-searchbar__field{flex:auto;min-width:0;position:relative}.app-searchbar__icon{pointer-events:none;z-index:1;width:16px;height:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.app-searchbar__input{min-height:36px;padding-top:0;padding-bottom:0;padding-right:.9rem;line-height:34px}.app-searchbar__button{white-space:nowrap;min-width:72px}.app-empty-state{text-align:center;padding:3rem 0 2.5rem}.app-empty-state__icon{width:2.6rem;height:2.6rem;margin:0 auto .75rem;display:block}.app-empty-state__message{margin:0;font-size:.82rem}.app-modal--regular{padding:0}.app-modal__content{min-width:0}.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.shrink-0,.flex-shrink-0{flex-shrink:0}.min-w-0{min-width:0}.w-full{width:100%}.h-full{height:100%}.text-center{text-align:center}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-mono{font-family:Menlo,Consolas,Monaco,Courier New,monospace}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.object-cover{object-fit:cover}.object-contain{object-fit:contain}.cursor-pointer{cursor:pointer}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.5rem}.rounded-md{border-radius:.75rem}.rounded-lg{border-radius:1rem}.rounded-xl{border-radius:1.1rem}.rounded-2xl{border-radius:1.35rem}.rounded-full{border-radius:999px}.border{border:1px solid var(--app-border)}.border-b{border-bottom:1px solid var(--app-border)}.border-t{border-top:1px solid var(--app-border)}.border-2{border-style:solid;border-width:2px}.border-none{border:none}.absolute{position:absolute}.relative{position:relative}.fixed{position:fixed}.top-0{top:0}.right-0{right:0}.left-0{left:0}.inset-0{top:0;bottom:0;left:0;right:0}.p-0{padding:0}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.space-y-1>*+*{margin-top:.25rem}.space-y-1\.5>*+*{margin-top:.375rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.text-xs{font-size:.76rem;line-height:1.45}.text-sm{font-size:.88rem;line-height:1.5}.text-base{font-size:.98rem;line-height:1.55}.text-lg{font-size:1.05rem;line-height:1.45}.text-xl{font-size:1.2rem;line-height:1.35}.text-2xl{font-size:1.45rem;line-height:1.25}.text-white{color:#fff}.animate-spin{animation:.8s linear infinite spin}.animate-pulse{animation:1.4s ease-in-out infinite pulse}@media (max-width:900px){.app-searchbar{flex-wrap:wrap}.app-searchbar__button{width:100%}}.video-page-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:2px;display:flex}.video-page-toolbar__summary{color:var(--app-text-muted);font-size:.84rem}.video-page-toolbar__summary strong{color:var(--app-text-primary);font-weight:700}.video-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;display:grid}.video-card{cursor:pointer;padding:0;transition:transform .16s,box-shadow .16s;overflow:hidden}.video-card:hover{transform:translateY(-2px)}.video-card__media{aspect-ratio:3/4;background:#eef1f7;position:relative;overflow:hidden}.video-card__thumb{object-fit:cover;width:100%;height:100%}.video-card__placeholder{color:#c4cad8;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.video-card__badge{color:#fff;background:rgba(15,23,42,.72);border-radius:999px;padding:2px 6px;font-size:.7rem;font-weight:700;position:absolute;top:8px;right:8px}.video-card__body{padding:10px 10px 11px}.video-card__title{color:var(--app-text-primary);font-size:.88rem;font-weight:700}.video-card__meta{color:var(--app-text-muted);margin-top:2px;font-size:.76rem}.video-list-card{overflow:hidden}.video-list-card__head{border-bottom:1px solid var(--app-border);background:var(--app-surface-soft);color:var(--app-text-muted);letter-spacing:.04em;text-transform:uppercase;grid-template-columns:52px minmax(0,1fr) 90px 78px 92px;gap:12px;margin:-18px -18px 0;padding:10px 14px;font-size:.7rem;font-weight:800;display:grid}.video-list-row{border-bottom:1px solid var(--app-border);cursor:pointer;grid-template-columns:52px minmax(0,1fr) 90px 78px 92px;align-items:center;gap:12px;padding:10px 14px;transition:background-color .16s;display:grid}.video-list-row:hover{background:var(--app-surface-soft)}.video-list-row:last-child{border-bottom:none}.video-list-row__thumb{background:#eef1f7;border-radius:12px;width:52px;height:72px;overflow:hidden}.video-list-row__text{min-width:0}.video-detail{flex-direction:column;gap:18px;padding:18px;display:flex}.video-detail__close{z-index:10;color:#fff;cursor:pointer;background:rgba(15,23,42,.54);border:none;border-radius:999px;width:34px;height:34px;position:absolute;top:12px;right:12px}.video-detail__content{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);align-items:start;gap:18px;display:grid}.video-detail__media{min-width:0}.video-detail__preview{background:#eef1f7;border-radius:18px;position:relative;overflow:hidden}.video-detail__main-visual{object-fit:contain;background:#0f172a;width:100%;max-height:68vh}.video-detail__fallback{aspect-ratio:3/2;color:#c4cad8;justify-content:center;align-items:center;display:flex}.video-detail__thumbs{gap:8px;margin-top:10px;padding-bottom:2px;display:flex;overflow-x:auto}.video-detail__thumb-item{cursor:pointer;border:2px solid transparent;border-radius:12px;flex:none;width:58px;overflow:hidden}.video-detail__thumb-item.is-active{border-color:var(--app-accent)}.video-detail__info{min-width:0}.video-detail__title{color:var(--app-text-primary);margin:0 0 14px;font-size:1.05rem;font-weight:700}.video-detail__meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;font-size:.86rem;display:grid}.video-detail__meta-grid span:first-child{color:var(--app-text-muted)}.video-detail__meta-grid span:last-child{color:var(--app-text-primary)}.video-detail__soft-box{background:var(--app-surface-soft);border-radius:16px;margin-top:12px;padding:12px 13px;font-size:.84rem}.video-detail__tag-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.video-detail__desc{margin-top:12px;font-size:.86rem;line-height:1.7}.video-detail__link{margin-top:12px;font-size:.84rem}.video-detail__play{width:100%;margin-top:10px}.review-page__summary{color:var(--app-text-muted);font-size:.84rem}.review-page__summary strong{color:var(--app-text-primary);font-weight:700}.review-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;display:grid}.review-card{cursor:pointer;padding:0;overflow:hidden}.review-card__visual{aspect-ratio:1;justify-content:center;align-items:center;display:flex}.review-card__body{padding:10px}.review-dialog__header{z-index:2;border-bottom:1px solid var(--app-border);background:var(--app-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 12px;display:flex;position:sticky;top:0}.review-dialog__title{min-width:0;color:var(--app-text-primary);font-size:1rem;font-weight:700}.review-dialog__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.review-dialog__action-btn{white-space:nowrap;min-height:34px;padding:7px 12px}.review-dialog__body{grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);gap:18px;min-width:0;min-height:0;padding:14px 16px 16px;display:grid}.review-dialog__side,.review-dialog__main{min-width:0}.review-dialog__soft-panel{border:1px solid var(--app-border);background:var(--app-surface-soft);border-radius:18px;padding:12px}.review-dialog__message-box{border:2px solid var(--app-border);border-radius:18px;transition:border-color .16s,background-color .16s;overflow:hidden}.review-dialog__message-top{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.review-dialog__message-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.review-dialog__tiny-btn{white-space:nowrap;min-height:28px;padding:4px 8px;font-size:.72rem;line-height:1}.review-dialog__preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px;display:grid}.review-dialog__preview-card{border:1px solid var(--app-border);background:var(--app-surface);border-radius:12px;overflow:hidden}.review-dialog__preview-visual{aspect-ratio:1;background:var(--app-surface-soft);justify-content:center;align-items:center;display:flex}.review-dialog__preview-footer{padding:0}.review-dialog__select-line{border-top:1px solid var(--app-border);text-align:center;width:100%;padding:4px 0;font-size:.7rem}.review-dialog__meta-box{background:var(--app-surface-soft);border-radius:14px;padding:10px 12px}.review-dialog__chip-wrap{flex-wrap:wrap;gap:6px;display:flex}.review-dialog__muted{color:var(--app-text-muted);font-size:.78rem}.review-dialog__selection-bar{justify-content:space-between;align-items:center;gap:10px;margin:8px 0 10px;display:flex}.review-dialog__selection-title{color:var(--app-text-primary);font-size:.9rem;font-weight:700}.review-dialog__alert{color:var(--app-danger);font-size:.72rem;font-weight:700}.review-dialog__preview-media{object-fit:cover;width:100%;height:100%}.review-dialog__status-line{text-align:center;white-space:nowrap;width:100%;padding:3px 6px;font-size:.66rem;font-weight:700}.review-dialog__resource-meta{gap:8px;display:grid}.review-dialog__resource-row{justify-content:space-between;gap:12px;font-size:.78rem;display:flex}.review-dialog__resource-row span:first-child{color:var(--app-text-muted)}.review-dialog__resource-row span:last-child{color:var(--app-text-primary);text-align:right;word-break:break-word}.review-dialog__field-stack{gap:14px;display:grid}.review-dialog__meta-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.review-dialog__toggle-link{color:var(--app-accent);cursor:pointer;background:0 0;border:none;font-size:.74rem;font-weight:700}.review-dialog__add-form{border:1px solid var(--app-accent);background:var(--app-accent-soft);border-radius:16px;margin-bottom:12px;padding:12px}.review-dialog__add-grid{gap:10px;display:grid}.review-dialog__add-row{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;display:grid}.review-dialog__add-label{color:var(--app-text-muted);font-size:.74rem;font-weight:700}.review-dialog__add-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.review-dialog__meta-chip{gap:5px;max-width:100%}.review-dialog__edit-stack{gap:12px;display:grid}.review-dialog__edit-actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:900px){.video-page-toolbar{align-items:stretch}.video-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.video-list-card__head{display:none}.video-list-row{grid-template-columns:44px minmax(0,1fr);gap:10px}.video-list-row>:nth-child(n+3){display:none}.video-list-row__thumb{width:44px;height:64px}.video-detail{padding:14px}.video-detail__content,.review-dialog__body{grid-template-columns:1fr;gap:14px}.video-detail__title{font-size:.98rem}.video-detail__meta-grid{grid-template-columns:1fr;gap:8px}.review-dialog__header{flex-direction:column;align-items:flex-start}.review-dialog__actions,.review-dialog__message-actions{justify-content:stretch;width:100%}.review-dialog__action-btn,.review-dialog__tiny-btn{flex:1 1 0;justify-content:center}.review-dialog__preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-dialog__selection-bar{flex-direction:column;align-items:flex-start}.review-dialog__resource-row{flex-direction:column;align-items:flex-start;gap:2px}.review-dialog__add-row{grid-template-columns:1fr;gap:6px}.review-dialog__add-actions,.review-dialog__edit-actions{width:100%}.review-dialog__add-actions>*,.review-dialog__edit-actions>*{flex:1 1 0}}.video-form{gap:16px;display:grid}.video-form__section{gap:6px;display:grid}.video-form__section--compact{margin-top:2px}.video-form__grid{gap:12px;display:grid}.video-form__grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.video-form__hint{color:var(--app-text-muted);margin:0;font-size:.74rem}.video-form__actor-box{border:1px solid var(--app-border);background:var(--app-surface-raised);border-radius:16px;gap:10px;padding:10px;display:grid}.video-form__actor-list{flex-wrap:wrap;gap:6px;display:flex}.video-form__actor-chip{gap:5px}.video-form__actor-remove{color:var(--app-danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1}.video-form__actor-input{min-width:0}.video-form__actor-add{white-space:nowrap;justify-self:end}.video-uploader{border:2px dashed var(--app-border-strong);background:var(--app-surface-soft);text-align:center;cursor:pointer;border-radius:18px;justify-content:center;align-items:center;min-height:180px;padding:20px;transition:border-color .16s,background-color .16s;display:flex}.video-uploader:hover,.video-uploader.is-busy{border-color:var(--app-accent);background:var(--app-accent-soft)}.video-uploader__stack{justify-items:center;gap:8px;display:grid}.video-uploader__icon{width:38px;height:38px;color:var(--app-text-muted)}.video-uploader__spinner{width:28px;height:28px}.video-uploader__title{color:var(--app-text-secondary);font-size:.88rem;font-weight:700}.video-uploader__hint{color:var(--app-text-placeholder);font-size:.72rem}.video-upload-preview-list{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.video-upload-preview-card{border:1px solid var(--app-border);background:var(--app-surface-soft);border-radius:14px;width:82px;height:116px;position:relative;overflow:hidden}.video-upload-preview-card.is-deleting{opacity:.58}.video-upload-preview-card__image{object-fit:cover;width:100%;height:100%}.video-upload-preview-card__overlay{background:rgba(15,23,42,.14);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.video-upload-preview-card__spinner{width:16px;height:16px}.video-upload-preview-card__remove{color:#fff;cursor:pointer;background:rgba(15,23,42,.76);border:none;border-radius:999px;width:22px;height:22px;position:absolute;top:6px;right:6px}.video-preview{z-index:160;background:rgba(5,8,16,.96);justify-content:center;align-items:center;padding:20px 22px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.video-preview__shell{justify-content:center;align-items:center;width:min(100%,1280px);height:100%;max-height:100%;display:flex;position:relative}.video-preview__toolbar{z-index:3;justify-content:space-between;align-items:center;gap:12px;padding:0 2px;display:flex;position:absolute;top:0;left:0;right:0}.video-preview__counter{color:rgba(255,255,255,.78);font-size:.82rem;font-weight:700}.video-preview__close,.video-preview__nav{color:#fff;cursor:pointer;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:999px;justify-content:center;align-items:center;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.video-preview__close{width:38px;height:38px}.video-preview__close:hover,.video-preview__nav:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.3)}.video-preview__close-icon,.video-preview__nav-icon{width:20px;height:20px}.video-preview__stage{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;height:100%;min-height:0;display:grid}.video-preview__nav{flex:none;width:42px;height:42px}.video-preview__media-frame{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex}.video-preview__media{object-fit:contain;background:rgba(255,255,255,.03);border-radius:18px;max-width:min(100%,1040px);max-height:calc(100vh - 64px);display:block;box-shadow:0 18px 48px rgba(0,0,0,.34)}.video-preview__media--video{width:auto}.video-preview__media--image{width:auto;height:auto}.video-import-grid{gap:16px;display:grid}.video-import-card{grid-template-columns:52px minmax(0,1fr);align-items:start;gap:14px;display:grid}.video-import-card__icon{border-radius:18px;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.video-import-card__icon--accent{background:var(--app-accent-soft);color:var(--app-accent)}.video-import-card__icon--teal{background:var(--app-teal-soft);color:var(--app-teal)}.video-import-card__svg{width:24px;height:24px}.video-import-card__body{gap:10px;display:grid}.video-import-card__hint,.video-import-card__warning{margin:0;font-size:.74rem;line-height:1.6}.video-import-card__hint{color:var(--app-text-muted)}.video-import-card__warning{color:var(--app-warning)}.video-import-card__spinner{width:16px;height:16px}.video-import-card__teal-btn{background:linear-gradient(135deg, var(--app-teal), #2bcfbc);box-shadow:0 14px 28px rgba(29,185,178,.18)}.video-import-guide{margin-top:8px}.video-import-guide__list{color:var(--app-text-muted);gap:8px;margin:12px 0 0;padding:0;font-size:.74rem;list-style:none;display:grid}.video-import-guide__list span{color:var(--app-accent);margin-right:6px;font-weight:800}.video-inline-status{color:var(--app-accent);margin-bottom:8px;font-size:.74rem;font-weight:700}.video-actor-list{gap:10px;display:grid}.video-actor-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.video-actor-card__identity{flex:auto;min-width:0}.video-actor-card__title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.video-actor-card__title{color:var(--app-text-primary);font-size:.94rem;font-weight:700}.video-actor-card__meta{color:var(--app-text-muted);font-size:.72rem}.video-actor-card__alias-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.video-actor-card__alias-chip{gap:5px}.video-actor-card__alias-remove{color:var(--app-danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:.88rem;line-height:1}.video-actor-card__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.video-dialog-form{gap:14px;display:grid}.video-dialog-form__title{color:var(--app-text-primary);margin:0;font-size:1rem;font-weight:700}.video-dialog-form__meta{color:var(--app-text-muted);margin:-6px 0 0;font-size:.78rem}.video-dialog-form__actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:900px){.video-form__grid--triple,.video-import-card{grid-template-columns:1fr}.video-form__actor-add,.video-import-card__body>.app-btn-primary{justify-self:stretch;width:100%}.video-uploader{min-height:150px;padding:16px}.video-preview{padding:max(10px, env(safe-area-inset-top)) 10px max(14px, env(safe-area-inset-bottom)) 10px;align-items:stretch}.video-preview__shell{width:100%}.video-preview__toolbar{padding:0;top:0}.video-preview__counter{font-size:.74rem}.video-preview__close{width:34px;height:34px}.video-preview__stage{grid-template-columns:minmax(0,1fr);gap:0}.video-preview__media-frame{padding-top:6px}.video-preview__nav{z-index:2;width:34px;height:34px;position:fixed;top:50%;transform:translateY(-50%)}.video-preview__nav--prev{left:8px}.video-preview__nav--next{right:8px}.video-preview__nav-icon,.video-preview__close-icon{width:18px;height:18px}.video-preview__media{border-radius:14px;max-width:calc(100vw - 44px);max-height:calc(100dvh - 32px)}.video-actor-card__head,.video-dialog-form__actions{flex-direction:column;align-items:stretch}.video-actor-card__actions>*,.video-dialog-form__actions>*{flex:1 1 0}}
