:root{color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;--color-bg: #020202;--color-bg-main: #0f0f0f;--color-surface: #1b1b1b;--color-surface-2: #282828;--color-border: rgba(255, 255, 255, .1);--color-border-subtle: rgba(255, 255, 255, .06);--color-border-strong: rgba(255, 255, 255, .2);--color-text: #ffffff;--color-text-muted: #cccccc;--color-text-faint: #818181;--color-accent: #1864ee;--color-accent-hover: #1450c8;--color-accent-soft: rgba(24, 100, 238, .18);--color-accent-secondary: #22d8f6;--color-accent-soft-border: rgba(34, 216, 246, .32);--color-danger: #f87171;--color-danger-bg: rgba(248, 113, 113, .12);--color-danger-border: rgba(248, 113, 113, .28);--color-success: #4ade80;--color-success-bg: rgba(74, 222, 128, .12);color:var(--color-text);background:var(--color-bg)}*{box-sizing:border-box}body{margin:0}html,body,#root{height:100%}*{scrollbar-width:thin;scrollbar-color:#353535 transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#353535;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#4b5563}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.shell{--shell-sidebar-width: 200px;--shell-sidebar-width-collapsed: 56px;display:grid;grid-template-columns:var(--shell-sidebar-width) minmax(0,1fr);height:100dvh;overflow:hidden}.shell--sidebar-collapsed{grid-template-columns:var(--shell-sidebar-width-collapsed) minmax(0,1fr)}.shell__sidebar{background:var(--color-bg);color:var(--color-text);padding:12px 8px 10px;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--color-border-subtle);height:100dvh;min-height:0;overflow:hidden}.shell__brand{display:flex;align-items:center;gap:4px;padding:2px 2px 4px 8px;flex-shrink:0;min-width:0}.shell__brand-link{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0;flex:1}.shell__brand-link:hover{text-decoration:none}.shell__brand-mark{width:32px;height:32px;border-radius:8px;flex-shrink:0;display:block;object-fit:cover}.shell__brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}.shell__brand-text strong{font-size:.9rem;font-weight:700;color:var(--color-text);line-height:1.2}.shell__brand-text span{font-size:.75rem;color:var(--color-accent-secondary);letter-spacing:.02em}.shell__app-switcher{display:flex;flex-direction:column;gap:4px;padding:4px 6px 10px;flex-shrink:0;min-width:0}.shell__app-switcher-label{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint);padding-left:2px}.shell__app-switcher-select{width:100%;min-width:0;padding:7px 28px 7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background-color:#ffffff0a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%23818181' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;color:var(--color-text);font-size:.82rem;cursor:pointer}.shell__app-switcher-select:hover,.shell__app-switcher-select:focus{border-color:#ffffff2e;background-color:#ffffff0f;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%23cccccc' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;outline:none}.shell__app-switcher--loading{font-size:.78rem;color:var(--color-text-faint);padding:8px 10px}.shell--sidebar-collapsed .shell__app-switcher-label{display:none}.shell--sidebar-collapsed .shell__app-switcher{padding:2px 4px 8px}.shell--sidebar-collapsed .shell__app-switcher-select{padding:6px 4px;font-size:.68rem;text-align:center}.shell__nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:2px;margin-right:-2px}.shell__nav a{text-decoration:none}.shell__sidebar-footer{flex-shrink:0;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}.shell__sidebar-toggle{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;background:transparent;border:1px solid transparent;color:var(--color-text-faint);border-radius:8px;padding:0;cursor:pointer;font:inherit;transition:background .15s,border-color .15s,color .15s}.shell__sidebar-toggle:hover{background:#ffffff12;border-color:#ffffff1f;color:var(--color-text)}.shell--sidebar-collapsed .shell__sidebar-toggle .sidebar-nav__svg{transform:scaleX(-1)}.shell--sidebar-collapsed .shell__brand-text,.shell--sidebar-collapsed .sidebar-nav__label,.shell--sidebar-collapsed .sidebar-nav__group-title,.shell--sidebar-collapsed .shell__logout span{display:none}.shell--sidebar-collapsed .shell__brand{flex-direction:column;align-items:center;gap:6px;padding-left:0;padding-right:0}.shell--sidebar-collapsed .shell__brand-link{justify-content:center;flex:0}.shell--sidebar-collapsed .sidebar-nav__link{justify-content:center;padding-left:8px;padding-right:8px}.shell--sidebar-collapsed .sidebar-nav__group{gap:2px}.shell--sidebar-collapsed .shell__logout{justify-content:center;padding-left:8px;padding-right:8px}.shell__logout{display:flex;align-items:center;gap:10px;width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--color-text-muted);border-radius:10px;padding:10px 12px;cursor:pointer;font:inherit;transition:background .15s,border-color .15s,color .15s}.shell__logout:hover{background:#ffffff14;border-color:#ffffff29;color:#fff}.sidebar-nav{display:flex;flex-direction:column;gap:14px}.sidebar-nav__group{display:flex;flex-direction:column;gap:4px}.sidebar-nav__group-title{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:0 10px 0 8px;margin-bottom:2px}.sidebar-nav__group--dark .sidebar-nav__group-title,.sidebar-nav__group--light .sidebar-nav__group-title{color:var(--color-text-faint)}.sidebar-nav__group-links{display:flex;flex-direction:column;gap:2px}.sidebar-nav__link{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 8px;border-radius:8px;text-decoration:none;font-size:.86rem;line-height:1.2;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}.sidebar-nav__link:hover{text-decoration:none}.sidebar-nav__link--dark{color:var(--color-text-muted)}.sidebar-nav__link--dark:hover{background:#ffffff0f;color:#f8fafc}.sidebar-nav__link--dark.sidebar-nav__link--active{background:#22d8f61a;border-color:var(--color-accent-soft-border);color:#fff;box-shadow:inset 3px 0 0 var(--color-accent-secondary)}.sidebar-nav__link--light{color:var(--color-text-muted)}.sidebar-nav__link--light:hover{background:#ffffff0d;color:var(--color-text)}.sidebar-nav__link--light.sidebar-nav__link--active{background:#22d8f61a;border-color:var(--color-accent-soft-border);color:var(--color-accent-secondary);font-weight:600;box-shadow:inset 3px 0 0 var(--color-accent-secondary)}.sidebar-nav__icon{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0;opacity:.92}.sidebar-nav__link--active .sidebar-nav__icon{opacity:1}.sidebar-nav__svg{width:18px;height:18px;display:block}.sidebar-nav__label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell__main{min-width:0;min-height:0;height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:var(--color-bg-main)}.shell__main-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:20px 24px}.shell__main-scroll:has(.app-workspace--fill){display:flex;flex-direction:column;overflow:hidden;padding:14px 18px}.shell__main-scroll:has(>.catalog-page--split){display:flex;flex-direction:column;overflow:hidden}.shell__main-scroll>.catalog-page--split{flex:1;min-height:0;height:100%;overflow:hidden}.shell__main-scroll>.catalog-page--split>.catalog-layout{flex:1;min-height:0;height:auto}.page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page__header h1{margin:0 0 4px;font-size:1.6rem}.page__header p,.breadcrumb,.muted{color:var(--color-text-muted)}.breadcrumb{margin:0 0 6px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid h2{grid-column:1 / -1;margin:0}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:.92rem}.form-grid label.full{grid-column:1 / -1}input,textarea,select,button{font:inherit}input,textarea,select{border:1px solid var(--color-border-strong);border-radius:8px;padding:10px 12px;background-color:var(--color-surface-2);color:var(--color-text)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;background-color:var(--color-surface-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%23818181' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}select:hover{border-color:var(--color-border-strong);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%23cccccc' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}select option{background-color:var(--color-surface);color:var(--color-text)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.75L6 6.25L10.5 1.75' stroke='%2322d8f6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}.btn-primary{background:var(--color-accent);color:#fff;border:none;border-radius:8px;padding:10px 16px;cursor:pointer;transition:background .15s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}a.btn-primary:hover{text-decoration:none;color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{background:none;border:none;color:var(--color-accent);cursor:pointer;padding:0}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--color-border-subtle)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.8rem}.badge--active{background:var(--color-success-bg);color:var(--color-success)}.badge--disabled{background:var(--color-danger-bg);color:var(--color-danger)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:16px}.stat-card__label{display:block;color:var(--color-text-muted);font-size:.9rem}.stat-card__value{font-size:1.5rem}.link-list{margin:0;padding-left:18px}.table-toolbar{margin-bottom:12px}.form-actions{display:flex;gap:10px;align-items:center}.table-toolbar label,.page__header label{display:flex;flex-direction:column;gap:6px;font-size:.92rem}.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--color-text-muted)}.tabs button.active{background:#22d8f61f;border-color:var(--color-accent-soft-border);color:var(--color-accent-secondary);font-weight:600}.error{color:var(--color-danger)}.success{color:var(--color-success)}.banner{padding:10px 12px;border-radius:8px;margin:0 0 12px}.error.banner{background:var(--color-danger-bg)}.success.banner{background:var(--color-success-bg)}.login-page{--login-bg-top: #020202;--login-bg-bottom: #0f0f0f;--login-surface: var(--color-surface);--login-surface-muted: rgba(255, 255, 255, .04);--login-brand: var(--color-accent);--login-brand-hover: var(--color-accent-hover);--login-brand-ring: rgba(24, 100, 238, .22);--login-border: var(--color-border);--login-text: var(--color-text);--login-text-muted: var(--color-text-muted);min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse 80% 60% at 20% 10%,rgba(23,99,238,.16),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 90%,rgba(34,216,246,.1),transparent 50%),linear-gradient(165deg,var(--login-bg-top) 0%,var(--login-bg-bottom) 60%,var(--color-bg-main) 100%)}.login-panel{width:min(420px,100%);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:var(--login-surface);box-shadow:0 0 0 1px #22d8f60f,0 16px 48px #00000073}.login-panel__intro{padding:24px 28px 20px;background:var(--login-surface-muted);border-bottom:1px solid var(--login-border)}.login-panel__brand{display:flex;align-items:center;gap:12px}.login-panel__mark{width:38px;height:38px;border-radius:10px;flex-shrink:0;display:block;object-fit:cover}.login-panel__brand-text{display:flex;flex-direction:column;gap:2px}.login-panel__brand-text strong{font-size:1rem;font-weight:700;color:var(--login-text);line-height:1.2}.login-panel__brand-text span{font-size:1rem;font-weight:700;color:var(--login-text);letter-spacing:.02em;line-height:1.2}.login-panel__tagline{margin:12px 0 0;font-size:.84rem;line-height:1.5;color:var(--color-text-faint)}.login-panel__form{padding:24px 28px 28px;display:flex;flex-direction:column;gap:18px;min-width:0;background:var(--login-surface)}.login-panel__header h1{margin:0 0 6px;font-size:1.25rem;font-weight:700;color:var(--login-text);letter-spacing:-.01em}.login-panel__hint{margin:0;font-size:.8rem;line-height:1.45;color:var(--color-text-faint)}.login-panel__fields{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field__label{font-size:.88rem;font-weight:500;color:var(--login-text-muted)}.login-field__input{width:100%;background:var(--color-surface-2);border:1px solid var(--login-border);color:var(--login-text);transition:border-color .15s,box-shadow .15s,background .15s}.login-field__input::placeholder{color:var(--color-text-faint)}.login-field__input:focus{outline:none;background:var(--login-surface);border-color:var(--login-brand);box-shadow:0 0 0 3px var(--login-brand-ring)}.login-panel__error{margin:0;padding:10px 12px;border-radius:8px;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);font-size:.88rem}.login-panel__submit{width:100%;padding:11px 16px;font-size:.95rem;font-weight:600;margin-top:2px;background:var(--login-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .15s,box-shadow .15s}.login-panel__submit:hover:not(:disabled){background:var(--login-brand-hover);box-shadow:0 4px 18px #1864ee59}.login-panel__submit:disabled{opacity:.65;cursor:not-allowed}@media(max-width:720px){.login-panel__intro,.login-panel__form{padding-left:22px;padding-right:22px}}.table-actions{display:flex;gap:12px;flex-wrap:wrap}.app-workspace{display:flex;flex-direction:column;gap:0}.app-workspace--fill{flex:1;min-height:0;overflow:hidden}.app-workspace__header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;flex-shrink:0;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.app-workspace__header-main{min-width:0;flex:1}.app-workspace__header h1{margin:0;font-size:1.05rem;line-height:1.25}.app-workspace__breadcrumb{margin:0 0 2px;font-size:.76rem;line-height:1.2}.app-workspace__title-block{min-width:0}.app-workspace__title-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}.app-workspace__tagline{margin:0;font-size:.8rem;line-height:1.2}.app-workspace__title-row{display:flex;align-items:center;gap:10px}.app-workspace__logo{width:34px;height:34px;border-radius:8px;object-fit:cover;border:1px solid var(--color-border)}.app-workspace__logo--placeholder{display:grid;place-items:center;background:var(--color-border);color:var(--color-text-muted);font-weight:700;font-size:.95rem}.app-workspace__body{--app-sidebar-width: 156px;--app-sidebar-width-collapsed: 44px;display:grid;grid-template-columns:var(--app-sidebar-width) minmax(0,1fr);gap:14px;align-items:stretch;min-height:0}.app-workspace--sidebar-collapsed .app-workspace__body{grid-template-columns:var(--app-sidebar-width-collapsed) minmax(0,1fr)}.app-workspace--fill .app-workspace__body{flex:1;overflow:hidden}.app-workspace__sidebar{min-height:0;display:flex;flex-direction:column;gap:6px}.app-workspace__sidebar-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:6px 8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:.74rem;flex-shrink:0;transition:border-color .12s,color .12s,background .12s}.app-workspace__sidebar-toggle:hover{border-color:var(--color-text-muted);color:var(--color-text-muted);background:var(--color-bg-main)}.app-workspace--sidebar-collapsed .app-workspace__sidebar-toggle .sidebar-nav__svg{transform:scaleX(-1)}.app-workspace--sidebar-collapsed .app-workspace__sidebar-toggle-label,.app-workspace--sidebar-collapsed .app-workspace__sidebar .sidebar-nav__label,.app-workspace--sidebar-collapsed .app-workspace__sidebar .sidebar-nav__group-title{display:none}.app-workspace--sidebar-collapsed .app-workspace__sidebar .sidebar-nav__link{justify-content:center;padding-left:6px;padding-right:6px}.app-workspace--sidebar-collapsed .app-workspace__sidebar .sidebar-nav{gap:8px}.app-workspace--sidebar-collapsed .app-workspace__sidebar .sidebar-nav__group{gap:2px}.app-workspace--fill .app-workspace__sidebar{overflow-y:auto;overscroll-behavior:contain}.app-workspace__sidebar .sidebar-nav{padding:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 2px #00000040;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app-workspace__content{min-width:0;min-height:0}.app-workspace--fill .app-workspace__content{overflow-y:auto;overscroll-behavior:contain}.app-workspace--fill .app-workspace__content:has(.catalog-page--split){overflow:hidden;display:flex;flex-direction:column}.page-section h2{margin:0;font-size:1.1rem}.nested-panel{background:var(--color-bg-main);padding:0!important}.nested-panel__inner{padding:16px 20px}.nested-panel__inner h3{margin:0 0 10px;font-size:.95rem}.nested-form{margin-top:12px}.service-item-list{margin:0;padding-left:18px}.service-item-list li{margin-bottom:6px}@media(max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:100dvh}.shell__sidebar{height:auto;max-height:none;flex-direction:column;padding:14px;gap:12px}.shell__brand{padding-bottom:0}.shell__nav{flex:none;min-height:auto;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.shell__nav .sidebar-nav{flex-direction:row;flex-wrap:nowrap;gap:12px;min-width:max-content}.shell__nav .sidebar-nav__group{flex-direction:row;align-items:center;gap:6px;padding-right:12px;border-right:1px solid rgba(255,255,255,.08)}.shell__nav .sidebar-nav__group:last-child{border-right:none;padding-right:0}.shell__nav .sidebar-nav__group-title{margin:0;padding:0 4px 0 0;white-space:nowrap}.shell__nav .sidebar-nav__group-links{flex-direction:row;gap:4px}.shell__nav .sidebar-nav__link{white-space:nowrap;padding:8px 10px}.shell__sidebar-footer{padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.shell__logout{width:auto}.shell--sidebar-collapsed{grid-template-columns:1fr}.shell--sidebar-collapsed .shell__brand-text{display:flex}.shell--sidebar-collapsed .shell__brand{flex-direction:row;align-items:center;padding-left:8px;padding-right:2px}.shell--sidebar-collapsed .shell__brand-link{flex:1;justify-content:flex-start}.shell--sidebar-collapsed .sidebar-nav__label,.shell--sidebar-collapsed .sidebar-nav__group-title,.shell--sidebar-collapsed .shell__logout span{display:inline}.shell--sidebar-collapsed .sidebar-nav__link,.shell--sidebar-collapsed .shell__logout{justify-content:flex-start}.shell__main{height:auto;min-height:0}.shell__main-scroll{padding:20px 16px}.shell__main-scroll:has(.app-workspace--fill){overflow-y:auto;display:block}.shell__main-scroll:has(>.catalog-page--split){display:block;overflow-y:auto}.shell__main-scroll>.catalog-page--split{height:auto;overflow:visible}.shell__main-scroll>.catalog-page--split>.catalog-layout{height:auto}.app-workspace--fill{overflow:visible;min-height:auto}.app-workspace--fill .app-workspace__body,.app-workspace--fill .app-workspace__content,.app-workspace--fill .app-workspace__sidebar{overflow:visible}.form-grid,.app-workspace__body{grid-template-columns:1fr}.app-workspace--sidebar-collapsed .app-workspace__sidebar-toggle-label,.app-workspace--sidebar-collapsed .app-workspace__sidebar .sidebar-nav__label,.app-workspace--sidebar-collapsed .app-workspace__sidebar .sidebar-nav__group-title{display:block}.app-workspace--sidebar-collapsed .app-workspace__sidebar .sidebar-nav__link{justify-content:flex-start}.app-workspace__sidebar .sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:12px}.app-workspace__sidebar .sidebar-nav__group{flex:1 1 160px}.redeem-table-wrap{max-height:none}}.card--warn{border:1px solid rgba(245,158,11,.45);background:#f59e0b1f}.card--warn h2{margin-top:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.stat-cell{background:var(--color-surface-2);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.stat-cell span{font-size:.8rem;color:var(--color-text-faint)}.stat-cell--highlight{grid-column:1 / -1;background:var(--color-accent-soft)}.positive{color:#34d399}.negative{color:#f87171}.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table th,.data-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--color-border)}.data-table th{color:var(--color-text-faint);font-size:.8rem;font-weight:600;letter-spacing:.02em}.table-muted{color:var(--color-text-muted);font-size:.85rem}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.llm-filters .search-form input{width:9.5rem}.toolbar__btn,.toolbar select,.search-form button,.search-form input,.ops-block button,.ops-block input,.pager button{border-radius:8px;border:1px solid var(--color-border-strong);padding:8px 12px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.toolbar__btn:hover,.pager button:hover{border-color:var(--color-accent-soft-border);color:var(--color-text);background:var(--color-surface-2)}.search-form button{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600}.search-form button:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.toolbar__btn.active{background:#22d8f61f;color:var(--color-accent-secondary);border-color:var(--color-accent-soft-border);font-weight:600}.search-form{display:flex;gap:8px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem}.badge--ok{background:var(--color-success-bg);color:var(--color-success)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge--muted{background:#ffffff0f;color:var(--color-text-muted);border:1px solid var(--color-border)}.pager{display:flex;gap:12px;align-items:center;margin-top:16px}.card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.kv-list{list-style:none;margin:0;padding:0}.kv-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-surface-2)}.ops-block{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.ops-block button.danger{background:#dc2626;color:#fff;border-color:#f87171}.breadcrumb{margin:0 0 4px;font-size:.85rem}.flash{background:var(--color-success-bg);border:1px solid #a7f3d0;color:#6ee7b7;padding:10px 14px;border-radius:8px;margin-bottom:16px}.flash--ok{background:var(--color-success-bg);border:1px solid #a7f3d0;color:#6ee7b7}.flash--danger{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5}.flash--warn{background:#f59e0b1f;border-color:#f59e0b73;color:#fbbf24}.detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;align-items:start}@media(max-width:960px){.detail-grid{grid-template-columns:1fr}}.card__title{margin:0 0 12px;font-size:1rem;font-weight:600}.table-ellipsis{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-body{margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border)}.feedback-body__label{margin:0 0 8px;font-size:.8rem;color:var(--color-text-faint);letter-spacing:.02em}.feedback-body__text{white-space:pre-wrap;line-height:1.65;color:var(--color-text);font-size:.95rem}.feedback-reply-form{display:flex;flex-direction:column;gap:12px}.feedback-reply-form label{display:flex;flex-direction:column;gap:6px}.feedback-reply-form label>span{font-size:.85rem;color:var(--color-text-muted)}.feedback-reply-form textarea{width:100%;min-height:160px;resize:vertical;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface-2, var(--color-bg));color:var(--color-text);font:inherit;line-height:1.55}.feedback-reply-form__actions{display:flex;justify-content:flex-end;gap:8px}.feedback-reply-history{margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border)}.page-muted{color:var(--color-text-faint)}@media(max-width:900px){.card-grid--2{grid-template-columns:1fr}}.btn-secondary{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-strong);border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:500;transition:background .15s,border-color .15s,color .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-secondary:hover:not(:disabled),a.btn-secondary:hover{background:var(--color-surface-2);border-color:var(--color-accent-soft-border);color:var(--color-text);text-decoration:none}.btn-secondary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.field-grid label{display:flex;flex-direction:column;gap:6px;font-size:.92rem}.field-grid label span{color:var(--color-text-muted);font-weight:500}.field-grid__full{grid-column:1 / -1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.catalog-page{display:flex;flex-direction:column;gap:16px}.catalog-page--split{flex:1;min-height:0}.app-workspace__content>.catalog-page--split{height:100%;overflow:hidden}.app-workspace__content>.catalog-page--split>.catalog-layout{flex:1;min-height:0;height:auto}.app-workspace__content>.catalog-page--split>.card{flex-shrink:0;max-height:min(280px,38%);overflow:auto}.app-workspace__content>.catalog-page--split>.target-margin-pricing{max-height:none;overflow:visible;padding:10px 14px}.app-workspace__content>.catalog-page--split>.target-margin-pricing.is-expanded{max-height:min(200px,30%);overflow:auto}.app-workspace__content>.catalog-page--split>.catalog-empty{max-height:none;overflow:visible;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.catalog-detail__header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0;flex-wrap:wrap}.catalog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.catalog-header__tabs{margin-top:12px;margin-bottom:0}.catalog-header--sub{margin-bottom:4px}.catalog-panel{display:flex;flex-direction:column;min-height:0;flex:1}.catalog-header__title{margin:0 0 4px;font-size:1.25rem}.catalog-header__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.catalog-stats{display:flex;gap:16px;padding:8px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;font-size:.88rem;color:var(--color-text-muted)}.catalog-stats strong{color:var(--color-text);font-size:1rem}.catalog-create h3{margin:0 0 14px;font-size:1rem}.catalog-create__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.catalog-stack{display:flex;flex-direction:column;gap:16px}.catalog-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;align-items:stretch;flex:1;min-height:min(560px,calc(100dvh - 180px));height:min(720px,calc(100dvh - 160px))}.catalog-layout>.card{margin-bottom:0;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:16px 16px 14px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 1px #ffffff08 inset}.catalog-layout>.catalog-detail{background:linear-gradient(180deg,var(--color-surface) 0%,#171717 100%);border-color:var(--color-border);min-height:0;height:100%}.catalog-list__head,.product-detail__section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap;flex-shrink:0}.catalog-list__head h3,.product-detail__section-head h3{margin:0;font-size:1rem}.catalog-list__search{display:block;margin-bottom:12px;flex-shrink:0}.catalog-list__search input{width:100%;padding:8px 12px;font-size:.86rem;background:var(--color-bg-main);border-color:var(--color-border)}.catalog-list__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding-right:2px;margin-right:-2px}.catalog-list__draft{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px dashed var(--color-accent-soft-border);background:#22d8f60f;color:var(--color-accent-secondary);font-size:.84rem;font-weight:500;flex-shrink:0}.catalog-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.catalog-list__grid--wide{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.catalog-item-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:16px;border-radius:12px;border:2px solid var(--color-border);background:var(--color-surface-2);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.catalog-item-card:hover{border-color:var(--color-text-muted);background:var(--color-surface)}.catalog-item-card--selected{border-color:var(--color-accent-secondary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-accent-soft-border)}.catalog-item-card--dimmed{opacity:.72}.catalog-item-card--row{padding:11px 12px;border-width:1px;border-radius:10px;gap:2px;flex-shrink:0}.catalog-item-card--row .catalog-item-card__top{order:0;margin-bottom:4px}.catalog-item-card--row .catalog-item-card__title{order:1;font-size:.9rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.catalog-item-card--row .catalog-item-card__subtitle{order:2;margin:2px 0 0;font-size:.72rem;font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.catalog-item-card--row .catalog-item-card__footer{order:3;margin:4px 0 0;font-size:.7rem}.catalog-item-card--row.catalog-item-card--selected{border-color:var(--color-accent-soft-border);background:#22d8f614;box-shadow:inset 3px 0 0 var(--color-accent-secondary)}.catalog-item-card__top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.catalog-item-card__meta{font-size:.75rem;color:var(--color-text-muted)}.catalog-item-card__subtitle{font-size:.78rem;font-weight:600;color:var(--color-text-muted);margin-bottom:4px}.catalog-item-card__title{font-size:.95rem;font-weight:600;color:var(--color-text);line-height:1.35}.catalog-item-card__desc{margin:6px 0 0;font-size:.82rem;color:var(--color-text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-item-card__footer{margin:8px 0 0;font-size:.75rem;color:var(--color-text-faint)}.catalog-detail__header,.product-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.product-detail__header h2,.catalog-detail__header h2{margin:0 0 4px;font-size:1.1rem}.catalog-detail__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;padding-bottom:20px}.catalog-detail__empty{flex:1;display:flex;align-items:center;justify-content:center}.product-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:16px;border-radius:12px;border:2px solid var(--color-border);background:var(--color-surface-2);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.product-card:hover{border-color:var(--color-text-muted);background:var(--color-surface)}.product-card--selected{border-color:var(--color-accent-secondary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-accent-soft-border)}.product-card--disabled{opacity:.72}.product-card__top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.product-card__meta{font-size:.75rem;color:var(--color-text-muted)}.product-card__amount{font-size:1.65rem;font-weight:700;line-height:1;color:var(--color-text)}.product-card__unit{font-size:.85rem;color:var(--color-text-muted);margin-bottom:6px}.product-card__price{font-size:1.1rem;font-weight:600;color:var(--color-text)}.product-card__name{margin:8px 0 0;font-size:.88rem;color:var(--color-text-muted)}.product-card__desc{margin:4px 0 0;font-size:.8rem;color:var(--color-text-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__hint{margin:8px 0 0;font-size:.75rem;color:var(--color-text-faint)}.product-card__margin{margin:4px 0 0;font-size:.72rem;color:#34d399}.product-card__margin--low{color:#d97706}.product-economics{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.product-economics--compact{margin-top:0;padding-top:0;border-top:none}.product-economics--warn{padding:12px;border-radius:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35)}.product-economics__title{margin:0 0 8px;font-size:.88rem;font-weight:600}.product-economics__hint{margin:0 0 12px;font-size:.78rem;line-height:1.45}.product-economics__warn{color:#d97706}.target-margin-pricing{display:flex;flex-direction:column;gap:10px}.target-margin-pricing--disabled h3{margin:0 0 6px;font-size:.95rem}.target-margin-pricing--disabled p{margin:0;font-size:.82rem}.target-margin-pricing__bar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}.target-margin-pricing__header h3{margin:0 0 2px;font-size:.95rem}.target-margin-pricing__header p{margin:0;font-size:.78rem;line-height:1.35;max-width:42rem}.target-margin-pricing__form{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.target-margin-pricing__form label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;min-width:110px}.target-margin-pricing__form input[type=text],.target-margin-pricing__form input:not([type=checkbox]),.target-margin-pricing__form select{padding:6px 8px;border:1px solid var(--color-border-strong);border-radius:8px;font-size:.86rem}.target-margin-pricing__form select{padding-right:28px}.target-margin-pricing__checkbox{flex-direction:row!important;align-items:center;min-width:auto!important;padding-bottom:6px;gap:6px!important}.target-margin-pricing__checkbox input{margin:0}.target-margin-pricing__toggle{flex-shrink:0;align-self:center}.target-margin-pricing__warn{margin:0;font-size:.78rem}.target-margin-pricing__warn--cut{color:#fbbf24;padding:6px 10px;border-radius:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35)}.target-margin-pricing__hint{margin:0;font-size:.78rem}.target-margin-pricing__table{margin-top:0}.target-margin-pricing__table .table th,.target-margin-pricing__table .table td{padding:6px 8px;font-size:.82rem}.target-margin-pricing__changed{color:var(--color-accent-secondary);font-weight:600}.rates-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.rates-detail-panel{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--color-border-subtle);background:var(--color-surface-2);min-width:0}.rates-detail-panel--emphasis{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border-subtle));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 18%,transparent)}.rates-detail-panel .stat-grid{gap:8px}.rates-detail-panel .stat-cell{padding:8px 10px}.rates-detail-panel .btn-primary,.rates-detail-panel .btn-secondary{align-self:flex-start;margin-top:2px}.rates-detail-meta{margin:0;font-size:.78rem;line-height:1.4}.rates-stale-banner{margin-bottom:12px}.rates-history{margin-top:4px;padding-top:12px;border-top:1px solid var(--color-border)}.catalog-list__footer{flex-shrink:0;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border)}.catalog-list__custom-id{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--color-text-muted)}.catalog-list__custom-id-row{display:flex;gap:8px}.catalog-list__custom-id-row input{flex:1;min-width:0;padding:7px 10px;font-size:.84rem}.catalog-empty__inline-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;max-width:420px;width:100%}.catalog-empty__inline-form input{flex:1;min-width:180px}.catalog-detail__empty.catalog-empty--pane{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:32px 24px}@media(max-width:1100px){.rates-detail-grid{grid-template-columns:1fr}}.product-detail__badge{margin-left:8px;vertical-align:middle}.catalog-detail__columns,.product-detail__columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.catalog-detail__col,.product-detail__col{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;border:1px solid var(--color-border-subtle);background:var(--color-surface-2);min-height:100%}.product-detail__col--preview,.catalog-detail__col--preview{background:var(--color-surface-2)}.catalog-detail__col-title,.product-detail__col-title{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text)}.product-detail__col-hint,.catalog-detail__col-hint{margin:-4px 0 0;font-size:.82rem;line-height:1.4}.catalog-detail__form,.product-detail__form{display:flex;flex-direction:column;gap:12px}.catalog-detail__form--models{max-width:560px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:end}.catalog-detail__form--models>.catalog-detail__span-2{grid-column:1 / -1}.catalog-secret-field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;min-width:0}.catalog-secret-field>span{color:var(--color-text-muted);font-weight:500}.catalog-secret-field__row{display:flex;gap:8px;align-items:stretch}.catalog-secret-field__row input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem}.catalog-secret-field__row .btn-secondary{flex-shrink:0;white-space:nowrap}.catalog-secret-field__hint{margin:0;font-size:.78rem;line-height:1.4}.model-pricing-panel{margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid var(--color-border)}.model-pricing-panel__hint{margin:0 0 12px;font-size:.82rem}.model-pricing-panel__hint code{font-size:.8rem}.model-pricing-panel__link{font-size:.82rem;text-decoration:none}.model-pricing-panel__link:hover{color:var(--color-accent-secondary)}.model-pricing-panel__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.model-pricing-panel__grid--edit{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)}.model-pricing-panel__card{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;border:1px solid var(--color-border-subtle);background:var(--color-surface-2);min-width:0}.model-pricing-panel__card--span{grid-column:1 / -1}@media(min-width:1101px){.model-pricing-panel__grid--edit .model-pricing-panel__card--span{grid-column:auto}}.catalog-detail__form--pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;max-width:none}.catalog-detail__form--pricing label{display:flex;flex-direction:column;gap:6px;font-size:.84rem;min-width:0}.catalog-detail__form--pricing label span{color:var(--color-text-muted);font-weight:500}.model-pricing-panel__card h4{margin:0;font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.model-pricing-panel__card .stat-grid{gap:8px}.model-pricing-panel__stats--3{grid-template-columns:repeat(3,minmax(0,1fr))}.model-pricing-panel__card .stat-cell{padding:8px 10px}.model-pricing-panel__card>.muted{margin:0;font-size:.8rem}@media(max-width:1100px){.model-pricing-panel__grid,.model-pricing-panel__grid--edit{grid-template-columns:1fr}.catalog-detail__form--pricing{grid-template-columns:1fr 1fr}}.catalog-detail__form label,.product-detail__form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;min-width:0}.catalog-detail__form label span,.product-detail__form label span{color:var(--color-text-muted);font-weight:500}.catalog-detail__form label.catalog-detail__checkbox,.catalog-detail__checkbox{flex-direction:row;align-items:center;gap:10px;width:fit-content;cursor:pointer;padding:6px 0;-webkit-user-select:none;user-select:none}.catalog-detail__checkbox input{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--color-accent);cursor:pointer}.catalog-detail__checkbox span{color:var(--color-text)!important;font-weight:500}.catalog-detail__fieldset{border:1px solid var(--color-border, rgba(255, 255, 255, .08));border-radius:8px;padding:10px 12px 6px;margin:0}.catalog-detail__fieldset legend{padding:0 6px;font-size:.82rem;color:var(--color-muted, #8b93a7)}.catalog-detail__checks{display:flex;flex-wrap:wrap;gap:4px 14px}.steps-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:8px;line-height:1.5}.steps-list code{font-size:.9em}.provider-select{display:flex;flex-direction:column;gap:8px;width:100%}.provider-select select,.provider-select__custom input{width:100%}.provider-select__hint,.provider-select__meta,.provider-select__error{margin:0;font-size:.78rem;line-height:1.4}.provider-select__error{color:var(--color-danger, #f87171)}.product-detail__body{display:flex;flex-direction:column;gap:20px}.product-detail__section h3{margin:0}.product-detail__section h4{margin:0 0 10px;font-size:.92rem}.benefit-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.benefit-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2)}.benefit-list__item--off{opacity:.55}.benefit-list__text strong{display:block;font-size:.92rem}.benefit-list__text p{margin:4px 0 0;font-size:.82rem;color:var(--color-text-muted)}.benefit-form{padding:14px;border-radius:10px;background:var(--color-surface);border:1px dashed var(--color-text-muted);display:flex;flex-direction:column;gap:10px}.benefit-form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem}.benefit-form label span{font-weight:500;color:var(--color-text-muted)}.benefit-form h4{margin:0;font-size:.88rem}.toggle{display:flex;align-items:center;gap:8px;cursor:pointer;flex-shrink:0}.toggle input{position:absolute;opacity:0;width:0;height:0}.toggle__ui{width:36px;height:20px;border-radius:999px;background:var(--color-border-strong);position:relative;transition:background .15s}.toggle__ui:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-surface);transition:transform .15s}.toggle input:checked+.toggle__ui{background:var(--color-accent)}.toggle input:checked+.toggle__ui:after{transform:translate(16px)}.toggle input:disabled+.toggle__ui{opacity:.45;cursor:not-allowed}.toggle:has(input:disabled){cursor:not-allowed}.toggle__label{font-size:.78rem;color:var(--color-text-muted);min-width:2em}.preview-mini{padding-top:0;border-top:none;flex:1}.preview-mini__label{margin:0 0 10px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.preview-mini__card{padding:16px;border-radius:12px;background:var(--color-bg-main);color:var(--color-text)}.preview-mini__row{display:flex;align-items:baseline;gap:6px}.preview-mini__spirit{font-size:1.5rem;font-weight:700}.preview-mini__unit{font-size:.85rem;color:var(--color-text-faint)}.preview-mini__price{margin:4px 0 0;font-size:1.1rem;font-weight:600}.preview-mini__desc{margin:6px 0 0;font-size:.78rem;color:var(--color-text-faint)}.preview-mini__includes{margin-top:14px}.preview-mini__includes-label{margin:0 0 8px;font-size:.75rem;color:var(--color-text-muted)}.preview-mini__includes ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.preview-mini__includes li{display:flex;gap:8px;font-size:.82rem;color:var(--color-border-strong)}.preview-mini__check{width:14px;height:14px;flex-shrink:0;margin-top:2px;color:#22c55e}.preview-mini__cta{margin-top:14px;padding:10px;border-radius:8px;background:#22c55e;color:#bbf7d0;text-align:center;font-size:.88rem;font-weight:600}.catalog-empty{text-align:center;padding:48px 24px;color:var(--color-text-muted)}.catalog-empty h3{margin:0 0 8px;color:var(--color-text);font-size:1.05rem}.catalog-empty p{margin:0 0 18px;color:var(--color-text-faint);font-size:.9rem;line-height:1.5}.catalog-empty--compact{padding:48px 16px}.catalog-skeleton{height:320px;border-radius:12px;background:linear-gradient(90deg,var(--color-border) 0%,var(--color-surface-2) 50%,var(--color-border) 100%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}.empty-inline{padding:16px;border-radius:10px;background:var(--color-bg-main);border:1px solid var(--color-border-subtle);margin-bottom:14px}.empty-inline p{margin:0 0 4px;font-weight:500}.preview-panel{padding:14px 16px;border-radius:10px;background:var(--color-surface);border:1px solid var(--color-border)}.preview-panel--dark{background:var(--color-bg-main);color:var(--color-text);border-color:transparent}.preview-panel__title{margin:0 0 8px;font-size:.95rem;font-weight:600}.preview-panel__body{margin:0;font-size:.88rem;line-height:1.5;color:inherit;white-space:pre-wrap}.preview-panel__meta{margin:8px 0 0;font-size:.78rem;color:var(--color-text-muted)}.preview-panel--dark .preview-panel__meta{color:var(--color-text-faint)}.preview-panel__link{display:inline-block;margin-top:10px;font-size:.82rem;color:var(--color-accent)}.preview-panel--dark .preview-panel__link{color:var(--color-accent-secondary)}.app-basic-preview__logo{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0}.app-basic-preview__logo--placeholder{display:grid;place-items:center;background:#2f5fd4;color:#fff;font-weight:700;font-size:1.2rem}.code-result{padding:12px;border-radius:8px;background:var(--color-bg-main);border:1px solid var(--color-border);font-family:ui-monospace,monospace;font-size:.78rem;line-height:1.6;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-all}.code-result--empty{color:var(--color-text-faint);font-family:inherit}.table-scroll-wrap,.redeem-table-wrap{overflow:auto;max-width:100%;max-height:min(calc(100dvh - 260px),720px);overscroll-behavior:contain;border:1px solid var(--color-border-subtle);border-radius:10px}.card--scroll-table{padding:0;overflow:hidden}.card--scroll-table .table-scroll-wrap,.card--scroll-table .redeem-table-wrap{border:none;border-radius:0;max-height:min(calc(100dvh - 280px),720px)}.card--scroll-table .pager{padding:12px 16px;border-top:1px solid var(--color-border-subtle)}.card--scroll-table>h2{padding:16px 20px 0;margin:0 0 8px;font-size:1rem}.card--scroll-table__empty{padding:16px 20px;margin:0}.table-scroll-wrap .table,.table-scroll-wrap .data-table,.redeem-table-wrap .table{margin:0}.table-scroll-wrap .table th,.table-scroll-wrap .data-table th,.redeem-table-wrap .table th{position:sticky;top:0;background:var(--color-surface);z-index:1;box-shadow:0 1px 0 var(--color-border-subtle)}.scroll-region{overflow:auto;overscroll-behavior:contain}.scroll-region--y{overflow-x:hidden;overflow-y:auto}.shell__nav::-webkit-scrollbar,.shell__main-scroll::-webkit-scrollbar,.app-workspace__content::-webkit-scrollbar,.app-workspace__sidebar::-webkit-scrollbar,.table-scroll-wrap::-webkit-scrollbar,.redeem-table-wrap::-webkit-scrollbar{width:6px;height:6px}.shell__nav::-webkit-scrollbar-thumb,.shell__main-scroll::-webkit-scrollbar-thumb,.app-workspace__content::-webkit-scrollbar-thumb,.app-workspace__sidebar::-webkit-scrollbar-thumb,.table-scroll-wrap::-webkit-scrollbar-thumb,.redeem-table-wrap::-webkit-scrollbar-thumb{background:#64748b59;border-radius:999px}.shell__nav::-webkit-scrollbar-thumb{background:#ffffff2e}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.product-detail__col--preview .preview-mini__label{display:none}@media(max-width:1100px){.catalog-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.catalog-detail__columns,.product-detail__columns{grid-template-columns:1fr}}@media(max-width:900px){.catalog-layout{grid-template-columns:1fr;height:auto;min-height:0}.catalog-layout>.catalog-list{max-height:320px}.catalog-layout>.catalog-detail{min-height:360px}.catalog-detail__form--models{grid-template-columns:1fr}}@media(max-width:640px){.field-grid,.catalog-list__grid{grid-template-columns:1fr}}.amplify-tips-page{gap:16px}.amplify-tips-page__header{margin-bottom:0}.amplify-tips-page__inline-stats{white-space:nowrap}.amplify-tips-page__stale{font-style:normal;font-weight:500;font-size:.85em;color:#d97706}.amplify-tips-workspace{padding:0;overflow:hidden;display:flex;flex-direction:column;min-width:0}.amplify-tips-tabs{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-border-subtle);overflow-x:auto;overscroll-behavior-x:contain;flex-shrink:0}.amplify-tip-tab{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;max-width:240px;padding:8px 14px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-2);cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s}.amplify-tip-tab:hover{border-color:var(--color-text-muted);background:var(--color-surface)}.amplify-tip-tab--selected{border-color:var(--color-accent-soft-border);background:#22d8f61a;box-shadow:0 0 0 2px #22d8f61f;color:var(--color-accent-secondary)}.amplify-tip-tab--dimmed{opacity:.72}.amplify-tip-tab__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.amplify-tip-tab__dot--ready{background:#22c55e}.amplify-tip-tab__dot--stale{background:#f59e0b}.amplify-tip-tab__dot--missing{background:var(--color-text-muted)}.amplify-tip-tab__title{font-size:.84rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amplify-tip-tab__off{font-size:.65rem;font-weight:600;padding:1px 5px;border-radius:4px;background:var(--color-surface-2);color:var(--color-text-muted)}.amplify-tips-workspace__header{padding:18px 20px 0;margin-bottom:0}.amplify-tips-workspace__slug{margin-left:8px;font-size:.78rem;color:var(--color-text-faint);background:var(--color-surface-2);padding:2px 8px;border-radius:6px}.amplify-tips-form{display:flex;flex-direction:column;gap:0;padding:0 4px 12px;min-width:0}.catalog-detail .amplify-tips-form__section:first-child{padding-top:4px}.amplify-tips-form__section{padding:18px 0;border-top:1px solid var(--color-border-subtle);min-width:0}.amplify-tips-form__section:first-child{border-top:none;padding-top:8px}.amplify-tips-form__title{margin:0 0 12px;font-size:.95rem;font-weight:600;color:var(--color-text)}.amplify-tips-form__hint{margin:-6px 0 12px;font-size:.82rem}.amplify-tips-form__grid{display:grid;gap:12px 16px}.amplify-tips-form__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.amplify-tips-form__full{grid-column:1 / -1}.amplify-tips-form__grid label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;min-width:0}.amplify-tips-form__grid label span{color:var(--color-text-muted);font-weight:500}.amplify-tips-form__meta-row{display:flex;align-items:flex-end;gap:16px}.amplify-tips-form__meta-row label{flex:1;min-width:0}.amplify-tips-form__split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:20px;align-items:start}.amplify-tips-form__split-col{display:flex;flex-direction:column;gap:8px;min-width:0}.amplify-tips-form__split-col label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;min-width:0}.amplify-tips-form__split-col label span{color:var(--color-text-muted);font-weight:500}.amplify-tip-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%;padding:14px 14px 12px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface-2);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s,transform .12s}.amplify-tip-item:hover{border-color:var(--color-text-muted);background:var(--color-surface);transform:translateY(-1px)}.amplify-tip-item--selected{border-color:var(--color-accent-secondary);background:linear-gradient(180deg,var(--color-surface-2) 0%,var(--color-surface) 100%);box-shadow:0 0 0 3px var(--color-accent-soft-border),0 4px 14px #22d8f61a}.amplify-tip-item--dimmed{opacity:.78}.amplify-tip-item__head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.amplify-tip-item__status{font-size:.68rem;font-weight:600;letter-spacing:.02em;padding:3px 8px;border-radius:999px}.amplify-tip-item__status--ready{background:var(--color-success-bg);color:var(--color-success)}.amplify-tip-item__status--stale{background:#f59e0b29;color:#fbbf24}.amplify-tip-item__status--missing{background:var(--color-surface-2);color:var(--color-text-muted)}.amplify-tip-item__title{font-size:.92rem;font-weight:600;color:var(--color-text);line-height:1.35}.amplify-tip-item__slug{margin-top:2px;font-size:.72rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--color-text-muted)}.amplify-tip-item__summary{margin:8px 0 0;font-size:.8rem;color:var(--color-text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.amplify-tip-item__foot{margin-top:10px;width:100%;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.amplify-tip-item__priority{margin-left:auto;font-size:.72rem;font-weight:600;color:var(--color-text-muted)}.amplify-tips-detail{min-width:0}.amplify-tips-empty{padding:48px 24px 56px}.amplify-tips-empty__icon{width:56px;height:56px;margin:0 auto 16px;border-radius:16px;background:linear-gradient(135deg,var(--color-accent-soft-border),var(--color-accent-soft));color:var(--color-accent-secondary);display:grid;place-items:center;font-size:1.4rem;font-weight:700}.amplify-tips-import{border:1px dashed var(--color-text-muted);background:linear-gradient(180deg,var(--color-surface-2) 0%,var(--color-surface) 100%)}.amplify-tips-import__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.amplify-tips-import__head h3{margin:0 0 4px;font-size:1rem}.amplify-tips-import__editor{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.5;border:1px solid var(--color-border-strong);border-radius:10px;padding:12px 14px;background:var(--color-surface);resize:vertical}.amplify-tips-import__actions{display:flex;justify-content:flex-end;margin-top:12px}.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:500;background:var(--color-accent-soft);color:var(--color-accent-secondary);border:1px solid var(--color-accent-soft-border)}.chip--muted{background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.chip-group--toggle{gap:8px}.chip--toggle{cursor:pointer;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-strong);transition:background .12s,border-color .12s,color .12s}.chip--toggle:hover{border-color:var(--color-accent-secondary);color:var(--color-accent-secondary)}.chip--toggle-active{background:#22d8f61f;border-color:var(--color-accent-soft-border);color:var(--color-accent-secondary);font-weight:600}.amplify-tips-field{display:flex;flex-direction:column;gap:8px}.amplify-tips-field__label{font-size:.88rem;font-weight:500;color:var(--color-text-muted)}.amplify-tips-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.amplify-tips-toggle-row{justify-content:flex-end}.amplify-tips-input--mono,.amplify-tips-json-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem}.amplify-tips-json-editor{line-height:1.45;-moz-tab-size:2;tab-size:2;background:var(--color-bg-main);color:var(--color-text);border-color:var(--color-border-strong)}.amplify-tips-json-editor:focus{outline:2px solid rgba(34,216,246,.45);border-color:var(--color-border-strong)}.amplify-tips-body-editor{min-height:180px;line-height:1.55;font-size:.88rem;width:100%}.amplify-tips-json-editor{min-height:160px;width:100%}.amplify-tips-preview{margin-top:4px;border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-2) 100%)}.amplify-tips-preview__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.amplify-tips-preview__excerpt{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:var(--color-surface-2);font-size:.78rem;line-height:1.45;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;font-family:inherit}@media(max-width:900px){.amplify-tips-form__grid--2,.amplify-tips-form__split{grid-template-columns:1fr}.amplify-tips-form__meta-row{flex-direction:column;align-items:stretch}}@media(max-width:640px){.amplify-tips-field-row{grid-template-columns:1fr}.amplify-tips-workspace__header,.amplify-tips-form{padding-left:16px;padding-right:16px}}.ai-scenarios-page{gap:16px}.ai-scenarios-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.ai-scenarios-settings{margin-top:12px}.page__header .ai-scenarios-llm-toggle{flex-direction:row;align-items:center;gap:10px;width:fit-content;min-height:28px;padding:4px 0;font-size:inherit;-webkit-user-select:none;user-select:none}.ai-scenarios-llm-toggle .toggle__label{display:inline-flex;align-items:baseline;gap:8px;font-size:.84rem;color:var(--color-text);min-width:0}.ai-scenarios-llm-toggle__hint{font-size:.78rem;color:var(--color-text-muted);font-weight:400}.ai-scenarios-table__desc{margin:6px 0 0;font-size:.82rem;line-height:1.45}.ai-scenarios-run__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}.ai-scenarios-run__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ai-scenarios-copy-hint{font-size:.78rem}.ai-scenario-result__copy{margin-left:auto}.ai-scenarios-run__head h3{margin:0;font-size:1rem}.ai-scenarios-run__list{display:flex;flex-direction:column;gap:8px}.ai-scenario-result{border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;background:var(--color-surface-2)}.ai-scenario-result summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none}.ai-scenario-result summary::-webkit-details-marker{display:none}.ai-scenario-result__slug{font-size:.75rem;color:var(--color-text-faint)}.ai-scenario-result__badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px}.ai-scenario-result__badge--passed{background:var(--color-success-bg);color:var(--color-success)}.ai-scenario-result__badge--failed{background:var(--color-danger-bg);color:var(--color-danger)}.ai-scenario-result__badge--error,.ai-scenario-result__badge--skipped{background:var(--color-surface-2);color:var(--color-text-muted)}.ai-scenario-stage{margin-top:12px;padding-top:10px;border-top:1px dashed var(--color-border)}.ai-scenario-stage h4{margin:0 0 8px;font-size:.9rem}.ai-scenario-stage__tips{margin:0 0 8px;font-size:.82rem}.ai-scenario-diffs{margin:0;padding-left:18px;font-size:.82rem}.ai-scenario-diff--fail{color:var(--color-danger)}.ai-scenario-diff--pass{color:var(--color-success)}.ai-scenario-diff__detail{margin-top:2px;font-size:.78rem;word-break:break-all}.ai-pipeline-trace{margin-top:12px;padding:12px;border:1px solid var(--color-accent-soft-border);border-radius:10px;background:var(--color-surface-2)}.ai-pipeline-trace__title{margin:0 0 12px;font-size:.95rem}.ai-pipeline-step{margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--color-border)}.ai-pipeline-step:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.ai-pipeline-step h5{margin:0 0 8px;font-size:.88rem;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ai-pipeline-voice-line{margin:0 0 8px;font-size:.9rem;line-height:1.45}.ai-pipeline-step__hint{margin:0 0 8px;font-size:.78rem}.ai-pipeline-meta{margin-bottom:8px}.ai-pipeline-query{margin:4px 0 0;padding:8px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:.78rem;white-space:pre-wrap;word-break:break-word}.ai-pipeline-table-wrap{overflow-x:auto;margin-bottom:8px}.ai-pipeline-table{font-size:.78rem}.ai-pipeline-table th,.ai-pipeline-table td{vertical-align:top}.ai-pipeline-row--selected{background:var(--color-success-bg)}.ai-pipeline-row__title{font-size:.72rem;margin-top:2px}.ai-pipeline-hit{color:var(--color-success);font-weight:700}.ai-pipeline-triggers{font-size:.72rem;color:var(--color-text-faint);margin-top:2px}.ai-pipeline-preview summary{cursor:pointer;font-size:.72rem;color:var(--color-accent-secondary)}.ai-pipeline-preview p{margin:4px 0 0;font-size:.72rem;line-height:1.45}.ai-pipeline-selected ul,.ai-pipeline-explain ul{margin:6px 0 0;padding-left:18px;font-size:.78rem}.ai-pipeline-json{margin-top:6px}.ai-pipeline-json summary{cursor:pointer;font-size:.78rem;color:var(--color-text-muted)}.ai-pipeline-json pre{margin:6px 0 0;padding:8px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:.72rem;overflow-x:auto;max-height:280px}.ai-pipeline-prompt{margin-top:8px}.ai-pipeline-prompt__head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:.78rem}.ai-pipeline-prompt__body{margin:0;padding:8px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:.72rem;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto}.btn-secondary--sm{padding:2px 8px;font-size:.72rem}.llm-trace-run-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.llm-trace-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px;min-height:420px}@media(max-width:900px){.llm-trace-layout{grid-template-columns:1fr}}.llm-trace-rail{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-2);padding:10px;overflow:auto;max-height:70vh}.llm-trace-rail__head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem}.llm-trace-rail__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.llm-trace-rail__item{width:100%;display:flex;gap:8px;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;padding:8px;cursor:pointer;color:inherit}.llm-trace-rail__item:hover{background:var(--color-surface);border-color:var(--color-border)}.llm-trace-rail__item--active{background:var(--color-surface);border-color:var(--color-accent-soft-border);box-shadow:0 0 0 1px #22d8f61f}.llm-trace-rail__seq{flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:var(--color-surface-2);color:var(--color-text-muted);font-size:.72rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.llm-trace-rail__item.llm-trace-status--error .llm-trace-rail__seq{background:var(--color-danger-border);color:var(--color-danger)}.llm-trace-rail__item.llm-trace-status--fallback .llm-trace-rail__seq{background:#f59e0b59;color:#fcd34d}.llm-trace-rail__item.llm-trace-status--ok .llm-trace-rail__seq{background:var(--color-success-bg);color:var(--color-success)}.llm-trace-rail__item.llm-trace-status--mock .llm-trace-rail__seq{background:var(--color-accent-soft);color:#a5b4fc}.llm-trace-rail__main{display:flex;flex-direction:column;gap:2px;min-width:0}.llm-trace-rail__name{font-size:.82rem;font-weight:600;word-break:break-all}.llm-trace-rail__meta{font-size:.72rem;color:var(--color-text-faint)}.llm-trace-rail__summary{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llm-trace-panel{border:1px solid var(--color-border);border-radius:10px;padding:12px 14px;background:var(--color-surface);min-width:0}.llm-trace-panel__head{margin-bottom:10px}.llm-trace-panel__head h3{margin:0 0 4px;font-size:1rem}.llm-trace-panel__head p{margin:0;font-size:.8rem}.llm-trace-stage-summary{margin:0 0 8px;font-size:.9rem;line-height:1.4}.llm-trace-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.llm-trace-status--ok{color:var(--color-success)}.llm-trace-status--error{color:var(--color-danger)}.llm-trace-status--fallback{color:#fcd34d}.llm-trace-status--mock{color:#a5b4fc}.llm-trace-status--unknown{color:var(--color-text-faint)}.roadmap-board__header{margin-bottom:12px}.roadmap-board__header h2{margin:0 0 4px}.roadmap-vision{margin:0 0 16px;padding-left:1.2rem;color:var(--color-text-muted);font-size:.92rem}.roadmap-vision li+li{margin-top:4px}.roadmap-summary{margin-bottom:16px}.roadmap-filters{flex-wrap:wrap;margin-bottom:16px}.roadmap-group+.roadmap-group{margin-top:20px}.roadmap-group__title{margin:0 0 8px;font-size:1rem;color:var(--color-text)}.roadmap-table th:nth-child(2),.roadmap-table td:nth-child(2){width:64px}.roadmap-col-phase{color:var(--color-text-faint);font-size:.85rem}.roadmap-col-progress{min-width:200px}.roadmap-item-title{font-weight:600;color:var(--color-text)}.roadmap-item-desc{margin-top:4px;font-size:.85rem;color:var(--color-text-faint);line-height:1.4}.roadmap-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:600}.roadmap-badge--done{background:var(--color-success-bg);color:var(--color-success)}.roadmap-badge--in_progress{background:var(--color-accent-soft-border);color:var(--color-accent-secondary)}.roadmap-badge--planned{background:var(--color-surface-2);color:var(--color-text-faint)}.roadmap-progress{position:relative;height:18px;flex:1 1 auto;min-width:88px;max-width:160px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:999px;overflow:hidden}.roadmap-col-progress>.roadmap-progress{max-width:none}.roadmap-progress__fill{height:100%;border-radius:999px;transition:width .2s ease}.roadmap-progress__fill--dev{background:linear-gradient(90deg,var(--color-accent-secondary),var(--color-accent))}.roadmap-progress__fill--test{background:linear-gradient(90deg,#10b981,#059669)}.roadmap-progress__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;color:#e2e8f0}.roadmap-test-edit{display:flex;flex-direction:column;gap:4px;min-width:0}.roadmap-test-edit__row{display:flex;align-items:center;gap:10px;min-width:0}.roadmap-test-edit__controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.roadmap-test-edit__field{display:inline-flex;align-items:center;gap:2px;height:28px;padding:0 8px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface-2)}.roadmap-test-input{width:40px;padding:0;border:none;border-radius:0;background:transparent;color:var(--color-text);font-size:.82rem;font-variant-numeric:tabular-nums;text-align:right;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.roadmap-test-input::-webkit-outer-spin-button,.roadmap-test-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.roadmap-test-input:focus{outline:none}.roadmap-test-edit__field:focus-within{border-color:var(--color-accent-secondary);box-shadow:0 0 0 2px var(--color-accent-soft-border)}.roadmap-test-edit__suffix{font-size:.75rem;color:var(--color-text-faint);-webkit-user-select:none;user-select:none}.roadmap-test-save{height:28px;padding:0 10px;border:1px solid var(--color-border);border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.roadmap-test-save:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted);background:var(--color-surface-2)}.roadmap-test-save:disabled{opacity:.45;cursor:default}.roadmap-test-edit__meta{min-height:0;line-height:1.2}.roadmap-test-updated{font-size:.7rem}.roadmap-test-error{font-size:.7rem;color:#f87171}.apps-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;align-items:stretch}.apps-gallery__empty{grid-column:1 / -1;margin:0;padding:8px 2px}.apps-create-form{margin-bottom:16px}.app-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:132px;padding:16px 18px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}.app-card:hover{border-color:var(--color-accent);box-shadow:0 6px 20px #00000047;transform:translateY(-1px);text-decoration:none;color:inherit}.app-card__top{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.app-card__identity{display:flex;align-items:center;gap:10px;min-width:0}.app-card__logo{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0;background:#0f1729;border:1px solid var(--color-border)}.app-card__logo--placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;color:var(--color-text-muted);background:var(--color-surface-2, var(--color-surface))}.app-card__name{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3;color:var(--color-text)}.app-card__id{font-size:.82rem;color:var(--color-text-muted);background:transparent;padding:0}.app-card__meta{margin:auto 0 0;font-size:.75rem;color:var(--color-text-faint)}.app-card--add{align-items:center;justify-content:center;gap:6px;border-style:dashed;border-color:var(--color-border-strong);background:transparent;cursor:pointer;font:inherit}.app-card--add:hover{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:0 6px 20px #1864ee1f}.app-card__plus{font-size:1.75rem;font-weight:300;line-height:1;color:var(--color-accent)}.app-card__add-label{font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.app-card--add:hover .app-card__add-label{color:var(--color-text)}
