.ui-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--dur) var(--ease-out-expo),filter var(--dur) var(--ease-out-expo),box-shadow var(--dur) var(--ease-out-expo),background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.ui-btn--md{height:36px;padding:0 14px;font-size:13px}.ui-btn--sm{height:32px;padding:0 12px;font-size:var(--text-support)}.ui-btn--full{display:flex;width:100%}.ui-btn--primary{background:var(--grad-primary);color:var(--primary-fg);border-color:#ffffff1f;border-radius:var(--radius-xl);box-shadow:var(--shadow-primary)}.ui-btn--primary:hover:not(:disabled):not(.is-busy){filter:brightness(1.12);transform:translateY(-1px)}.ui-btn--primary:active:not(:disabled):not(.is-busy){filter:brightness(.95);transform:scale(.98)}.ui-btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.ui-btn--secondary:hover:not(:disabled):not(.is-busy){background:var(--surface-muted);border-color:var(--primary);transform:translateY(-1px)}.ui-btn--secondary:active:not(:disabled):not(.is-busy){background:var(--surface-active);transform:scale(.99)}.ui-btn--ghost{background:transparent;color:var(--text-secondary)}.ui-btn--ghost:hover:not(:disabled):not(.is-busy){background:var(--surface-muted);color:var(--text)}.ui-btn--ghost:active:not(:disabled):not(.is-busy){background:var(--surface-active)}.ui-btn--danger{background:var(--danger);color:#fff;box-shadow:0 1px #ffffff29 inset,0 4px 12px #9f123940}.ui-btn--danger:hover:not(:disabled):not(.is-busy){background:var(--danger-hover);transform:translateY(-1px)}.ui-btn--danger:active:not(:disabled):not(.is-busy){background:var(--danger-hover);transform:scale(.98)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn.is-busy{cursor:progress;pointer-events:none}.ui-btn.is-busy .ui-btn__content{visibility:hidden}.ui-btn__content{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0}.ui-btn__spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.ui-btn__spinner:after{content:"";width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-field{display:flex;flex-direction:column;gap:6px}.ui-field__label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:var(--weight-semibold);color:var(--text-secondary)}.ui-field__hint{font-weight:var(--weight-regular);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-caption)}.ui-field__control{position:relative}.ui-field__icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);display:flex;color:var(--text-faint);pointer-events:none}.ui-input{width:100%;height:36px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 12px;color:var(--text);font-size:var(--text-base);font-family:var(--font-sans);line-height:1.5;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.ui-input--with-icon{padding-left:34px}.ui-input--multiline{height:auto;min-height:76px;padding-top:9px;padding-bottom:9px;resize:vertical}.ui-input::placeholder{color:var(--text-faint)}.ui-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.ui-input--error,.ui-input--error:focus{border-color:var(--danger)}.ui-input--error:focus{box-shadow:0 0 0 3px #e11d481f}.ui-field__error{display:flex;align-items:center;gap:5px;color:var(--danger);font-size:var(--text-caption)}.ui-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:32px;cursor:pointer}.ui-select option{background:var(--surface)}.ui-field__chevron{position:absolute;right:11px;top:50%;transform:translateY(-50%);display:flex;color:var(--text-faint);pointer-events:none}.ui-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius-chip);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;line-height:1.4;white-space:nowrap}.ui-badge__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor}.ui-badge--soft.ui-badge--neutral{background:var(--surface-muted);color:var(--text-secondary);box-shadow:inset 0 0 0 1px var(--border-strong)}.ui-badge--soft.ui-badge--success{background:var(--success-soft);color:var(--success);box-shadow:inset 0 0 0 1px var(--success-ring)}.ui-badge--soft.ui-badge--warn{background:var(--warn-soft);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn-ring)}.ui-badge--soft.ui-badge--danger{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-ring)}.ui-badge--soft.ui-badge--info{background:var(--info-soft);color:var(--info);box-shadow:inset 0 0 0 1px var(--info-ring)}.ui-badge--outline{background:transparent}.ui-badge--outline.ui-badge--neutral{color:var(--text-secondary);box-shadow:inset 0 0 0 1px var(--border-strong)}.ui-badge--outline.ui-badge--success{color:var(--success);box-shadow:inset 0 0 0 1px var(--success-ring)}.ui-badge--outline.ui-badge--warn{color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn-ring)}.ui-badge--outline.ui-badge--danger{color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-ring)}.ui-badge--outline.ui-badge--info{color:var(--info);box-shadow:inset 0 0 0 1px var(--info-ring)}.ui-badge--neutral .ui-badge__dot{background:var(--status-neutral)}.ui-badge--success .ui-badge__dot{background:var(--success)}.ui-badge--warn .ui-badge__dot{background:var(--warn)}.ui-badge--danger .ui-badge__dot{background:var(--danger)}.ui-badge--info .ui-badge__dot{background:var(--info)}.ui-progress{display:flex;align-items:center;gap:10px}.ui-progress__track{flex:1;height:6px;background:var(--surface-muted);border-radius:var(--radius-pill);overflow:hidden}.ui-progress--h3 .ui-progress__track{height:3px}.ui-progress__fill{height:100%;background:var(--grad-primary);border-radius:var(--radius-pill);transition:width var(--dur-slow) var(--ease-out-expo)}.ui-progress--success .ui-progress__fill{background:var(--success)}.ui-progress--warn .ui-progress__fill{background:var(--warn)}.ui-progress--danger .ui-progress__fill{background:var(--danger)}.ui-progress__label{font-family:var(--font-mono);font-size:var(--text-support);color:var(--text-muted);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.ui-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.ui-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad-card-edge);z-index:1;pointer-events:none}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:12px}.ui-card--pad-md{padding:16px 18px}.ui-card--pad-lg{padding:24px}.ui-card--interactive{cursor:pointer;text-align:left;font:inherit;color:inherit;width:auto;transition:box-shadow var(--dur-slow) var(--ease-out-expo),border-color var(--dur-slow) var(--ease-out-expo),transform var(--dur-slow) var(--ease-out-expo)}.ui-card--interactive:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-card-hover)}.ui-meta-tag{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-caption);font-family:var(--font-mono);color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border);padding:2px 7px;border-radius:var(--radius-md);white-space:nowrap}.ui-eyebrow{display:block;font-family:var(--font-mono);font-size:var(--text-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-overline);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-stat-tile{position:relative;overflow:hidden;min-height:88px;padding:14px 16px 14px 20px;display:flex;flex-direction:column;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-tile)}.ui-stat-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad-primary)}.ui-stat-tile--primary{background:linear-gradient(135deg,var(--primary-soft) 0%,#f7f9fc 55%,var(--surface) 100%);border-color:transparent;box-shadow:0 1px 2px #1018280d,0 4px 16px var(--primary-glow),0 0 0 1px var(--primary-glow)}.ui-stat-tile__row{position:relative;display:flex;align-items:center;gap:12px}.ui-stat-tile__text{flex:1;min-width:0}.ui-stat-tile__label{font-family:var(--font-mono);font-size:9px;font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;line-height:1;margin-bottom:6px;color:var(--text-muted)}.ui-stat-tile--primary .ui-stat-tile__label{color:var(--primary)}.ui-stat-tile__value{font-family:var(--font-display);font-size:23px;font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-kpi);line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.ui-stat-tile__icon{flex-shrink:0;height:36px;width:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--grad-badge);box-shadow:0 2px 6px -2px #2f4e8c66}.ui-stat-tile--primary .ui-stat-tile__icon{background:var(--grad-badge-deep);box-shadow:0 4px 10px -4px var(--primary-ring)}.ui-stat-tile__foot{position:relative;margin-top:8px;display:flex;align-items:center;gap:6px}.ui-stat-tile__trend{display:inline-flex;align-items:center;gap:3px;border-radius:6px;padding:2px 6px;font-size:var(--text-overline);font-weight:var(--weight-semibold);line-height:1}.ui-stat-tile__trend--up{background:var(--success-soft);color:var(--success);box-shadow:inset 0 0 0 1px var(--success-ring)}.ui-stat-tile__trend--down{background:var(--danger-soft);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger-ring)}.ui-stat-tile__trend--flat{background:var(--surface-muted);color:var(--text-secondary);box-shadow:inset 0 0 0 1px var(--border-strong)}.ui-stat-tile__sublabel{font-size:var(--text-overline);color:var(--text-muted);line-height:1}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:ui-overlay-in var(--dur-fast) ease}.ui-modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-card);width:100%;max-width:480px;max-height:calc(100vh - 40px);margin:20px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;outline:none;animation:ui-modal-in var(--dur) var(--ease-out-expo)}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 0;flex-shrink:0}.ui-modal__title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text);letter-spacing:var(--tracking-tight)}.ui-modal__close{background:none;border:none;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}.ui-modal__close:hover{color:var(--text);background:var(--surface-muted)}.ui-modal__body{padding:20px 22px 22px;overflow-y:auto}.ui-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:0 22px 22px;flex-shrink:0}@keyframes ui-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ui-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;animation:ui-overlay-in var(--dur-fast) ease}.ui-drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:92vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:-10px 0 30px #10182826;display:flex;flex-direction:column;z-index:101;outline:none;animation:ui-drawer-in var(--dur) var(--ease-out-expo)}.ui-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.ui-drawer__title{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text);letter-spacing:var(--tracking-tight)}.ui-drawer__close{background:none;border:none;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}.ui-drawer__close:hover{color:var(--text);background:var(--surface-muted)}.ui-drawer__body{flex:1;overflow-y:auto;padding:16px 22px}.ui-drawer__footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--border);flex-shrink:0}@keyframes ui-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.ui-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 0}.ui-page-header__title{font-size:20px;font-weight:var(--weight-bold);color:var(--text);letter-spacing:var(--tracking-kpi)}.ui-page-header__sub{font-size:var(--text-base);color:var(--text-muted);margin-top:3px;font-family:var(--font-mono)}.ui-page-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ui-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 0;color:var(--text-muted)}.ui-loading__spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--primary);animation:ui-spin .7s linear infinite}.ui-loading__text{font-size:var(--text-md);font-family:var(--font-mono)}.ui-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 0;text-align:center;color:var(--text-muted)}.ui-empty__icon{display:flex;color:var(--text-faint)}.ui-empty__text{font-size:var(--text-md);font-family:var(--font-mono)}.ui-error-banner{display:flex;align-items:center;gap:7px;color:var(--danger);font-size:var(--text-support);background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger-ring);padding:8px 11px;border-radius:var(--radius-sm)}.ui-error-banner svg{flex-shrink:0}.help-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;margin-right:var(--space-2);background:none;border:0;border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;transition:background var(--dur-fast) var(--ease-out-cubic),color var(--dur-fast) var(--ease-out-cubic)}.help-btn:hover{background:var(--surface-muted);color:var(--text-secondary)}.help-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.help-btn.is-open{color:var(--primary);background:var(--surface-muted)}.help-drawer__eyebrow{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.help-drawer__lead{margin:0 0 var(--space-5);color:var(--text);font-size:var(--text-lg);font-weight:600;line-height:var(--leading-snug)}.help-drawer__section{margin-bottom:var(--space-5)}.help-drawer__section p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-normal)}.help-drawer__rolenote p{color:var(--text)}.help-drawer__related{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.help-drawer__chip{text-decoration:none}.help-drawer__chip .ui-meta-tag{transition:color var(--dur-fast) var(--ease-out-cubic)}.help-drawer__chip:hover .ui-meta-tag{color:var(--primary)}.help-drawer__chip-plain{text-transform:capitalize;opacity:.7}.help-drawer__emptysub{margin:var(--space-2) 0 var(--space-4);color:var(--text-muted);font-size:var(--text-base);line-height:var(--leading-normal)}.help-drawer__footer{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.help-drawer__verified{color:var(--text-faint);font-size:var(--text-caption)}.help-drawer__cta{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:wrap}.help-drawer__btnlink{text-decoration:none}.topbar{height:var(--topbar-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:100}.topbar-brand{font-family:var(--font-display);font-weight:700;color:var(--text);font-size:14px;text-decoration:none}.topbar-brand-dot{color:var(--primary);margin:0 6px}.topbar-right{position:relative}.topbar-trigger{background:none;border:0;padding:4px 4px 4px 12px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm)}.topbar-trigger:hover{background:var(--surface-muted)}.topbar-name{font-weight:500}.topbar-avatar{width:28px;height:28px;background:var(--grad-primary);color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.topbar-caret{color:var(--text-faint)}.topbar-dropdown{position:absolute;top:100%;right:0;margin-top:4px;width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:200;font-size:13px}.topbar-dropdown-header{padding:12px;border-bottom:1px solid var(--border-subtle)}.topbar-dropdown-email{color:var(--text-secondary);font-weight:500;font-size:12px;margin-bottom:4px;word-break:break-all}.topbar-role-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-chip);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.topbar-role-badge.admin{background:var(--primary-soft);color:var(--primary)}.topbar-role-badge.user{background:var(--surface-muted);color:var(--text-secondary)}.topbar-dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;width:100%;background:none;border:0;text-align:left;cursor:pointer;font-size:13px;color:var(--text-secondary);text-decoration:none}.topbar-dropdown-item:hover{background:var(--surface-soft)}.topbar-dropdown-danger{color:var(--danger);border-top:1px solid var(--border-subtle)}.layout-shell{display:flex;flex-direction:column;height:100%;overflow:hidden}.layout{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width var(--transition);flex-shrink:0;overflow:hidden}.sidebar.collapsed{width:52px}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 14px;height:var(--header-height);border-bottom:1px solid var(--border);flex-shrink:0}.logo-mark{width:28px;height:28px;background:var(--grad-primary);box-shadow:0 2px 8px #1c325866;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;letter-spacing:.05em;flex-shrink:0}.logo-text{display:flex;flex-direction:column;line-height:1.2;overflow:hidden;white-space:nowrap}.logo-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.04em}.logo-sub{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.sidebar-nav{flex:1;padding:8px 6px;display:flex;flex-direction:column;gap:1px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;font-weight:500;transition:background var(--transition),color var(--transition);white-space:nowrap;background:none;border:none;width:100%;text-align:left;cursor:pointer}.nav-item:hover{background:var(--surface-muted);color:var(--text)}.nav-item.active{background:var(--surface-active);color:var(--text);position:relative}.nav-item.active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;border-radius:999px;background:var(--grad-primary)}.nav-item.active svg{color:var(--primary)}.nav-item.client-nav{padding-left:12px;font-size:12.5px}.nav-item.exit-client{color:var(--text-muted);font-size:13px;margin-top:4px}.nav-item.exit-client:hover{color:var(--danger);background:var(--danger-soft)}.nav-divider{margin:8px 0 4px;padding:0 9px}.nav-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:180px}.stage-block{display:flex;flex-direction:column;gap:1px}.stage-header{justify-content:space-between;font-weight:600;color:var(--text)}.stage-header-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-chevron{color:var(--text-muted);flex-shrink:0}.stage-header.disabled{color:var(--text-muted);cursor:default}.stage-header.disabled:hover{background:none;color:var(--text-muted)}.stage-soon{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-family:var(--font-mono);border:1px solid var(--border);border-radius:4px;padding:1px 5px;flex-shrink:0}.stage-items{display:flex;flex-direction:column;gap:1px;margin:1px 0 3px}.stage-hint{font-size:11px;color:var(--text-muted);padding:2px 9px 6px 12px;font-style:italic}.stage-hint:empty{display:none}.sidebar-footer{padding:10px 8px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.active-client-badge{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted);overflow:hidden;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0;box-shadow:0 0 6px var(--success)}.collapse-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:3px 5px;display:flex;align-items:center;flex-shrink:0;transition:all var(--transition)}.collapse-btn:hover{background:var(--surface-muted);color:var(--text)}.main-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none}.tour__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:auto;background:transparent}.tour--dim .tour__backdrop{background:#00000080}.tour__spotlight{position:fixed;border-radius:var(--radius-md);pointer-events:none;box-shadow:0 0 0 3px var(--primary-fg),0 0 0 100vmax #00000080;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}.tour__bubble{position:fixed;width:320px;max-width:calc(100vw - 24px);pointer-events:auto;background:var(--surface-card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:18px 18px 16px;outline:none;max-height:calc(100vh - 24px);overflow-y:auto}.tour__bubble:focus-visible{box-shadow:var(--shadow-modal),0 0 0 3px var(--primary-ring)}.tour__close{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-faint);cursor:pointer}.tour__close:hover{background:var(--surface-muted);color:var(--text)}.tour__count{margin:0 0 6px;font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.tour__title{margin:0 0 6px;font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.3;color:var(--text)}.tour__body{margin:0;font-size:var(--text-support);line-height:1.5;color:var(--text-body)}.tour__offscreen{margin:10px 0 0;padding:8px 10px;font-size:var(--text-2xs);line-height:1.45;color:var(--text-muted);background:var(--surface-muted);border-radius:var(--radius-sm)}.tour__nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px}@media(prefers-reduced-motion:reduce){.tour__spotlight{transition:none}}.clients-page{display:flex;flex-direction:column;height:100%}.page-body{flex:1;padding:20px 28px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.search-bar{max-width:320px}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.client-card{padding:18px;text-align:left}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-initials{width:36px;height:36px;background:var(--surface-active);border:1px solid var(--border-strong);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-accent);letter-spacing:.05em}.card-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-code{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.08em;margin-bottom:12px}.card-meta{display:flex;flex-wrap:wrap;gap:6px}.card-arrow{position:absolute;bottom:16px;right:16px;color:var(--text-muted);opacity:0;transform:translate(-4px);transition:all var(--transition)}.client-card:hover .card-arrow{opacity:1;transform:translate(0);color:var(--primary)}.client-create-form{display:flex;flex-direction:column;gap:14px}.overview-page{padding:28px;display:flex;flex-direction:column;gap:24px;max-width:900px}.overview-header{display:flex;align-items:center;gap:16px}.overview-initials{width:52px;height:52px;background:var(--grad-primary);border:none;border-radius:12px;box-shadow:0 2px 8px #1c325866;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}.overview-name{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.02em}.overview-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.section{display:flex;flex-direction:column;gap:10px}.section-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.notes-box{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;font-size:14px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.cockpit-actions{display:flex;gap:8px;align-items:center}.cockpit-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:13px;cursor:pointer;text-decoration:none;color:var(--text);white-space:nowrap}.cockpit-btn:hover{background:var(--hover)}.cockpit-muted{color:var(--text-muted);font-size:13px}.cockpit-error{color:var(--danger);font-size:13px}.cockpit-sharelink{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--info-soft)}.cockpit-sharelink-label{font-size:13px;color:var(--text-secondary)}.cockpit-sharelink-url{flex:1;min-width:220px;font-size:13px;font-family:var(--font-mono);color:var(--info);word-break:break-all}.cockpit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.cockpit-tile{text-align:left;border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:14px;background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:box-shadow .12s ease,transform .12s ease}.cockpit-tile:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.tile--red{border-left-color:var(--danger)}.tile--yellow{border-left-color:var(--warn)}.tile--green{border-left-color:var(--success)}.tile--grey{border-left-color:var(--border-strong)}.tile-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.tile--red .tile-status{color:var(--danger)}.tile--yellow .tile-status{color:var(--warn)}.tile--green .tile-status{color:var(--success)}.tile--grey .tile-status{color:var(--text-muted)}.tile-badge{margin-left:auto;background:var(--danger);color:#fff;border-radius:999px;padding:0 7px;font-size:11px;line-height:18px;min-width:18px;text-align:center}.tile-badge-link{cursor:pointer}.tile-badge-link:hover{filter:brightness(1.15);text-decoration:underline}.tile-name{font-size:15px;font-weight:600}.tile-ratio{font-size:13px;color:var(--text-secondary)}.tile-next{font-size:12px;color:var(--text-muted)}.tile-vm-warning{display:flex;align-items:flex-start;gap:4px;margin-top:6px;padding:4px 6px;font-size:11px;line-height:1.3;color:var(--warn);background:var(--warn-soft);border:1px solid var(--warn-ring);border-radius:4px;text-align:left;cursor:pointer}.tile-vm-warning:hover{background:#fde68a}.cockpit-btn--promote{border-color:var(--warn-ring);color:var(--warn);background:var(--warn-soft);font-weight:600}.cockpit-btn--promote:hover{background:#fdeacb}.cockpit-btn--promote:disabled{opacity:.6;cursor:default}.promote-fields{display:flex;flex-direction:column;gap:12px}.promote-field{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.promote-label{color:var(--text-muted);font-weight:500}.promote-value{font-weight:600;color:var(--text);text-align:right}.promote-field--sub{padding-left:14px;border-left:2px solid var(--border);margin-left:2px}.promote-field--overwrite{padding:8px 10px 8px 12px;border-left:3px solid var(--danger);background:var(--danger-soft);border-radius:0 6px 6px 0}.promote-field--overwrite .promote-label{display:flex;align-items:center;gap:6px;color:var(--danger-hover);font-weight:600}.promote-field--overwrite .promote-value{color:var(--danger-hover);font-weight:700}.promote-footnote{font-size:12px;line-height:1.4;color:var(--text-muted);margin:-4px 0 0 16px}.promote-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--warn-soft);border:1px solid var(--warn-ring);border-radius:6px;font-size:13px;color:var(--warn);font-weight:600;margin-top:4px}.cockpit-btn--simulate{border-color:#99f6e4;color:#0f766e;background:#f0fdfa}.cockpit-btn--simulate:hover{background:#ccfbf1}.cockpit-btn--simulate:disabled{opacity:.6;cursor:default}.tile-simulate-btn{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:3px 8px;border:1px solid #99f6e4;border-radius:4px;background:#f0fdfa;color:#0f766e;font-size:11px;cursor:pointer;align-self:flex-start}.tile-simulate-btn:hover{background:#ccfbf1}.tile-simulate-btn:disabled{opacity:.5;cursor:default}.tile-simulation{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:11px;line-height:1.3}.tile-sim--simulation_passed{color:var(--success)}.tile-sim--simulation_failed{color:var(--danger)}.tile-sim--simulation_partial,.tile-sim--simulation_warning{color:var(--warn)}.cockpit-sim-panel{margin:12px 0;border:1px solid #99f6e4;border-radius:8px;background:#f0fdfa;overflow:hidden}.cockpit-sim-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:13px;font-weight:600;color:#0f766e;border-bottom:1px solid #99f6e4;gap:8px}.cockpit-sim-panel-header span{display:flex;align-items:center;gap:6px}.cockpit-sim-panel-close{background:none;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--text-muted);padding:0 4px}.cockpit-sim-panel-close:hover{color:var(--text)}.cockpit-sim-panel-success{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:13px;color:var(--success);margin:0}.cockpit-sim-panel-records{padding:8px 14px 12px;display:flex;flex-direction:column;gap:6px}.sim-record{display:flex;align-items:baseline;gap:10px;padding:6px 8px;background:var(--surface);border:1px solid var(--border);border-radius:4px;font-size:12px}.sim-record-type{font-weight:600;color:var(--text-muted);white-space:nowrap}.sim-record-code{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);white-space:nowrap}.sim-record-msg{color:var(--danger);flex:1;line-height:1.4}.scope-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.scope-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.scope-chip.on{background:var(--info-soft);border-color:var(--info);color:var(--info)}.scope-chip input{cursor:pointer}.transactional-summary-table{width:100%;border-collapse:collapse;font-size:13px}.transactional-summary-table th,.transactional-summary-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border)}.transactional-summary-table .txn-submitted{color:var(--success);font-weight:600}.transactional-summary-table .txn-failed{color:var(--danger);font-weight:600}.cockpit-complete-banner{display:flex;align-items:center;gap:10px;margin:12px 0;padding:12px 16px;border-radius:8px;background:var(--success-soft);border:1px solid var(--success);color:var(--success);font-weight:600;font-size:14px}.recon-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.recon-result{margin-top:12px}.recon-totals{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:10px 14px;border-radius:8px;background:var(--surface-soft);border:1px solid var(--border);font-size:13px}.recon-totals--variance{border-color:var(--danger)}.recon-totals--match{border-color:var(--success)}.recon-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.recon-table th,.recon-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border)}.recon-table th{background:var(--primary);color:#fff;font-weight:600}.recon-row--variance{background:var(--danger-soft)}.cjb-steps{display:flex;gap:6px;padding:0 0 14px;border-bottom:1px solid var(--border);margin-bottom:14px}.cjb-step{font-size:12px;padding:6px 10px;border-radius:14px;background:var(--surface-muted);color:var(--text-muted)}.cjb-step.active{background:var(--primary);color:var(--primary-fg)}.cjb-step.done{background:var(--success);color:#fff}.cjb-body{display:flex;flex-direction:column;gap:14px}.cjb-help{font-size:13px;color:var(--text-secondary);line-height:1.55;margin:0}.cjb-done{text-align:center;gap:10px;align-items:center;padding:12px 0 4px}.cjb-done-icon{color:var(--success);margin:0 auto}.cjb-done h3{margin:0;font-size:16px;color:var(--text)}.cjb-done p{margin:0;font-size:13px;color:var(--text-muted)}.connectors-page{display:flex;flex-direction:column;height:100%}.connectors-body{flex:1;padding:20px 28px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;max-width:860px}.conn-load-error{display:flex;align-items:center;gap:8px}.conn-load-error>:first-child{flex:1}.cred-list{display:flex;flex-direction:column;gap:8px}.cred-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.cred-info{flex:1;min-width:0}.cred-actions{flex-shrink:0}.cred-type-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.cred-type{color:var(--primary);display:inline-flex;align-items:center;margin-bottom:2px;white-space:normal;overflow:visible;text-overflow:clip}.form-help{margin:6px 0 0;font-size:12px;color:var(--text-secondary);line-height:1.4}.cred-label{font-size:14px;font-weight:600;color:var(--text)}.cred-tested{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);margin-top:4px;display:flex;align-items:center;gap:8px}.cred-test-feedback{display:flex;align-items:flex-start;gap:6px;margin-top:6px;padding:6px 8px;border-radius:4px;font-size:13px;line-height:1.35}.cred-test-feedback.success{color:var(--success);background:var(--success-soft)}.cred-test-feedback.failed{color:var(--danger);background:var(--danger-soft)}.cred-test-feedback>svg{flex-shrink:0;margin-top:2px}.cred-test-feedback-err{opacity:.8;font-family:var(--font-mono);font-size:12px}.cred-actions{display:flex;gap:8px;align-items:center}.extract-result{border-radius:10px;padding:16px;border:1px solid}.extract-result.success{background:var(--success-soft);border-color:var(--success-ring)}.extract-result.failed{background:var(--danger-soft);border-color:var(--danger-ring)}.result-title{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13px;margin-bottom:12px;color:var(--text)}.extract-result.success .result-title{color:var(--success)}.extract-result.failed .result-title{color:var(--danger)}.result-summary{display:flex;flex-direction:column;gap:4px}.result-row{display:flex;align-items:center;gap:12px;font-size:13px;font-family:var(--font-mono);color:var(--text-secondary)}.result-table{flex:1}.result-count{color:var(--text)}.result-status.ok{color:var(--success)}.result-status.empty{color:var(--text-muted)}.result-errors{margin-top:10px;display:flex;flex-direction:column;gap:4px}.error-row{display:flex;gap:12px;font-size:12px;font-family:var(--font-mono);color:var(--danger)}.conn-modal-form{display:flex;flex-direction:column;gap:14px}.connector-picker{display:flex;flex-direction:column;gap:8px}.connector-option{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:13px 16px;text-align:left;cursor:pointer;transition:all var(--transition);position:relative}.connector-option.available:hover{border-color:var(--primary);background:var(--surface-muted)}.connector-option:disabled{opacity:.45;cursor:not-allowed}.conn-opt-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}.conn-opt-desc{font-size:13px;color:var(--text-muted)}.coming-soon{position:absolute;top:12px;right:12px;font-size:10px;font-family:var(--font-mono);color:var(--warn);background:var(--warn-soft);padding:2px 7px;border-radius:4px}.selected-connector{display:flex;align-items:center;justify-content:space-between;background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;padding:9px 12px;font-size:13px;font-weight:600;color:var(--text)}.auth-badge{position:absolute;top:12px;right:12px;font-size:10px;font-family:var(--font-mono);color:var(--info);background:var(--info-soft);padding:2px 7px;border-radius:4px}.xero-info-box{background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;padding:12px 14px;font-size:13.5px;color:var(--text-secondary);line-height:1.5}.tenant-title{margin-bottom:4px}.tenant-list{display:flex;flex-direction:column;gap:4px}.tenant-option{background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;padding:11px 14px;text-align:left;cursor:pointer;transition:all var(--transition)}.tenant-option:hover{border-color:var(--primary);background:var(--surface-muted)}.tenant-name{font-size:13px;font-weight:600;color:var(--text)}.tenant-type{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);margin-top:2px}.input-with-toggle{position:relative}.input-with-toggle .ui-input{padding-right:36px}.pass-toggle{position:absolute;right:9px;bottom:9px;background:none;border:none;color:var(--text-muted);padding:2px;display:flex;align-items:center;cursor:pointer;transition:color var(--transition)}.pass-toggle:hover{color:var(--text)}.conn-section{margin-top:12px;padding-top:24px;border-top:1px solid var(--border)}.conn-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.conn-section-head{margin-bottom:16px}.conn-section-title{font-size:16px;font-weight:600;color:var(--text);margin:0 0 4px}.conn-section-sub{font-size:13px;color:var(--text-muted);margin:0}.conn-section-empty{font-size:13px;color:var(--text-muted);padding:24px 16px;text-align:center;background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:8px}.conn-section-destination{padding:20px;background:var(--primary-soft);border:1px solid var(--border-strong);border-radius:10px;margin-top:24px}.conn-section-destination .conn-section-title{color:var(--primary)}.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:720px){.dest-grid{grid-template-columns:1fr}}.cred-label-empty{color:var(--text-faint);font-style:italic}.staging-page{height:100%;display:flex;flex-direction:column}.staging-layout{display:flex;flex:1;overflow:hidden}.staging-sidebar{width:260px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;padding:14px 8px;display:flex;flex-direction:column;gap:12px}.staging-sidebar-title{padding:0 8px}.table-group{display:flex;flex-direction:column;gap:1px}.group-label{font-size:9.5px;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);padding:6px 8px 3px;font-family:var(--font-mono)}.table-btn{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:5px;background:none;border:none;cursor:pointer;transition:background var(--transition);gap:8px}.table-btn:hover{background:var(--surface-muted)}.table-btn.active{background:var(--surface-active)}.table-btn.active .tb-name{color:var(--text)}.tb-name{font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);text-align:left;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);background:var(--surface);padding:1px 5px;border-radius:3px;flex-shrink:0}.loading-text{font-size:15px;color:var(--text-muted);font-family:var(--font-mono);padding:8px}.data-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.empty-panel{flex:1;display:flex;align-items:center;justify-content:center}.data-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.data-table-name{font-family:var(--font-mono);font-size:14px;font-weight:var(--weight-semibold);color:var(--text)}.data-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);margin-top:3px}.export-actions{display:flex;gap:6px}.export-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;font-family:var(--font-sans);font-size:var(--text-support);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;color:var(--text-secondary);border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.export-link:hover{background:var(--surface-muted);color:var(--text)}.table-scroll{flex:1;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono)}.data-table thead{position:sticky;top:0;background:var(--surface);z-index:1}.data-table th{padding:9px 14px;text-align:left;font-size:12px;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:7px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tr:hover td{background:var(--surface-muted)}.null-val{color:var(--text-muted);font-style:italic}.obj-val{color:var(--info)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-top:1px solid var(--border);flex-shrink:0}.page-info{font-family:var(--font-mono);font-size:13px;color:var(--text-muted)}.upload-panel{margin-top:8px;border-top:1px solid var(--border);padding-top:12px}.upload-panel-header{display:flex;align-items:center;gap:6px;color:var(--text-muted);padding:0 8px 8px}.upload-tabs{display:flex;margin:0 8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:5px;overflow:hidden}.upload-tab{flex:1;padding:5px 0;font-size:11px;font-weight:var(--weight-medium);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.upload-tab.active{background:var(--primary);color:var(--primary-fg)}.upload-result{display:flex;align-items:center;gap:6px;margin:0 8px 8px;padding:7px 10px;border-radius:5px;font-size:11.5px;line-height:1.4}.upload-result.ok{background:var(--success-soft);color:var(--success)}.upload-result.err{background:var(--danger-soft);color:var(--danger)}.upload-result span{flex:1}.upload-result-close{background:none;border:none;cursor:pointer;color:inherit;opacity:.7;padding:0;display:flex}.drop-zone{margin:0 8px 10px;border:1.5px dashed var(--border);border-radius:6px;padding:16px 10px;cursor:pointer;transition:border-color .15s,background .15s;display:flex;align-items:center;justify-content:center}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--primary);background:var(--primary-soft)}.drop-zone.has-file{border-style:solid;border-color:var(--primary)}.drop-zone-hint{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--text-muted);font-size:12px;pointer-events:none}.drop-zone-sub{font-size:10.5px;opacity:.6}.drop-zone-file{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--primary);width:100%;overflow:hidden}.drop-zone-file span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:11px}.drop-zone-clear{background:none;border:none;cursor:pointer;color:var(--text-muted);flex-shrink:0;padding:0;display:flex}.upload-fields{margin:0 8px 10px;display:flex;flex-direction:column;gap:8px}.upload-btn{margin:0 8px;width:calc(100% - 16px)}.upload-sp{padding:0 8px}.sp-not-connected{font-size:11.5px;color:var(--text-muted);line-height:1.5;padding:6px 0}.sp-loading,.sp-error,.sp-empty{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:8px 0;color:var(--text-muted)}.sp-error{color:var(--danger)}.sp-retry{background:none;border:none;cursor:pointer;color:var(--primary);font-size:11px;padding:0;margin-left:4px}.sp-back{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:11px;color:var(--text-muted);padding:4px 0 8px;transition:color .12s}.sp-back:hover{color:var(--text)}.sp-file-list{display:flex;flex-direction:column;gap:4px}.sp-item{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:5px;font-size:12px;background:var(--surface-soft);border:1px solid var(--border);color:var(--text)}.sp-folder{background:none;border-color:transparent;cursor:pointer;transition:background .12s;color:var(--text-muted)}.sp-folder:hover{background:var(--surface-muted);color:var(--text)}.sp-file{flex-wrap:nowrap}.sp-file-info{display:flex;flex-direction:column;flex:1;overflow:hidden;gap:1px}.sp-file-name{font-family:var(--font-mono);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-file-size{font-size:10px;color:var(--text-muted)}.sp-import-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;background:var(--primary-soft);border:1px solid var(--border-strong);border-radius:4px;color:var(--primary);cursor:pointer;flex-shrink:0;transition:background .12s}.sp-import-btn:hover{background:var(--surface-active)}.sp-import-btn:disabled{opacity:.5;cursor:not-allowed}.sp-browse-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;font-size:12px;background:var(--hover);border:1px dashed var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;transition:border-color .12s,color .12s}.sp-browse-btn:hover{border-color:var(--primary);color:var(--primary)}.entity-pill{font-family:var(--font-mono);font-size:12px;padding:1px 6px;border-radius:3px;background:var(--surface);color:var(--text-secondary);white-space:nowrap}.data-object-type{display:flex;align-items:center;gap:6px;margin-top:6px}.data-object-type label{color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.object-type-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:12px;font-family:var(--font-mono);cursor:pointer}.object-type-select:hover{border-color:var(--primary)}.object-type-select:disabled{opacity:.6;cursor:progress}.object-type-status{font-size:11px;display:inline-flex;align-items:center;gap:3px;color:var(--text-secondary)}.object-type-status.object-type-ok{color:var(--success)}.object-type-status.object-type-error{color:var(--danger)}.data-meta-entities{margin-top:3px;font-size:11px}.entity-filter{width:auto;min-width:130px;padding:4px 8px;font-size:11px;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);outline:none;box-sizing:border-box;transition:border-color .15s}.entity-filter:focus{border-color:var(--primary)}.upload-preview{margin-top:8px;padding:8px 10px;background:var(--hover);border:1px solid var(--border);border-radius:5px;font-size:11.5px}.upload-preview-head{display:flex;align-items:center;gap:6px;color:var(--text-secondary);margin-bottom:4px}.upload-preview-body{color:var(--text-muted);line-height:1.4}.upload-preview.warn{background:var(--warn-soft);border-color:var(--warn-ring)}.upload-preview.warn .upload-preview-head{color:var(--warn)}.entity-match{background:var(--warn-soft);color:var(--warn);padding:0 4px;border-radius:3px;font-weight:var(--weight-semibold)}.mp-page{display:flex;flex-direction:column;height:100%}.mp-body{flex:1;padding:20px 28px 28px;overflow-y:auto}.mp-cards{display:flex;flex-direction:column;gap:8px}.mp-card.uploaded{border-left:3px solid var(--success)}.mp-card.failed{border-left:3px solid var(--danger)}.mp-card-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}.mp-card-icon{color:var(--text-muted);flex-shrink:0}.mp-card-meta{flex:1;min-width:0}.mp-card-title{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text)}.mp-card-sub{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);margin-top:2px}.mp-card-sub code{background:var(--surface-muted);padding:1px 5px;border-radius:3px}.mp-badge-busy{animation:mp-badge-pulse 1.4s ease-in-out infinite}@keyframes mp-badge-pulse{0%,to{opacity:1}50%{opacity:.55}}.mp-card-error{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 9px;border-radius:5px;background:var(--danger-soft);color:var(--danger);font-size:11.5px}.mp-banner{display:flex;align-items:center;gap:8px;margin-top:6px;padding:7px 10px;border-radius:5px;font-size:11.5px;line-height:1.4}.mp-banner-icon{flex-shrink:0}.mp-banner-text{flex:1}.mp-banner-action{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:3px 8px;font-size:11px;font-family:inherit;background:transparent;border:1px solid currentColor;color:inherit;border-radius:4px;cursor:pointer;transition:opacity var(--transition)}.mp-banner-action:hover{opacity:.75}.mp-banner-failed{background:var(--danger-soft);color:var(--danger)}.mp-banner-warnings{background:var(--warn-soft);color:var(--warn)}.mp-banner-clean{background:var(--success-soft);color:var(--success)}.mp-card-stamp{display:flex;align-items:center;margin-top:6px}.mp-card-actions{display:flex;align-items:center;gap:6px;margin-top:8px}.mp-link-disabled{opacity:.5;cursor:not-allowed}.mp-delete{margin-left:auto}.mp-warnings{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.mp-warning{display:flex;align-items:center;gap:6px;background:var(--warn-soft);color:var(--warn);font-size:11.5px;padding:6px 10px;border-radius:5px}.mp-warning strong{font-weight:600}.mp-panel-error{position:sticky;top:0;z-index:2;margin-bottom:12px}.mp-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mp-panel-col{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:3px}.mp-panel-col-head{display:flex;align-items:center;gap:5px;padding:4px 6px 6px}.mp-panel-item{display:flex;align-items:center;justify-content:space-between;background:none;border:1px solid transparent;text-align:left;padding:6px 8px;border-radius:4px;cursor:pointer;font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);transition:background var(--transition)}.mp-panel-item:hover{background:var(--surface-muted)}.mp-panel-item.selected{background:var(--surface-active);border-color:var(--primary);color:var(--text)}.mp-panel-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-panel-item-meta{font-size:12px;color:var(--text-muted)}.mp-panel-empty{font-size:13px;color:var(--text-muted);padding:8px}.mp-card-focused{outline:2px solid var(--info);outline-offset:2px;box-shadow:0 0 0 4px var(--info-soft)}.mi-page{display:flex;flex-direction:column;min-height:0}.mi-body{padding:0 var(--space-6) var(--space-8)}.mi-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer}.mi-back:hover{background:var(--surface-muted)}.mi-note{display:flex;gap:10px;align-items:flex-start;background:var(--warn-soft);border:1px solid var(--warn-ring);color:var(--text);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:16px;font-size:13.5px}.mi-note svg{flex:none;margin-top:2px;color:var(--warn)}.mi-note--bad{background:var(--danger-soft);border-color:var(--danger-ring)}.mi-note--bad svg{color:var(--danger)}.mi-split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}@media(max-width:900px){.mi-split{grid-template-columns:minmax(0,1fr)}.mi-cols{max-height:240px}}.mi-cols{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:auto;max-height:calc(100vh - 220px);display:flex;flex-direction:column}.mi-col{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--border-subtle);background:transparent;text-align:left;cursor:pointer;font-family:var(--font-mono, ui-monospace, monospace);font-size:11.5px;color:var(--text-secondary)}.mi-col:last-child{border-bottom:none}.mi-col:hover{background:var(--surface-muted)}.mi-col.is-on{background:var(--surface-active);color:var(--text);font-weight:600;box-shadow:inset 3px 0 0 var(--primary)}.mi-col:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--primary)}.mi-col-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mi-col-n{flex:none;font-variant-numeric:tabular-nums;color:var(--text-muted)}.mi-dot{width:7px;height:7px;border-radius:50%;flex:none}.mi-dot--ok{background:var(--success)}.mi-dot--warn{background:var(--warn)}.mi-dot--bad{background:var(--danger)}.mi-dot--unused{background:var(--border-strong)}.mi-dot--unchecked{background:transparent;box-shadow:inset 0 0 0 2px var(--text-muted)}.mi-dot--unknown{background:transparent;box-shadow:inset 0 0 0 2px var(--border-strong)}.mi-detail{display:flex;flex-direction:column;gap:14px;min-width:0}.mi-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.mi-detail-title{font-family:var(--font-mono, ui-monospace, monospace);font-size:16px;font-weight:650;margin:0;color:var(--text)}.mi-detail-sub{font-size:12.5px;color:var(--text-secondary);margin:3px 0 0;font-variant-numeric:tabular-nums}.mi-flat{font-size:13px;color:var(--text-muted);background:var(--surface-soft);border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:14px;margin:0}.mi-map{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.mi-map.has-problem{border-color:var(--warn-ring)}.mi-map-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.mi-target{font-family:var(--font-mono, ui-monospace, monospace);font-size:13px;font-weight:650;color:var(--text)}.mi-rule{font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;color:var(--text-muted);background:var(--surface-muted);border-radius:var(--radius-chip);padding:2px 7px}.mi-tallies{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.mi-tablewrap{overflow-x:auto}.mi-table{width:100%;border-collapse:collapse;font-size:12.5px}.mi-table th{text-align:left;font-family:var(--font-mono, ui-monospace, monospace);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);font-weight:500;white-space:nowrap;padding:8px 14px;border-bottom:1px solid var(--border)}.mi-table td{padding:8px 14px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.mi-table tr:last-child td{border-bottom:none}.mi-table tr.is-bad{background:var(--danger-soft)}.mi-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.mi-v{font-family:var(--font-mono, ui-monospace, monospace);font-size:11.5px;background:var(--surface-muted);border-radius:4px;padding:2px 6px;color:var(--text-secondary);word-break:break-word}.mi-v--ok{color:var(--text-secondary)}.mi-v--bad{color:var(--danger-hover);font-weight:600}.mi-verdict{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.mi-verdict svg{flex:none;color:var(--text-faint)}.mi-detail-text{font-size:11.5px;color:var(--text-muted)}.mi-sourceless{display:flex;flex-direction:column;gap:12px;padding-top:6px;border-top:1px dashed var(--border-strong)}.mi-sourceless-title{font-size:13px;font-weight:650;color:var(--text);margin:6px 0 0}.mi-sourceless-sub{font-size:12.5px;color:var(--text-muted);margin:0 0 2px;max-width:68ch}.mi-omitted{font-size:12px;color:var(--text-muted);margin:0;padding:9px 14px;border-top:1px solid var(--border);background:var(--surface-soft)}.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}.mi-colpane{display:flex;flex-direction:column;gap:8px;min-width:0}.mi-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;font-size:11.5px;color:var(--text-secondary)}.mi-legend span{display:inline-flex;align-items:center;gap:5px}.mi-legend .mi-dot{display:inline-block}.mi-retry{display:inline-block;margin-left:10px;padding:3px 10px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.mi-retry:hover{background:var(--surface-muted)}.mi-retry:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary)}.mi-tablewrap:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--primary)}.mapping-decision-page{display:flex;flex-direction:column;height:100%}.mdp-body{flex:1;padding:20px 28px 28px;overflow-y:auto}.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.mdp-object-select{min-width:170px}.status-tabs{display:flex;gap:4px}.status-tabs button{padding:8px 12px;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;font-size:13px;font-family:inherit;cursor:pointer}.status-tabs button.active{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.token-result{padding:12px 16px;background:var(--info-soft);border-radius:6px;margin-bottom:16px;font-size:13px}.token-result code{background:var(--surface);padding:2px 6px;border-radius:3px;font-family:var(--font-mono)}.bulk-failures{padding:12px 16px;background:var(--danger-soft);color:var(--danger);border-radius:6px;margin-bottom:16px;font-size:13px}.bulk-failures ul{margin:6px 0 0 16px;padding:0;font-size:13px}.bulk-bar{position:sticky;top:0;z-index:10;display:flex;gap:12px;align-items:center;padding:10px 16px;background:var(--primary);color:var(--primary-fg);border-radius:8px;margin-bottom:8px;font-size:13px}.mapping-decision-page .decisions-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px}.mapping-decision-page .decisions-table th,.mapping-decision-page .decisions-table td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:13px}.mapping-decision-page .decisions-table th{background:var(--surface-soft);color:var(--text-secondary);font-weight:600}.mapping-decision-page .decisions-table .label{font-size:12px;color:var(--text-muted)}.mapping-decision-page .decisions-table .oid{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.upload-errors{margin-bottom:16px;padding:12px 16px;background:var(--danger-soft);border:1px solid var(--danger-ring);border-radius:6px}.upload-warnings{margin-bottom:16px;padding:12px 16px;background:var(--warn-soft);border:1px solid var(--warn-ring);border-radius:6px}.upload-warnings-note{font-size:12px;color:var(--text-muted)}.upload-errors-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.upload-errors-table{width:100%;border-collapse:collapse;font-size:13px}.upload-errors-table th,.upload-errors-table td{padding:6px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.upload-errors-table th{color:var(--text-muted);font-weight:600}.upload-errors-table code{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.upload-summary{margin-bottom:16px;padding:12px 16px;background:var(--success-soft);border-radius:6px;font-size:13px}.value-mapping-page{display:flex;flex-direction:column;height:100%}.vm-body{flex:1;padding:20px 28px 28px;overflow-y:auto}.vm-intro{font-size:13px;color:var(--text-muted);max-width:720px;margin-bottom:16px}.vm-controls{display:flex;gap:10px;align-items:center;margin-bottom:16px}.vm-object-select{min-width:170px}.vm-blocked{background:var(--danger-soft);border:1px solid var(--danger-ring);border-radius:6px;padding:10px 12px;font-size:13px;color:var(--danger);margin-bottom:14px}.vm-blocked ul{margin:6px 0 0;padding-left:18px}.vm-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.vm-table th,.vm-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}.vm-table th{font-weight:600;color:var(--text-secondary);background:var(--surface-soft)}.vm-label{font-size:11px;color:var(--text-faint)}.vm-target-input{width:140px;height:30px;font-size:13px}.vm-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.vm-danger{color:var(--danger)}.vm-override{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--warn)}.vm-link{background:none;border:none;color:var(--info);text-decoration:underline;cursor:pointer;font-size:11px;padding:2px 0;display:block}.vm-empty{text-align:center;color:var(--text-muted);padding:24px}.transactional-remap-page{display:flex;flex-direction:column;height:100%}.trp-body{flex:1;padding:20px 28px 28px;overflow-y:auto}.remap-table,.runs-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:32px;font-size:13px}.remap-table th,.remap-table td,.runs-table th,.runs-table td{padding:10px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.remap-table th,.runs-table th{background:var(--surface-soft);color:var(--text-secondary);font-weight:600}.remap-table .ready,.runs-table .ready{color:var(--success);font-weight:600}.remap-table .blocked,.runs-table .blocked{color:var(--danger);font-weight:600}.remap-table .imported,.runs-table .imported{color:var(--info);font-weight:600}.muted{color:var(--text-muted)}.trp-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.blocked-rows{font-family:var(--font-mono);font-size:11px;background:var(--surface-soft);border:1px solid var(--border);padding:12px;border-radius:4px;overflow-x:auto;max-height:70vh}.transactional-remap-page section h2{margin-top:24px;margin-bottom:12px;font-size:16px;font-weight:600;color:var(--text)}.submit-result{flex-basis:100%;max-width:60ch;display:block;margin-top:6px;font-size:12px}.submit-success{color:var(--success)}.submit-partial{color:var(--warn)}.submit-failed,.submit-error{color:var(--danger)}.submit-simulated{color:var(--text-muted)}.eq-body{padding:16px 28px 28px}.exception-queue-page .subtitle{color:var(--text-muted);margin-bottom:16px}.counts-bar{display:flex;gap:8px;margin-bottom:24px}.exception-queue-page section{margin-bottom:32px}.exception-queue-page h2{font-size:18px;margin:0 0 12px;color:var(--text)}.exception-queue-page .empty{color:var(--text-muted);font-style:italic}.exception-queue-page table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs)}.exception-queue-page th,.exception-queue-page td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left}.exception-queue-page th{background:var(--surface-soft)}.exception-queue-page .error-cell{color:var(--danger);font-family:var(--font-mono);font-size:12px}.ss-body{padding:16px 28px 28px}.segment-structure-page .subtitle{color:var(--text-muted);margin-bottom:24px}.structure-editor{max-width:720px}.structure-editor h3{margin:20px 0 10px;color:var(--text)}.separator-input{max-width:80px}.segment-row{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}.segment-row .ui-field{flex:0 0 90px}.segment-row .ui-field:first-child{flex:2 1 auto}.add-btn{margin-top:8px}.actions{display:flex;gap:8px;margin-top:24px}.parse-result{margin-top:24px;padding:16px;background:var(--success-soft);border-radius:var(--radius-sm)}.parse-result .warning{color:var(--warn)}.arp-help{font-size:13px;color:var(--text-secondary);margin:0 0 14px}.arp-list{display:flex;flex-direction:column;gap:8px}.arp-item{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;cursor:pointer;align-items:flex-start}.arp-item:hover{background:var(--surface-soft)}.arp-item.has-warn{border-color:var(--warn-ring);background:var(--warn-soft)}.arp-item.done{opacity:.55}.arp-item input{margin-top:3px}.arp-item-title{font-size:14px;font-weight:500;color:var(--text)}.arp-item-path{font-size:12px;color:var(--text-muted);margin-top:2px;font-family:var(--font-mono)}.arp-item-warn{font-size:12px;color:var(--warn);display:flex;align-items:center;gap:4px;margin-top:4px}.arp-done-tag{font-size:11px;color:var(--success);margin-left:6px}.arp-ceiling{display:flex;align-items:center;gap:10px;margin-top:16px}.arp-ceiling label{display:flex;align-items:center;gap:8px;font-size:13px}.arp-ceiling input{width:70px;padding:5px 8px;border:1px solid var(--border-strong);border-radius:4px}.arp-ceiling-hint{font-size:12px;color:var(--text-muted)}.arp-error-gap{margin-top:12px}.airp-meta{font-size:12px;color:var(--text-muted);margin:-4px 0 16px;font-family:var(--font-mono)}.airp-body section{margin-bottom:22px}.airp-h{margin-bottom:8px}.airp-verif{padding:12px 14px;border-radius:6px}.airp-verif.match{background:var(--success-soft)}.airp-verif.mismatch{background:var(--danger-soft)}.airp-verif.inconclusive{background:var(--warn-soft)}.airp-verif-status{font-weight:500;display:flex;align-items:center;gap:6px;font-size:14px}.airp-verif-err{font-size:12px;color:var(--danger);margin-top:4px}.airp-verif-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.airp-verif-grid pre{background:var(--surface);padding:8px;border-radius:4px;font-size:11px;overflow-x:auto;margin:4px 0 0}.airp-screenshot{width:100%;border:1px solid var(--border);border-radius:6px}.airp-transcript{background:#0f172a;color:#e2e8f0;font-size:12px;padding:12px;border-radius:6px;max-height:300px;overflow-y:auto;white-space:pre-wrap}.airp-open-live{font-size:12px;color:var(--info);display:inline-flex;gap:4px;align-items:center;margin-top:8px;text-decoration:none}.airp-empty{font-size:13px;color:var(--text-faint);font-style:italic}.airp-approve{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;background:var(--success);color:#fff;border:1px solid transparent;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:13px;font-weight:var(--weight-semibold);cursor:pointer}.airp-approve:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.airp-approve:disabled{opacity:.5;cursor:not-allowed}.checklist-page{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cl-cutover-banner{display:flex;align-items:center;gap:8px;margin:8px 28px;padding:9px 12px;border-radius:6px;font-size:12.5px;flex-shrink:0;background:var(--info-soft);color:var(--info)}.cl-cutover-banner a{color:inherit;text-decoration:underline}.overall-progress{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.overall-numbers{font-family:var(--font-mono);font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.03em}.overall-done{color:var(--success)}.overall-sep{color:var(--text-muted);font-size:18px}.overall-total{color:var(--text-secondary)}.overall-label{font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.overall-pct{font-size:13px;font-family:var(--font-mono);color:var(--primary);font-weight:700}.cl-progress-band{margin-top:12px;flex-shrink:0}.cl-body{flex:1;padding:20px 28px 28px;display:flex;flex-direction:column;gap:10px}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition)}.section-card.all-done{border-color:var(--success-ring)}.section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;gap:12px;transition:background var(--transition)}.section-header:hover{background:var(--surface-muted)}.section-left{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.section-name{font-size:13px;font-weight:600;color:var(--text)}.section-stats{display:flex;align-items:center;gap:10px}.section-mini-bar{width:80px}.section-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);white-space:nowrap}.section-items{border-top:1px solid var(--border)}.cl-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);transition:background var(--transition)}.cl-item:last-child{border-bottom:none}.cl-item:hover{background:var(--surface-muted)}.cl-item.completed{opacity:.65}.cl-check{background:none;border:none;padding:2px;cursor:pointer;flex-shrink:0;margin-top:1px;transition:transform var(--transition)}.cl-check:hover{transform:scale(1.1)}.check-on{color:var(--success)}.check-off{color:var(--text-muted)}.cl-content{flex:1}.cl-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cl-desc{font-size:13.5px;color:var(--text-secondary);margin-top:3px;line-height:1.5}.cl-path{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);margin-top:5px;background:var(--surface-soft);display:inline-block;padding:2px 8px;border-radius:4px;border:1px solid var(--border)}.cl-completed-by{font-size:11px;font-family:var(--font-mono);color:var(--success);margin-top:5px}.cl-note{font-size:13px;color:var(--text-muted);font-style:italic;margin-top:4px;padding:4px 8px;border-left:2px solid var(--border-strong)}.cl-jerabot-status{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;background:var(--primary-soft);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--primary)}.cl-jerabot-status-text{flex:1;color:var(--text-secondary)}.cl-jerabot-edit-link{display:inline-flex;align-items:center;gap:2px;color:var(--primary);text-decoration:none;font-weight:500}.cl-jerabot-edit-link:hover{text-decoration:underline}.cl-item-actions{display:flex;gap:6px;align-items:center;flex-shrink:0;margin-top:2px}.section-header-row{display:flex;align-items:center}.section-header-row .section-header{flex:1}.cl-run-agent-btn{margin-right:12px;flex-shrink:0}.dtp{display:flex;flex-direction:column;gap:20px}.dtp__layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:20px;align-items:start}.dtp__new{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.dtp__new>*:not(button){flex:1 1 200px;min-width:0}.dtp__list{display:flex;flex-direction:column;gap:8px}.dtp__card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dtp__doc-type{font-weight:600}.dtp__variant{display:block;margin-top:4px;font-size:12px;opacity:.7}.dtp__card--on{outline:2px solid var(--color-primary, #2563eb);outline-offset:-2px}.dtp__detail{display:flex;flex-direction:column;gap:16px;min-width:0}.dtp__h{margin:0 0 6px;font-size:15px;font-weight:650}.dtp__note{margin:0 0 12px;font-size:13px;opacity:.8;max-width:68ch}.dtp__hint{margin:10px 0 0;font-size:13px;opacity:.65}.dtp__hint--warn{opacity:1;color:var(--warn)}.dtp__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.dtp__busy{font-size:13px;opacity:.75}.dtp__file input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.dtp__file span{display:inline-block;padding:7px 14px;border:1px solid var(--color-border, #d4d4d8);border-radius:6px;font-size:13px;cursor:pointer}.dtp__file span:hover{border-color:var(--color-primary, #2563eb)}.dtp__file--off{pointer-events:none;opacity:.5}.dtp__file input[type=file]:focus-visible+span{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.dtp__link{font-size:13px;text-decoration:underline}.dtp__link--strong{font-weight:600}.dtp__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:14px}.dtp__scroll{overflow-x:auto}.dtp__table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}.dtp__table th,.dtp__table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--color-border, #e4e4e7);vertical-align:top}.dtp__table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;white-space:nowrap}.dtp__val,.dtp__field{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.dtp__field{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dtp__dim{opacity:.45}@media(max-width:800px){.dtp__layout{grid-template-columns:1fr}}.dtb{display:flex;flex-direction:column;gap:20px}.dtb__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.dtb__filters{display:flex;flex-wrap:wrap;gap:12px}.dtb__filters>*{flex:0 1 220px;min-width:0}.dtb__scroll{overflow-x:auto}.dtb__table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}.dtb__table th,.dtb__table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border, #e5e8ef);vertical-align:top}.dtb__notice{padding:8px 12px;border:1px solid var(--border, #e5e8ef);border-radius:8px;font-size:13px;opacity:.85}.dtb__table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;white-space:nowrap}.dtb__link{font-weight:600;text-decoration:underline}.dtb__variant{display:block;font-size:12px;opacity:.65}.dtb__dim{opacity:.6}.dtb__progress{white-space:nowrap}.sp-page{display:flex;flex-direction:column;height:100%}.sp-body{flex:1;padding:20px 28px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;max-width:720px}.sp-card{display:flex;flex-direction:column;gap:12px}.sp-card.connected{border-color:var(--success-ring)}.sp-card-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text)}.auth-text{font-size:14px;color:var(--text-secondary);line-height:1.5}.auth-section{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.connected-text{color:var(--text-muted);font-size:13px}.device-code-box{background:var(--surface-soft);border:1px solid var(--border-strong);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px;align-self:stretch}.device-code-label{font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.device-uri{display:flex;align-items:center;gap:5px;color:var(--info);font-family:var(--font-mono);font-size:13px;text-decoration:underline}.device-code{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--text);letter-spacing:.2em;background:var(--surface);padding:10px 16px;border-radius:6px;display:inline-block;align-self:flex-start}.device-waiting{display:flex;align-items:center;gap:6px;font-size:13px;font-family:var(--font-mono);color:var(--text-muted)}.spin{animation:spin 1.2s linear infinite}.config-row{display:flex;align-items:flex-start;gap:12px;font-size:12.5px}.config-label{width:60px;flex-shrink:0;color:var(--text-muted);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-top:1px}.config-val{color:var(--text-secondary)}.config-val.mono{font-family:var(--font-mono);font-size:12px}.sp-link{display:inline-flex;align-items:center;gap:4px;color:var(--info);font-size:12px;text-decoration:underline}.sp-drive-row{display:flex;align-items:flex-end;gap:8px;max-width:400px}.sp-drive-row>:first-child{flex:1}.folder-list{display:flex;flex-direction:column;gap:1px;background:var(--surface-soft);border:1px solid var(--border);border-radius:7px;overflow:hidden;max-height:260px;overflow-y:auto}.folder-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:none;border:none;cursor:pointer;font-size:13.5px;font-family:var(--font-mono);color:var(--text-secondary);text-align:left;transition:background var(--transition);border-bottom:1px solid var(--border-subtle)}.folder-item:last-child{border-bottom:none}.folder-item:hover{background:var(--surface-muted);color:var(--text)}.folder-item.selected{background:var(--surface-active);color:var(--text)}.selected-folder-bar{display:flex;align-items:center;justify-content:space-between;background:var(--surface-soft);border:1px solid var(--border-strong);border-radius:7px;padding:10px 14px;font-size:13.5px;color:var(--text-secondary);gap:12px}.selected-folder-bar strong{color:var(--text);font-family:var(--font-mono)}.upload-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.upload-table-field{width:300px;max-width:100%}.format-field{display:flex;flex-direction:column;gap:6px}.format-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.format-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;height:36px}.format-btn{background:none;border:none;padding:6px 14px;font-size:13px;font-family:inherit;color:var(--text-muted);cursor:pointer;transition:all var(--transition)}.format-btn.active{background:var(--surface-active);color:var(--text)}.upload-success{display:flex;align-items:center;gap:8px;color:var(--success);background:var(--success-soft);border:1px solid var(--success-ring);padding:10px 14px;border-radius:7px;font-size:13px;flex-wrap:wrap}.sd-page{padding:24px 32px;max-width:1100px;margin:0 auto}.sd-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px}.sd-title{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:700;color:var(--text);margin:0}.sd-zap{color:var(--warn)}.sd-sub{color:var(--text-muted);margin:6px 0 0;font-size:13px}.sd-sources{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.sd-timerbox{text-align:right}.sd-timer{font-family:var(--font-mono);font-size:40px;font-weight:700;color:var(--text)}.sd-timer-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.sd-spin{animation:sd-rotate 1s linear infinite}@keyframes sd-rotate{to{transform:rotate(360deg)}}.sd-banner{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:14px}.sd-banner-info{background:var(--info-soft);color:var(--info);box-shadow:inset 0 0 0 1px var(--info-ring)}.sd-banner-info svg{flex-shrink:0}.sd-banner-error{margin-bottom:16px}.sd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.sd-stat-danger .ui-stat-tile__value{color:var(--danger)}.sd-stat-warn .ui-stat-tile__value{color:var(--warn)}.sd-tabs{display:flex;gap:4px;background:var(--surface-muted);padding:4px;border-radius:var(--radius-lg);margin-bottom:16px}.sd-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:none;background:transparent;border-radius:var(--radius-md);font-weight:600;font-size:13px;color:var(--text-secondary);cursor:pointer}.sd-tab.active{background:var(--primary);color:var(--primary-fg)}.sd-panel{min-height:200px}.sd-muted{color:var(--text-faint);font-size:13px}.sd-agenda-row{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}.sd-agenda-time{font-family:var(--font-mono);background:var(--primary);color:var(--primary-fg);padding:2px 8px;border-radius:var(--radius-chip);height:fit-content;font-size:12px}.sd-agenda-phase{font-weight:600;color:var(--text)}.sd-agenda-owner{color:var(--text-muted);font-weight:400}.sd-folders{margin-top:20px}.sd-folders h3,.sd-emails h3,.sd-guide h3{font-size:15px;margin:0 0 10px}.sd-folder{display:flex;justify-content:space-between;padding:8px 12px;border-radius:var(--radius-md);margin-bottom:6px;border-left:4px solid var(--border-strong);background:var(--surface-soft)}.sd-folder-red{border-left-color:var(--danger)}.sd-folder-amber{border-left-color:var(--warn)}.sd-folder-green{border-left-color:var(--success)}.sd-project{border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:10px;overflow:hidden}.sd-project-head{width:100%;display:grid;grid-template-columns:1.5fr auto 2fr auto;gap:12px;align-items:center;padding:14px 16px;background:var(--surface-soft);border:none;cursor:pointer;text-align:left}.sd-project-name{font-weight:600;color:var(--text)}.sd-project-pct{font-weight:600;font-size:13px;color:var(--text-secondary)}.sd-tasks{padding:12px 16px;border-top:1px solid var(--border)}.sd-flatlist{display:flex;flex-direction:column;gap:8px}.sd-task{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-soft);border-radius:var(--radius-md);margin-bottom:8px}.sd-task-main{min-width:0;flex:1}.sd-task-title{font-weight:600;color:var(--text);font-size:14px}.sd-task-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;color:var(--text-muted);margin-top:3px}.sd-task-proj{font-weight:600;color:var(--text-secondary);background:var(--surface-muted);border-radius:var(--radius-xs);padding:1px 6px}.sd-task-status{color:var(--text-secondary)}.sd-due{font-weight:600}.sd-due-today{color:var(--warn)}.sd-due-late{color:var(--danger)}.sd-due-future{color:var(--text-muted);font-weight:500}.sd-due-none{color:var(--text-faint);font-weight:500}.sd-task-right{display:flex;align-items:center;gap:10px}.sd-task-bar{width:90px}.sd-task-pct{font-weight:600;color:var(--text-secondary);min-width:36px;text-align:right}.sd-filterbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.sd-filter{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-pill);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer}.sd-filter:hover{background:var(--surface-soft)}.sd-filter.active{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.sd-filter-warn.active{background:var(--danger);border-color:var(--danger)}.sd-filter-n{font-size:11px;background:#00000014;border-radius:var(--radius-pill);padding:0 6px;min-width:18px;text-align:center}.sd-filter.active .sd-filter-n{background:#ffffff40}.sd-filterbar-selects{margin-top:-8px}.sd-filterbar-selects .ui-field{max-width:240px}.sd-email{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:var(--radius-md);margin-bottom:8px;border-left:4px solid var(--border-strong)}.sd-email-red{background:var(--danger-soft);border-left-color:var(--danger)}.sd-email-green{background:var(--success-soft);border-left-color:var(--success)}.sd-email-subj{font-weight:600;color:var(--text);font-size:14px}.sd-guide ol{padding-left:20px;line-height:1.9;color:var(--text-secondary)}.sd-rules{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:18px}.sd-rules-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.sd-rules-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.sd-rule-chip{display:inline-flex;align-items:center;gap:6px;background:var(--info-soft);color:var(--info);border:1px solid var(--info-ring);border-radius:var(--radius-pill);padding:3px 6px 3px 10px;font-size:13px;font-weight:600}.sd-rule-x{display:inline-flex;align-items:center;justify-content:center;border:none;background:var(--info-ring);color:var(--info);border-radius:var(--radius-pill);width:18px;height:18px;cursor:pointer;padding:0}.sd-rule-x:hover{filter:brightness(.95)}.sd-rules-form{display:flex;gap:8px;align-items:flex-start}.sd-rules-form .ui-field{flex:1;max-width:280px}.sd-rules-err{margin-top:8px}.ui-toast-stack{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:1000;max-width:min(90vw,380px)}.ui-toast{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;background:#1f2733;color:#fff;box-shadow:0 6px 20px #0000002e;font-size:13px;line-height:1.35;border-left:3px solid #6b7684;animation:ui-toast-in .14s ease-out}.ui-toast--success{border-left-color:#22a06b}.ui-toast--warn{border-left-color:#d9a406}.ui-toast--danger{border-left-color:#d64545}.ui-toast__msg{flex:1}.ui-toast__x{background:none;border:none;color:inherit;opacity:.6;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.ui-toast__x:hover{opacity:1}@keyframes ui-toast-in{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}.bt-root{display:flex;flex-direction:column;gap:22px;overflow-y:auto}.bt-empty{color:#6b7684;font-size:13px;padding:24px;text-align:center}.bt-section-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;margin:0 0 10px;color:#1b2430}.bt-count{color:#9aa4b0;font-weight:600;font-size:12px}.bt-rows{display:flex;flex-direction:column;gap:6px}.bt-row-link{text-decoration:none;color:inherit;display:block}.bt-row-link:hover .bt-row{border-color:#b9c8db;background:#fafcfe}.bt-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border:1px solid #e7ebef;border-radius:8px;background:#fff}.bt-row-main{min-width:0;flex:1}.bt-name{font-size:14px;font-weight:600;color:#1b2430;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-meta{display:flex;gap:6px;margin-top:5px;flex-wrap:wrap}.bt-row-stats{display:flex;align-items:center;gap:18px;flex-shrink:0}.bt-progress{width:140px}.bt-tasks{font-size:12px;color:#55606d;min-width:72px;text-align:right}.bt-end{font-size:12px;color:#6b7684;min-width:92px;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:720px){.bt-row{flex-direction:column;align-items:stretch}.bt-row-stats{justify-content:space-between}.bt-progress{width:auto;flex:1}}.gt{position:relative;display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.gt-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:13px}.gt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0;padding:9px 14px;border-bottom:1px solid var(--border)}.gt-toolbar-left,.gt-toolbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gt-count{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.gt-count-strong{color:var(--text);font-weight:600}.gt-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.gt-legend li{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-secondary)}.gt-legend-swatch{width:10px;height:10px;border-radius:3px}.gt-today-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:inherit;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer}.gt-today-btn{transition:border-color var(--transition),color var(--transition)}.gt-today-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.gt-today-btn:disabled{opacity:.45;cursor:default}.gt-zoom{display:flex;gap:2px;padding:2px;border-radius:8px;background:var(--surface-muted)}.gt-zoom-btn{border:none;border-radius:6px;padding:4px 10px;background:transparent;font:inherit;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer}.gt-zoom-btn.is-active{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:0 1px 2px #1018281f}.gt-filter{position:relative}.gt-filter-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);font:inherit;font-size:12.5px;font-weight:500;color:var(--text);cursor:pointer}.gt-filter-btn:hover{border-color:var(--primary)}.gt-filter-btn svg{color:var(--text-muted)}.gt-filter-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:60;width:290px;max-height:420px;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:11px;box-shadow:0 12px 32px #10182829}.gt-filter-search{display:flex;align-items:center;gap:7px;margin:8px;padding:6px 9px;border-radius:8px;background:var(--surface-muted);color:var(--text-faint)}.gt-filter-search input{width:100%;border:none;background:none;outline:none;font:inherit;font-size:12.5px;color:var(--text)}.gt-filter-list{flex:1;overflow-y:auto;padding:0 5px 5px}.gt-filter-head{padding:8px 8px 4px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.gt-filter-none{padding:10px 8px;font-size:12px;color:var(--text-muted)}.gt-filter-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 9px;border:none;border-radius:7px;background:transparent;font:inherit;font-size:12.5px;color:var(--text);text-align:left;cursor:pointer}.gt-filter-opt{transition:background var(--transition)}.gt-filter-opt:hover{background:var(--surface-muted)}.gt-filter-opt.is-active{background:var(--primary-soft)}.gt-filter-opt-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.gt-filter-opt-label>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gt-filter-tick{color:transparent;flex-shrink:0}.gt-filter-opt.is-active .gt-filter-tick{color:var(--primary)}.gt-filter-dot{width:8px;height:8px;border-radius:3px;flex-shrink:0}.gt-filter-count{flex-shrink:0;font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.gt-scroll{flex:1;min-height:0;overflow:auto}.gt-canvas{position:relative;width:calc(var(--gt-label-w) + var(--gt-timeline-w))}.gt-head-labels,.gt-group-labels,.gt-row-labels{position:sticky;left:0;z-index:20;width:var(--gt-label-w);flex:0 0 var(--gt-label-w);border-right:1px solid var(--border-strong)}.gt-head-time,.gt-group-track,.gt-row-track{position:relative;width:var(--gt-timeline-w);flex:0 0 auto}.gt-head{position:sticky;top:0;z-index:30;display:flex;background:var(--surface);border-bottom:1px solid var(--border)}.gt-head-labels{z-index:31;display:flex;align-items:center;background:var(--surface);font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.gt-col{display:flex;align-items:center;gap:6px;min-width:0}.gt-col--name{flex:1;min-width:0;padding-left:12px;padding-right:8px}.gt-col--owner{width:150px;flex:0 0 150px;padding-right:8px}.gt-col--status{width:100px;flex:0 0 100px}.gt-resizer{position:absolute;right:-5px;top:0;bottom:0;width:10px;z-index:40;display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none}.gt-resizer>span{width:2px;height:16px;border-radius:2px;background:var(--border-strong)}.gt-resizer:hover>span,.gt-resizer:focus-visible>span{background:var(--primary);height:22px}.gt-resizer:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:3px}.gt-head-weeks,.gt-head-days{display:flex}.gt-head-weeks{height:24px}.gt-head-cell{display:flex;align-items:center;justify-content:space-between;gap:4px;flex:0 0 auto;padding:0 6px;border-right:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:9.5px;white-space:nowrap;overflow:hidden;color:var(--text-muted)}.gt-head-sub{color:var(--text-muted)}.gt-head-days{height:18px;border-top:1px solid var(--border-subtle)}.gt-head-day{display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.gt-head-day.is-weekend{color:var(--text-muted);background:#64748b0f}.gt-group{display:flex;background:var(--surface-soft)}.gt-group-labels,.gt-group-track{background:var(--surface-soft);border-bottom:1px solid var(--border)}.gt-group-btn{display:flex;align-items:center;gap:8px;width:100%;height:100%;padding:0 10px 0 8px;border:none;background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.gt-group-btn>svg{color:var(--text-muted);flex-shrink:0}.gt-group-swatch{width:9px;height:9px;border-radius:3px;flex-shrink:0}.gt-group-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gt-group-kind,.gt-group-meta{font-family:var(--font-mono);font-size:10px;white-space:nowrap;flex-shrink:0}.gt-group-kind{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.gt-group-meta{color:var(--text-muted);margin-left:auto}.gt-rollup{position:absolute;top:14px;height:6px;border-radius:3px;border:1px solid;overflow:hidden}.gt-rollup>span{display:block;height:100%;border-radius:3px}.gt-row{display:flex;content-visibility:auto;contain-intrinsic-size:auto 38px}.gt-row-labels,.gt-row-track{background:var(--surface);border-bottom:1px solid var(--border-subtle)}.gt-row-labels,.gt-row-track{transition:background var(--transition)}.gt-row:hover .gt-row-labels,.gt-row:hover .gt-row-track{background:var(--surface-soft)}.gt-row.is-selected .gt-row-labels,.gt-row.is-selected .gt-row-track{background:var(--primary-soft)}.gt-row-open{display:flex;align-items:center;width:100%;height:100%;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;overflow:hidden}.gt-row-open:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.gt-warn-icon{color:var(--danger);flex-shrink:0}.gt-row-name{font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gt-chip-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.gt-avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:50%;color:#fff;font-size:9px;font-weight:600}.gt-avatar--lg{width:24px;height:24px;font-size:10px}.gt-owner-name{font-size:11.5px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gt-row-track{background-color:var(--surface);background-repeat:repeat-y}.gt-bar{position:absolute;top:18px;height:13px;border-radius:4px;border:1px solid;overflow:hidden}.gt-bar-fill{display:block;height:100%}.gt-bar.is-overdue{box-shadow:0 0 0 1px var(--danger-ring)}.gt-diamond{position:absolute;top:14px;width:11px;height:11px;border-radius:2px;transform:rotate(45deg);box-shadow:0 1px 3px #1018284d}.gt-diamond.is-done{box-shadow:inset 0 0 0 2px var(--surface),0 1px 3px #1018284d}.gt-unscheduled{position:sticky;left:8px;display:inline-block;top:10px;padding:2px 9px;border:1px dashed var(--border-strong);border-radius:999px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.gt-meta{position:absolute;top:3px;font-family:var(--font-mono);font-size:9.5px;color:var(--text-muted);white-space:nowrap;pointer-events:none}.gt-todayline{position:absolute;top:var(--gt-head-h);bottom:0;width:0;z-index:15;border-left:2px dashed rgba(225,29,72,.55);pointer-events:none}.gt-dateless{flex-shrink:0;border-top:1px solid var(--border);background:var(--surface-soft)}.gt-dateless-head{display:flex;align-items:center;gap:6px;width:100%;padding:9px 14px;border:none;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer}.gt-dateless-head svg{color:var(--text-muted)}.gt-dateless-list{margin:0;padding:0 14px 12px 34px;font-size:12px;color:var(--text-secondary);list-style:none}.gt-dateless-list li{display:flex;align-items:baseline;gap:8px;margin:3px 0}.gt-dateless-why{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.gt-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:70;background:#10182824}.gt-drawer{position:absolute;top:0;right:0;bottom:0;z-index:71;width:min(360px,100%);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:-12px 0 32px #1018281f;animation:gt-slide .18s ease-out}@keyframes gt-slide{0%{transform:translate(100%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.gt-drawer{animation:none}}.gt-drawer-edge{height:4px;flex-shrink:0}.gt-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--border)}.gt-drawer-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.gt-drawer-title{margin-top:6px;font-size:16px;font-weight:700;line-height:1.3}.gt-drawer-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border:none;border-radius:8px;background:var(--surface-muted);color:var(--text-muted);cursor:pointer}.gt-drawer-close:hover{background:var(--surface-active)}.gt-drawer-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:16px 18px}.gt-drawer-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.gt-drawer-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.gt-drawer-owner{display:flex;align-items:center;gap:9px;margin-top:6px;font-size:13.5px}.gt-drawer-project{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:13.5px}.gt-drawer-kind{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.gt-drawer-dates{display:flex;gap:12px}.gt-drawer-dates>div{flex:1;padding:11px 13px;background:var(--surface-soft);border:1px solid var(--border-subtle);border-radius:10px}.gt-drawer-date{margin-top:4px;font-size:14px;font-weight:600}.gt-drawer-proghead{display:flex;align-items:center;justify-content:space-between}.gt-drawer-pct{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-secondary)}.gt-drawer-progtrack{height:7px;margin-top:7px;border-radius:4px;background:var(--surface-active);overflow:hidden}.gt-drawer-progtrack>span{display:block;height:100%;border-radius:4px}.gt-drawer-foot{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary);text-decoration:none}.gt-drawer-foot:hover{color:var(--primary)}@media(max-width:900px){.gt-col--owner,.gt-resizer,.gt-legend{display:none}}.al{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.al-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:13px}.al-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0;padding:11px 16px;border-bottom:1px solid var(--border)}.al-title{font-size:14px;font-weight:700;color:var(--text)}.al-sub{margin-top:2px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.al-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;list-style:none}.al-legend li{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.al-swatch{width:14px;height:12px;border-radius:3px;border:1px solid var(--border)}.al-rule{flex-shrink:0;padding:8px 16px;border-bottom:1px solid var(--border-subtle);font-size:12px;color:var(--text-secondary)}.al-scroll{flex:1;min-height:0;overflow:auto}.al-table{border-collapse:separate;border-spacing:0;min-width:100%}.al-person-head,.al-week-head{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:9.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.al-person-head{left:0;z-index:6;width:190px;min-width:190px;padding:9px 14px;text-align:left;border-right:1px solid var(--border-strong)}.al-week-head{width:52px;min-width:52px;padding:9px 0;border-right:1px solid var(--border-subtle)}.al-person{position:sticky;left:0;z-index:4;width:190px;min-width:190px;height:38px;padding:0 14px;background:var(--surface);border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-subtle);font-weight:400;text-align:left}.al-person-inner{display:flex;align-items:center;gap:8px;min-width:0}.al-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;color:#fff;font-size:9px;font-weight:600}.al-person-name{font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-cell{height:38px;text-align:center;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--text-faint)}.al-cell--l1{background:#eef1f7;color:#34579f}.al-cell--l2{background:#d8e0ee;color:#2f4e8c}.al-cell--l3{background:#b6c5e0;color:#1c3258}.al-cell--over{background:var(--warn-soft);box-shadow:inset 0 0 0 2px var(--warn);color:#7c4408}@media(max-width:720px){.al-person-head,.al-person{width:130px;min-width:130px;padding-inline:10px}.al-person-name{font-size:11.5px}}.zc-body{display:flex;flex-direction:column;gap:18px}.zc-note{color:var(--text-muted);font-size:var(--text-caption);margin:0}.zc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.zc-stat{border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);padding:10px 12px;min-width:0}.zc-stat__head{display:flex;align-items:center;gap:6px;color:var(--text-muted);margin-bottom:4px}.zc-stat__label{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em}.zc-stat__value{font-size:var(--text-caption);font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zc-stat--ok{border-color:var(--success-ring);background:var(--success-soft)}.zc-stat--ok .zc-stat__value{color:var(--success)}.zc-stat--warn{border-color:var(--warn-ring);background:var(--warn-soft)}.zc-stat--warn .zc-stat__value{color:var(--warn)}.zc-stat--bad{border-color:var(--danger-ring);background:var(--danger-soft)}.zc-stat--bad .zc-stat__value{color:var(--danger)}.zc-group{border:0;padding:0;margin:0;min-width:0}.zc-legend{padding:0;font-size:var(--text-caption);font-weight:700;color:var(--text);margin-bottom:2px}.zc-legend-hint{margin:0 0 10px;font-size:var(--text-caption);color:var(--text-muted);line-height:1.5}.zc-legend-hint code,.zc-hint-banner code{font-family:var(--font-mono);font-size:.92em;background:var(--surface-muted);border-radius:4px;padding:1px 4px;margin:0 2px}.zc-grid{display:flex;flex-direction:column;gap:12px}.zc-hint-banner{margin:0;padding:9px 12px;border:1px solid var(--info-ring);background:var(--info-soft);border-radius:8px;font-size:var(--text-caption);color:var(--text-secondary);line-height:1.5}.zc-hint-banner--alarm{border-color:var(--danger-ring);background:var(--danger-soft);color:var(--text-primary)}.zc-chips{display:flex;flex-wrap:wrap;gap:8px}.zc-chip{min-height:36px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--text-caption);font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.zc-chip:hover{background:var(--hover);border-color:var(--navy-400)}.zc-chip:focus-visible{outline:2px solid var(--primary-ring);outline-offset:2px}.zc-chip.is-selected{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.zc-result-slot{min-height:42px}.zc-result{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;font-size:var(--text-caption);line-height:1.5}.zc-result.is-ok{background:var(--success-soft);border:1px solid var(--success-ring);color:var(--success)}.zc-result.is-bad{background:var(--danger-soft);border:1px solid var(--danger-ring);color:var(--danger)}.zc-result svg{flex-shrink:0;margin-top:1px}.zc-code{font-family:var(--font-mono);font-size:.92em;background:#0000000f;border-radius:4px;padding:1px 5px;margin-left:6px}.zc-footnote{font-size:var(--text-2xs);color:var(--text-faint);margin-right:auto;max-width:46%;line-height:1.4}.zc-footer-actions{display:flex;gap:8px}.zc-spin{animation:zc-spin .9s linear infinite;margin-right:6px}@keyframes zc-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.zc-spin{animation:none}.zc-chip{transition:none}}@media(max-width:560px){.zc-stats{grid-template-columns:1fr}.zc-footnote{display:none}}.pb-page{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px;width:100%;max-width:1680px;margin:0 auto;padding:16px 22px 18px}.pb-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.pb-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.pb-titlerow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pb-titlerow>svg{color:var(--primary);flex-shrink:0}.pb-title{font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.pb-freshness{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-faint);white-space:nowrap}.pb-freshness-dot{width:6px;height:6px;border-radius:50%;background:var(--success)}.pb-freshness.is-stale .pb-freshness-dot{background:var(--warn)}.pb-sub{font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;color:var(--text-muted)}.pb-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.pb-inprogress{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--primary)}.pb-spin{animation:pb-spin .9s linear infinite}@keyframes pb-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.pb-spin{animation:none}}.pb-note{color:var(--text-muted);font-size:13px;padding:12px 0}.pb-banner{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:12px 14px;border-radius:10px;font-size:13px}.pb-banner--info{background:var(--info-soft);color:var(--info);border:1px solid var(--info-ring)}.pb-banner--error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-ring)}.pb-retry{margin-left:auto;background:none;border:1px solid currentColor;border-radius:6px;padding:3px 10px;font-size:12px;cursor:pointer;color:inherit}.pb-empty{text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:14px;align-items:center}.pb-tabs{display:flex;gap:2px;flex-shrink:0;border-bottom:1px solid var(--border)}.pb-tab{display:flex;align-items:center;gap:7px;margin-bottom:-1px;padding:8px 14px 9px;background:none;border:none;border-bottom:2px solid transparent;font:inherit;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer}.pb-tab svg{color:var(--text-faint)}.pb-tab:hover{color:var(--text-secondary)}.pb-tab.active{color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}.pb-tab.active svg{color:var(--primary)}.pb-panel{flex:1;min-height:0;display:flex;flex-direction:column}.pb-panel>*{flex:1;min-height:0}@media(max-width:720px){.pb-page{padding:14px 14px 16px}.pb-header{flex-direction:column;align-items:flex-start}}.pb-conn-dot{width:7px;height:7px;border-radius:50%;margin-right:6px;flex-shrink:0;display:inline-block}.pb-conn-dot.is-ok{background:var(--pulse-green)}.pb-conn-dot.is-warn{background:var(--warn)}.lti-tab{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.lti-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.lti-mode-toggle{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;flex-shrink:0}.mode-btn{padding:6px 14px;font-size:12px;font-weight:var(--weight-medium);color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:background .15s,color .15s}.mode-btn:not(:last-child){border-right:1px solid var(--border)}.mode-btn.active{background:var(--primary);color:var(--primary-fg)}.mode-btn:hover:not(.active){background:var(--surface-muted);color:var(--text)}.lti-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1}.lti-status-filters{display:flex;gap:4px}.lti-tab .filter-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:var(--weight-medium);border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-transform:capitalize}.lti-tab .filter-btn:hover{background:var(--surface-muted);color:var(--text)}.lti-tab .filter-btn.active{background:var(--primary-soft);border-color:var(--primary);color:var(--text)}.lti-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.lti-summary{display:flex;align-items:center;gap:12px;font-size:12px;padding:6px 0;flex-wrap:wrap}.sum-total{font-weight:var(--weight-semibold);color:var(--text)}.sum-success{color:var(--success)}.sum-failed{color:var(--danger)}.sum-skipped{color:var(--warn)}.sum-truncated{color:var(--warn);font-size:11px;background:var(--warn-soft);padding:2px 8px;border-radius:4px}.lti-info-banner{font-size:12px;color:var(--text-muted);background:var(--surface-soft);border:1px solid var(--border);padding:9px 12px;border-radius:6px}.lti-table-wrap{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:8px;min-height:0}.lti-table{width:100%;border-collapse:collapse;font-size:12px}.lti-table th{position:sticky;top:0;background:var(--surface);padding:10px 12px;text-align:left;font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}.lti-table td{padding:9px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.lti-table tr:last-child td{border-bottom:none}.lti-table tbody .row-failed td{background:#e11d4808}.lti-table tbody .row-skipped td{background:#d9770605}.skeleton-row td{padding:10px 12px}.skeleton{display:inline-block;width:80%;height:12px;border-radius:4px;background:linear-gradient(90deg,#1018280a 25%,#10182814,#1018280a 75%);background-size:400% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.lti-empty{text-align:center;padding:48px 20px;color:var(--text-muted);font-size:13px}.status-icon.skipped{color:var(--warn)}.dim{color:var(--text-muted)}.small{font-size:11px}.state-present{color:var(--success);font-size:12px;font-weight:var(--weight-medium)}.state-missing{color:var(--danger);font-size:12px;font-weight:var(--weight-medium)}.state-error{color:var(--warn);font-size:12px;font-weight:var(--weight-medium);cursor:help}.lti-table .error-cell{max-width:260px}.error-text{font-size:11px;color:var(--danger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;cursor:help}.lti-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 0 2px}.lti-tab .page-info{font-size:12px;color:var(--text-muted);min-width:100px;text-align:center}.import-page{padding:32px;height:100%;display:flex;flex-direction:column;gap:0}.import-pagehead{padding:0;margin-bottom:16px}.import-tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}.import-tab-btn{padding:8px 18px;font-size:13px;font-weight:var(--weight-medium);color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.import-tab-btn:hover{color:var(--text)}.import-tab-btn.active{color:var(--text);border-bottom-color:var(--primary)}.import-body{display:grid;grid-template-columns:320px 1fr;gap:20px;flex:1;min-height:0;overflow:hidden}.import-left{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.import-right{overflow-y:auto;padding-right:4px;display:flex;flex-direction:column;gap:16px}.import-card{padding:20px}.card-title{margin-bottom:16px}.card-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title-row .card-title{margin-bottom:0}.import-field{margin-bottom:14px}.start-btn{margin-top:4px}.import-form-error{margin-top:10px}.empty-hint{font-size:12px;color:var(--text-muted);text-align:center;padding:12px 0}.runs-card{padding:16px 20px}.run-list{display:flex;flex-direction:column;gap:6px}.run-row{padding:10px 12px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}.run-row:hover{background:var(--hover)}.run-row.selected{border-color:var(--primary);background:var(--primary-soft)}.run-row-top{display:flex;align-items:center;gap:7px;margin-bottom:4px}.run-table{font-size:12px;font-weight:var(--weight-medium);color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-obj{font-size:11px;color:var(--text-muted);background:var(--surface-muted);padding:2px 6px;border-radius:4px}.run-row-stats{display:flex;align-items:center;gap:10px;font-size:11px}.stat-ok{color:var(--success)}.stat-err{color:var(--danger)}.run-date{margin-left:auto;color:var(--text-muted)}.status-icon.success{color:var(--success)}.status-icon.failed{color:var(--danger)}.status-icon.partial{color:var(--warn)}.status-icon.running,.status-icon.pending{color:var(--primary)}.summary-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.summary-title{font-size:15px;font-weight:var(--weight-semibold);color:var(--text)}.summary-sub{font-size:12px;color:var(--text-muted);margin-top:3px}.summary-stats{display:flex;gap:14px;margin-bottom:16px}.summary-stats .ui-stat-tile{flex:1}.stat-imported .ui-stat-tile__value{color:var(--success)}.stat-failed .ui-stat-tile__value{color:var(--danger)}.progress-wrap{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.progress-label{font-size:11px;color:var(--text-muted);text-align:right;font-family:var(--font-mono)}.summary-times{font-size:11px;color:var(--text-muted);margin-top:8px}.fatal-error{margin-top:12px}.records-card{padding:16px 20px}.records-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.records-header .card-title{margin-bottom:0}.record-filters{display:flex;gap:6px}.filter-btn{padding:4px 10px;font-size:11px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s}.filter-btn:hover{color:var(--text);border-color:var(--text-muted)}.filter-btn.active{border-color:var(--primary);color:var(--primary)}.records-table{width:100%;border-collapse:collapse;font-size:12px}.records-table th{text-align:left;padding:6px 10px;font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}.records-table td{padding:7px 10px;border-bottom:1px solid var(--border-subtle);vertical-align:top}.records-table tr.success td{background:var(--success-soft)}.records-table tr.failed td{background:var(--danger-soft)}.mono{font-family:var(--font-mono);font-size:11px}.rec-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:var(--weight-medium)}.rec-status.success{color:var(--success)}.rec-status.failed{color:var(--danger)}.error-cell{max-width:300px}.error-expand{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--danger);background:none;border:none;cursor:pointer;padding:0;text-align:left}.error-full{margin-top:6px;padding:8px;background:var(--danger-soft);border-radius:4px;font-size:11px;color:var(--danger);white-space:pre-wrap;word-break:break-word}.records-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:14px;border-top:1px solid var(--border);margin-top:4px}.page-info{font-size:12px;color:var(--text-muted)}.running-card{display:flex;flex-direction:column;align-items:center;gap:0;padding:20px}.running-card .ui-loading{padding:20px 0 8px}.running-sub{font-size:12px;color:var(--text-muted);text-align:center;padding-bottom:12px}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.icon-btn:hover{color:var(--text);border-color:var(--text-muted)}.validation-card{margin-top:0}.val-title-group{display:flex;align-items:center;gap:7px}.val-icon{color:var(--primary)}.val-empty{font-size:12px;color:var(--text-muted);padding:10px 0 4px}.val-running{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--primary);padding:10px 0 4px}.val-summary-row{display:flex;align-items:center;gap:14px;margin-top:4px;margin-bottom:14px;flex-wrap:wrap}.val-counts{display:flex;align-items:center;gap:12px;font-size:12px;flex-wrap:wrap}.val-pass{color:var(--success);font-weight:var(--weight-medium)}.val-fail{color:var(--danger);font-weight:var(--weight-medium)}.val-total{color:var(--text-muted)}.val-missing{margin-bottom:14px;padding:12px;background:var(--danger-soft);border:1px solid var(--danger-ring);border-radius:6px}.val-missing-title{font-size:11px;font-weight:var(--weight-semibold);color:var(--danger);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.val-key-list{display:flex;flex-wrap:wrap;gap:5px}.val-key{font-family:var(--font-mono);font-size:11px;padding:2px 7px;background:var(--danger-soft);border:1px solid var(--danger-ring);border-radius:3px;color:var(--danger)}.val-log{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:6px}.val-log-row{display:flex;align-items:flex-start;gap:7px;font-size:12px;padding:6px 8px;border-radius:5px}.val-log-row.pass{background:var(--success-soft);color:var(--success)}.val-log-row.fail{background:var(--danger-soft);color:var(--danger)}.val-log-row.warning{background:var(--warn-soft);color:var(--warn)}.val-log-icon{margin-top:1px;flex-shrink:0}.brief-page{padding:28px 32px 64px;max-width:1100px;margin:0 auto;height:100%;overflow-y:auto}.brief-pagehead{padding:0;margin-bottom:18px}.brief-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.brief-generated-at{font-size:12px;color:var(--text-muted);font-family:var(--font-mono)}.brief-subtab-bar{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:22px}.brief-subtab{display:flex;align-items:center;gap:10px;padding:12px 18px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.brief-subtab:hover{color:var(--text);background:var(--surface-muted)}.brief-subtab.active{color:var(--text);border-bottom-color:var(--primary)}.brief-subtab-text{display:flex;flex-direction:column;align-items:flex-start}.brief-subtab-label{font-size:13.5px;font-weight:600}.brief-subtab-sub{font-size:12px;color:var(--text-muted)}.brief-generator{margin-bottom:20px}.brief-gen-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}.brief-gen-field{display:flex;flex-direction:column;gap:6px}.brief-gen-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.brief-gen-field input[type=file]{font-size:13px;color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;padding:8px}.brief-gen-filename{font-family:var(--font-mono);font-size:11px;color:var(--text-accent)}.brief-gen-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brief-gen-error{flex:1;min-width:240px}.spin{animation:spin 1s linear infinite}.brief-empty{text-align:center;padding:80px 20px;background:var(--surface);border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary)}.brief-empty svg{color:var(--text-muted);margin-bottom:14px}.brief-empty-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px}.brief-empty-sub{font-size:14px;color:var(--text-secondary)}.brief-loading{padding:40px 20px}.brief-source-files{font-size:12px;font-family:var(--font-mono);color:var(--text-muted);padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:4px;margin-bottom:14px}.brief-source-files strong{color:var(--text-secondary);font-weight:600}.brief-doc{background:#fff;color:#1a1d23;border-radius:6px;padding:44px 52px;box-shadow:0 6px 24px #00000059;font-family:Helvetica Neue,Arial,sans-serif;line-height:1.55}.brief-doc-header{border-bottom:2px solid var(--primary);padding-bottom:22px;margin-bottom:28px}.brief-doc-eyebrow{color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}.brief-doc-title{font-size:30px;font-weight:700;margin:0 0 6px;color:#14171c;letter-spacing:-.01em}.brief-doc-sub{color:#6b7280;font-size:13.5px}.brief-section{margin:26px 0}.brief-section-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#14171c;margin:0 0 12px;padding-left:12px;border-left:3px solid var(--primary);display:flex;align-items:center;gap:8px}.brief-section-n{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;background:var(--primary);color:#fff;border-radius:3px;font-size:11px;font-weight:700;padding:0 6px}.brief-section-body{padding-left:14px}.brief-field{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:8px 0;border-bottom:1px solid #f0f0f0}.brief-field:last-child{border-bottom:none}.brief-field-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;padding-top:4px}.brief-field-value{font-size:14px;color:#1a1d23}.ef-display{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:4px 6px;border-radius:3px;cursor:pointer;transition:background .12s ease;min-height:26px}.ef-display:hover{background:#f5f5f7}.ef-display:hover .ef-edit-btn{opacity:1}.ef-value{white-space:pre-wrap;word-break:break-word}.ef-edit-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;opacity:0;transition:opacity .12s ease;flex-shrink:0}.ef-edit-btn:hover{color:var(--primary)}.ef-missing{background:#9114310f;border-left:2px solid var(--primary);padding-left:8px}.ef-missing-label{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-style:italic;font-size:13px;font-weight:500}.inline-missing{padding:6px 0}.ef-edit{display:flex;flex-direction:column;gap:8px;padding:6px;background:#f9f9fb;border-radius:4px;border:1px solid #d1d5db}.ef-input{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:3px;font-size:13.5px;font-family:inherit;background:#fff;color:#1a1d23}.ef-input:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:var(--primary)}.ef-actions{display:flex;gap:6px}.ef-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11.5px;border-radius:3px;border:1px solid transparent;cursor:pointer;font-weight:600}.ef-save{background:var(--primary);color:#fff}.ef-save:hover{background:var(--primary-hover)}.ef-cancel{background:#fff;color:#6b7280;border-color:#d1d5db}.ef-cancel:hover{background:#f5f5f7}.ef-list-wrap{position:relative;padding-right:24px}.ef-list{margin:0;padding-left:18px}.ef-list li{font-size:13.5px;margin:3px 0;color:#1a1d23}.ef-edit-btn-floating{position:absolute;top:0;right:0;background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px}.ef-edit-btn-floating:hover{color:var(--primary)}.brief-phase-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}.brief-phase-table thead th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;padding:6px 10px;background:#f5f5f7;border-bottom:1px solid #e5e7eb}.brief-phase-table td{padding:8px 10px;border-bottom:1px solid #f0f0f0;vertical-align:top;color:#1a1d23}.signature-block{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:36px}.signature-line{display:flex;flex-direction:column}.signature-rule{height:36px;border-bottom:1px solid #1a1d23}.signature-caption{margin-top:6px;font-size:11.5px;color:#6b7280}.brief-footer-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}@media(max-width:880px){.brief-doc{padding:28px 22px}.brief-gen-row{grid-template-columns:1fr}.brief-field{grid-template-columns:1fr;gap:4px}}.q-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.q-pagehead{flex-shrink:0;padding:20px 28px 8px}.q-pagehead .ui-page-header__actions{gap:18px}.q-progress-summary{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.q-progress-numbers{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.03em}.q-done{color:var(--success)}.q-sep{color:var(--text-muted);font-size:16px}.q-total{color:var(--text-secondary)}.q-progress-label{font-size:12px;font-family:var(--font-mono);color:var(--text-muted)}.q-progress-pct{font-size:13px;font-family:var(--font-mono);color:var(--primary);font-weight:700}.q-banner{display:flex;align-items:center;gap:8px;margin:8px 28px;padding:9px 12px;border-radius:6px;font-size:12.5px;flex-shrink:0}.q-banner-running{background:var(--info-soft);color:var(--info)}.q-banner-error{background:var(--danger-soft);color:var(--danger)}.q-banner-ok{background:var(--success-soft);color:var(--success)}.q-overall-bar{flex-shrink:0}.q-overall-bar .ui-progress__track,.q-overall-bar .ui-progress__fill{border-radius:0}.q-layout{display:flex;flex:1;overflow:hidden}.q-sidebar{width:260px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.q-sidebar-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:0 8px 8px}.q-mod-btn{background:none;border:none;text-align:left;padding:7px 10px;border-radius:5px;cursor:pointer;transition:background var(--transition);display:flex;flex-direction:column;gap:4px;font-family:inherit}.q-mod-btn:hover{background:var(--surface-muted)}.q-mod-btn.active{background:var(--surface-active)}.q-mod-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.q-mod-name{font-size:13.5px;color:var(--text-secondary)}.q-mod-btn.active .q-mod-name{color:var(--text)}.q-mod-btn.done .q-mod-name{color:var(--success)}.q-mod-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.q-mod-btn.done .q-mod-count{color:var(--success)}.q-panel{flex:1;overflow-y:auto;padding:18px 28px 28px}.q-empty{padding:60px 20px}.q-module-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--border)}.q-module-name{font-size:17px;font-weight:600;color:var(--text);margin:0}.q-module-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.q-rerun-btn{margin-left:auto;align-self:center}.q-markna-btn{align-self:center}.q-questions{display:flex;flex-direction:column;gap:10px}.q-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;transition:border-color var(--transition)}.q-card.is-accepted{border-left:3px solid var(--success);padding-left:12px}.q-card.is-na{border-left:3px solid var(--text-muted);padding-left:12px}.q-card.is-na .q-card-label{color:var(--text-muted)}.q-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.q-card-label{font-size:13px;font-weight:500;color:var(--text);line-height:1.45;flex:1}.q-rec{background:var(--info-soft);border-left:3px solid var(--info);border-radius:4px;padding:8px 10px;margin-bottom:10px}.q-rec-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.q-rec-prefix{font-size:11px;font-weight:600;color:var(--info);text-transform:uppercase;letter-spacing:.05em}.q-rec-use{background:var(--info);color:#fff;border:none;padding:3px 8px;border-radius:4px;font-size:11px;cursor:pointer;font-family:inherit;transition:opacity var(--transition)}.q-rec-use:hover{opacity:.85}.q-rec-use:disabled{opacity:.5;cursor:not-allowed}.q-rec-body{font-size:13.5px;color:var(--text-secondary);line-height:1.5}.q-rec-source{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);margin-top:4px}.q-input-wrap{margin-bottom:6px}.q-textarea{min-height:60px;font-size:12.5px;line-height:1.4}.q-yn{display:flex;gap:6px}.q-yn-btn{flex:0 0 auto;padding:6px 16px;border:1px solid var(--border);background:var(--surface);border-radius:5px;cursor:pointer;font:inherit;color:var(--text-secondary);font-size:13.5px;transition:all var(--transition)}.q-yn-btn:hover{background:var(--surface-muted);color:var(--text)}.q-yn-btn.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.q-notes-toggle{background:none;border:none;font-size:12px;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;padding:4px 0 0;transition:color var(--transition)}.q-notes-toggle:hover{color:var(--text-secondary)}.q-notes{margin-top:6px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.q-signoff-footer{flex-shrink:0;padding:14px 28px;border-top:1px solid var(--border);background:var(--surface);display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.q-signoff-done{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--success);font-family:var(--font-mono)}.q-prefill-error{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:6px 10px;font-size:11.5px;color:var(--primary);background:#c8102e14;border:1px solid rgba(200,16,46,.25);border-radius:4px}.q-sources{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:11px;color:var(--text-muted)}.q-sources-label{font-weight:500}.q-source-chip{display:inline-flex;align-items:center;padding:2px 7px;background:var(--surface);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-secondary);text-decoration:none;transition:background var(--transition),color var(--transition),border-color var(--transition)}.q-source-chip:hover{background:var(--surface-muted);color:var(--text);border-color:var(--primary)}.q-clarify{margin-top:10px;padding:10px 12px;background:#f59e0b12;border:1px solid rgba(245,158,11,.3);border-radius:5px}.q-clarify-head{display:flex;align-items:center;gap:6px;font-size:12px;color:#f59e0b;margin-bottom:6px}.q-clarify-input{display:flex;gap:6px;align-items:flex-start}.q-clarify-input .ui-field{flex:1}.q-clarify-error{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:11.5px;color:var(--danger)}.q-banner-scope{background:#6366f11a;border:1px solid rgba(99,102,241,.3);color:var(--text);display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:5px;font-size:12.5px;margin:8px 0}.q-banner-scope strong{font-weight:600}.q-banner-warn{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:var(--text);display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:5px;font-size:12.5px;margin:8px 0}.q-scope-toggle{margin-left:auto}.q-scope-panel{border:1px solid var(--border);border-radius:5px;padding:10px 12px;background:var(--surface);margin:0 0 10px}.q-scope-panel-head{font-size:12px;color:var(--text-muted);margin-bottom:8px}.q-scope-panel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px 12px}.q-scope-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 0}.q-scope-mod{flex:1;color:var(--text-secondary)}.q-scope-tag{font-size:10.5px;font-family:var(--font-mono);padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.02em}.q-scope-tag-in_scope{background:#22c55e29;color:#22c55e}.q-scope-tag-out_of_scope{background:#94a3b82e;color:#94a3b8}.q-scope-tag-unclear{background:#f59e0b2e;color:#f59e0b}.q-scope-user-tag{font-size:10px;font-family:var(--font-mono);padding:2px 6px;border-radius:3px;background:#6366f12e;color:#6366f1}.q-mod-btn.brief-oos{opacity:.55}.q-mod-completion{display:inline-flex;align-items:center;gap:10px;margin-left:auto;margin-right:8px}.q-mod-toggle{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.q-mod-toggle-btn{background:none;border:none;border-right:1px solid var(--border);color:var(--text-muted);font-size:11px;padding:4px 10px;cursor:pointer;transition:background var(--transition),color var(--transition);text-transform:capitalize}.q-mod-toggle-btn:last-child{border-right:none}.q-mod-toggle-btn:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.q-mod-toggle-btn.active{background:var(--primary);color:#fff}.q-mod-toggle-btn:disabled{opacity:.55;cursor:not-allowed}.q-card-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.q-ask-toggle{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:11.5px;padding:3px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background var(--transition),color var(--transition),border-color var(--transition)}.q-ask-toggle:hover{background:var(--surface-muted);color:var(--text)}.q-ask-toggle.is-open{background:#6366f11f;border-color:#6366f166;color:#6366f1}.q-ask{margin-top:10px;padding:10px 12px;background:#6366f10f;border:1px solid rgba(99,102,241,.25);border-radius:5px;display:flex;flex-direction:column;gap:8px}.q-ask-history{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.q-ask-hint{font-size:12px;color:var(--text-muted);line-height:1.5}.q-ask-hint em{color:var(--text-secondary);font-style:italic}.q-ask-turn{display:flex;flex-direction:column;gap:3px;padding:6px 8px;border-radius:4px}.q-ask-turn-user{background:var(--surface-soft);align-self:flex-end;max-width:85%}.q-ask-turn-assistant{background:#6366f11a;align-self:flex-start;max-width:95%}.q-ask-turn-role{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.q-ask-turn-body{font-size:12.5px;line-height:1.5;color:var(--text);white-space:pre-wrap;word-wrap:break-word}.q-ask-copy{margin-top:6px;background:none;border:1px solid var(--border);border-radius:3px;color:var(--text-muted);font-size:10.5px;padding:2px 8px;cursor:pointer;align-self:flex-start}.q-ask-copy:hover{background:var(--surface-muted);color:var(--text)}.q-ask-pending{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-muted)}.q-ask-error{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--danger)}.q-ask-input{display:flex;gap:6px;align-items:flex-start}.q-ask-input .ui-field{flex:1}.cfg-page{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cfg-body-wrap{padding:14px 28px 28px;display:flex;flex-direction:column}.cfg-coverage{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.cfg-coverage-label{color:var(--text-muted)}.cfg-coverage-routed{color:var(--success);font-weight:600}.cfg-coverage-total{color:var(--text)}.cfg-coverage-pct{color:var(--primary);font-weight:600}.cfg-coverage-sub{font-size:11.5px;color:var(--warn)}.cfg-banner{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 14px;border-radius:6px;font-size:12.5px}.cfg-banner-warn{background:var(--warn-soft);color:var(--warn)}.cfg-banner-ok{background:var(--success-soft);color:var(--success)}.cfg-banner a{color:inherit;text-decoration:underline}.cfg-banner strong{color:inherit}.cfg-banner-gap{margin-bottom:12px}.cfg-signoff-summary{margin-left:6px;font-family:var(--font-mono);font-size:12px;opacity:.9}.cfg-locked-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 20px;text-align:center;color:var(--text-muted)}.cfg-locked-shell h2{font-size:18px;color:var(--text);margin:4px 0 0}.cfg-locked-shell p{font-size:13.5px;max-width:440px;color:var(--text-secondary)}.cfg-locked-shell a{margin-top:14px;text-decoration:none}.cfg-body{display:flex;flex-direction:column;gap:14px;margin-top:4px}.cfg-lane{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.cfg-lane-api{border-left:3px solid var(--info)}.cfg-lane-bot{border-left:3px solid #8b5cf6}.cfg-lane-manual{border-left:3px solid var(--warn)}.cfg-lane-na{border-left:3px solid var(--text-muted)}.cfg-lane-unmapped{border-left:3px solid var(--primary)}.cfg-lane-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-soft);border:none;text-align:left;cursor:pointer;color:var(--text);transition:background var(--transition)}.cfg-lane-header:hover{background:var(--surface-muted)}.cfg-lane-header-left{display:flex;align-items:center;gap:8px}.cfg-lane-icon{font-size:14px}.cfg-lane-icon-svg{color:var(--text-muted)}.cfg-lane-title{font-size:13.5px;font-weight:600;margin:0}.cfg-lane-count{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.cfg-lane-desc{font-size:12px;color:var(--text-muted);font-style:italic}.cfg-lane-body{display:flex;flex-direction:column}.cfg-lane-empty{padding:18px 16px;text-align:center;font-size:12.5px;color:var(--text-muted);font-style:italic}.cfg-lane-footer{padding:10px 14px;background:var(--surface-soft);border-top:1px solid var(--border-subtle);font-size:12px;color:var(--text-muted)}.cfg-lane-footer a{color:var(--primary);text-decoration:underline}.cfg-row{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-top:1px solid var(--border-subtle);transition:background var(--transition)}.cfg-row:first-child{border-top:none}.cfg-row:hover{background:var(--surface-muted)}.cfg-row-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cfg-row-module{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.cfg-row-qid{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);opacity:.7}.cfg-row-origin-badge{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:var(--primary-glow);color:var(--primary);padding:1px 6px;border-radius:3px}.cfg-row-question{flex:1 0 100%;font-size:13px;color:var(--text);margin-top:2px;line-height:1.4}.cfg-row-answer{font-size:12.5px;color:var(--text-secondary);margin-left:0;line-height:1.4;font-family:var(--font-mono)}.cfg-row-empty{color:var(--text-muted);font-style:italic}.cfg-row-bot{flex-direction:row;align-items:flex-start;flex-wrap:wrap}.cfg-row-bot .cfg-row-header,.cfg-row-bot .cfg-row-answer{flex:1 1 60%}.cfg-row-side{display:flex;align-items:center;gap:8px;flex-shrink:0}.cfg-bot-badge-symbol{font-size:12px}.cfg-row-manual{flex-direction:row;align-items:flex-start;gap:10px}.cfg-row-manual.is-checked{opacity:.75}.cfg-row-manual.is-checked .cfg-row-question{text-decoration:line-through;color:var(--text-muted)}.cfg-row-manual .cfg-row-body{flex:1;min-width:0}.cfg-manual-check{background:none;border:none;padding:2px;cursor:pointer;flex-shrink:0;margin-top:2px;color:var(--text-muted)}.cfg-manual-check:disabled{cursor:wait}.cfg-manual-check-on{color:var(--success)}.cfg-manual-check-off{color:var(--text-muted)}.cfg-row-unmapped{border-top:1px solid var(--border-subtle)}.cfg-triage-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cfg-triage-note-toggle{margin-left:auto}.cfg-triage-note{margin-top:8px}.spin{animation:cfg-spin .9s linear infinite}@keyframes cfg-spin{to{transform:rotate(360deg)}}.arl-page{padding:20px 24px}.arl-header{display:flex;align-items:center;gap:20px;margin-bottom:16px}.arl-back{color:var(--text-secondary);text-decoration:none;display:inline-flex;align-items:center;gap:4px;font-size:13px}.arl-title{display:flex;align-items:center;gap:10px;flex:1}.arl-title h1{margin:0;font-size:20px;color:var(--text)}.arl-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary)}.arl-body{display:grid;grid-template-columns:1fr 320px;gap:20px}.arl-screenshot{background:#0f172a;border-radius:8px;padding:14px;min-height:600px;position:relative}.arl-screenshot img{max-width:100%;height:auto;border-radius:4px;display:block}.arl-placeholder{color:#64748b;text-align:center;padding:200px 0;font-size:14px}.arl-current{position:absolute;bottom:14px;left:14px;right:14px;background:#0f172ad9;color:#fff;padding:10px 14px;border-radius:5px}.arl-current-title{font-size:13px;font-weight:500}.arl-current-sub{font-size:12px;opacity:.7;margin-top:2px}.arl-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px}.arl-side-label{margin-bottom:8px}.arl-side-label-gap{margin-top:20px}.arl-items{display:flex;flex-direction:column;gap:4px}.arl-item{display:flex;justify-content:space-between;padding:6px 8px;border-radius:4px;font-size:12px}.arl-item-api_verified{background:var(--success-soft);color:var(--success)}.arl-item-needs_review{background:var(--warn-soft);color:var(--warn)}.arl-item-failed{background:var(--danger-soft);color:var(--danger)}.arl-item-in_progress{background:var(--info-soft);color:var(--info)}.arl-item-pending{color:var(--text-faint)}.arl-item-key{font-family:var(--font-mono)}.arl-events{display:flex;flex-direction:column;gap:3px;font-size:11px;max-height:300px;overflow-y:auto}.arl-event{display:flex;gap:8px;padding:2px 4px;border-radius:3px}.arl-event:hover{background:var(--surface-soft)}.arl-event-type{color:var(--info);font-weight:500;min-width:70px}.arl-event-detail{color:var(--text-secondary);font-family:var(--font-mono)}.client-review-page{max-width:1100px;margin:24px auto;padding:16px;color:var(--text)}.client-review-header{padding:0;margin-bottom:24px}.review-decisions-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.review-decisions-table th{text-align:left;padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border);font-weight:600}.review-decisions-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}.review-decisions-table .label{font-size:12px;color:var(--text-muted);margin-top:2px}.decision-actions{display:flex;gap:6px;flex-wrap:wrap}.propose-form{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}.propose-form .ui-field{flex:0 1 180px}.status-accepted{opacity:.5}.status-rejected{opacity:.4}.status-conflict{background:var(--danger-soft)}.client-review-error{max-width:600px;margin:80px auto}.decisions-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px}.decisions-table th{text-align:left;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);font-weight:600}.decisions-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}.decisions-table .label{font-size:12px;color:var(--text-muted);margin-top:2px}.uat-page{padding:16px 22px 26px}.uat-page__col{min-width:1000px;display:flex;flex-direction:column;gap:14px}@keyframes uat-spin{to{transform:rotate(360deg)}}.uat-spin{animation:uat-spin .9s linear infinite}@keyframes tkfade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.uat-ic--primary{color:var(--primary)}.uat-ic--indigo{color:var(--indigo)}.uat-ic--info{color:var(--info)}.uat-ic--warn{color:var(--warn)}.uat-ic--muted{color:var(--text-muted)}.uat-header .ui-page-header__title{font-size:22px;font-weight:var(--weight-bold);letter-spacing:-.01em}.uat-header__title{display:inline-flex;align-items:center;gap:10px}.uat-header .ui-page-header__sub{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);letter-spacing:.03em}.uat-header .ui-page-header__actions{display:flex;align-items:center;gap:8px}.uat-seg{display:flex;gap:2px;background:var(--surface-muted);border-radius:var(--radius-md);padding:3px}.uat-seg__btn{display:flex;align-items:center;gap:7px;height:26px;padding:0 10px;border:none;border-radius:var(--radius-sm);background:none;font:inherit;font-size:12px;font-weight:var(--weight-semibold);color:var(--text-muted);cursor:pointer;transition:var(--transition)}.uat-seg--phase .uat-seg__btn{height:28px;padding:0 12px;font-size:var(--text-support)}.uat-seg__btn.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #10182814}.uat-gate-rail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:14px 16px;display:flex;align-items:stretch;overflow:hidden}.uat-gate{flex:1;display:flex;align-items:center;gap:11px;padding-right:14px;min-width:0}.uat-gate__sep{width:1px;flex-shrink:0;background:var(--border-subtle);margin-right:14px}.uat-gate__tile{width:34px;height:34px;flex-shrink:0;border-radius:10px;display:flex;align-items:center;justify-content:center}.uat-gate__body{display:flex;flex-direction:column;gap:3px;min-width:0}.uat-gate__head{display:flex;align-items:center;gap:7px}.uat-gate__name{font-size:var(--text-base);font-weight:var(--weight-bold);white-space:nowrap}.uat-gate__chip{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);padding:2px 7px;border:1px solid transparent;white-space:nowrap}.uat-gate__count{font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);overflow-wrap:anywhere}.uat-gate__bar{height:4px;width:120px;border-radius:var(--radius-pill);background:var(--surface-active);overflow:hidden}.uat-gate__bar-fill{display:block;height:100%;border-radius:var(--radius-pill);transition:width .24s ease}.uat-gate__rerun{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:var(--transition)}.uat-gate__rerun:hover{border-color:var(--primary);color:var(--text)}.uat-gate--ok .uat-gate__tile{background:var(--success-soft);color:var(--success)}.uat-gate--ok .uat-gate__chip{background:var(--success-soft);color:var(--success);border-color:var(--success-ring)}.uat-gate--ok .uat-gate__bar-fill{background:var(--success)}.uat-gate--live .uat-gate__tile{background:var(--primary-soft);color:var(--primary)}.uat-gate--live .uat-gate__chip{background:var(--primary-soft);color:var(--primary);border-color:var(--border-strong)}.uat-gate--live .uat-gate__bar-fill{background:var(--grad-primary)}.uat-gate--warn .uat-gate__tile{background:var(--warn-soft);color:var(--warn)}.uat-gate--warn .uat-gate__chip{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-ring)}.uat-gate--warn .uat-gate__bar-fill{background:var(--warn)}.uat-gate--idle .uat-gate__tile{background:var(--surface-muted);color:var(--text-muted)}.uat-gate--idle .uat-gate__chip{background:var(--surface-muted);color:var(--text-muted);border-color:var(--border-strong)}.uat-gate--idle .uat-gate__bar-fill{background:var(--border-strong)}.uat-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border)}.uat-tab{display:flex;align-items:center;gap:8px;padding:8px 14px 9px;border:none;background:none;font:inherit;font-size:13px;font-weight:var(--weight-medium);color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:var(--transition)}.uat-tab.is-active{font-weight:var(--weight-bold);color:var(--text);border-bottom-color:var(--primary)}.uat-tab__badge{font-family:var(--font-mono);font-size:10px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-ring)}.uat-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.uat-tuning{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:13px 16px;display:flex;gap:13px;align-items:flex-start;animation:tkfade .2s ease}.uat-tuning__badge{width:30px;height:30px;flex-shrink:0;border-radius:var(--radius-md);background:var(--grad-badge);color:var(--primary-fg);display:flex;align-items:center;justify-content:center}.uat-tuning__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.uat-tuning__title{font-size:var(--text-base);font-weight:var(--weight-bold)}.uat-tuning__chips{display:flex;flex-wrap:wrap;gap:7px}.uat-tuning__chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:5px 9px;font-size:var(--text-support);color:var(--text-secondary)}.uat-tuning__x{border:none;background:none;cursor:pointer;color:var(--text-faint);padding:2px;display:flex;transition:var(--transition)}.uat-tuning__x:hover{color:var(--text)}.uat-body{display:grid;grid-template-columns:272px minmax(0,1fr);gap:14px;align-items:start}.uat-rail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;position:sticky;top:0}.uat-rail__head{padding:11px 13px 9px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:2px}.uat-rail__title{font-size:13px;font-weight:var(--weight-bold)}.uat-rail__caption{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:.04em}.uat-rail__list{max-height:560px;overflow-y:auto;padding:6px}.uat-rail__row{width:100%;text-align:left;display:flex;align-items:center;gap:9px;padding:7px 8px;border:none;border-radius:var(--radius-md);background:none;font:inherit;cursor:pointer;margin-bottom:1px;transition:var(--transition)}.uat-rail__row:hover,.uat-rail__row.is-active{background:var(--surface-muted)}.uat-rail__row.is-active .uat-rail__name{font-weight:var(--weight-bold)}.uat-rail__dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}.uat-rail__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.uat-rail__name{font-size:13px;font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uat-rail__meta{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-faint)}.uat-rail__foot{padding:10px 13px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:6px;background:var(--surface-soft)}.uat-rail__foot-cap{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.uat-rail__foot-line{font-size:var(--text-support);color:var(--text-secondary);line-height:1.45}.uat-rail__foot-link{font-size:var(--text-support);font-weight:var(--weight-semibold);color:var(--primary);text-decoration:none}.uat-rail__foot-link:hover{color:var(--primary-hover)}.uat-pill{border-radius:var(--radius-pill);font-size:10px;letter-spacing:.05em}.uat-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;min-height:420px;display:flex;flex-direction:column}.uat-panel>.ui-loading{margin:auto}.uat-panel>.ui-error-banner{margin:16px}.uat-panel__head{padding:12px 14px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.uat-panel__id{display:flex;flex-direction:column;gap:3px;min-width:0}.uat-panel__name-row{display:flex;align-items:center;gap:9px}.uat-panel__name{font-size:var(--text-section);font-weight:var(--weight-bold)}.uat-panel__meta{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.uat-panel__reason{font-size:12px;color:var(--text-secondary)}.uat-panel__controls{display:flex;align-items:center;gap:8px}.uat-search{display:flex;align-items:center;gap:7px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 10px;width:190px;color:var(--text-faint)}.uat-search input{border:none;background:none;outline:none;font:inherit;font-size:var(--text-support);color:var(--text);width:100%}.uat-search input::placeholder{color:var(--text-faint)}.uat-locked{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:56px 40px;text-align:center}.uat-locked__tile{width:44px;height:44px;border-radius:12px;background:var(--surface-muted);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.uat-locked__title{font-size:var(--text-section);font-weight:var(--weight-bold)}.uat-locked__reason{font-size:13px;color:var(--text-secondary);max-width:520px;line-height:1.5}.uat-locked__meta{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.uat-locked__actions{display:flex;gap:8px;margin-top:4px;align-items:center}.uat-locked__review{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--text-support);font-weight:var(--weight-semibold);color:var(--text);text-decoration:none;transition:var(--transition)}.uat-locked__review:hover{border-color:var(--primary)}.uat-locked__error{font-size:12px;color:var(--danger)}.uat-list{flex:1;display:flex;flex-direction:column}.uat-row__grid{display:grid;grid-template-columns:92px minmax(0,1fr) 104px 78px 78px 24px;gap:10px;align-items:center}.uat-list__cols{padding:8px 14px;border-bottom:1px solid var(--border-subtle);background:var(--surface-soft);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.uat-list__empty{padding:48px 20px;text-align:center;color:var(--text-muted);font-size:13px}.uat-row{border-bottom:1px solid var(--border-subtle)}.uat-row.is-open{background:var(--surface-soft)}.uat-row__toggle{width:100%;text-align:left;padding:9px 14px;border:none;background:none;font:inherit;cursor:pointer}.uat-row__no-cell{display:flex;align-items:center;gap:7px;min-width:0}.uat-row__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.uat-row__no{font-family:var(--font-mono);font-size:11.5px;font-weight:var(--weight-semibold);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uat-row__task-cell{display:flex;align-items:center;gap:8px;min-width:0}.uat-row__task{font-size:13px;font-weight:var(--weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uat-row__tag{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;padding:2px 6px;border-radius:var(--radius-pill);flex-shrink:0}.uat-row__tag--jera{background:var(--primary-soft);color:var(--primary);border:1px solid var(--border-strong)}.uat-row__tag--cond{background:var(--info-soft);color:var(--info);border:1px solid var(--info-ring)}.uat-row__type{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uat-row__chev{display:flex;justify-content:flex-end;color:var(--text-faint);transition:transform .15s ease}.uat-row__chev.is-open{transform:rotate(180deg)}.uat-vchip{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-align:center;padding:3px 0;border-radius:var(--radius-chip);border:1px solid transparent}.uat-vchip--success{background:var(--success-soft);color:var(--success);border-color:var(--success-ring)}.uat-vchip--danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-ring)}.uat-vchip--warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-ring)}.uat-vchip--neutral{background:var(--surface-muted);color:var(--text-secondary);border-color:var(--border-strong)}.uat-vchip--info{background:var(--info-soft);color:var(--info);border-color:var(--info-ring)}.uat-vchip--none{background:transparent;color:var(--text-faint)}.uat-row__detail{padding:2px 14px 16px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;animation:tkfade .16s ease}.uat-row__steps{display:flex;flex-direction:column;gap:9px}.uat-row__step{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;align-items:start}.uat-row__step-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding-top:2px}.uat-row__step-value{font-size:12.8px;color:var(--text-secondary);line-height:1.5;text-wrap:pretty}.uat-callout{display:flex;gap:9px;align-items:flex-start;border-radius:10px;padding:9px 11px;font-size:var(--text-support);line-height:1.45}.uat-callout--cond{background:var(--info-soft);border:1px solid var(--info-ring);color:var(--info)}.uat-callout--jera{background:var(--primary-soft);border:1px solid var(--border-strong);color:var(--text-accent)}.uat-callout svg{flex-shrink:0;margin-top:1px}.uat-recorder{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:11px;display:flex;flex-direction:column;gap:9px}.uat-recorder__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.uat-recorder__label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.uat-recorder__stamp{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-faint)}.uat-recorder__verdicts{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.uat-verdict-btn{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);font:inherit;font-size:var(--text-support);font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition)}.uat-verdict-btn:hover{border-color:var(--primary);color:var(--text)}.uat-verdict-btn--pass.is-active{background:var(--success-soft);border-color:var(--success-ring);color:var(--success)}.uat-verdict-btn--fail.is-active{background:var(--danger-soft);border-color:var(--danger-ring);color:var(--danger)}.uat-verdict-btn--blocked.is-active{background:var(--warn-soft);border-color:var(--warn-ring);color:var(--warn)}.uat-verdict-btn--na.is-active{background:var(--surface-muted);border-color:var(--border-strong);color:var(--text)}.uat-recorder__input{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 9px;font:inherit;font-size:var(--text-support);color:var(--text);outline:none;width:100%}.uat-recorder__input:focus{border-color:var(--primary)}.uat-recorder__input::placeholder{color:var(--text-faint)}.uat-recorder__evidence-link{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-support);font-weight:var(--weight-semibold);color:var(--primary);text-decoration:none}.uat-recorder__evidence-link:hover{color:var(--primary-hover);text-decoration:underline}.uat-recorder__row{display:flex;gap:6px}.uat-recorder__attach{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:30px;border-radius:8px;border:1px dashed var(--border-strong);background:none;color:var(--text-muted);font:inherit;font-size:12px;cursor:pointer;transition:var(--transition)}.uat-recorder__attach:hover{border-color:var(--primary);color:var(--text)}.uat-recorder__defect{display:flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--danger-ring);background:var(--danger-soft);color:var(--danger);font:inherit;font-size:12px;font-weight:var(--weight-semibold);cursor:pointer}.uat-recorder__gate-note{font-size:11.5px;color:var(--warn);line-height:1.4;background:var(--warn-soft);border:1px solid var(--warn-ring);border-radius:8px;padding:7px 9px}.uat-verify{display:flex;flex-direction:column;gap:7px;background:var(--info-soft);border:1px solid var(--info-ring);border-radius:var(--radius-md);padding:9px 10px}.uat-verify__head{display:flex;align-items:center;gap:7px;font-size:var(--text-support);font-weight:var(--weight-bold);color:var(--info)}.uat-verify__grid{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 8px;font-size:11.5px;line-height:1.4}.uat-verify__k{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--info)}.uat-verify__v{color:var(--text-secondary)}.uat-verify__v--mono{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.uat-verify__actions{display:flex;gap:6px}.uat-verify__yes,.uat-verify__no{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:30px;border-radius:8px;font:inherit;font-size:12px;font-weight:var(--weight-semibold);cursor:pointer}.uat-verify__yes{border:1px solid var(--success-ring);background:var(--success-soft);color:var(--success)}.uat-verify__no{border:1px solid var(--danger-ring);background:var(--surface);color:var(--danger)}.uat-signoff{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:13px 16px;display:flex;align-items:center;gap:14px}.uat-signoff__tile{width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-md);background:var(--warn-soft);color:var(--warn);display:flex;align-items:center;justify-content:center}.uat-signoff__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.uat-signoff__title{font-size:var(--text-base);font-weight:var(--weight-bold)}.uat-signoff__text{font-size:var(--text-support);color:var(--text-secondary);line-height:1.45}.uat-signoff.is-ready{background:var(--success-soft);border-color:var(--success-ring)}.uat-signoff.is-ready .uat-signoff__tile{background:var(--surface);color:var(--success)}.uat-signoff.is-ready .uat-signoff__title{color:var(--success)}.uat-remed{display:flex;flex-direction:column;gap:14px}.uat-retest{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:13px 16px;display:flex;align-items:center;gap:14px}.uat-retest.has-queue{background:var(--primary-soft);border-color:var(--border-strong)}.uat-retest__tile{width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.uat-retest.has-queue .uat-retest__tile{color:var(--primary);border-color:var(--border-strong)}.uat-retest__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.uat-retest__title{font-size:var(--text-base);font-weight:var(--weight-bold)}.uat-retest__text{font-size:var(--text-support);color:var(--text-secondary);line-height:1.45}.uat-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.uat-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden;min-height:260px}.uat-col__head{padding:10px 12px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:8px;background:var(--surface-soft)}.uat-col__dot{width:7px;height:7px;border-radius:2px}.uat-col__label{font-size:13px;font-weight:var(--weight-bold)}.uat-col__count{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted);margin-left:auto}.uat-col__cards{padding:8px;display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto}.uat-col__empty{padding:26px 10px;text-align:center;font-size:12px;color:var(--text-faint)}.uat-defcard{border:1px solid var(--border);border-left-width:3px;border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;gap:7px;background:var(--surface)}.uat-defcard--rose{border-left-color:var(--danger)}.uat-defcard--amber{border-left-color:var(--warn)}.uat-defcard--neutral{border-left-color:var(--border-strong)}.uat-defcard__head{display:flex;align-items:center;gap:7px}.uat-defcard__no{font-family:var(--font-mono);font-size:11px;font-weight:var(--weight-semibold);color:var(--text-secondary)}.uat-defcard__sev,.uat-defcard__phase{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.07em;padding:2px 6px;border-radius:var(--radius-pill);border:1px solid transparent}.uat-defcard__sev--rose{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-ring)}.uat-defcard__sev--amber{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-ring)}.uat-defcard__sev--neutral{background:var(--surface-muted);color:var(--text-secondary);border-color:var(--border-strong)}.uat-defcard__phase{margin-left:auto}.uat-defcard__phase--fat{background:var(--primary-soft);color:var(--primary);border-color:var(--border-strong)}.uat-defcard__phase--uat{background:var(--info-soft);color:var(--info);border-color:var(--info-ring)}.uat-defcard__task{font-size:12.8px;font-weight:var(--weight-semibold);line-height:1.35;text-wrap:pretty}.uat-defcard__meta{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uat-defcard__owner{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-muted)}.uat-defcard__attempt{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-2xs)}.uat-defcard__cause{font-size:11.5px;color:var(--text-secondary);background:var(--surface-soft);border:1px solid var(--border-subtle);border-radius:8px;padding:6px 8px;line-height:1.4}.uat-defcard__actions{display:flex;gap:6px}.uat-defcard__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;height:28px;border-radius:8px;font:inherit;font-size:11.5px;font-weight:var(--weight-semibold);cursor:pointer;transition:var(--transition)}.uat-defcard__btn--neutral{border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary)}.uat-defcard__btn--neutral:hover{border-color:var(--primary);color:var(--text)}.uat-defcard__btn--pass{border:1px solid var(--success-ring);background:var(--success-soft);color:var(--success)}.uat-defcard__btn--fail{border:1px solid var(--danger-ring);background:var(--surface);color:var(--danger)}.uat-add{display:flex;flex-direction:column;gap:12px}.uat-add__nav{font-family:var(--font-mono)}.cp-page{max-width:560px;margin:48px auto;padding:0 20px;color:var(--text)}.cp-page h1{font-size:22px;margin-bottom:24px}.cp-muted{color:var(--text-muted);font-size:13px}.cp-overall{text-align:center;padding:32px;margin-bottom:24px}.cp-percent{font-size:56px;font-weight:700;color:var(--primary);line-height:1}.cp-percent-label{font-size:15px;color:var(--text-secondary);margin-top:8px}.cp-areas{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.cp-area{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.cp-area-label{font-weight:600}.cp-area-status{font-size:13px}.cp-area--complete .cp-area-status{color:var(--success)}.cp-area--in_progress .cp-area-status{color:var(--warn)}.cp-area--not_started .cp-area-status{color:var(--text-faint)}.cp-complete{margin:12px 0 18px;padding:12px 16px;border-radius:var(--radius-md);background:var(--success-soft);box-shadow:inset 0 0 0 1px var(--success-ring);color:var(--success);font-weight:600}.login-page{display:grid;grid-template-columns:1.1fr 1fr;min-height:100%;background:var(--surface)}.login-left{background:linear-gradient(160deg,#f6f1ff,#faf8ff,#fff);color:var(--text);border-right:1px solid var(--border);padding:48px 44px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;top:-120px;right:-120px;width:360px;height:360px;border-radius:50%;background:var(--primary);opacity:.16;filter:blur(50px);pointer-events:none}.login-brand{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--text);display:flex;align-items:center;gap:10px;position:relative}.login-brand-mark{width:34px;height:34px;background:var(--grad-primary);border-radius:7px;box-shadow:0 4px 12px #1c325873;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.05em}.login-hero{position:relative}.login-hero-eyebrow{color:var(--primary);margin-bottom:10px}.login-hero-title{font-size:34px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2;margin-bottom:12px}.login-hero-sub{font-size:15px;color:var(--text-secondary);line-height:1.6;max-width:380px}.login-footer{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);position:relative}.login-right{padding:48px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.login-right h2{margin:0;font-size:20px;color:var(--text)}.login-right-sub{margin:0;font-size:13px;color:var(--text-muted)}.login-error{max-width:340px;margin-bottom:8px}.ms-btn{background:#fff;border:1px solid #8c8c8c;border-radius:2px;padding:10px 16px;display:inline-flex;align-items:center;gap:12px;font-size:14px;color:#5e5e5e;font-family:Segoe UI,system-ui;text-decoration:none;cursor:pointer}.ms-btn:hover{background:#f9fafb}.ms-logo{display:inline-grid;grid-template-columns:1fr 1fr;gap:1px;width:18px;height:18px;flex-shrink:0}.ms-tile{width:100%;height:100%}.ms-tile-orange{background:#f25022}.ms-tile-green{background:#7fba00}.ms-tile-blue{background:#00a4ef}.ms-tile-yellow{background:#ffb900}.dev-login{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:stretch;gap:10px}.dev-login-divider{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.dev-login-divider:before,.dev-login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.dev-login-buttons{display:flex;flex-direction:column;gap:8px}.dev-login-btn{padding:9px 14px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease}.dev-login-btn:hover:not(:disabled){border-color:var(--primary);background:var(--bg)}.dev-login-btn:disabled{opacity:.55;cursor:default}.dev-login-note{margin:0;font-size:11.5px;color:var(--text-muted);line-height:1.5}@media(max-width:720px){.login-page{grid-template-columns:1fr}.login-left{padding:32px 24px}}.users-page{max-width:1100px}.users-body{padding:20px 28px 28px}.users-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.users-table thead{background:var(--surface-soft);color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.4px}.users-table th{padding:10px 16px;text-align:left;font-weight:500;border-bottom:1px solid var(--border)}.users-table td{padding:12px 16px;border-bottom:1px solid var(--border-subtle);font-size:13px;color:var(--text-secondary)}.users-table tr:last-child td{border-bottom:0}.me-tag{font-size:11px;color:var(--text-faint)}.row-actions{text-align:right}.kebab{background:none;border:0;padding:4px 6px;cursor:pointer;color:var(--text-faint);border-radius:var(--radius-xs)}.kebab:hover{background:var(--hover);color:var(--text-secondary)}.kebab-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-dropdown);z-index:50;min-width:160px;padding:4px 0}.kebab-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 12px;font-size:13px;cursor:pointer;color:var(--text-secondary)}.kebab-menu button:hover{background:var(--surface-soft)}.kebab-menu button.danger{color:var(--danger)}.styleguide{display:flex;flex-direction:column;height:100%;overflow-y:auto}.styleguide-body{padding:20px 28px 48px;display:flex;flex-direction:column;gap:28px;max-width:980px}.sg-section{display:flex;flex-direction:column;gap:12px}.sg-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.sg-col{display:flex;flex-direction:column;gap:14px;max-width:420px}.sg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.sg-note{font-size:var(--text-caption);font-family:var(--font-mono);color:var(--text-faint)}.sg-progress-stack{display:flex;flex-direction:column;gap:12px;max-width:420px}.learn-hub{max-width:1040px}.learn-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin:var(--space-4) 0 var(--space-6)}.learn-tab{padding:var(--space-2) var(--space-3);background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-muted);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:color var(--dur-fast) var(--ease-out-cubic),border-color var(--dur-fast) var(--ease-out-cubic)}.learn-tab:hover{color:var(--text-secondary)}.learn-tab.is-active{color:var(--primary);border-bottom-color:var(--primary)}.learn-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-xs)}.help-center__search{display:flex;align-items:center;gap:var(--space-2);max-width:360px;padding:0 var(--space-3);margin-bottom:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted)}.help-center__search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.help-center__search input{flex:1;padding:var(--space-2) 0;background:none;border:0;outline:none;color:var(--text);font-size:var(--text-base)}.help-center__clear{display:inline-flex;padding:2px;background:none;border:0;color:var(--text-faint);cursor:pointer;border-radius:var(--radius-xs)}.help-center__clear:hover{color:var(--text-secondary)}.help-center__count{margin:0 0 var(--space-6);color:var(--text-faint);font-size:var(--text-caption)}.help-center__noresults{margin-top:var(--space-2);color:var(--text-muted)}.help-center__stage{margin-bottom:var(--space-7)}.help-center__stage .ui-eyebrow{display:block;margin-bottom:var(--space-3)}.help-center__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:var(--space-3);margin-top:var(--space-2)}.fn-card{text-align:left;width:100%}.fn-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.fn-card__title{color:var(--text);font-weight:600;font-size:var(--text-md)}.fn-card__oneliner{margin:var(--space-2) 0 var(--space-3);color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-normal)}.fn-card__verified{color:var(--text-faint);font-size:var(--text-caption)}.learn-guide{max-width:760px}.learn-guide__back{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:var(--text-caption);text-decoration:none;margin-bottom:var(--space-3)}.learn-guide__back:hover{color:var(--text-secondary)}.learn-guide__actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.learn-guide__btnlink{text-decoration:none}.learn-guide__noclient{color:var(--text-muted);font-size:var(--text-caption)}.learn-guide__lead{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-4) 0 var(--space-5);color:var(--text);font-size:var(--text-lg);font-weight:600;line-height:var(--leading-snug)}.learn-guide__section{margin-bottom:var(--space-5)}.learn-guide__section p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-normal)}.learn-guide__steplink{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-size:var(--text-base);font-weight:600;text-decoration:none;margin-bottom:var(--space-5)}.learn-guide__steplink:hover{text-decoration:underline}.learn-guide__related{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.learn-guide__chip{text-decoration:none}.learn-guide__chip .ui-meta-tag{transition:color var(--dur-fast) var(--ease-out-cubic)}.learn-guide__chip:hover .ui-meta-tag{color:var(--primary)}.learn-guide__chip-plain{text-transform:capitalize;opacity:.7}.env-banner{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:30px;padding:0 14px;background:#b45309;color:#fff;font-size:12.5px;line-height:1;letter-spacing:.01em;border-bottom:2px solid #78350f;box-shadow:0 1px 4px #00000040;position:relative;z-index:1000;-webkit-user-select:none;user-select:none}.env-banner-dot{width:8px;height:8px;border-radius:50%;background:#fbbf24;box-shadow:0 0 0 3px #fbbf2459;flex:0 0 auto}.env-banner-label{font-weight:800;text-transform:uppercase;letter-spacing:.06em}.env-banner-text{opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.env-banner-text{display:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1c3258;--primary-hover: #13223e;--primary-soft: #eef1f7;--primary-ring: rgba(28, 50, 88, .4);--primary-glow: rgba(28, 50, 88, .16);--primary-fg: #ffffff;--indigo: #2f4e8c;--navy-400: #6f8bc0;--navy-500: #4d6db0;--navy-600: #2f4e8c;--navy-700: #1c3258;--navy-900: #11203f;--success: #059669;--success-soft: #e7f8f0;--success-ring: #b3e9d1;--warn: #d97706;--warn-soft: #fdf2e3;--warn-ring: #f6dcae;--danger: #e11d48;--danger-hover: #be123c;--danger-soft: #ffedf0;--danger-ring: #f9c9d3;--info: #4f46e5;--info-soft: #eef0fe;--info-ring: #c7cbfb;--pulse-green: #10b981;--status-neutral: #64748b;--bg: #f5f6fa;--surface: #ffffff;--surface-soft: #fafbfd;--surface-muted: #eef1f6;--surface-active: #e4e8f0;--glass: rgba(255, 255, 255, .78);--hover: #f1f5f9;--text: #1b2230;--text-secondary: #475569;--text-muted: #697587;--text-faint: #97a0b2;--text-accent: #11203f;--border: #e5e8ef;--border-strong: #d2d8e3;--border-subtle: #eef1f6;--border-soft: rgba(210, 216, 227, .7);--sidebar-bg: #ffffff;--sidebar-fg: #475569;--sidebar-fg-muted: #697587;--grad-primary: linear-gradient(180deg, #2f4e8c 0%, #1c3258 55%, #13223e 100%);--grad-text: linear-gradient(135deg, #11203f 0%, #1c3258 45%, #2f4e8c 100%);--grad-badge: linear-gradient(135deg, #4d6db0, #34579f);--grad-badge-deep: linear-gradient(135deg, #2f4e8c, #1c3258);--grad-card-edge: linear-gradient(90deg, transparent 0%, rgba(77,109,176,.45) 25%, rgba(47,78,140,.6) 50%, rgba(77,109,176,.45) 75%, transparent 100%);--grad-section-icon: linear-gradient(135deg, #2f4e8c 0%, #1c3258 100%);--font-display: "Hanken Grotesk", system-ui, sans-serif;--font-sans: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-body: var(--font-sans);--text-2xs: 10.5px;--text-overline: 11px;--text-caption: 12px;--text-support: 12.5px;--text-base: 13.5px;--text-md: 14px;--text-section: 15px;--text-lg: 16px;--text-xl: 21px;--text-display: 22px;--text-2xl: 25px;--text-kpi: 25px;--text-3xl: 34px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-none: 1;--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.55;--tracking-kpi: -.02em;--tracking-display: -.01em;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-overline: .08em;--tracking-mono: .08em;--tracking-wide: .04em;--tracking-wider: .08em;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 18px;--space-7: 20px;--space-8: 24px;--space-9: 32px;--space-10: 40px;--radius-chip: 6px;--radius-xs: 5px;--radius-sm: 7px;--radius-md: 9px;--radius-lg: 11px;--radius-xl: 13px;--radius-card: 14px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(16,24,40,.04), 0 2px 8px rgba(16,24,40,.05), 0 0 0 1px rgba(16,24,40,.02);--shadow-card-hover: 0 2px 6px rgba(16,24,40,.08), 0 16px 34px -12px rgba(16,24,40,.18);--shadow-tile: 0 1px 2px rgba(16,24,40,.05), 0 4px 14px rgba(16,24,40,.06), 0 0 0 1px rgba(16,24,40,.03);--shadow-modal: 0 24px 64px -16px rgba(16,24,40,.28);--shadow-dropdown: 0 10px 28px -8px rgba(16,24,40,.18);--shadow-primary: 0 1px 0 rgba(255,255,255,.22) inset, 0 6px 16px -4px rgba(28,50,88,.42);--glow-ok: 0 0 0 4px rgba(16,185,129,.16);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--transition: .15s ease;--dur-fast: .15s;--dur: .2s;--dur-slow: .32s;--sidebar-width: 244px;--sidebar-collapsed: 56px;--header-height: 52px;--topbar-height: 52px;--jera-red: var(--primary);--jera-red-dim: var(--primary-hover);--accent: var(--primary);--accent-hover: var(--primary-hover);--surface-card: var(--surface);--text-heading: var(--text);--text-body: var(--text-secondary);--ring: var(--primary)}html,body,#root{height:100%;background-color:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app-shell{height:100%;display:flex;flex-direction:column}.app-shell-content{flex:1 1 auto;min-height:0}body{background-image:radial-gradient(ellipse 760px 460px at 0% -10%,rgba(28,50,88,.05),transparent 60%),radial-gradient(ellipse 680px 380px at 100% 0%,rgba(47,78,140,.04),transparent 60%);background-attachment:fixed}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd2de;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#aeb7c7}::selection{background:var(--primary-glow);color:var(--text)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}
