:root{--navy:#1b2541;--navy-2:#252f4d;--navy-3:#303b5c;--bg:#f3f4f9;--surface:#fff;--surface-alt:#f7f8fc;--ink:#161d33;--muted:#5f6782;--line:#e3e6ef;--accent:#5865f2;--accent-dark:#4752c4;--accent-darker:#3a43a6;--accent-light:#eef0fe;--accent-soft:#e0e4fd;--accent-rgb:88,101,242;--highlight:#5865f2;--highlight-dark:#4752c4;--highlight-light:#eef0fe;--highlight-ink:#fff;--highlight-rgb:88,101,242;--warning:#f59e0b;--warning-ink:#92400e;--warning-bg:#fffbeb;--warning-border:#fde68a;--focus-ring:0 0 0 3px rgba(88,101,242,.22);--green:#16a34a;--green-bg:#f0fdf4;--red:#dc2626;--red-bg:#fef2f2;--yellow:#d97706;--yellow-bg:#fffbeb;--muted-light:#98a0b8;--hover-bg:#f7f8fc;--border-neutral:#d3d8e6;--border-focus:#98a0b8;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--card-radius:14px;--card-border:#e3e6ef;--card-shadow:0 1px 2px rgba(22,29,51,.04),0 2px 8px -2px rgba(22,29,51,.06);--card-shadow-hover:0 4px 10px -2px rgba(22,29,51,.08),0 14px 30px -10px rgba(22,29,51,.14);--control-radius:9px;--control-border:#d3d8e6;--label-ink:#313a57;--table-head-bg:#f7f8fc;--table-head-ink:#5f6782;--table-zebra:#fff;--shell-gap:0px;--shell-radius:0px;--sidebar-w:248px;--sidebar-w-collapsed:68px;--sb-bg:#1b2541;--sb-bg-solid:#1b2541;--sb-ink:#fff;--sb-muted:#b4bbd0;--sb-border:hsla(0,0%,100%,.08);--sb-hover-bg:#252f4d;--sb-active-bg:#5865f2;--header-h:64px;--page-bg:#f3f4f9;--body-bg:#f3f4f9;--chart-1:#5865f2;--chart-2:#f59e0b;--chart-3:#0d9488;--chart-4:#db2777;--chart-5:#0ea5e9;--chart-6:#65a30d;--chart-7:#8b5cf6;--chart-8:#a16207;--line-rgb:227,230,239}html{font-family:var(--font-inter),"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"cv11","ss01"}body{letter-spacing:-.006em}h1,h2,h3,h4,h5,h6{letter-spacing:-.018em}a{color:var(--accent-dark)}a:not(.btn):not(.sidebar-link):hover{color:var(--accent-darker)}::selection{background:var(--accent-soft)}.app-shell{box-shadow:none}.app-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--line);padding:0 28px}.app-breadcrumb{font-size:12px}.app-breadcrumb [aria-current=page]{font-size:15px;font-weight:600;color:var(--ink)}.app-breadcrumb a:hover{color:var(--accent-dark)}.app-header-date{color:var(--muted);font-size:12.5px;padding:6px 12px;border-radius:999px;background:var(--surface-alt);border:1px solid var(--line)}.app-header-date svg{color:var(--accent)}.sidebar{padding:18px 0 16px;scrollbar-color:hsla(0,0%,100%,.16) transparent;box-shadow:1px 0 0 rgba(22,29,51,.06)}.sidebar-brand{font-size:14.5px;font-weight:700;color:#fff;padding:2px 18px 18px;margin-bottom:8px;border-bottom-color:var(--sb-border)}.sidebar-brand-mark{background:var(--accent);box-shadow:0 6px 16px rgba(88,101,242,.45);color:#fff}.sidebar-collapse-btn{background:var(--navy-2);color:var(--sb-muted);border-color:var(--sb-border)}.sidebar-collapse-btn:hover{background:var(--navy-3);color:#fff}.sidebar-section-label{color:#8a94b0;opacity:1;font-weight:700;font-size:11px;letter-spacing:.1em;padding:18px 22px 8px}.sidebar-nav{gap:0}.sidebar-link{color:#c9cfe0;font-weight:600;font-size:14px;padding:10px 22px;border-radius:0;gap:12px;transition:background .15s ease,color .15s ease}.sidebar-link:hover{background:var(--sb-hover-bg);color:#fff;transform:none}.sidebar-link-active,.sidebar-link-active:hover{background:var(--sb-active-bg);color:#fff;font-weight:700;transform:none}.sidebar-link-active:before{display:none}.sidebar-link-icon{width:20px;height:20px;border-radius:0;background:transparent;color:#c9cfe0}.sidebar-link-active .sidebar-link-icon,.sidebar-link-active:hover .sidebar-link-icon,.sidebar-link:hover .sidebar-link-icon{background:transparent;color:#fff}.sidebar-link-icon svg{width:17px;height:17px}.sidebar.is-collapsed .sidebar-link{padding:12px 0}.sidebar.is-collapsed .sidebar-link-active:hover,.sidebar.is-collapsed .sidebar-link:hover{transform:none}.sidebar.is-collapsed .sidebar-brand{padding:2px 8px 14px}.sidebar-hamburger{background:var(--accent-light)}.sidebar-hamburger span{background:var(--accent-dark)}.studio-shell{background:var(--page-bg)}.studio-toolbar{align-items:start;padding:20px 28px 4px;background:#fff}.studio-brand h1{font-size:21px;font-weight:700;line-height:1.3;color:var(--ink)}.studio-actions{gap:8px}.studio-subbar{padding:2px 28px 16px;font-size:13px;color:var(--muted);background:#fff;border-bottom:1px solid var(--line)}.studio-scroll{padding:22px 28px 32px}.studio-toolbar>.studio-workflow:empty{display:none}.page-header h1{font-size:22px;font-weight:700;letter-spacing:-.02em}.page-header p{font-size:13px;color:var(--muted)}.section-head h2{font-size:15px;font-weight:600}@media (max-width:640px){.studio-toolbar{padding:14px 14px 4px}.studio-subbar{padding:2px 14px 12px}.studio-scroll{padding:14px 14px 24px}}.stat-card,.studio-stat{border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.stat-card:hover,.studio-stat:hover{transform:none;box-shadow:var(--card-shadow-hover);border-color:#cfd4f6}.studio-stat:after{display:none}.stat-card .label,.studio-stat .label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.stat-card .label:before,.studio-stat .label:before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:3px;background:var(--accent)}.stat-card .value{font-size:30px;font-weight:700;letter-spacing:-.02em}.ov-stat-card:hover{transform:none}.ov-stats>.ov-stat-card:first-child{background:linear-gradient(135deg,#1b2541,#2c3770 60%,#5865f2 140%);box-shadow:0 14px 30px -12px rgba(27,37,65,.55)}.ov-stats>.ov-stat-card:first-child .ov-stat-icon{background:hsla(0,0%,100%,.12);color:#fff}.ov-stat-icon{background:var(--accent-light);color:var(--accent-dark)}.btn{justify-content:center;border-radius:var(--control-radius)}.btn-accent,.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 2px rgba(22,29,51,.1),0 4px 12px -4px rgba(88,101,242,.55)}.btn-accent:hover,.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;box-shadow:0 1px 2px rgba(22,29,51,.1),0 6px 16px -4px rgba(88,101,242,.6);transform:none}.btn-outline{background:#fff;color:#2b3350;border-color:var(--control-border);box-shadow:0 1px 2px rgba(22,29,51,.05)}.btn-outline:hover{background:var(--accent-light);color:var(--accent-dark);border-color:#b8bff8;transform:none}.btn-danger{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 1px 2px rgba(22,29,51,.1)}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.btn-outline-danger{background:#fff;color:var(--red);border-color:#fecaca}.btn-outline-danger:hover{background:var(--red-bg);border-color:#fca5a5;color:#b91c1c}.btn:active{transform:none;filter:brightness(.96)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;filter:none;box-shadow:none}.studio-table-wrap .btn,.table-card .btn{white-space:nowrap}.seg-tabs{background:#e9ebf5;border-radius:10px;padding:3px}.seg-tab{border-radius:8px;color:var(--muted);font-weight:600}.seg-tab:hover{color:var(--ink)}.seg-tab-active,.seg-tab-active:hover{background:#fff;color:var(--accent-dark);box-shadow:0 1px 3px rgba(22,29,51,.12)}.field label{font-size:12.5px;font-weight:600;color:var(--label-ink)}:where(select,input[type=text]):hover{border-color:#aab1c7}:where(select,input[type=text]):focus{border-color:var(--accent);box-shadow:var(--focus-ring)}:where(select,input,textarea):disabled{background:#f1f2f7;color:var(--muted);cursor:not-allowed}.field.has-error input,.field.has-error select{border-color:var(--red);box-shadow:0 0 0 3px rgba(220,38,38,.12)}.table-card{border-radius:var(--card-radius)}.table-card th{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--table-head-ink);background:var(--table-head-bg);padding:12px 16px;border-bottom-color:var(--line)}.table-card td{padding:13px 16px;border-bottom-color:#eef0f6}.rs-grid tbody tr:nth-child(2n) td,.studio-table-wrap tbody tr:nth-child(2n) td,.table-card tbody tr:nth-child(2n) td{background:#fff}.rs-grid tbody tr:hover td,.studio-table-wrap tbody tr:hover td,.table-card tbody tr:hover td{background:#f6f7ff}.badge{padding:2px 9px;font-size:11.5px;font-weight:600;border:1px solid transparent}.badge-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.badge-red{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.badge-orange,.badge-yellow{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-border)}.badge-blue{background:var(--accent-light);color:var(--accent-dark);border-color:var(--accent-soft)}.badge-purple{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.badge-grey{background:#f1f2f7;color:#4b5470;border-color:#e3e6ef}.badge-teal{background:#f0fdfa;color:#0f766e;border-color:#99f6e4}.alert-warning{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-border);border-left-color:var(--warning)}.alert-warning:before{background:var(--warning);color:#fff}.alert-info{border-color:var(--accent-soft);color:var(--accent-darker)}.toast{background:var(--navy);color:#f3f4f9;border-left-color:var(--accent);border-radius:12px;box-shadow:0 14px 34px -8px rgba(22,29,51,.45)}.toast.toast-error{border-left-color:#f87171}.toast.toast-success{border-left-color:#4ade80}.modal-overlay{background:rgba(22,29,51,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{border-radius:16px;border:1px solid var(--line);box-shadow:0 30px 70px -20px rgba(22,29,51,.45)}.modal-title{font-size:17px;font-weight:700}.modal-subtitle{font-size:13px}.modal-field label,.modal-field>div:first-child{font-size:12px;color:var(--label-ink)}.user-menu-card{box-shadow:0 4px 8px rgba(22,29,51,.06),0 20px 44px -10px rgba(22,29,51,.25);border-color:var(--line)}.empty-state strong{font-weight:600}.spinner{border-top-color:var(--accent)}.btn:focus-visible,.catalog-sync-dismiss:focus-visible,.sidebar-collapse-btn:focus-visible,.sidebar-hamburger:focus-visible,.user-menu-action:focus-visible,.user-menu-close:focus-visible,.user-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-link:focus-visible{outline:2px solid #fff;outline-offset:-3px}.ov-coverage-fill.tone-yellow{background:var(--warning)}.ov-bar-col:nth-child(odd) .ov-bar-fill{background:linear-gradient(180deg,#8f98f7,var(--accent))}.ov-bar-col:nth-child(2n) .ov-bar-fill{background:linear-gradient(180deg,#c3c8fb,#7b85f5)}.ov-tip-card .btn-primary{background:var(--accent);color:#fff}.ov-tip-card .btn-primary:hover{background:var(--accent-dark);color:#fff}.catalog-report-bar-count{background:var(--accent-light);color:var(--accent-dark)}.catalog-report-bar{box-shadow:inset 3px 0 0 var(--accent),0 -6px 18px rgba(22,29,51,.06)}.login-visual-side{background:linear-gradient(160deg,#1b2541,#2c3770 55%,#5865f2 135%)}.login-brand-mark{background:var(--accent)}.pr-tree{background:#fff;border:1px solid var(--line);border-radius:var(--card-radius)!important;box-shadow:var(--card-shadow);padding:6px}.pr-row{padding:9px 12px;border-radius:9px;min-height:40px}.pr-row.is-drag-over,.pr-row:hover{background:#f6f7ff}.pr-row.is-open{background:var(--accent-light)}.pr-label{font-size:13.5px;color:var(--ink)}.pr-meta{font-size:12px;color:var(--muted)}.pr-file-icon{color:var(--accent)}.pr-folder-icon{color:#f59e0b}.tpl-search{border-color:var(--control-border)!important}.catalog-rail-db{border-color:var(--line);border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(22,29,51,.04)}.catalog-rail-db:hover{border-color:#b8bff8;box-shadow:0 4px 14px -4px rgba(88,101,242,.25)}.catalog-rail-db.open{border-color:var(--accent);background:#fafaff;box-shadow:inset 3px 0 0 var(--accent)}.catalog-rail-db-text strong{font-size:13.5px}.catalog-rail-db-text small{color:var(--muted)}.catalog-rail-db-text small.catalog-rail-db-usage{color:var(--accent-dark);font-weight:600}.user-menu{--role:#5865f2;--role-soft:#eef0fe;--role-ink:#3a43a6}.user-menu[data-role=admin]{--role:#0d9488;--role-soft:#e6f7f5;--role-ink:#0f766e}.user-menu[data-role=end_user]{--role:#d97706;--role-soft:#fff4e0;--role-ink:#92400e}.user-menu-avatar{background:var(--role);color:#fff;font-weight:700}.user-menu-trigger{border-color:var(--line);padding:4px 14px 4px 4px}.user-menu-trigger:hover{border-color:#cfd4f6;box-shadow:var(--card-shadow)}.user-menu-trigger[aria-expanded=true]{border-color:var(--role);box-shadow:0 0 0 3px var(--role-soft)}.user-menu-card{width:320px;padding:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 8px rgba(22,29,51,.06),0 24px 50px -12px rgba(22,29,51,.3)}.user-menu-card-top{justify-content:flex-start;min-height:46px;margin:0;padding:0 48px 0 18px;background:linear-gradient(120deg,#1b2541 0,#2c3770 65%,var(--role) 160%);color:hsla(0,0%,100%,.82);font-size:12px;font-weight:500;letter-spacing:.02em}.user-menu-close{right:10px;width:30px;height:30px;color:#fff}.user-menu-close:hover{background:hsla(0,0%,100%,.14)}.user-menu-close:focus-visible{outline-color:#fff}.user-menu-panel{border-radius:0}.user-menu-identity{gap:14px;padding:18px 18px 16px;border-bottom-color:var(--line)}.user-menu-avatar-lg{width:52px;height:52px;font-size:21px;box-shadow:0 0 0 4px var(--role-soft)}.user-menu-name{font-size:16px;font-weight:600;margin-bottom:1px}.user-menu-email{font-size:12.5px}.user-menu-role-pill{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:2px 10px;border-radius:999px;background:var(--role-soft);color:var(--role-ink);font-size:11px;font-weight:600}.user-menu-role-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--role)}.user-menu-action{gap:12px;padding:12px 18px;font-size:13.5px;color:var(--ink)}.user-menu-action svg{width:18px;height:18px;color:var(--muted)}.user-menu-action:hover{background:#f7f8fc}.user-menu-action-danger,.user-menu-action-danger svg{color:var(--red)}.user-menu-action-danger:hover{background:var(--red-bg);color:#b91c1c}.user-menu-action-danger:hover svg{color:#b91c1c}.toast-stack{top:20px;right:20px;bottom:auto;z-index:400}.login-toast{align-items:center;gap:12px;min-width:300px;background:#fff;color:var(--ink);border:1px solid #bbf7d0;border-left:4px solid var(--green);box-shadow:0 10px 30px -8px rgba(22,29,51,.25)}.login-toast-icon{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff}.login-toast-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1}.login-toast-text strong{font-size:13.5px;font-weight:600}.login-toast-text span{font-size:12.5px;color:var(--muted)}.login-toast-close{border:none;background:transparent;color:var(--muted);cursor:pointer;width:26px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.login-toast-close:hover{background:#f1f2f7;color:var(--ink)}