:root{--color-bg:#050505;--color-bg-alt:#0b0b0b;--color-surface:#111;--color-surface-2:#171717;--color-surface-3:#202020;--color-border:#2a2a2a;--color-border-strong:#3a3a3a;--color-text:#f2f2f2;--color-text-muted:#b8b8b8;--color-text-subtle:#7a7a7a;--color-primary:#e53265;--color-primary-hover:#f04476;--color-primary-active:#c81f50;--color-on-primary:#050505;--color-primary-soft:color-mix(in srgb, var(--color-primary) 16%, var(--color-surface-2));--color-focus-ring:#e53265;--color-success:#2ebd73;--color-success-text:#6fdca6;--color-success-soft:color-mix(in srgb, var(--color-success) 14%, var(--color-surface));--color-warning:#d9a514;--color-warning-text:#e8c25c;--color-warning-soft:color-mix(in srgb, var(--color-warning) 14%, var(--color-surface));--color-danger:#e5484d;--color-danger-text:#f2848b;--color-danger-soft:color-mix(in srgb, var(--color-danger) 14%, var(--color-surface));--font-ui:Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:Consolas, "SFMono-Regular", "Liberation Mono", monospace;--font-xs:.75rem;--font-sm:.875rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:2rem;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-heavy:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--header-height:104px;--control-h-sm:38px;--control-h-md:44px;--control-h-lg:48px;--transition-fast:.12s linear;--z-header:20;--z-popover:30;--z-modal:50;--z-dialog:80;--z-menu:110;--z-job-widget:130;--z-toast:140;color:var(--color-text);background:var(--color-bg);font-family:var(--font-ui);font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*,:before,:after{box-sizing:border-box;border-radius:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0;overflow-x:hidden}[id]{scroll-margin-top:calc(var(--header-height) + var(--space-2))}button,a,textarea,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}a{color:inherit;text-decoration:none}.hub-shell,.login-shell{background:var(--color-bg);min-height:100vh}.hub-shell{padding:0 0 var(--space-2)}.topbar{z-index:var(--z-header);gap:var(--space-5);min-height:var(--header-height);padding:0 var(--space-5);border-bottom:8px solid var(--color-bg);background:var(--color-bg-alt);grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);align-items:center;display:grid;position:sticky;top:0}.brand{gap:var(--space-4);justify-self:start;align-items:center;min-width:0;display:inline-flex}.brand .brand-mark{background:var(--color-primary);width:62px;height:62px;color:var(--color-text);font-size:1.3rem;font-weight:var(--font-heavy);letter-spacing:-.04em;flex:none;place-items:center;display:grid}.brand .brand-copy{min-width:0;color:var(--color-text);gap:2px;line-height:1.1;display:grid}.brand .brand-copy strong{max-width:240px;color:var(--color-text);font-size:var(--font-lg);font-weight:var(--font-heavy);letter-spacing:.01em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.brand .brand-copy small{color:var(--color-text-muted);font-size:var(--font-sm)}.top-nav{gap:var(--space-3);justify-content:center;align-items:center;display:flex}.top-nav a,.top-nav button{min-height:var(--control-h-lg);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-sm);font-weight:var(--font-heavy);letter-spacing:.01em;text-transform:uppercase;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;place-items:center;padding:0 20px;display:grid}.top-nav a:hover,.top-nav button:hover{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface-2)}.top-nav a.is-active,.top-nav button.is-active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.user-actions{gap:var(--space-4);justify-self:end;align-items:center;display:flex}.header-icon-button,.status-button,.logout-button{width:46px;min-width:46px;height:46px;min-height:46px;color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.header-icon-button:hover,.status-button:hover,.logout-button:hover{border-color:var(--color-border);background:var(--color-surface-2);color:var(--color-primary-hover)}.status-button.status-healthy{color:var(--color-success-text)}.status-button.status-warning{color:var(--color-warning-text)}.status-button.status-critical{color:var(--color-danger-text)}.status-copy{display:none}.status-wrap{justify-self:auto;position:relative}.status-popover{z-index:var(--z-popover);width:min(390px,100vw - 24px);padding:var(--space-4);border:1px solid var(--color-border-strong);background:var(--color-surface);animation:.12s linear both statusPopoverIn;position:absolute;top:58px;right:0}.status-summary{gap:var(--space-3);grid-template-columns:12px minmax(0,1fr);align-items:start;display:grid}.status-summary strong,.status-list strong{color:var(--color-text);font-size:.93rem;display:block}.status-summary p,.status-list small{color:var(--color-text-muted);margin:4px 0 0;font-size:.8rem;display:block}.status-dot,.service-light{flex:none;display:inline-flex}.status-dot{background:var(--color-success);width:12px;height:12px;margin-top:4px}.status-dot-warning{background:var(--color-warning)}.status-dot-critical{background:var(--color-danger)}.status-list{padding:var(--space-3) 0;margin:var(--space-3) 0 0;border-top:1px solid var(--color-border);gap:11px;list-style:none;display:grid}.status-list li{grid-template-columns:12px minmax(0,1fr);align-items:start;gap:11px;display:grid}.service-light{width:9px;height:9px;margin-top:5px}.service-online{background:var(--color-success)}.service-offline{background:var(--color-danger)}.status-footer{color:var(--color-text-subtle);font-size:.72rem;font-weight:var(--font-heavy);letter-spacing:.1em;text-transform:uppercase;padding-top:10px;display:block}@keyframes statusPopoverIn{0%{opacity:0}to{opacity:1}}@media (width<=1360px){.topbar{gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto}.top-nav{justify-content:flex-start;overflow-x:auto}}@media (width<=980px){.topbar{min-height:auto;padding:var(--space-3);grid-template-columns:1fr auto}.top-nav{width:100%;padding-top:var(--space-2);grid-area:2/1/auto/-1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:visible}.top-nav a,.top-nav button{min-height:42px;padding:0 var(--space-2)}}@media (width<=680px){.topbar{border-bottom-width:var(--space-2)}.brand .brand-mark{width:52px;height:52px;font-size:1rem}.brand .brand-copy strong{max-width:100px;font-size:var(--font-sm)}.brand .brand-copy small,.header-icon-button:nth-child(2){display:none}.user-actions{gap:var(--space-2)}.header-icon-button,.status-button,.logout-button{width:40px;min-width:40px;height:40px;min-height:40px}}@media (width<=440px){.top-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.top-nav>:nth-child(4){display:none}}.section-label{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-primary);font-size:var(--font-xs);font-weight:var(--font-heavy);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;display:inline-flex}.dashboard-grid{gap:var(--space-2);width:100%;padding:var(--space-2) clamp(8px, 2vw, 32px) var(--space-5);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.dashboard-card{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface)}.dashboard-card h1,.dashboard-card h2,.dashboard-card p{margin:0}.dashboard-card h2{font-size:var(--font-lg);font-weight:var(--font-heavy);letter-spacing:-.015em;text-transform:uppercase;line-height:1.15}.summary-card{gap:var(--space-6);border-left:4px solid var(--color-primary);grid-column:1/-1;grid-template-columns:minmax(260px,1.4fr) minmax(300px,1fr) auto;align-items:center;display:grid}.summary-copy{min-width:0}.summary-copy h1{margin-top:var(--space-2);color:var(--color-text);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.55rem,2.3vw,2.25rem);font-weight:550;overflow:hidden}.summary-copy p{gap:var(--space-2);min-width:0;margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-sm);align-items:center;display:flex}.summary-copy p svg{color:var(--color-primary);flex:none}.summary-stats{border:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.summary-stats span{min-width:0;padding:var(--space-3);border-right:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-xs);text-align:center;text-transform:uppercase;display:grid}.summary-stats span:last-child{border-right:0}.summary-stats strong{color:var(--color-text);text-overflow:ellipsis;font-size:1.25rem;overflow:hidden}.summary-actions{gap:var(--space-2);display:flex}.summary-actions button,.card-action,.calendar-toggle,.secondary-card-action,.calendar-controls button{gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-border-strong);color:var(--color-text);background:var(--color-surface-2);cursor:pointer;font-size:var(--font-xs);font-weight:var(--font-heavy);text-transform:uppercase;justify-content:center;align-items:center;display:inline-flex}.summary-actions button:first-child,.card-action{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.summary-actions button:hover,.card-action:hover,.calendar-toggle:hover,.secondary-card-action:hover,.calendar-controls button:not(:disabled):hover{border-color:var(--color-primary)}.tasks-card,.spss-card{grid-column:span 6}.activity-card{grid-column:span 5}.calendar-card{grid-column:span 7}.calendar-card.is-expanded{grid-column:1/-1}.card-heading{gap:var(--space-4);min-width:0;margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.card-heading>div{min-width:0}.card-heading .section-label{margin-bottom:var(--space-2)}.compact-heading{margin-bottom:var(--space-4)}.dashboard-task-list,.activity-list{border-top:1px solid var(--color-border);gap:0;margin:0;padding:0;list-style:none;display:grid}.dashboard-task-list li,.activity-item{border-bottom:1px solid var(--color-border);min-width:0}.dashboard-task-list button{gap:var(--space-3);width:100%;min-width:0;min-height:46px;padding:var(--space-2) 0;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.dashboard-task-list button:hover{color:var(--color-primary-hover)}.dashboard-task-list span,.dashboard-task-list small,.activity-item span,.activity-item time{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dashboard-task-list span,.activity-item span{font-size:var(--font-sm)}.dashboard-task-list small{max-width:18ch;color:var(--color-text-subtle);font-size:var(--font-xs);text-transform:uppercase}.dashboard-more{color:var(--color-text-subtle);font-size:var(--font-xs);font-weight:var(--font-heavy);text-transform:uppercase;margin-top:var(--space-4)!important}.dashboard-empty{color:var(--color-text-muted);font-size:var(--font-sm);line-height:1.45}.text-action{color:var(--color-primary);cursor:pointer;font-size:var(--font-xs);font-weight:var(--font-heavy);text-transform:uppercase;background:0 0;padding:0}.spss-dashboard-status{gap:3px var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);display:grid;position:relative;overflow:hidden}.spss-dashboard-status svg,.spss-dashboard-progress{color:var(--color-primary);grid-row:1/span 2;align-self:center}.spss-dashboard-status strong,.spss-dashboard-status p{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.spss-dashboard-status strong{font-size:var(--font-sm)}.spss-dashboard-status p{color:var(--color-text-muted);font-size:var(--font-xs)}.spss-dashboard-progress{border:1px solid var(--color-border-strong);background:var(--color-surface-3);width:42px;height:8px;position:relative}.spss-dashboard-progress:after{width:var(--progress);content:"";background:var(--color-primary);position:absolute;inset:0 auto 0 0}.secondary-card-action{width:fit-content;margin-top:var(--space-3)}.activity-item{gap:var(--space-3);grid-template-columns:26px minmax(0,1fr) auto;align-items:center;min-height:48px;display:grid}.activity-item svg{color:var(--color-primary)}.activity-item time{max-width:16ch;color:var(--color-primary-hover);font-size:var(--font-xs)}.calendar-week{border:1px solid var(--color-border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-week>span{border-right:1px solid var(--color-border);text-align:center;place-content:center;gap:2px;min-width:0;min-height:74px;display:grid}.calendar-week>span:last-child{border-right:0}.calendar-week small{color:var(--color-text-muted);font-size:var(--font-xs);text-transform:uppercase}.calendar-week strong{font-size:var(--font-lg)}.calendar-week .is-active,.calendar-cell.is-active{color:var(--color-on-primary);background:var(--color-primary)}.calendar-week .is-active small{color:var(--color-on-primary)}.calendar-controls{gap:var(--space-2);margin-bottom:var(--space-3);justify-content:flex-end;align-items:center;display:flex}.calendar-controls strong{text-align:center;min-width:150px}.calendar-controls button:disabled{cursor:default;opacity:.45}.calendar-grid{border:1px solid var(--color-border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday,.calendar-cell{border-right:1px solid var(--color-border);min-width:0;min-height:40px;font-size:var(--font-xs);place-items:center;display:grid}.calendar-cell{border-top:1px solid var(--color-border);min-height:50px;font-size:var(--font-sm)}.calendar-weekday:nth-child(7n),.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.is-muted{color:var(--color-text-subtle)}@media (width<=1180px){.summary-card{grid-template-columns:1fr 1fr}.summary-actions{grid-column:1/-1}}@media (width<=760px){.dashboard-grid{grid-template-columns:1fr}.summary-card,.tasks-card,.spss-card,.activity-card,.calendar-card,.calendar-card.is-expanded{grid-column:1}.summary-card{gap:var(--space-4);grid-template-columns:1fr}.summary-actions{grid-column:auto}.activity-card{order:4}.calendar-card{order:5}}@media (width<=520px){.dashboard-card{padding:var(--space-4)}.summary-copy h1,.summary-copy p{white-space:normal}.summary-actions,.card-heading,.calendar-controls{flex-wrap:wrap}.summary-actions button{flex:150px}.summary-stats span{padding:var(--space-2);font-size:.58rem}.dashboard-task-list button{grid-template-columns:minmax(0,1fr) auto}.dashboard-task-list small{display:none}.calendar-week>span{min-height:58px}.calendar-week small{max-width:3ch;overflow:hidden}}.modal-backdrop{z-index:var(--z-modal);overscroll-behavior:none;background:#050505e0;place-items:center;padding:clamp(14px,3vw,36px);animation:.12s linear both modalBackdropIn;display:grid;position:fixed;inset:0}.modal-window{width:min(1120px,100%);max-height:min(820px,100vh - 24px);padding:var(--space-5);border:1px solid var(--color-border-strong);background:var(--color-surface);overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:minmax(260px,.78fr) minmax(320px,1.22fr);gap:clamp(22px,4vw,42px);animation:.12s linear both modalBackdropIn;display:grid;position:relative;overflow:auto}.modal-window-wide{width:min(1280px,100%);max-height:calc(100vh - 18px);padding:var(--space-4);grid-template-columns:1fr;overflow:hidden}.modal-close{top:var(--space-4);right:var(--space-4);z-index:2;border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface-2);width:42px;height:42px;color:var(--color-text);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);place-items:center;display:grid;position:absolute}.modal-close:hover{border-color:var(--color-primary);background:var(--color-surface-3)}.modal-visual{border:1px solid var(--color-border);background:var(--color-surface-2);min-height:410px;color:var(--color-primary);place-items:center;display:grid;position:relative;overflow:hidden}.modal-visual-grid{display:none}.modal-visual span{z-index:1;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.78rem;font-weight:var(--font-heavy);letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;position:absolute;bottom:26px;left:26px}.modal-content{align-content:start;gap:14px;min-width:0;padding-right:10px;display:grid}.modal-window-wide .modal-content{overscroll-behavior:contain;grid-template-rows:auto auto minmax(0,1fr);height:min(780px,100vh - 74px);padding-right:4px;overflow:hidden}.modal-title-row{justify-content:space-between;align-items:flex-start;gap:18px;padding-right:42px;display:flex}.modal-title-row>div:first-child{min-width:0}.modal-content h2{color:var(--color-text);font-size:clamp(1.5rem, 3vw, var(--font-2xl));letter-spacing:-.04em;text-transform:uppercase;margin:0}.modal-content p{max-width:76ch;color:var(--color-text-muted);font-size:var(--font-md);margin:0}.embedded-tool{border:1px solid var(--color-border);background:var(--color-bg-alt);gap:14px;margin-top:8px;padding:18px;display:grid}.modal-window-wide .embedded-tool{overscroll-behavior:contain;min-height:0;margin-top:0;overflow:hidden}.task-add-button,.task-add-icon-button,.task-add-text-button,.task-selection-bar button,.task-bulk-confirm,.graph-canvas-toolbar button,.task-context-menu button{min-height:var(--control-h-md);border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface-2);color:var(--color-text);font-weight:var(--font-bold);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.task-add-text-button:hover,.task-selection-bar button:hover,.graph-canvas-toolbar button:hover,.task-context-menu button:hover{border-color:var(--color-primary);background:var(--color-surface-3)}.task-add-button,.task-add-icon-button,.task-bulk-confirm{border-color:var(--color-primary);color:var(--color-on-primary);background:var(--color-primary)}.task-add-button:hover,.task-add-icon-button:hover,.task-bulk-confirm:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.task-add-icon-button{width:var(--control-h-md);gap:0;padding:0;font-size:1.25rem;line-height:1}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@media (width<=1080px){.modal-window{grid-template-columns:1fr}.modal-visual{min-height:280px}}@media (width<=760px){.modal-backdrop{padding:0}.modal-window,.modal-window-wide{border:0;width:100vw;height:100dvh;max-height:none}.modal-window{padding:var(--space-4)}.modal-window-wide .modal-content{height:100%}.modal-title-row{grid-template-columns:1fr;padding-right:42px;display:grid}}@media (width<=470px){.embedded-tool{padding:14px}}@media (pointer:coarse){.modal-close{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-window{transition:none;animation:none}}.task-tool{--accent:var(--color-primary);gap:16px;min-height:0}.modal-window-wide .task-tool{grid-template-rows:auto minmax(0,1fr);height:100%}.modal-window-wide .task-tool-with-selection{grid-template-rows:auto auto minmax(0,1fr)}.task-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.task-toolbar-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:10px;display:flex}.task-list-controls{justify-content:space-between;align-items:end;gap:10px;min-width:0;display:flex}.task-search{min-width:180px;color:var(--color-text-muted);font-size:.7rem;font-weight:var(--font-heavy);letter-spacing:.06em;text-transform:uppercase;flex:320px;gap:5px;display:grid}.task-search input{border:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-text);background:var(--color-surface-2);padding:0 12px}.task-search input:focus{border-color:var(--color-primary)}.task-filters{border:1px solid var(--color-border);flex:0 390px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.task-filters button{border-right:1px solid var(--color-border);min-height:42px;color:var(--color-text-muted);background:var(--color-surface-2);cursor:pointer;font-size:.76rem;font-weight:var(--font-bold);padding:0 12px}.task-filters button:last-child{border-right:0}.task-filters button.is-active{color:var(--color-on-primary);background:var(--color-primary)}.task-view-switch{--switch-padding:4px;isolation:isolate;min-height:var(--control-h-md);padding:var(--switch-padding);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);grid-template-columns:1fr 1fr;margin-left:auto;display:inline-grid;position:relative;overflow:hidden}.task-view-switch:before{box-sizing:border-box;top:var(--switch-padding);bottom:var(--switch-padding);left:var(--switch-padding);z-index:0;width:calc((100% - var(--switch-padding) * 2) / 2);border:1px solid var(--color-primary);content:"";background:var(--color-primary);transition:transform .26s cubic-bezier(.16,1,.3,1);position:absolute}.task-view-switch.is-graph:before{transform:translate(100%)}.task-view-switch span{z-index:1;min-width:62px;min-height:34px;color:var(--color-text-muted);font-size:.82rem;font-weight:var(--font-heavy);transition:color var(--transition-fast);place-items:center;padding:0 14px;display:grid;position:relative}.task-view-switch span.is-active{color:var(--color-on-primary)}.task-view-switch:hover{border-color:var(--color-primary)}.task-stats{flex-wrap:wrap;gap:10px;display:flex}.task-stats span{min-height:var(--control-h-md);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-semibold);background:var(--color-surface-2);align-content:center;gap:2px;padding:0 11px;display:grid}.task-stats strong{color:var(--color-text);font-size:1rem}.task-selection-bar{border:1px solid var(--color-primary);background:var(--color-primary-soft);justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.task-selection-bar span{color:var(--color-text);font-size:.78rem;font-weight:var(--font-semibold)}.task-selection-bar div{flex-wrap:wrap;gap:8px;display:flex}.task-selection-bar button{min-height:34px;padding:0 11px;font-size:.78rem}.task-list-panel,.task-graph-panel{border:1px solid var(--color-border);background:var(--color-surface);min-width:0;padding:16px}.task-list-editor{scrollbar-width:thin;min-height:520px;overflow:auto}.modal-window-wide .task-list-editor{min-height:0}.task-panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.task-panel-heading strong{color:var(--color-text)}.task-panel-heading span{color:var(--color-text-muted);font-size:.78rem;font-weight:var(--font-semibold)}.todo-branch{gap:9px;margin:0;padding:0;list-style:none;display:grid}.todo-branch .todo-branch{margin-top:9px}.todo-branch li{min-width:0}.todo-row{margin-left:calc(var(--depth) * 18px);border:1px solid var(--color-border);background:var(--color-surface-2);cursor:grab;transition:border-color var(--transition-fast), background-color var(--transition-fast), opacity var(--transition-fast);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.todo-row-with-children{grid-template-columns:28px auto minmax(0,1fr) auto}.todo-row:hover{border-color:var(--color-primary);background:var(--color-surface-3)}.todo-row-dragging{opacity:.45}.todo-row-selected{border-color:var(--color-primary);background:var(--color-primary-soft);outline:1px solid var(--color-primary);outline-offset:-1px;border-left-width:4px}.todo-row span{overflow-wrap:anywhere;min-width:0;color:var(--color-text);font-size:.92rem;font-weight:var(--font-medium)}.todo-row-done span{color:var(--color-text-subtle)}.todo-edit-input,.task-context-menu input{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;min-height:36px;color:var(--color-text);outline:none;padding:0 11px}.todo-edit-input:focus,.task-context-menu input:focus{border-color:var(--color-primary);outline:2px solid color-mix(in srgb, var(--color-primary) 44%, transparent);outline-offset:1px}.todo-actions{gap:7px;display:inline-flex;position:relative}.todo-check,.todo-collapse,.todo-select,.todo-add-child,.todo-remove,.todo-menu-trigger{border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface-2);width:34px;height:34px;color:var(--color-text);transition:border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);flex:none;place-items:center;display:grid}.todo-collapse-spacer{width:28px;height:28px}.todo-menu-trigger{width:38px;font-size:1rem;font-weight:var(--font-heavy);letter-spacing:.08em}.todo-context-menu{z-index:var(--z-popover);border:1px solid var(--color-border-strong);background:var(--color-bg-alt);width:180px;padding:5px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.todo-context-menu button{min-height:38px;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;padding:0 10px;font-size:.78rem}.todo-context-menu button:hover,.todo-context-menu button:focus-visible{background:var(--color-surface-3)}.todo-context-menu button.is-danger{color:var(--color-danger-text)}.todo-collapse{width:28px;height:28px;color:var(--color-text-muted);font-size:0;position:relative}.todo-collapse:before{content:"";transform-origin:50%;border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)rotate(45deg)}.todo-collapse[aria-expanded=false]:before{transform:translate(-58%,-50%)rotate(-45deg)}.todo-collapse:hover,.todo-check:hover,.todo-add-child:hover{border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--color-surface-3)}.todo-select span{background:0 0;border:1px solid;width:13px;height:13px}.todo-select[aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary)}.todo-select[aria-pressed=true] span{border-color:var(--color-primary);background:var(--color-primary)}.todo-remove:hover{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft)}.todo-row-done .todo-check{border-color:var(--color-success);color:var(--color-success-text)}.task-delete-backdrop{z-index:110;background:#050505e0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.task-delete-dialog{border:1px solid var(--color-danger);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr);gap:16px;width:min(440px,100%);padding:18px;display:grid;position:relative}.task-delete-icon{border:1px solid var(--color-danger);width:52px;height:52px;color:var(--color-danger-text);background:var(--color-danger-soft);place-items:center;display:grid}.task-delete-copy{min-width:0}.task-delete-copy span{color:var(--color-danger-text);font-size:.74rem;font-weight:var(--font-heavy);letter-spacing:.12em;text-transform:uppercase}.task-delete-copy h3{color:var(--color-text);overflow-wrap:anywhere;margin:5px 0 6px;font-size:1.18rem;line-height:1.18}.task-delete-copy p{color:var(--color-text-muted);margin:0;font-size:.9rem}.task-delete-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.task-delete-actions button{border:1px solid var(--color-border);cursor:pointer;min-height:40px;color:var(--color-text);font-weight:var(--font-bold);background:var(--color-surface-2);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);padding:0 14px}.task-delete-actions button:hover{border-color:var(--color-primary);background:var(--color-surface-3)}.task-delete-confirm,.task-delete-actions .task-delete-confirm{border-color:var(--color-danger);color:var(--color-text);background:var(--color-danger)}.task-delete-confirm:hover,.task-delete-actions .task-delete-confirm:hover{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 84%, var(--color-text))}.bulk-task-dialog{border:1px solid var(--color-border-strong);background:var(--color-surface);gap:14px;width:min(620px,100%);padding:18px;display:grid}.bulk-task-heading span{color:var(--color-primary);font-size:.72rem;font-weight:var(--font-heavy);letter-spacing:.12em;text-transform:uppercase}.bulk-task-heading h3{color:var(--color-text);margin:5px 0 6px;font-size:1.35rem}.bulk-task-heading p{color:var(--color-text-muted);margin:0;font-size:.88rem}.bulk-task-dialog textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-bg-alt);min-height:220px;color:var(--color-text);font:var(--font-semibold) .9rem/1.45 var(--font-mono);outline:none;padding:13px}.bulk-task-dialog textarea:focus{border-color:var(--color-primary)}.bulk-task-error{color:var(--color-danger-text);margin:0;font-size:.88rem}.bulk-task-hints{flex-wrap:wrap;gap:7px;display:flex}.bulk-task-hints span{border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-semibold);background:var(--color-surface-2);padding:5px 8px}.task-graph-layout{grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:14px;height:clamp(560px,68vh,680px);min-height:0;display:grid;position:relative}.modal-window-wide .task-graph-layout{height:100%}.graph-sidebar{border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;min-width:0;min-height:0;padding:14px;display:flex;overflow:hidden}.graph-sidebar-list{scrollbar-width:thin;align-content:start;gap:7px;min-height:0;margin:0;padding:0 5px 0 0;list-style:none;display:grid;overflow:auto}.graph-sidebar li{min-width:0}.graph-sidebar li button{width:calc(100% - var(--depth) * 13px);margin-left:calc(var(--depth) * 13px);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.78rem;font-weight:var(--font-semibold);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:var(--color-surface-2);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);grid-template-columns:12px minmax(0,1fr);align-items:center;gap:7px;padding:8px 9px;display:grid;position:relative;overflow:hidden}.graph-sidebar li button.graph-sidebar-button-with-children{grid-template-columns:18px 12px minmax(0,1fr)}.graph-sidebar li button:before{left:calc(var(--depth) * -13px + 6px);width:calc(var(--depth) * 13px + 8px);content:"";background:var(--color-border-strong);height:1px;position:absolute;top:50%}.graph-sidebar li button i{border:1px solid;width:9px;height:9px;display:block}.graph-sidebar-collapse{border:1px solid var(--color-border);width:18px;height:18px;color:var(--color-text-muted);background:var(--color-surface-3);transition:border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);place-items:center;font-size:0;display:grid;position:relative}.graph-sidebar-collapse:before{content:"";transform-origin:50%;border-bottom:2px solid;border-right:2px solid;width:6px;height:6px;transition:transform .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)rotate(45deg)}.graph-sidebar li button[aria-expanded=false] .graph-sidebar-collapse:before{transform:translate(-58%,-50%)rotate(-45deg)}.graph-sidebar li button:hover .graph-sidebar-collapse{border-color:var(--color-primary);color:var(--color-primary-hover)}.graph-sidebar-depth-0 button{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-surface-3)}.graph-sidebar-depth-0 button:before{display:none}.graph-sidebar-depth-2 button,.graph-sidebar-depth-3 button,.graph-sidebar-depth-4 button{color:var(--color-text-subtle)}.graph-sidebar-depth-3 button,.graph-sidebar-depth-4 button{border-style:dashed}.graph-sidebar-depth-0 button i{width:11px;height:11px}.graph-sidebar-depth-1 button i{width:8px;height:8px}.graph-sidebar-depth-2 button i,.graph-sidebar-depth-3 button i,.graph-sidebar-depth-4 button i{width:6px;height:6px}.graph-sidebar li button:hover,.graph-sidebar li.is-focused button{border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--color-surface-3)}.graph-sidebar-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.graph-sidebar li.is-done button{color:var(--color-text-subtle)}.task-graph-panel{height:100%;min-height:0;padding:0;position:relative;overflow:hidden}.graph-canvas-toolbar{z-index:3;border:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.graph-canvas-toolbar span{color:var(--color-text-muted);font-size:.78rem;font-weight:var(--font-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.graph-canvas-toolbar div{flex:none;align-items:center;gap:8px;display:inline-flex}.graph-canvas-toolbar button{min-width:36px;min-height:34px;padding:0 10px}.graph-canvas-toolbar .graph-fit-button{min-width:auto;padding:0 11px;font-size:.74rem}.graph-guide-switch{align-items:center;gap:9px;min-width:auto;padding:0 7px 0 11px;font-size:.74rem;display:inline-flex}.graph-guide-switch-label{color:inherit;font-size:.74rem;font-weight:var(--font-heavy)}.graph-guide-switch-track{border:1px solid var(--color-border-strong);background:var(--color-surface-3);width:50px;height:28px;transition:background-color var(--transition-fast), border-color var(--transition-fast);display:block;position:relative}.graph-guide-switch-track>span{background:var(--color-text-muted);width:20px;height:20px;transition:transform .26s cubic-bezier(.16, 1, .3, 1), background-color var(--transition-fast);display:block;position:absolute;top:3px;left:3px}.graph-guide-switch.is-on .graph-guide-switch-track{border-color:var(--color-primary);background:var(--color-primary)}.graph-guide-switch.is-on .graph-guide-switch-track>span{background:var(--color-text);transform:translate(22px)}.graph-canvas-toolbar strong{min-width:46px;color:var(--color-text);text-align:center;font-size:.82rem}.task-graph-canvas{overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:var(--color-bg-alt);width:100%;height:100%;min-height:0;display:block}.graph-center-button{z-index:4;border-color:var(--color-primary);background:var(--color-surface);place-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;display:grid;position:absolute;bottom:18px;right:18px}.graph-center-button span{border:2px solid var(--color-primary);width:24px;height:24px;display:block;position:relative}.graph-center-button span:before,.graph-center-button span:after{content:"";background:var(--color-primary);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.graph-center-button span:before{width:32px;height:2px}.graph-center-button span:after{width:2px;height:32px}.graph-center-button:hover{background:var(--color-surface-3)}.graph-viewport-bg{fill:#0000}.graph-cluster-guide{pointer-events:none}.graph-cluster-guide path{fill:color-mix(in srgb, var(--color-primary) 4%, transparent);stroke:color-mix(in srgb, var(--color-primary) 30%, transparent);stroke-width:1.5px;stroke-dasharray:8 10;stroke-linecap:butt;stroke-linejoin:bevel}.graph-cluster-guide text{fill:var(--color-text-subtle);stroke:var(--color-bg-alt);stroke-width:4px;paint-order:stroke;font-size:11px;font-weight:var(--font-heavy);letter-spacing:.02em}.graph-cluster-guide-active path{fill:color-mix(in srgb, var(--color-primary) 8%, transparent);stroke:var(--color-primary);stroke-dasharray:0}.graph-cluster-guide-active text{fill:var(--color-primary-hover)}.graph-edge{fill:none;stroke:color-mix(in srgb, var(--color-primary) 44%, transparent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transition:opacity var(--transition-fast), stroke var(--transition-fast), stroke-width var(--transition-fast)}.graph-edge-hitbox{fill:none;stroke:#0000;stroke-width:18px;stroke-linecap:round;cursor:pointer;pointer-events:stroke}.graph-edge-highlighted,.graph-edge-group:hover .graph-edge{stroke:var(--color-primary);stroke-width:3px}.graph-edge-muted{opacity:.16}.graph-edge-preview{fill:none;stroke:var(--color-primary-hover);stroke-width:2.5px;stroke-dasharray:8 8;stroke-linecap:round;pointer-events:none;animation:.9s linear infinite graphEdgePreview}.graph-node{cursor:move;-webkit-user-select:none;user-select:none;transition:opacity .17s}.graph-node-float{transform-box:fill-box;transform-origin:50%;will-change:transform;animation-name:graphNodeFloat;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.graph-node-dragging .graph-node-float,.graph-node-drop-target .graph-node-float{animation-play-state:paused}.graph-node circle{fill:var(--color-surface);stroke:var(--color-primary);stroke-width:3px;transition:fill .17s,stroke .17s,stroke-width .17s}.task-graph-panel.is-interacting .graph-node,.task-graph-panel.is-interacting .graph-edge{transition:none}.task-graph-panel.is-interacting .graph-node-float{animation-play-state:paused}.graph-node .graph-node-halo{fill:color-mix(in srgb, var(--color-primary) 7%, transparent);stroke:color-mix(in srgb, var(--color-primary) 16%, transparent);stroke-width:1px}.graph-node .graph-node-core{fill:color-mix(in srgb, var(--color-primary) 30%, transparent);stroke:#0000}.graph-node text{fill:var(--color-text);stroke:var(--color-bg-alt);stroke-width:4px;paint-order:stroke;font-size:12.5px;font-weight:var(--font-heavy);letter-spacing:.01em;pointer-events:none;opacity:.9}.graph-node-label-active{fill:var(--color-primary-hover);opacity:1}.graph-node-done circle:not(.graph-node-halo):not(.graph-node-core){stroke:var(--color-success)}.graph-node-done text{fill:var(--color-text-subtle)}.graph-node-linked circle:not(.graph-node-halo):not(.graph-node-core),.graph-node-focused circle:not(.graph-node-halo):not(.graph-node-core){stroke-width:4px}.graph-node-linked .graph-node-halo,.graph-node-focused .graph-node-halo{fill:color-mix(in srgb, var(--color-primary) 16%, transparent);stroke:color-mix(in srgb, var(--color-primary) 34%, transparent)}.graph-node-muted{opacity:.3}.graph-node-dragging circle:not(.graph-node-halo):not(.graph-node-core),.graph-node-drop-target circle:not(.graph-node-halo):not(.graph-node-core){stroke:var(--color-primary-hover)}.task-context-menu{z-index:80;border:1px solid var(--color-border-strong);background:var(--color-surface);gap:7px;width:188px;padding:9px;display:grid;position:absolute}.task-context-menu button{justify-content:start;min-height:36px;padding:0 11px;font-size:.82rem}.task-context-menu button:disabled{cursor:not-allowed;opacity:.48}.empty-state{color:var(--color-text-muted);margin:0}@keyframes graphEdgePreview{to{stroke-dashoffset:-16px}}@keyframes graphNodeFloat{0%,to{transform:translate(0)rotate(0)}28%{transform:translate(1.4px,-3.2px)rotate(.45deg)}58%{transform:translate(-1.1px,2px)rotate(-.38deg)}78%{transform:translate(.8px,-1.2px)rotate(.22deg)}}@media (width<=1080px){.task-graph-layout{grid-template-columns:1fr;height:auto}.task-graph-panel{height:min(64vh,620px);min-height:540px}.graph-sidebar{max-height:220px}}@media (width<=760px){.task-toolbar{align-items:stretch}.task-toolbar,.task-toolbar-actions,.task-list-controls,.task-add-button,.task-view-switch{width:100%}.task-list-controls{flex-direction:column;align-items:stretch}.task-search,.task-filters{flex:none;width:100%}.task-view-switch span{min-width:0}.graph-canvas-toolbar{align-items:stretch;display:grid}.task-graph-canvas{min-height:0}.task-graph-panel{order:1;height:560px;min-height:560px}.graph-sidebar{order:2;max-height:240px;overflow:auto}}@media (width<=470px){.todo-row{margin-left:calc(var(--depth) * 10px);padding:8px}.task-list-panel{padding:14px}.task-graph-panel{padding:0}}@media (pointer:coarse){.todo-check,.todo-collapse,.todo-select,.todo-add-child,.todo-remove,.todo-menu-trigger{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.graph-node-float{animation:none}}.spss-tool{--accent:var(--color-primary);grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;height:100%;min-height:0;display:grid;position:relative}.spss-tool,.spss-coding-panel,.spss-table-wrap,.spss-data-table-wrap,.spss-variable-picker-menu,.spss-filter-menu,.spss-variable-picker-list,.spss-data-column-list,.spss-data-sort-menu,.spss-codebook-bulk,.spss-value-dialog,.spss-value-dialog-card,.spss-codebook-import-card,.spss-codebook-clear-card,.spss-coding-preview-card,.spss-excel-export-card,.spss-quick-test-card,.spss-value-list,.spss-value-readonly-table{overscroll-behavior:contain}.spss-tabs{flex-wrap:wrap;gap:8px;display:flex}.spss-tabs button,.spss-file-button,.spss-download-button,.spss-remove-button,.spss-settings-card button,.spss-filter-card button,.spss-codebook-card button,.spss-codebook-clear-card button,.spss-run-card button,.spss-result-card a,.spss-prompt-card button,.spss-value-dialog button{border:1px solid var(--color-border);min-height:38px;color:var(--color-text);font-size:.82rem;font-weight:var(--font-heavy);background:var(--color-surface-2);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;padding:0 13px;display:inline-flex}.spss-tabs button:hover,.spss-file-button:hover,.spss-download-button:hover,.spss-remove-button:hover,.spss-settings-card button:hover,.spss-filter-card button:hover,.spss-codebook-card button:hover,.spss-codebook-clear-card button:hover,.spss-run-card button:hover,.spss-result-card a:hover,.spss-prompt-card button:hover,.spss-value-dialog button:hover{border-color:var(--color-primary);color:var(--color-text);background:var(--color-surface-3)}.spss-tabs button.is-active{border-color:var(--color-primary);color:var(--color-on-primary);background:var(--color-primary)}.spss-remove-button{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft)}.spss-icon-button{flex:none;width:38px;padding:0}.spss-upload-strip{border:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.spss-upload-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.spss-file-button input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.spss-upload-strip span,.spss-inline-message,.spss-run-card span,.spss-result-card span,.spss-variable-preview span,.spss-card-heading small,.spss-card-heading span{color:var(--color-text-muted);font-size:.82rem}.spss-error{border:1px solid var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft);margin:0;padding:10px 12px}.spss-view-panel,.spss-coding-panel{gap:12px;min-height:0;display:grid}.spss-view-panel{grid-template-rows:auto minmax(0,1fr)}.spss-search,.spss-settings-card input,.spss-settings-card select,.spss-filter-card input,.spss-filter-card select,.spss-variable-card select,.spss-variable-picker-menu input,.spss-data-sidebar input,.spss-codebook-row input,.spss-codebook-bulk,.spss-prompt-template,.spss-sample-size input,.spss-value-form input{border:1px solid var(--color-border);width:100%;min-height:40px;color:var(--color-text);background:var(--color-bg-alt);padding:0 12px}.spss-settings-card select,.spss-filter-card select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--color-primary) 50%) calc(100% - 18px) 50% / 6px 6px no-repeat, linear-gradient(135deg, var(--color-primary) 50%, transparent 50%) calc(100% - 13px) 50% / 6px 6px no-repeat, var(--color-bg-alt);padding-right:34px}.spss-settings-card select option,.spss-filter-card select option,.spss-variable-card select option{background-color:var(--color-surface-2);color:var(--color-text)}.spss-filter-card select:focus-visible,.spss-variable-card select:focus-visible,.spss-variable-picker-menu input:focus-visible,.spss-data-sidebar input:focus-visible,.spss-codebook-row input:focus-visible,.spss-codebook-bulk:focus-visible,.spss-prompt-template:focus-visible,.spss-sample-size input:focus-visible,.spss-value-form input:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 44%, transparent);outline-offset:1px;border-color:var(--color-primary)}.spss-search::placeholder,.spss-settings-card input::placeholder,.spss-filter-card input::placeholder,.spss-variable-picker-menu input::placeholder,.spss-data-sidebar input::placeholder,.spss-codebook-row input::placeholder,.spss-codebook-bulk::placeholder,.spss-prompt-template::placeholder,.spss-sample-size input::placeholder,.spss-value-form input::placeholder{color:var(--color-text-subtle)}.spss-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);background:var(--color-surface);scrollbar-width:thin;min-height:430px;overflow:auto}.spss-table{border-collapse:collapse;width:100%;min-width:960px;font-size:.82rem}.spss-table th,.spss-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:10px 11px}.spss-table th{z-index:1;color:var(--color-text);letter-spacing:.07em;text-transform:uppercase;background:var(--color-surface-2);font-size:.72rem;position:sticky;top:0}.spss-table td{color:var(--color-text-muted)}.spss-table td strong{color:var(--color-text)}.spss-table td:nth-child(4){text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.spss-variable-delete-button{width:28px;min-height:28px}.spss-values-button{width:100%;color:var(--color-primary);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;overflow:hidden}.spss-values-button:hover{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.spss-coding-panel{scrollbar-width:thin;padding-right:4px;overflow:auto}.spss-guided-header{z-index:8;border:1px solid var(--color-border-strong);background:var(--color-bg-alt);gap:8px;padding:10px;display:grid;position:sticky;top:0}.spss-coding-steps{border:1px solid var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.spss-coding-steps button{border-right:1px solid var(--color-border);min-width:0;min-height:42px;color:var(--color-text-muted);background:var(--color-surface-2);cursor:pointer;font-size:.76rem;font-weight:var(--font-bold);align-items:center;gap:8px;padding:0 10px;display:flex}.spss-coding-steps button:last-child{border-right:0}.spss-coding-steps button>span{border:1px solid var(--color-border-strong);width:24px;height:24px;color:var(--color-text);flex:none;place-items:center;font-size:.7rem;display:grid}.spss-coding-steps button.is-active{color:var(--color-on-primary);background:var(--color-primary)}.spss-coding-steps button.is-active>span{border-color:var(--color-on-primary);color:var(--color-on-primary)}.spss-coding-steps button.is-complete>span{border-color:var(--color-success);color:var(--color-success-text)}.spss-step-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.spss-step-actions span{color:var(--color-text-muted);font-size:.72rem}.spss-step-actions button{border:1px solid var(--color-border);min-height:36px;color:var(--color-text);background:var(--color-surface-2);cursor:pointer;font-size:.76rem;font-weight:var(--font-bold);padding:0 12px}.spss-step-actions button:last-child:not(:disabled){border-color:var(--color-primary);color:var(--color-on-primary);background:var(--color-primary)}.spss-step-actions button:disabled{cursor:default;opacity:.45}.spss-coding-step-variables>.spss-filter-card,.spss-coding-step-variables>.spss-memory-card,.spss-coding-step-variables>.spss-codebook-card,.spss-coding-step-variables>.spss-run-card,.spss-coding-step-variables>.spss-progress-card,.spss-coding-step-variables>.spss-result-card,.spss-coding-step-configuracion>.spss-codebook-card,.spss-coding-step-configuracion>.spss-run-card,.spss-coding-step-configuracion>.spss-progress-card,.spss-coding-step-configuracion>.spss-result-card,.spss-coding-step-libro>.spss-coding-grid,.spss-coding-step-libro>.spss-filter-card,.spss-coding-step-libro>.spss-memory-card,.spss-coding-step-libro>.spss-run-card,.spss-coding-step-libro>.spss-progress-card,.spss-coding-step-libro>.spss-result-card,.spss-coding-step-revision>.spss-coding-grid,.spss-coding-step-revision>.spss-filter-card,.spss-coding-step-revision>.spss-memory-card,.spss-coding-step-revision>.spss-codebook-card,.spss-coding-step-variables .spss-settings-card,.spss-coding-step-configuracion .spss-variable-card{display:none}.spss-coding-step-variables .spss-coding-grid,.spss-coding-step-configuracion .spss-coding-grid{grid-template-columns:1fr}.spss-coding-step-revision>.spss-run-card{z-index:7;border-color:var(--color-primary);position:sticky;bottom:0}.spss-data-panel{grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:12px;min-height:0;display:grid}.spss-coding-grid{grid-template-columns:minmax(360px,1.12fr) minmax(250px,.58fr);gap:12px;display:grid}.spss-variable-card,.spss-settings-card,.spss-filter-card,.spss-codebook-card,.spss-run-card,.spss-result-card,.spss-data-sidebar,.spss-data-table-card,.spss-empty{border:1px solid var(--color-border);background:var(--color-surface)}.spss-variable-card,.spss-settings-card,.spss-filter-card,.spss-codebook-card,.spss-data-sidebar,.spss-data-table-card,.spss-empty{padding:14px}.spss-variable-card,.spss-settings-card,.spss-filter-card,.spss-data-sidebar,.spss-data-table-card{align-content:start;gap:13px;display:grid}.spss-variable-card label,.spss-settings-card label,.spss-filter-card label,.spss-field,.spss-sample-inline label{color:var(--color-text);font-size:.74rem;font-weight:var(--font-heavy);letter-spacing:.06em;text-transform:uppercase;gap:7px;display:grid}.spss-field>span{color:var(--color-text)}.spss-variable-preview{border:1px solid var(--color-border);background:var(--color-surface-2);gap:8px;padding:12px;display:grid}.spss-variable-preview strong,.spss-run-card strong,.spss-result-card strong{color:var(--color-text)}.spss-variable-preview p{color:var(--color-text-muted);background:var(--color-surface-3);margin:0;padding:8px 9px;font-size:.78rem}.spss-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.spss-card-heading h3{margin:2px 0 0;font-size:1rem;line-height:1.2}.spss-card-heading>div>span{font-size:.7rem;font-weight:var(--font-heavy);letter-spacing:.08em;text-transform:uppercase}.spss-excel-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.spss-card-heading-compact{margin-bottom:0}.spss-variable-picker{gap:8px;display:grid;position:relative}.spss-variable-picker>button{border:1px solid var(--color-border);width:100%;min-height:48px;color:var(--color-text);text-align:left;background:var(--color-bg-alt);cursor:pointer;gap:3px;padding:8px 12px;display:grid}.spss-variable-picker>button span{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-bold);letter-spacing:.06em;text-transform:uppercase}.spss-variable-picker>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.spss-variable-picker-menu{z-index:var(--z-menu);border:1px solid var(--color-border-strong);background:var(--color-surface);gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0}.spss-variable-picker-actions,.spss-data-column-actions{flex-wrap:wrap;gap:7px;display:flex}.spss-data-column-limit{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-bold);display:block}.spss-variable-picker-actions button,.spss-data-column-actions button,.spss-data-toolbar button,.spss-data-sort-menu button{border:1px solid var(--color-border);min-height:32px;color:var(--color-text);font-size:.74rem;font-weight:var(--font-heavy);background:var(--color-surface-2);cursor:pointer;padding:0 10px}.spss-variable-picker-list,.spss-data-column-list{scrollbar-width:thin;gap:6px;max-height:260px;padding-right:4px;display:grid;overflow:auto}.spss-variable-picker-list button,.spss-data-column-list button{border:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:left;background:var(--color-surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.spss-variable-picker-list button.is-selected,.spss-data-column-list button.is-selected{border-color:var(--color-primary);color:var(--color-text);background:var(--color-primary-soft);border-left-width:4px}.spss-variable-picker-list button:hover,.spss-data-column-list button:hover{border-color:var(--color-primary);color:var(--color-text);background:var(--color-surface-3)}.spss-data-column-list button{grid-template-columns:minmax(0,1fr)}.spss-variable-picker-list span,.spss-data-column-list span{gap:2px;min-width:0;display:grid}.spss-variable-picker-list strong,.spss-data-column-list strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.spss-variable-picker-list small,.spss-data-column-list small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.spss-picker-more,.spss-filter-more{border:1px dashed var(--color-border-strong);color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-semibold);text-align:center;background:var(--color-surface-2);padding:8px 10px;display:block!important}.spss-load-more-row td{text-align:center;background:var(--color-surface-2)}.spss-load-more-button{cursor:pointer;min-height:36px;border:1px dashed var(--color-border-strong)!important;color:var(--color-primary)!important;font-size:.76rem!important;font-weight:var(--font-heavy)!important;text-align:center!important;background:var(--color-surface-2)!important;justify-content:center!important;align-items:center!important;gap:8px!important;padding:0 13px!important;display:inline-flex!important}.spss-load-more-button span{font-size:.72rem;font-weight:var(--font-semibold);color:var(--color-text-muted)!important;display:inline!important}.spss-load-more-button:hover{border-color:var(--color-primary)!important;color:var(--color-text)!important;background:var(--color-surface-3)!important}.spss-heading-actions,.spss-run-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.spss-settings-grid{grid-template-columns:1fr;gap:10px;display:grid}.spss-filter-card{gap:12px;padding:14px;display:grid}.spss-filter-card.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);border-left-width:3px}.spss-filter-grid{grid-template-columns:1fr;gap:10px;display:grid}.spss-filter-row-shell{gap:14px;display:grid}.spss-filter-join{isolation:isolate;border-color:var(--color-primary);width:38px;min-height:34px;color:var(--color-text);background:var(--color-surface-2);justify-self:center;padding:0;position:relative}.spss-filter-join:before,.spss-filter-join:after{z-index:-1;content:"";background:var(--color-border-strong);width:2px;position:absolute;left:50%;transform:translate(-50%)}.spss-filter-join:before{height:14px;top:-20px}.spss-filter-join:after{height:14px;bottom:-20px}.spss-filter-join.is-or{border-color:var(--color-warning);color:var(--color-warning-text);background:var(--color-warning-soft)}.spss-filter-row{border:1px solid var(--color-border);background:var(--color-surface-2);grid-template-columns:minmax(180px,1fr) minmax(150px,.75fr) minmax(150px,.8fr) auto;align-items:end;gap:10px;padding:10px;display:grid}.spss-filter-toggle{border:1px solid var(--color-border);background:var(--color-surface-2);white-space:nowrap;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:40px;padding:0 11px}.spss-filter-toggle input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-primary)}.spss-input-error{border-color:var(--color-danger)!important}.spss-field-error{color:var(--color-danger-text);font-size:.72rem;font-weight:var(--font-semibold);letter-spacing:normal;text-transform:none}.spss-template-token-list{flex-wrap:wrap;gap:6px;display:flex}.spss-template-token{border:1px solid var(--color-border);width:fit-content;color:var(--color-text-muted);font-size:.7rem;font-weight:var(--font-heavy);letter-spacing:normal;text-transform:none;background:var(--color-surface-2);padding:4px 8px}.spss-template-token.is-used{border-color:var(--color-primary);color:var(--color-on-primary);background:var(--color-primary)}.spss-template-token.is-required-missing{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft)}.spss-segmented-control{border:1px solid var(--color-border);background:var(--color-bg-alt);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.spss-segmented-control button{background:0 0;border-color:#0000;min-height:34px;padding:0 9px;font-size:.76rem}.spss-segmented-control button.is-selected{border-color:var(--color-primary);color:var(--color-on-primary);background:var(--color-primary)}.spss-model-select{position:relative}.spss-model-select>button{border:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-text);font-size:.86rem;font-weight:var(--font-heavy);text-align:left;background:var(--color-surface-2);justify-content:flex-start;padding:0 42px 0 13px;position:relative}.spss-model-select>button:after{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;position:absolute;top:50%;right:14px;transform:translateY(-68%)rotate(45deg)}.spss-model-select>button:hover{border-color:var(--color-primary);background:var(--color-surface-3)}.spss-model-menu{z-index:var(--z-menu);border:1px solid var(--color-border-strong);background:var(--color-surface);gap:4px;padding:7px;display:grid;position:absolute;top:calc(100% + 7px);left:0;right:0}.spss-model-menu button{min-height:34px;color:var(--color-text);font-size:.8rem;font-weight:var(--font-semibold);text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;padding:0 10px}.spss-model-menu button:hover{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface-2)}.spss-model-menu button.is-selected{border-color:var(--color-primary);color:var(--color-text);background:var(--color-primary-soft);border-left-width:4px}.spss-filter-select{position:relative}.spss-filter-select>button{border-color:var(--color-border);width:100%;min-height:40px;color:var(--color-text);text-align:left;background:var(--color-bg-alt);justify-content:flex-start;padding:0 34px 0 12px;position:relative}.spss-filter-select>button span{text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.spss-filter-select>button:after{border-right:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);content:"";width:7px;height:7px;position:absolute;top:50%;right:13px;transform:translateY(-68%)rotate(45deg)}.spss-filter-select>button.is-placeholder{color:var(--color-text-muted)}.spss-filter-menu{z-index:var(--z-menu);border:1px solid var(--color-border-strong);background:var(--color-surface);gap:4px;max-height:260px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.spss-filter-menu-variable{border-color:var(--color-border-strong);background:var(--color-surface);grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:min(420px,82vw);max-height:min(360px,100vh - 160px);padding:10px;overflow:hidden}.spss-filter-menu-header{background:0 0;gap:7px;display:grid}.spss-filter-search{border-color:var(--color-border);background:var(--color-bg-alt);width:100%;min-height:40px}.spss-filter-variable-list{scrollbar-width:thin;gap:6px;min-height:0;max-height:none;padding:0 4px 12px 0;scroll-padding-bottom:12px;display:grid;overflow:auto}.spss-filter-menu button{width:100%;min-height:34px;color:var(--color-text);text-align:left;background:0 0;border-color:#0000;justify-content:stretch;justify-items:start;gap:2px;padding:7px 10px;display:grid}.spss-filter-variable-list button{border:1px solid var(--color-border);width:100%;min-height:50px;color:var(--color-text);text-align:left;background:var(--color-surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.spss-filter-variable-list button:hover{border-color:var(--color-primary);color:var(--color-text);background:var(--color-surface-3)}.spss-filter-variable-list button.is-selected{border-color:var(--color-primary);color:var(--color-text);background:var(--color-primary-soft);border-left-width:4px}.spss-filter-variable-list button span{gap:2px;min-width:0;display:grid}.spss-filter-variable-list button strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.spss-filter-variable-list button small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.spss-filter-menu button strong{width:100%;color:inherit;text-align:left;justify-self:start;font-size:.8rem}.spss-filter-menu button small{width:100%;max-width:100%;color:var(--color-text-muted);font-size:.68rem;font-weight:var(--font-bold);text-align:left;text-overflow:ellipsis;white-space:nowrap;justify-self:start;overflow:hidden}.spss-filter-menu button:hover,.spss-filter-menu button.is-selected{border-color:var(--color-border);color:var(--color-text);background:var(--color-surface-2)}.spss-filter-menu button.is-selected{border-left-width:4px;border-left-color:var(--color-primary)}.spss-filter-empty{color:var(--color-text-muted);font-size:.76rem;font-weight:var(--font-semibold);padding:8px 10px}.spss-filter-actions{gap:8px;display:flex}.spss-filter-actions button{min-height:40px}.spss-output-preview{flex-wrap:wrap;gap:7px;display:flex}.spss-output-preview span{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface-2);padding:6px 9px;font-size:.72rem}.spss-output-preview span.is-required-special{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft)}.spss-output-preview span.is-available-special{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.spss-codebook-table{gap:6px;display:grid}.spss-codebook-header,.spss-codebook-row{grid-template-columns:minmax(92px,.18fr) minmax(190px,.8fr) minmax(220px,1fr) auto;align-items:center;gap:8px;display:grid}.spss-codebook-header{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-heavy);letter-spacing:.07em;text-transform:uppercase}.spss-codebook-row button{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft)}.spss-codebook-row-actions{position:relative}.spss-codebook-row-actions>button{width:42px;font-weight:var(--font-heavy);letter-spacing:.08em;padding:0}.spss-codebook-row-menu{z-index:var(--z-menu);border:1px solid var(--color-border-strong);background:var(--color-bg-alt);width:170px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);right:0}.spss-codebook-row-menu button{justify-content:flex-start;width:100%;min-height:40px;padding:0 10px}.spss-codebook-row.is-special{border:1px solid var(--color-primary);background:var(--color-primary-soft);grid-template-columns:minmax(92px,.18fr) minmax(190px,.8fr) minmax(220px,1fr);padding:6px}.spss-codebook-toggle{width:100%;margin-top:4px;border-style:dashed!important;border-color:var(--color-border-strong)!important;color:var(--color-primary)!important;background:var(--color-surface-2)!important}.spss-codebook-toggle:hover{border-color:var(--color-primary)!important;color:var(--color-text)!important;background:var(--color-surface-3)!important}.spss-codebook-bulk{resize:none;min-height:126px;padding:12px;line-height:1.45;display:block}.spss-prompt-placeholders{flex-wrap:wrap;gap:7px;display:flex}.spss-prompt-placeholders span{border:1px solid var(--color-border);background:var(--color-surface-2);gap:2px;min-width:126px;padding:6px 8px;display:grid}.spss-prompt-placeholders strong{font-family:var(--font-mono);font-size:.72rem}.spss-prompt-placeholders em{color:var(--color-text-muted);font-size:.62rem;font-style:normal;font-weight:var(--font-bold);letter-spacing:.05em;text-transform:uppercase}.spss-prompt-placeholders span.is-present{border-color:var(--color-primary);background:var(--color-primary-soft);border-left-width:3px}.spss-prompt-placeholders span.is-present strong{color:var(--color-primary)}.spss-prompt-placeholders span.is-missing{border-color:var(--color-danger);background:var(--color-danger-soft)}.spss-prompt-placeholders span.is-missing strong{color:var(--color-danger-text)}.spss-prompt-placeholders span.is-required.is-missing{border-left-width:3px;border-left-color:var(--color-danger)}.spss-prompt-unified-note{border:1px solid var(--color-primary);width:100%;min-height:44px;color:var(--color-text);font-size:.82rem;font-weight:var(--font-semibold);background:var(--color-primary-soft);border-left-width:4px;align-items:center;gap:10px;margin:0;padding:10px 13px;line-height:1.35;display:flex;position:relative;overflow:hidden}.spss-prompt-unified-note:before{width:24px;height:24px;color:var(--color-warning-text);content:"!";font-family:var(--font-mono);font-size:.86rem;font-weight:var(--font-heavy);background:var(--color-warning-soft);flex:none;place-items:center;display:grid}.spss-prompt-unified-note strong{font-family:var(--font-mono);color:var(--color-primary)}.spss-prompt-editor{border:1px solid var(--color-border-strong);background:var(--color-bg-alt);overscroll-behavior:contain;min-height:0;position:relative;overflow:hidden}.spss-prompt-template,.spss-prompt-highlight{box-sizing:border-box;width:100%;height:100%;min-height:0;font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:break-word;scrollbar-gutter:stable;tab-size:2;border:0;margin:0;padding:12px;font-size:.78rem;line-height:1.5}.spss-prompt-highlight{color:var(--color-text);pointer-events:none;background:0 0;position:absolute;inset:0;overflow:auto}.spss-prompt-highlight mark{border:1px solid color-mix(in srgb, var(--color-primary) 44%, transparent);color:var(--color-primary-hover);background:color-mix(in srgb, var(--color-primary) 16%, var(--color-bg-alt));font-weight:var(--font-heavy);padding:0 3px}.spss-prompt-template{z-index:1;color:#0000;caret-color:var(--color-text);resize:none;overscroll-behavior:contain;-webkit-text-fill-color:transparent;background:0 0;display:block;position:relative;overflow:auto}.spss-prompt-template::selection{color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 34%, transparent);-webkit-text-fill-color:var(--color-text)}.spss-inline-message{margin:8px 0 0}.spss-data-sidebar{min-height:0;overflow:hidden}.spss-data-table-card{grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0}.spss-data-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.spss-data-toolbar>div{gap:2px;display:grid}.spss-data-toolbar>.spss-data-pager{border:1px solid var(--color-border);background:var(--color-surface-2);align-items:center;gap:7px;padding:4px;display:flex}.spss-data-pager label{border:1px solid var(--color-border);background:var(--color-bg-alt);align-items:center;gap:6px;min-height:32px;padding:0 9px;display:inline-flex}.spss-data-pager label span,.spss-data-pager label em,.spss-data-pager small{color:var(--color-text-muted);font-size:.72rem;font-style:normal;font-weight:var(--font-semibold)}.spss-data-pager input{border:1px solid var(--color-border);width:54px;min-height:24px;color:var(--color-text);font-size:.78rem;font-weight:var(--font-heavy);text-align:center;background:var(--color-surface-2);padding:0 7px}.spss-data-pager button{width:32px;min-width:32px;height:32px;min-height:32px;font-family:var(--font-mono);place-items:center;font-size:1.1rem;line-height:0;border-color:var(--color-border)!important;color:var(--color-primary)!important;background:var(--color-surface-2)!important;padding:0 0 2px!important;display:grid!important}.spss-data-pager button:hover:not(:disabled){border-color:var(--color-primary)!important;color:var(--color-text)!important;background:var(--color-surface-3)!important}.spss-data-pager small{white-space:nowrap;padding:0 7px 0 2px}.spss-data-filter-chips{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.spss-data-filter-chips button{border:1px solid var(--color-border);min-height:30px;color:var(--color-text);font-size:.72rem;font-weight:var(--font-bold);background:var(--color-surface-2);cursor:pointer;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.spss-data-filter-chips button strong{color:var(--color-primary)}.spss-data-filter-chips button span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.spss-data-filter-chips .spss-data-filter-clear-all{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft)}.spss-data-toolbar strong{color:var(--color-text)}.spss-data-toolbar span{color:var(--color-text-muted);font-size:.78rem}.spss-data-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--color-border);background:var(--color-surface);scrollbar-width:thin;min-height:0;overflow:auto}.spss-data-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.8rem}.spss-data-table th,.spss-data-table td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:150px;max-width:260px;padding:8px 10px;overflow:hidden}.spss-data-table th{z-index:2;background:var(--color-surface-2);position:sticky;top:0}.spss-data-column-head{display:block}.spss-data-column-title{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;display:grid}.spss-data-column-title:hover span{color:var(--color-primary)}.spss-data-column-title span{font-size:.74rem;font-weight:var(--font-heavy)}.spss-data-column-title small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.spss-data-column-sort-mark,.spss-data-column-filter-mark{color:var(--color-primary);font-size:.64rem;font-style:normal;font-weight:var(--font-heavy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spss-data-column-filter-mark{color:var(--color-danger-text)}.spss-data-value-button{max-width:100%;color:var(--color-primary);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;overflow:hidden}.spss-data-value-button:hover{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}.spss-data-row-number{z-index:3;color:var(--color-text);font-weight:var(--font-heavy);background:var(--color-surface-2);position:sticky;left:0;min-width:70px!important;max-width:70px!important}.spss-data-table th.spss-data-row-number{z-index:4;background:var(--color-surface-2)}.spss-data-sort-menu{z-index:var(--z-menu);border:1px solid var(--color-border-strong);background:var(--color-surface);scrollbar-width:thin;gap:8px;width:min(300px,100vw - 24px);margin:0;padding:10px;display:grid;position:absolute;overflow:auto}.spss-data-sort-menu-heading{gap:2px;padding:2px 2px 4px;display:grid}.spss-data-sort-menu-heading strong{color:var(--color-text);font-size:.86rem;font-weight:var(--font-heavy);letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.spss-data-sort-menu-heading span{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-bold);letter-spacing:0;text-transform:none;white-space:nowrap}.spss-data-sort-toggle{grid-template-columns:34px minmax(0,1fr);border-color:var(--color-border)!important;background:var(--color-surface-2)!important;align-items:center!important;gap:8px!important;min-height:38px!important;padding:4px 10px 4px 4px!important;display:grid!important}.spss-data-sort-toggle span{width:30px;height:30px;color:var(--color-primary);font-family:var(--font-mono);background:var(--color-surface-3);place-items:center;font-size:1rem;display:grid}.spss-data-sort-toggle strong{color:var(--color-text);text-align:left;font-size:.78rem}.spss-data-filter-menu-block{border-top:1px solid var(--color-border);gap:7px;padding-top:8px;display:grid}.spss-data-filter-search-row{grid-template-columns:minmax(0,1fr) 36px;gap:7px;display:grid}.spss-data-filter-search-row input{border:1px solid var(--color-border);width:100%;min-height:34px;color:var(--color-text);background:var(--color-bg-alt);padding:0 9px}.spss-data-filter-search-row button{place-items:center;width:36px;min-width:36px;border-color:var(--color-danger)!important;min-height:34px!important;color:var(--color-danger-text)!important;background:var(--color-danger-soft)!important;padding:0 0 2px!important;font-size:1rem!important;display:grid!important}.spss-data-filter-empty{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-bold);text-align:left;padding:2px 2px 0;line-height:1.35}.spss-run-card{grid-template-columns:minmax(220px,1fr) minmax(220px,.9fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.spss-progress-card{border:1px solid var(--color-primary);background:var(--color-primary-soft);gap:8px;padding:12px 14px;display:grid}.spss-progress-card div{gap:2px;display:grid}.spss-progress-card strong{color:var(--color-text)}.spss-progress-card span,.spss-progress-card small{color:var(--color-text-muted);font-size:.78rem}.spss-result-card{grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);align-items:start;gap:12px;padding:12px 14px;display:grid}.spss-summary-card{background:var(--color-surface);grid-template-columns:1fr;padding:14px}.spss-run-card div,.spss-result-card div{gap:2px;display:grid}.spss-summary-card .spss-summary-header{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:0 2px 2px;display:flex}.spss-summary-card .spss-summary-header strong{color:var(--color-text);font-size:.98rem}.spss-summary-card .spss-summary-header span{max-width:62%;color:var(--color-text);text-align:right;font-size:.8rem}.spss-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.spss-summary-card .spss-summary-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.spss-summary-metrics div{border:1px solid var(--color-border);background:var(--color-surface-2);gap:2px;min-width:0;padding:9px 10px;display:grid}.spss-summary-metrics .spss-summary-wide{grid-column:1/-1}.spss-summary-metrics .spss-summary-wide dd{white-space:normal}.spss-summary-metrics dt{color:var(--color-text-muted);font-size:.68rem;font-weight:var(--font-heavy);letter-spacing:.06em;text-transform:uppercase}.spss-summary-metrics dd{min-width:0;color:var(--color-text);font-size:.82rem;font-weight:var(--font-bold);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.spss-run-card .spss-run-actions{justify-content:flex-end;gap:8px;display:flex}.spss-run-options{gap:8px;display:grid}.spss-variable-summary-list{scrollbar-width:thin;grid-column:1/-1;gap:8px;max-height:260px;padding-right:4px;display:grid;overflow:auto}.spss-summary-variables-card{border:1px solid var(--color-primary);background:var(--color-primary-soft);gap:9px;padding:11px;display:grid}.spss-summary-section-heading{justify-content:space-between;align-items:end;gap:10px;min-width:0;display:flex}.spss-summary-section-heading strong{color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.spss-summary-section-heading span{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-semibold)}.spss-variable-summary-item{border:1px solid var(--color-border);background:var(--color-surface-2);gap:4px;min-width:0;padding:10px 11px;display:grid}.spss-variable-summary-item strong{min-width:0;color:var(--color-text);align-items:center;gap:8px;display:flex}.spss-variable-summary-item strong span{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.spss-variable-summary-item strong span:last-child{color:var(--color-primary)}.spss-variable-summary-item>span,.spss-variable-summary-item small,.spss-variable-summary-more{color:var(--color-text);font-size:.75rem}.spss-variable-summary-item small{color:var(--color-text-muted);font-weight:var(--font-semibold)}.spss-variable-summary-more{border:1px dashed var(--color-border-strong);text-align:center;background:var(--color-surface-2);padding:9px 11px}.spss-sample-inline{grid-template-columns:minmax(130px,1fr) 112px;align-items:end;gap:8px;display:grid}.spss-sample-inline label{border:1px solid var(--color-border);background:var(--color-surface-2);white-space:nowrap;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:40px;padding:0 11px}.spss-sample-inline input[type=checkbox]{width:17px;height:17px;accent-color:var(--color-primary)}.spss-sample-inline input[type=number]{border:1px solid var(--color-border);width:100%;min-height:40px;color:var(--color-text);background:var(--color-bg-alt);padding:0 10px}.spss-special-review{border:1px solid var(--color-border);background:var(--color-surface-2);grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.spss-special-review.is-active{border-color:var(--color-danger);background:var(--color-danger-soft)}.spss-special-review label,.spss-special-review div{align-items:center;gap:7px;display:flex}.spss-special-review label{color:var(--color-text);font-size:.72rem;font-weight:var(--font-heavy);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.spss-special-review input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.spss-memory-card{border:1px solid var(--color-border);background:var(--color-surface);gap:14px;padding:18px;display:grid}.spss-memory-card.is-active{border-color:var(--color-primary)}.spss-memory-card.is-ready{border-color:var(--color-success)}.spss-memory-toggle{color:var(--color-text);font-weight:var(--font-bold);grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;display:grid}.spss-memory-toggle em{color:var(--color-text);font-size:.78rem;font-style:normal;font-weight:var(--font-medium);grid-column:2}.spss-memory-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.spss-memory-source-grid{grid-template-columns:1fr .8fr .8fr;gap:10px;display:grid}.spss-memory-source-grid label,.spss-memory-mapping-list label{color:var(--color-text);font-size:.72rem;font-weight:var(--font-bold);letter-spacing:.05em;text-transform:uppercase;gap:6px;display:grid}.spss-memory-source-grid input,.spss-memory-source-grid select,.spss-memory-mapping-list input{border:1px solid var(--color-border);background:var(--color-bg-alt);min-width:0;color:var(--color-text);font:inherit;padding:10px 12px}.spss-memory-mapping-list{gap:8px;display:grid}.spss-memory-mapping-list label{border:1px solid var(--color-border);background:var(--color-surface-2);grid-template-columns:minmax(110px,.7fr) 34px minmax(180px,1fr);align-items:center;padding:8px}.spss-memory-mapping-list label.is-valid{border-color:var(--color-success)}.spss-memory-mapping-list span{color:var(--color-text);letter-spacing:0;text-transform:none;font-size:.86rem}.spss-run-card button,.spss-result-card a{border-color:var(--color-primary);color:var(--color-on-primary);background:var(--color-primary);flex:none}.spss-run-card button.spss-secondary-action{border-color:var(--color-danger);color:var(--color-danger-text);background:var(--color-danger-soft)}.spss-tabs button:disabled,.spss-download-button:disabled,.spss-remove-button:disabled,.spss-data-column-actions button:disabled,.spss-data-column-list button:disabled,.spss-settings-card button:disabled,.spss-filter-card button:disabled,.spss-codebook-card button:disabled,.spss-codebook-clear-card button:disabled,.spss-run-card button:disabled,.spss-prompt-card button:disabled,.spss-value-dialog button:disabled{cursor:not-allowed;opacity:.54}.spss-file-button:has(input:disabled){cursor:not-allowed;opacity:.54}.spss-value-dialog{z-index:var(--z-dialog);background:#050505e0;place-items:center;padding:clamp(16px,4vw,28px);display:grid;position:fixed;inset:0;overflow:auto}.spss-value-dialog-card,.spss-codebook-import-card,.spss-codebook-clear-card,.spss-delete-base-card{border:1px solid var(--color-border-strong);background:var(--color-surface);gap:12px;width:min(620px,100%);max-height:min(640px,100dvh - 36px);padding:18px;display:grid;overflow:auto}.spss-codebook-import-card,.spss-codebook-clear-card,.spss-delete-base-card,.spss-coding-preview-card,.spss-excel-export-card,.spss-quick-test-config-card,.spss-quick-test-card,.spss-prompt-card{width:min(660px,100%)}.spss-quick-test-card{width:min(820px,100%)}.spss-excel-export-card{width:min(940px,100%)}.spss-codebook-clear-card,.spss-delete-base-card{width:min(540px,100%)}.spss-delete-base-card{border-color:var(--color-danger);border-left-width:3px}.spss-warning-box{border:1px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-text);gap:6px;padding:13px 14px;display:grid}.spss-warning-box strong{color:var(--color-text);font-size:.92rem}.spss-warning-box span{color:var(--color-text-muted);font-size:.82rem;line-height:1.45}.spss-coding-preview-card,.spss-excel-export-card,.spss-quick-test-config-card,.spss-quick-test-card{border:1px solid var(--color-border-strong);background:var(--color-surface);gap:12px;max-height:min(680px,100dvh - 36px);padding:18px;display:grid;overflow:auto}.spss-excel-run-list{scrollbar-width:thin;gap:9px;padding-right:4px;display:grid;overflow:visible}.spss-excel-run-row{border:1px solid var(--color-border);background:var(--color-surface-2);grid-template-columns:44px minmax(170px,.82fr) minmax(260px,1fr) minmax(160px,.62fr) 36px;align-items:center;gap:10px;padding:11px;display:grid}.spss-excel-run-row.is-ok{border-color:var(--color-primary);border-left-width:3px}.spss-excel-run-row.is-warning{border-color:var(--color-danger);background:var(--color-danger-soft);border-left-width:3px}.spss-excel-picker,.spss-excel-run-status{min-width:0;color:var(--color-text);font-size:.7rem;font-weight:var(--font-heavy);letter-spacing:.06em;text-transform:uppercase;gap:6px;display:grid;position:relative}.spss-excel-run-check{border:1px solid var(--color-border);background:var(--color-surface-2);place-items:center;width:36px;height:40px;display:grid}.spss-excel-run-check input{width:17px;height:17px;accent-color:var(--color-primary)}.spss-excel-picker>button{border:1px solid var(--color-border);width:100%;min-height:40px;color:var(--color-text);text-align:left;background:var(--color-bg-alt);cursor:pointer;align-items:center;padding:0 34px 0 10px;display:grid;position:relative}.spss-excel-picker>button:after{border-right:2px solid var(--color-primary);border-bottom:2px solid var(--color-primary);content:"";width:7px;height:7px;position:absolute;top:50%;right:13px;transform:translateY(-68%)rotate(45deg)}.spss-excel-picker>button.is-placeholder strong{color:var(--color-text-muted)}.spss-excel-picker>button strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.spss-excel-picker-menu{z-index:var(--z-menu);border:1px solid var(--color-border-strong);background:var(--color-surface);grid-template-rows:auto minmax(0,1fr);width:min(420px,100vw - 48px);min-width:0;max-height:min(204px,42vh);display:grid;position:absolute;overflow:hidden}.spss-excel-export-card{overflow:auto}.spss-excel-column-menu{width:min(520px,100vw - 48px)}.spss-excel-picker-menu .spss-variable-picker-list,.spss-excel-picker-menu .spss-data-column-list{min-height:0;max-height:none;overflow:auto}.spss-excel-picker-menu .spss-variable-picker-list button,.spss-excel-picker-menu .spss-data-column-list button{min-height:36px;padding:8px 10px}.spss-excel-picker-menu .spss-variable-picker-list button strong,.spss-excel-picker-menu .spss-data-column-list button strong{text-align:left;width:100%;font-size:.82rem}.spss-excel-run-status strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.spss-excel-run-status span{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-semibold);letter-spacing:normal;text-overflow:ellipsis;text-transform:none;white-space:nowrap;overflow:hidden}.spss-excel-run-remove{width:34px;min-width:34px;height:34px;position:relative;border:1px solid var(--color-danger)!important;min-height:34px!important;color:var(--color-danger-text)!important;font-size:0!important;font-weight:var(--font-heavy)!important;background:var(--color-danger-soft)!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;line-height:0!important;display:flex!important}.spss-excel-run-remove:before,.spss-excel-run-remove:after{content:"";background:currentColor;width:10px;height:2px;position:absolute;top:50%;left:50%}.spss-excel-run-remove:before{transform:translate(-50%,-50%)rotate(45deg)}.spss-excel-run-remove:after{transform:translate(-50%,-50%)rotate(-45deg)}.spss-excel-run-remove:hover:not(:disabled){border-color:var(--color-danger)!important;color:var(--color-text)!important;background:color-mix(in srgb, var(--color-danger) 84%, var(--color-text))!important}.spss-quick-test-config-card{width:min(720px,100%)}.spss-quick-test-config-grid{gap:12px;display:grid}.spss-quick-test-config-grid label{color:var(--color-text);font-size:.74rem;font-weight:var(--font-heavy);letter-spacing:.06em;text-transform:uppercase;gap:7px;display:grid}.spss-quick-test-config-grid input{border:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-text);font-size:.92rem;font-weight:var(--font-heavy);background:var(--color-bg-alt);padding:0 12px}.spss-quick-test-config-grid label>span{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-semibold);letter-spacing:normal;text-transform:none;line-height:1.35}.spss-quick-test-mode-control{grid-template-columns:repeat(4,minmax(0,1fr))}.spss-preview-banner{border:1px solid var(--color-primary);background:var(--color-primary-soft);gap:3px;padding:12px;display:grid}.spss-preview-banner strong{color:var(--color-primary)}.spss-preview-banner span{color:var(--color-text-muted);font-size:.82rem}.spss-preview-banner.is-warning{border-color:var(--color-danger);background:var(--color-danger-soft);border-left-width:3px}.spss-preview-banner.is-warning strong{color:var(--color-danger-text)}.spss-preview-banner.is-ok{border-color:var(--color-primary);background:var(--color-primary-soft);border-left-width:3px}.spss-preview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.spss-preview-metrics div,.spss-preview-variable-list div{border:1px solid var(--color-border);background:var(--color-surface-2);gap:2px;min-width:0;padding:9px 10px;display:grid}.spss-preview-metrics dt{color:var(--color-text-muted);font-size:.68rem;font-weight:var(--font-heavy);letter-spacing:.06em;text-transform:uppercase}.spss-preview-metrics dd{color:var(--color-text);font-weight:var(--font-heavy);margin:0}.spss-preview-variables-card{border:1px solid var(--color-primary);background:var(--color-primary-soft);border-left-width:3px;gap:9px;padding:11px;display:grid}.spss-preview-section-heading{justify-content:space-between;align-items:end;gap:10px;min-width:0;display:flex}.spss-preview-section-heading strong{color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.spss-preview-section-heading span{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-semibold)}.spss-preview-variable-list{scrollbar-width:thin;gap:6px;max-height:220px;padding-right:4px;display:grid;overflow:auto}.spss-preview-variable-list strong{min-width:0;color:var(--color-text);align-items:center;gap:8px;display:flex}.spss-preview-variable-list strong span{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.spss-preview-variable-list strong span:last-child{color:var(--color-primary)}.spss-preview-variable-list strong em{font-style:normal;font-weight:var(--font-heavy);flex:none}.spss-preview-arrow{width:34px;height:14px;display:inline-block;position:relative}.spss-preview-arrow:before{background-color:var(--color-border-strong);content:"";width:24px;height:2px;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.spss-preview-arrow:after{border-top:2px solid var(--color-primary);border-right:2px solid var(--color-primary);content:"";width:8px;height:8px;position:absolute;top:50%;right:2px;transform:translateY(-50%)rotate(45deg)}.spss-preview-variable-list span{color:var(--color-text-muted);font-size:.78rem}.spss-quick-test-list{scrollbar-width:thin;gap:8px;max-height:330px;padding-right:4px;display:grid;overflow:auto}.spss-quick-test-row{border:1px solid var(--color-border);background:var(--color-surface-2);grid-template-columns:minmax(160px,.8fr) repeat(2,minmax(180px,1fr));gap:8px;padding:10px;display:grid}.spss-quick-test-row.is-different{border-color:var(--color-danger);background:var(--color-danger-soft);border-left-width:3px}.spss-quick-test-row.is-same{border-color:var(--color-border)}.spss-quick-test-row>div{align-content:start;gap:4px;min-width:0;display:grid}.spss-quick-test-row span,.spss-quick-test-row small,.spss-quick-test-row em{color:var(--color-text-muted);font-size:.7rem;font-style:normal;font-weight:var(--font-bold);letter-spacing:.05em;text-transform:uppercase}.spss-quick-test-row strong{color:var(--color-text);text-overflow:ellipsis;font-size:.84rem;line-height:1.35;overflow:hidden}.spss-quick-test-source strong{color:var(--color-primary);font-family:var(--font-mono)}.spss-quick-test-row.is-different .spss-quick-test-source em{color:var(--color-danger-text)}.spss-danger-action{border-color:var(--color-danger)!important;color:var(--color-danger-text)!important;background:var(--color-danger-soft)!important}.spss-danger-action:hover{border-color:var(--color-danger)!important;color:var(--color-text)!important;background:color-mix(in srgb, var(--color-danger) 30%, var(--color-surface-2))!important}.spss-prompt-card{border:1px solid var(--color-border-strong);background:var(--color-surface);overscroll-behavior:contain;flex-direction:column;gap:10px;height:min(560px,100% - 36px,100vh - 150px);max-height:calc(100% - 36px);padding:18px;display:flex;overflow:hidden}.spss-prompt-card .spss-prompt-editor{flex:auto;min-height:180px}.spss-prompt-card .spss-value-footer{flex:none}.spss-sample-card{width:min(460px,100%)}.spss-sample-toggle,.spss-sample-size{color:var(--color-text);font-size:.84rem;font-weight:var(--font-bold);gap:8px;display:grid}.spss-sample-toggle{grid-template-columns:auto minmax(0,1fr);align-items:center}.spss-sample-toggle input{width:18px;height:18px;accent-color:var(--color-primary)}.spss-value-form{grid-template-columns:minmax(92px,.35fr) minmax(220px,1fr);gap:10px;display:grid}.spss-value-form label{color:var(--color-text);font-size:.78rem;font-weight:var(--font-bold);gap:6px;display:grid}.spss-value-actions,.spss-value-footer{flex-wrap:wrap;gap:8px;display:flex}.spss-value-actions{grid-column:1/-1}.spss-value-list,.spss-value-readonly-table{border:1px solid var(--color-border);background:var(--color-bg-alt);gap:6px;min-height:180px;max-height:280px;padding:8px;display:grid;overflow:auto}.spss-value-list-header,.spss-value-readonly-header{color:var(--color-text-muted);font-size:.66rem;font-weight:var(--font-heavy);letter-spacing:.07em;text-transform:uppercase;grid-template-columns:minmax(48px,72px) minmax(0,1fr);gap:12px;padding:2px 10px 5px;display:grid}.spss-value-list button{border-color:var(--color-border);width:100%;min-height:42px;color:var(--color-text);text-align:left;background:var(--color-surface-2);white-space:normal;grid-template-columns:minmax(48px,72px) minmax(0,1fr);place-items:start;gap:12px;padding:10px;display:grid}.spss-value-readonly-table>div:not(.spss-value-readonly-header){border:1px solid var(--color-border);background:var(--color-surface-2);grid-template-columns:minmax(48px,72px) minmax(0,1fr);align-items:start;gap:12px;padding:10px;display:grid}.spss-value-list button strong,.spss-value-readonly-table strong{color:var(--color-text);font-variant-numeric:tabular-nums}.spss-value-list button span,.spss-value-readonly-table span{color:var(--color-text);line-height:1.35}.spss-value-list button.is-selected{border-color:var(--color-primary);color:var(--color-text);background:var(--color-primary-soft);border-left-width:4px}.spss-value-readonly-table>div.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);border-left-width:4px}.spss-value-list p,.spss-value-readonly-table p{color:var(--color-text-muted);margin:0;font-size:.84rem}.spss-value-footer{justify-content:flex-end}.spss-value-selected{border:1px solid var(--color-border);background:var(--color-surface-2);grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 10px;padding:11px 12px;display:grid}.spss-value-selected span{color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-heavy);letter-spacing:.06em;text-transform:uppercase}.spss-value-selected strong{color:var(--color-primary);font-size:.9rem}.spss-value-selected p{color:var(--color-text);grid-column:1/-1;margin:0;line-height:1.4}.spss-job-widget{z-index:var(--z-job-widget);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);background:var(--color-surface);width:min(360px,100vw - 28px);transition:border-color var(--transition-fast), background-color var(--transition-fast);gap:10px;padding:12px;animation:.19s ease-out both notificationEnter;display:grid;position:fixed;bottom:clamp(14px,2vw,28px);right:clamp(14px,2vw,28px)}.spss-job-widget:hover{background:var(--color-surface-2)}.spss-job-widget-failed{border-left-color:var(--color-danger)}.spss-job-widget-cancelled{border-left-color:var(--color-warning)}.spss-job-widget-completed{border-left-color:var(--color-success)}.spss-job-widget-main{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:5px;padding:0;display:grid}.spss-job-widget-title{color:var(--color-text);font-size:.92rem;font-weight:var(--font-heavy)}.spss-job-widget-message,.spss-job-widget-meta{color:var(--color-text-muted);font-size:.78rem}.spss-job-widget-progress{background:var(--color-surface-2);height:8px;display:block;overflow:hidden}.spss-job-widget-progress span{background:var(--color-primary);height:100%;transition:width .22s;display:block}.spss-job-widget-actions{color:var(--color-text);font-size:.76rem;font-weight:var(--font-bold);justify-content:flex-end;align-items:center;gap:8px;display:flex}.spss-job-widget-close{border:1px solid var(--color-border);width:28px;min-width:28px;height:28px;min-height:28px;color:var(--color-text-muted);background:var(--color-surface-2);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);padding:0;font-size:0;position:relative}.spss-job-widget-close:before,.spss-job-widget-close:after{content:"";background:currentColor;width:11px;height:2px;position:absolute;top:50%;left:50%}.spss-job-widget-close:before{transform:translate(-50%,-50%)rotate(45deg)}.spss-job-widget-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.spss-job-widget-close:hover{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-surface-3)}.spss-job-widget-cancel{border:1px solid var(--color-danger);min-height:30px;color:var(--color-danger-text);font-size:.74rem;font-weight:var(--font-heavy);background:var(--color-danger-soft);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);padding:0 11px}.spss-job-widget-cancel:hover{color:var(--color-text);background:color-mix(in srgb, var(--color-danger) 30%, var(--color-surface-2))}.spss-job-widget-cancel:disabled{cursor:wait;opacity:.62}@media (width<=980px){.spss-coding-grid,.spss-data-panel,.spss-excel-run-row,.spss-settings-grid,.spss-filter-grid,.spss-preview-metrics,.spss-quick-test-row{grid-template-columns:1fr}.spss-run-card,.spss-result-card,.spss-summary-metrics,.spss-filter-row,.spss-value-form{grid-template-columns:1fr;align-items:stretch;display:grid}.spss-summary-card .spss-summary-header{display:grid}.spss-summary-card .spss-summary-header span{text-align:left;max-width:none}.spss-sample-inline,.spss-special-review,.spss-memory-source-grid,.spss-memory-mapping-list label{grid-template-columns:1fr}.spss-memory-mapping-list .spss-preview-arrow{display:none}.spss-value-actions{grid-column:auto}}@media (width<=620px){.spss-upload-strip,.spss-tabs,.spss-tabs button,.spss-run-card button,.spss-filter-card button,.spss-result-card a,.spss-value-dialog button{width:100%}.spss-codebook-header{display:none}.spss-codebook-row{border:1px solid var(--color-border);grid-template-columns:1fr;padding:10px}.spss-codebook-row.is-special{grid-template-columns:1fr}.spss-coding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.spss-coding-steps button:nth-child(2){border-right:0}.spss-coding-steps button:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.spss-step-actions{justify-content:space-between}}@media (pointer:coarse){.spss-data-pager button,.spss-job-widget-close,.spss-excel-run-remove,.spss-data-filter-search-row button{width:40px;min-width:40px;height:40px;min-height:40px}}@keyframes notificationEnter{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}.notification-stack{right:clamp(14px,2vw,28px);bottom:calc(clamp(14px, 2vw, 28px) + var(--priority-notification-offset,0px));z-index:var(--z-toast);pointer-events:none;flex-direction:column;justify-content:flex-end;gap:10px;width:min(360px,100vw - 28px);transition:bottom .22s;display:flex;position:fixed}.notification-center,.notification-bell{position:relative}.notification-badge{border:2px solid var(--color-bg-alt);min-width:20px;height:20px;color:var(--color-on-primary);background:var(--color-primary);font-size:.64rem;font-weight:var(--font-heavy);place-items:center;padding:0 5px;line-height:1;display:grid;position:absolute;top:2px;right:0}.notification-panel{z-index:var(--z-popover);border:1px solid var(--color-border-strong);width:min(440px,100vw - 24px);min-height:0;max-height:min(720px,100vh - 88px);color:var(--color-text);background:var(--color-surface);flex-direction:column;display:flex;position:absolute;top:58px;right:0;overflow:hidden}.notification-panel-header{gap:var(--space-3);min-width:0;padding:var(--space-4);border-bottom:1px solid var(--color-border);flex:none;justify-content:space-between;align-items:end;display:flex}.notification-panel-header h2{margin:4px 0 0;font-size:1.1rem}.notification-read-all,.notification-load-more,.notification-state button,.push-control button{border:1px solid var(--color-border-strong);min-height:40px;color:var(--color-text);background:var(--color-surface-2);cursor:pointer;font:inherit;font-size:.76rem;font-weight:var(--font-bold)}.notification-read-all{color:var(--color-primary-hover);padding:0 10px}.notification-list{overscroll-behavior:contain;scrollbar-gutter:stable;flex:0 auto;min-height:0;max-height:216px;overflow:hidden auto}.notification-entry{gap:var(--space-3);width:100%;min-width:0;min-height:72px;padding:13px var(--space-4);border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;display:grid}.notification-entry:hover,.notification-entry:focus-visible{background:var(--color-surface-2)}.notification-entry.is-read{color:var(--color-text-muted)}.notification-entry-marker{background:var(--color-primary);width:4px;height:32px}.notification-entry-success .notification-entry-marker{background:var(--color-success)}.notification-entry-warning .notification-entry-marker{background:var(--color-warning)}.notification-entry-error .notification-entry-marker{background:var(--color-danger)}.notification-entry.is-read .notification-entry-marker{background:var(--color-border-strong)}.notification-entry-copy{gap:3px;min-width:0;display:grid}.notification-entry-copy strong,.notification-entry-copy span,.notification-entry-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notification-entry-copy strong{font-size:.86rem}.notification-entry-copy span{color:var(--color-text-muted);font-size:.78rem}.notification-entry-copy small{color:var(--color-text-subtle);font-size:.69rem}.notification-state{gap:var(--space-3);min-height:130px;padding:var(--space-5);color:var(--color-text-muted);text-align:center;place-items:center;margin:0;font-size:.84rem;display:grid}.notification-state button,.notification-load-more{padding:0 15px}.notification-load-more{margin:var(--space-3) auto;display:block}.push-control{gap:var(--space-3);min-width:0;padding:var(--space-4);border-top:1px solid var(--color-border-strong);background:var(--color-bg-alt);flex:none;justify-content:space-between;align-items:center;display:flex}.push-control div{min-width:0}.push-control strong{font-size:.78rem;display:block}.push-control p{color:var(--color-text-muted);margin:3px 0 0;font-size:.72rem;line-height:1.35}.push-control button{flex:none;padding:0 12px}.notification-toast{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);cursor:pointer;pointer-events:auto;transition:background-color var(--transition-fast), border-color var(--transition-fast);border-left-width:3px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;animation:.19s ease-out both notificationEnter;display:grid}.notification-toast:hover{background:var(--color-surface-2)}.notification-toast.is-leaving{pointer-events:none;animation:.19s ease-in both notificationExit}.notification-toast-info{border-left-color:var(--color-primary)}.notification-toast-success{border-left-color:var(--color-success)}.notification-toast-warning{border-left-color:var(--color-warning)}.notification-toast-error{border-left-color:var(--color-danger)}.notification-toast div{gap:3px;min-width:0;display:grid}.notification-toast strong{color:var(--color-text);font-size:.88rem;font-weight:var(--font-bold);line-height:1.25}.notification-toast span{color:var(--color-text-muted);font-size:.8rem;line-height:1.35}.notification-toast button{border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text-muted);background:var(--color-surface-2);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);place-items:center;font-size:0;display:grid;position:relative}.notification-toast button:hover{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-surface-3)}.notification-toast button:before,.notification-toast button:after{content:"";background:currentColor;width:11px;height:2px;position:absolute;top:50%;left:50%}.notification-toast button:before{transform:translate(-50%,-50%)rotate(45deg)}.notification-toast button:after{transform:translate(-50%,-50%)rotate(-45deg)}@keyframes notificationExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(18px)}}@media (pointer:coarse){.notification-toast button{width:40px;height:40px}}@media (width<=680px){.notification-center{position:static}.notification-panel{border-bottom:0;border-left:0;border-right:0;width:100%;max-height:min(82vh,720px);position:fixed;inset:auto 0 0}.notification-list{max-height:min(216px,34vh)}.notification-panel-header,.push-control{align-items:stretch}.push-control{flex-direction:column}}@media (prefers-reduced-motion:reduce){.notification-stack,.notification-toast,.notification-toast button{transition:none;animation:none}}.login-shell{place-items:center;padding:clamp(18px,4vw,48px);display:grid}.hero-kicker{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-primary);font-size:var(--font-xs);font-weight:var(--font-heavy);letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;display:inline-flex}.login-card{border:1px solid var(--color-border);background:var(--color-surface);text-align:center;justify-items:center;width:min(580px,100%);padding:clamp(28px,5vw,48px);display:grid}.login-brand{width:min(310px,82%);height:76px;margin-bottom:var(--space-5);justify-content:center;align-items:center;display:inline-flex}.login-brand img{object-fit:contain;width:100%;height:100%}.login-copy{justify-items:center;gap:14px;display:grid}.login-copy h1{color:var(--color-primary);font-size:clamp(2.9rem,9vw,5.5rem);font-weight:var(--font-heavy);letter-spacing:-.055em;margin:0;line-height:1.04}.login-copy p{max-width:43ch;color:var(--color-text-muted);margin:0}.google-login-button{width:min(370px,100%);min-height:56px;margin-top:var(--space-6);border:1px solid var(--color-primary);cursor:pointer;background:var(--color-primary);color:var(--color-on-primary);font-weight:var(--font-heavy);transition:background-color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;gap:12px;padding:0 18px;display:inline-flex}.google-login-button:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.google-login-button:disabled{cursor:wait;opacity:.72}.google-mark{border:1px solid var(--color-border);background:var(--color-surface);width:28px;height:28px;color:var(--color-text);font-weight:var(--font-heavy);place-items:center;display:grid}.login-guard{border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);gap:2px;margin-top:18px;padding:12px 14px;font-size:.86rem;display:grid}.login-guard strong{color:var(--color-text);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}.login-message{color:var(--color-text-muted);margin:16px 0 0;font-size:.9rem}.login-message-error{color:var(--color-danger-text)}.app-loading-shell{place-items:center;min-height:100vh;padding:clamp(18px,4vw,48px);display:grid}.app-loading-card{border:1px solid var(--color-border);background:var(--color-surface);gap:12px;width:min(460px,100%);padding:clamp(26px,5vw,42px);display:grid}.app-loading-card h1,.app-loading-card p{margin:0}.app-loading-card h1{color:var(--color-text);font-size:clamp(2rem,7vw,3.7rem);font-weight:var(--font-heavy);letter-spacing:-.055em;line-height:1.02}.app-loading-card p{color:var(--color-text-muted)}.app-loading-bar{border:1px solid var(--color-border);background:var(--color-surface-2);height:7px;margin-top:10px;position:relative;overflow:hidden}.app-loading-bar:before{content:"";background:var(--color-primary);width:46%;animation:1.15s ease-in-out infinite appLoadingSlide;position:absolute;inset:0 auto 0 0}@keyframes appLoadingSlide{0%{transform:translate(-105%)}to{transform:translate(230%)}}
