@tailwind base;@tailwind components;@tailwind utilities;:root{--background: 0 0% 100%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 262 83% 58%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 47%;--accent: 262 83% 96%;--accent-foreground: 262 83% 18%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 214 32% 85%;--input: 214 32% 91%;--ring: 262 83% 58%;--radius: .75rem;--primary-color: 262 83% 58%;--primary-hover: 262 83% 48%;--primary-light: 262 83% 96%;--background-color: 220 20% 96%;--sidebar-bg: 262 83% 15%;--sidebar-text: 0 0% 100%;--sidebar-active: 0 0% 100%;--sidebar-active-bg: 262 83% 58%;--sidebar-hover-bg: 0 0% 100% / .1;--content-bg: 0 0% 100%;--card-bg: 0 0% 100%;--panel-bg: 220 20% 98%;--text-primary: 222 47% 11%;--text-secondary: 215 16% 42%;--border-color: 214 32% 82%;--shadow-color: 0 0% 0% / .12;--success-color: 142 76% 36%;--success-bg: 142 76% 36% / .12;--success-text: 142 76% 28%;--error-color: 0 84% 60%;--error-text: 0 72% 51%;--error-bg: 0 84% 60% / .1;--danger-color: 0 84% 60%;--danger-hover: 0 84% 50%;--warning-bg: 48 96% 53% / .12;--warning-border: 48 96% 53%;--warning-text: 32 95% 44%;--warning-color: 48 96% 53%;--drop-indicator-color: 262 83% 58%;--tag-bg: 142 76% 36% / .12;--tag-text: 142 76% 28%;--account-bg: 262 83% 58% / .1;--account-text: 262 83% 48%;--edited-cell-bg: 48 96% 53% / .15;--edited-cell-border: 48 96% 53%;--muted-bg: 210 40% 94%;--border-radius: .75rem;--spacing-unit: .5rem;--color-data-load: 217 91% 60%;--color-preprocessing: 142 76% 36%;--color-rules: 48 96% 53%;--color-processing: 14 91% 60%;--color-results: 262 83% 58%;--color-ai-enhancement: 280 80% 55%;--color-config: 200 50% 50%;--color-admin: 0 84% 60%}.dark{--background: 222 47% 11%;--foreground: 210 40% 98%;--card: 222 47% 16%;--card-foreground: 210 40% 98%;--popover: 222 47% 16%;--popover-foreground: 210 40% 98%;--primary: 263 70% 65%;--primary-foreground: 222 47% 11%;--secondary: 217 33% 20%;--secondary-foreground: 210 40% 98%;--muted: 217 33% 20%;--muted-foreground: 215 20% 65%;--accent: 263 70% 25%;--accent-foreground: 210 40% 98%;--destructive: 0 63% 31%;--destructive-foreground: 210 40% 98%;--border: 217 33% 24%;--input: 217 33% 20%;--ring: 263 70% 65%;--primary-color: 263 70% 65%;--primary-hover: 263 70% 75%;--primary-light: 263 70% 20%;--background-color: 222 47% 11%;--sidebar-bg: 222 47% 7%;--sidebar-text: 210 40% 98%;--sidebar-active: 0 0% 100%;--sidebar-active-bg: 263 70% 65%;--sidebar-hover-bg: 0 0% 100% / .08;--content-bg: 222 47% 16%;--card-bg: 222 47% 16%;--panel-bg: 222 47% 13%;--text-primary: 210 40% 98%;--text-secondary: 215 20% 70%;--border-color: 217 33% 28%;--shadow-color: 0 0% 0% / .6;--success-color: 142 69% 58%;--success-bg: 142 69% 58% / .18;--success-text: 142 69% 70%;--error-color: 0 72% 55%;--error-text: 0 84% 65%;--error-bg: 0 72% 51% / .18;--danger-color: 0 72% 55%;--danger-hover: 0 72% 65%;--warning-bg: 48 96% 53% / .18;--warning-border: 48 96% 53%;--warning-text: 48 96% 70%;--warning-color: 48 96% 53%;--drop-indicator-color: 263 70% 65%;--tag-bg: 142 69% 58% / .18;--tag-text: 142 69% 70%;--account-bg: 263 70% 65% / .18;--account-text: 263 70% 80%;--edited-cell-bg: 48 96% 53% / .22;--edited-cell-border: 48 96% 53%;--muted-bg: 217 33% 18%;--color-data-load: 217 91% 70%;--color-preprocessing: 142 69% 58%;--color-rules: 48 96% 63%;--color-processing: 14 91% 70%;--color-results: 263 70% 70%;--color-ai-enhancement: 280 80% 70%;--color-config: 200 50% 65%;--color-admin: 0 72% 65%}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,sans-serif;background-color:hsl(var(--background-color));color:hsl(var(--text-primary));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s,color .2s}#root{display:flex;height:100vh;width:100vw}.app-container{display:flex;width:100%;height:100%}.home-view{width:100%;max-width:1400px;margin:0 auto;padding:2rem}.home-content{margin-top:2rem}.action-section{margin-bottom:3rem}.action-section h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:var(--foreground);padding-bottom:.5rem;border-bottom:2px solid var(--border)}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.config-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.action-card{background:hsl(var(--card));border:2px solid hsl(var(--border));border-top:4px solid transparent;border-radius:12px;padding:1.75rem;text-align:left;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.action-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsl(var(--primary) / .03),transparent);opacity:0;transition:opacity .3s ease}.action-card:hover:not(:disabled):before{opacity:1}.action-card:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px 28px hsl(var(--shadow-color));border-color:hsl(var(--primary) / .4)}.action-card:disabled{opacity:.6;cursor:not-allowed}.action-icon{margin-bottom:1rem;display:flex;align-items:center;justify-content:flex-start}.action-card h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:hsl(var(--foreground))}.action-card p{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;margin:0}.action-badge{position:absolute;top:1rem;right:1rem;background:hsl(var(--muted));color:hsl(var(--muted-foreground));padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.admin-quick-links{display:flex;gap:1rem;flex-wrap:wrap}.quick-link-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:8px;color:hsl(var(--foreground));font-size:.875rem;cursor:pointer;transition:all .2s ease;font-weight:500}.quick-link-btn:hover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary));box-shadow:0 4px 12px hsl(var(--shadow-color));transform:translateY(-2px)}.quick-link-btn .material-symbols-outlined{font-size:20px;color:hsl(var(--primary))}.login-container{display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background-color:hsl(var(--background-color))}.login-box{text-align:center;padding:calc(var(--spacing-unit) * 6);max-width:400px}.login-box h1{font-size:2.5rem;margin-bottom:var(--spacing-unit)}.login-box p{color:hsl(var(--text-secondary));margin-bottom:calc(var(--spacing-unit) * 4)}#google-signin-button{display:flex;justify-content:center;margin-bottom:calc(var(--spacing-unit) * 2)}.sidebar{width:280px;background-color:hsl(var(--sidebar-bg));color:hsl(var(--sidebar-text));padding:calc(var(--spacing-unit) * 2);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s ease-in-out}.sidebar.collapsed{width:80px}.sidebar.collapsed .app-title,.sidebar.collapsed .nav-item-label,.sidebar.collapsed .nav-heading,.sidebar.collapsed .expand-icon,.sidebar.collapsed .user-profile-info,.sidebar.collapsed .sub-nav{display:none}.sidebar.collapsed .nav-item{justify-content:center}.sidebar.collapsed .nav-item .material-symbols-outlined{margin-right:0}.sidebar.collapsed .user-profile-widget{justify-content:center}.sidebar.collapsed .sidebar-toggle{transform:rotate(180deg)}.app-branding{display:flex;align-items:center;gap:var(--spacing-unit);overflow:hidden}.app-logo{flex-shrink:0;color:hsl(var(--sidebar-active))}.sidebar-header{display:flex;align-items:center;justify-content:space-between;font-size:1.5rem;font-weight:700;color:hsl(var(--sidebar-active));padding:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}.sidebar-toggle{background:none;border:none;color:hsl(var(--sidebar-text));cursor:pointer;padding:var(--spacing-unit);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:transform .3s ease-in-out}.sidebar-toggle:hover{background-color:hsl(var(--sidebar-hover-bg))}.sidebar nav{flex-grow:1;overflow-y:auto;overflow-x:hidden}.sidebar-nav{list-style:none;padding:0;margin:0}.home-nav{margin-bottom:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit) * 2);border-bottom:1px solid hsl(var(--border-color))}.nav-section{margin-bottom:calc(var(--spacing-unit) * 2)}.nav-section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:var(--spacing-unit) calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);transition:background-color .2s}.nav-section-header:hover{background-color:hsl(var(--sidebar-hover-bg))}.section-expand-icon{font-size:20px;transition:transform .2s ease-in-out;color:hsl(var(--text-secondary))}.section-expand-icon.expanded{transform:rotate(180deg)}.nav-heading{font-size:.75rem;font-weight:600;color:hsl(var(--text-secondary));text-transform:uppercase;margin:0;flex-grow:1}.nav-item{display:flex;align-items:center;padding:var(--spacing-unit) calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);margin-bottom:var(--spacing-unit);cursor:pointer;transition:background-color .2s,color .2s;-webkit-user-select:none;user-select:none}.nav-item .material-symbols-outlined{margin-right:calc(var(--spacing-unit) * 2);font-size:20px}.nav-item:hover{background-color:hsl(var(--sidebar-hover-bg))}.nav-item.active{background-color:hsl(var(--sidebar-active-bg));color:hsl(var(--sidebar-active));font-weight:600}.nav-item.disabled{color:hsl(var(--text-secondary));cursor:not-allowed;background-color:transparent}.nav-item-parent{justify-content:space-between}.expand-icon{transition:transform .2s ease-in-out}.expand-icon.expanded{transform:rotate(180deg)}.sub-nav{list-style:none;padding:0 0 0 calc(var(--spacing-unit) * 2);margin:0}.sub-nav-item{padding-left:calc(var(--spacing-unit) * 4)}.sub-nav-item .nav-item-label{font-weight:400}.sub-nav-item.active .nav-item-label{color:hsl(var(--sidebar-active));font-weight:600}.sub-nav-item:hover,.sub-nav-item.active:hover{background-color:transparent}.draggable{cursor:grab}.draggable.dragging{opacity:.5;background:hsl(var(--sidebar-hover-bg))}.drop-indicator{height:2px;background-color:hsl(var(--drop-indicator-color));margin:4px 0;list-style-type:none;border-radius:1px}.drag-handle{cursor:grab;color:hsl(var(--text-secondary));padding:0 var(--spacing-unit)}.draggable:hover .drag-handle{color:hsl(var(--text-primary))}.sidebar-footer{border-top:1px solid hsl(var(--border-color));padding-top:var(--spacing-unit);display:flex;flex-direction:column;gap:var(--spacing-unit)}.user-profile-widget{display:flex;align-items:center;gap:var(--spacing-unit);padding:var(--spacing-unit);border-radius:var(--border-radius);cursor:pointer;flex-grow:1;overflow:hidden}.user-profile-widget:hover{background-color:hsl(var(--sidebar-hover-bg))}.user-profile-picture{width:40px;height:40px;border-radius:50%;flex-shrink:0}.user-profile-icon{font-size:40px}.user-profile-info{display:flex;flex-direction:column;gap:4px;overflow:hidden}.user-profile-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.stat-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px hsl(var(--primary) / .1);transform:translateY(-2px)}.stat-icon{padding:.75rem;background:hsl(var(--primary) / .1);border-radius:8px;display:flex;align-items:center;justify-content:center}.stat-content{flex:1}.stat-label{font-size:.875rem;color:hsl(var(--muted-foreground));margin-bottom:.5rem}.stat-value{font-size:1.875rem;font-weight:600;color:hsl(var(--foreground))}.status-badge{font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:600;align-self:flex-start}.status-badge.admin{background-color:hsl(var(--error-bg));color:hsl(var(--error-text))}.status-badge.edit{background-color:hsl(var(--warning-bg));color:hsl(var(--warning-text))}.status-badge.read-only{background-color:hsl(var(--account-bg));color:hsl(var(--account-text))}.status-badge.active{background-color:hsl(var(--success-bg));color:hsl(var(--success-text))}.status-badge.inactive{background-color:hsl(var(--content-bg));color:hsl(var(--text-secondary));border:1px solid hsl(var(--border-color))}.status-badge.draft{background-color:hsl(var(--account-bg));color:hsl(var(--account-text))}.status-badge.open{background-color:hsl(var(--success-bg));color:hsl(var(--success-text))}.status-badge.locked{background-color:hsl(var(--error-bg));color:hsl(var(--error-text))}.status-badge.completed{background-color:hsl(var(--success-bg));color:hsl(var(--success-text))}.status-badge.edited{background-color:hsl(var(--warning-bg));color:hsl(var(--warning-text))}.status-badge.ai-enhanced,.status-badge.ai-edited{background-color:#e3deff;color:#5243aa}.status-badge.sql{background-color:hsl(var(--account-bg));color:hsl(var(--account-text))}.status-badge.api{background-color:hsl(var(--tag-bg));color:hsl(var(--tag-text))}.theme-toggle .btn-icon{color:hsl(var(--sidebar-text))}.theme-toggle .btn-icon:hover{background-color:hsl(var(--sidebar-hover-bg))}.sign-out-btn{display:flex;align-items:center;gap:var(--spacing-unit);padding:calc(var(--spacing-unit) * 1.5);background:none;border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);color:hsl(var(--sidebar-text));cursor:pointer;font-size:.875rem;width:100%;transition:all .2s ease-in-out}.sign-out-btn:hover{background-color:hsl(var(--error-bg));border-color:hsl(var(--error-color));color:hsl(var(--error-text))}.sign-out-btn .material-symbols-outlined{font-size:1rem}.sidebar.collapsed .sign-out-btn .sign-out-text{display:none}.sidebar.collapsed .sign-out-btn{justify-content:center}.feedback-btn{display:flex;align-items:center;gap:var(--spacing-unit);padding:calc(var(--spacing-unit) * 1.5);background:#db7706;border:1px solid hsl(32 95% 44%);border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:.875rem;width:100%;transition:all .2s ease-in-out;margin-top:calc(var(--spacing-unit) * 1.5)}.feedback-btn:hover{background:#bd6705;border-color:#bd6705}.feedback-btn .material-symbols-outlined{font-size:1rem}.sidebar.collapsed .feedback-btn .feedback-text{display:none}.sidebar.collapsed .feedback-btn{justify-content:center}.sidebar-footer .theme-toggle{align-self:flex-end}.workspace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 3)}.workspace-card{background:hsl(var(--card-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);cursor:pointer;transition:all .2s ease-in-out}.workspace-card:hover{border-color:hsl(var(--primary));box-shadow:0 4px 12px hsla(var(--primary) / .1)}.workspace-card.active{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.workspace-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:calc(var(--spacing-unit) * 2)}.workspace-card-header h3{margin:0;font-size:1.25rem;color:hsl(var(--text-primary))}.workspace-card-meta{color:hsl(var(--text-secondary));font-size:.875rem;margin-bottom:calc(var(--spacing-unit) * 2)}.workspace-card-actions{display:flex;gap:var(--spacing-unit);margin-top:calc(var(--spacing-unit) * 2)}.role-badge{display:inline-block;padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) * .5);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.owner{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.role-badge.administrator{background:hsl(var(--success-bg));color:hsl(var(--success-color))}.role-badge.read_only{background:hsl(var(--muted-bg));color:hsl(var(--text-secondary))}.role-select{padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1);border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);background:hsl(var(--input-bg));color:hsl(var(--text-primary));font-size:.875rem}.invitation-card{max-width:500px;background:hsl(var(--card-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 4);box-shadow:0 8px 24px hsla(var(--shadow) / .1)}.invitation-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 3)}.invitation-header .material-symbols-outlined{font-size:3rem;color:hsl(var(--primary));display:block;margin-bottom:calc(var(--spacing-unit) * 2)}.invitation-header h1{margin:0;font-size:1.5rem;color:hsl(var(--text-primary))}.invitation-body{text-align:center;margin-bottom:calc(var(--spacing-unit) * 3)}.invitation-body p{margin:calc(var(--spacing-unit) * 1) 0;color:hsl(var(--text-secondary))}.invitation-body h2{margin:calc(var(--spacing-unit) * 2) 0;color:hsl(var(--primary));font-size:1.75rem}.invitation-role{margin:calc(var(--spacing-unit) * 2) 0!important}.invitation-meta{margin-top:calc(var(--spacing-unit) * 3);padding-top:calc(var(--spacing-unit) * 3);border-top:1px solid hsl(var(--border-color))}.invitation-meta p{font-size:.875rem;margin:calc(var(--spacing-unit) * .5) 0}.invitation-notice{display:flex;align-items:center;gap:var(--spacing-unit);padding:calc(var(--spacing-unit) * 2);background:hsl(var(--info-bg));border:1px solid hsl(var(--info-color));border-radius:var(--border-radius);margin-top:calc(var(--spacing-unit) * 3)}.invitation-notice .material-symbols-outlined{color:hsl(var(--info-color))}.invitation-notice p{margin:0;font-size:.875rem;color:hsl(var(--info-text))}.info-banner{display:flex;align-items:flex-start;gap:var(--spacing-unit);padding:calc(var(--spacing-unit) * 1.5);background:hsl(var(--info-bg));border:1px solid hsl(var(--info-color));border-radius:var(--border-radius)}.info-banner .material-symbols-outlined{color:hsl(var(--info-color));flex-shrink:0}.invitation-actions{display:flex;gap:var(--spacing-unit);justify-content:center}.view-container.centered{display:flex;align-items:center;justify-content:center;min-height:100vh}.error-message{text-align:center;padding:calc(var(--spacing-unit) * 4)}.error-message .material-symbols-outlined{font-size:3rem;color:hsl(var(--error-color));display:block;margin-bottom:calc(var(--spacing-unit) * 2)}.error-message h2{margin:calc(var(--spacing-unit) * 2) 0;color:hsl(var(--text-primary))}.error-message p{color:hsl(var(--text-secondary))}.btn-secondary-sm{padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);font-size:.875rem;background:hsl(var(--button-secondary-bg));color:hsl(var(--button-secondary-text));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease-in-out}.btn-secondary-sm:hover{background:hsl(var(--button-secondary-hover-bg))}.btn-danger-outline{padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);background:transparent;color:hsl(var(--error-color));border:1px solid hsl(var(--error-color));border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;transition:all .2s ease-in-out}.btn-danger-outline:hover{background:hsl(var(--error-bg));color:hsl(var(--error-text))}.password-strength-container{margin-top:calc(var(--spacing-unit) * 1)}.password-strength-bar-wrapper{width:100%;height:4px;background:hsl(var(--muted-bg));border-radius:2px;overflow:hidden;margin-bottom:calc(var(--spacing-unit) * .5)}.password-strength-bar{height:100%;transition:width .3s ease-in-out,background-color .3s ease-in-out}.password-strength-bar.strength-weak{background:hsl(var(--error-color))}.password-strength-bar.strength-fair{background:hsl(var(--warning-color))}.password-strength-bar.strength-good{background:hsl(var(--info-color))}.password-strength-bar.strength-strong{background:hsl(var(--success-color))}.password-strength-bar.strength-very-strong{background:hsl(var(--primary))}.password-strength-label{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;margin-bottom:calc(var(--spacing-unit) * .5)}.strength-text{font-weight:600;text-transform:uppercase;letter-spacing:.5px}.strength-text.strength-weak{color:hsl(var(--error-color))}.strength-text.strength-fair{color:hsl(var(--warning-color))}.strength-text.strength-good{color:hsl(var(--info-color))}.strength-text.strength-strong{color:hsl(var(--success-color))}.strength-text.strength-very-strong{color:hsl(var(--primary))}.strength-score{color:hsl(var(--text-secondary));font-size:.7rem}.password-feedback{list-style:none;padding:0;margin:calc(var(--spacing-unit) * 1) 0 0 0;font-size:.75rem}.password-feedback li{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .5);color:hsl(var(--warning-text));padding:calc(var(--spacing-unit) * .25) 0}.password-feedback li .material-symbols-outlined{font-size:.875rem;color:hsl(var(--warning-color))}.password-requirements{margin-top:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 2);background:hsl(var(--muted-bg));border-radius:var(--border-radius)}.requirements-title{margin:0 0 calc(var(--spacing-unit) * 1) 0;font-size:.75rem;font-weight:600;color:hsl(var(--text-secondary));text-transform:uppercase;letter-spacing:.5px}.password-requirements ul{list-style:none;padding:0;margin:0}.password-requirements li{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);padding:calc(var(--spacing-unit) * .5) 0;color:hsl(var(--text-secondary));font-size:.875rem;transition:color .2s ease-in-out}.password-requirements li.met{color:hsl(var(--success-color))}.password-requirements li .material-symbols-outlined{font-size:1.125rem;color:hsl(var(--muted-text))}.password-requirements li.met .material-symbols-outlined{color:hsl(var(--success-color))}.main-content{flex-grow:1;padding:calc(var(--spacing-unit) * 4);overflow-y:auto;display:flex;flex-direction:column;transition:margin-left .3s ease-in-out}.view-preprocessing .main-content,.view-results .main-content{padding:calc(var(--spacing-unit) * 2)}.page-header{border-bottom:1px solid hsl(var(--border-color));padding-bottom:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3)}.view-preprocessing .page-header,.view-results .page-header{padding-bottom:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 2)}.page-header h1{margin:0;font-size:2rem}.view-preprocessing .page-header h1,.view-results .page-header h1{font-size:1.5rem}.page-header p{margin:var(--spacing-unit) 0 0 0;color:hsl(var(--text-secondary));font-size:1rem}.view-preprocessing .page-header p,.view-results .page-header p{display:none}.view-data-load .page-header{border-top:4px solid hsl(var(--color-data-load))}.view-preprocessing .page-header{border-top:4px solid hsl(var(--color-preprocessing))}.view-rules .page-header{border-top:4px solid hsl(var(--color-rules))}.view-processing .page-header{border-top:4px solid hsl(var(--color-processing))}.view-results .page-header,.view-ai-post-production .page-header{border-top:4px solid hsl(var(--color-results))}.view-ai-enhancement .page-header{border-top:4px solid hsl(var(--color-ai-enhancement))}.view-connectors .page-header,.view-data-mappings .page-header,.view-periods .page-header,.view-entities .page-header,.view-ai-models .page-header,.view-ai-agents .page-header,.view-ai-prompts .page-header{border-top:4px solid hsl(var(--color-config))}.view-audit .page-header,.view-access-control .page-header,.view-security-alerts .page-header{border-top:4px solid hsl(var(--color-admin))}.card{background-color:hsl(var(--content-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);box-shadow:0 1px 3px hsl(var(--shadow-color))}.card.p-4{padding:calc(var(--spacing-unit) * 4)}.form-group{margin-bottom:calc(var(--spacing-unit) * 3)}.form-group label{display:block;font-weight:600;margin-bottom:var(--spacing-unit)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-unit) calc(var(--spacing-unit) * 1.5);border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);background-color:hsl(var(--content-bg));color:hsl(var(--text-primary));font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:hsl(var(--primary-color));box-shadow:0 0 0 2px hsl(var(--primary-color) / .2)}.form-row{display:flex;gap:calc(var(--spacing-unit) * 2)}.form-row .form-group{flex-grow:1}.form-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:calc(var(--spacing-unit) * 3);gap:var(--spacing-unit)}.form-actions.space-between{justify-content:space-between}.field-hint{font-size:.875rem;color:hsl(var(--text-secondary));margin-top:var(--spacing-unit)}.error-text{color:hsl(var(--error-text))}.success-text{color:hsl(var(--success-text))}.btn{padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 2);border:1px solid transparent;border-radius:var(--border-radius);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;display:inline-flex;align-items:center;gap:var(--spacing-unit)}.btn .material-symbols-outlined{font-size:20px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:hsl(var(--primary-color));color:#fff}.btn-primary:not(:disabled):hover{background-color:hsl(var(--primary-hover))}.btn-success{background-color:#16a249;color:#fff}.btn-success:not(:disabled):hover{background-color:#12873d}.btn-secondary{background-color:hsl(var(--content-bg));color:hsl(var(--text-primary));border-color:hsl(var(--border-color))}.btn-secondary:not(:disabled):hover{background-color:hsl(var(--background-color))}.btn-danger{background-color:hsl(var(--danger-color));color:#fff}.btn-danger:not(:disabled):hover{background-color:hsl(var(--danger-hover))}.btn-text{background:none;border:none;color:hsl(var(--primary-color))}.btn-text:not(:disabled):hover{text-decoration:underline}.btn-icon{background:none;border:none;padding:var(--spacing-unit);border-radius:50%;cursor:pointer;color:hsl(var(--text-secondary));display:inline-flex;align-items:center;justify-content:center}.btn-icon .form-input,.btn-icon .form-select{width:100%;background-color:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);padding:.5rem .75rem;font-size:.875rem;transition:all .2s ease}.btn-icon .form-input:focus,.btn-icon .form-select:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.btn-icon .form-input:disabled,.btn-icon .form-select:disabled{opacity:.5;cursor:not-allowed;background-color:hsl(var(--muted))}.btn-icon .form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn-icon .form-select option{background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));padding:.5rem}.btn-icon select{background-color:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));z-index:100}.btn-icon select option{background-color:hsl(var(--popover));color:hsl(var(--popover-foreground))}.btn-icon .dark .form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}.btn-icon:hover{background-color:hsl(var(--background-color));color:hsl(var(--text-primary))}.btn-icon.danger:hover{color:hsl(var(--danger-color))}.btn-sm{padding:var(--spacing-unit) calc(var(--spacing-unit) * 1.5);font-size:.875rem}.data-table-container{flex-grow:0;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background-color:hsl(var(--content-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);height:calc(100vh - 280px);max-height:none;min-height:400px}.view-preprocessing .data-table-container,.view-results .data-table-container{height:calc(100vh - 220px)}.table-toolbar{padding:var(--spacing-unit) calc(var(--spacing-unit) * 2);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:calc(var(--spacing-unit) * 2);background-color:hsl(var(--content-bg))}.view-preprocessing .table-toolbar,.view-results .table-toolbar{padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1.5);gap:var(--spacing-unit)}.toolbar-group{display:flex;align-items:center;gap:var(--spacing-unit)}.toolbar-group label{margin-right:var(--spacing-unit)}.toolbar-group input,.toolbar-group select{padding:6px 10px}.data-table-container>div:last-of-type{overflow:auto;flex-grow:1;flex-shrink:1;position:relative}.data-table-container>div{scrollbar-width:thin;scrollbar-color:hsl(var(--border-color)) transparent}.data-table-container>div::-webkit-scrollbar{width:8px;height:8px}.data-table-container>div::-webkit-scrollbar-track{background:transparent}.data-table-container>div::-webkit-scrollbar-thumb{background:hsl(var(--border-color));border-radius:4px}.data-table-container>div::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th,.data-table td{padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1.25);text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;color:hsl(var(--text-primary))}.data-table th{font-weight:600;position:sticky;top:0;background-color:hsl(var(--content-bg));z-index:10;box-shadow:0 1px 2px hsl(var(--border-color) / .1);border-bottom:2px solid hsl(var(--border-color));transition:box-shadow .2s ease}.data-table thead.scrolled th{box-shadow:0 4px 8px -2px hsl(var(--border-color) / .3)}.data-table th:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:linear-gradient(to bottom,hsl(var(--border-color) / .15),transparent);opacity:0;transition:opacity .2s ease}.data-table thead.scrolled th:after{opacity:1}.data-table th.sortable{cursor:pointer;transition:background-color .2s ease}.data-table th.sortable:hover{background-color:hsl(var(--muted) / .5)}.sort-indicator{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;margin-left:8px;vertical-align:middle}.sort-indicator.ascending{border-bottom:5px solid var(--text-primary)}.sort-indicator.descending{border-top:5px solid var(--text-primary)}.table-actions{display:flex;gap:var(--spacing-unit);justify-content:flex-start}.table-actions .btn-sm{min-width:80px;justify-content:center}.text-center{text-align:center}.ruleset-name-cell{cursor:pointer;color:var(--primary-color);font-weight:600}.ruleset-name-cell:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-container,.modal-content{background-color:hsl(var(--content-bg));border:2px solid hsl(var(--border-color));border-radius:var(--border-radius);box-shadow:0 10px 25px hsl(var(--shadow-color));width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column}.modal-header{padding:calc(var(--spacing-unit) * 2);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0}.modal-body{padding:calc(var(--spacing-unit) * 3);overflow-y:auto}.modal-body-with-icon{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2)}.modal-body-with-icon p{margin:0;flex-grow:1}.modal-icon-wrapper{flex-shrink:0}.modal-icon-wrapper .material-symbols-outlined{font-size:48px}.icon-danger{color:var(--danger-color)}.icon-warning{color:var(--warning-text)}.modal-footer{padding:calc(var(--spacing-unit) * 2);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-unit)}.placeholder-content{text-align:center;padding:calc(var(--spacing-unit) * 8) 0;color:var(--text-secondary)}.placeholder-content .material-symbols-outlined{font-size:64px;margin-bottom:var(--spacing-unit)}.action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * 3);flex-wrap:wrap;gap:calc(var(--spacing-unit) * 2)}.ingestion-setup{padding:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3)}.ingestion-method-tabs{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:calc(var(--spacing-unit) * 3)}.tab-btn{padding:var(--spacing-unit) calc(var(--spacing-unit) * 2);border:none;border-bottom:3px solid transparent;background:none;font-size:1rem;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-unit);margin-bottom:-1px}.tab-btn.active{border-bottom-color:var(--primary-color);color:var(--text-primary);font-weight:600}.dropzone{border:2px dashed hsl(var(--border-color));border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 8);text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s;background-color:hsl(var(--muted))}.dropzone.active,.dropzone:hover{border-color:hsl(var(--primary-color));background-color:hsl(var(--accent));border-width:3px}.dropzone .dropzone-icon{font-size:48px;color:hsl(var(--primary-color))}.data-load-action-bar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--spacing-unit) * 2);background-color:hsl(var(--background-color));border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 2)}.workspace-selector-view{padding:calc(var(--spacing-unit) * 4)}.data-load-action-bar-buttons{display:flex;gap:var(--spacing-unit)}.file-info{font-weight:600}.db-import-panel{padding:calc(var(--spacing-unit) * 3)}.mapping-container{display:grid;grid-template-columns:300px 1fr;gap:calc(var(--spacing-unit) * 4);margin:calc(var(--spacing-unit) * 2) 0}.source-headers-list{background:hsl(var(--primary) / .03);border:2px solid hsl(var(--primary) / .15);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2);height:60vh;overflow-y:auto}.mapping-targets-list{background:hsl(var(--accent) / .03);border:2px solid hsl(var(--accent) / .15);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2);height:60vh;overflow-y:auto}.source-headers-list h4,.mapping-targets-list h4{margin-top:0}.source-header-chip,.mapped-chip{padding:6px 12px;border-radius:16px;margin:4px;display:inline-block}.source-header-chip{background:var(--account-bg);color:var(--account-text)}.source-header-chip.draggable{cursor:grab}.source-header-chip.mapped{background:var(--background-color);color:var(--text-secondary);text-decoration:line-through}.mapping-target-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-unit);border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.mapping-target-row:last-child{border-bottom:none}.mapping-target-row.mapped-row{background:#def7de;border-left:3px solid hsl(120,50%,50%)}.dark .mapping-target-row.mapped-row{background:#173617;border-left:3px solid hsl(120,50%,40%)}.target-drop-area{border:1px dashed var(--border-color);border-radius:var(--border-radius);min-height:40px;flex-grow:1;margin-left:var(--spacing-unit);display:flex;align-items:center;justify-content:center}.mapping-target-row.drag-over-active .target-drop-area{border-color:var(--primary-color);background:var(--background-color)}.drop-placeholder{color:var(--text-secondary);font-size:.875rem}.mapped-chip{background:var(--tag-bg);color:var(--tag-text);display:flex;align-items:center;gap:8px}.mapped-chip .btn-icon{color:var(--tag-text);padding:2px}.mapped-chip .btn-icon:hover{background:#0000001a}.editable-table td{cursor:cell}.cell-edited{background-color:hsl(var(--edited-cell-bg))!important;border-left:3px solid hsl(var(--edited-cell-border))!important;font-weight:500}.cell-error{box-shadow:0 0 0 2px hsl(var(--error-color)) inset}.cell-protected{background-color:hsl(var(--muted-bg))!important;cursor:not-allowed!important;opacity:.6;-webkit-user-select:none;user-select:none}.editable-table td input{width:100%;border:none;background:transparent;padding:0;font-size:inherit;color:inherit}.editable-table td input:focus{outline:none}.comments-cell{white-space:normal!important}.results-table th.result-header{color:var(--primary-color)}.checkbox-cell{width:40px;text-align:center}.data-table th.checkbox-cell,.data-table td.checkbox-cell{position:sticky;left:0;background-color:hsl(var(--content-bg));z-index:5}.data-table th.checkbox-cell{z-index:15;box-shadow:2px 0 4px -1px hsl(var(--border-color) / .2)}.data-table th.draggable-header{cursor:grab;-webkit-user-select:none;user-select:none}.data-table th.draggable-header:active{cursor:grabbing}.data-table th.dragging{opacity:.5;background-color:hsl(var(--primary) / .1)}.data-table th.drag-over{background-color:hsl(var(--primary) / .15);border-left:3px solid hsl(var(--primary))}.drag-handle{cursor:grab;transition:opacity .2s}.data-table th:hover .drag-handle{opacity:.8!important}.resize-handle{cursor:col-resize}.resize-handle:hover>div{background:hsl(var(--primary))!important}.table-column-controls{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;background:hsl(var(--muted) / .3);border-radius:6px}.table-column-controls button{font-size:.875rem;padding:4px 8px}.editor-layout{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 3)}.readonly-banner{padding:var(--spacing-unit);background:var(--warning-bg);color:var(--warning-text);display:flex;align-items:center;gap:var(--spacing-unit);border-radius:var(--border-radius);border:1px solid var(--warning-border)}.ruleset-editor-three-column{display:grid;grid-template-columns:280px minmax(500px,1fr) minmax(400px,600px);gap:calc(var(--spacing-unit) * 2);flex-grow:1;overflow:hidden;height:100%;width:100%}.ruleset-left-panel{background:hsl(var(--card-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);display:flex;flex-direction:column;overflow:hidden;padding:0}.ruleset-left-panel-content{flex:1;overflow-y:auto;padding:calc(var(--spacing-unit) * 2)}.ruleset-left-panel .form-actions{margin-top:0;padding:calc(var(--spacing-unit) * 2);border-top:1px solid hsl(var(--border-color));background:hsl(var(--card-bg))}.ruleset-header{margin-bottom:calc(var(--spacing-unit) * 2)}.readonly-banner{display:flex;align-items:center;gap:var(--spacing-unit);padding:calc(var(--spacing-unit) * 1.5);background:hsl(var(--warning-bg));border:1px solid hsl(var(--warning-color));border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 2);font-size:.875rem}.ruleset-ai-assistant{padding:calc(var(--spacing-unit) * 2);border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);background-color:hsl(var(--panel-bg));margin-top:calc(var(--spacing-unit) * 2)}.ruleset-middle-panel{background:hsl(var(--card-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);display:flex;flex-direction:column;overflow:hidden}.rules-list-header{padding:calc(var(--spacing-unit) * 2);border-bottom:1px solid hsl(var(--border-color));display:flex;justify-content:space-between;align-items:center;background:hsl(var(--panel-bg))}.rules-list-header h3{margin:0;font-size:1.1rem}.rule-list{list-style:none;padding:0;margin:0;max-height:250px;overflow-y:auto;border-bottom:1px solid hsl(var(--border-color))}.rule-item{display:flex;align-items:center;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2);border-bottom:1px solid hsl(var(--border-color));cursor:pointer;gap:var(--spacing-unit)}.rule-item:hover{background:hsl(var(--muted-bg))}.rule-item.active{background:hsl(var(--primary));color:#fff}.rule-item .btn-icon{color:hsl(var(--danger-color))}.rule-item.active .btn-icon,.rule-item.active .rule-number{color:#fff}.rule-name{flex-grow:1}.rule-editor-content{flex-grow:1;padding:calc(var(--spacing-unit) * 3);overflow-y:auto;overflow-x:auto;scrollbar-width:thin;scrollbar-color:hsl(var(--border-color)) transparent}.rule-editor-content::-webkit-scrollbar{width:8px;height:8px}.rule-editor-content::-webkit-scrollbar-track{background:transparent}.rule-editor-content::-webkit-scrollbar-thumb{background:hsl(var(--border-color));border-radius:4px}.rule-editor-content::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.rule-editor-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:hsl(var(--text-secondary));padding:calc(var(--spacing-unit) * 4);flex-grow:1}.rule-editor-placeholder .material-symbols-outlined{font-size:48px;margin-bottom:calc(var(--spacing-unit) * 2);opacity:.5}.ruleset-right-panel{background:hsl(var(--card-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);display:flex;flex-direction:column;overflow:hidden}.preview-header{padding:calc(var(--spacing-unit) * 2);border-bottom:1px solid hsl(var(--border-color));display:flex;justify-content:space-between;align-items:center;background:hsl(var(--panel-bg))}.preview-header h3{margin:0;font-size:1.1rem}.column-selector-panel{padding:calc(var(--spacing-unit) * 2);border-bottom:1px solid hsl(var(--border-color));background:hsl(var(--panel-bg))}.column-selector-panel h4{margin:0 0 calc(var(--spacing-unit) * 1.5) 0;font-size:.9rem;color:hsl(var(--text-secondary))}.column-selector-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * 1.5)}.column-selector-actions h4{margin:0}.column-selector-buttons{display:flex;gap:calc(var(--spacing-unit) * .5)}.column-selector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--spacing-unit) * 1)}.column-selector-item{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .5);cursor:pointer;padding:calc(var(--spacing-unit) * .5);border-radius:var(--border-radius);transition:background .2s}.column-selector-item:hover{background:hsl(var(--muted-bg))}.column-selector-item input[type=checkbox]{width:auto;margin:0}.column-selector-item span{font-size:.875rem;color:hsl(var(--text-primary))}.preview-content{flex-grow:1;overflow:auto;scrollbar-width:thin;scrollbar-color:hsl(var(--border-color)) transparent;min-height:0}.preview-content::-webkit-scrollbar{width:8px;height:8px}.preview-content::-webkit-scrollbar-track{background:transparent}.preview-content::-webkit-scrollbar-thumb{background:hsl(var(--border-color));border-radius:4px}.preview-content::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}.preview-content .data-table{min-width:max-content}.preview-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:hsl(var(--text-secondary));padding:calc(var(--spacing-unit) * 4);height:100%}.preview-empty .material-symbols-outlined{font-size:48px;margin-bottom:calc(var(--spacing-unit) * 2);opacity:.5}.preview-empty p{font-size:.875rem;margin:0}.rules-view-container{display:flex;flex-grow:1;gap:calc(var(--spacing-unit) * 3);overflow:hidden}.rule-list-panel{width:350px;flex-shrink:0;background:var(--content-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column}.rule-editor-panel{flex-grow:1;display:flex;flex-direction:column;overflow:hidden}.rule-editor-form{display:flex;flex-grow:1;overflow:hidden;min-width:0}.condition-row{display:flex;gap:calc(var(--spacing-unit) * 1.5);align-items:center;min-width:max-content;flex-wrap:nowrap}.condition-row select,.condition-row input{flex:1}.condition-logic-toggle{flex-shrink:0;min-width:60px;background-color:hsl(var(--success-bg));border-color:hsl(var(--success-color));color:hsl(var(--success-text));font-weight:600}.condition-logic-toggle.negated{background-color:hsl(var(--error-bg));border-color:hsl(var(--error-color));color:hsl(var(--error-text))}.conjunction-selector-wrapper{display:flex;justify-content:center;padding:var(--spacing-unit) 0}.conjunction-selector{padding:calc(var(--spacing-unit) * .5) var(--spacing-unit);border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--background-color);color:var(--primary-color);font-weight:600;cursor:pointer}.conjunction-selector:focus{outline:none;border-color:var(--primary-color)}.action-delete-btn{position:absolute;top:8px;right:8px}.action-card h5{margin:0 0 16px}.action-row{display:flex;gap:calc(var(--spacing-unit) * 2);min-width:max-content;flex-wrap:nowrap}.action-row .form-group{flex-grow:1;margin:0}.add-action-buttons{display:flex;gap:var(--spacing-unit);margin-top:var(--spacing-unit)}.ruleset-ai-assistant{padding:calc(var(--spacing-unit) * 2);border-bottom:1px solid hsl(var(--border-color));background-color:hsl(var(--background-color))}.ruleset-ai-assistant h4{margin:0 0 8px;display:flex;align-items:center;gap:8px}.ruleset-ai-assistant p{margin:0 0 16px;color:hsl(var(--text-secondary));font-size:.875rem}.connector-type-selector{display:flex;gap:var(--spacing-unit)}.connector-type-selector .btn{flex-grow:1}.security-note{display:flex;align-items:center;gap:var(--spacing-unit);padding:var(--spacing-unit);background:var(--background-color);border-radius:var(--border-radius);margin:var(--spacing-unit) 0}.security-note p{margin:0;color:var(--text-secondary)}.test-connection-wrapper{display:flex;align-items:center;gap:var(--spacing-unit)}.test-status{font-weight:600}.test-status.success{color:var(--success-color)}.test-status.error{color:var(--error-color)}.kv-editor .kv-editor-row{display:flex;gap:var(--spacing-unit);align-items:center;margin-bottom:var(--spacing-unit)}.kv-editor .kv-editor-row input{flex-grow:1}.user-profile-card{padding:calc(var(--spacing-unit) * 3);max-width:500px}.role-selector-inline{background:transparent;border:1px solid transparent;padding:4px 8px;border-radius:var(--border-radius)}.role-selector-inline:hover{border-color:var(--border-color)}.audit-details-modal{max-width:800px}.state-comparison{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--spacing-unit) * 2)}.state-comparison pre{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-unit);font-size:.8rem;max-height:300px;overflow:auto}.details-cell{max-width:400px;white-space:normal}.column-selector{position:relative;display:inline-block}.column-selector-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background-color:hsl(var(--content-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);box-shadow:0 4px 12px hsl(var(--shadow-color));z-index:1000;width:280px;max-height:400px;display:flex;flex-direction:column}.column-selector-actions{display:flex;justify-content:space-between;gap:4px;padding:var(--spacing-unit);border-bottom:1px solid hsl(var(--border-color));flex-shrink:0}.column-selector-actions .btn-text{padding:4px 8px;font-size:.875rem}.column-selector-list{list-style:none;padding:var(--spacing-unit);margin:0;overflow-y:auto;flex-grow:1}.column-selector-list li{margin:0}.column-selector-list li label{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .75);padding:calc(var(--spacing-unit) * .75);cursor:pointer;border-radius:var(--border-radius);font-weight:400;width:100%;transition:background-color .15s}.column-selector-list li label:hover{background-color:hsl(var(--muted-bg))}.column-selector-list li label input{width:auto;margin:0;cursor:pointer}.column-selector-list li label span{flex:1;font-size:.875rem}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes progressIndeterminate{0%{left:-33%}50%{left:50%}to{left:100%}}.console-logs-container{display:flex;flex-direction:column;gap:var(--spacing-unit);height:100%;overflow:hidden}.console-stats{padding:var(--spacing-unit);background:hsl(var(--card-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);display:flex;gap:calc(var(--spacing-unit) * 2);font-size:14px;color:hsl(var(--text-secondary))}.console-logs-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.console-log-entry{padding:12px;background:hsl(var(--card-bg));border:1px solid hsl(var(--border-color));border-left-width:4px;border-radius:var(--border-radius);font-family:Courier New,monospace;font-size:13px}.console-log-entry.log-error{border-left-color:hsl(var(--error-color));background:hsl(var(--error-color) / .05)}.console-log-entry.log-warn{border-left-color:hsl(var(--warning-color));background:hsl(var(--warning-color) / .05)}.console-log-entry.log-info{border-left-color:hsl(var(--info-color));background:hsl(var(--info-color) / .05)}.console-log-entry.log-default{border-left-color:hsl(var(--border-color))}.log-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:hsl(var(--text-secondary))}.log-icon{font-size:18px!important}.log-error .log-icon{color:hsl(var(--error-color))}.log-warn .log-icon{color:hsl(var(--warning-color))}.log-info .log-icon{color:hsl(var(--info-color))}.log-type{font-weight:600;text-transform:uppercase}.log-timestamp{margin-left:auto}.log-user{background:hsl(var(--muted-bg));padding:2px 8px;border-radius:4px;font-size:11px}.log-message{color:hsl(var(--text-primary));word-break:break-word;white-space:pre-wrap}.log-stack{margin-top:8px;font-size:11px}.log-stack summary{cursor:pointer;color:hsl(var(--text-secondary));-webkit-user-select:none;user-select:none}.log-stack summary:hover{color:hsl(var(--text-primary))}.log-stack pre{margin-top:8px;padding:8px;background:hsl(var(--background));border:1px solid hsl(var(--border-color));border-radius:4px;overflow-x:auto;color:hsl(var(--text-secondary))}.log-meta{margin-top:8px;font-size:11px;color:hsl(var(--text-secondary))}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing-unit) * 4);text-align:center;color:hsl(var(--text-secondary));gap:var(--spacing-unit)}.empty-state .material-symbols-outlined{font-size:64px;opacity:.3}.skeleton{background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .6),hsl(var(--muted)));background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin:4px 0}.skeleton-title{height:24px;margin:8px 0}.skeleton-input{height:40px;border-radius:6px}.skeleton-button{height:36px;border-radius:6px;display:inline-block}.skeleton-card{padding:20px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px}.skeleton-list-item{padding:16px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:6px;margin-bottom:8px;display:flex;align-items:center;gap:16px}.content-loaded{animation:fade-in .4s ease-out}.error-fallback{animation:fade-in .3s ease-out}.error-fallback .btn{min-width:120px}.period-selector-container{max-width:800px;margin:2rem auto;padding:2rem;background:hsl(var(--content-bg));border-radius:var(--border-radius);box-shadow:0 1px 3px hsl(var(--shadow-color))}.period-selector-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;color:hsl(var(--text-primary))}.period-selector-header h3{margin:0;font-size:1.5rem;font-weight:600}.period-selector-empty{text-align:center;padding:2rem}.period-selector-empty p{color:hsl(var(--text-secondary));margin-bottom:1.5rem}.period-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}.period-card{padding:1.25rem;background:hsl(var(--background-color));border:2px solid hsl(var(--border-color));border-radius:var(--border-radius);cursor:pointer;transition:all .2s;text-align:left}.period-card:hover{border-color:hsl(var(--primary-color));transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--shadow-color))}.period-card-active{border-color:hsl(var(--primary-color));background:hsl(var(--primary-color) / .05)}.period-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.period-card-header h4{margin:0;font-size:1.125rem;font-weight:600;color:hsl(var(--text-primary))}.period-card-dates{display:flex;gap:.5rem;font-size:.875rem;color:hsl(var(--text-secondary))}.period-breadcrumb{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:hsl(var(--background-color));border-bottom:1px solid hsl(var(--border-color));margin-bottom:0}.period-breadcrumb-content{display:flex;align-items:center;gap:.5rem;color:hsl(var(--text-primary));font-size:.875rem}.period-breadcrumb-label{font-weight:500;color:hsl(var(--text-secondary))}.period-breadcrumb-separator{color:hsl(var(--text-secondary))}.period-breadcrumb-period{font-weight:600;color:hsl(var(--text-primary))}.period-breadcrumb-dates{color:hsl(var(--text-secondary));margin-left:.25rem}.context-breadcrumb{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:hsl(var(--background-color));border-bottom:1px solid hsl(var(--border-color));margin-bottom:0}.breadcrumb-content{display:flex;align-items:center;gap:.5rem;color:hsl(var(--text-primary));font-size:.875rem;flex-wrap:wrap}.breadcrumb-item{display:flex;align-items:center;gap:.375rem}.breadcrumb-item-clickable{cursor:pointer;transition:var(--transition-smooth);padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:.375rem}.breadcrumb-item-clickable:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.breadcrumb-item-clickable:hover .breadcrumb-label,.breadcrumb-item-clickable:hover .breadcrumb-value{color:inherit}.breadcrumb-label{font-weight:500;color:hsl(var(--text-secondary))}.breadcrumb-separator{color:hsl(var(--text-secondary))}.breadcrumb-value{font-weight:600;color:hsl(var(--text-primary))}.breadcrumb-dates{color:hsl(var(--text-secondary));margin-left:.25rem;font-size:.8125rem}.btn-link{background:none;border:none;color:hsl(var(--primary-color));cursor:pointer;font-size:.875rem;font-weight:500;padding:.25rem .5rem;transition:all .2s}.btn-link:hover{text-decoration:underline;color:hsl(var(--primary-hover))}.comparison-view-wrapper{display:flex;flex-direction:column;gap:1.5rem;height:100%}.comparison-data-table-container{display:flex;flex-direction:column;overflow:hidden;background-color:hsl(var(--content-bg));border:1px solid hsl(var(--border-color));border-radius:var(--border-radius);height:calc(100vh - 460px);min-height:300px}.comparison-controls{padding:1.5rem}.comparison-selectors{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:end;margin-bottom:1.5rem}.comparison-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--primary-color));padding-bottom:.5rem}.comparison-options{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid hsl(var(--border-color))}.comparison-options-left{display:flex;gap:.75rem;align-items:center}.comparison-stats{display:flex;gap:2rem;font-size:.875rem}.stat-item{color:hsl(var(--text-secondary))}.stat-item strong{color:hsl(var(--text-primary));font-weight:600;margin-right:.25rem}.comparison-table-container{position:relative}.comparison-legend{display:flex;gap:1.5rem;padding:1rem 1.5rem;background:hsl(var(--background-color));border-bottom:1px solid hsl(var(--border-color))}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:hsl(var(--text-secondary));cursor:pointer}.legend-item input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin:0}.legend-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.legend-color{width:24px;height:24px;border-radius:4px;border:2px solid}.comparison-table{table-layout:auto}.comparison-table td,.comparison-table th{min-width:150px;white-space:nowrap}.comparison-cell-changed{background:#ffedc2!important;border:2px solid hsl(42 96% 65%);font-weight:600;position:relative;color:#7c3603}.dark .comparison-cell-changed{background:#805900!important;border:2px solid hsl(42 96% 50%);color:#fff7e5}.comparison-cell-new{background:#c9f8da!important;border:2px solid hsl(142 71% 55%);font-weight:600;color:#085e27}.dark .comparison-cell-new{background:#0f7033!important;border:2px solid hsl(142 71% 45%);color:#e9fcf0}.row-new{background:hsl(var(--success-bg) / .5)}.cell-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:6px;padding:.5rem .75rem;box-shadow:0 4px 12px hsl(var(--shadow-color));z-index:1000;white-space:normal;min-width:200px;max-width:300px;margin-bottom:.5rem;pointer-events:none}.tooltip-label{font-size:.75rem;color:hsl(var(--text-secondary));margin-bottom:.25rem;font-weight:600}.tooltip-value{font-size:.875rem;color:hsl(var(--text-primary));word-break:break-word}.rule-group{margin-bottom:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card));overflow:hidden}.rule-group.dragging{opacity:.5}.rule-group-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:hsl(var(--muted));border-bottom:1px solid hsl(var(--border));cursor:grab;transition:background-color .2s}.rule-group-header:hover{background-color:hsl(var(--accent))}.rule-group-header.ungrouped{cursor:default;background-color:hsl(var(--muted) / .5)}.rule-group-header .drag-handle{color:hsl(var(--muted-foreground));cursor:grab;font-size:1.25rem}.group-number,.rule-number{font-weight:600;color:hsl(var(--primary));min-width:2rem;font-size:.875rem}.group-name-input{flex:1;font-weight:600;font-size:.875rem;border:none;background:transparent;color:hsl(var(--foreground));padding:.25rem .5rem;border-radius:calc(var(--radius) - 2px)}.group-name-input:hover:not(:disabled){background-color:hsl(var(--background) / .5)}.group-name-input:focus{outline:none;background-color:hsl(var(--background));box-shadow:0 0 0 2px hsl(var(--ring) / .3)}.group-name-input:disabled{cursor:default}.group-name{flex:1;font-weight:600;font-size:.875rem;color:hsl(var(--foreground))}.group-actions{display:flex;gap:.25rem;margin-left:auto}.rule-group-rules{list-style:none;padding:0;margin:0}.rule-item .drag-handle{color:hsl(var(--muted-foreground));cursor:grab;font-size:1.25rem}.rule-name{flex:1;font-weight:500;font-size:.875rem;color:hsl(var(--foreground))}.empty-group-dropzone{padding:calc(var(--spacing-unit) * 3);border:2px dashed hsl(var(--border-color));border-radius:var(--border-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-unit);color:hsl(var(--text-secondary));font-size:.875rem;margin:var(--spacing-unit) 0;background:hsl(var(--background-color) / .3);transition:all .2s ease}.empty-group-dropzone:hover{border-color:hsl(var(--primary-color));background:hsl(var(--primary-color) / .05);color:hsl(var(--primary-color))}.empty-group-dropzone .material-symbols-outlined{font-size:2rem;opacity:.5}.workspace-selector-view{padding:var(--spacing-lg);max-width:1800px;margin:0 auto}.sticky-select-button{position:sticky;top:0;z-index:10;display:flex;justify-content:center;padding:var(--spacing-xl) 0;margin-bottom:var(--spacing-lg);background:hsl(var(--background));box-shadow:0 4px 6px -1px #0000001a}.sticky-select-button .btn{min-width:200px;padding:var(--spacing-md) var(--spacing-xl);font-size:1.25rem;font-weight:700;letter-spacing:.5px;justify-content:center;text-align:center}.select-button-container{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.select-button-container .btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.125rem;font-weight:600;gap:var(--spacing-sm)}.selector-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);align-items:start}@media (max-width: 1200px){.selector-columns{grid-template-columns:1fr}}.selector-column{display:flex;flex-direction:column;gap:var(--spacing-md);min-height:400px}.column-header{display:flex;align-items:center;gap:var(--spacing-sm);padding-bottom:var(--spacing-md);border-bottom:2px solid hsl(var(--border))}.column-header h2{font-size:1.25rem;font-weight:600;margin:0;color:hsl(var(--foreground))}.selector-container{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 6);max-width:1400px;margin:0 auto}.selector-step{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 3)}.step-header{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit) * 2);border-bottom:2px solid hsl(var(--border-color))}.step-header h2{margin:0;font-size:1.5rem;color:hsl(var(--text-primary))}.step-icon{color:hsl(var(--primary-color))}.step-arrow{display:flex;justify-content:center;color:hsl(var(--text-secondary));opacity:.5}.selector-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:calc(var(--spacing-unit) * 3)}.selector-card{position:relative;padding:calc(var(--spacing-unit) * 4);background:hsl(var(--card-bg));border:2px solid hsl(var(--border-color));border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.selector-card:hover{border-color:hsl(var(--primary-color));box-shadow:0 4px 12px hsl(var(--shadow-color));transform:translateY(-2px)}.selector-card.selected{border-color:hsl(var(--primary-color));background:hsl(var(--primary-light));box-shadow:0 4px 16px hsl(var(--primary-color) / .2)}.selector-card .card-content{flex:1}.selector-card h3{margin:0 0 calc(var(--spacing-unit) * 1) 0;font-size:1.125rem;color:hsl(var(--text-primary))}.selector-card .description{margin:0;font-size:.875rem;color:hsl(var(--text-secondary))}.selector-card .period-dates{margin:calc(var(--spacing-unit) * 1) 0;font-size:.875rem;color:hsl(var(--text-secondary))}.selector-card .role-badge{display:inline-block;padding:.25rem .75rem;background:hsl(var(--tag-bg));color:hsl(var(--tag-text));border-radius:calc(var(--border-radius) / 2);font-size:.75rem;font-weight:600;text-transform:capitalize}.selector-card .workspace-context{margin-top:calc(var(--spacing-unit) * 2);padding-top:calc(var(--spacing-unit) * 2);border-top:1px solid hsl(var(--border-color))}.selector-card .context-item{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);margin:calc(var(--spacing-unit) * 1) 0;font-size:.813rem;color:hsl(var(--text-secondary))}.selector-card .context-item .material-symbols-outlined{font-size:1rem;color:hsl(var(--primary-color))}.selector-card .check-icon{position:absolute;top:calc(var(--spacing-unit) * 2);right:calc(var(--spacing-unit) * 2);color:hsl(var(--primary-color));font-size:1.5rem}.empty-message{padding:calc(var(--spacing-unit) * 4);text-align:center;color:hsl(var(--text-secondary));font-style:italic}@media (max-width: 768px){.selector-container{gap:calc(var(--spacing-unit) * 4)}.selector-cards{grid-template-columns:1fr}.step-arrow{transform:rotate(90deg)}}.datasets-view{padding:var(--spacing-4);max-width:1400px;margin:0 auto}.datasets-container{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-6);margin-top:var(--spacing-4)}.datasets-list-panel,.members-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--spacing-4);max-height:calc(100vh - 200px);overflow-y:auto}.datasets-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.dataset-card{padding:var(--spacing-4);background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all .2s}.dataset-card:hover{border-color:hsl(var(--primary));box-shadow:0 2px 8px hsla(var(--primary) / .1)}.dataset-card.selected{border-color:hsl(var(--primary));background:hsla(var(--primary) / .05)}.dataset-card.creating{cursor:default}.members-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.members-info{padding:var(--spacing-2);background:hsl(var(--muted));border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:.875rem}.members-table{overflow-x:auto}.members-table table{width:100%;border-collapse:collapse}.members-table th{text-align:left;padding:var(--spacing-3);background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-weight:600;font-size:.875rem;border-bottom:1px solid hsl(var(--border))}.members-table td{padding:var(--spacing-3);border-bottom:1px solid hsl(var(--border))}.member-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.member-name{font-weight:500;color:hsl(var(--foreground))}.member-email{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (max-width: 1024px){.datasets-container{grid-template-columns:1fr}.members-panel{max-height:500px}}
