:root{--color-primary: #06402B;--color-primary-hover: #0A5338;--color-primary-rgb: 6, 64, 43;--color-primary-light: #e8f5e9;--color-surface: #ffffff;--color-canvas: #f4f7f4;--color-border: #d9e4d9;--color-border-input: #c5d5c5;--color-text: #1a2e1a;--color-muted: #3f5340;--color-danger: #c62828;--color-header-text: #ffffff;--color-header-bg: #06402b;--color-surface-muted: #fafcfa;--color-surface-alt: #fafafa;--color-nav-hover: #eef5ee;--color-nav-border-hover: #b8d4c0;--color-panel-subtle: #f7faf7;--color-row-hover: #f7fbf8;--color-row-invalid: #fff8f8;--color-row-selected: #f1f8e9;--color-danger-soft: #ffebee;--color-danger-soft-border: #ef9a9a;--color-table-border: #eef5ee;--color-control-track: #e8efe8;--color-control-knob: #ffffff;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 40px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-modal: 20px;--radius-full: 999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-drawer: 4px 0 24px rgba(0, 0, 0, .15);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .16);--dropdown-radius: 0;--dropdown-shadow: 0 1px 0 color-mix(in srgb, var(--color-border) 65%, transparent), 0 12px 28px rgba(15, 23, 42, .16);--dropdown-option-pad-y: .35rem;--dropdown-option-pad-x: .6rem;--dropdown-option-font-size: var(--font-size-xs);--dropdown-accent-width: 2px;--sidebar-width-expanded: 260px;--sidebar-width-collapsed: 72px;--sidebar-width: var(--sidebar-width-expanded);--header-height: 60px;--btn-height: 32px;--btn-padding-x: .75rem;--btn-font-size: var(--font-size-sm);--btn-font-weight: 400;--btn-icon-size: 32px;--modal-max-width: 1280px;--modal-wide-max-width: var(--modal-max-width);--confirm-max-width: 22rem;--confirm-wide-max-width: 36rem;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--font-sans: "Inter", "Segoe UI", system-ui, sans-serif;--font-size-xs: .8rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.75rem;font-family:var(--font-sans);line-height:1.5;color:var(--color-text);background:var(--color-canvas)}[data-theme=dark]{color-scheme:dark;--color-primary: #4cb88a;--color-primary-hover: #5fd49a;--color-primary-rgb: 76, 184, 138;--color-primary-light: rgba(76, 184, 138, .16);--color-header-bg: #06402b;--color-header-text: #ffffff;--color-surface: #1a231e;--color-canvas: #0f1612;--color-border: #2d3d34;--color-border-input: #3d5246;--color-text: #e8f0ea;--color-muted: #9bb0a4;--color-danger: #f07171;--color-surface-muted: #151d18;--color-surface-alt: #151d18;--color-nav-hover: rgba(76, 184, 138, .1);--color-nav-border-hover: #3d5246;--color-panel-subtle: #151d18;--color-row-hover: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));--color-row-invalid: color-mix(in srgb, var(--color-danger) 12%, var(--color-surface));--color-row-selected: color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));--color-danger-soft: color-mix(in srgb, var(--color-danger) 14%, var(--color-surface));--color-danger-soft-border: color-mix(in srgb, var(--color-danger) 35%, var(--color-border));--color-table-border: #2d3d34;--color-control-track: #2a3830;--color-control-knob: #f2f7f3;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-drawer: 4px 0 24px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--dropdown-shadow: 0 1px 0 color-mix(in srgb, var(--color-border) 55%, transparent), 0 14px 32px rgba(0, 0, 0, .45)}[data-theme=dark] .data-table th{background:var(--color-surface-muted)}[data-theme=dark] .btn-danger,[data-theme=dark] .btn-danger:hover{border-color:var(--color-danger-soft-border)}[data-theme=dark] .btn-secondary{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));background:transparent}[data-theme=dark] .btn-secondary:hover{background:var(--color-primary-light)}[data-theme=dark] .empty-state{background:var(--color-surface-muted)}[data-theme=dark] .ref-type-pill{background:color-mix(in srgb,#6b9fff 18%,var(--color-surface));color:#9ec0ff}[data-theme=dark] .skeleton-line{background:linear-gradient(90deg,color-mix(in srgb,var(--color-border) 60%,var(--color-surface)) 25%,color-mix(in srgb,var(--color-border) 30%,var(--color-surface)),color-mix(in srgb,var(--color-border) 60%,var(--color-surface)) 75%)}[data-theme=dark] .upload-monitor-metric.is-preview .upload-monitor-metric-value{color:#90caf9}[data-theme=dark] .upload-monitor-metric.is-preview{border-left-color:#64b5f6}[data-theme=dark] .status-validating,[data-theme=dark] .status-running{background:color-mix(in srgb,#ffb74d 18%,var(--color-surface));color:#ffcc80}[data-theme=dark] .status-warn{color:#ffcc80}[data-theme=dark] .status-failed,[data-theme=dark] .status-locked,[data-theme=dark] .status-rejected{background:color-mix(in srgb,var(--color-danger) 16%,var(--color-surface));color:#f48fb1}[data-theme=dark] .status-pending_activation,[data-theme=dark] .status-inactive,[data-theme=dark] .status-pending{background:color-mix(in srgb,var(--color-muted) 20%,var(--color-surface));color:var(--color-muted)}[data-theme=dark] .status-published,[data-theme=dark] .status-committed,[data-theme=dark] .status-active,[data-theme=dark] .status-success{background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface));color:#8fd9b0}[data-theme=dark] .phase-badge,[data-theme=dark] .info-banner,[data-theme=dark] .warning-banner,[data-theme=dark] .alert-info{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border-input);color-scheme:dark}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:color-mix(in srgb,var(--color-muted) 80%,transparent)}[data-theme=dark] option{background:var(--color-surface);color:var(--color-text)}[data-theme=dark] .auth-split-panel{background:var(--color-canvas);background-image:none}[data-theme=dark] .auth-split-image{filter:none;opacity:1}[data-theme=dark] .auth-split-overlay{background:linear-gradient(180deg,#06402b33,#06402b73,#06402bbf)}@media (max-width: 900px){[data-theme=dark] .auth-split-overlay{background:linear-gradient(180deg,#06402b47,#06402b8c 48%,#06402bd1)}}[data-theme=dark] .auth-card{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-md)}[data-theme=dark] .schema-column-empty-state,[data-theme=dark] .dtb-row-item.is-selected{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}[data-theme=dark] .schema-parameter-required-toggle-thumb:before{background:var(--color-control-knob)}[data-theme=dark] .dashboard-stat-card,[data-theme=dark] .dashboard-panel,[data-theme=dark] .home-card,[data-theme=dark] .dtb-config,[data-theme=dark] .dtb-config-panel,[data-theme=dark] .dtb-section,[data-theme=dark] .dtb-results-card,[data-theme=dark] .upload-detail-panel,[data-theme=dark] .upload-preview-panel,[data-theme=dark] .template-panel,[data-theme=dark] .template-schema-builder,[data-theme=dark] .template-form-step-panel,[data-theme=dark] .card-item,[data-theme=dark] .card-section,[data-theme=dark] .modal-dialog,[data-theme=dark] .modal-dialog-wide,[data-theme=dark] .modal-dialog-template,[data-theme=dark] .confirm-dialog,[data-theme=dark] .filter-dropdown-panel,[data-theme=dark] .header-account-menu,[data-theme=dark] .dtb-suggest-list,[data-theme=dark] .dtb-suggest-empty,[data-theme=dark] .published-edit-freeze-menu,[data-theme=dark] .report-export-menu,[data-theme=dark] .form-select-menu,[data-theme=dark] .form-select-trigger{background:var(--color-surface);background-image:none}[data-theme=dark] .guest-landing,[data-theme=dark] .guest-landing-hero,[data-theme=dark] .guest-landing-panel{background:var(--color-canvas);background-image:none}[data-theme=dark] .template-management-schema-wrap,[data-theme=dark] .template-management-schema,[data-theme=dark] .schema-preview-row td,[data-theme=dark] .audit-logs-filter-panel,[data-theme=dark] .template-preview-sample-wrap,[data-theme=dark] .template-preview-blank-row td,[data-theme=dark] .audit-detail-row td{background:var(--color-surface)!important}[data-theme=dark] .schema-preview-row td{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-panel-subtle))!important}[data-theme=dark] .upload-warning-chip,[data-theme=dark] .banner-warning,[data-theme=dark] .info-text,[data-theme=dark] [class*=warning-banner],[data-theme=dark] [class*=info-banner]{background:color-mix(in srgb,#ffb74d 14%,var(--color-surface));border-color:color-mix(in srgb,#ffb74d 28%,var(--color-border));color:#ffcc80}[data-theme=dark] .cell-error,[data-theme=dark] .validation-error-row,[data-theme=dark] .row-error{background:var(--color-danger-soft)}[data-theme=dark] .ref-category-pill,[data-theme=dark] .role-pill,[data-theme=dark] .badge-soft{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));color:var(--color-primary)}[data-theme=dark] .report-chart-wrap,[data-theme=dark] .report-viz-preview,[data-theme=dark] .dtb-chart-frame,[data-theme=dark] .report-viz-chart-plot{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .report-viz-chart-plot .recharts-default-tooltip{background:var(--color-surface)!important;border-color:var(--color-border)!important;color:var(--color-text)!important}[data-theme=dark] .report-viz-chart-plot .recharts-tooltip-cursor{fill:color-mix(in srgb,var(--color-primary) 18%,transparent)!important;stroke:none!important}[data-theme=dark] .table-sticky-header .data-table thead th,[data-theme=dark] .upload-data-table thead th{background:var(--color-surface-muted);color:var(--color-text)}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.theme-toggle-btn svg{width:18px;height:18px}.theme-toggle-btn--header{background:#ffffff1a;color:var(--color-header-text);border-color:transparent}.theme-toggle-btn--header:hover{background:#ffffff2e;border-color:#ffffff29}.theme-toggle-btn--header:focus-visible{outline:2px solid #fff;outline-offset:2px}.theme-toggle-btn--auth{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;background:var(--color-surface);color:var(--color-muted);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.theme-toggle-btn--auth:hover{color:var(--color-text);border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.theme-toggle-btn--auth:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,white);outline-offset:2px}.theme-toggle-btn:active{transform:scale(.96)}.theme-toggle-menu-item{justify-content:flex-start}.theme-toggle-menu-item .theme-toggle-switch{margin-left:auto}.theme-toggle-switch{position:relative;flex-shrink:0;width:2.35rem;height:1.3rem;border:1px solid var(--color-border-input);border-radius:999px;background:color-mix(in srgb,var(--color-muted) 25%,var(--color-surface));transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.theme-toggle-switch.is-on{background:var(--color-primary);border-color:var(--color-primary)}.theme-toggle-switch-thumb{position:absolute;top:1px;left:1px;width:.95rem;height:.95rem;border-radius:50%;background:var(--color-control-knob);box-shadow:0 1px 2px #0000002e;transition:transform var(--motion-fast) var(--ease-standard)}.theme-toggle-switch.is-on .theme-toggle-switch-thumb{transform:translate(1.05rem)}@media (prefers-reduced-motion: reduce){.theme-toggle-btn,.theme-toggle-switch,.theme-toggle-switch-thumb{transition:none!important}}:root{--motion-fast: .15s;--motion-base: .22s;--motion-slow: .32s;--motion-modal: .3s;--motion-modal-panel: .34s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(0, 0, .2, 1);--ease-modal-enter: cubic-bezier(.16, 1, .3, 1);--ease-modal-exit: cubic-bezier(.4, 0, 1, 1)}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-enter{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(16px)}}@keyframes banner-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-enter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes dropdown-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes login-header-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes login-sidebar-enter{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes login-main-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.app-layout.is-login-enter .app-header{animation:login-header-enter .42s var(--ease-decelerate)}.app-layout.is-login-enter .app-sidebar{animation:login-sidebar-enter .48s var(--ease-decelerate)}.app-layout.is-login-enter .app-main{animation:login-main-enter .52s var(--ease-decelerate)}.page-transition{animation:page-enter var(--motion-base) var(--ease-decelerate)}.overlay-surface{opacity:0;transition:opacity var(--motion-modal) var(--ease-modal-exit)}.overlay-surface.is-visible{opacity:1;transition-timing-function:var(--ease-modal-enter)}.overlay-surface.is-closing{opacity:0;pointer-events:none;transition-timing-function:var(--ease-modal-exit)}.overlay-panel{opacity:0;transform:translateY(16px) scale(.96);transform-origin:center center;will-change:opacity,transform;transition:opacity var(--motion-modal-panel) var(--ease-modal-exit),transform var(--motion-modal-panel) var(--ease-modal-exit)}.overlay-surface.is-visible .overlay-panel{opacity:1;transform:translateY(0) scale(1);transition-delay:45ms;transition-timing-function:var(--ease-modal-enter)}.overlay-surface.is-visible.is-closing .overlay-panel,.overlay-surface.is-closing .overlay-panel{opacity:0;transform:translateY(12px) scale(.96);transition-delay:0ms;transition-duration:.24s;transition-timing-function:var(--ease-modal-exit)}.toast-enter{animation:toast-enter var(--motion-base) var(--ease-decelerate)}.toast-exit{animation:toast-exit var(--motion-fast) var(--ease-standard) forwards}.banner-enter{animation:banner-enter var(--motion-base) var(--ease-decelerate)}@keyframes perm-editor-switch{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes perm-skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.panel-enter{animation:panel-enter var(--motion-base) var(--ease-decelerate)}.perm-editor-switch{animation:perm-editor-switch var(--motion-base) var(--ease-decelerate)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.page-transition,.toast-enter,.toast-exit,.banner-enter,.panel-enter,.perm-editor-switch,.app-layout.is-login-enter .app-header,.app-layout.is-login-enter .app-sidebar,.app-layout.is-login-enter .app-main{animation:none!important}.overlay-surface,.overlay-panel{transition:none!important;opacity:1!important;transform:none!important}}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;background:var(--color-canvas)}body:has(.app-layout:not(.app-layout-auth)){height:100%;height:100dvh;max-height:100dvh;overflow:hidden}#root{min-height:100%;height:100%}body:has(.app-layout:not(.app-layout-auth)) #root{height:100%;max-height:100%;overflow:hidden}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-9999px;top:var(--space-2);z-index:2000;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-header-text);border-radius:var(--radius-sm);font-weight:600}.skip-link:focus{left:var(--space-4)}.app-layout{min-height:100%;display:flex;flex-direction:column}.app-layout:not(.app-layout-auth){min-height:0;height:100%;max-height:100%;overflow:hidden}.app-header{background:var(--color-header-bg);color:var(--color-header-text);padding:0 var(--space-5);min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:sticky;top:0;z-index:100;flex-shrink:0;box-shadow:0 1px #ffffff14 inset,0 2px 8px #0000001f}.header-start{display:flex;align-items:center;gap:var(--space-2);min-width:0}.header-icon-btn{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:#ffffff1a;color:var(--color-header-text);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.header-icon-btn:hover{background:#ffffff2e;border-color:#ffffff29}.header-icon-btn:active{transform:scale(.96)}.header-icon-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.menu-toggle{display:none}.sidebar-toggle-desktop{display:inline-flex}.menu-toggle-icon{display:block;width:18px;height:2px;background:currentColor;position:relative;border-radius:1px}.menu-toggle-icon:before,.menu-toggle-icon:after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:1px}.menu-toggle-icon:before{top:-5px}.menu-toggle-icon:after{top:5px}.brand{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);margin-left:var(--space-1);border-radius:var(--radius-md);color:inherit}.brand:focus-visible{outline:2px solid #fff;outline-offset:2px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;padding:3px;overflow:hidden;border-radius:var(--radius-md);background:#fffffff2;box-shadow:0 1px 2px #0000001f}.brand-logo{display:block;width:100%;height:100%;object-fit:contain}.brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-text strong{font-size:var(--font-size-base);font-weight:700;letter-spacing:.01em;line-height:1.15}.brand-text span{font-size:var(--font-size-xs);opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-static{display:inline-flex;align-items:center;gap:var(--space-3);min-width:0;color:inherit;cursor:default;text-decoration:none;pointer-events:none;-webkit-user-select:none;user-select:none}.app-layout-dataset-editor .app-body{min-height:0;flex:1}.app-layout-dataset-editor .app-main{max-width:none;padding:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.header-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.header-editor-context{display:flex;align-items:center;gap:var(--space-3);min-width:0;max-width:min(42vw,28rem);padding:.45rem .9rem;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);background:#ffffff14;box-shadow:inset 0 1px #ffffff0f;color:var(--color-header-text)}.header-editor-context-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.header-editor-context-kicker{font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.72;line-height:1.1}.header-editor-context-dataset{font-size:var(--font-size-sm);font-weight:650;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-editor-context-divider{flex-shrink:0;width:1px;align-self:stretch;min-height:1.75rem;background:#fff3}.header-editor-context-meta{display:flex;flex-direction:column;gap:1px;min-width:0;max-width:11rem;flex-shrink:0}.header-editor-context-office{font-size:var(--font-size-xs);font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-editor-context-period{font-size:.7rem;opacity:.78;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-login-link{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);background:#ffffff24;border:1px solid rgba(255,255,255,.24);color:var(--color-header-text);font-size:var(--font-size-sm);font-weight:600;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.header-login-link:hover{background:#ffffff3d;border-color:#ffffff5c}.header-login-link:focus-visible{outline:2px solid #fff;outline-offset:2px}.header-account{position:relative;max-width:min(100%,280px)}.header-account-trigger{display:flex;align-items:center;gap:var(--space-2);max-width:100%;min-width:0;min-height:44px;padding:4px 10px 4px 4px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);background:#ffffff1a;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.header-account-trigger:hover,.header-account.is-open .header-account-trigger{background:#ffffff2e;border-color:#ffffff52}.header-account-trigger:focus-visible{outline:2px solid #fff;outline-offset:2px}.header-user-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:var(--radius-full);background:#ffffff38;border:1px solid rgba(255,255,255,.35);font-size:.7rem;font-weight:700;letter-spacing:.02em}.header-user-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.header-user-name{font-size:var(--font-size-sm);font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-user-role{font-size:.7rem;opacity:.84;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-account-caret{flex-shrink:0;width:16px;height:16px;opacity:.8;transition:transform var(--motion-fast) var(--ease-standard)}.header-account.is-open .header-account-caret{transform:rotate(180deg)}.header-account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:max(100%,15.5rem);padding:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:opacity var(--motion-fast) var(--ease-decelerate),transform var(--motion-fast) var(--ease-decelerate),visibility var(--motion-fast) var(--ease-standard)}.header-account-menu:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.header-account.is-open .header-account-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.header-account-identity{padding:var(--space-3) var(--dropdown-option-pad-x) var(--space-3)}.header-account-identity-name{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);line-height:1.3}.header-account-identity-email{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-muted);line-height:1.35;word-break:break-all}.header-account-identity-role{display:inline-flex;margin:var(--space-2) 0 0;padding:2px 8px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-size:.68rem;font-weight:600;line-height:1.4}.header-account-identity-office{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--color-muted);line-height:1.35}.header-account-divider{height:1px;margin:0;background:var(--color-border)}.header-account-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--dropdown-option-pad-y) var(--dropdown-option-pad-x);border:none;border-left:var(--dropdown-accent-width) solid transparent;background:transparent;color:var(--color-text);font:inherit;font-weight:500;text-align:left;text-decoration:none;cursor:pointer}.header-account-item svg{flex-shrink:0;width:16px;height:16px;opacity:.75}.header-account-item.active{color:var(--color-primary)}.header-account-item.is-danger{color:var(--color-danger)}.header-account-item.is-danger:hover,.header-account-item.is-danger:focus-visible{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));border-left-color:var(--color-danger)}.btn-link{background:none;border:none;color:var(--color-header-text);cursor:pointer;text-decoration:underline;font-size:var(--font-size-sm);font-weight:var(--btn-font-weight);padding:var(--space-2);min-height:44px}.btn-link:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:var(--radius-sm)}.app-body{display:flex;flex:1;min-height:0}.app-layout:not(.app-layout-auth) .app-body{overflow:hidden}.sidebar-collapsed{--sidebar-width: var(--sidebar-width-collapsed)}.nav-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;top:var(--header-height);background:#0006;z-index:150;border:none;cursor:pointer;opacity:0;transition:opacity var(--motion-base) var(--ease-standard);pointer-events:none}.app-sidebar{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);overflow:hidden;transition:width var(--motion-base) var(--ease-standard)}.sidebar-nav{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-4) var(--space-3);scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{display:none;width:0;height:0}.sidebar-footer{flex-shrink:0;padding:var(--space-3);border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.sidebar-collapse-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:40px;padding:.55rem var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font-size:var(--font-size-sm);font-weight:var(--btn-font-weight);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.sidebar-collapse-btn:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-nav-border-hover)}.sidebar-collapse-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.nav-section{margin-bottom:var(--space-4)}.nav-section:last-child{margin-bottom:0}.nav-section-list{list-style:none;margin:0;padding:0}.nav-section-title{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);padding:0 var(--space-3);margin-bottom:var(--space-2);white-space:nowrap;overflow:hidden;transition:opacity .15s ease}.nav-section-divider{display:none;height:1px;margin:0 var(--space-2) var(--space-3);background:var(--color-border)}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:.6rem var(--space-3);border-radius:var(--radius-sm);margin-bottom:2px;font-size:var(--font-size-sm);color:var(--color-text);transition:background .15s ease,color .15s ease}.nav-link-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:20px;height:20px}.nav-link-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s ease}.nav-link:hover{background:var(--color-nav-hover)}.nav-link.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.app-sidebar.is-collapsed .nav-section-title{opacity:0;height:0;margin:0;padding:0;overflow:hidden}.app-sidebar.is-collapsed .nav-section-divider{display:block}.app-sidebar.is-collapsed .nav-section:first-child .nav-section-divider{display:none}.app-sidebar.is-collapsed .nav-link{justify-content:center;padding-left:.6rem;padding-right:.6rem}.app-sidebar.is-collapsed .nav-link-label,.app-sidebar.is-collapsed .sidebar-collapse-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-sidebar.is-collapsed .sidebar-collapse-btn{justify-content:center;padding-left:0;padding-right:0}.app-main{flex:1;padding:var(--space-5);min-width:0;min-height:0;max-width:100%}.app-layout:not(.app-layout-auth) .app-main{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-footer{padding:.55rem var(--space-5);background:var(--color-panel-subtle);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-muted);flex-shrink:0}.app-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.app-footer-left{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.app-footer-product{font-weight:600;color:var(--color-text);letter-spacing:.01em;min-width:0}.app-footer-demo{flex-shrink:0;display:inline-flex;align-items:center;padding:2px 8px;border:1px solid #c5d9c8;border-radius:999px;background:#eef6f0;color:var(--color-primary);font-size:.62rem;font-weight:700;letter-spacing:.06em;line-height:1.35;text-transform:uppercase}[data-theme=dark] .app-footer-demo{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 16%,var(--color-surface))}.app-footer-org{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.app-footer-compact{display:none;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;color:var(--color-muted)}.page h1{margin-top:0;font-size:var(--font-size-2xl);font-weight:700;line-height:1.25}.page h2{font-size:var(--font-size-xl)}.page-desc,.page-description{color:var(--color-muted);margin-top:calc(var(--space-2) * -1);margin-bottom:var(--space-4)}.app-body-auth .app-main{max-width:100%;flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;padding:0;min-height:100%}.app-layout-auth{min-height:100%;min-height:100dvh}.app-layout-auth .app-body-auth{flex:1;background:var(--color-surface)}.app-layout-auth .app-footer{display:none}@media (max-width: 768px){.menu-toggle{display:inline-flex}.nav-backdrop{display:block}.sidebar-toggle-desktop,.sidebar-footer,.brand-text span,.header-user-meta,.header-account-caret{display:none}.header-account{max-width:none}.header-account-trigger{padding:4px}.header-account-menu{width:16rem}.app-header{padding:0 var(--space-3);gap:var(--space-2)}.header-actions{gap:var(--space-2)}.header-actions .theme-toggle-btn--header{display:none}.app-layout-dataset-editor .header-actions .theme-toggle-btn--header{display:inline-flex}.header-editor-context{max-width:min(48vw,16rem);padding:.35rem .7rem;gap:var(--space-2)}.header-editor-context-meta{max-width:7.5rem}.brand{margin-left:0;padding-left:0;gap:var(--space-2)}.brand-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:11rem}.app-sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;z-index:160;transform:translate(-100%);transition:transform var(--motion-slow) var(--ease-emphasized);box-shadow:var(--shadow-drawer);width:min(280px,85vw)}.app-sidebar.is-open{transform:translate(0)}.app-sidebar.is-collapsed{width:min(280px,85vw)}.app-sidebar.is-collapsed .nav-section-title{opacity:1;height:auto;margin-bottom:var(--space-2);padding:0 var(--space-3)}.app-sidebar.is-collapsed .nav-section-divider{display:none}.app-sidebar.is-collapsed .nav-link{justify-content:flex-start;padding-left:var(--space-3);padding-right:var(--space-3)}.app-sidebar.is-collapsed .nav-link-label{position:static;width:auto;height:auto;margin:0;overflow:hidden;clip:auto;white-space:nowrap}.nav-backdrop.is-visible{display:block;opacity:1;pointer-events:auto}.app-main{padding:var(--space-4)}.app-footer-inner{display:none}.app-footer-compact{display:flex}.history-layout{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.toolbar .btn-primary,.toolbar .btn-secondary{width:100%;justify-content:center}.search-form{flex-direction:column;width:100%}.search-form input,.search-form button{width:100%}.action-row{flex-direction:column}.action-row .btn-primary,.action-row .btn-secondary{width:100%}.save-row{flex-direction:column}.stat-grid{grid-template-columns:repeat(2,1fr)}.section-header{flex-direction:column;align-items:flex-start}.health-summary,.backup-summary-strip{flex-direction:column}.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{min-width:unset;width:100%}}@media (max-width: 480px){.brand-text{display:none}.brand-mark{width:36px;height:36px}.header-editor-context{max-width:calc(100vw - 7.5rem);border-radius:var(--radius-md)}.header-editor-context-kicker{display:none}.stat-grid{grid-template-columns:1fr}.app-main{padding:var(--space-3)}}@media (min-width: 769px){.app-sidebar.is-open{transform:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-primary,.btn-secondary,.btn-danger,.btn-danger-solid,.btn-sm,.btn-add-action{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--btn-height);min-height:var(--btn-height);padding:0 var(--btn-padding-x);border-radius:var(--radius-sm);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:1;cursor:pointer}.btn-primary{background:var(--color-primary);color:var(--color-header-text);border:none;transition:background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-full{width:100%}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,.btn-danger-solid:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.btn-secondary:hover{background:var(--color-primary-light)}.btn-secondary:active:not(:disabled){transform:translateY(1px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-soft-border);transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 28%,var(--color-danger-soft))}.btn-danger:active:not(:disabled){transform:translateY(1px)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:0 .65rem;font-size:var(--font-size-xs)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;width:var(--btn-icon-size);height:var(--btn-icon-size);min-height:var(--btn-icon-size);padding:0;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.btn-icon:disabled{opacity:.6;cursor:not-allowed}.btn-icon:active:not(:disabled){transform:translateY(1px)}.btn-icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-icon-with-text{width:auto;min-width:auto;padding:0 .65rem;gap:.35rem}.btn-icon-text{font-size:var(--font-size-xs);font-weight:400;line-height:1;white-space:nowrap}.btn-icon-secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.btn-icon-secondary:hover:not(:disabled){background:var(--color-primary-light)}.btn-icon-primary{background:var(--color-primary);color:var(--color-header-text);border:1px solid var(--color-primary)}.btn-icon-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-icon-primary:focus-visible{outline-color:var(--color-primary)}.btn-add-action{gap:var(--space-2);flex-shrink:0;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.btn-add-action:disabled{opacity:.6;cursor:not-allowed}.btn-add-action:active:not(:disabled){transform:translateY(1px)}.btn-add-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-add-primary{background:var(--color-primary);color:var(--color-header-text);border:1px solid var(--color-primary)}.btn-add-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-add-secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary)}.btn-add-secondary:hover:not(:disabled){background:var(--color-primary-light)}.btn-icon-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-soft-border)}.btn-icon-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 28%,var(--color-danger-soft))}.btn-icon-danger:focus-visible{outline-color:var(--color-danger)}.table-row-icon-actions{display:inline-flex;align-items:center;gap:var(--space-2);overflow:visible}.icon-action-host{display:inline-flex;position:relative;vertical-align:middle}.action-tooltip-bubble{position:fixed;z-index:1400;max-width:min(18rem,calc(100vw - 16px));padding:.35rem .65rem;border-radius:var(--radius-sm);background:#1f2937;color:#fff;font-family:var(--font-family, inherit);font-size:var(--font-size-xs);font-weight:500;line-height:1.35;letter-spacing:normal;text-transform:none;white-space:normal;overflow-wrap:anywhere;pointer-events:none;box-shadow:0 4px 14px #0f172a38;animation:action-tooltip-in .12s var(--ease-standard, ease-out)}@keyframes action-tooltip-in{0%{opacity:0}to{opacity:1}}.action-tooltip-bubble--top:after,.action-tooltip-bubble--bottom:after,.action-tooltip-bubble--left:after{content:"";position:absolute;border:5px solid transparent}.action-tooltip-bubble--top:after{top:100%;left:var(--action-tooltip-arrow-offset, 50%);transform:translate(-50%);border-top-color:#1f2937}.action-tooltip-bubble--bottom:after{bottom:100%;left:var(--action-tooltip-arrow-offset, 50%);transform:translate(-50%);border-bottom-color:#1f2937}.action-tooltip-bubble--left:after{top:var(--action-tooltip-arrow-offset, 50%);left:100%;transform:translateY(-50%);border-left-color:#1f2937}.link-btn{color:var(--color-primary);text-decoration:underline;font-weight:var(--btn-font-weight);background:none;border:none;cursor:pointer;padding:0;font:inherit}.auth-page{max-width:420px;margin:0 auto}.auth-form,.card-form{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.auth-form label,.card-form label{display:flex;flex-direction:column;gap:var(--space-2);font-weight:600;font-size:var(--font-size-sm)}.auth-form input,.card-form input,.card-form select,.card-form textarea,.search-form input,.toolbar select{padding:.55rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit}.card-form textarea{width:100%;box-sizing:border-box;min-height:5.5rem;line-height:1.5;resize:vertical}.auth-form input:focus,.card-form input:focus,.card-form select:focus,.card-form textarea:focus,.search-form input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.auth-links{margin-top:var(--space-4)}.auth-links a{color:var(--color-primary);text-decoration:underline}.field-hint{font-weight:400;font-size:var(--font-size-xs);color:var(--color-muted)}.checkbox-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.checkbox-group legend{font-weight:600;font-size:var(--font-size-sm)}.checkbox-inline{display:flex;align-items:center;gap:var(--space-2);font-weight:400;margin-right:var(--space-4)}.toolbar{display:flex;gap:var(--space-4);align-items:center;margin:var(--space-4) 0;flex-wrap:wrap}.search-form{display:flex;gap:var(--space-2);flex-wrap:wrap}.table-wrap{overflow-x:auto;margin-top:var(--space-4);-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--color-border)}.data-table{width:100%;min-width:0;border-collapse:collapse;background:var(--color-surface);font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid var(--color-table-border)}.data-table th{background:var(--color-canvas);font-weight:600;white-space:nowrap}.data-table tbody tr{transition:background var(--motion-fast) var(--ease-standard)}.data-table tbody tr:hover{background:var(--color-row-hover)}.data-table tr.row-selected{background:var(--color-row-selected)}.table-meta{font-size:var(--font-size-sm);color:var(--color-muted);margin-bottom:var(--space-2)}.editable-cell{cursor:pointer;min-height:44px;min-width:3rem;vertical-align:middle}.editable-cell input{width:100%;padding:.5rem;min-height:44px;font-size:var(--font-size-base)}.cell-error{background:var(--color-danger-soft)}.table-sticky-header thead th{position:sticky;top:0;z-index:1}.table-sticky-header .data-table:not(.upload-data-table) thead th{background:var(--color-surface);box-shadow:0 1px 0 var(--color-border)}.cell-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-xs)}.status-pill{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.status-preview{background:color-mix(in srgb,#64b5f6 22%,var(--color-surface));color:#1565c0}.status-validating{background:color-mix(in srgb,#ffb74d 22%,var(--color-surface));color:#e65100}.status-committed,.status-completed{background:var(--color-primary-light);color:var(--color-primary-hover)}.status-failed{background:var(--color-danger-soft);color:var(--color-danger)}.status-cancelled,.status-pending,.status-pending_activation{background:var(--color-surface-muted);color:var(--color-muted)}.status-running{background:color-mix(in srgb,#ffb74d 22%,var(--color-surface));color:#e65100}.status-active{background:var(--color-primary-light);color:var(--color-primary-hover)}.status-inactive{background:var(--color-surface-muted);color:var(--color-muted)}.status-locked{background:var(--color-danger-soft);color:var(--color-danger)}.status-ok{color:var(--color-primary-hover);font-weight:600}.status-warn{color:#e65100;font-weight:600}.error-text,.error-msg{color:var(--color-danger)}.success-msg{color:var(--color-primary-hover);font-weight:600}.info-text{margin-top:var(--space-4);padding:var(--space-3);background:color-mix(in srgb,#64b5f6 18%,var(--color-surface));border-radius:var(--radius-sm);font-size:var(--font-size-sm);word-break:break-all}.muted{color:var(--color-muted);font-size:var(--font-size-sm)}.phase-badge{display:inline-block;margin-top:var(--space-4);padding:.35rem .75rem;background:color-mix(in srgb,#ffb74d 16%,var(--color-surface));border:1px solid #ffe082;border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.card-list{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-5)}.card-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-section{margin:var(--space-5) 0;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.section-header h2{margin:0;font-size:var(--font-size-lg)}.badge{display:inline-block;margin-top:var(--space-2);padding:.15rem .5rem;background:var(--color-primary-light);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.loading-spinner{display:flex;align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:var(--font-size-sm)}.loading-spinner--page{justify-content:center;min-height:min(40vh,20rem);margin:var(--space-4) 0;width:100%}.loading-spinner--inline{margin-top:var(--space-4)}.spinner{width:1.25rem;height:1.25rem;border:3px solid #c8e6c9;border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.app-boot{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(var(--color-primary-rgb),.08),transparent 55%),var(--color-canvas)}.app-boot-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5);width:min(100%,22rem);padding:var(--space-6) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border)}.app-boot-brand{display:flex;align-items:center;gap:var(--space-3)}.app-boot-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}.app-boot-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.app-boot-text strong{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);letter-spacing:.01em}.app-boot-text span{font-size:var(--font-size-xs);color:var(--color-muted)}.app-boot-progress{display:flex;align-items:center;gap:var(--space-3)}.app-boot-spinner{width:1.1rem;height:1.1rem;border:2px solid #c8e6c9;border-top-color:var(--color-primary);border-radius:50%;animation:spin .75s linear infinite;flex-shrink:0}.app-boot-bar{flex:1;height:3px;background:var(--color-control-track);overflow:hidden}.app-boot-bar-fill{display:block;height:100%;width:40%;background:var(--color-primary);animation:app-boot-slide 1.1s ease-in-out infinite}@keyframes app-boot-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.app-boot-message{margin:0;font-size:var(--font-size-sm);color:var(--color-muted);text-align:center}@media (prefers-reduced-motion: reduce){.app-boot-spinner,.spinner{animation:none;border-top-color:var(--color-primary)}.app-boot-bar-fill{animation:none;width:100%;opacity:.55}}.toast-container{position:fixed;right:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);z-index:2000}.toast{padding:.75rem 1rem;border-radius:var(--radius-sm);background:#323232;color:#fff;box-shadow:var(--shadow-md);min-width:220px}.toast-success{background:var(--color-primary-hover)}.toast-error{background:var(--color-danger)}.toast-info{background:#1565c0}.action-row{display:flex;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header-text h1{margin:0 0 var(--space-2)}.page-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;overflow:visible}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt)}.empty-state-icon{font-size:2rem;color:var(--color-muted);margin-bottom:var(--space-3)}.empty-state-title{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.empty-state-message{margin:0 0 var(--space-4);color:var(--color-muted);max-width:28rem;margin-inline:auto}.empty-state-action{display:inline-block;text-decoration:none}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0006;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.confirm-dialog{width:min(100%,var(--confirm-max-width));padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.confirm-dialog.is-wide{width:min(100%,var(--confirm-wide-max-width));padding:var(--space-5) var(--space-6)}.confirm-dialog.is-wide .confirm-message{max-width:none}.confirm-title{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:600;line-height:1.3;color:var(--color-text)}.confirm-message{margin:0 0 var(--space-5);color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.45;white-space:pre-line}.confirm-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap}.confirm-actions .btn-secondary,.confirm-actions .btn-primary,.confirm-actions .btn-danger-solid{padding-inline:var(--space-4)}.btn-danger-solid{background:var(--color-danger);color:#fff;border:none}.btn-danger-solid:hover{filter:brightness(.92)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0006;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-dialog,.modal-dialog-wide{width:100%;max-width:var(--modal-max-width);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-modal);box-shadow:var(--shadow-lg)}.modal-dialog-template{max-width:min(1520px,calc(100vw - 2rem))}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-shrink:0;padding:var(--space-6) var(--space-6) var(--space-2)}.modal-dialog-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--space-6) var(--space-6);scrollbar-gutter:stable}.modal-header h2{margin:0 0 var(--space-2)}.modal-subtitle{margin:0;font-size:var(--font-size-sm);line-height:1.5}.modal-close-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-size:1.5rem;line-height:1;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.modal-close-btn:hover{background:var(--color-canvas);color:var(--color-text)}.modal-close-btn:active{transform:scale(.94)}.modal-form{margin-top:var(--space-4)}.modal-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.parameter-form-options{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas)}.parameter-form-options legend{padding:0 var(--space-1);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.card-form .checkbox-label{flex-direction:row;align-items:center;gap:var(--space-3);margin:0;font-weight:500;cursor:pointer}.card-form .checkbox-label span{line-height:1.4}.card-form .checkbox-label input[type=checkbox]{width:1rem;height:1rem;min-height:unset;margin:0;padding:0;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.modal-dialog .card-form.modal-form{margin-top:0;padding:0;background:transparent;border:none;box-shadow:none}.user-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.user-form-field{display:flex;flex-direction:column;gap:var(--space-2);font-weight:600;font-size:var(--font-size-sm)}.user-form-field-full{grid-column:1 / -1}.user-form-field input,.user-form-field .form-select-trigger{padding:.55rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--dropdown-radius);font-size:var(--font-size-base);font-family:inherit;font-weight:400}.user-form-field input:focus,.user-form-field .form-select-dropdown.is-open .form-select-trigger,.user-form-field .form-select-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.user-form-field .form-select-menu{z-index:3600}.user-form-hint{margin:0;font-size:var(--font-size-sm)}@media (max-width: 640px){.user-form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-actions .btn-primary,.modal-actions .btn-secondary{width:100%}.modal-form-row{grid-template-columns:1fr}.modal-overlay{padding:var(--space-2);align-items:stretch}.modal-dialog,.modal-dialog-wide,.modal-dialog-template{max-width:none;max-height:100dvh;max-height:100vh;border-radius:var(--radius-md);margin:auto 0}.modal-header{padding:var(--space-4) var(--space-4) var(--space-2)}.modal-dialog-body{padding:0 var(--space-4) var(--space-4)}.confirm-actions{flex-direction:column-reverse;align-items:stretch}.confirm-actions .btn-secondary,.confirm-actions .btn-primary,.confirm-actions .btn-danger-solid{width:100%}}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.password-confirm-form{display:flex;flex-direction:column;gap:var(--space-4)}.password-confirm-callout{margin:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);border-left-width:3px;background:var(--color-panel-subtle)}.password-confirm-callout.is-danger{border-left-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 6%,var(--color-surface))}.password-confirm-callout.is-primary{border-left-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.password-confirm-summary{margin:0 0 var(--space-2);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted)}.password-confirm-callout.is-danger .password-confirm-summary{color:color-mix(in srgb,var(--color-danger) 75%,var(--color-text))}.password-confirm-callout.is-primary .password-confirm-summary{color:color-mix(in srgb,var(--color-primary) 75%,var(--color-text))}.password-confirm-message{margin:0;color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;line-height:1.45}.password-confirm-consequence{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.45}.password-confirm-auth{display:flex;flex-direction:column;gap:var(--space-3)}.password-confirm-auth-header{display:flex;flex-direction:column;gap:var(--space-1)}.password-confirm-auth-title{margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.password-confirm-auth-hint{margin:0;font-size:var(--font-size-sm);line-height:1.4}.password-confirm-auth .form-field-error{white-space:pre-wrap;line-height:1.4}.password-confirm-field{border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);transition:border-color var(--motion-fast, .15s) ease,box-shadow var(--motion-fast, .15s) ease,background-color var(--motion-fast, .15s) ease}.password-confirm-field:hover:not(:has(input:disabled)){border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-input))}.password-confirm-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.password-confirm-field:has(input[aria-invalid=true]){border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-border-input))}.password-confirm-field:has(input[aria-invalid=true]):focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 16%,transparent)}.password-confirm-field:has(input:disabled){opacity:.75;background:color-mix(in srgb,var(--color-canvas) 70%,var(--color-surface))}.password-confirm-field input{width:100%;min-height:2.75rem;margin:0;padding:.65rem 2.85rem .65rem .85rem;border:none;border-radius:inherit;background:transparent;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);line-height:1.4;outline:none;box-shadow:none}.password-confirm-field input:focus,.password-confirm-field input:focus-visible{outline:none;box-shadow:none}.password-confirm-field input::placeholder{color:color-mix(in srgb,var(--color-muted) 72%,transparent)}.password-confirm-field .password-toggle{right:.4rem;width:2.35rem;height:2.35rem;border-radius:var(--radius-sm);color:var(--color-muted)}.password-confirm-field .password-toggle:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-light)}.password-confirm-field .password-toggle:disabled{opacity:.55;cursor:not-allowed}.password-confirm-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.password-confirm-footer-note{margin:0;font-size:var(--font-size-xs);line-height:1.4;min-width:0;flex:1 1 12rem}.password-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;margin-left:auto}@media (max-width: 640px){.password-confirm-footer{flex-direction:column;align-items:stretch}.password-confirm-actions{margin-left:0}.password-confirm-actions .btn-primary,.password-confirm-actions .btn-secondary,.password-confirm-actions .btn-danger-solid{flex:1 1 auto}}.data-table-desktop{display:block}.data-table-mobile{display:none}@media (max-width: 768px){.data-table-desktop{display:none}.data-table-mobile{display:block}}.data-table-cards{display:flex;flex-direction:column;gap:var(--space-3)}.data-table-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.data-table-card.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.data-table-card.is-clickable{cursor:pointer}.data-table-card-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.data-table-card-row:last-child{border-bottom:none}.data-table-card-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-muted);text-transform:uppercase}.data-table-card-value{text-align:right}.row-clickable{cursor:pointer}.ui-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:1.25rem}.form-field-label-row:has(.form-field-label:only-child){justify-content:flex-start}.form-field-label{font-weight:600;font-size:var(--font-size-sm)}.form-field-error{color:var(--color-danger);font-size:var(--font-size-xs)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skeleton-block{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-line{height:.875rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-dropdown-panel,.filter-dropdown-panel,.dtb-suggest-list,.dtb-suggest-empty,.published-edit-freeze-menu,.report-export-menu,.header-account-menu,.form-select-menu{border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface);box-shadow:var(--dropdown-shadow);color:var(--color-text)}.ui-dropdown-panel,.filter-dropdown-panel,.dtb-suggest-list,.dtb-suggest-empty,.published-edit-freeze-menu,.report-export-menu,.form-select-menu{animation:dropdown-enter var(--motion-fast) var(--ease-decelerate)}.ui-dropdown-option,.filter-dropdown-option,.dtb-suggest-option,.published-edit-freeze-option,.report-export-option,.header-account-item,.form-select-option{border-left:var(--dropdown-accent-width) solid transparent;border-radius:var(--dropdown-radius);font-size:var(--dropdown-option-font-size);line-height:1.3;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.ui-dropdown-option:hover,.ui-dropdown-option:focus-visible,.ui-dropdown-option.is-active,.ui-dropdown-option.is-selected,.filter-dropdown-option:hover,.filter-dropdown-select-option.is-selected,.dtb-suggest-option.is-active,.dtb-suggest-option:hover,.published-edit-freeze-option:hover,.published-edit-freeze-option:focus-visible,.published-edit-freeze-option.is-active,.report-export-option:hover,.report-export-option:focus-visible,.header-account-item:hover,.header-account-item:focus-visible,.header-account-item.active,.form-select-option:hover,.form-select-option:focus-visible,.form-select-option.is-selected{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-left-color:var(--color-primary);outline:none}.filter-dropdown-select-option.is-selected,.published-edit-freeze-option.is-active,.header-account-item.active,.form-select-option.is-selected{background:color-mix(in srgb,var(--color-primary) 16%,var(--color-surface));font-weight:600}.filter-dropdown{position:relative;min-width:180px}.filter-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:.55rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--dropdown-radius);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--btn-font-weight);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.filter-dropdown-trigger:hover{border-color:var(--color-primary)}.filter-dropdown.is-open .filter-dropdown-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.filter-dropdown-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown-chevron{flex-shrink:0;color:var(--color-muted);font-size:.85rem;transition:transform var(--motion-fast) var(--ease-standard)}.filter-dropdown.is-open .filter-dropdown-chevron{transform:rotate(180deg)}.filter-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:120;min-width:100%;padding:0;overflow:hidden}.filter-dropdown-options{display:flex;flex-direction:column;gap:0}.filter-dropdown-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--dropdown-option-pad-y) var(--dropdown-option-pad-x);cursor:pointer}.filter-dropdown-option input[type=checkbox]{width:1rem;height:1rem;margin:0;accent-color:var(--color-primary)}.filter-dropdown-select-option{width:100%;border:none;border-left:var(--dropdown-accent-width) solid transparent;background:transparent;text-align:left;font:inherit;color:inherit}.filter-dropdown-select-option.is-selected{color:var(--color-primary-hover)}.filter-dropdown-footer{margin-top:0;padding:var(--space-2) var(--dropdown-option-pad-x);border-top:1px solid var(--color-border)}.filter-dropdown-clear{font-size:var(--font-size-xs)}.form-select-dropdown{position:relative;width:100%;min-width:0}.form-select-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:2.6rem;box-sizing:border-box;padding:.55rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--dropdown-radius);background:var(--color-surface);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.form-select-trigger:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border-input));background:var(--color-panel-subtle)}.form-select-dropdown.is-open .form-select-trigger,.form-select-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:1px;border-color:var(--color-primary);background:var(--color-surface)}.form-select-trigger:disabled{background:var(--color-canvas);color:var(--color-muted);cursor:not-allowed}.form-select-trigger-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-select-trigger-text.is-placeholder{color:var(--color-muted);font-size:.72rem}.form-select-chevron{flex:0 0 auto;color:var(--color-muted);font-size:.75rem;line-height:1;transition:transform var(--motion-fast) var(--ease-standard)}.form-select-dropdown.is-open .form-select-chevron{transform:rotate(180deg)}.form-select-menu{margin:0;padding:0;list-style:none;max-height:14rem;overflow-x:hidden;overflow-y:auto}.form-select-menu--portal{position:fixed;z-index:3600}.form-select-option{display:block;width:100%;margin:0;padding:var(--dropdown-option-pad-y) var(--dropdown-option-pad-x);border:none;border-left:var(--dropdown-accent-width) solid transparent;background:transparent;font:inherit;font-size:.72rem;color:var(--color-text);text-align:left;white-space:normal;word-break:break-word;cursor:pointer}.form-select-option:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:-2px}.health-panel{margin-top:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:420px;box-shadow:var(--shadow-sm)}.change-password-page .page-header{margin-bottom:var(--space-4)}.change-password-panel{width:100%;max-width:none;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.change-password-panel-header{padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.change-password-panel-header h2{margin:0 0 var(--space-1);font-size:var(--font-size-lg);font-weight:600;line-height:1.25;color:var(--color-text)}.change-password-panel-desc{margin:0;font-size:var(--font-size-sm);line-height:1.45;max-width:36rem}.change-password-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:0;align-items:stretch}.change-password-fields{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5);border-right:1px solid var(--color-border)}.change-password-step{display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:var(--space-3);align-items:start}.change-password-step-index{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-top:1.65rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-size:var(--font-size-xs);font-weight:700;line-height:1}.change-password-step-content{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.change-password-page .form-field input{min-height:2.5rem;padding:.55rem 2.75rem .55rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.change-password-page .form-field input:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-input))}.change-password-page .form-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.change-password-page .form-field input:disabled{opacity:.7;background:color-mix(in srgb,var(--color-canvas) 70%,var(--color-surface))}.change-password-page .form-field input[aria-invalid=true]{border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-border-input))}.change-password-page .form-field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 16%,transparent)}.change-password-meter{margin-top:calc(var(--space-1) * -1)}.change-password-meter-track{height:4px;overflow:hidden;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-border) 80%,var(--color-surface))}.change-password-meter-fill{display:block;width:100%;height:100%;transform-origin:left center;transform:scaleX(0);border-radius:inherit;background:var(--color-muted);transition:transform var(--motion-base) var(--ease-emphasized),background-color var(--motion-fast) var(--ease-standard)}.change-password-meter.is-warn .change-password-meter-fill{background:#a65c00}.change-password-meter.is-ok .change-password-meter-fill{background:var(--color-primary)}.change-password-aside{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:color-mix(in srgb,var(--color-canvas) 65%,var(--color-surface))}.change-password-aside-title{margin:0;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.change-password-reqs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.change-password-req{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-size-sm);line-height:1.4;color:var(--color-muted);transition:border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}.change-password-req-mark{flex-shrink:0;width:1rem;text-align:center;font-size:.75rem;font-weight:700;line-height:1.4}.change-password-req.is-met{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));color:var(--color-primary)}.change-password-aside-note{margin:auto 0 0;font-size:var(--font-size-xs);line-height:1.45}.change-password-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-canvas) 45%,var(--color-surface))}@media (max-width: 800px){.change-password-body{grid-template-columns:1fr}.change-password-fields{border-right:none;border-bottom:1px solid var(--color-border)}.change-password-aside-note{margin-top:var(--space-2)}}@media (max-width: 640px){.change-password-panel-header,.change-password-fields,.change-password-aside,.change-password-footer{padding-left:var(--space-4);padding-right:var(--space-4)}.change-password-step{grid-template-columns:1fr;gap:var(--space-2)}.change-password-step-index{margin-top:0}.change-password-footer{flex-direction:column-reverse}.change-password-footer .btn-primary,.change-password-footer .btn-secondary{width:100%;justify-content:center}}.health-panel dl{display:grid;grid-template-columns:120px 1fr;gap:var(--space-2) var(--space-4);margin:0}.health-panel dt{font-weight:600}.upload-page.has-upload-footer{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.upload-form-panel{margin-top:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.upload-page .page-desc{max-width:none;line-height:1.5}.upload-page .page-desc a{color:var(--color-primary);font-weight:600}.upload-page .page-header{margin-bottom:var(--space-4)}.upload-page .page-howto{margin-bottom:var(--space-2)}.upload-form{display:flex;flex-direction:column;gap:0;margin:0;padding:0;background:transparent;border:none;box-shadow:none}.upload-form-section{padding:var(--space-5);border-bottom:1px solid var(--color-border)}.upload-form-section-header{margin-bottom:var(--space-4)}.upload-form-section-header h3{margin:0 0 var(--space-1);font-size:var(--font-size-lg);font-weight:700;letter-spacing:-.01em}.upload-form-section-header p{margin:0;color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.45}.upload-form .form-field input,.upload-form .form-field .form-select-trigger{width:100%;box-sizing:border-box;min-height:2.6rem;padding:.6rem .8rem;border:1px solid var(--color-border-input);border-radius:var(--dropdown-radius);background:var(--color-surface);font:inherit;font-size:var(--font-size-sm)}.upload-form .form-field input:focus,.upload-form .form-field .form-select-dropdown.is-open .form-select-trigger,.upload-form .form-field .form-select-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.upload-form .form-field input:disabled,.upload-form .form-field .form-select-trigger:disabled{background:var(--color-canvas);color:var(--color-muted);cursor:not-allowed}.upload-form .field-hint{font-size:var(--font-size-xs);color:var(--color-muted)}.upload-period-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.upload-form-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface-muted)}.upload-form-ready-label{margin:0 0 .2rem;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.upload-form-ready-meta{margin:0;max-width:34rem;font-size:var(--font-size-xs);color:var(--color-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-template-identity{margin-top:var(--space-3);padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);font-size:var(--font-size-sm)}.upload-template-identity p{margin:0}.upload-template-identity.is-match{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.upload-template-identity.is-mismatch{border-color:color-mix(in srgb,var(--color-danger) 40%,var(--color-border));background:var(--color-danger-soft);color:var(--color-text)}.upload-form-footer .btn-primary{min-width:10.5rem}.upload-terminal-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.upload-terminal-banner .success-msg,.upload-terminal-banner .error-msg{margin:0;flex:1 1 16rem}.upload-terminal-banner-success{border-color:#b7dfb9;background:var(--color-nav-hover)}.upload-terminal-banner-error{border-color:#f0c2c2;background:var(--color-row-invalid)}@media (max-width: 640px){.upload-period-fields{grid-template-columns:1fr}.upload-form-footer{flex-direction:column;align-items:stretch}.upload-form-footer .btn-primary{width:100%}.upload-form-ready-meta{white-space:normal}}.upload-preview{margin-top:var(--space-6)}.upload-review{display:flex;flex-direction:column;gap:var(--space-4)}.upload-review-eyebrow{margin:0 0 var(--space-1);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.upload-review-summary{padding:var(--space-5);background:linear-gradient(180deg,var(--color-panel-subtle) 0%,var(--color-surface) 42%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.upload-review-summary.is-blocked{background:linear-gradient(180deg,var(--color-row-invalid) 0%,var(--color-surface) 48%),var(--color-surface)}.upload-review-summary-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.upload-review-summary-intro h2{margin:0 0 var(--space-3);font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.upload-review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.upload-review-filename{max-width:min(28rem,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.upload-review-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-size:var(--font-size-xs);font-weight:600}.upload-review-verdict{flex:1 1 16rem;max-width:26rem;margin:0;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}.upload-review-verdict-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:700}.upload-review-verdict p{margin:0;font-size:var(--font-size-sm);line-height:1.45;color:var(--color-muted)}.upload-review-verdict.is-ready{border-color:#b7dfb9;background:var(--color-row-selected)}.upload-review-verdict.is-ready .upload-review-verdict-label{color:var(--color-primary-hover)}.upload-review-verdict.is-blocked{border-color:#efc4c4;background:var(--color-row-invalid)}.upload-review-verdict.is-blocked .upload-review-verdict-label{color:#a12626}.upload-review-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.upload-review-stat{display:flex;flex-direction:column;gap:.15rem;min-height:5.5rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 0 1px #ffffffb3}.upload-review-stat-label{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.upload-review-stat-value{font-size:1.65rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15;color:var(--color-text)}.upload-review-stat-hint{margin-top:auto;font-size:var(--font-size-xs);color:var(--color-muted)}.upload-review-stat.is-success{border-color:#c5e3c8;background:linear-gradient(180deg,var(--color-panel-subtle),var(--color-nav-hover))}.upload-review-stat.is-success .upload-review-stat-value{color:var(--color-primary)}.upload-review-stat.is-danger{border-color:#efc4c4;background:linear-gradient(180deg,var(--color-row-invalid),var(--color-row-invalid))}.upload-review-stat.is-danger .upload-review-stat-value{color:var(--color-danger)}.upload-review-layout{display:grid;grid-template-columns:minmax(17rem,23rem) minmax(0,1fr);gap:var(--space-4);align-items:stretch;min-height:min(75vh,860px)}.upload-validation-issues,.upload-review-table-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-height:min(75vh,860px)}.upload-validation-issues{display:flex;flex-direction:column;padding:0;min-height:min(75vh,860px);overflow:hidden}.upload-validation-issues-header{flex:0 0 auto;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.upload-validation-issues-header h3,.upload-review-table-toolbar h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:700;letter-spacing:-.01em}.upload-validation-issues-header>p:last-child{margin:0;font-size:var(--font-size-sm);line-height:1.45;color:var(--color-muted)}.upload-issues-clear-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);flex:1 1 auto;margin:var(--space-4);padding:var(--space-6) var(--space-4);border:1px dashed #b7dfb9;border-radius:var(--radius-md);background:var(--color-panel-subtle);text-align:center;min-height:min(48vh,28rem)}.upload-issues-clear-mark{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-weight:700}.upload-issues-clear-panel p{margin:0;font-size:var(--font-size-sm);color:var(--color-muted)}.upload-issue-guides{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);flex:0 1 auto;max-height:min(36vh,18rem);overflow-y:auto}.upload-issue-guide{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid #efc4c4;border-left-width:3px;background:var(--color-row-invalid)}.upload-issue-guide header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.upload-issue-guide h4{margin:0;font-size:var(--font-size-sm);font-weight:700}.upload-issue-guide p{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-muted)}.upload-issue-guide-count{flex:0 0 auto;min-width:1.5rem;padding:.15rem .5rem;border-radius:var(--radius-full);background:var(--color-danger);color:#fff;font-size:var(--font-size-xs);font-weight:700;text-align:center}.upload-issue-template-hint{flex:0 0 auto;margin:0 var(--space-4) var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-primary-light);border:1px solid #c5e3c8;font-size:var(--font-size-sm);line-height:1.45}.upload-issue-template-hint a{color:var(--color-primary);font-weight:700}.upload-issue-rows{flex:1 1 auto;display:flex;flex-direction:column;padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-muted);min-height:0}.upload-issue-rows-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);flex:0 0 auto}.upload-issue-rows-header h4{margin:0;font-size:var(--font-size-sm);font-weight:700}.upload-issue-row-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:min(32vh,16rem);overflow-y:auto}.upload-issue-row-list>li{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.upload-issue-row-list>li.is-expanded{border-color:#efc4c4;box-shadow:0 0 0 1px #c6282814}.upload-issue-row-btn{display:grid;grid-template-columns:minmax(0,1fr) auto auto;width:100%;align-items:center;gap:var(--space-2);padding:.65rem .75rem;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit}.upload-issue-row-btn:after{content:"▸";color:var(--color-muted);font-size:.75rem;transition:transform .15s ease}.upload-issue-row-list>li.is-expanded .upload-issue-row-btn:after{transform:rotate(90deg)}.upload-issue-row-list>li .upload-issue-row-btn:disabled:after{content:none}.upload-issue-row-btn:hover:not(:disabled),.upload-issue-row-btn.is-focused{background:var(--color-row-invalid)}.upload-issue-row-btn:disabled{cursor:default}.upload-issue-row-label{font-weight:700;font-size:var(--font-size-sm)}.upload-issue-row-meta{font-size:var(--font-size-xs);color:var(--color-danger);font-weight:700;white-space:nowrap}.upload-issue-detail-list{list-style:none;margin:0;padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid #f3d6d6;background:var(--color-row-invalid);max-height:8rem;overflow-y:auto}.upload-issue-detail-list li{display:flex;flex-direction:column;gap:.15rem;padding:.45rem 0;font-size:var(--font-size-xs)}.upload-issue-detail-list li+li{border-top:1px solid #f6e4e4}.upload-issue-detail-list strong{color:var(--color-text)}.upload-issue-detail-list span{color:var(--color-muted);line-height:1.4}.upload-issue-selected-panel{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 auto;min-height:0}.upload-issue-selected-row{border:1px solid #efc4c4;border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;box-shadow:0 0 0 1px #c6282814;flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.upload-issue-selected-row-label{margin:0;padding:.65rem .75rem;font-size:var(--font-size-sm);font-weight:700;background:var(--color-row-invalid);border-bottom:1px solid #f3d6d6}.upload-issue-select-prompt{margin:0;padding:var(--space-4) var(--space-3);border:1px dashed #d8e5da;border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:var(--font-size-sm);line-height:1.45;color:var(--color-muted);text-align:center}.upload-issue-select-prompt strong{color:var(--color-text)}.upload-issue-selected-row .upload-issue-detail-list{max-height:min(48vh,28rem)}.upload-review-table-panel{display:flex;flex-direction:column;padding:0;min-width:0;overflow:hidden}.upload-review-table-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);flex:0 0 auto}.upload-review-toolbar-trailing{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.upload-preview-selection-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.upload-review-table-toolbar .upload-edit-hint{margin:0;max-width:34rem}.upload-review-table-panel .upload-preview-table,.upload-review-table-panel .empty-state{margin:var(--space-4)}.upload-review-table-panel .upload-preview-table{flex:1 1 auto;min-height:min(56vh,640px);max-height:min(75vh,860px)}.upload-review-filter{display:inline-flex;padding:.2rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:.15rem}.upload-review-filter button{border:none;border-radius:var(--radius-sm);background:transparent;padding:.4rem .8rem;font:inherit;font-size:var(--font-size-sm);cursor:pointer;color:var(--color-muted)}.upload-review-filter button.is-active{background:var(--color-primary);color:#fff;font-weight:var(--btn-font-weight)}.upload-review-filter button:disabled{opacity:.45;cursor:not-allowed}.upload-preview-empty{text-align:center;color:var(--color-muted);padding:var(--space-6)!important}.data-table tr.row-invalid{background:var(--color-row-invalid)}.data-table tr.row-focus-error{outline:2px solid var(--color-danger);outline-offset:-2px;background:var(--color-danger-soft);box-shadow:inset 3px 0 0 var(--color-danger)}.upload-data-table .cell-error{background:var(--color-danger-soft);box-shadow:inset 0 0 0 1px #c6282840}.upload-data-table .editable-cell{cursor:text}.upload-data-table .cell-readonly{cursor:default;color:var(--color-text)}.upload-data-select-th,.upload-data-select-td{width:40px;min-width:40px;max-width:40px;text-align:center;vertical-align:middle}.upload-preview-select-checkbox{width:1rem;height:1rem;margin:0;cursor:pointer}.upload-preview-table .upload-data-table.has-row-selection .upload-data-select-th,.upload-preview-table .upload-data-table.has-row-selection .upload-data-select-td{position:sticky;left:0;z-index:4;box-shadow:1px 0 0 var(--color-border)}.upload-preview-table .upload-data-table.has-row-selection .upload-data-table-index{position:sticky;left:40px;z-index:3;width:48px;min-width:48px;max-width:48px;box-shadow:1px 0 0 var(--color-border)}.upload-preview-table .upload-data-table.has-row-selection thead th.upload-data-select-th{z-index:9;background:var(--color-panel-subtle)}.upload-preview-table .upload-data-table.has-row-selection thead th.upload-data-table-index{z-index:8;background:var(--color-panel-subtle)}.upload-preview-table .upload-data-table.has-row-selection tbody td.upload-data-select-td,.upload-preview-table .upload-data-table.has-row-selection tbody td.upload-data-table-index{background:var(--color-surface)}.upload-preview-table .upload-data-table.has-row-selection tbody tr.row-invalid td.upload-data-select-td,.upload-preview-table .upload-data-table.has-row-selection tbody tr.row-invalid td.upload-data-table-index{background:var(--color-row-invalid)}.upload-preview-table .upload-data-table.has-row-selection tbody tr.row-focus-error td.upload-data-select-td,.upload-preview-table .upload-data-table.has-row-selection tbody tr.row-focus-error td.upload-data-table-index{background:var(--color-danger-soft)}.upload-preview-table .upload-data-table.has-row-selection tbody tr.is-selected td.upload-data-select-td,.upload-preview-table .upload-data-table.has-row-selection tbody tr.is-selected td.upload-data-table-index{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.upload-preview-table .upload-data-table.has-row-selection tbody tr.is-selected.row-invalid td.upload-data-select-td,.upload-preview-table .upload-data-table.has-row-selection tbody tr.is-selected.row-invalid td.upload-data-table-index{background:color-mix(in srgb,var(--color-danger) 8%,#fff7f7)}.upload-data-table.has-row-selection tbody tr.is-selected td{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.upload-data-table.has-row-selection tbody tr.is-selected.row-invalid td{background:color-mix(in srgb,var(--color-danger) 8%,#fff7f7)}.upload-review .upload-action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.upload-commit-hint{margin:0;flex:1 1 12rem;font-size:var(--font-size-sm)}@media (max-width: 960px){.upload-review-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-review-layout{grid-template-columns:1fr;min-height:0}.upload-validation-issues,.upload-review-table-panel{min-height:min(55vh,520px)}.upload-review-table-panel .upload-preview-table{min-height:min(42vh,420px);max-height:min(60vh,640px)}}@media (max-width: 640px){.upload-review-stat-grid{grid-template-columns:1fr 1fr}.upload-review-summary-top{flex-direction:column}.upload-review-verdict{max-width:none}}.upload-progress{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.upload-progress-panel{margin-top:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.upload-progress-panel-header h2{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:600}.upload-progress-panel-header p{margin:0 0 var(--space-5);color:var(--color-muted);font-size:var(--font-size-sm)}.upload-progress-steps{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;margin:0 0 var(--space-5);padding:0}.upload-progress-step{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-muted)}.upload-progress-step-index{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-full);border:1px solid var(--color-border);font-size:var(--font-size-xs);font-weight:700}.upload-progress-step.is-active{color:var(--color-text);font-weight:600}.upload-progress-step.is-active .upload-progress-step-index{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.upload-progress-step.is-done{color:var(--color-primary)}.upload-progress-step.is-done .upload-progress-step-index{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.upload-progress-track{position:relative;height:.65rem;border-radius:var(--radius-full);background:var(--color-canvas);border:1px solid var(--color-border);overflow:hidden}.upload-progress-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover));transition:width .25s ease}.upload-progress-track.is-indeterminate .upload-progress-fill{width:40%;animation:upload-progress-slide 1.1s ease-in-out infinite}@keyframes upload-progress-slide{0%{transform:translate(-120%)}to{transform:translate(280%)}}@media (prefers-reduced-motion: reduce){.upload-progress-fill{transition:none}.upload-progress-track.is-indeterminate .upload-progress-fill{animation:none;width:55%}}.upload-progress-meta{margin:var(--space-3) 0 0;font-size:var(--font-size-xs)}.upload-preview-table{margin-top:var(--space-4);max-height:min(62vh,640px);overflow:auto}.upload-data-table{table-layout:fixed;width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.75rem;line-height:1.35}.upload-data-table th,.upload-data-table td{padding:.28rem .45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.upload-data-table th:first-child,.upload-data-table td:first-child{border-left:1px solid var(--color-border)}.upload-data-table thead th{position:sticky;top:0;z-index:2;font-size:.72rem;font-weight:700;background:var(--color-panel-subtle);box-shadow:inset 0 -1px 0 var(--color-border);-webkit-user-select:none;user-select:none}.table-sticky-header .upload-data-table thead th{z-index:2;font-size:.72rem;font-weight:700;letter-spacing:normal;text-transform:none;color:var(--color-text);background:var(--color-panel-subtle);box-shadow:inset 0 -1px 0 var(--color-border);padding:.28rem .45rem;white-space:nowrap;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border)}.table-sticky-header .upload-data-table thead th:first-child{border-left:1px solid var(--color-border)}.upload-data-table-header-label{display:block;overflow:hidden;text-overflow:ellipsis;padding-right:.5rem}.upload-col-resizer{position:absolute;top:0;right:0;z-index:3;width:8px;height:100%;cursor:col-resize;touch-action:none}.upload-col-resizer:after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:2px;border-radius:1px;background:transparent}.upload-col-resizer:hover:after,body.is-col-resizing .upload-col-resizer:after{background:rgba(var(--color-primary-rgb),.45)}body.is-col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.upload-data-table .upload-data-cell{min-height:28px;min-width:0;cursor:pointer}.upload-data-table .upload-data-cell input{width:100%;min-height:26px;padding:.15rem .3rem;font-size:.75rem;box-sizing:border-box}.upload-data-table-index,.upload-data-table-valid{text-align:center;color:var(--color-muted);font-variant-numeric:tabular-nums}.upload-edit-hint{margin-top:var(--space-2);font-size:var(--font-size-xs)}.upload-action-bar{margin-top:var(--space-4)}.error-panel-action{margin-top:var(--space-3);margin-bottom:0;font-size:var(--font-size-sm)}.error-panel-action a{color:var(--color-primary);font-weight:600}.file-drop-field{display:flex;flex-direction:column;gap:var(--space-2)}.file-drop-zone{border:2px dashed var(--color-border-input);border-radius:var(--radius-md);padding:var(--space-5);cursor:pointer;background:linear-gradient(180deg,var(--color-panel-subtle),var(--color-canvas));transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;min-height:9rem;display:flex;align-items:center;justify-content:center}.file-drop-zone.is-dragover,.file-drop-zone:focus-visible{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12);outline:none}.file-drop-zone.has-file{border-style:solid;border-color:#b7dfb9;background:var(--color-nav-hover)}.file-drop-zone.is-disabled{opacity:.6;cursor:not-allowed}.file-drop-input{display:none}.file-drop-empty,.file-drop-selected{display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:36rem}.file-drop-empty{flex-direction:column;text-align:center;gap:var(--space-2)}.file-drop-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex:0 0 auto;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);font-weight:700;font-size:var(--font-size-lg)}.file-drop-zone.has-file .file-drop-icon{background:var(--color-primary);color:#fff}.file-drop-selected-text{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1 1 auto;text-align:left}.file-drop-title{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text)}.file-drop-hint,.file-drop-meta{font-size:var(--font-size-xs);color:var(--color-muted)}.file-drop-name{font-weight:700;font-size:var(--font-size-sm);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-drop-clear{flex:0 0 auto;margin:0;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:var(--font-size-xs);cursor:pointer;border-radius:var(--radius-sm);padding:.4rem .7rem}.file-drop-clear:hover{border-color:var(--color-danger);color:var(--color-danger)}.template-download-page .page-header{margin-bottom:var(--space-4)}.template-download-page .page-desc{max-width:none;margin-bottom:0;line-height:1.5;white-space:normal}.template-download-page .data-list-card{margin-top:var(--space-4)}.template-download-page .page-howto{margin-bottom:var(--space-4)}.template-download-card{overflow:hidden}.page-howto{margin-top:var(--space-2);margin-bottom:var(--space-4);padding:0;background:linear-gradient(180deg,var(--color-panel-subtle) 0%,var(--color-surface) 9rem),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.page-howto-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);list-style:none}.page-howto:not(.is-static)>.page-howto-summary{cursor:pointer;-webkit-user-select:none;user-select:none}.page-howto.is-static>.page-howto-summary{cursor:default}.page-howto-summary::-webkit-details-marker{display:none}.page-howto:not(.is-static)>.page-howto-summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.page-howto-summary-text{min-width:0;flex:1 1 auto}.page-howto-summary-text h2{margin:0;font-size:var(--font-size-lg);font-weight:700;letter-spacing:-.02em;line-height:1.25}.page-howto-summary-desc{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);line-height:1.45}.page-howto-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;margin-top:.15rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary);transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.page-howto[open] .page-howto-toggle{transform:rotate(180deg);background:var(--color-nav-hover);border-color:#b7dfb9}.page-howto-summary:hover .page-howto-toggle{border-color:#b7dfb9;background:var(--color-surface-muted)}.page-howto-body{padding:0 var(--space-5) var(--space-5);border-top:1px solid var(--color-border);padding-top:var(--space-4)}.page-howto-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.page-howto-steps.is-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.page-howto-steps.is-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.page-howto-step{position:relative;display:flex;flex-direction:column;gap:var(--space-3);min-height:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 0 1px #ffffffb3;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.page-howto-step:hover{border-color:#b7dfb9;background:var(--color-surface-muted);transform:translateY(-1px)}.page-howto-step-index{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:var(--font-size-sm);font-weight:700;line-height:1}.page-howto-step-body{display:flex;flex-direction:column;gap:.35rem;min-width:0}.page-howto-step-body h3{margin:0;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.01em;color:var(--color-text)}.page-howto-step-body p{margin:0;font-size:var(--font-size-xs);line-height:1.45;color:var(--color-muted)}.page-howto-step-body a{color:var(--color-primary);font-weight:600;text-decoration:none}.page-howto-step-body a:hover{text-decoration:underline}.page-howto-tip{display:flex;gap:var(--space-3);align-items:flex-start;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid #e6df9a;border-radius:var(--radius-md);background:var(--color-panel-subtle)}.page-howto-tip-label{flex:0 0 auto;padding:.15rem .5rem;border-radius:var(--radius-sm);background:#ff0;border:1px solid #e6df9a;color:var(--color-text);font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.page-howto-tip p{margin:0;font-size:var(--font-size-sm);line-height:1.45;color:var(--color-text)}@media (max-width: 1100px){.page-howto-steps,.page-howto-steps.is-cols-4,.page-howto-steps.is-cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.page-howto-summary,.page-howto-body{padding-left:var(--space-4);padding-right:var(--space-4)}.page-howto-steps,.page-howto-steps.is-cols-4,.page-howto-steps.is-cols-5{grid-template-columns:1fr}.page-howto-step{flex-direction:row;align-items:flex-start}.page-howto-tip{flex-direction:column;gap:var(--space-2)}}.template-download-table-wrap{margin:0;border:none;border-radius:0;max-height:min(65vh,720px);overflow:auto}.template-download-table.upload-data-table{width:100%;min-width:42rem}.template-download-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em;text-transform:none;color:var(--color-text);font-size:.72rem;padding:.28rem .45rem}.template-download-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.template-download-table .upload-data-cell{cursor:default}.template-download-actions-cell{overflow:visible;white-space:nowrap}.template-download-count{font-size:var(--font-size-sm);white-space:nowrap}.template-download-name-cell{display:flex;flex-direction:column;gap:.1rem;min-width:0;line-height:1.25}.template-download-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--color-text)}.template-download-desc{font-size:.65rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-format-pill{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:var(--radius-sm);background:var(--color-surface-muted);border:1px solid var(--color-border);font-size:.65rem;font-weight:700;letter-spacing:.03em;color:var(--color-muted)}.template-download-row-actions{justify-content:flex-start;gap:.35rem}.template-download-table .btn-icon{width:1.75rem;height:1.75rem;min-width:1.75rem;min-height:1.75rem}.template-download-table .btn-icon-with-text{width:auto;min-width:auto;padding:0 .55rem}.template-download-table .btn-icon svg{width:.9rem;height:.9rem}.custom-table-templates-page .custom-table-templates-actions-cell{width:13.5rem}.template-download-footer{align-items:flex-start}.template-download-next-step{margin:0;font-size:var(--font-size-sm);line-height:1.45}.template-download-next-step a{color:var(--color-primary);font-weight:600;text-decoration:none}.template-download-next-step a:hover{text-decoration:underline}.template-management-page .page-header,.template-management-page .page-howto{margin-bottom:var(--space-4)}.template-management-card{overflow:hidden;border-radius:0;box-shadow:none;margin-top:0}.template-management-card>.data-list-toolbar,.template-management-card>.data-list-footer:last-child{border-radius:0}.template-management-table-wrap{margin:0;border:none;border-radius:0;max-height:min(65vh,720px);overflow:auto}.template-management-table.upload-data-table{width:100%;min-width:48rem}.template-management-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em;text-transform:none;color:var(--color-text);font-size:.72rem;padding:.28rem .45rem;background:var(--color-panel-subtle)}.template-management-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.template-management-table tbody tr.is-schema-open>td{background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}.template-management-table.upload-data-table td.template-management-actions-cell{overflow:visible;white-space:nowrap}.template-management-row-actions{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:nowrap}.template-management-table .status-pill{padding:.12rem .45rem;font-size:.65rem;letter-spacing:.02em}.template-management-table .template-publish-btn{height:var(--btn-icon-size);min-height:var(--btn-icon-size);padding:0 .65rem;font-size:.72rem}.template-management-table .template-publish-btn .btn-icon-text{font-size:.72rem}.template-management-schema{margin:.35rem .45rem .55rem;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--color-border));background:var(--color-surface);box-shadow:inset 0 1px color-mix(in srgb,var(--color-text) 6%,transparent)}.template-management-schema-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.template-management-schema-head h3{margin:.1rem 0 0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.template-management-schema-stats{display:flex;flex-wrap:wrap;gap:.35rem}.template-management-schema-stat{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:var(--radius-sm);background:var(--color-panel-subtle);border:1px solid var(--color-border);color:var(--color-muted);font-size:.65rem;letter-spacing:.01em;white-space:nowrap}.template-management-schema-empty{margin:0;padding:var(--space-3);border:1px dashed var(--color-border);background:var(--color-surface-muted);font-size:var(--font-size-sm);text-align:center}.template-management-schema-wrap{margin:0;border:1px solid var(--color-border);border-radius:0;max-height:min(36vh,280px);overflow:auto;background:var(--color-surface)}.template-management-schema-table.upload-data-table{width:100%;min-width:32rem}.template-management-schema-table.upload-data-table th,.template-management-schema-table.upload-data-table td{padding:.55rem .65rem;line-height:1.4}.template-management-schema-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em;text-transform:none;color:var(--color-text);font-size:.72rem;padding:.5rem .65rem;background:var(--color-panel-subtle)}.template-management-schema-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.template-management-schema-index{color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:right}.template-management-schema-label{font-weight:600}.template-management-schema-table .template-preview-key{font-size:.68rem;padding:.08rem .28rem;border-radius:2px;background:var(--color-nav-hover);border:1px solid var(--color-border);color:var(--color-text)}.template-management-schema-table .ref-type-pill{padding:.08rem .4rem;font-size:.62rem;border-radius:var(--radius-sm)}.template-management-required-pill{display:inline-block;padding:.08rem .4rem;border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-muted);font-size:.62rem;letter-spacing:.02em}.template-management-required-pill.is-required{background:var(--color-nav-hover);color:var(--color-primary)}.template-version-badge{display:inline-block;padding:.1rem .45rem;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-sm);font-size:.65rem;font-weight:700}.audit-logs-page .page-header{margin-bottom:var(--space-4)}.audit-logs-card{overflow:hidden;border-radius:0;box-shadow:none;margin-top:0}.audit-logs-card>.data-list-toolbar,.audit-logs-card>.data-list-footer:last-child{border-radius:0}.audit-date-filter input[type=date]{height:var(--btn-height);padding:0 .55rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-canvas);font-size:var(--font-size-sm);color:var(--color-text)}.audit-date-filter input[type=date]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 18%,white)}.audit-logs-table-wrap{margin:0;border:none;border-radius:0;max-height:min(65vh,720px);overflow:auto}.audit-logs-table.upload-data-table{width:100%;min-width:44rem}.audit-logs-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em;text-transform:none;color:var(--color-text);font-size:.72rem;padding:.28rem .45rem;background:var(--color-panel-subtle)}.audit-logs-table tbody tr{cursor:pointer}.audit-logs-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.audit-logs-table tbody tr.is-expanded>td{background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}.audit-logs-table tbody tr:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,white);outline-offset:-2px}.audit-action-pill{display:inline-block;max-width:100%;padding:.12rem .45rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:600;letter-spacing:.02em;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--color-surface-muted);color:#555}.audit-action-auth{background:color-mix(in srgb,#64b5f6 18%,var(--color-surface));color:#2a4a8a}.audit-action-data{background:var(--color-nav-hover);color:var(--color-primary)}.audit-action-report{background:color-mix(in srgb,#b39ddb 18%,var(--color-surface));color:#5b3d7a}.audit-action-admin{background:color-mix(in srgb,#ffb74d 22%,var(--color-surface));color:#9a5b00}.audit-action-system{background:#e8f4f8;color:#1f5f73}.audit-detail-row td{background:color-mix(in srgb,var(--color-primary) 4%,#f7faf7);padding:0;border-bottom:1px solid var(--color-border);cursor:default}.audit-detail-panel{display:grid;grid-template-columns:minmax(16rem,.9fr) minmax(0,1.1fr);gap:var(--space-4);margin:.4rem .45rem .55rem;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--color-border));background:var(--color-surface)}.audit-detail-panel h3{margin:.1rem 0 0;font-size:var(--font-size-sm);font-weight:600;text-transform:capitalize}.audit-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:var(--space-3) 0 0}.audit-detail-grid dt{margin:0;font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.audit-detail-grid dd{margin:.2rem 0 0;font-size:var(--font-size-sm);word-break:break-word}.audit-detail-id{display:inline-block;margin-top:.2rem;padding:.08rem .28rem;border-radius:2px;background:var(--color-nav-hover);border:1px solid var(--color-border);font-size:.68rem}.audit-detail-json-wrap{min-width:0}.audit-detail-json{margin:var(--space-2) 0 0;padding:var(--space-3);max-height:min(28vh,240px);overflow:auto;border:1px solid var(--color-border);background:var(--color-surface-muted);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.7rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}@media (max-width: 900px){.audit-detail-panel,.audit-detail-grid{grid-template-columns:1fr}}.upload-monitor-page .page-header{margin-bottom:var(--space-4)}.upload-monitor-refresh-btn{gap:.4rem;min-width:7.25rem;padding-inline:.85rem}.upload-monitor-refresh-btn svg{width:15px;height:15px;flex-shrink:0}.upload-monitor-refresh-btn svg.is-spinning{animation:spin .8s linear infinite}.upload-monitor-metrics{margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.upload-monitor-metrics-header{margin-bottom:var(--space-3)}.upload-monitor-metrics-title{margin:.15rem 0 0;font-size:var(--font-size-md);font-weight:650}.upload-monitor-metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}.upload-monitor-metric-item{display:flex;min-width:0}.upload-monitor-metric{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.45rem;width:100%;min-height:4.5rem;margin:0;padding:.85rem .95rem .9rem;border:1px solid var(--color-border);border-left-width:3px;border-left-color:var(--color-muted);border-radius:var(--radius-md);background:var(--color-surface-muted);color:inherit;font:inherit;text-align:left;text-decoration:none;box-sizing:border-box;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.upload-monitor-metric.is-static{cursor:default}.upload-monitor-metric.is-interactive{cursor:pointer}.upload-monitor-metric.is-interactive:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));box-shadow:var(--shadow-sm)}.upload-monitor-metric.is-interactive:active{transform:translateY(1px)}.upload-monitor-metric.is-interactive:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 55%,white);outline-offset:2px}.upload-monitor-metric.is-active{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 16%,transparent)}.upload-monitor-metric.is-preview{border-left-color:#3d7dd6}.upload-monitor-metric.is-committed{border-left-color:var(--color-primary)}.upload-monitor-metric.is-failed{border-left-color:var(--color-danger)}.upload-monitor-metric.is-cancelled{border-left-color:color-mix(in srgb,var(--color-muted) 70%,var(--color-border))}.upload-monitor-metric.is-preview .upload-monitor-metric-value{color:#3d7dd6}.upload-monitor-metric.is-committed .upload-monitor-metric-value{color:var(--color-primary)}.upload-monitor-metric.is-failed .upload-monitor-metric-value{color:var(--color-danger)}.upload-monitor-metric.is-cancelled .upload-monitor-metric-value{color:var(--color-muted)}.upload-monitor-metric.is-zero .upload-monitor-metric-value{color:var(--color-muted);font-weight:600;opacity:.85}.upload-monitor-metric-label{font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);line-height:1.2}.upload-monitor-metric-value{font-size:1.5rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--color-text)}.upload-monitor-overview{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(17rem,.95fr);gap:var(--space-4);margin-bottom:var(--space-4);align-items:stretch}.upload-monitor-panel{min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.upload-monitor-trend-panel{display:flex;flex-direction:column}.upload-monitor-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.upload-monitor-panel-header h2{margin:.15rem 0 0;font-size:var(--font-size-md);font-weight:650}.upload-monitor-usage-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.upload-monitor-usage-stat{display:flex;flex-direction:column;gap:.25rem;min-height:3.1rem;padding:.55rem .65rem;border:1px solid var(--color-border);background:var(--color-surface-muted)}.upload-monitor-usage-stat-label{font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.upload-monitor-usage-stat-value{font-size:1.05rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--color-text)}.upload-monitor-usage-stat.is-zero .upload-monitor-usage-stat-value{color:var(--color-muted);font-weight:600}.upload-monitor-trend-legend{display:flex;flex-wrap:wrap;gap:.4rem .65rem;margin-bottom:var(--space-2);font-size:.62rem;color:var(--color-muted)}.upload-monitor-trend-legend-item{display:inline-flex;align-items:center;gap:.25rem}.upload-monitor-trend-legend-swatch{width:.45rem;height:.45rem;display:inline-block;border-radius:1px}.upload-monitor-line-chart{display:flex;flex:1;flex-direction:column;gap:.35rem;min-width:0}.upload-monitor-line-chart-svg{width:100%;height:auto;min-height:8.5rem;max-height:10rem;display:block}.upload-monitor-line-chart-axis{fill:var(--color-muted);font-size:9px}.upload-monitor-line-chart-tooltip{display:grid;gap:.25rem;padding:.4rem .55rem;border:1px solid var(--color-border);background:var(--color-surface-muted);font-size:.62rem}.upload-monitor-line-chart-tooltip strong{font-size:.72rem}.upload-monitor-line-chart-tooltip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem .55rem}.upload-monitor-line-chart-tooltip li{display:flex;justify-content:space-between;gap:.4rem}.upload-monitor-page .upload-history-layout{margin-top:0}.upload-monitor-card{overflow:hidden;border-radius:0;box-shadow:none;margin-top:0}@media (max-width: 1100px){.upload-monitor-overview{grid-template-columns:1fr}}@media (max-width: 800px){.upload-monitor-metric-strip,.upload-monitor-usage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.committed-data-page .page-header,.committed-data-page .page-howto{margin-bottom:var(--space-4)}.committed-data-page .committed-data-card{margin-top:0;overflow:visible}.committed-data-page .committed-data-card.has-table{padding:0}.committed-data-page .committed-data-card>.data-list-toolbar{z-index:40}.committed-data-toolbar{align-items:flex-end}.committed-data-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);min-width:0;flex:1 1 auto}.committed-data-filter{display:flex;flex-direction:column;gap:.3rem;min-width:11rem;flex:0 1 16rem}.committed-data-filter-label{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.committed-data-period-filters{display:flex;flex-direction:column;gap:.3rem;margin:0;padding:0;border:none;min-width:0;flex:0 1 auto}.committed-data-period-filters>.committed-data-filter-label{padding:0}.committed-data-period-fields{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end;gap:var(--space-2)}.committed-data-period-fields .committed-data-filter{min-width:7.5rem;flex:1 1 0;width:auto}.committed-data-filter-sublabel{font-size:.68rem;font-weight:600;letter-spacing:.02em;color:var(--color-muted)}.committed-data-filter .form-select-trigger{width:100%;min-height:var(--btn-height, 32px);box-sizing:border-box;padding:.35rem .65rem;border:1px solid var(--color-border-input);border-radius:var(--dropdown-radius);background:var(--color-surface);font:inherit;font-size:var(--font-size-sm);color:var(--color-text)}.committed-data-filter .form-select-trigger:disabled{background:var(--color-canvas);color:var(--color-muted)}.committed-data-filter .form-select-menu{z-index:50}.committed-data-filter.is-locked{justify-content:flex-end}.committed-data-filter-value{display:inline-flex;align-items:center;min-height:var(--btn-height, 32px);padding:.35rem .65rem;border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface-muted);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.committed-data-toolbar-trailing{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.committed-data-selection-meta{font-size:.875rem;white-space:nowrap}.committed-export-form{display:flex;flex-direction:column;gap:var(--space-4)}.committed-export-layout{display:grid;grid-template-columns:minmax(14rem,17rem) minmax(0,1fr);gap:var(--space-4);align-items:stretch}.committed-export-fieldset{margin:0;padding:0;border:none;min-width:0}.committed-export-pane{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-canvas) 55%,var(--color-surface))}.committed-export-legend{margin:0;padding:0;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.committed-export-formats{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.committed-export-format{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:flex-start;padding:.75rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.committed-export-format:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.committed-export-format input{position:absolute;opacity:0;pointer-events:none}.committed-export-format-radio{width:1rem;height:1rem;margin-top:.15rem;border:2px solid var(--color-border-input, var(--color-border));border-radius:999px;background:var(--color-surface);box-shadow:inset 0 0 0 0 var(--color-primary);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.committed-export-format.is-selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 30%,transparent)}.committed-export-format.is-selected .committed-export-format-radio{border-color:var(--color-primary);box-shadow:inset 0 0 0 3px var(--color-primary)}.committed-export-format:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.committed-export-format-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.committed-export-format-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.committed-export-format-label{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.committed-export-format-badge{flex-shrink:0;padding:.1rem .4rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-size:.65rem;font-weight:700;letter-spacing:.04em}.committed-export-format-hint{font-size:var(--font-size-xs);line-height:1.35}.committed-export-columns-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.committed-export-columns-heading{display:flex;flex-direction:column;gap:.15rem;min-width:0}.committed-export-column-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.committed-export-columns-meta{margin:0;font-size:var(--font-size-sm)}.committed-export-search input{width:100%;box-sizing:border-box;min-height:var(--btn-height, 32px);padding:.4rem .7rem;border:1px solid var(--color-border-input, var(--color-border));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm)}.committed-export-search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.committed-export-columns{display:flex;flex-direction:column;gap:.35rem;flex:1;max-height:min(48vh,22rem);overflow:auto;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.committed-export-columns-empty{margin:0;padding:var(--space-4);text-align:center;font-size:var(--font-size-sm)}.committed-export-column{display:grid;grid-template-columns:auto 1fr;column-gap:.65rem;align-items:center;padding:.55rem .65rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.committed-export-column:hover{background:var(--color-row-hover)}.committed-export-column input{margin:0;accent-color:var(--color-primary)}.committed-export-column.is-checked{border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.committed-export-column-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.committed-export-column-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.committed-export-column-key{font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.committed-export-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.committed-export-summary{margin:0;font-size:var(--font-size-sm);min-width:0;flex:1 1 12rem}.committed-export-summary-strong{font-weight:700;color:var(--color-text)}.committed-export-summary-warn{color:#a65c00;font-weight:600}.committed-export-actions{margin-top:0}.committed-export-actions .btn-primary{display:inline-flex;align-items:center;gap:.4rem}@media (max-width: 720px){.committed-export-layout{grid-template-columns:1fr}.committed-export-footer{flex-direction:column;align-items:stretch}.committed-export-actions{width:100%}.committed-export-actions .btn-primary,.committed-export-actions .btn-secondary{flex:1}}.committed-data-loading{display:flex;justify-content:center;padding:var(--space-8)}.committed-data-page .raw-data-table-wrap{margin:0;border-radius:0;border:none;max-height:min(85vh,960px);overflow:auto}.committed-data-page .upload-data-cell{cursor:default}.committed-data-page .raw-data-table-shell{position:relative;z-index:1;border-radius:0}.published-edit-page{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;padding:0;gap:0;background:var(--color-bg)}.published-edit-action-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.55rem var(--space-5);background:#f0f4f9;border-bottom:1px solid color-mix(in srgb,#c5d0de 70%,transparent);box-shadow:0 1px #ffffffb3 inset;position:relative;z-index:120;flex-shrink:0}[data-theme=dark] .published-edit-action-bar{background:color-mix(in srgb,#f0f4f9 12%,var(--color-surface));border-bottom-color:var(--color-border);box-shadow:none}.published-edit-action-left{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-width:0;flex:1 1 auto}.published-edit-action-groups{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-width:0}.published-edit-action-group{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem;border-radius:var(--radius-md);background:#ffffffb8;border:1px solid rgba(180,196,214,.55)}[data-theme=dark] .published-edit-action-group{background:#ffffff0a;border-color:var(--color-border)}.published-edit-action-divider{width:1px;height:1.6rem;background:#94a3b88c;flex-shrink:0}.published-edit-action-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:0 1 auto;margin-left:auto}.published-edit-action-page-indicator{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.published-edit-page-size{margin:0}.published-edit-freeze-wrap{position:relative;z-index:2}.published-edit-freeze-menu{position:absolute;top:calc(100% + .35rem);left:0;z-index:130;min-width:14rem;max-width:min(22rem,70vw);max-height:min(22rem,50vh);overflow:auto;padding:0}.published-edit-freeze-option{display:block;width:100%;margin:0;padding:.28rem .55rem;border:none;border-left:var(--dropdown-accent-width) solid transparent;background:transparent;color:inherit;font:inherit;font-size:.72rem;line-height:1.3;text-align:left;cursor:pointer}.published-edit-width-menu{min-width:12rem;max-width:min(18rem,80vw)}.published-edit-width-divider{height:1px;margin:.3rem 0;background:var(--color-border)}.published-edit-width-row{display:flex;align-items:center;gap:.5rem;margin:0;padding:.45rem .55rem;min-width:0}.published-edit-width-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.published-edit-width-input{flex:0 0 auto;width:4.25rem;box-sizing:border-box;margin:0;padding:.3rem .4rem;border:1px solid var(--color-border-input);border-radius:0;background:var(--color-surface);color:inherit;font:inherit;font-size:.72rem;font-variant-numeric:tabular-nums}.published-edit-width-input:focus{outline:2px solid var(--color-primary);outline-offset:0;border-color:var(--color-primary)}.published-edit-action-bar .btn-icon-secondary{background:transparent;border-color:transparent;color:#334155}.published-edit-action-bar .btn-icon-secondary:hover:not(:disabled){background:#33415514;border-color:transparent}.published-edit-action-bar .btn-icon-secondary.is-active{background:#3341551f;color:var(--color-primary)}.published-edit-action-bar .btn-icon-primary{box-shadow:0 1px 2px #0f172a1f}[data-theme=dark] .published-edit-action-bar .btn-icon-secondary{color:var(--color-text)}[data-theme=dark] .published-edit-action-bar .btn-icon-secondary:hover:not(:disabled){background:#ffffff1a;color:var(--color-text)}[data-theme=dark] .published-edit-action-bar .btn-icon-secondary.is-active{background:color-mix(in srgb,var(--color-primary) 24%,transparent);color:var(--color-primary)}[data-theme=dark] .published-edit-action-bar .btn-icon-primary{color:var(--color-header-text);box-shadow:none}[data-theme=dark] .published-edit-action-bar .btn-icon-danger{color:#fca5a5;background:color-mix(in srgb,var(--color-danger) 22%,transparent);border-color:color-mix(in srgb,var(--color-danger) 40%,transparent)}[data-theme=dark] .published-edit-action-bar .btn-icon-danger:hover:not(:disabled){color:#fecaca;background:color-mix(in srgb,var(--color-danger) 32%,transparent)}[data-theme=dark] .published-edit-action-divider{background:#94a3b866}[data-theme=dark] .published-edit-action-page-indicator,[data-theme=dark] .published-edit-page-size{color:var(--color-muted)}[data-theme=dark] .published-edit-page-size select{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.published-edit-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;gap:0;background:var(--color-surface)}.published-edit-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}.published-edit-meta{margin:0;max-width:40rem}.published-edit-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.published-edit-card{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-surface);border:none;border-radius:0;overflow:hidden}.published-edit-card>.data-list-empty-panel,.published-edit-card>.committed-data-loading{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.published-edit-page .raw-data-table-shell{flex:1;min-height:0;display:flex;flex-direction:column;height:100%}.published-edit-page .raw-data-filter-row .dtb-suggest-input{font-size:.72rem}.published-edit-page .raw-data-table-toolbar{flex-shrink:0}.published-edit-page .raw-data-table-wrap{flex:1;min-height:0;margin:0;border:none;border-radius:0;max-height:none;height:auto;overflow:auto}.raw-data-table.is-editable .raw-data-editable-cell{cursor:text;transition:background var(--motion-fast) var(--ease-standard)}.raw-data-table.is-editable .raw-data-editable-cell:hover:not(.is-editing){background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}.raw-data-table .raw-data-editable-cell.is-dirty:not(.is-editing){background:color-mix(in srgb,var(--color-warning, #e6a817) 18%,transparent)}.raw-data-table .raw-data-editable-cell.is-editing{padding:0;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));box-shadow:inset 0 0 0 2px var(--color-primary);outline:none}.raw-data-table .raw-data-cell-input{display:block;box-sizing:border-box;width:100%;min-height:1.85rem;margin:0;padding:.28rem .45rem;border:none;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:inherit;line-height:1.35;outline:none;box-shadow:none;animation:raw-data-edit-in var(--motion-fast) var(--ease-decelerate)}.raw-data-table .raw-data-cell-input:focus{outline:none;box-shadow:none}@keyframes raw-data-edit-in{0%{opacity:.4}to{opacity:1}}@media (max-width: 768px){.published-edit-page{padding:0}.published-edit-action-bar{padding:.5rem var(--space-3)}.published-edit-action-pager{width:100%;justify-content:flex-start;margin-left:0}.published-edit-body{padding:0}.published-edit-actions{width:100%}.published-edit-actions .btn-sm{flex:1 1 auto}}.raw-data-table-shell{display:flex;flex-direction:column;min-width:0}.raw-data-table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);font-size:var(--font-size-sm)}.raw-data-table-toolbar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0;flex:1 1 16rem}.raw-data-table-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-left:auto}.raw-data-table.upload-data-table thead tr:first-child th{position:sticky;top:0;z-index:5;background:var(--color-panel-subtle)}.raw-data-table.upload-data-table thead tr.raw-data-filter-row th{position:sticky;top:var(--raw-data-header-row-height, 2.25rem);z-index:4;background:var(--color-nav-hover);box-shadow:inset 0 -1px 0 var(--color-border)}.raw-data-table th.raw-data-th-sorted{background:color-mix(in srgb,var(--color-primary) 10%,#f7faf7)}.raw-data-table.upload-data-table thead tr.raw-data-filter-row th.is-filtered{background:color-mix(in srgb,var(--color-primary) 8%,#f3f7f3)}.raw-data-index-th,.raw-data-index-td{position:sticky;left:0;width:52px;min-width:52px;max-width:52px;text-align:center;font-variant-numeric:tabular-nums;color:var(--color-muted);box-shadow:1px 0 0 var(--color-border)}.raw-data-table.has-row-selection .raw-data-index-th,.raw-data-table.has-row-selection .raw-data-index-td{left:40px}.raw-data-select-th,.raw-data-select-td{position:sticky;left:0;width:40px;min-width:40px;max-width:40px;text-align:center;vertical-align:middle;box-shadow:1px 0 0 var(--color-border)}.raw-data-select-checkbox{width:1rem;height:1rem;margin:0;cursor:pointer}.raw-data-table.upload-data-table thead tr:first-child th.raw-data-select-th{z-index:9;background:var(--color-panel-subtle)}.raw-data-table.upload-data-table thead tr.raw-data-filter-row th.raw-data-select-th,.raw-data-table.upload-data-table thead tr.raw-data-filter-row th.raw-data-select-filter{z-index:8;background:var(--color-nav-hover)}.raw-data-table .raw-data-select-td{z-index:4;background:var(--color-surface)}.raw-data-table tbody tr:hover .raw-data-select-td,.raw-data-table tbody tr.is-selected .raw-data-select-td,.raw-data-table tbody tr.is-selected .raw-data-index-td{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.raw-data-table tbody tr.is-selected td{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.raw-data-index-th{font-weight:var(--btn-font-weight)}.raw-data-table.upload-data-table thead tr:first-child th.raw-data-index-th{z-index:8;background:var(--color-panel-subtle)}.raw-data-table.upload-data-table thead tr.raw-data-filter-row th.raw-data-index-th,.raw-data-table.upload-data-table thead tr.raw-data-filter-row th.raw-data-index-filter{z-index:7;background:var(--color-nav-hover)}.raw-data-table .raw-data-index-td{z-index:3;background:var(--color-surface)}.raw-data-table tbody tr:hover .raw-data-index-td{background:var(--color-row-hover)}.raw-data-table.has-frozen-data-cols .raw-data-select-th,.raw-data-table.has-frozen-data-cols .raw-data-select-td,.raw-data-table.has-frozen-data-cols .raw-data-index-th,.raw-data-table.has-frozen-data-cols .raw-data-index-td{box-shadow:1px 0 0 var(--color-border)}.raw-data-table.has-frozen-data-cols.upload-data-table thead tr:first-child th.raw-data-select-th{z-index:62}.raw-data-table.has-frozen-data-cols.upload-data-table thead tr:first-child th.raw-data-index-th{z-index:61}.raw-data-table.has-frozen-data-cols.upload-data-table thead tr.raw-data-filter-row th.raw-data-select-th,.raw-data-table.has-frozen-data-cols.upload-data-table thead tr.raw-data-filter-row th.raw-data-select-filter{z-index:52}.raw-data-table.has-frozen-data-cols.upload-data-table thead tr.raw-data-filter-row th.raw-data-index-th,.raw-data-table.has-frozen-data-cols.upload-data-table thead tr.raw-data-filter-row th.raw-data-index-filter{z-index:51}.raw-data-table.has-frozen-data-cols .raw-data-select-td{z-index:22}.raw-data-table.has-frozen-data-cols .raw-data-index-td{z-index:21}.raw-data-table .raw-data-col-frozen{position:sticky;background:var(--color-surface);box-shadow:1px 0 0 var(--color-border);box-sizing:border-box;overflow:hidden}.raw-data-table.upload-data-table thead tr:first-child th.raw-data-col-frozen{background:var(--color-panel-subtle);box-shadow:inset 0 -1px 0 var(--color-border),1px 0 0 var(--color-border)}.raw-data-table.upload-data-table thead tr.raw-data-filter-row th.raw-data-col-frozen{background:var(--color-nav-hover);box-shadow:inset 0 -1px 0 var(--color-border),1px 0 0 var(--color-border)}.raw-data-table.upload-data-table thead tr.raw-data-filter-row th.raw-data-col-frozen.is-filtered{background:color-mix(in srgb,var(--color-primary) 8%,#f3f7f3)}.raw-data-table .raw-data-col-frozen.is-freeze-edge{box-shadow:1px 0 0 var(--color-border),3px 0 6px #0f172a1f}.raw-data-table.upload-data-table thead tr:first-child th.raw-data-col-frozen.is-freeze-edge,.raw-data-table.upload-data-table thead tr.raw-data-filter-row th.raw-data-col-frozen.is-freeze-edge{box-shadow:inset 0 -1px 0 var(--color-border),1px 0 0 var(--color-border),3px 0 6px #0f172a1f}.raw-data-table tbody tr:hover .raw-data-col-frozen{background:var(--color-row-hover)}.raw-data-table tbody tr.is-selected .raw-data-col-frozen{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.raw-data-table tbody tr:hover.is-selected .raw-data-col-frozen{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.raw-data-table .raw-data-col-frozen.is-dirty:not(.is-editing){background:color-mix(in srgb,var(--color-warning, #e6a817) 18%,transparent)}.raw-data-table .raw-data-col-frozen.is-editing{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.raw-data-index-filter{padding:.35rem .25rem!important}.raw-data-table .upload-data-table-header-label{display:block;flex:1 1 auto;min-width:0;padding-right:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raw-data-header-main{display:flex;align-items:baseline;justify-content:space-between;gap:.35rem;flex:1 1 auto;min-width:0}.raw-data-header-unit{flex:0 0 auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72em;font-weight:500;line-height:1.2;color:color-mix(in srgb,var(--color-muted) 78%,transparent)}.raw-data-table .raw-data-cell-with-unit{vertical-align:middle}.raw-data-cell-main{display:flex;align-items:baseline;justify-content:space-between;gap:.35rem;width:100%;min-width:0}.raw-data-cell-value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raw-data-cell-unit{flex:0 0 auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72em;font-weight:500;line-height:1.2;color:color-mix(in srgb,var(--color-muted) 78%,transparent)}.raw-data-sort-btn{display:inline-flex;align-items:center;gap:.35rem;width:calc(100% - .45rem);max-width:calc(100% - .45rem);min-width:0;padding:.05rem .1rem .05rem 0;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;font-weight:var(--btn-font-weight);cursor:pointer;text-align:left}.raw-data-sort-btn:hover{color:var(--color-primary-hover)}.raw-data-sort-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.raw-data-sort-btn.is-active{color:var(--color-primary-hover)}.raw-data-sort-mark{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--color-muted)}.raw-data-sort-icon{display:block;width:.7rem;height:.85rem;fill:currentColor}.raw-data-sort-idle{display:inline-flex;opacity:.4;transition:opacity .12s ease}.raw-data-sort-btn:hover .raw-data-sort-idle{opacity:.85;color:var(--color-primary)}.raw-data-sort-badge{display:inline-flex;align-items:center;gap:.15rem;min-height:1.2rem;padding:.1rem .28rem;border-radius:var(--radius-sm);background:var(--color-primary-light);border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent);color:var(--color-primary);font-size:.65rem;font-weight:700;line-height:1}.raw-data-sort-badge.is-primary{background:color-mix(in srgb,var(--color-primary) 16%,#fff);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.raw-data-sort-priority{display:inline-flex;align-items:center;justify-content:center;min-width:.7rem;font-variant-numeric:tabular-nums}.raw-data-filter-row th{background:var(--color-nav-hover);vertical-align:middle;padding:.35rem .4rem}.raw-data-filter-row th.is-filtered{background:color-mix(in srgb,var(--color-primary) 8%,#f3f7f3)}.raw-data-filter-input{width:100%;box-sizing:border-box;min-height:1.9rem;padding:.25rem .4rem;border:1px solid var(--color-border-input);border-radius:0;background:var(--color-surface);font:inherit;font-size:.72rem;font-weight:500}.raw-data-filter-input:focus{outline:2px solid var(--color-primary);outline-offset:0;border-color:var(--color-primary)}.raw-data-filter-row .dtb-suggest{width:100%;min-width:0}.raw-data-filter-row .dtb-suggest-input{width:100%;box-sizing:border-box;min-height:1.9rem;padding:.25rem .4rem;border:1px solid var(--color-border-input);border-radius:0;background:var(--color-surface);font:inherit;font-size:.72rem;font-weight:500}.raw-data-filter-row .dtb-suggest-input:focus{outline:2px solid var(--color-primary);outline-offset:0;border-color:var(--color-primary)}.raw-data-table-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-muted);font-size:var(--font-size-sm)}.raw-data-row-count{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.raw-data-sort-label{margin-right:.15rem}.raw-data-sort-hint{font-size:.78rem}.raw-data-sort-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0}.raw-data-sort-chip-wrap{display:inline-flex;align-items:center;gap:.3rem}.raw-data-sort-then{font-size:.7rem;text-transform:lowercase}.raw-data-sort-chip{display:inline-flex;align-items:stretch;max-width:14rem;min-height:1.65rem;border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--color-border));border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden}.raw-data-sort-chip.is-primary{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));background:var(--color-primary-light)}.raw-data-sort-chip-main{display:inline-flex;align-items:center;gap:.3rem;min-width:0;padding:.15rem .35rem .15rem .3rem;border:none;background:transparent;color:var(--color-text);font:inherit;font-size:.72rem;font-weight:var(--btn-font-weight);cursor:pointer}.raw-data-sort-chip-main:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.raw-data-sort-chip-main:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.raw-data-sort-chip-priority{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:1rem;height:1rem;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.raw-data-sort-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raw-data-sort-chip-main .raw-data-sort-icon{flex:0 0 auto;color:var(--color-primary)}.raw-data-sort-chip-remove{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.45rem;border:none;border-left:1px solid color-mix(in srgb,var(--color-primary) 16%,var(--color-border));background:transparent;color:var(--color-muted);font-size:.95rem;line-height:1;cursor:pointer}.raw-data-sort-chip-remove:hover{background:color-mix(in srgb,var(--color-danger, #b42318) 8%,transparent);color:var(--color-danger, #b42318)}.raw-data-sort-chip-remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.raw-data-table-pager{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-left:auto}.raw-data-page-size{display:inline-flex;align-items:center;gap:.4rem;margin-right:var(--space-1);font-size:var(--font-size-sm)}.raw-data-page-size select{min-width:4.5rem;padding:.25rem .45rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm)}.raw-data-page-size select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}@media (max-width: 768px){.committed-data-filters{width:100%}.committed-data-filter{flex:1 1 100%;min-width:0}.committed-data-period-filters{flex:1 1 100%;width:100%}.committed-data-period-fields{flex-direction:column;flex-wrap:wrap;width:100%}.committed-data-period-fields .committed-data-filter{flex:1 1 100%;min-width:0;width:100%}.committed-data-page .committed-data-card.has-table{margin-left:calc(-1 * var(--space-4, 1rem));margin-right:calc(-1 * var(--space-4, 1rem));border-radius:0;border-left:none;border-right:none}}.template-preview-excel-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.75rem;line-height:1.35}.template-preview-excel-table th,.template-preview-excel-table td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:.28rem .45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.template-preview-excel-table th:first-child,.template-preview-excel-table td:first-child{border-left:1px solid var(--color-border)}.template-preview-excel-table thead th{position:sticky;top:0;z-index:2;background:#ff0;font-weight:700;font-size:.72rem;color:var(--color-text);box-shadow:inset 0 -1px 0 var(--color-border)}.template-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.template-preview-header h2{margin:0 0 var(--space-2)}.template-preview-meta{margin:0;font-size:var(--font-size-sm)}.template-preview-subtitle-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.template-preview-description{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--font-size-sm);line-height:1.5}.template-preview-section{margin-top:var(--space-5)}.template-preview-section:first-of-type{margin-top:0}.template-preview-section-head{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.template-preview-section h3{margin:0;font-size:var(--font-size-base);letter-spacing:-.01em}.template-preview-section-desc{margin:0;font-size:var(--font-size-sm);line-height:1.45}.template-preview-sheet{margin-top:0;max-height:min(40vh,360px);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.template-preview-schema-wrap{margin-top:0;max-height:min(36vh,320px);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.template-preview-schema-table{width:100%;min-width:36rem}.template-preview-schema-table .upload-data-cell{cursor:default}.template-preview-key{font-size:.7rem}.template-preview-required{margin-left:2px;color:var(--color-danger)}.template-preview-sample-row td{background:var(--color-panel-subtle)}.template-preview-blank-row td{background:var(--color-surface);min-height:1.6rem;height:1.6rem}.template-preview-sample-cell{color:var(--color-muted);font-style:italic;font-size:.72rem}.template-preview-modal .modal-actions{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.template-preview-excel-table .upload-data-cell{cursor:default}.history-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.history-main{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.history-detail-accordion{display:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-3) var(--space-4);min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.history-detail-accordion summary{cursor:pointer;font-weight:600;list-style:none;overflow-wrap:anywhere;word-break:break-word}.history-detail-accordion summary::-webkit-details-marker{display:none}.history-detail-body{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);min-width:0;max-width:100%}.upload-history-page .page-header{margin-bottom:var(--space-4)}.upload-history-page .page-desc a{color:var(--color-primary);font-weight:600;text-decoration:none}.upload-history-page .page-desc a:hover{text-decoration:underline}.upload-history-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);gap:var(--space-4);align-items:start;margin-top:0}.upload-history-card{margin-top:0;min-width:0;overflow:hidden}.upload-history-mobile-detail{display:none;padding:0 var(--space-4) var(--space-4)}.upload-history-table-wrap{margin:0;border:none;border-radius:0;max-height:none;overflow-x:auto;overflow-y:visible}.upload-history-table.upload-data-table{width:100%;min-width:40rem}.upload-history-table.upload-data-table thead th,.table-sticky-header .upload-history-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em}.upload-history-table.upload-data-table td:first-child{overflow:visible}.upload-history-table .status-pill{padding:.12rem .45rem;font-size:.65rem;letter-spacing:.02em}.upload-history-table tbody tr{cursor:pointer;transition:background var(--motion-fast) var(--ease-standard)}.upload-history-table tbody tr:hover:not(.is-selected) td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.upload-history-table tbody tr:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.upload-history-table tbody tr.is-selected td{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-bottom-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border))}.upload-history-table tbody tr.is-selected td:first-child{position:relative;box-shadow:inset 3px 0 0 var(--color-primary)}.upload-history-file-cell,.upload-history-uploader-cell{display:flex;flex-direction:column;gap:.1rem;min-width:0;line-height:1.25}.upload-history-filename,.upload-history-uploader-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.upload-history-uploader-name{font-weight:500}.upload-history-file-meta{font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-history-detail-column{position:sticky;top:0;min-width:0}.upload-history-detail-placeholder,.upload-history-drawer{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.upload-history-detail-placeholder{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:linear-gradient(180deg,var(--color-panel-subtle) 0%,var(--color-surface) 7rem),var(--color-surface)}.upload-history-detail-placeholder h3{margin:0;font-size:var(--font-size-lg);letter-spacing:-.02em}.upload-history-detail-placeholder .muted{margin:0;font-size:var(--font-size-sm);line-height:1.45}.upload-history-placeholder-hints{margin:0;padding:var(--space-3) var(--space-3) var(--space-3) 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-muted);font-size:var(--font-size-xs);line-height:1.45}.upload-history-placeholder-hints li+li{margin-top:.35rem}.upload-history-drawer{padding:0;overflow:hidden}.upload-history-detail{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:linear-gradient(180deg,var(--color-panel-subtle) 0%,var(--color-surface) 42%),var(--color-surface)}.upload-history-detail.is-ready{background:linear-gradient(180deg,var(--color-nav-hover) 0%,var(--color-surface) 42%),var(--color-surface)}.upload-history-detail.is-blocked{background:linear-gradient(180deg,var(--color-row-invalid) 0%,var(--color-surface) 48%),var(--color-surface)}.upload-history-detail.is-preview{background:linear-gradient(180deg,var(--color-panel-subtle) 0%,var(--color-surface) 42%),var(--color-surface)}.upload-history-detail-intro{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.upload-history-detail-title{margin:0;font-size:var(--font-size-lg);font-weight:700;letter-spacing:-.02em;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.upload-history-verdict{flex:none;max-width:none;padding:var(--space-3) var(--space-4)}.upload-history-verdict.is-preview{border-color:#c5d9c8;background:var(--color-panel-subtle)}.upload-history-verdict.is-preview .upload-review-verdict-label{color:var(--color-primary-hover)}.upload-history-verdict.is-neutral{border-color:var(--color-border);background:var(--color-surface-muted)}.upload-history-verdict.is-neutral .upload-review-verdict-label{color:var(--color-text)}.upload-history-meta-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.upload-history-meta-row{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--space-3);align-items:start;padding:.7rem .85rem;border-top:1px solid var(--color-border)}.upload-history-meta-row:first-child{border-top:none}.upload-history-meta-row dt{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);padding-top:.1rem}.upload-history-meta-row dd{margin:0;min-width:0;font-size:var(--font-size-sm);line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.upload-history-meta-primary{display:block;font-weight:600}.upload-history-meta-secondary{display:block;margin-top:.15rem;color:var(--color-muted);font-size:var(--font-size-xs)}.upload-history-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.upload-history-stat{display:flex;flex-direction:column;gap:.15rem;min-height:5rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:inset 0 1px #ffffffb3}.upload-history-stat.is-danger{border-color:#efc4c4;background:linear-gradient(180deg,var(--color-row-invalid),var(--color-row-invalid))}.upload-history-stat.is-danger .upload-history-stat-value{color:#a12626}.upload-history-stat-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15;color:var(--color-text)}.upload-history-detail-actions{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);margin-top:0;padding-top:var(--space-1)}.upload-history-detail-actions .btn-primary,.upload-history-detail-actions .btn-secondary{width:100%;justify-content:center;text-align:center}.upload-history-detail-empty-actions{margin:0;padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:var(--font-size-sm);text-align:center}.user-management-toolbar{align-items:flex-end}.user-management-toolbar .filter-chips-wrap{flex:1 1 280px}.user-management-toolbar .search-form{flex:1 1 280px;justify-content:flex-end}.filter-chips-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.filter-chips-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-muted)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-chip{padding:.4rem .85rem;min-height:36px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--btn-font-weight);cursor:pointer;color:var(--color-text);transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.filter-chip:active{transform:scale(.98)}.filter-chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-header-text)}.filter-chip:hover:not(.is-active){border-color:var(--color-primary)}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2)}.pagination-controls{display:flex;align-items:center;gap:var(--space-3)}.pagination-meta,.pagination-page{font-size:var(--font-size-sm);color:var(--color-muted)}.upload-status-bar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.error-panel{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-danger-soft);border-radius:var(--radius-md);border:1px solid #ffcdd2}.error-count{color:var(--color-danger);font-weight:600}.history-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:var(--space-5);align-items:start}.detail-drawer{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);height:fit-content;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;box-shadow:var(--shadow-sm)}.detail-drawer h3{margin:0 0 var(--space-4);overflow-wrap:anywhere;word-break:break-word}.detail-list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.detail-list dt{font-weight:600;color:var(--color-muted)}.upload-detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.detail-list dd{margin:0;min-width:0;overflow-wrap:anywhere;word-break:break-word}.report-builder .page-header,.report-builder .page-howto{margin-bottom:var(--space-4)}.report-results-table.upload-data-table{table-layout:fixed}.report-results-table .upload-data-cell{cursor:default}.report-results-table .upload-data-cell.is-empty{color:var(--color-muted)}.report-cell-empty{font-size:.7rem;font-style:italic;line-height:1.3;opacity:.55}.report-table-wrap{margin-top:0;max-height:min(85vh,960px);min-height:min(42vh,28rem);border-radius:0;overflow:auto}.report-results-card{padding:var(--space-5);min-height:min(52vh,36rem);display:flex;flex-direction:column;gap:0}.report-results-card .report-table-wrap{flex:0 1 auto;min-height:0}.report-results-card .report-viz-panel{flex:0 0 auto}.report-config-summary-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.report-config-summary-text{display:flex;flex-direction:column;gap:.2rem;min-width:0;font-size:var(--font-size-sm)}.report-config-summary-label{font-size:var(--font-size-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.report-loaded-banner{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-primary-light);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.report-results{min-width:0;width:100%}.report-results-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.report-results-title{margin:0;font-size:var(--font-size-lg)}.report-results-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.report-results-viz-cta{display:flex;justify-content:flex-start;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.report-export{position:relative}.report-export-trigger{display:inline-flex;align-items:center;gap:.4rem}.report-export-chevron{display:inline-flex;font-size:.7em;line-height:1;opacity:.9;transition:transform var(--motion-fast) var(--ease-standard)}.report-export.is-open .report-export-chevron{transform:rotate(180deg)}.report-export-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;min-width:8.5rem;padding:0;overflow:hidden}.report-export-option{display:block;width:100%;padding:var(--dropdown-option-pad-y) var(--dropdown-option-pad-x);border:none;border-left:var(--dropdown-accent-width) solid transparent;background:transparent;color:var(--color-text);font:inherit;font-weight:600;text-align:left;cursor:pointer}.report-export-option:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.report-results-meta{margin:0;font-size:var(--font-size-sm)}.report-viz-form{display:flex;flex-direction:column;gap:var(--space-4)}.report-viz-steps{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 88%,var(--color-primary-light))}.report-viz-step{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--font-size-xs);font-weight:600;color:var(--color-muted)}.report-viz-step.is-active{color:var(--color-text)}.report-viz-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));color:var(--color-primary);font-size:.7rem;font-weight:700}.report-viz-step-divider{flex:0 0 1.25rem;height:1px;background:color-mix(in srgb,var(--color-border) 80%,var(--color-primary))}.report-viz-layout{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);gap:var(--space-4);align-items:start}.report-viz-config{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;max-height:min(68vh,40rem);overflow:auto;padding-right:.15rem}.report-viz-section{margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.report-viz-section-header{display:flex;align-items:center;margin-bottom:var(--space-2)}.report-viz-section-title{margin:0;font-size:var(--font-size-sm);font-weight:700;letter-spacing:-.01em}.report-viz-pane{margin:0;padding:0;border:none;min-width:0}.report-viz-preview-pane{display:flex;flex-direction:column;min-width:0;min-height:24rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(165deg,color-mix(in srgb,var(--color-primary-light) 55%,var(--color-surface)) 0%,var(--color-surface) 42%);overflow:hidden}.report-viz-preview-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.report-viz-preview-title{margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.report-viz-preview-badge{flex:0 0 auto;padding:.2rem .55rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-size-xs);font-weight:700;color:var(--color-muted)}.report-viz-preview-badge.is-ready{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:color-mix(in srgb,var(--color-primary-light) 70%,var(--color-surface));color:var(--color-primary)}.report-viz-preview-body{flex:1;min-height:0;padding:var(--space-3);display:flex;flex-direction:column}.report-viz-legend{margin:0 0 var(--space-2);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.report-viz-fields{display:flex;flex-direction:column;gap:var(--space-3)}.report-viz-field{display:flex;flex-direction:column;gap:.35rem}.report-viz-field-measures{gap:.4rem}.report-viz-field-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem}.report-viz-field-actions{display:flex;gap:.65rem}.report-viz-field-label{font-size:var(--font-size-sm);font-weight:600}.report-viz-field .form-select-trigger{width:100%;min-height:var(--btn-height);padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface);font:inherit}.report-viz-field .form-select-menu{z-index:3600}.report-viz-field-hint{margin:0;font-size:var(--font-size-xs)}.report-viz-field-hint-warn{color:var(--color-danger);font-weight:600}.report-viz-field input[type=number],.report-viz-field input[type=text]{width:100%;min-height:var(--btn-height);padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface);color:var(--color-text);font:inherit}.report-viz-field input[type=number]::placeholder,.report-viz-field input[type=text]::placeholder,.report-viz-field .dtb-suggest-input::placeholder{font-size:.72rem;color:var(--color-muted)}.report-viz-filter-list{display:flex;flex-direction:column;gap:var(--space-3);margin:.5rem 0 var(--space-3)}.report-viz-filter-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.report-viz-filter-remove{align-self:flex-start}.report-viz-filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.report-viz-measure-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-primary-light));overflow:hidden}.report-viz-measure-picker-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem;padding:.45rem .65rem;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-primary-light))}.report-viz-measure-picker-header .report-viz-field-label{margin:0}.report-viz-measure-picker-header .btn-link{padding:0;min-height:0;font-size:var(--font-size-xs)}.report-viz-measure-list{display:flex;flex-direction:column;gap:.3rem;max-height:11rem;overflow:auto;padding:.4rem;border:none;border-radius:0;background:transparent}.report-viz-measure-list-bordered{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 94%,var(--color-primary-light))}.report-viz-measure{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);border:1px solid transparent}.report-viz-measure-check{display:flex;align-items:center;gap:.5rem;min-width:0;cursor:pointer}.report-viz-measure:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.report-viz-measure.is-checked{border-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border));background:color-mix(in srgb,var(--color-primary-light) 75%,var(--color-surface))}.report-viz-measure-color-row{display:flex;align-items:center;gap:.5rem}.report-viz-measure-color-row .form-select-dropdown,.report-viz-measure-select{flex:1;min-width:0}.report-viz-category-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);font-weight:600}.report-viz-color-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface);box-shadow:0 1px color-mix(in srgb,var(--color-border) 65%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--color-surface) 70%,transparent);overflow:hidden;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.report-viz-color-picker:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-left:2px solid transparent;pointer-events:none;transition:border-color var(--motion-fast) var(--ease-standard)}.report-viz-color-picker:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));transform:translateY(-1px);box-shadow:0 1px color-mix(in srgb,var(--color-border) 50%,transparent),0 6px 14px #0f172a1f}.report-viz-color-picker:hover:after{border-left-color:var(--color-primary)}.report-viz-color-picker:focus-within{border-color:var(--color-primary);outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:1px;box-shadow:0 1px color-mix(in srgb,var(--color-border) 50%,transparent),0 6px 14px #0f172a1f}.report-viz-color-picker:focus-within:after{border-left-color:var(--color-primary)}.report-viz-color-picker:active{transform:translateY(0)}.report-viz-color-picker input[type=color]{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;width:150%;height:150%;margin:0;padding:0;border:none;border-radius:0;background:transparent;cursor:pointer}.report-viz-color-picker input[type=color]::-webkit-color-swatch-wrapper{padding:0}.report-viz-color-picker input[type=color]::-webkit-color-swatch{border:none;border-radius:0}.report-viz-color-picker input[type=color]::-moz-color-swatch{border:none;border-radius:0}@media (prefers-reduced-motion: reduce){.report-viz-color-picker{transition:none}.report-viz-color-picker:hover,.report-viz-color-picker:active{transform:none}}.report-viz-empty-card{margin:auto;max-width:22rem;padding:var(--space-5) var(--space-4);text-align:center;border:1px dashed color-mix(in srgb,var(--color-border) 75%,var(--color-primary));border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 90%,var(--color-primary-light))}.report-viz-empty-title{margin:0 0 .4rem;font-size:var(--font-size-sm);font-weight:700}.report-viz-empty-card .muted{margin:0;font-size:var(--font-size-sm);line-height:1.45}.report-viz-chart{width:100%;min-height:12rem;display:flex;flex-direction:column;gap:.65rem;animation:report-viz-chart-enter .44s var(--ease-decelerate, ease-out)}.report-viz-chart-heading{display:flex;flex-direction:column;gap:.2rem;border-bottom:1px solid var(--color-border);border-left:3px solid var(--color-primary);padding:.15rem .15rem .55rem .7rem;animation:report-viz-heading-enter .38s var(--ease-decelerate, ease-out)}.report-viz-chart-title{margin:0;font-size:var(--font-size-md);font-weight:700;line-height:1.3;color:var(--color-text)}.report-viz-chart-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--color-muted, #5a655a)}.report-viz-chart-plot{width:100%;min-height:12rem}.report-viz-chart-plot .recharts-default-tooltip{background:var(--color-surface)!important;border-color:var(--color-border)!important;color:var(--color-text)!important;box-shadow:var(--shadow-md);animation:report-viz-tooltip-enter .14s var(--ease-decelerate, ease-out)}.report-viz-chart-plot .recharts-tooltip-label,.report-viz-chart-plot .recharts-tooltip-item{color:var(--color-text)!important}.report-viz-chart-plot .recharts-tooltip-cursor{fill:color-mix(in srgb,var(--color-primary) 12%,transparent)!important;stroke:none!important;transition:fill .12s var(--ease-standard, ease)}.report-viz-chart-plot .recharts-bar-rectangle,.report-viz-chart-plot .recharts-sector,.report-viz-chart-plot .recharts-line-curve{transition:filter .16s var(--ease-standard, ease),opacity .16s var(--ease-standard, ease)}.report-viz-chart-plot .recharts-bar-rectangle:hover,.report-viz-chart-plot .recharts-sector:hover{filter:brightness(1.06)}.report-viz-series-legend{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin:0;padding:.35rem .15rem 0;list-style:none}.report-viz-series-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text);animation:report-viz-legend-enter .36s var(--ease-decelerate, ease-out) both}.report-viz-series-legend-item:nth-child(1){animation-delay:40ms}.report-viz-series-legend-item:nth-child(2){animation-delay:80ms}.report-viz-series-legend-item:nth-child(3){animation-delay:.12s}.report-viz-series-legend-item:nth-child(4){animation-delay:.16s}.report-viz-series-legend-item:nth-child(5){animation-delay:.2s}.report-viz-series-legend-item:nth-child(6){animation-delay:.24s}.report-viz-series-legend-item:nth-child(7){animation-delay:.28s}.report-viz-series-legend-item:nth-child(8){animation-delay:.32s}.report-viz-series-legend-swatch{width:.75rem;height:.75rem;border-radius:2px;border:1px solid color-mix(in srgb,var(--color-text) 15%,transparent);flex-shrink:0}.report-viz-series-legend-label{line-height:1.2}@keyframes report-viz-chart-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes report-viz-heading-enter{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@keyframes report-viz-legend-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes report-viz-tooltip-enter{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.report-viz-chart,.report-viz-chart-heading,.report-viz-series-legend-item,.report-viz-chart-plot .recharts-default-tooltip{animation:none!important}.report-viz-chart-plot .recharts-bar-rectangle,.report-viz-chart-plot .recharts-sector,.report-viz-chart-plot .recharts-line-curve,.report-viz-chart-plot .recharts-tooltip-cursor{transition:none!important}}.report-viz-caption{margin:var(--space-2) 0 0;text-align:center;font-size:var(--font-size-xs)}.report-viz-empty,.report-viz-unavailable{display:flex;flex-direction:column;gap:var(--space-4)}.report-viz-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.report-viz-summary{margin:0;font-size:var(--font-size-sm);line-height:1.4;max-width:36rem}.report-viz-summary-strong{font-weight:700;color:var(--color-text)}.report-viz-summary-warn{color:var(--color-danger);font-weight:600}.report-viz-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.report-viz-actions .btn-primary{min-width:11rem}.report-viz-panel{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.report-results-card.has-visualization .report-viz-panel{border-top:none;padding-top:var(--space-4)}.report-viz-panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.report-viz-panel-title{margin:0;font-size:var(--font-size-md)}.report-viz-panel-subtitle{margin:.2rem 0 0;font-size:var(--font-size-sm)}.report-viz-panel-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.report-viz-toggle{margin:0;font-size:var(--font-size-sm);white-space:nowrap}.report-viz-config .report-viz-toggle{margin-top:var(--space-1)}.report-viz-image-export .report-export-menu{right:0;left:auto}@media (max-width: 960px){.report-viz-layout{grid-template-columns:1fr}.report-viz-config{max-height:none}.report-viz-footer{flex-direction:column;align-items:stretch}.report-viz-actions{width:100%}.report-viz-actions .btn-primary,.report-viz-actions .btn-secondary{flex:1}}.dtb-workspace{display:grid;grid-template-columns:minmax(20rem,24rem) minmax(0,1fr);gap:var(--space-5);align-items:start;--dtb-panel-height: calc(100dvh - var(--header-height) - .35rem)}.dtb-workspace.is-expanded{min-height:var(--dtb-panel-height);align-items:stretch}.dtb-workspace-config{min-width:0;position:sticky;top:var(--space-2);max-height:var(--dtb-panel-height);display:flex;flex-direction:column}.dtb-workspace-config.is-expanded{height:var(--dtb-panel-height);min-height:var(--dtb-panel-height);max-height:var(--dtb-panel-height)}.dtb-workspace-results{min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.dtb-workspace-results.is-expanded{position:sticky;top:var(--space-2);height:var(--dtb-panel-height);min-height:var(--dtb-panel-height);max-height:var(--dtb-panel-height);gap:0;overflow:hidden}.dtb-workspace-results-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--space-4)}.dtb-workspace-results.is-expanded .dtb-workspace-results-scroll{overflow:hidden;gap:0}.dtb-workspace-results.is-expanded .empty-state{flex:1 1 auto;min-height:100%;overflow:auto}.dtb-workspace-results.is-expanded .report-results-card{flex:1 1 auto;min-height:0;height:100%;max-height:100%}.dtb-workspace-results .empty-state,.dtb-workspace-results .card{min-height:18rem}.dtb-workspace.is-expanded .report-results-card{--dtb-table-viewport: calc(var(--dtb-panel-height) - 7.75rem);min-height:0;height:100%;max-height:100%;overflow:hidden;gap:var(--space-4);display:flex;flex-direction:column}.dtb-workspace.is-expanded .report-results-header{flex:0 0 auto}.report-results-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);flex:0 0 auto;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.report-results-footer-range{font-size:var(--font-size-sm)}.dtb-workspace.is-expanded .report-results-footer{flex:0 0 auto}.dtb-workspace.is-expanded .report-results-card .report-table-wrap{flex:1 1 auto;min-height:0;height:var(--dtb-table-viewport);max-height:none;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.dtb-workspace.is-expanded:has(.has-visualization){align-items:start;min-height:auto}.dtb-workspace-results.is-expanded:has(.has-visualization){position:static;height:auto;max-height:none;min-height:var(--dtb-panel-height);overflow:visible}.dtb-workspace-results.is-expanded:has(.has-visualization) .dtb-workspace-results-scroll{overflow:visible;flex:0 0 auto;min-height:0}.dtb-workspace.is-expanded .report-results-card.has-visualization{height:auto;max-height:none;overflow:visible}.dtb-workspace.is-expanded .report-results-card.has-visualization .report-table-wrap{flex:0 0 auto;height:var(--dtb-table-viewport);min-height:var(--dtb-table-viewport);max-height:var(--dtb-table-viewport)}.dtb-workspace.is-expanded .report-viz-panel{flex:0 0 auto;position:relative;z-index:1;margin-top:0;max-height:none;overflow:visible;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-surface-muted) 0%,var(--color-surface) 48%)}.dtb-workspace.is-expanded .report-viz-panel-header{margin-bottom:var(--space-3)}.dtb-workspace.is-expanded .report-viz-capture{margin-top:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.dtb-config{width:100%;min-width:0;height:100%;display:flex;flex-direction:column;min-height:0}.dtb-config.is-expanded{flex:1 1 auto}.dtb-config-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:var(--dtb-panel-height);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.dtb-config-panel.is-expanded{height:100%;min-height:100%;max-height:none}.dtb-config-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(180deg,var(--color-panel-subtle) 0%,var(--color-canvas) 100%);border-bottom:1px solid var(--color-border)}.dtb-config-title{margin:0;font-size:var(--font-size-base);font-weight:600;line-height:1.3}.dtb-config-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;min-height:0}.dtb-section{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}.dtb-section--dataset{background:var(--color-panel-subtle)}.dtb-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.dtb-section-head h3{margin:0;font-size:var(--font-size-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text)}.dtb-section-head .field-hint{margin:.25rem 0 0}.dtb-row-count{margin:0;font-size:var(--font-size-xs);line-height:1.3}.dtb-row-count strong{font-weight:700;color:var(--color-text)}.dtb-row-toolbar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dtb-row-picker{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.dtb-row-picker-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-panel-subtle) 0%,var(--color-canvas) 100%)}.dtb-row-picker-head{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dtb-row-picker-title{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.dtb-row-picker-hint{margin:0;font-size:var(--font-size-xs);line-height:1.35}.dtb-row-options-panel{max-height:min(36rem,55vh);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-3);background:var(--color-canvas);scrollbar-gutter:stable}.dtb-row-options-panel::-webkit-scrollbar{width:.55rem}.dtb-row-options-panel::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--color-border) 70%,var(--color-muted))}.dtb-row-group{display:flex;flex-direction:column;gap:var(--space-2)}.dtb-row-group.is-available{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border)}.dtb-row-group-label{margin:0;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.dtb-row-panel-empty{margin:0;padding:var(--space-2) 0 0;font-size:var(--font-size-xs);text-align:center}.dtb-row-stack{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none}.dtb-row-stack.is-available{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.dtb-row-item{display:flex;align-items:center;gap:.4rem;min-height:2.4rem;padding:.4rem .55rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.dtb-row-item:hover{border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border))}.dtb-row-item.is-selected{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));box-shadow:inset 3px 0 0 var(--color-primary)}.dtb-row-item-main{display:flex;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0;margin:0;cursor:pointer}.dtb-row-item-main input[type=checkbox]{flex:0 0 auto;width:1rem;height:1rem;margin:0;accent-color:var(--color-primary)}.dtb-stat-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dtb-stat{display:inline-flex;align-items:center;padding:.25rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-xs);color:var(--color-muted)}.dtb-field{display:flex;flex-direction:column;gap:var(--space-1)}.dtb-field-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-muted)}.dtb-field .form-select-trigger,.dtb-field input{width:100%;min-height:var(--btn-height);padding:.5rem .65rem;border:1px solid var(--color-border-input);border-radius:var(--dropdown-radius);font-family:inherit;font-size:var(--font-size-sm);background:var(--color-surface)}.dtb-field .form-select-menu{z-index:50}.dtb-field--dataset{display:block;width:100%;max-width:none}.dtb-note,.dtb-empty,.dtb-loading{margin:0}.dtb-dataset-empty-note{margin-top:var(--space-3)}.dtb-empty{padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;background:var(--color-canvas)}.dtb-layout,.dtb-layout--secondary{display:flex;flex-direction:column;gap:var(--space-4)}.dtb-option-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:var(--space-2)}.dtb-option{display:flex;align-items:center;gap:var(--space-2);margin:0;min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .12s ease,background .12s ease}.dtb-option:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border));background:var(--color-panel-subtle)}.dtb-option.is-selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}.dtb-option input[type=checkbox]{flex:0 0 auto;width:1rem;height:1rem;margin:0;accent-color:var(--color-primary)}.dtb-option-text{flex:1 1 auto;min-width:0}.dtb-option-title{display:block;font-size:var(--font-size-sm);font-weight:600;line-height:1.3;color:var(--color-text)}.dtb-option-order{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:999px;background:var(--color-primary);color:#fff;font-size:.65rem;font-weight:700}.dtb-order-hint{margin:var(--space-3) 0 0;font-size:var(--font-size-sm)}.dtb-value-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-3)}.dtb-value-row{display:grid;grid-template-columns:1fr;gap:var(--space-2);align-items:stretch;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.dtb-value-row .dtb-value-remove{justify-self:start}.dtb-value-remove{margin-bottom:1px}.dtb-filter-list{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-3)}.dtb-filter-row{display:grid;grid-template-columns:1fr;gap:var(--space-2);align-items:stretch;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.dtb-filter-remove{justify-self:start}.dtb-suggest{position:relative}.dtb-suggest-input{width:100%;min-height:var(--btn-height);padding:.5rem .65rem;border:1px solid var(--color-border-input);border-radius:0;font-family:inherit;font-size:var(--font-size-sm);background:var(--color-surface)}.dtb-suggest-input:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:0;border-color:var(--color-primary)}.dtb-suggest-list{margin:0;padding:0;list-style:none;max-height:12rem;overflow-x:hidden;overflow-y:auto}.dtb-suggest-list--portal{position:fixed;z-index:3500}.dtb-suggest-option{padding:var(--dropdown-option-pad-y) var(--dropdown-option-pad-x);border:none;border-left:var(--dropdown-accent-width) solid transparent;background:transparent;width:100%;text-align:left;color:inherit;font:inherit;font-size:.72rem;line-height:1.3;cursor:pointer}.dtb-suggest-empty{margin:0;padding:var(--dropdown-option-pad-y) var(--dropdown-option-pad-x);font-size:.72rem}.dtb-suggest-empty.dtb-suggest-list--portal{position:fixed;z-index:3500}.dtb-preview{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-panel-subtle)}.dtb-preview-label{margin:0 0 var(--space-2);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.dtb-preview-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.dtb-preview-list li{display:flex;flex-direction:column;gap:.2rem;min-width:0}.dtb-preview-list span{font-size:var(--font-size-xs);color:var(--color-muted)}.dtb-preview-list strong{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);word-break:break-word}.dtb-section--save{background:var(--color-panel-subtle)}.dtb-save-block{display:flex;flex-direction:column;gap:var(--space-3)}.dtb-save-hint{margin:0;font-size:var(--font-size-xs);line-height:1.35}.dtb-save-description{width:100%;min-height:4.5rem;padding:.5rem .65rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);line-height:1.4;resize:vertical;background:var(--color-surface)}.dtb-save-description:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:1px;border-color:var(--color-primary)}.dtb-config-footer{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-canvas)}.dtb-ready{margin:0;font-size:var(--font-size-xs);line-height:1.35}.dtb-ready.is-ready{color:var(--color-primary)}.dtb-generate-btn{gap:.55rem;font-weight:600;letter-spacing:.01em;box-shadow:0 1px color-mix(in srgb,var(--color-primary) 35%,transparent)}.dtb-generate-btn svg{flex:0 0 auto}.dtb-generate-btn:disabled svg{opacity:.85}@media (max-width: 1100px){.dtb-workspace{grid-template-columns:minmax(18rem,22rem) minmax(0,1fr)}}@media (max-width: 900px){.dtb-workspace{grid-template-columns:1fr}.dtb-workspace.is-expanded{min-height:0}.dtb-workspace-config{position:static;max-height:none}.dtb-workspace-config.is-expanded{height:auto;min-height:0;max-height:none}.dtb-workspace-results.is-expanded{position:static;height:auto;min-height:min(55vh,28rem);max-height:none;overflow:visible}.dtb-workspace-results.is-expanded .dtb-workspace-results-scroll{overflow:visible;min-height:min(55vh,28rem)}.dtb-workspace.is-expanded .report-results-card{--dtb-table-viewport: min(42vh, 22rem)}.dtb-workspace.is-expanded .report-results-card .report-table-wrap,.dtb-workspace.is-expanded .report-results-card.has-visualization .report-table-wrap{height:var(--dtb-table-viewport);min-height:var(--dtb-table-viewport);max-height:var(--dtb-table-viewport)}.dtb-workspace-results-scroll{overflow:visible}.dtb-workspace:has(.dtb-workspace-config.is-expanded){min-height:0;align-items:start}.dtb-config-panel{max-height:none}.dtb-config-panel.is-expanded{height:auto;min-height:0}.dtb-config-body{overflow:auto;max-height:min(50vh,28rem)}.dtb-config-header,.dtb-config-footer{flex-direction:column;align-items:stretch}}.report-save-row{display:flex;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap}.report-save-row input{flex:1;min-width:160px;padding:.5rem .6rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-family:inherit}.check-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);min-height:36px;padding:.15rem 0;cursor:pointer}.check-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary)}.report-sidebar{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm)}.report-sidebar h3{margin:var(--space-3) 0 var(--space-1);font-size:var(--font-size-sm);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.report-sidebar select,.report-sidebar input{padding:.45rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-family:inherit}.save-row{display:flex;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.save-row input{flex:1;min-width:160px;padding:.5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm)}.field-hint{display:block;margin:0;font-size:var(--font-size-xs);color:var(--color-muted)}.role-badge{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;background:var(--color-primary-light);color:var(--color-primary)}.role-super_admin,.role-admin{background:color-mix(in srgb,#64b5f6 18%,var(--color-surface));color:#1a4d8f}.role-data_producer{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));color:var(--color-primary)}.role-data_consumer{background:color-mix(in srgb,#b39ddb 18%,var(--color-surface));color:#6b21a8}.temp-password-banner{margin:var(--space-4) 0;padding:var(--space-4);background:color-mix(in srgb,#ffb74d 16%,var(--color-surface));border:1px solid #f0d78c;border-radius:var(--radius-md);animation:banner-enter var(--motion-base) var(--ease-decelerate)}.temp-password-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap}.table-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.perm-consumer-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.perm-page .perm-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:var(--space-5);align-items:start}.perm-consumer-panel,.perm-editor-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.perm-consumer-panel{position:sticky;top:var(--space-4);display:flex;flex-direction:column;min-height:0;gap:var(--space-3)}.perm-panel-header h2{margin:0;font-size:var(--font-size-lg)}.perm-panel-header p{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.perm-consumer-panel .consumer-search,.perm-value-search{width:100%;margin-top:0;padding:.5rem .65rem;border:1px solid var(--color-border-input);border-radius:var(--dropdown-radius);font-size:var(--font-size-sm);background:var(--color-surface);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.perm-consumer-panel .consumer-search::placeholder{font-size:.72rem;color:var(--color-muted)}.perm-consumer-panel .consumer-search:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:1px;border-color:var(--color-primary);box-shadow:none}.perm-consumer-list-wrap{margin-top:0;border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-canvas);overflow:hidden;max-height:min(65vh,560px);display:flex;flex-direction:column;min-height:12rem}.perm-consumer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;overflow:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-primary) 25%,transparent) transparent}.perm-consumer-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;margin:0;padding:.55rem .75rem;border:none;border-bottom:1px solid var(--color-border);border-left:var(--dropdown-accent-width) solid transparent;border-radius:0;background:var(--color-surface);font:inherit;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.perm-consumer-item:last-child{border-bottom:none}.perm-consumer-item:hover,.perm-consumer-item:focus-visible{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-left-color:var(--color-primary);outline:none}.perm-consumer-item.is-selected{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));border-left-color:var(--color-primary)}.perm-consumer-name{display:block;width:100%;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-consumer-email{display:block;width:100%;font-size:.72rem;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-consumer-empty{margin:0;padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-canvas);font-size:var(--font-size-sm);text-align:center}.perm-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.perm-editor-identity{min-width:0}.perm-editor-eyebrow{margin:0 0 .2rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.perm-editor-identity h2{margin:0;font-size:var(--font-size-lg);line-height:1.25}.perm-editor-email{margin:.25rem 0 0;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-summary-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.perm-editor-body{position:relative;min-height:16rem;display:block;width:100%}.perm-editor-body.is-loading{pointer-events:none}.perm-editor-switch{display:flex;flex-direction:column;gap:var(--space-4)}.perm-editor-section{border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface);padding:var(--space-4);width:100%;min-width:0}.perm-editor-switch,.perm-editor-section .perm-dataset-list,.perm-dataset-item,.perm-dataset-fields{width:100%;min-width:0}.perm-editor-skeleton{display:flex;flex-direction:column;gap:var(--space-4)}.perm-skeleton-card{border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-canvas);padding:var(--space-4);display:flex;flex-direction:column;gap:.65rem}.perm-skeleton-line,.perm-skeleton-block{border-radius:var(--dropdown-radius);background:color-mix(in srgb,var(--color-border) 70%,var(--color-surface));animation:perm-skeleton-pulse 1.2s var(--ease-standard) infinite}.perm-skeleton-line{height:.7rem;width:70%}.perm-skeleton-line.is-title{width:38%;height:.9rem}.perm-skeleton-line.is-short{width:48%}.perm-skeleton-block{height:6.5rem;width:100%;margin-top:.35rem}.perm-skeleton-block.is-short{height:4rem}.perm-editor-empty{display:flex;align-items:center;justify-content:center;min-height:12rem;padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-canvas);text-align:center}.perm-editor-empty p{margin:0}.perm-steps{display:flex;flex-direction:column;gap:var(--space-4)}.perm-step{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.perm-step-head{margin-bottom:var(--space-3)}.perm-step-head h3{margin:0;font-size:var(--font-size-base);font-weight:700}.perm-step-head p{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.perm-checkbox-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.perm-checkbox-hint{font-size:.65rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perm-row-filters{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.perm-row-filters-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;list-style:none;font-size:var(--font-size-sm);font-weight:600}.perm-row-filters-summary::-webkit-details-marker{display:none}.perm-row-filters-body{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.perm-editor-sections{display:flex;flex-direction:column;gap:var(--space-5)}.perm-editor-section-head{margin-bottom:var(--space-3)}.perm-editor-section-head h3,.perm-row-filters-header h3{margin:0 0 var(--space-1);font-size:var(--font-size-base);font-weight:700;color:var(--color-text)}.perm-editor-section-head p,.perm-row-filters-header p{margin:0;font-size:var(--font-size-sm);line-height:1.45;max-width:52rem}.perm-row-filters-panel{border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface);padding:var(--space-4)}.perm-row-filters-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.perm-row-filters-empty{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}.perm-row-filters-empty p{margin:0}.perm-filter-card-list{list-style:none;margin:0 0 var(--space-4);padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.perm-filter-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);padding:var(--space-3) var(--space-4) var(--space-4)}.perm-filter-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.perm-filter-card-title{margin:0 0 var(--space-1);font-size:var(--font-size-sm);font-weight:700}.perm-filter-card-hint{margin:0;font-size:var(--font-size-xs);line-height:1.4;max-width:40rem}.perm-filter-remove{flex-shrink:0}.perm-filter-card .perm-checkbox-panel{border:none;background:transparent;padding:0;box-shadow:none}.perm-filter-custom{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.perm-filter-custom-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted)}.perm-filter-custom-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.perm-filter-custom-row input{flex:1 1 12rem;min-width:0;padding:.45rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm)}.perm-filter-custom-row input:focus{outline:2px solid rgba(var(--color-primary-rgb),.35);outline-offset:1px;border-color:var(--color-primary)}.perm-filter-add{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.perm-filter-add-btn{min-height:2.25rem}.perm-filter-add-menu{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}.perm-filter-add-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);padding:.35rem .8rem;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.perm-filter-add-option:hover{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.perm-filter-add-cancel{margin-left:auto}.perm-filter-dataset-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.perm-filter-dataset-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas);overflow:hidden}.perm-filter-dataset-card.is-expanded{border-color:rgba(var(--color-primary-rgb),.35)}.perm-filter-dataset-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.perm-filter-dataset-head:hover .perm-filter-dataset-title{color:var(--color-primary)}.perm-filter-dataset-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.perm-filter-dataset-title{font-size:var(--font-size-sm);font-weight:700}.perm-filter-dataset-meta{font-size:var(--font-size-xs)}.perm-filter-dataset-body{padding:0 var(--space-4) var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.perm-row-filters-empty--nested{padding:var(--space-3)}.perm-column-filter-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.perm-column-filter-row{display:grid;grid-template-columns:minmax(14rem,1.15fr) minmax(18rem,1.75fr) auto;gap:var(--space-3);align-items:end}.perm-column-filter-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.perm-column-filter-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted)}.perm-column-filter-field .form-select-dropdown,.perm-column-filter-field .form-select-trigger,.perm-column-filter-value .dtb-suggest,.perm-column-filter-value .dtb-suggest-input{width:100%}.perm-column-filter-field .form-select-trigger,.perm-column-filter-value .dtb-suggest-input{height:2.25rem;min-height:2.25rem;box-sizing:border-box;padding:.35rem .7rem;border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);line-height:1.25}.perm-column-filter-value{justify-content:flex-end}.perm-column-filter-remove{align-self:end;justify-self:start;height:2.25rem;min-height:2.25rem;box-sizing:border-box}@media (max-width: 900px){.perm-column-filter-row{grid-template-columns:1fr;align-items:stretch}}.perm-editor-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);width:100%}.perm-total-badge{flex-shrink:0;padding:.25rem .65rem;border-radius:var(--dropdown-radius);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-size:var(--font-size-xs);font-weight:700}.perm-page .page-howto{margin-bottom:var(--space-4)}.perm-dimension-overview{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.perm-dimension-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:.35rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-canvas);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease}.perm-dimension-pill:hover{border-color:var(--color-primary)}.perm-dimension-pill.is-active{border-color:var(--color-primary);background:var(--color-primary-light)}.perm-dimension-pill.is-empty .perm-dimension-pill-count{opacity:.55}.perm-dimension-pill-label{color:var(--color-text)}.perm-dimension-pill-count{min-width:1.25rem;padding:.1rem .35rem;border-radius:var(--radius-full);background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:700;text-align:center}.perm-dimension-hint{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.45}.perm-editor-body{display:block;width:100%}.perm-dimension-tabs{display:flex;flex-direction:column;gap:var(--space-2)}.perm-dimension-tab{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-standard)}.perm-dimension-tab:active{transform:scale(.98)}.perm-dimension-tab:hover{border-color:var(--color-primary)}.perm-dimension-tab.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-header-text)}.perm-dimension-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:var(--radius-full);background:#ffffff2e;font-size:.72rem;font-weight:700}.perm-dimension-tab:not(.is-active) .perm-dimension-count{background:var(--color-primary-light);color:var(--color-primary)}.perm-dataset-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:var(--space-4)}.perm-dataset-panel-empty{display:flex;align-items:center;justify-content:center;min-height:8rem}.perm-dataset-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.perm-dataset-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.perm-dataset-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.perm-dataset-item.is-enabled{border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border))}.perm-dataset-item-head{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3)}.perm-dataset-item-main{flex:1;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);min-width:0;margin:0;padding:0;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit}.perm-dataset-item-main:disabled{cursor:default}.perm-dataset-item-main:not(:disabled):hover .perm-dataset-item-label{color:var(--color-primary)}.perm-dataset-item-main:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,white);outline-offset:2px;border-radius:var(--radius-sm)}.perm-dataset-item-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.perm-dataset-item-label{font-weight:600;color:var(--color-text);line-height:1.35}.perm-dataset-item-meta{font-size:var(--font-size-xs)}.perm-dataset-collapse-icon{flex-shrink:0;width:.55rem;height:.55rem;margin-top:.35rem;border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);transform:rotate(-45deg);transition:transform var(--motion-fast) var(--ease-standard)}.perm-dataset-collapse-icon.is-open{margin-top:.2rem;transform:rotate(45deg)}.perm-dataset-toggle{flex-shrink:0;position:relative;width:2.6rem;height:1.45rem;margin:0;padding:0;border:1px solid var(--color-border-input);border-radius:999px;background:var(--color-control-track);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.perm-dataset-toggle.is-on{background:var(--color-primary);border-color:var(--color-primary)}.perm-dataset-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,white);outline-offset:2px}.perm-dataset-toggle-thumb{position:absolute;top:2px;left:2px;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--color-control-knob);box-shadow:0 1px 2px #0000002e;transition:transform var(--motion-fast) var(--ease-standard)}.perm-dataset-toggle.is-on .perm-dataset-toggle-thumb{transform:translate(1.15rem)}.perm-dataset-fields{border-top:1px solid var(--color-border);padding:var(--space-4);background:var(--color-panel-subtle);display:flex;flex-direction:column;gap:var(--space-4)}.perm-dataset-row-filters{margin-top:0;padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.perm-dataset-row-filters-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.perm-dataset-row-filters-hint{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);max-width:40rem}.perm-dataset-row-filters .perm-filter-add-btn{flex-shrink:0}.perm-dataset-fields-loading{display:flex;justify-content:center;padding:var(--space-4) 0}.perm-dataset-fields-empty{margin:0;font-size:var(--font-size-sm)}.perm-dataset-fields-block{display:flex;flex-direction:column;gap:var(--space-3)}.perm-dataset-fields-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--dropdown-radius);background:var(--color-surface)}.perm-dataset-fields-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;min-width:0}.perm-dataset-fields-heading .perm-dataset-field-group-title{margin:0}.perm-fields-count{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--dropdown-radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.72rem;font-weight:600;line-height:1.2;white-space:nowrap}.perm-fields-count.is-open-access{border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary)}.perm-dataset-fields-hint{margin:0;padding:.55rem .75rem;border-left:3px solid color-mix(in srgb,var(--color-primary) 55%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.4}.perm-dataset-field-group-title{margin:0 0 var(--space-2);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted)}.perm-checkbox-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:var(--space-4)}.perm-checkbox-panel-empty,.perm-checkbox-empty{margin:0}.perm-checkbox-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.perm-checkbox-toolbar-start{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-width:0;flex:1}.perm-checkbox-toolbar-start .perm-value-search{max-width:280px;margin-top:0}.perm-selection-meta{font-size:var(--font-size-sm);color:var(--color-muted)}.perm-checkbox-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.perm-checkbox-actions .btn-secondary.btn-sm{min-height:2rem;padding:.3rem .7rem;font-size:.78rem;white-space:nowrap}.perm-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:var(--space-2);max-height:420px;overflow:auto;padding-right:2px}.perm-checkbox-option{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:.7rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.perm-checkbox-option:hover{border-color:var(--color-primary)}.perm-checkbox-option.is-checked{border-color:var(--color-primary);background:var(--color-primary-light)}.perm-checkbox-option input{flex-shrink:0;accent-color:var(--color-primary)}.perm-checkbox-label{font-size:var(--font-size-sm);line-height:1.4;color:var(--color-text)}.perm-hint{margin:var(--space-4) 0 0;font-size:var(--font-size-sm)}@media (max-width: 900px){.perm-page .perm-layout{grid-template-columns:1fr}.perm-consumer-list-wrap{max-height:280px}.perm-consumer-panel{position:static}}.data-table-card.template-row-inactive{opacity:.72}.data-list-page{min-width:0;max-width:100%}.data-list-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:visible}.data-list-card>.data-list-toolbar{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.data-list-card>.data-list-footer:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.data-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);overflow:visible;position:relative;z-index:3}.data-list-toolbar .filter-chips-wrap{flex:1 1 200px;min-width:0}.data-list-toolbar .filter-dropdown,.data-list-toolbar .filter-select-dropdown{flex:0 1 280px;min-width:12rem}.data-list-toolbar .data-list-search{flex:1 1 280px;min-width:0}.data-list-toolbar-trailing{margin-left:auto;flex:0 0 auto;white-space:nowrap;font-size:var(--font-size-sm)}.data-list-search{padding:.55rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.data-list-wrap{margin-top:0;border:none;border-radius:0;max-height:min(70vh,720px);overflow:auto;-webkit-overflow-scrolling:touch;width:100%}.data-list-card .data-table thead th{background:var(--color-panel-subtle);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);padding-top:.85rem;padding-bottom:.85rem}.data-list-card .data-table tbody tr{transition:background .12s ease}.data-list-card .data-table tbody tr:hover{background:var(--color-panel-subtle)}.data-list-card .data-table tbody tr:last-child td{border-bottom:none}.data-table-offices{min-width:560px}.data-table-commodities{min-width:720px}.users-management-card{overflow:hidden}.users-table-wrap{margin:0;border:none;border-radius:0;max-height:min(65vh,720px);overflow:auto}.users-management-table.upload-data-table{width:100%;min-width:42rem}.users-management-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em}.users-management-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.users-management-table .users-name-cell,.users-management-table .users-office-cell{display:flex;flex-direction:column;gap:.1rem;min-width:0}.users-management-table .users-table-name{display:block;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-management-table .users-table-email,.users-management-table .users-office-code{display:block;font-size:.65rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-management-table .users-office-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-management-table .role-badge,.users-management-table .status-pill{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:.65rem}.users-management-table .template-download-actions-cell{overflow:visible;white-space:nowrap}.users-page .temp-password-banner{margin-bottom:var(--space-4)}.data-table td.table-actions,.data-table td.reference-data-row-actions{overflow:visible}.data-list-actions-col{width:1%;white-space:nowrap}.data-list-row-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.data-list-empty{text-align:center;color:var(--color-muted);padding:var(--space-6) var(--space-4)!important}.data-list-empty-panel{padding:var(--space-4)}.data-list-empty-panel .empty-state{border:none;background:transparent;padding:var(--space-6) var(--space-2)}.data-list-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.data-list-count{font-size:var(--font-size-sm);color:var(--color-muted);font-weight:600}.data-list-footer .pagination{margin:0}.reference-data-card{overflow:hidden}.reference-data-table-wrap{margin:0;border:none;border-radius:0;max-height:min(65vh,720px);overflow:auto}.reference-data-table.upload-data-table{width:100%;min-width:36rem}.reference-data-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em}.reference-data-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.reference-data-table .reference-data-primary-cell{display:flex;flex-direction:column;gap:.1rem;min-width:0}.reference-data-table .reference-data-primary{display:block;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-data-table .reference-data-secondary,.reference-data-table .reference-data-code{display:block;font-size:.65rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reference-data-table .reference-data-code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;color:var(--color-muted)}.reference-data-table .reference-data-region{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.psgc-geography-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.psgc-geography-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4);padding-top:var(--space-1)}.psgc-toolbar-copy{min-width:0;flex:1 1 16rem}.psgc-toolbar-title{margin:0;font-size:var(--font-size-sm);font-weight:650;color:var(--color-text);letter-spacing:.01em}.psgc-source-hint{margin:.2rem 0 0;font-size:var(--font-size-xs);max-width:40rem}.psgc-sync-btn{flex:0 0 auto;gap:.45rem;min-width:9.5rem;padding-inline:.9rem}.psgc-sync-btn svg{width:15px;height:15px;flex-shrink:0}.psgc-sync-btn svg.is-spinning{animation:spin .8s linear infinite}.psgc-loading-note{margin:var(--space-2) 0 0;font-size:var(--font-size-xs)}.psgc-directory-table-wrap{margin-top:0;border:none;border-radius:0;max-height:min(78vh,900px);overflow:auto}.psgc-directory-table{table-layout:fixed;width:100%;min-width:56rem}.psgc-directory-table col{width:calc(100% / 6)}.psgc-directory-table th,.psgc-directory-table td{width:calc(100% / 6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.psgc-directory-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.psgc-directory-pager{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.psgc-page-size{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.psgc-page-size select{min-height:2rem;padding:.2rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm)}.psgc-page-size select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.reference-data-table .status-pill{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:.65rem}.reference-data-table .template-download-actions-cell{overflow:visible;white-space:nowrap}.reference-data-loading{display:flex;justify-content:center;padding:var(--space-8) var(--space-4)}.reference-data-row-actions{gap:var(--space-1)}.field-parameters-card{overflow:hidden}.field-parameters-table-wrap{margin:0;border:none;border-radius:0;max-height:none;overflow-x:auto;overflow-y:visible}.field-parameters-table.upload-data-table{width:100%;min-width:44rem}.field-parameters-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em}.field-parameters-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.field-parameters-table .field-parameters-primary{display:block;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-parameters-table .field-parameters-code{display:block;font-size:.65rem;line-height:1.3;font-family:ui-monospace,Cascadia Code,Consolas,monospace;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-parameters-table .field-parameters-unit-na{color:color-mix(in srgb,var(--color-muted) 72%,transparent);font-style:italic;font-size:.85em}.field-parameters-table .status-pill{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:.65rem}.field-parameters-table .template-download-actions-cell{overflow:visible;white-space:nowrap}.ref-name-cell{min-width:160px}.ref-name{display:block;font-weight:600;color:var(--color-text)}.ref-variety-cell{color:var(--color-muted);font-size:var(--font-size-sm)}.ref-code{display:inline-block;padding:.15rem .45rem;border-radius:var(--radius-sm);background:var(--color-canvas);border:1px solid var(--color-border);font-size:var(--font-size-xs);font-family:ui-monospace,Cascadia Code,Consolas,monospace}.ref-type-pill,.ref-category-pill{display:inline-block;max-width:100%;padding:.2rem .55rem;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary-hover);font-size:var(--font-size-xs);font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ref-type-pill{background:color-mix(in srgb,#64b5f6 18%,var(--color-surface));color:#2a4a8a}@media (max-width: 768px){.data-list-page .page-header{flex-direction:column;align-items:stretch;margin-bottom:var(--space-4)}.data-list-page .page-header-actions,.data-list-page .page-header-actions .btn-primary{width:100%}.data-list-toolbar{flex-direction:column;align-items:stretch}.data-list-toolbar .filter-chips{width:100%}.data-list-toolbar .filter-chip{flex:1 1 calc(50% - var(--space-2));text-align:center}.data-list-toolbar .filter-dropdown,.data-list-search{width:100%;flex:1 1 100%;min-width:0}.data-list-toolbar-trailing{margin-left:0;text-align:right}.data-list-wrap{max-height:min(65vh,640px)}.data-list-footer{flex-direction:column;align-items:stretch}.data-list-footer .pagination{width:100%}}.consumer-search{width:100%;padding:.45rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm)}.perm-matrix{margin:var(--space-5) 0}.perm-matrix h2{font-size:var(--font-size-base);margin-bottom:var(--space-3)}.schema-preview{padding:var(--space-4) 0}.schema-preview h3{margin:0 0 var(--space-3);font-size:var(--font-size-base)}.template-status-badge{display:inline-block;padding:.15rem .55rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700}.template-table-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap;vertical-align:middle}.template-table-actions .table-row-icon-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.template-publish-btn{white-space:nowrap}.template-status-active{background:var(--color-primary-light);color:var(--color-primary)}.template-status-inactive{background:var(--color-danger-soft);color:var(--color-danger)}.template-row-inactive td{opacity:.72}.template-form .card-form>label{display:flex;flex-direction:column;gap:var(--space-2);font-weight:600;font-size:var(--font-size-sm)}.template-form-fields{display:flex;flex-direction:column;gap:var(--space-4);width:100%;margin-bottom:var(--space-2)}.template-form-steps{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.template-form-steps-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.template-form-step-item.is-disabled{opacity:.55}.template-form-step{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-muted);font:inherit;font-size:var(--font-size-sm);font-weight:600;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,color .15s ease}.template-form-step:hover:not(:disabled){border-color:rgba(var(--color-primary-rgb),.35);background:rgba(var(--color-primary-rgb),.04)}.template-form-step:disabled{opacity:.45;cursor:not-allowed}.template-form-step.is-active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);box-shadow:var(--shadow-sm)}.template-form-step.is-complete:not(.is-active){color:var(--color-text)}.template-form-step-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.template-form-step-label{font-weight:700;line-height:1.3}.template-form-step-hint{font-size:var(--font-size-xs);font-weight:500;color:var(--color-muted)}.template-form-step.is-active .template-form-step-hint{color:rgba(var(--color-primary-rgb),.75)}.template-form-step-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;border:2px solid currentColor;border-radius:var(--radius-full);font-size:var(--font-size-xs);line-height:1}.template-form-step.is-active .template-form-step-number,.template-form-step.is-complete .template-form-step-number{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.template-form-step-panel{animation:template-step-in .2s ease}@keyframes template-step-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.template-details-card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.template-schema-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.template-schema-summary-rows{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}.template-schema-summary-row{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr);gap:var(--space-3);align-items:baseline}.template-schema-summary-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-muted)}.template-schema-summary-value{font-size:var(--font-size-sm);min-width:0;word-break:break-word}.template-schema-summary-edit{flex-shrink:0;color:var(--color-primary);text-decoration:none;font-weight:var(--btn-font-weight)}.template-schema-summary-edit:hover{text-decoration:underline}.template-form-action-hint{margin:0;font-size:var(--font-size-sm)}.template-form-actions-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.template-form-actions-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3);margin-left:auto}.template-form-embedded .template-form-steps{margin-bottom:var(--space-4)}.template-form-embedded .template-details-card{padding:var(--space-4)}.template-form-step-divider{flex:1;height:1px;background:var(--color-border)}.template-form-step-intro{margin-bottom:var(--space-4)}.template-form-step-title{margin:0 0 var(--space-1);font-size:var(--font-size-base)}.template-form-step-desc{margin:0;font-size:var(--font-size-sm)}.template-form-step-summary{margin:var(--space-3) 0 0;font-size:var(--font-size-sm)}.template-form-fields label{display:flex;flex-direction:column;gap:var(--space-2);width:100%;font-weight:600;font-size:var(--font-size-sm)}.template-form-fields input,.template-form-fields select,.template-form-fields textarea,.template-form .card-form>label input,.template-form .card-form>label select,.template-form .card-form>label textarea{width:100%;box-sizing:border-box;font-weight:400}.template-form-section{margin-top:var(--space-4)}.template-form-card{padding:var(--space-5)}.template-form-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.template-form-panel-title{margin:0 0 var(--space-1);font-size:var(--font-size-xl)}.template-form-panel-subtitle{margin:0;font-size:var(--font-size-sm)}.template-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.template-schema-builder{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:var(--space-5);align-items:start;margin-top:var(--space-3)}.template-panel-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1)}.template-panel-count{flex-shrink:0;padding:.2rem .6rem;border-radius:var(--radius-full);background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:700;white-space:nowrap}.template-parameter-search{display:block;margin-top:var(--space-3)}.template-parameter-search input{width:100%;box-sizing:border-box;min-height:38px;padding:.45rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-sm)}.template-parameter-search input:focus{outline:2px solid rgba(var(--color-primary-rgb),.25);border-color:var(--color-primary)}.template-parameter-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.template-parameter-group-count{flex-shrink:0;font-size:var(--font-size-xs);font-weight:700;color:var(--color-muted)}.template-schema-stats{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 var(--space-2)}.template-schema-stat{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--font-size-xs);font-weight:600;color:var(--color-muted)}.schema-column-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.schema-column-table{margin:0;width:100%;table-layout:fixed}.schema-column-table th{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em}.schema-column-table th:nth-child(1){width:6%}.schema-column-table th:nth-child(2){width:14%}.schema-column-table th:nth-child(3){width:12%}.schema-column-table th:nth-child(4){width:10%}.schema-column-table th:nth-child(5){width:10%}.schema-column-table th:nth-child(6){width:14%}.schema-column-table th:nth-child(7){width:24%}.schema-column-table tbody td{vertical-align:middle;padding-block:.65rem}.schema-column-table .ref-type-pill{overflow:visible;text-overflow:unset}.schema-column-table code{font-size:var(--font-size-xs)}.schema-parameter-row{position:relative}.schema-parameter-order-cell{width:1%;white-space:nowrap;padding-inline:.35rem!important}.reorder-move-btns{display:inline-flex;flex-direction:column;gap:.1rem;flex:0 0 auto}.reorder-move-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.05rem;margin:0;padding:0;border:1px solid transparent;border-radius:.3rem;background:transparent;color:var(--color-muted);cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.reorder-move-btn:hover:not(:disabled){color:var(--color-text);background:color-mix(in srgb,var(--color-primary) 10%,white);border-color:color-mix(in srgb,var(--color-primary) 18%,var(--color-border))}.reorder-move-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,white);outline-offset:1px}.reorder-move-btn:disabled{opacity:.28;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.reorder-move-btn{transition:none!important}}.schema-parameter-required-toggle{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:0;border:none;background:transparent;cursor:pointer;color:var(--color-muted);font-size:var(--font-size-xs)}.schema-parameter-required-toggle.is-on{color:var(--color-primary)}.schema-parameter-required-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,white);outline-offset:2px;border-radius:var(--radius-sm)}.schema-parameter-required-toggle-thumb{position:relative;flex-shrink:0;width:2.35rem;height:1.3rem;border:1px solid var(--color-border-input);border-radius:999px;background:var(--color-control-track);transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.schema-parameter-required-toggle-thumb:before{content:"";position:absolute;top:1px;left:1px;width:.95rem;height:.95rem;border-radius:50%;background:var(--color-control-knob);box-shadow:0 1px 2px #0000002e;transition:transform var(--motion-fast) var(--ease-standard)}.schema-parameter-required-toggle.is-on .schema-parameter-required-toggle-thumb{background:var(--color-primary);border-color:var(--color-primary)}.schema-parameter-required-toggle.is-on .schema-parameter-required-toggle-thumb:before{transform:translate(1.05rem)}.schema-parameter-required-toggle-label{min-width:1.5rem;font-weight:600;letter-spacing:.02em}.schema-column-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);text-align:left}.schema-column-empty-title{margin:0;font-size:var(--font-size-base);font-weight:700}.schema-column-empty-message{margin:0 0 var(--space-2);max-width:36rem;font-size:var(--font-size-sm);line-height:1.5}.schema-custom-columns{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.schema-custom-columns-title{margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.template-parameter-panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);max-height:min(72vh,720px)}.template-parameter-panel-head{flex-shrink:0}.template-parameter-groups{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding-right:var(--space-1)}.template-parameter-add-section{flex-shrink:0;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.template-parameter-option-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.template-parameter-option{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.template-parameter-option:hover{border-color:rgba(var(--color-primary-rgb),.35);background:rgba(var(--color-primary-rgb),.04)}.template-parameter-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:inset 0 0 0 1px rgba(var(--color-primary-rgb),.15)}.template-parameter-option-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1rem;border:2px solid var(--color-border);border-radius:var(--radius-xs, 4px);background:var(--color-surface);color:var(--color-primary);font-size:.75rem;font-weight:700;line-height:1}.template-parameter-option.is-selected .template-parameter-option-check{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.template-parameter-option-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.template-parameter-option-label{font-size:var(--font-size-sm);font-weight:400;line-height:1.35;color:var(--color-text)}.template-parameter-option-key{font-size:var(--font-size-xs);color:var(--color-muted)}.template-parameter-inline-form{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.template-parameter-inline-form-title{margin:0 0 var(--space-3);font-size:var(--font-size-sm);font-weight:700}.template-parameter-add-btn{width:100%}.parameter-form-fields-compact{gap:var(--space-3)}.parameter-form-fields-compact .form-inline-actions{margin-top:var(--space-2)}.form-inline-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}.template-parameter-panel,.template-schema-preview-panel{min-width:0}.template-schema-preview-panel{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas);min-height:280px}.template-panel-title{margin:0;font-size:var(--font-size-base)}.template-panel-desc{margin:0;font-size:var(--font-size-sm)}.template-parameter-group{display:flex;flex-direction:column;gap:var(--space-2)}.template-parameter-group-title{margin:0;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.template-parameter-group-empty{margin:0;font-size:var(--font-size-sm)}.schema-column-empty{margin:0 0 var(--space-3);font-size:var(--font-size-sm)}.template-form-section h3{margin:0 0 var(--space-2);font-size:var(--font-size-base)}.ref-description{display:block;margin-top:.15rem;font-size:var(--font-size-xs)}.schema-parameter-picker{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.schema-parameter-picker label{font-size:var(--font-size-sm);font-weight:600}.schema-parameter-picker-row select{width:100%;min-height:38px}.schema-column-editor-row.is-parameter{border-color:rgba(var(--color-primary-rgb),.25);background:var(--color-primary-light)}.schema-column-editor-row input:read-only,.schema-column-editor-row select:disabled{background:#ffffffa6;cursor:not-allowed}.schema-parameter-allowed-cell{min-width:0}.schema-parameter-unit-cell{min-width:0;vertical-align:middle}.schema-parameter-unit-cell input{width:100%;min-width:0;box-sizing:border-box;padding:.35rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm)}.schema-parameter-unit-cell input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.schema-parameter-unit-na{color:color-mix(in srgb,var(--color-muted) 72%,transparent)}.schema-parameter-allowed-field,.schema-parameter-allowed-placeholder{display:flex;min-height:4.15rem;margin:0;width:100%}.schema-parameter-allowed-field{flex-direction:column;justify-content:center;gap:.3rem}.schema-parameter-allowed-placeholder{align-items:center}.schema-parameter-allowed-field input{width:100%;max-width:18rem;min-width:0;box-sizing:border-box;min-height:40px;padding:.5rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--font-size-sm);line-height:1.35}.schema-parameter-allowed-field input:focus{outline:2px solid rgba(var(--color-primary-rgb),.25);border-color:var(--color-primary)}.schema-parameter-allowed-hint{font-size:var(--font-size-xs);line-height:1.35}.schema-column-editor{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.schema-column-editor-head,.schema-column-editor-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(110px,.85fr) 44px minmax(72px,auto);gap:var(--space-3);align-items:center}.schema-column-editor-head{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.schema-column-editor-row{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas)}.schema-column-editor-row input,.schema-column-editor-row select{width:100%;min-height:38px}.schema-column-required{display:inline-flex;align-items:center;justify-content:center;margin:0}.schema-column-required input[type=checkbox]{width:1rem;height:1rem;margin:0;accent-color:var(--color-primary)}.schema-column-remove{justify-self:end}.schema-column-extra{grid-column:1 / -1}.schema-column-extra label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm)}.schema-column-extra label input{max-width:480px}.schema-column-extra-inline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.schema-column-add{align-self:flex-start}.btn-link-inline{background:none;border:none;padding:0;color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--btn-font-weight);cursor:pointer;text-decoration:underline}.template-form .modal-actions{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}@media (max-width: 768px){.template-form-steps-list{grid-template-columns:1fr}.template-schema-summary{flex-direction:column;align-items:stretch}.template-schema-summary-row{grid-template-columns:minmax(100px,120px) minmax(0,1fr)}.template-schema-summary-edit{align-self:flex-start}.template-form-actions-bar{flex-direction:column;align-items:stretch}.template-form-actions-buttons{margin-left:0;width:100%}.template-form-actions-buttons .btn-primary,.template-form-actions-buttons .btn-secondary{flex:1}.template-schema-builder{grid-template-columns:1fr}.template-parameter-panel{max-height:none}.schema-column-editor-head{display:none}.schema-column-editor-row,.schema-column-extra-inline{grid-template-columns:1fr}}.schema-preview-row td{background:color-mix(in srgb,var(--color-primary) 4%,var(--color-panel-subtle));padding:0;border-bottom:1px solid var(--color-border)}.template-management-table.upload-data-table tbody tr.schema-preview-row:hover>td,.template-management-table.upload-data-table tbody tr.schema-preview-row>td{background:color-mix(in srgb,var(--color-primary) 4%,var(--color-panel-subtle))}.system-config-page .page-header{margin-bottom:var(--space-4)}.system-config-form{display:flex;flex-direction:column;gap:var(--space-4)}.system-config-dirty-banner{padding:var(--space-2) var(--space-4);border:1px solid color-mix(in srgb,#a65c00 35%,var(--color-border));background:color-mix(in srgb,#a65c00 8%,var(--color-surface));color:#7a4500;font-size:var(--font-size-sm);border-radius:var(--radius-lg)}.system-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.system-config-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.system-config-card--wide{grid-column:1 / -1}.system-config-card-header h2{margin:0;font-size:var(--font-size-base);font-weight:600}.system-config-card-desc{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.system-config-field{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.system-config-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.system-config-field input{max-width:20rem;padding:.45rem .7rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit}.system-config-field input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.system-config-mfa{margin:0;padding:0;border:none}.system-config-mfa legend{padding:0;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:600}.system-config-mfa-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.system-config-check{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface-muted);font-size:var(--font-size-sm);font-weight:400;cursor:pointer}.system-config-check:has(input:checked){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.system-config-check input{margin:0}.system-config-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.system-config-preset{padding:.35rem .7rem;border:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--font-size-xs);font-family:inherit;cursor:pointer}.system-config-preset:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border))}.system-config-preset.is-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));color:var(--color-primary)}.system-config-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.system-config-footer-note{margin:0;font-size:var(--font-size-sm);max-width:36rem}.system-config-footer-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}@media (max-width: 900px){.system-config-grid,.system-config-mfa-options{grid-template-columns:1fr}.system-config-field input{max-width:none}}.config-section{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.config-section h2{margin:0 0 var(--space-4);font-size:var(--font-size-lg)}.config-unsaved{margin-bottom:var(--space-3)}.trend-mobile-only{display:none}.health-monitor-page .page-header{margin-bottom:var(--space-4)}.health-summary{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:stretch;margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.health-summary--ok{border-left:3px solid #4a8f4a}.health-summary--warn{border-left:3px solid #a65c00}.health-summary--down{border-left:3px solid #c45c5c}.health-summary--neutral{border-left:3px solid #9ab09a}.health-summary-main{min-width:140px}.health-summary-status{margin:0;font-size:var(--font-size-xl);font-weight:600;text-transform:capitalize;line-height:1.2}.health-summary--ok .health-summary-status{color:#2d6a2d}.health-summary--warn .health-summary-status{color:#a65c00}.health-summary--down .health-summary-status{color:#8b2e2e}.health-summary-strip{display:flex;flex:1;flex-wrap:wrap;gap:var(--space-3)}.health-summary-stat{display:flex;flex-direction:column;gap:.15rem;min-width:7.5rem;padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.health-summary-stat-label{font-size:.65rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.health-summary-stat-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-monitor-card{overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.health-monitor-card-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.health-monitor-card-title{margin:0;font-size:var(--font-size-base);font-weight:600}.health-monitor-table-wrap{margin:0;border:none;border-radius:0;max-height:min(65vh,720px);overflow:auto}.health-monitor-table.upload-data-table{width:100%;min-width:28rem}.health-monitor-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em}.health-monitor-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.health-monitor-table .health-monitor-primary{display:block;font-weight:600;color:var(--color-text);text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-monitor-table .status-pill{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:.65rem}.backup-manager-page .page-header{margin-bottom:var(--space-4)}.backup-summary{margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.backup-summary-header{margin-bottom:var(--space-3)}.backup-summary-title{margin:0;font-size:var(--font-size-base);font-weight:600}.backup-summary-strip{display:flex;flex-wrap:wrap;gap:var(--space-3)}.backup-summary-stat{display:flex;flex-direction:column;gap:.15rem;min-width:7rem;flex:1 1 7rem;padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md)}.backup-summary-stat-label{font-size:.65rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.backup-summary-stat-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-summary-stat.is-completed .backup-summary-stat-value{color:#2d6a2d}.backup-summary-stat.is-progress .backup-summary-stat-value{color:#a65c00}.backup-summary-stat.is-failed .backup-summary-stat-value{color:#8b2e2e}.backup-manager-card{overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.backup-manager-table-wrap{margin:0;border:none;border-radius:0;max-height:min(65vh,720px);overflow:auto}.backup-manager-table.upload-data-table{width:100%;min-width:40rem}.backup-manager-table.upload-data-table thead th{font-weight:var(--btn-font-weight);letter-spacing:.01em}.backup-manager-table.upload-data-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface))}.backup-manager-table .status-pill{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:.65rem}.backup-manager-table .backup-manager-error{color:#8b2e2e}.backup-manager-table .template-download-actions-cell{overflow:visible;white-space:nowrap}@media (min-width: 769px){.trend-mobile-only{display:none}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-4);margin:var(--space-5) 0}.stat-grid-compact{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm)}.stat-card.tone-ok .stat-value{color:#2d6a2d}.stat-card.tone-warn .stat-value{color:#a65c00}.stat-label{font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.stat-value{font-size:var(--font-size-2xl);font-weight:700;line-height:1.1}.trend-bars{display:flex;flex-direction:column;gap:var(--space-2);max-height:200px;overflow-y:auto}.trend-row{display:grid;grid-template-columns:48px 1fr 32px;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs)}.trend-bar-wrap{display:flex;gap:2px;height:8px;background:var(--color-nav-hover);border-radius:var(--radius-sm);overflow:hidden}.trend-bar.committed{background:#4a8f4a;height:100%}.trend-bar.failed{background:#c45c26;height:100%}.config-summary{max-width:var(--modal-max-width);margin-top:var(--space-4)}.config-summary-list{display:grid;grid-template-columns:180px 1fr;gap:var(--space-2) var(--space-4);margin:0}.config-summary-list dt{font-weight:600;color:var(--color-muted)}.config-summary-list dd{margin:0}.config-section h3{margin:0 0 var(--space-3);font-size:var(--font-size-base)}.config-note{margin-top:var(--space-4)}.auth-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);min-height:100vh;width:100%}.auth-split-visual{position:relative;min-height:100%;overflow:hidden}.auth-split-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.auth-split-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:var(--space-8);background:linear-gradient(180deg,#06402b33,#06402b73,#06402bbf)}.auth-split-overlay-logos{justify-content:center}.auth-visual-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);text-align:center;width:min(100%,42rem)}.auth-partner-logos{display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;gap:clamp(.75rem,2.2vw,1.25rem);width:100%}.auth-partner-logo-slot{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;height:clamp(5.5rem,11vh,7.25rem);width:clamp(5.5rem,11vh,7.25rem)}.auth-partner-logo-rule{flex:0 0 auto;align-self:center;width:1px;height:52%;min-height:2rem;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.45) 35%,rgba(255,255,255,.45) 65%,transparent 100%)}.auth-partner-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 3px 12px rgba(0,0,0,.28))}.auth-visual-title{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,.32)}.auth-visual-title-line{margin:0;font-size:clamp(1rem,2.4vw,1.3125rem);font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:#ffffffeb;line-height:1.2}.auth-visual-title-accent{margin:0;font-size:clamp(2.5rem,6.5vw,3.5rem);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;line-height:1.05;text-shadow:0 2px 16px rgba(0,0,0,.25)}.auth-visual-tagline{margin:var(--space-4) 0 0;max-width:22rem;font-size:clamp(1rem,1.6vw,.875rem);font-style:italic;font-weight:400;color:#fffc;line-height:1.5;letter-spacing:.01em}.auth-split-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(var(--space-5),4vw,var(--space-8));background:linear-gradient(180deg,var(--color-panel-subtle) 0%,var(--color-surface) 100%)}.auth-split-panel-inner{width:100%;max-width:440px}.auth-split-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.auth-split-content .auth-logo{align-items:center;text-align:center}.auth-split-tagline{margin:var(--space-4) 0 0;max-width:22rem;color:#fffffff2;font-size:var(--font-size-lg);font-weight:500;line-height:1.4;letter-spacing:.01em}.auth-logo{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--space-3)}.auth-logo-on-dark .auth-logo-text strong,.auth-logo-on-dark .auth-logo-text span{color:#fff}.auth-logo-on-dark .auth-logo-text span{opacity:.9}.auth-logo-text{display:flex;flex-direction:column;gap:var(--space-1)}.auth-logo-text strong{font-size:var(--font-size-2xl);color:var(--color-primary)}.auth-logo-text span{color:var(--color-muted);font-size:var(--font-size-sm)}.auth-logo-sub{font-size:var(--font-size-xs)!important}.auth-card{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(var(--color-primary-rgb),.04),0 12px 40px rgba(var(--color-primary-rgb),.08);padding:var(--space-6) var(--space-8)}.auth-split-panel .auth-card{margin:0}.auth-card-header{padding-bottom:var(--space-4);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.auth-card-header h1{margin:0 0 var(--space-2);font-size:clamp(1.375rem,3vw,1.625rem);font-weight:700;color:var(--color-primary);line-height:1.25}.auth-card-header p{margin:0;color:var(--color-muted);font-size:var(--font-size-sm);line-height:1.55}.auth-card-form{display:flex;flex-direction:column;gap:var(--space-4);margin:0}.auth-card-form input:not([type=checkbox]),.auth-card input:not([type=checkbox]){display:block;box-sizing:border-box;padding:.65rem .85rem;min-height:44px;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;width:100%;background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.auth-card-form input:not([type=checkbox])::placeholder{color:#9ca3af}.auth-card-form input:not([type=checkbox]):hover,.auth-card input:not([type=checkbox]):hover{border-color:#b8d4c0}.auth-card-form input:not([type=checkbox]):focus,.auth-card input:not([type=checkbox]):focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.auth-inline-link{font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary);text-decoration:none;white-space:nowrap}.auth-inline-link:hover{text-decoration:underline}.auth-remember-me{display:inline-flex;align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-1)) 0 var(--space-1);font-size:var(--font-size-sm);font-weight:var(--btn-font-weight);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.auth-remember-me input[type=checkbox]{width:1rem;height:1rem;margin:0;flex:0 0 auto;accent-color:var(--color-primary);cursor:pointer}.landing-features{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.landing-features li{position:relative;padding-left:1.125rem;font-size:var(--font-size-sm);color:var(--color-text);line-height:1.5}.landing-features li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.landing-sign-in{margin-top:var(--space-1);text-align:center}.landing-status{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.landing-status-heading{margin:0 0 var(--space-3);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.landing-status dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin:0;font-size:var(--font-size-sm)}.landing-status dt{color:var(--color-muted);font-weight:500}.landing-status dd{margin:0;font-weight:600;text-transform:capitalize}.landing-status-error{margin:var(--space-2) 0 0;padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-danger);line-height:1.5}.auth-submit-btn{margin-top:var(--space-2)}.auth-form-footnote{margin:var(--space-2) 0 0;padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-muted);line-height:1.5;text-align:center}.auth-code-input{letter-spacing:.35em;font-size:var(--font-size-lg);text-align:center}.password-field{position:relative;width:100%}.password-field input{width:100%;padding-right:2.75rem}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);cursor:pointer;padding:0;transition:color .15s ease,background-color .15s ease}.password-toggle:hover{color:var(--color-primary);background:var(--color-primary-light)}.password-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.dashboard-page .page-header{margin-bottom:var(--space-5)}.dashboard-page--super-admin .page-header,.dashboard-page--ops .page-header{margin-bottom:var(--space-4)}.dash-access-alert{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid color-mix(in srgb,#a65c00 40%,var(--color-border));background:color-mix(in srgb,#a65c00 8%,var(--color-surface));animation:banner-enter var(--motion-base) var(--ease-decelerate)}.dash-access-alert-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dash-access-alert-title{margin:0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.dash-access-alert .muted{margin:0;font-size:var(--font-size-sm)}.report-builder .dash-access-alert{margin-bottom:var(--space-4)}.admin-dashboard,.producer-dashboard,.consumer-dashboard{gap:var(--space-4)}.pd-main-grid{align-items:start}.pd-recent-panel{min-width:0}.dash-recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:min(28rem,55vh);overflow:auto}a.dash-recent-item{text-decoration:none;color:inherit}.dash-recent-item{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;margin:0;padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface-muted);color:inherit;text-align:left;cursor:pointer;font:inherit;box-sizing:border-box;transition:border-color .15s ease,background .15s ease}.dash-recent-item:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.dash-recent-item:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 55%,white);outline-offset:2px}.dash-recent-item:disabled{cursor:wait;opacity:.8}.dash-recent-item-icon{display:inline-flex;flex:0 0 auto;color:var(--color-primary);margin-top:.1rem}.dash-recent-item-icon svg{width:1.1rem;height:1.1rem}.dash-recent-item-body{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.dash-recent-item-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-recent-item-desc{font-size:var(--font-size-xs);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-recent-item-desc .status-pill{padding:.12rem .45rem;font-size:.65rem;letter-spacing:.02em}.dash-recent-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex:0 0 auto;min-width:4.5rem}.dash-recent-item-date{font-size:.65rem;white-space:nowrap}.dash-recent-item-action{font-size:var(--font-size-xs);font-weight:500;color:var(--color-primary);white-space:nowrap}.pd-recent-empty{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2) 0}.pd-recent-empty-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5)}.dashboard-layout{display:flex;flex-direction:column;gap:var(--space-5)}.super-admin-dashboard{gap:var(--space-4)}.sa-dash-panel{padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface)}.sa-dash-panel-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.sa-dash-panel-title{margin:.15rem 0 0;font-size:var(--font-size-base);font-weight:600}.sa-dash-metric-strip{margin-top:var(--space-1)}.sa-dash-health{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface)}.sa-dash-health--ok{border-left:3px solid #4a8f4a}.sa-dash-health--warn{border-left:3px solid #a65c00}.sa-dash-health--down{border-left:3px solid #c45c5c}.sa-dash-health--neutral{border-left:3px solid #9ab09a}.sa-dash-health-main{min-width:12rem}.sa-dash-health-status{margin:.15rem 0 0;font-size:var(--font-size-xl);font-weight:600;text-transform:capitalize;line-height:1.2}.sa-dash-health--ok .sa-dash-health-status{color:#2d6a2d}.sa-dash-health--warn .sa-dash-health-status{color:#a65c00}.sa-dash-health--down .sa-dash-health-status{color:#8b2e2e}.sa-dash-health-note{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.sa-dash-health-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-left:auto}.sa-dash-health-stat{display:flex;flex-direction:column;gap:.1rem;min-width:7rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface-muted)}.sa-dash-health-stat-label{font-size:.65rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em}.sa-dash-health-stat-value{font-size:var(--font-size-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sa-dash-health-action{align-self:center}.sa-dash-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.sa-dash-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.sa-dash-link{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface-muted);color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease}.sa-dash-link:hover{background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.sa-dash-link:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 55%,white);outline-offset:2px}.sa-dash-link-icon{display:inline-flex;flex:0 0 auto;color:var(--color-primary);margin-top:.1rem}.sa-dash-link-icon svg{width:1.1rem;height:1.1rem}.sa-dash-link-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.sa-dash-link-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.sa-dash-link-desc{font-size:var(--font-size-xs);color:var(--color-muted)}@media (max-width: 900px){.sa-dash-link-grid{grid-template-columns:1fr}.sa-dash-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-dash-health-meta{margin-left:0;width:100%}}.dashboard-stats-section{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard-section-title{margin:0;font-size:var(--font-size-lg)}.dashboard-stats-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-4)}.dashboard-admin-card{width:100%}.dashboard-grid-single{max-width:480px}.dashboard-welcome h2,.dashboard-summary h2,.dashboard-recent h2,.dashboard-quick-links h2{margin:0 0 var(--space-4);font-size:var(--font-size-lg)}.dashboard-cta{display:inline-block;margin-top:var(--space-4);text-decoration:none;text-align:center}.dashboard-stat{display:flex;flex-direction:column;gap:var(--space-2)}.quick-link-row{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.quick-link-row-horizontal{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quick-link-card{display:block;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit;background:var(--color-canvas);transition:border-color .15s,box-shadow .15s}.quick-link-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.quick-link-title{display:block;font-weight:600;color:var(--color-primary);margin-bottom:var(--space-1)}.quick-link-desc{display:block;font-size:var(--font-size-sm);color:var(--color-muted)}.dashboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-list li{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.dashboard-list-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-card.health-panel dl{display:grid;grid-template-columns:120px 1fr;gap:var(--space-2) var(--space-4);margin:0}.ui-card.health-panel dt{font-weight:600}@media (max-width: 768px){.dashboard-stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-list li{grid-template-columns:1fr;gap:var(--space-2)}.upload-history-layout{grid-template-columns:1fr}.upload-history-detail-column{display:none}.upload-history-mobile-detail,.history-detail-accordion{display:block}.history-layout .detail-drawer{display:none}.upload-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;margin:0;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 12px #00000014;flex-direction:column}.upload-page.has-upload-footer{padding-bottom:calc(11rem + env(safe-area-inset-bottom,0px))}.upload-action-bar .btn-primary,.upload-action-bar .btn-secondary{width:100%}.report-value-row,.report-filter-row{grid-template-columns:1fr}.report-loaded-banner{flex-direction:column;align-items:flex-start}.report-results-card{padding:var(--space-4)}.trend-desktop-only{display:none}.trend-mobile-only{display:block}}@media (max-width: 900px){.auth-split{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);min-height:100dvh;min-height:100vh}.auth-split-visual{min-height:0;height:clamp(12rem,34svh,16rem);max-height:42vh}.auth-split-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--space-4) var(--space-3);min-height:0;justify-content:center;background:linear-gradient(180deg,#06402b47,#06402b8c 48%,#06402bd1)}.auth-visual-brand{gap:var(--space-3);width:min(100%,22rem)}.auth-partner-logos{gap:.65rem}.auth-partner-logo-slot{height:clamp(2.75rem,10vw,3.75rem);width:clamp(2.75rem,10vw,3.75rem)}.auth-partner-logo-rule{min-height:1.25rem;height:48%}.auth-visual-title{padding-top:var(--space-3)}.auth-visual-title-line{font-size:clamp(.6875rem,2.8vw,.8125rem);letter-spacing:.14em;max-width:100%}.auth-visual-title-accent{font-size:clamp(1.5rem,7.5vw,2.125rem);letter-spacing:.1em}.auth-visual-tagline{margin-top:var(--space-2);font-size:clamp(.75rem,3vw,.8125rem);max-width:18rem}.auth-split-panel{flex:1 1 auto;align-items:stretch;justify-content:flex-start;padding:var(--space-4) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-6),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));background:var(--color-surface)}.auth-split-panel-inner{max-width:none;width:100%;padding-top:2.75rem}.auth-split-panel .auth-card{border:none;border-radius:0;box-shadow:none;background:transparent;padding:0}.auth-card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.auth-card-header h1{font-size:1.5rem}.auth-card-header p{font-size:.9375rem;line-height:1.5}.landing-features{gap:var(--space-2);margin:0 0 var(--space-4)}.landing-features li{font-size:.9375rem;line-height:1.45}.landing-sign-in{margin-top:var(--space-1)}.landing-status{margin-top:var(--space-4);padding:var(--space-3)}.theme-toggle-btn--auth{top:max(var(--space-3),env(safe-area-inset-top));right:max(var(--space-3),env(safe-area-inset-right))}}@media (max-width: 480px){.auth-split-visual{height:clamp(10.5rem,30svh,13.5rem)}.auth-visual-tagline{display:none}.auth-visual-title-line{letter-spacing:.1em}.auth-visual-title-accent{letter-spacing:.08em}.auth-form-footnote{font-size:.75rem;line-height:1.45}}@media (max-width: 768px){.field-parameters-table,.reference-data-table,.template-download-table,.template-management-table,.users-management-table,.audit-logs-table,.upload-history-table,.psgc-directory-table,.template-preview-schema-table,.health-monitor-table,.backup-manager-table,.schema-column-table{min-width:0}.upload-data-table thead th,.upload-data-table tbody td{padding:.5rem .65rem}.raw-data-table-toolbar{flex-wrap:wrap;gap:var(--space-2)}.raw-data-table-wrap{-webkit-overflow-scrolling:touch}.page-header{gap:var(--space-3)}.page h1{font-size:clamp(1.25rem,5vw,1.5rem)}}@media (max-width: 480px){.upload-monitor-metric-strip,.sa-dash-metric-strip,.upload-monitor-usage-strip,.dashboard-stats-row{grid-template-columns:1fr}.data-list-toolbar .filter-chip{flex:1 1 100%}.data-list-toolbar .filter-dropdown,.data-list-toolbar .filter-select-dropdown{min-width:0;width:100%}.report-viz-panel-actions{width:100%}.report-viz-panel-actions .btn-secondary,.report-viz-panel-actions .btn-sm{flex:1 1 auto}.committed-data-page .raw-data-table-footer{flex-direction:column;align-items:stretch;gap:var(--space-3)}.schema-column-table th:nth-child(n),.schema-column-table td{font-size:.8125rem}}
