@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700&display=swap";:root{--color-primary: #EAFF5F;--color-primary-hover: #EDFF95;--color-secondary: #54d3de;--color-secondary-hover: #89eaf0;--color-success: #ADE5A3;--color-error: #FF8C88;--color-warning: #EAFF5F;--color-teal-dark: #004b57;--color-teal-mid: #007383;--bg-deep: #0C0C0C;--bg-card: #282B2E;--bg-hover: rgba(255, 255, 255, .06);--bg-gradient: linear-gradient(180deg, #004b57 0%, #0C0C0C 100%);--text-primary: #FFFFFF;--text-secondary: #E8EDEF;--text-tertiary: #C2CBD1;--text-muted: #808890;--text-disabled: #5A5F66;--text-dark: #0C0C0C;--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--radius-sm: 4px;--radius-lg: 12px;--shadow-card: 0 4px 16px rgba(0, 0, 0, .25);--shadow-modal: 0 25px 80px rgba(0, 0, 0, .5);--progress-gradient: linear-gradient(90deg, #54d3de 0%, #EAFF5F 100%);--font-family: "Outfit", system-ui, -apple-system, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-size-3xl: 36px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 20px;--space-xl: 30px;--space-2xl: 40px;--maturity-l0: #5A5F66;--maturity-l1: #004b57;--maturity-l2: #007383;--maturity-l3: #54d3de;--maturity-l4: #EAFF5F;--transition-fast: .15s ease;--transition-base: .25s ease;--bg-main: #0C0C0C;--text-body: #E8EDEF;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-md: 8px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--text-secondary);background:var(--bg-gradient);background-attachment:fixed;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);line-height:1.2}h2{font-weight:var(--font-weight-semibold);font-size:24px;color:var(--text-primary);line-height:1.3}h3{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--text-primary);line-height:1.4}a{color:var(--color-secondary);text-decoration:none}a:hover{color:var(--color-secondary-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast);min-height:44px}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:transparent;color:var(--text-primary);border:1px solid var(--color-secondary);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);min-height:44px}.btn-secondary:hover:not(:disabled){background:#54d3de1a;border-color:var(--color-secondary-hover)}.btn-secondary:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);min-height:44px}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-default)}.btn-ghost:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],textarea,select,.input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:44px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' fill-opacity='0.6' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;cursor:pointer}select option{background:var(--bg-deep);color:var(--text-primary)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=url]:focus,textarea:focus,select:focus,.input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #54d3de40}input::placeholder,textarea::placeholder{color:var(--text-disabled)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-lg)}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1}.badge-l0{background:var(--maturity-l0);color:var(--text-primary)}.badge-l1{background:var(--maturity-l1);color:#89eaf0}.badge-l2{background:var(--maturity-l2);color:var(--text-primary)}.badge-l3{background:var(--maturity-l3);color:var(--text-dark)}.badge-l4{background:var(--maturity-l4);color:var(--text-dark)}.progress-bar{width:100%;height:8px;background:var(--bg-deep);border-radius:var(--radius-sm);overflow:hidden}.progress-bar-fill{height:100%;background:var(--progress-gradient);border-radius:var(--radius-sm);transition:width var(--transition-base)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-gradient);padding:var(--spacing-md)}.login-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--spacing-2xl) var(--spacing-xl);max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow-lg)}.login-title{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);margin:0 0 var(--spacing-sm);letter-spacing:-.02em}.login-subtitle{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-muted);margin:0 0 var(--spacing-xl)}.login-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast);min-height:48px}.login-btn:hover:not(:disabled){background:var(--color-primary-hover)}.login-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-loading{opacity:.7}.login-btn-icon{display:flex;align-items:center}.login-hint{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-muted);margin:var(--spacing-md) 0 0}.login-error{background:#ff8c881a;border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);color:var(--color-error);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.admin-layout{display:flex;height:100vh;background:var(--bg-main);color:var(--text-body);font-family:var(--font-family)}.admin-sidebar{width:280px;min-width:280px;background:var(--bg-card);overflow-y:auto;border-right:1px solid var(--bg-hover);display:flex;flex-direction:column}.admin-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-md);border-bottom:1px solid var(--bg-hover)}.admin-sidebar-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--text-primary);margin:0}.admin-sign-out-btn{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;color:var(--text-muted);border:1px solid var(--bg-hover);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.admin-sign-out-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.admin-sign-out-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.admin-sidebar-content{flex:1;overflow-y:auto}.admin-main{flex:1;overflow-y:auto;padding:var(--spacing-xl)}.admin-dashboard{min-height:100vh;background:var(--bg-main);color:var(--text-body);font-family:var(--font-family)}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-card);border-bottom:1px solid var(--bg-hover)}.admin-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--text-primary);margin:0}.admin-user-info{display:flex;align-items:center;gap:var(--spacing-md)}.admin-user-email{font-size:var(--font-size-sm);color:var(--text-muted)}.admin-content{padding:var(--spacing-xl)}.admin-placeholder{color:var(--text-muted);font-size:var(--font-size-base);text-align:center;margin-top:var(--spacing-2xl)}.client-list{display:flex;flex-direction:column}.client-entry{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--bg-hover);min-height:44px}.client-entry:hover{background:var(--bg-hover)}.client-entry.active{background:var(--color-teal-dark)}.client-entry:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.client-entry-name{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary);line-height:1.3}.client-entry-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.client-entry-date{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-muted)}.client-count-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);background:var(--bg-hover);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);color:var(--text-muted)}.client-entry.active .client-count-badge{background:#ffffff26;color:var(--text-primary)}.client-kpi-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);background:var(--color-success);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-dark);line-height:1}.client-entry.active .client-kpi-badge{background:var(--color-success);color:var(--text-dark)}.client-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);text-align:center;flex:1}.client-empty-message{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-muted);margin-bottom:var(--spacing-md)}.client-empty-cta{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);min-height:44px}.client-empty-cta:hover{background:var(--color-primary-hover)}.client-empty-cta:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.client-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);text-align:center}.client-error-message{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-error)}.modal-field-group{margin-bottom:var(--spacing-md)}.modal-field-label{display:block;font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.custom-select{position:relative;width:100%;box-sizing:border-box}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;min-height:44px;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.custom-select:focus .custom-select-trigger,.custom-select.open .custom-select-trigger{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #54d3de40}.custom-select-arrow{flex-shrink:0;width:0;height:0;margin-left:var(--spacing-sm);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid rgba(255,255,255,.6);transition:transform var(--transition-fast)}.custom-select.open .custom-select-arrow{transform:rotate(180deg)}.custom-select-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;margin:0;padding:var(--spacing-xs) 0;list-style:none;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-modal);z-index:10;max-height:200px;overflow-y:auto}.custom-select.open .custom-select-dropdown{display:block}.custom-select-option{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast)}.custom-select-option:hover{background:var(--bg-hover)}.custom-select-option.active{color:var(--color-primary)}.custom-select-separator{height:1px;margin:var(--spacing-xs) var(--spacing-md);background:var(--border-strong)}.modal-client-name-input{margin-top:var(--spacing-sm)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:1000;opacity:0;transition:opacity var(--transition-base);overflow-y:auto;padding:var(--spacing-xl) 0}.modal-overlay.modal-visible{opacity:1}.modal-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);max-width:480px;width:90%;padding:var(--spacing-xl);transform:translateY(8px);transition:transform var(--transition-base);flex-shrink:0}.modal-overlay.modal-visible .modal-card{transform:translateY(0)}.modal-title{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xl);color:var(--text-primary);margin:0 0 var(--spacing-lg)}.modal-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;min-height:44px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.modal-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #54d3de40}.modal-input::placeholder{color:var(--text-disabled)}.modal-input-error{border-color:var(--color-error)}.modal-input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ff8c8840}.modal-error-message{color:var(--color-error);font-family:var(--font-family);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0}.modal-checkbox-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.modal-checkbox{width:18px;height:18px;accent-color:var(--color-secondary);cursor:pointer}.modal-checkbox-label{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary)}.calendar-picker{position:relative}.calendar-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left}.calendar-trigger:disabled{opacity:.4;cursor:not-allowed}.calendar-trigger-text{color:var(--text-disabled);flex:1}.calendar-trigger.calendar-has-value .calendar-trigger-text{color:var(--text-primary)}.calendar-trigger-icon{font-size:var(--font-size-base);margin-left:var(--spacing-sm)}.calendar-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--spacing-md);z-index:100;box-shadow:0 8px 32px #00000080}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.calendar-nav-btn{background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-lg);width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),border-color var(--transition-fast)}.calendar-nav-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.calendar-month-year{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary)}.calendar-dow-row{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:var(--spacing-xs)}.calendar-dow-cell{font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted);padding:var(--spacing-xs) 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day-cell{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:var(--font-family);font-size:var(--font-size-sm)}.calendar-day-btn{background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.calendar-day-btn:hover{background:var(--bg-hover);border-color:var(--border-subtle)}.calendar-day-today{border-color:var(--color-secondary)!important;color:var(--color-secondary)}.calendar-day-selected{background:var(--color-secondary)!important;color:var(--bg-deep)!important;font-weight:var(--font-weight-semibold)}.calendar-today-btn{display:block;width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-xs) 0;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--color-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.calendar-today-btn:hover{background:var(--bg-hover)}.modal-url-display{background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-md) 0;word-break:break-all;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.modal-btn-create{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast);min-height:44px}.modal-btn-create:hover:not(:disabled){background:var(--color-primary-hover)}.modal-btn-create:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-btn-create:disabled{opacity:.5;cursor:not-allowed}.modal-btn-cancel{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);min-height:44px}.modal-btn-cancel:hover{background:var(--bg-hover);border-color:var(--border-default)}.modal-btn-cancel:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.modal-btn-copy{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--text-primary);border:1px solid var(--color-secondary);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);min-height:44px}.modal-btn-copy:hover{background:#54d3de1a;border-color:var(--color-secondary-hover)}.modal-btn-copy:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.modal-btn-copy.copied{border-color:var(--color-success);color:var(--color-success)}.modal-btn-done{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast);min-height:44px}.modal-btn-done:hover{background:var(--color-primary-hover)}.modal-btn-done:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-currency-label{margin-top:var(--spacing-sm)}.modal-currency-select{width:100%;margin-top:var(--spacing-xs);box-sizing:border-box}.modal-url-section{margin-bottom:var(--spacing-md)}.modal-url-section:last-of-type{margin-bottom:0}.modal-url-row{display:flex;align-items:center;gap:var(--spacing-sm)}.modal-url-row .modal-url-display{flex:1;margin:0}.modal-url-row .modal-btn-copy{flex-shrink:0;min-width:72px}.modal-success-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--spacing-xs)}.modal-general-error{background:#ff8c881a;border:1px solid var(--color-error);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-md);color:var(--color-error);font-family:var(--font-family);font-size:var(--font-size-sm)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast);min-height:44px}.btn-danger:hover:not(:disabled){background:#e57370}.btn-danger:focus-visible{outline:2px solid var(--color-error);outline-offset:2px}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger-ghost{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-md);background:transparent;color:var(--color-error);border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);min-height:36px}.btn-danger-ghost:hover{background:#ff8c881a;border-color:var(--color-error)}.btn-danger-ghost:focus-visible{outline:2px solid var(--color-error);outline-offset:2px}.delete-confirm-modal .modal-card{max-width:420px}.delete-confirm-warning{display:flex;gap:var(--spacing-sm);background:#ff8c881a;border:1px solid rgba(255,140,136,.3);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.delete-confirm-warning-icon{font-size:var(--font-size-lg);line-height:1;flex-shrink:0}.delete-confirm-warning-text{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);margin:0;line-height:1.5}.delete-confirm-input-label{display:block;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.delete-confirm-input{margin-bottom:0}.delete-confirm-error{margin-top:var(--spacing-sm)}.client-detail-header{margin-bottom:var(--spacing-lg)}.client-detail-title{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);margin:0;line-height:1.2}.assessment-list{display:flex;flex-direction:column}.assessment-entry{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-subtle);min-height:44px}.assessment-entry:hover{background:var(--bg-hover)}.assessment-entry:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.assessment-entry-label{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary);line-height:1.3}.assessment-entry-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.assessment-entry-date{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-muted)}.assessment-respondent-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);background:var(--bg-hover);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);color:var(--text-muted)}.client-detail-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);text-align:center}.client-detail-empty-message{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-muted);margin:0 0 var(--spacing-md)}.client-detail-empty-cta{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);min-height:44px}.client-detail-empty-cta:hover{background:var(--color-primary-hover)}.client-detail-empty-cta:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.client-detail-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);text-align:center}.client-detail-error-message{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-error)}.assessment-detail-header{margin-bottom:var(--spacing-lg)}.assessment-detail-title{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);margin:0 0 var(--spacing-xs);line-height:1.2}.assessment-detail-subtitle{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-muted);margin:0}.currency-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);background:var(--bg-deep);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs)}.workshop-date-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary)}.workshop-date-label{font-weight:var(--font-weight-semibold);color:var(--text-muted)}.workshop-date-value{cursor:pointer;color:var(--text-primary)}.workshop-date-value:hover{text-decoration:underline}.workshop-date-value.workshop-date-muted{color:var(--text-muted);font-style:italic}.workshop-date-edit-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:var(--font-size-sm);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.workshop-date-edit-btn:hover{color:var(--color-primary);background:var(--bg-deep)}.workshop-date-edit{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.workshop-date-input{padding:4px var(--spacing-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm)}.workshop-date-input:disabled{opacity:.5;cursor:not-allowed}.workshop-date-toggle{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer}.workshop-date-save-btn,.workshop-date-cancel-btn{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;padding:2px var(--spacing-sm);font-size:var(--font-size-sm);transition:background var(--transition-fast),color var(--transition-fast)}.workshop-date-save-btn{color:var(--color-success, #4ade80)}.workshop-date-save-btn:hover{background:var(--bg-deep)}.workshop-date-cancel-btn{color:var(--color-error, #f87171)}.workshop-date-cancel-btn:hover{background:var(--bg-deep)}.assessment-detail-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);text-align:center}.assessment-detail-error-message{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-error)}.survey-url-section{margin-bottom:var(--spacing-xl)}.survey-url-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--spacing-xs)}.survey-url-row{display:flex;align-items:center;gap:var(--spacing-sm)}.survey-url-text{flex:1;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);word-break:break-all;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.survey-url-copy-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);background:transparent;color:var(--text-primary);border:1px solid var(--color-secondary);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);min-height:40px;white-space:nowrap}.survey-url-copy-btn:hover{background:#54d3de1a;border-color:var(--color-secondary-hover)}.survey-url-copy-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.survey-url-copy-btn.copied{border-color:var(--color-success);color:var(--color-success)}.assessment-urls{margin-bottom:var(--spacing-xl)}.assessment-urls .survey-url-section{margin-bottom:var(--spacing-md)}.assessment-urls .survey-url-section:last-child{margin-bottom:0}.url-label-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.url-label-row .survey-url-label{margin:0}.url-status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);line-height:1}.url-status-completed{color:var(--color-success);background:#ade5a326}.url-status-pending{color:var(--text-muted);background:var(--bg-hover)}@media(max-width:600px){.survey-url-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.respondent-section{margin-bottom:var(--spacing-xl)}.respondent-section-title{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--text-primary);margin:0 0 var(--spacing-md)}.respondent-table{width:100%;border-collapse:collapse;font-family:var(--font-family);font-size:var(--font-size-sm)}.respondent-table th{background:var(--color-teal-dark);color:var(--text-primary);font-weight:var(--font-weight-semibold);text-align:left;padding:var(--spacing-sm) var(--spacing-md)}.respondent-table th:first-child{border-radius:var(--radius-sm) 0 0 0}.respondent-table th:last-child{border-radius:0 var(--radius-sm) 0 0}.respondent-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.respondent-table tbody tr{transition:background var(--transition-fast)}.respondent-table tbody tr:hover{background:var(--bg-hover)}.status-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);line-height:1}.status-badge-completed{background:var(--color-success);color:var(--text-dark)}.status-badge-in-progress{background:var(--color-secondary);color:var(--text-dark)}.respondent-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);border:2px dashed var(--border-default);border-radius:var(--radius-lg);text-align:center}.respondent-empty-message{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-muted);margin:0 0 var(--spacing-sm)}.respondent-empty-score{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:32px;color:var(--text-muted)}.score-hero{display:flex;align-items:center;gap:var(--spacing-md);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:20px 30px;margin-bottom:var(--spacing-xl)}.score-hero-value{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:32px;color:var(--color-primary);line-height:1;transition:color .3s ease}.score-hero-empty{color:var(--text-muted)}.score-hero-waiting{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-muted)}.score-hero-count{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-secondary)}.tier-badge{display:inline-flex;align-items:center;padding:4px var(--spacing-sm);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1}.tier-marginal{background:var(--maturity-l1);color:#89eaf0}.tier-stable{background:var(--maturity-l2);color:#fff}.tier-best-in-class{background:var(--maturity-l3);color:var(--text-dark)}.tier-transformational{background:var(--maturity-l4);color:var(--text-dark)}.epic4-placeholders{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-md)}.epic4-placeholder{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--spacing-lg)}.epic4-placeholder-title{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em}.epic4-placeholder-score{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:32px;color:var(--text-muted);margin:0 0 var(--spacing-xs)}.epic4-placeholder-subtitle,.epic4-placeholder-body{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.spider-chart-container{display:flex;align-items:flex-start;gap:24px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:12px 20px 20px;margin-bottom:var(--spacing-xl);position:relative}.spider-chart-panel{flex:1 1 60%;min-width:0;position:relative;overflow:hidden}.spider-chart-panel canvas{display:block;width:100%!important;height:auto!important;margin-top:-10%;margin-bottom:-12%}.spider-table-panel{flex:0 0 auto;min-width:200px;padding-top:var(--spacing-xl);position:relative}.spider-chart-no-data{text-align:center;color:var(--text-muted);font-family:var(--font-family);font-size:var(--font-size-base);margin:var(--spacing-md) 0 0}.spider-chart-download-btn{position:absolute;top:0;right:0;z-index:2;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;opacity:.6}.spider-chart-download-btn:hover{opacity:1;color:var(--text-primary);border-color:var(--color-secondary);background:#54d3de14}.spider-chart-download-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;opacity:1}.spider-chart-download-btn.downloaded{opacity:1;border-color:var(--color-success);color:var(--color-success)}.spider-chart-download-dropdown{position:absolute;top:0;right:0;z-index:10}.spider-chart-download-dropdown .spider-chart-download-btn{position:static}.spider-chart-download-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:4px 0;min-width:180px;box-shadow:0 4px 12px #0000004d}.spider-chart-download-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;text-align:left}.spider-chart-download-option:hover,.spider-chart-download-option:focus-visible{background:#54d3de14;color:var(--text-primary)}.spider-chart-download-option:focus-visible{outline:2px solid var(--color-secondary);outline-offset:-2px}.download-option-swatch{display:inline-block;width:14px;height:14px;border-radius:3px;border:1px solid var(--border-subtle);flex-shrink:0}.download-option-swatch--dark{background:#282b2e}.download-option-swatch--light{background:#fff}.dimension-table-copy-btn{position:absolute;top:0;right:0;z-index:2;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;opacity:.6}.dimension-table-copy-btn:hover{opacity:1;color:var(--text-primary);border-color:var(--color-secondary);background:#54d3de14}.dimension-table-copy-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;opacity:1}.dimension-table-copy-btn.copied{opacity:1;border-color:var(--color-success);color:var(--color-success)}.dimension-table{width:100%;border-collapse:collapse;font-family:var(--font-family);font-size:var(--font-size-sm)}.dimension-table th{background:var(--color-teal-dark);color:#fff;font-weight:var(--font-weight-semibold);text-align:left;padding:8px 12px}.dimension-table th:first-child{border-radius:var(--radius-sm) 0 0 0}.dimension-table th:last-child{border-radius:0 var(--radius-sm) 0 0}.dimension-table td{padding:8px 12px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.dimension-table tbody tr:nth-child(odd){background:var(--bg-card)}.dimension-table tbody tr:nth-child(2n){background:var(--bg-deep)}.layer-bars-container{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:20px;margin-bottom:var(--spacing-xl)}.layer-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.layer-bar-row:last-of-type{margin-bottom:0}.layer-bar-label{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);min-width:180px;flex-shrink:0}.layer-bar-track{background:var(--bg-deep);border-radius:var(--radius-sm);height:20px;flex:1;overflow:hidden}.layer-bar-fill{background:var(--progress-gradient);border-radius:var(--radius-sm);height:100%;transition:width .3s ease}.layer-bar-score{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);min-width:32px;text-align:right}.layer-bars-waiting{text-align:center;color:var(--text-muted);font-family:var(--font-family);font-size:var(--font-size-sm);margin:var(--spacing-md) 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.chart-unavailable{text-align:center;color:var(--text-muted);font-family:var(--font-family);font-size:var(--font-size-sm);padding:var(--spacing-xl);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xl)}.response-views-container{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:20px;margin-bottom:var(--spacing-xl)}.response-views-empty{color:var(--text-muted);font-family:var(--font-family);font-size:var(--font-size-base);text-align:center;margin:var(--spacing-md) 0}.response-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.response-tab{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);min-height:40px}.response-tab:hover:not(.response-tab-active){background:var(--bg-hover);border-color:var(--border-default)}.response-tab:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.response-tab-active{background:var(--color-teal-dark);color:var(--text-primary);border-color:var(--color-teal-dark)}.response-dropdown{display:block;width:100%;max-width:400px;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;min-height:40px;margin-bottom:var(--spacing-md);cursor:pointer}.response-dropdown:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #54d3de40}.response-table-container{overflow-x:auto}.response-table{width:100%;border-collapse:collapse;font-family:var(--font-family);font-size:var(--font-size-sm)}.response-table th{background:var(--color-teal-dark);color:#fff;font-weight:var(--font-weight-semibold);text-align:left;padding:8px 12px}.response-table th:first-child{border-radius:var(--radius-sm) 0 0 0}.response-table th:last-child{border-radius:0 var(--radius-sm) 0 0}.response-table td{padding:8px 12px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.response-table tbody tr{transition:background var(--transition-fast)}.response-table tbody tr:hover{background:var(--bg-hover)}.response-question-text{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dimension-group-header{background:#004b574d}.dimension-group-header td{font-weight:var(--font-weight-semibold);color:var(--color-secondary);padding:6px 12px;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em}.median-row{font-weight:600;background:#54d3de1a}.median-row td{border-top:2px solid var(--border-default);font-weight:600}.tier-dont-know{background:var(--maturity-l0);color:#fff}.not-found{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-main);color:var(--text-muted);font-family:var(--font-family)}.not-found h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}@media(max-width:768px){.survey-url-row{flex-direction:column;align-items:stretch}.survey-url-copy-btn{width:100%;justify-content:center}.kpi-status-indicator{flex-direction:column;align-items:flex-start}.client-entry-meta{flex-wrap:wrap}.home-status-cards{flex-direction:column}}.assessment-tabs{width:100%}.assessment-tabs-bar{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-lg);overflow-x:auto}.assessment-tab{padding:var(--spacing-sm) var(--spacing-md);background:transparent;color:var(--text-muted);border:none;border-bottom:2px solid transparent;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.assessment-tab:hover{color:var(--text-primary);background:#ffffff0a}.assessment-tab:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.assessment-tab-active{color:var(--text-primary);border-bottom-color:var(--color-primary)}.assessment-tab-panel{padding:var(--spacing-md) 0}.home-status-cards{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.home-status-card{flex:1;background:var(--bg-card);border-radius:var(--radius-md);padding:var(--spacing-md)}.home-status-card-title{font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--spacing-xs);font-weight:var(--font-weight-regular)}.home-status-card-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.home-status-completed{color:var(--color-success)}.home-status-pending{color:var(--text-muted)}.home-status-in-progress{color:var(--color-secondary)}.survey-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-lg)}.survey-card{max-width:700px;width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-2xl)}.survey-title{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);line-height:1.2;margin-bottom:var(--space-sm)}.survey-subtitle{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--space-lg)}.survey-context{color:var(--text-tertiary);font-size:var(--font-size-base);margin-bottom:var(--space-sm)}.survey-time{color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-xl)}.survey-form{display:flex;flex-direction:column;gap:var(--space-lg)}.survey-field{display:flex;flex-direction:column;gap:var(--space-xs)}.survey-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-secondary)}.survey-required{color:var(--color-error);margin-left:2px}.survey-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;min-height:44px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.survey-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #54d3de40}.survey-input::placeholder{color:var(--text-disabled)}.survey-input-error{border-color:var(--color-error)}.survey-input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ff8c8840}.survey-error-message{color:var(--color-error);font-size:var(--font-size-xs);font-family:var(--font-family);min-height:0}.survey-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast);min-height:44px;margin-top:var(--space-sm)}.survey-btn:hover:not(:disabled){background:var(--color-primary-hover)}.survey-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.survey-btn:disabled{opacity:.5;cursor:not-allowed}.survey-error-page{text-align:center}.survey-error-heading{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);line-height:1.2;margin-bottom:var(--space-md)}.survey-error-description{color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:var(--space-sm)}.survey-error-contact{color:var(--text-muted);font-size:var(--font-size-sm)}.survey-general-error{color:var(--color-error);font-size:var(--font-size-sm);font-family:var(--font-family);text-align:center;padding:var(--space-sm);background:#ff8c881a;border-radius:var(--radius-sm)}.survey-progress{max-width:700px;width:100%;margin:0 auto var(--space-lg);padding:0 var(--space-lg)}.survey-progress-bar{height:8px;background:var(--bg-card);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--space-sm)}.survey-progress-fill{height:100%;background:var(--progress-gradient);border-radius:var(--radius-sm);transition:width .3s ease}.survey-progress-text{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-secondary)}.survey-progress-dimension{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary)}.survey-nav{display:flex;justify-content:space-between;align-items:center;max-width:700px;width:100%;margin:var(--space-lg) auto 0;padding:0 var(--space-lg);gap:var(--space-md)}.survey-nav-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--color-secondary);color:var(--bg-deep);border:none;border-radius:var(--radius-md);min-height:44px;padding:var(--space-sm) var(--space-lg);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:opacity var(--transition-fast)}.survey-nav-btn:hover:not(:disabled){opacity:.85}.survey-nav-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.survey-nav-btn:disabled{opacity:.4;cursor:not-allowed}.survey-nav-btn--complete{background:var(--color-primary);color:var(--text-dark);font-weight:var(--font-weight-bold)}.survey-nav-btn--complete:hover:not(:disabled){opacity:.85}.survey-nav-btn--complete:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.survey-questions-wrapper{flex-direction:column;align-items:center;min-height:auto;padding-top:var(--space-xl);padding-bottom:80px}.survey-section-content{max-width:700px;width:100%}.survey-section-card{max-width:700px}.survey-section-header{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:24px;color:var(--text-primary);line-height:1.3;margin-bottom:var(--space-sm)}.survey-section-description{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-xl)}.survey-questions-list{display:flex;flex-direction:column;gap:var(--space-xl)}.survey-question-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-lg);transition:border-color .2s ease}.survey-question-card--error{border-color:var(--color-error)}.survey-validation-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-sm);margin-bottom:0}.survey-question-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.survey-question-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 var(--space-sm);background:var(--color-primary);color:var(--text-dark);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border-radius:var(--radius-full);flex-shrink:0}.survey-meta-tags{display:flex;gap:var(--space-xs);flex-wrap:wrap}.survey-meta-tag{display:inline-flex;align-items:center;padding:2px var(--space-sm);background:#54d3de1f;color:var(--color-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);white-space:nowrap}.survey-question-text{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--space-md)}.survey-options{display:flex;flex-direction:column;gap:var(--space-sm)}.survey-option{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--bg-deep);border:1px solid var(--border-subtle);border-left:3px solid transparent;border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition:background var(--transition-fast),border-color var(--transition-fast)}.survey-option:hover{background:var(--bg-hover)}.survey-option.selected{border-left-color:var(--color-secondary);background:#54d3de0f}.survey-option:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.survey-option-content{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:0}.survey-option-description{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.survey-save-indicator{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);z-index:100;transition:opacity var(--transition-base),background var(--transition-base);pointer-events:none;min-height:0}.survey-save-indicator:empty{opacity:0}.survey-save-indicator--saving{background:var(--bg-card);color:var(--text-secondary);opacity:1}.survey-save-indicator--saved{background:#ade5a326;color:var(--color-success);opacity:1}.survey-save-indicator--error{background:#ff8c8826;color:var(--color-error);opacity:1}.survey-completion-card{max-width:500px;width:100%;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-2xl) var(--space-2xl);text-align:center;margin:0 auto}.survey-completion-icon{width:64px;height:64px;color:var(--color-success);margin:0 auto var(--space-lg)}.survey-completion-title{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);line-height:1.2;margin-bottom:var(--space-sm)}.survey-completion-message{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--space-sm)}.survey-completion-client{font-family:var(--font-family);font-size:14px;color:var(--text-tertiary);margin-bottom:var(--space-sm)}.survey-completion-note{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-xl)}.survey-review-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--color-secondary);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);min-height:44px;padding:var(--space-sm) var(--space-lg);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast)}.survey-review-btn:hover{background:var(--color-secondary-hover)}.survey-review-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.survey-intro-card{max-width:600px}.survey-intro-greeting{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);line-height:1.2;margin-bottom:var(--space-md)}.survey-intro-purpose{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-xl)}.survey-intro-overview{margin-bottom:var(--space-xl)}.survey-intro-overview-title{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--text-primary);margin-bottom:var(--space-md)}.survey-intro-sections{list-style:none;counter-reset:section-counter;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.survey-intro-section{counter-increment:section-counter;display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.4}.survey-intro-section:before{content:counter(section-counter);display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;background:#54d3de26;color:var(--color-secondary);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border-radius:var(--radius-full);flex-shrink:0}.survey-intro-stats{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}@media(prefers-reduced-motion:reduce){.survey-save-indicator,.survey-option,.survey-progress-fill,.survey-review-btn,.survey-completion-card{transition:none}}@media(max-width:768px){.survey-card{padding:var(--space-lg)}.survey-wrapper,.survey-question-card{padding:var(--space-md)}.survey-option{flex-direction:row;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);min-height:44px}.survey-section-header-group{position:sticky;top:0;z-index:10;background:var(--bg-card);padding-bottom:var(--space-sm);margin:calc(-1 * var(--space-lg)) calc(-1 * var(--space-md)) 0;padding:var(--space-md) var(--space-md) var(--space-sm);border-bottom:1px solid var(--border-subtle)}.survey-section-header-group .survey-section-header{font-size:var(--font-size-lg);margin-bottom:var(--space-xs)}.survey-section-header-group .survey-section-description{font-size:var(--font-size-sm);margin-bottom:0;line-height:1.4}.survey-questions-wrapper{padding-top:var(--space-md);padding-bottom:100px}.survey-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--bg-card);padding:12px 16px;box-shadow:0 -2px 8px #0000004d;max-width:none}.survey-progress{padding:0 var(--space-md)}.survey-completion-card{padding:var(--space-lg)}.survey-review-btn{width:100%}.survey-intro-greeting{font-size:var(--font-size-xl)}.survey-intro-purpose{font-size:var(--font-size-sm)}.survey-intro-overview-title{font-size:var(--font-size-base)}.survey-intro-section{font-size:var(--font-size-sm)}}.kpi-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-lg)}.kpi-card{max-width:700px;width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:var(--space-2xl)}.kpi-title{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);line-height:1.2;margin-bottom:var(--space-sm)}.kpi-context{color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:var(--space-xl)}.kpi-form{display:flex;flex-direction:column;gap:var(--space-lg)}.kpi-field{display:flex;flex-direction:column;gap:var(--space-xs)}.kpi-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-secondary)}.kpi-required{color:var(--color-error);margin-left:2px}.kpi-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;min-height:44px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.kpi-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #54d3de40}.kpi-input::placeholder{color:var(--text-disabled)}.kpi-input-error{border-color:var(--color-error)}.kpi-input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ff8c8840}.kpi-error-message{color:var(--color-error);font-size:var(--font-size-xs);font-family:var(--font-family);min-height:0}.kpi-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast);min-height:44px;margin-top:var(--space-sm)}.kpi-btn:hover:not(:disabled){background:var(--color-primary-hover)}.kpi-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.kpi-btn:disabled{opacity:.5;cursor:not-allowed}.kpi-error-page{text-align:center}.kpi-error-heading{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);line-height:1.2;margin-bottom:var(--space-md)}.kpi-error-description{color:var(--text-secondary);font-size:var(--font-size-base);margin-bottom:var(--space-sm)}.kpi-error-contact{color:var(--text-muted);font-size:var(--font-size-sm)}.kpi-form-header{margin-bottom:var(--space-sm)}.kpi-input-group{display:flex;align-items:center;position:relative}.kpi-currency-prefix{position:absolute;left:var(--space-sm);color:var(--text-muted);font-family:var(--font-family);font-size:var(--font-size-base);pointer-events:none;z-index:1}.kpi-input-with-prefix{padding-left:var(--space-xl)}.kpi-percent-suffix{position:absolute;right:var(--space-sm);color:var(--text-muted);font-family:var(--font-family);font-size:var(--font-size-base);pointer-events:none;z-index:1}.kpi-input-with-suffix{padding-right:var(--space-xl)}.kpi-divider{height:1px;background:var(--border-subtle);margin:var(--space-sm) 0}.kpi-calculated-section{display:flex;flex-direction:column;gap:var(--space-md)}.kpi-calculated-field{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:44px}.kpi-calculated-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-secondary)}.kpi-calculated-value{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-secondary)}.kpi-submit-error{color:var(--color-error);font-size:var(--font-size-sm);font-family:var(--font-family);text-align:center;min-height:0}.kpi-confirmation{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.kpi-success-icon{color:var(--color-success);display:flex;justify-content:center;margin-bottom:var(--space-sm)}.kpi-confirmation-heading{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-2xl);color:var(--text-primary);line-height:1.2}.kpi-confirmation-message{color:var(--text-secondary);font-size:var(--font-size-base);font-family:var(--font-family);line-height:1.5}@media(prefers-reduced-motion:reduce){.kpi-input,.kpi-btn{transition:none}}@media(max-width:768px){.kpi-card{padding:var(--space-lg)}.kpi-wrapper{padding:var(--space-md)}}.kpi-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:20px;margin-top:var(--space-xl);position:relative}.kpi-panel-title{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--text-primary);margin:0 0 var(--space-md)}.kpi-panel-contact{margin-bottom:var(--space-lg)}.kpi-panel-contact-line{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-xs);line-height:1.5}.kpi-panel-contact-label{color:var(--text-muted)}.kpi-panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}.kpi-panel-value-item{display:flex;flex-direction:column;gap:var(--space-xs)}.kpi-panel-value-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.3}.kpi-panel-value-display{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary)}.kpi-panel-calculated{border-top:1px solid var(--border-subtle);padding-top:var(--space-sm)}.kpi-panel-calculated .kpi-panel-value-display,.kpi-panel-calculated-value{color:var(--color-secondary)}.kpi-panel-actions{display:flex;gap:var(--space-sm);align-items:center}.kpi-panel-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);background:transparent;color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);min-height:44px}.kpi-panel-edit-btn:hover{background:var(--bg-hover);border-color:var(--color-secondary)}.kpi-panel-edit-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.kpi-panel-save-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--text-dark);border:none;border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast);min-height:44px}.kpi-panel-save-btn:hover:not(:disabled){background:var(--color-primary-hover)}.kpi-panel-save-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kpi-panel-save-btn:disabled{opacity:.5;cursor:not-allowed}.kpi-panel-cancel-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);min-height:44px}.kpi-panel-cancel-btn:hover{background:var(--bg-hover);border-color:var(--border-default)}.kpi-panel-cancel-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.kpi-panel-saved-indicator{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--color-success);color:var(--text-dark);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.kpi-panel-empty{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-muted);margin:0 0 var(--space-md)}.kpi-panel-url{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.kpi-panel-url-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap}.kpi-panel-url-text{flex:1;background:var(--bg-deep);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);word-break:break-all;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;min-width:0}.kpi-panel-copy-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);background:transparent;color:var(--text-primary);border:1px solid var(--color-secondary);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);min-height:40px;white-space:nowrap}.kpi-panel-copy-btn:hover{background:#54d3de1a;border-color:var(--color-secondary-hover)}.kpi-panel-copy-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.kpi-panel-copy-btn.copied{border-color:var(--color-success);color:var(--color-success)}.kpi-panel-error{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-error);margin:0 0 var(--space-sm)}.kpi-panel-edit-form{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-md)}.kpi-panel-edit-field{display:flex;flex-direction:column;gap:var(--space-xs)}.kpi-panel-edit-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--text-secondary)}.kpi-panel-edit-input{min-height:44px}.kpi-panel-calc-section{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}@media(max-width:768px){.kpi-panel-grid,.kpi-panel-edit-form{grid-template-columns:1fr}.kpi-panel-url{flex-direction:column;align-items:stretch}.kpi-panel-actions{flex-direction:column}.kpi-panel-save-btn,.kpi-panel-cancel-btn,.kpi-panel-edit-btn{width:100%}}@media(prefers-reduced-motion:reduce){.kpi-panel-edit-btn,.kpi-panel-save-btn,.kpi-panel-cancel-btn,.kpi-panel-copy-btn{transition:none}}.outside-in-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-top:var(--spacing-lg);border:1px solid var(--border-subtle);border-left:4px solid #EAFF5F}.outside-in-heading{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:18px;color:var(--text-primary);margin:0 0 var(--spacing-sm)}.outside-in-description{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--spacing-md)}.outside-in-start-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:#eaff5f;color:var(--text-dark);border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast);min-height:40px}.outside-in-start-btn:hover:not(:disabled){background:var(--color-primary-hover)}.outside-in-start-btn:disabled{opacity:.6;cursor:not-allowed}.outside-in-start-btn:focus-visible{outline:2px solid #EAFF5F;outline-offset:2px}.outside-in-status-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.outside-in-progress{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--spacing-xs)}.outside-in-facilitator{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--text-muted);margin:0 0 var(--spacing-md)}.outside-in-continue-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-secondary);color:var(--text-dark);border:none;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);min-height:40px}.outside-in-continue-btn:hover{background:var(--color-secondary-hover)}.outside-in-continue-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.outside-in-complete-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);background:var(--color-success);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-dark);line-height:1}.outside-in-score{display:block;font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-3xl);color:#eaff5f;margin:var(--spacing-sm) 0}.outside-in-tier-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);background:var(--bg-elevated);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-primary);line-height:1;margin-bottom:var(--spacing-md)}.outside-in-view-details-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:#eaff5f;border:1px solid #EAFF5F;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);min-height:40px}.outside-in-view-details-btn:hover{background:#eaff5f1a}.outside-in-view-details-btn:focus-visible{outline:2px solid #EAFF5F;outline-offset:2px}.outside-in-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;min-height:40px;margin-top:var(--spacing-sm)}.outside-in-edit-btn:hover{background:#ffffff0f;color:var(--text-primary);border-color:var(--text-muted)}.outside-in-edit-btn:focus-visible{outline:2px solid #54d3de;outline-offset:2px}.outside-in-error{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--color-error);margin:var(--spacing-sm) 0 0}.outside-in-badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-dark);line-height:1}.outside-in-badge-in-progress{background:var(--color-secondary)}.outside-in-badge-complete{background:var(--color-success)}.outside-in-survey{position:relative;background:#282b2e;border-radius:4px;padding:16px 22px;margin-top:var(--spacing-md);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 16px #00000040}.outside-in-close-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:18px;cursor:pointer;transition:background .15s ease,color .15s ease;z-index:1}.outside-in-close-btn:hover{background:#ffffff0f;color:var(--text-primary)}.outside-in-close-btn:focus-visible{outline:2px solid #54d3de;outline-offset:2px}.outside-in-framing{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:20px;color:var(--text-primary);margin:0 0 var(--spacing-lg);padding-right:40px;line-height:1.4}.outside-in-stepper{display:flex;align-items:center;gap:6px;margin-bottom:var(--spacing-md);padding:var(--spacing-xs) 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.outside-in-stepper-dot{flex-shrink:0;width:12px;height:12px;padding:0;border:2px solid var(--bg-elevated);border-radius:var(--radius-full);background:var(--bg-elevated);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.outside-in-stepper-dot:hover{border-color:#54d3de80}.outside-in-stepper-dot:focus-visible{outline:2px solid #54d3de;outline-offset:2px}.outside-in-stepper-answered{background:#54d3de;border-color:#54d3de}.outside-in-stepper-current{background:transparent;border-color:#54d3de;box-shadow:0 0 0 2px #54d3de4d}.outside-in-save-indicator{display:inline-flex;align-items:center;gap:8px;padding:0 8px;font-family:var(--font-family);font-size:15px;min-height:20px;margin-bottom:var(--spacing-sm);border-radius:4px;border:1px solid transparent;transition:all .3s ease}.outside-in-save-saving{color:var(--text-muted);background:#eaff5f1f;border-color:#eaff5f4d}.outside-in-save-saved{color:#ade5a3;background:#ade5a31f;border-color:#ade5a34d}.outside-in-save-error{color:var(--color-error);background:#ff8c881f;border-color:#ff8c884d}.outside-in-progress-container{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-bottom:10px}.outside-in-progress-label{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:18px;color:#fff}.outside-in-progress-count{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-muted);margin-left:auto}.outside-in-progress-bar{width:100%;height:3px;background:#ffffff14;border-radius:0;overflow:hidden}.outside-in-progress-fill{height:100%;background:linear-gradient(90deg,#54d3de,#eaff5f);transition:width .3s ease}.outside-in-question-container{overflow:hidden}.outside-in-question-slide{animation-duration:.25s;animation-timing-function:ease-out;animation-fill-mode:both}.outside-in-slide-forward{animation-name:slideInRight}.outside-in-slide-backward{animation-name:slideInLeft}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.outside-in-question-meta{display:flex;align-items:center;gap:8px;margin-bottom:var(--spacing-sm)}.outside-in-question-badge{display:inline-flex;align-items:center;background:#eaff5f;color:#0c0c0c;padding:3px 10px;border-radius:4px;font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-semibold)}.outside-in-dimension-label{display:inline-flex;align-items:center;padding:3px 10px;background:#004b5733;color:#54d3de;border:1px solid rgba(0,75,87,.4);border-radius:4px;font-family:var(--font-family);font-size:13px;font-weight:var(--font-weight-regular)}.outside-in-question-card{margin-bottom:var(--spacing-md)}.outside-in-question-text{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:14px;color:#fff;margin:0 0 10px;line-height:1.4}.outside-in-options{display:flex;flex-direction:column;gap:4px}.outside-in-option-card{display:flex;align-items:center;gap:10px;padding:5px 8px;background:#ffffff08;border-radius:4px;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .2s ease}.outside-in-option-card:hover{background:#ffffff0f;border-color:#ffffff1f}.outside-in-option-card:focus-visible{outline:2px solid #54d3de;outline-offset:2px}.outside-in-option-selected{background:#54d3de14!important;border-color:#54d3de4d!important;box-shadow:0 2px 8px #54d3de26}.outside-in-option-content{flex:1;min-width:0}.outside-in-option-description{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-secondary);margin:2px 0 0;line-height:1.3}.outside-in-nav{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:8px 0}.outside-in-prev-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;background:#282b2e;color:#5a5f66;border:none;border-radius:4px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:17px;cursor:pointer;transition:all .2s ease}.outside-in-prev-btn:hover{background:#ffffff0f;color:var(--text-primary)}.outside-in-next-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;background:#54d3de;color:#0c0c0c;border:none;border-radius:4px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:17px;cursor:pointer;transition:all .2s ease}.outside-in-next-btn:hover:not(:disabled){background:#89eaf0;transform:translateY(-1px)}.outside-in-next-btn:disabled{background:#282b2e;color:#5a5f66;cursor:not-allowed}.outside-in-complete-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;background:#eaff5f;color:#0c0c0c;border:none;border-radius:4px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:17px;cursor:pointer;transition:all .2s ease}.outside-in-complete-btn:hover:not(:disabled){background:#edff95;transform:translateY(-1px)}.outside-in-complete-btn:disabled{background:#282b2e;color:#5a5f66;cursor:not-allowed}.outside-in-done-editing-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;background:#54d3de;color:#0c0c0c;border:none;border-radius:4px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:17px;cursor:pointer;transition:all .2s ease}.outside-in-done-editing-btn:hover:not(:disabled){background:#89eaf0;transform:translateY(-1px)}.outside-in-done-editing-btn:disabled{background:#282b2e;color:#5a5f66;cursor:not-allowed}.outside-in-completion{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}.outside-in-success-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-full);background:#ade5a3;color:var(--text-dark);font-size:28px;font-weight:700;margin-bottom:var(--spacing-md)}.outside-in-completion-heading{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:24px;color:var(--text-primary);margin:0 0 var(--spacing-md)}.outside-in-completion-score{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:48px;color:#eaff5f;margin:var(--spacing-sm) 0}.outside-in-completion-tier{display:inline-flex;align-items:center;padding:4px var(--spacing-md);background:var(--bg-elevated);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--spacing-lg)}.outside-in-view-results-link{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:#eaff5f;border:1px solid #EAFF5F;border-radius:var(--radius-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:background .15s ease;min-height:40px;margin-top:var(--spacing-md)}.outside-in-view-results-link:hover{background:#eaff5f1a}.outside-in-results-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-top:var(--spacing-xl);border:1px solid var(--border-subtle);border-left:4px solid #EAFF5F}.outside-in-results-header{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:22px;color:var(--text-primary);margin:0 0 var(--spacing-lg)}.outside-in-results-guard{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-muted);margin:0 0 var(--spacing-md)}.outside-in-results-error{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--color-error);margin:var(--spacing-sm) 0 0}.outside-in-hero{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);margin-bottom:var(--spacing-xl)}.outside-in-hero-label{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.outside-in-hero-score{font-family:var(--font-family);font-weight:600;font-size:32px;color:#54d3de;line-height:1.1}.outside-in-hero-tier{display:inline-flex;align-items:center;padding:4px var(--spacing-md);border-radius:var(--radius-full);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1}.outside-in-hero-tier.tier-marginal{background:#ef444426;color:#ef4444}.outside-in-hero-tier.tier-stable{background:#f59e0b26;color:#f59e0b}.outside-in-hero-tier.tier-best-in-class{background:#10b98126;color:#10b981}.outside-in-hero-tier.tier-transformational{background:#8b5cf626;color:#8b5cf6}.outside-in-hero-context{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);color:var(--text-muted)}.outside-in-spider-chart{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.outside-in-spider-chart-panel{flex:1 1 55%;min-width:0;position:relative}.outside-in-spider-chart-panel canvas{max-width:100%;height:auto}.outside-in-table-panel{flex:1 1 45%;min-width:0;position:relative}.outside-in-data-table{width:100%;border-collapse:collapse;font-family:var(--font-family);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.outside-in-data-table th{text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-muted);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-subtle)}.outside-in-data-table td{padding:var(--spacing-xs) var(--spacing-sm);color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.04)}.outside-in-layer-bars{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.outside-in-layer-bar{display:flex;align-items:center;gap:var(--spacing-sm)}.outside-in-layer-bar-label{flex:0 0 200px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary)}.outside-in-layer-bar-track{flex:1;height:24px;background:var(--bg-elevated);border-radius:var(--radius-sm);overflow:hidden}.outside-in-layer-bar-fill{height:100%;background:linear-gradient(90deg,#3aa8b4,#54d3de);border-radius:var(--radius-sm);transition:width .3s ease}.outside-in-layer-bar-score{flex:0 0 40px;text-align:right;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#54d3de}.outside-in-response-detail{margin-top:var(--spacing-md)}.outside-in-response-detail>summary{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--text-primary);cursor:pointer;padding:var(--spacing-sm) 0;list-style:disclosure-closed}.outside-in-response-detail[open]>summary{list-style:disclosure-open;margin-bottom:var(--spacing-md)}.outside-in-dimension-group{margin-bottom:var(--spacing-lg)}.outside-in-dimension-group-header{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:#eaff5f;margin:0 0 var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid rgba(234,255,95,.2)}.outside-in-question-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid rgba(255,255,255,.04)}.outside-in-question-num{flex:0 0 36px;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-muted)}.outside-in-question-text-detail{flex:1;font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.4}.outside-in-question-score{flex:0 0 24px;text-align:center;font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-muted)}@media(max-width:640px){.outside-in-spider-chart{flex-direction:column}.outside-in-layer-bar-label{flex:0 0 140px;font-size:var(--font-size-xs)}.outside-in-question-row{flex-wrap:wrap}.outside-in-question-text-detail{flex:1 1 calc(100% - 44px)}.outside-in-stepper{gap:4px;padding:var(--spacing-xs);justify-content:flex-start}.outside-in-stepper-dot{width:10px;height:10px}.outside-in-option-card{padding:8px 12px;min-height:48px}.outside-in-nav{flex-wrap:wrap;gap:10px}}.outside-in-loading-skeleton{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.outside-in-skeleton-bar{height:20px;background:linear-gradient(90deg,var(--bg-elevated) 25%,rgba(255,255,255,.08) 50%,var(--bg-elevated) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 1.5s infinite}.outside-in-skeleton-bar:nth-child(1){width:60%}.outside-in-skeleton-bar:nth-child(2){width:80%}.outside-in-skeleton-bar:nth-child(3){width:40%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.benefit-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:20px;margin-top:var(--space-xl);position:relative}.benefit-panel-title{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--text-primary);margin:0 0 var(--space-md)}.benefit-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.benefit-table{width:100%;border-collapse:collapse;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary)}.benefit-table thead{background:var(--bg-deep)}.benefit-table th,.benefit-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top}.benefit-table thead th{font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.benefit-phase-label{font-weight:var(--font-weight-semibold);color:var(--color-secondary)}.benefit-category-label{font-weight:var(--font-weight-medium);color:var(--text-secondary)}.benefit-table-row:hover{background:#ffffff05}.benefit-table-row th[scope=row]{font-weight:var(--font-weight-medium);color:var(--text-primary)}.benefit-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.benefit-driver{font-size:var(--font-size-xs);color:var(--text-muted);max-width:280px;line-height:1.4}.benefit-total-row{background:var(--bg-deep);border-top:2px solid var(--border-strong)}.benefit-total-row th,.benefit-total-row td{font-weight:var(--font-weight-bold);border-bottom:none}.benefit-total-value{color:var(--color-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.benefit-panel-empty{font-family:var(--font-family);font-weight:var(--font-weight-regular);font-size:var(--font-size-base);color:var(--text-muted);margin:0 0 var(--space-md);line-height:1.5}.benefit-panel-error{font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-error);margin:0 0 var(--space-sm)}.benefit-chart-wrapper{margin-top:var(--space-lg);padding:var(--space-lg) var(--space-md) var(--space-md);background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);position:relative;height:420px;min-height:340px}.benefit-chart-title{font-family:var(--font-family);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:#1a1a1a;margin:0 0 var(--space-sm)}.benefit-chart-wrapper canvas{width:100%!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.benefit-export-dropdown{position:relative;display:inline-block;margin-top:var(--space-md)}.benefit-export-btn{padding:var(--space-xs) var(--space-lg);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--bg-card);background:var(--color-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s ease,background .15s ease}.benefit-export-btn:hover:not(:disabled){opacity:.9}.benefit-export-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.benefit-export-btn--success{background:var(--color-success, #22c55e)}.benefit-export-menu{position:absolute;bottom:100%;left:0;margin-bottom:4px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;z-index:10;min-width:160px;padding:var(--space-xs) 0}.benefit-export-option{display:block;width:100%;padding:var(--space-xs) var(--space-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);background:transparent;border:none;text-align:left;cursor:pointer;transition:background .1s ease}.benefit-export-option:hover,.benefit-export-option:focus{background:#ffffff0d;outline:none}.benefit-export-container{background:#fff;color:#1a1a1a;font-family:system-ui,-apple-system,sans-serif}.benefit-export-container .benefit-panel{background:#fff;border:none;color:#1a1a1a}.benefit-export-container .benefit-panel-title,.benefit-export-container .benefit-table{color:#1a1a1a}.benefit-export-container .benefit-table thead{background:#f5f5f5}.benefit-export-container .benefit-table thead th{color:#333}.benefit-export-container .benefit-table th,.benefit-export-container .benefit-table td{border-bottom-color:#e0e0e0}.benefit-export-container .benefit-total-row{background:#f5f5f5;border-top-color:#333}.benefit-export-container .benefit-driver{color:#666}.benefit-export-container .benefit-phase-label{color:#2ba5b0}.benefit-export-container .benefit-category-label{color:#666}.benefit-export-container .benefit-total-value{color:#2ba5b0}@media(max-width:768px){.benefit-panel{padding:var(--space-md)}.benefit-table-wrapper{margin:0 calc(-1 * var(--space-md));padding:0 var(--space-md)}.benefit-table th[scope=row]{position:sticky;left:0;background:var(--bg-card);z-index:1}.benefit-table thead th:nth-child(3){position:sticky;left:0;background:var(--bg-deep);z-index:1}.benefit-driver{min-width:200px}}.benefit-accordion{margin-top:var(--space-lg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card)}.benefit-accordion-summary{padding:var(--space-sm) var(--space-md);font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-secondary);cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-sm);user-select:none}.benefit-accordion-summary::-webkit-details-marker{display:none}.benefit-accordion-summary:before{content:"▶";display:inline-block;transition:transform .2s ease;font-size:var(--font-size-xs)}.benefit-accordion[open]>.benefit-accordion-summary:before{transform:rotate(90deg)}.benefit-accordion-summary:hover{color:var(--color-primary)}.benefit-accordion-summary:focus-visible{outline:2px solid var(--color-secondary);outline-offset:-2px;border-radius:var(--radius-sm)}.benefit-accordion-content{padding:var(--space-md);border-top:1px solid var(--border-subtle)}.benefit-accordion-subsection{margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--bg-deep);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.benefit-accordion-subsection:last-child{margin-bottom:0}.benefit-accordion-subsection-title{font-family:var(--font-family);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary);margin:0 0 var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.benefit-accordion-empty{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.benefit-accordion-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-sm)}.benefit-accordion-kpi-item{display:flex;flex-direction:column;gap:2px}.benefit-accordion-kpi-label{font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--text-muted)}.benefit-accordion-kpi-value{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);font-variant-numeric:tabular-nums}.benefit-accordion-edit-btn{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-md);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-secondary);background:transparent;border:1px solid var(--color-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.benefit-accordion-edit-btn:hover{background:#ffffff0d}.benefit-accordion-score-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-sm)}.benefit-accordion-score-item{display:flex;flex-direction:column;gap:2px}.benefit-accordion-score-label{font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--text-muted)}.benefit-accordion-score-value{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-secondary)}.benefit-accordion-improvements-table{width:100%;border-collapse:collapse;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary)}.benefit-accordion-improvements-table th,.benefit-accordion-improvements-table td{padding:var(--space-xs) var(--space-sm);text-align:left;border-bottom:1px solid var(--border-subtle)}.benefit-accordion-improvements-table thead th{font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.benefit-override-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-md)}.benefit-override-field{display:flex;flex-direction:column;gap:var(--space-xs)}.benefit-override-label{font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.benefit-override-input-wrapper{display:flex;align-items:center;gap:4px}.benefit-override-prefix,.benefit-override-suffix{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-muted)}.benefit-override-input{width:100%;padding:var(--space-xs) var(--space-sm);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;transition:border-color .15s ease}.benefit-override-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 1px var(--color-secondary)}.benefit-override-input.benefit-override-invalid{border-color:var(--color-error)}.benefit-override-input.benefit-override-invalid:focus{box-shadow:0 0 0 1px var(--color-error)}.benefit-override-input.benefit-override-modified{font-weight:var(--font-weight-bold);border-color:var(--color-secondary);background:#ffffff08}.benefit-override-field .kpi-input-error{font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--color-error);margin-top:2px}.benefit-override-buttons{margin-top:var(--space-md);display:flex;gap:var(--space-sm)}.benefit-override-save-btn{padding:var(--space-xs) var(--space-lg);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--bg-card);background:var(--color-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s ease}.benefit-override-save-btn:hover:not(:disabled){opacity:.9}.benefit-override-save-btn:disabled{opacity:.5;cursor:not-allowed}.benefit-override-reset-btn{padding:var(--space-xs) var(--space-lg);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s ease}.benefit-override-reset-btn:hover:not(:disabled){border-color:var(--text-secondary)}.benefit-override-reset-btn:disabled{opacity:.5;cursor:not-allowed}.benefit-copy-btn-group{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm);justify-content:flex-end}.benefit-copy-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-md);background:transparent;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;min-height:32px}.benefit-copy-btn:hover{background:#54d3de1a;border-color:var(--color-secondary);color:var(--text-primary)}.benefit-copy-btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.benefit-copy-btn.copied{border-color:var(--color-success);color:var(--color-success)}@media(prefers-reduced-motion:reduce){.benefit-table-row{transition:none}.benefit-accordion-summary:before{transition:none}.benefit-override-input,.benefit-override-save-btn,.benefit-override-reset-btn,.benefit-copy-btn{transition:none}}
