:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Source Code Pro", monospace;--color-primary: rgb(0, 120, 109);--color-primary-hover: rgb(0, 102, 93);--color-primary-light: rgb(45, 212, 191);--color-primary-dark: rgb(0, 86, 78);--color-accent: #059669;--color-accent-light: #d1fae5;--color-background: #ffffff;--color-surface: #f9fafb;--color-surface-hover: #f3f4f6;--color-text: #111827;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-error: #dc2626;--color-error-light: #fee2e2;--color-warning: #d97706;--color-warning-light: #fef3c7;--color-success: #16a34a;--color-success-light: #f0fdf4;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .15);--shadow-hover: 0 2px 8px rgba(0, 0, 0, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.25rem;--spacing-2xl: 1.5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-slide-in{animation:fade-slide-in .3s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text);overflow-x:hidden}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-md) 0;font-weight:600;line-height:1.3;color:var(--color-text)}h1{font-size:2.25rem;font-weight:700;letter-spacing:-.025em}h2{font-size:1.875rem;font-weight:600}h3{font-size:1.5rem}p{margin:0 0 var(--spacing-md) 0;line-height:1.7}.app{min-height:100vh;display:flex;flex-direction:column}.layout-container{display:flex;flex:1;min-height:100vh}.main-content{flex:1;padding:0;background-color:var(--color-background);overflow-y:auto;position:relative;z-index:1}.navigation{width:280px;background:linear-gradient(180deg,var(--color-surface) 0%,#f3f4f6 100%);border-right:1px solid var(--color-border);padding:var(--spacing-lg);display:flex;flex-direction:column;position:relative;overflow:visible;z-index:100;transition:width .2s ease}.navigation.collapsed{width:64px;padding:var(--spacing-md)}.sidebar-collapsed .main-content{margin-left:64px}.navigation:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.nav-compact-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md);position:relative;z-index:200}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.sidebar-toggle:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-primary)}.navigation.collapsed .sidebar-toggle{margin:0 auto}.navigation.collapsed .nav-compact-header{flex-direction:column;gap:var(--spacing-sm)}.nav-brand{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.nav-header{margin-bottom:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-md)}.nav-logo{width:40px;height:auto;flex-shrink:0}.nav-title{font-size:1.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.nav-links{list-style:none;padding:0;margin:0;flex:1}.nav-links li{margin-bottom:var(--spacing-sm)}.nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:500;position:relative;overflow:hidden;font-size:.875rem}.navigation.collapsed .nav-link{padding:var(--spacing-md);justify-content:center;position:relative}.navigation.collapsed .nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:24px;background:var(--color-primary);border-radius:0 2px 2px 0}.nav-link span{flex:1;white-space:nowrap}.nav-link:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#d977061a;opacity:0;transition:opacity .2s ease;border-radius:inherit}.nav-link:hover{background-color:var(--color-primary-light);color:var(--color-primary-dark);transform:translate(2px)}.nav-link:hover:before{opacity:1}.nav-link.active{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;font-weight:600;box-shadow:var(--shadow-md),inset 0 2px 4px #0000001a;padding:var(--spacing-md) var(--spacing-xl);position:relative;overflow:visible}.nav-link.active:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(255,255,255,.1),transparent);border-radius:var(--radius-md);pointer-events:none}.nav-link.active:hover{transform:translate(0);background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary))}.nav-profile{position:relative;width:100%}.navigation.collapsed .profile-button span,.navigation.collapsed .profile-button svg:last-child{display:none}.navigation.collapsed .profile-button{width:40px;height:40px;padding:0;justify-content:center}.navigation.collapsed .nav-profile{margin:0 auto}.profile-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;font-size:.875rem;width:100%;justify-content:space-between}.profile-button:hover{background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-text)}.profile-button-left{display:flex;align-items:center;gap:var(--spacing-xs)}.profile-button svg.rotate-180{transform:rotate(180deg);transition:transform .2s ease}.profile-menu{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:200px;max-width:256px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;overflow:hidden;animation:fade-slide-in .2s ease}.navigation.collapsed .profile-menu{left:calc(100% + var(--spacing-sm));right:auto}.profile-menu:before{content:"";position:absolute;top:-6px;right:16px;width:12px;height:12px;background:var(--color-background);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);transform:rotate(45deg)}.profile-menu-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.profile-email{font-size:.8125rem;color:var(--color-text-secondary);word-break:break-all}.profile-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:none;border:none;color:var(--color-text);cursor:pointer;font-size:.875rem;transition:all .2s ease;text-align:left}.profile-menu-item:hover{background:var(--color-surface-hover);color:var(--color-primary)}.nav-user{display:none}.navigation-bottom{position:fixed;bottom:0;left:0;right:0;width:100%;height:64px;background:var(--color-background);border-top:1px solid var(--color-border);border-right:none;box-shadow:0 -2px 10px #0000000d;z-index:100;padding:0}.navigation-bottom .nav-links{display:flex;justify-content:space-around;align-items:center;height:100%;padding:0}.navigation-bottom .nav-links li{margin:0;flex:1}.navigation-bottom .nav-link{flex-direction:column;gap:4px;padding:var(--spacing-sm);font-size:.75rem;text-align:center;min-height:56px;border-radius:0}.navigation-bottom .nav-link.active{background:none;color:var(--color-primary);box-shadow:none;padding:var(--spacing-sm)}.navigation-bottom .nav-link.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:48px;height:3px;background:var(--color-primary);border-radius:3px 3px 0 0}.navigation-bottom .nav-header,.navigation-bottom .nav-footer{display:none}.navigation-drawer{position:fixed;top:0;left:-280px;width:280px;height:100vh;background:var(--color-background);border-right:1px solid var(--color-border);transition:left .3s ease;z-index:200;padding:var(--spacing-lg);overflow-y:auto}.navigation-drawer.open{left:0;box-shadow:4px 0 20px #0000001a}.drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.drawer-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.drawer-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.drawer-footer{margin-top:auto;padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.user-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-md)}.logout-button{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;font-size:.875rem}.logout-button:hover{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}.hamburger-button{position:fixed;top:var(--spacing-lg);left:var(--spacing-lg);z-index:150;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.hamburger-button:hover{background:var(--color-surface-hover);box-shadow:var(--shadow-md)}.drawer-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:190;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade-in .2s ease}.layout-container.nav-bottom .main-content{padding-bottom:80px}.layout-container.nav-drawer .main-content{padding-top:72px}.layout-container.nav-expanded-rail{display:flex;flex-direction:row}.layout-container.nav-expanded-rail .main-content,.layout-container.nav-expanded-rail.sidebar-collapsed .main-content{margin-left:0;flex:1}.mobile-avatar-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all .2s ease}.mobile-avatar-button:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.mobile-avatar-button svg.rotate-180{transform:rotate(180deg);transition:transform .2s ease}.mobile-user-menu{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:200px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;overflow:hidden;animation:fade-slide-in .2s ease}.mobile-menu-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.mobile-menu-email{font-size:.8125rem;color:var(--color-text-secondary);word-break:break-all}.mobile-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:none;border:none;color:var(--color-text);cursor:pointer;font-size:.875rem;transition:all .2s ease;text-align:left}.mobile-menu-item:hover{background:var(--color-surface-hover);color:var(--color-primary)}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;text-decoration:none;font-weight:500;font-size:.8rem;letter-spacing:.025em;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff1a;opacity:0;transition:opacity .2s ease;border-radius:inherit}.button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--color-primary-hover),#a16207)}.button:hover:before{opacity:1}.button:active{transform:translateY(0)}.button-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);gap:var(--spacing-xs)}.button-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.8125rem}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-group label{font-weight:600;color:var(--color-text);font-size:.875rem;letter-spacing:.025em}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s ease;background-color:var(--color-background);color:var(--color-text);box-shadow:var(--shadow-sm)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary);transform:translateY(-1px)}.login-page{display:flex;align-items:flex-start;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--color-surface) 0%,#f3f4f6 100%);padding:var(--spacing-xl);padding-top:10vh}.login-container{background:var(--color-background);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:380px;border:1px solid var(--color-border);position:relative;overflow:hidden;animation:fadeInUp .15s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{max-width:180px;height:auto;margin-bottom:var(--spacing-md);display:inline-block}.login-subtitle{font-size:1.1rem;color:var(--color-text-secondary);font-weight:400;margin-top:var(--spacing-xs)}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));opacity:.3}.login-container h1{text-align:center;margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.5rem;font-weight:500}.login-container p{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.password-input-wrapper{position:relative}.password-input-wrapper input{width:100%;padding-right:2.5rem}.password-toggle{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle:hover{color:var(--color-text)}.password-toggle:focus{outline:none;color:var(--color-primary)}.checkbox-group{flex-direction:row!important;align-items:center;margin-bottom:var(--spacing-md)!important}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:400!important;-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);padding:var(--spacing-sm) 0;margin:calc(var(--spacing-sm) * -1) 0;position:relative}.checkbox-label input[type=checkbox]{margin:0;cursor:pointer;accent-color:var(--color-primary);width:20px;height:20px;min-width:20px;min-height:20px;flex-shrink:0}.checkbox-label:before{content:"";position:absolute;top:50%;left:-10px;transform:translateY(-50%);width:44px;height:44px;border-radius:var(--radius-md);z-index:-1}.checkbox-label:hover:before{background:var(--color-surface-hover)}.login-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-md);letter-spacing:.025em;min-height:44px}.login-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary-dark));transform:translateY(-2px);box-shadow:var(--shadow-lg)}.login-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm);transition:all .1s ease}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);text-align:center;font-weight:500}.success-message{background:var(--color-accent-light);border:1px solid var(--color-accent);color:var(--color-accent);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);text-align:center;font-weight:500}.dashboard-page{padding:var(--spacing-lg);width:100%}@media (min-width: 960px){.dashboard-page{padding-left:var(--spacing-xl)}}@media (min-width: 960px){.surveys-page,.upload-page{margin:0 var(--spacing-2xl)}}.mobile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.mobile-header h1{margin:0;font-size:2.5rem}@media (max-width: 599px){.mobile-header{margin-bottom:var(--spacing-lg)}.mobile-header h1{font-size:1.875rem}}.mobile-user-controls{display:none;position:relative}.mobile-user-info{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-surface);border-radius:var(--radius-md);font-size:.8125rem;color:var(--color-text-secondary)}.mobile-logout-button{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.mobile-logout-button:hover{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}@media (max-width: 599px){.mobile-user-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.mobile-header h1{font-size:1.75rem}}.dashboard-page h1{margin-bottom:var(--spacing-xl);font-size:2.5rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.stat-card{background:var(--color-background);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:0 1px 3px #00000014;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:140px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));opacity:0;transition:opacity .3s ease}.stat-card.clickable{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--color-border-hover)}.stat-card.clickable:hover:before{opacity:1}.stat-card.clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 4px 12px #00000026}.stat-card h3{margin:0 0 var(--spacing-md) 0;font-size:.875rem;color:#4c5660;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.stat-number{font-size:3rem;font-weight:700;margin:0;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;animation:countUp .3s ease-out}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.stat-number{animation:none!important}}@media (prefers-reduced-motion: reduce){.stat-number{animation:none}}.dashboard-content{display:grid;gap:32px;grid-template-columns:1fr}@media (min-width: 1280px){.dashboard-content{grid-template-columns:1fr 320px}.dashboard-stats{grid-column:1 / -1}.recent-activity{grid-column:1}.quick-actions{grid-column:2}}.recent-activity{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);min-height:300px}.recent-activity h2{margin:0 0 var(--spacing-lg) 0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);transition:background .2s ease}.activity-item:hover{background:var(--color-surface)}.activity-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-sm);flex-shrink:0}.activity-content{flex:1}.activity-content p{margin:0;font-size:.875rem;color:var(--color-text)}.activity-time{font-size:.75rem;color:var(--color-text-muted);margin-top:var(--spacing-xs)}.empty-activity{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);min-height:200px}.empty-activity svg{width:48px;height:48px;margin-bottom:var(--spacing-md);opacity:.3}.empty-activity p{margin:var(--spacing-xs) 0}.quick-actions{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.quick-actions h2{margin:0 0 var(--spacing-lg) 0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.quick-action-button{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.quick-action-button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00786d33}.panels-page{padding:var(--spacing-xl)}.panels-page h1{margin:0 0 var(--spacing-2xl) 0;font-size:2.5rem;color:var(--color-text)}.panel-form{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm)}.panel-form h3{margin:0 0 var(--spacing-lg) 0;font-size:1.25rem;color:var(--color-text)}.panels-controls{margin-bottom:var(--spacing-xl)}.panels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.panel-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all .2s ease}.panel-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.panel-title-section{display:flex;align-items:center}.panel-header h3{margin:0;font-size:1.25rem;color:var(--color-text)}.panel-logo{width:24px;height:24px;border-radius:var(--radius-sm);margin-right:var(--spacing-sm)}.panel-actions{display:flex;gap:var(--spacing-xs)}.panel-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:.875rem;line-height:1.5}.panel-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);font-size:.875rem;color:var(--color-text-muted)}.panel-count{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary);font-weight:600}.panel-links{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.panel-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary);text-decoration:none;font-weight:500;font-size:.875rem;transition:color .2s ease}.panel-link:hover{color:var(--color-primary-hover);text-decoration:underline}.coming-soon-section h2{margin:0 0 var(--spacing-xl) 0;color:var(--color-text-secondary);font-size:1.125rem;font-weight:500}.panel-card-disabled{opacity:.6;position:relative;cursor:not-allowed;background:var(--color-surface)}.panel-card-disabled:hover{box-shadow:var(--shadow-sm);border-color:var(--color-border);transform:none}.coming-soon-badge{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:linear-gradient(135deg,var(--color-warning),#f59e0b);color:#fff;font-size:.5rem;font-weight:600;padding:1px 4px;border-radius:3px;text-transform:uppercase;letter-spacing:.025em;box-shadow:var(--shadow-sm)}.icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.icon-button:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.icon-button-danger:hover{background:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.panelists-page{padding:var(--spacing-lg)}.panelists-page h1{margin:0 0 var(--spacing-2xl) 0;font-size:2.5rem}.page-breadcrumb{margin-bottom:var(--spacing-lg)}.page-actions{margin-bottom:var(--spacing-xl);display:flex;gap:var(--spacing-md)}.breadcrumb-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.breadcrumb-link:hover{color:var(--color-primary-hover);text-decoration:underline}.panelists-controls{margin-bottom:var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-box{display:flex;flex-direction:column;gap:var(--spacing-sm)}.search-input-container{position:relative;display:flex;align-items:center;max-width:600px}.search-input{flex:1;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background);color:var(--color-text);font-size:.9rem;transition:all .2s ease;box-shadow:var(--shadow-sm);padding-right:2.5rem}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light);transform:translateY(-2px)}.search-loading{position:absolute;right:var(--spacing-md);font-size:1rem;color:var(--color-primary);pointer-events:none;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.search-help{margin-top:var(--spacing-sm)}.search-help-text{font-size:.8rem;color:var(--color-text-muted);line-height:1.5}.search-help-text code{background:var(--color-surface);padding:.2rem .4rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;border:1px solid var(--color-border);color:var(--color-primary);font-weight:500}.selection-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-primary-light);border-radius:var(--radius-lg);border:1px solid var(--color-primary);box-shadow:var(--shadow-sm)}.selection-info{display:flex;align-items:center;gap:var(--spacing-lg)}.selection-count{color:var(--color-primary-dark);font-weight:600;font-size:.875rem}.select-all-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.875rem;font-weight:500;text-decoration:underline;padding:0;transition:color .2s ease}.select-all-link:hover{color:var(--color-primary-dark)}.delete-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--color-error),#dc2626);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s ease;box-shadow:var(--shadow-sm)}.delete-button:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:var(--shadow-md)}.delete-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.panelists-content{background:var(--color-background);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.panelists-table-container{overflow-x:auto;margin-bottom:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.panelists-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--color-background)}.panelists-table th{background:linear-gradient(135deg,var(--color-surface),#f3f4f6);padding:var(--spacing-md);text-align:left;font-weight:700;color:var(--color-text);border-bottom:2px solid var(--color-border);position:sticky;top:0;letter-spacing:.025em;font-size:.8rem}.panelists-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);transition:all .2s ease}.panelists-table tbody tr:hover{background:var(--color-surface)}.panelists-table tbody tr.selected{background:var(--color-primary-light)}.panelists-table .external-id{font-family:var(--font-mono);color:var(--color-text);font-weight:600;font-size:.8rem}.panelists-table .data-preview{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panelists-table .checkbox-column{width:50px;text-align:center}.panelists-table .checkbox-column input[type=checkbox]{cursor:pointer;accent-color:var(--color-primary);width:20px;height:20px;min-width:20px;min-height:20px}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.pagination-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s ease;box-shadow:var(--shadow-sm)}.pagination-btn:enabled:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.empty-state button{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;font-size:inherit;font-weight:500;transition:color .2s ease}.empty-state button:hover{color:var(--color-primary-dark)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:var(--spacing-lg)}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);text-align:center;background:var(--color-surface);transition:all .3s ease;cursor:pointer}.upload-zone.drag-over{border-color:var(--color-primary);background:var(--color-primary-light);transform:scale(1.02)}.upload-zone:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}@media (max-width: 599px){.navigation:not(.navigation-bottom){display:none}h1{font-size:2rem}.dashboard-stats{grid-template-columns:1fr}.stat-number{font-size:2.5rem}.search-input-container{max-width:none}.selection-actions{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.panelists-table-container{font-size:.8rem}.panelists-table th,.panelists-table td{padding:var(--spacing-sm)}.stat-card{padding:var(--spacing-md) var(--spacing-md);min-height:100px}.dashboard-stats{gap:var(--spacing-md)}.quick-actions{display:none}.recent-activity{margin-bottom:100px}}@media (min-width: 600px) and (max-width: 959px){.navigation:not(.navigation-drawer){display:none}.hamburger-button{display:flex}.drawer-backdrop~.hamburger-button{display:none}}@media (min-width: 960px){.navigation:not(.navigation-expanded){display:none}.hamburger-button{display:none!important}.mobile-user-controls{display:none}.dashboard-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px}.dashboard-stats{grid-column:1 / -1}}.mobile-fab{display:none;position:fixed;bottom:90px;right:var(--spacing-lg);width:56px;height:56px;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;border:none;border-radius:50%;box-shadow:var(--shadow-md);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:40;transform:scale(1)}.mobile-fab:hover{transform:scale(1.05);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--color-primary-hover),var(--color-primary-dark))}.mobile-fab:active{animation:bounce .16s ease}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(.9)}}.mobile-fab.elevated{bottom:146px;box-shadow:var(--shadow-lg)}.mobile-fab.elevated:hover{transform:scale(1.05)}.quick-actions{background:var(--color-background);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:0 1px 3px #00000014;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:200px}.quick-actions:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--color-border-hover);cursor:pointer}.quick-action-button{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.quick-action-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}@media (max-width: 599px){.mobile-fab{display:flex}}@media (min-width: 600px){.mobile-fab{display:none}}.survey-form{max-width:600px;margin:0 auto;padding:var(--spacing-xl);background:var(--color-background);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.survey-form h2{margin-bottom:var(--spacing-lg);color:var(--color-text)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg)}.surveys-toolbar{margin-bottom:var(--spacing-lg)}.search-form{display:flex;gap:var(--spacing-md);max-width:500px}.search-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.surveys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.survey-card{display:block;padding:var(--spacing-lg);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--color-text);transition:all .2s ease}.survey-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.survey-card h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-text);font-size:1.25rem}.survey-card .survey-description{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-md);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.survey-card .survey-meta{font-size:.75rem;color:var(--color-text-secondary)}.survey-card-ghost{border:2px dashed #f97316;background:var(--color-background-alt);cursor:pointer;transition:all .2s ease}.survey-card-ghost:hover{border-color:#ea580c;background:var(--color-background)}.ghost-content{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;justify-content:center}.ghost-icon{font-size:3rem;line-height:1;color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-weight:300}.survey-card-ghost:hover .ghost-icon{color:var(--color-primary)}.survey-detail-page{padding:var(--spacing-lg)}.survey-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.survey-title-section{flex:1}.survey-title-section h1{margin:0 0 var(--spacing-sm) 0}.survey-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.survey-actions{display:flex;gap:var(--spacing-md)}.tabs{display:flex;gap:var(--spacing-xs);border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-xl)}.tab{padding:var(--spacing-md) var(--spacing-lg);border:none;background:none;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;border-radius:var(--radius-md) var(--radius-md) 0 0}.tab:hover{color:var(--color-text);background:var(--color-surface)}.tab.active{color:var(--color-primary);background:var(--color-surface)}.tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--color-primary)}.tab-content{background:var(--color-background);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.overview-tab h2{margin-bottom:var(--spacing-lg)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-item label{font-size:.75rem;color:var(--color-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.info-item span{font-size:.875rem;color:var(--color-text)}.question-manager{max-width:800px;margin:0 auto}.questions-list{margin-bottom:var(--spacing-xl)}.question-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease}.question-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.question-number{font-weight:600;color:var(--color-primary);margin-right:var(--spacing-md);font-size:.875rem}.question-text{flex:1;color:var(--color-text);font-size:.875rem;padding-right:var(--spacing-md)}.question-text.clickable{cursor:pointer;transition:color .2s ease}.question-text.clickable:hover{color:var(--color-primary);text-decoration:underline}.question-actions{display:flex;gap:var(--spacing-xs)}.question-edit{display:flex;gap:var(--spacing-sm);width:100%;align-items:center}.question-edit input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem}.btn-icon{padding:var(--spacing-sm);border:none;background:none;cursor:pointer;font-size:1rem;transition:all .2s ease;border-radius:var(--radius-sm);color:var(--color-text-secondary)}.btn-icon:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon.delete:hover{background:var(--color-error-light);color:var(--color-error)}.add-question{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.add-question input{flex:1;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem}.add-question-button{margin-top:var(--spacing-lg);width:100%}.question-form-container{background:var(--color-background);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-top:var(--spacing-xl);box-shadow:var(--shadow-md)}.question-form-container h3{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--color-text)}.form-control{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s ease;background:var(--color-background)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.form-row{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.form-row .form-group{flex:1;margin-bottom:0}.question-input-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.question-input{flex:1;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s ease}.question-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.question-type-row{display:flex;gap:var(--spacing-lg);align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap}.question-type-row label{font-size:.875rem;font-weight:500;color:var(--color-text)}.question-type-select,.template-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;background:var(--color-background);cursor:pointer;transition:all .2s ease}.question-type-select:focus,.template-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.answer-options{margin-bottom:var(--spacing-lg)}.answer-options label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-md)}.answer-option-row{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-sm)}.option-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:all .2s ease}.option-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.add-option-btn{margin-top:var(--spacing-sm);font-size:.875rem}.survey-dispatch{max-width:600px;margin:0 auto;text-align:center}.panelist-count{font-size:1.125rem;color:var(--color-text);margin-bottom:var(--spacing-lg)}.no-panelists-warning{padding:var(--spacing-lg);background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--spacing-lg)}.dispatch-completed{padding:var(--spacing-lg);background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);margin-bottom:var(--spacing-lg)}.progress-container{margin:var(--spacing-xl) 0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.progress-text{font-size:.875rem;color:var(--color-text);font-weight:500}.progress-count{font-size:.875rem;color:var(--color-text-secondary)}.progress-bar{width:100%;height:20px;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.progress-fill{height:100%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));transition:width .3s ease}.progress-time{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--color-text-secondary)}.polling-error{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--color-error)}.dispatch-actions{display:flex;gap:var(--spacing-md);justify-content:center}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.badge-processing{background:var(--color-accent-light);color:var(--color-accent);border:1px solid var(--color-accent)}.badge-completed{background:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success)}.results-content{text-align:center;padding:var(--spacing-xl)}.results-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.no-results{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-xl)}.btn-danger{background:linear-gradient(135deg,var(--color-error),#dc2626);color:#fff;border:none}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.breadcrumb{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.breadcrumb a{color:var(--color-primary);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb span{margin:0 var(--spacing-xs)}.error-page{text-align:center;padding:var(--spacing-xl)}.error-page h2{color:var(--color-text);margin-bottom:var(--spacing-md)}.error-page p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.visualization-page{padding:var(--spacing-lg)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.header-actions{display:flex;gap:var(--spacing-md);flex-shrink:0}.visualization-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-lg);text-align:center;box-shadow:var(--shadow-sm)}.stat-card h3{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text)}.survey-chart{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.question-selector{display:flex;align-items:center;gap:var(--spacing-md)}.question-selector label{font-weight:500;color:var(--color-text)}.question-dropdown{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-base);min-width:200px}.question-dropdown:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.question-info{margin-bottom:var(--spacing-lg)}.question-info h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0;line-height:1.4}.response-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.chart-container{margin-top:var(--spacing-lg)}.no-chart-data,.no-responses{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-xl);font-style:italic}.recharts-tooltip-wrapper{outline:none}.chart-tooltip{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-lg)}.tooltip-label{font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.tooltip-value{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.chart-label{font-size:var(--font-size-sm);font-weight:500}.recharts-cartesian-axis-tick-value{fill:var(--color-text-secondary);font-size:var(--font-size-sm)}.recharts-label{fill:var(--color-text)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:center}.visualization-stats{grid-template-columns:1fr}.chart-header,.question-selector{flex-direction:column;align-items:stretch}.question-dropdown{width:100%}.recharts-responsive-container{margin-left:-10px;margin-right:-10px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:var(--spacing-xl);background:var(--color-background)}.error-content{max-width:600px;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.error-content h2{color:var(--color-error);margin-bottom:var(--spacing-lg);font-size:1.5rem}.error-details{margin:var(--spacing-lg) 0;text-align:left}.error-details summary{cursor:pointer;font-weight:500;color:var(--color-text-secondary);padding:var(--spacing-sm);border-radius:var(--radius-sm);background:var(--color-background-alt)}.error-details summary:hover{background:var(--color-border)}.error-message{margin:var(--spacing-md) 0;padding:var(--spacing-md);background:var(--color-background-alt);border-radius:var(--radius-sm);border-left:4px solid var(--color-error);font-family:monospace;font-size:.9rem}.error-stack{margin:var(--spacing-sm) 0;padding:var(--spacing-md);background:var(--color-background);border-radius:var(--radius-sm);font-family:monospace;font-size:.8rem;overflow-x:auto;max-height:200px;overflow-y:auto}.error-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}@media (max-width: 640px){.error-actions{flex-direction:column}.error-boundary{min-height:300px;padding:var(--spacing-lg)}}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button,a,input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
