:root{--color-primary: #0066ff;--color-primary-light: #3384ff;--color-primary-dark: #0052cc;--color-primary-50: #f0f6ff;--color-primary-100: #e1edff;--color-primary-500: #0066ff;--color-primary-600: #0052cc;--color-primary-700: #003d99;--color-secondary: #666666;--color-secondary-light: #888888;--color-secondary-dark: #444444;--color-success: #00a040;--color-success-light: #00cc52;--color-success-dark: #007a30;--color-warning: #ff9800;--color-warning-light: #ffb84d;--color-warning-dark: #cc7700;--color-error: #d32f2f;--color-error-light: #ff5252;--color-error-dark: #b71c1c;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #eeeeee;--color-gray-300: #e0e0e0;--color-gray-400: #bdbdbd;--color-gray-500: #9e9e9e;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424242;--color-gray-900: #212121;--color-background: #ffffff;--color-background-secondary: #fafafa;--color-background-tertiary: #f5f5f5;--color-background-hover: #f5f5f5;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-subtle: #fafafa;--color-text-primary: #333333;--color-text-secondary: #666666;--color-text-tertiary: #999999;--color-text-inverse: #ffffff;--color-text-link: #0066ff;--color-border: #e0e0e0;--color-border-light: #f0f0f0;--color-border-strong: #cccccc;--color-border-focus: #0066ff;--font-family-body: "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-heading: "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "Consolas", "Monaco", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.4;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--spacing-4xl: 4rem;--border-radius-sm: .125rem;--border-radius-md: .25rem;--border-radius-lg: .375rem;--border-radius-xl: .5rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .15);--shadow-md: 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .15), 0 4px 8px rgba(0, 0, 0, .08);--transition-fast: .15s ease-out;--transition-normal: .25s ease-out;--transition-slow: .35s ease-out;--header-height: 3.5rem;--sidebar-width: 16rem;--container-max-width: 1200px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{box-sizing:border-box}html{scroll-behavior:smooth;background-color:#fff!important;color-scheme:light only}body{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:#fff!important;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt" 1;letter-spacing:.02em;color-scheme:light only}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0;letter-spacing:.01em}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-normal)}a{color:var(--color-text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}a:focus{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--border-radius-sm)}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:var(--color-text-primary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #0066ff1a}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-background-secondary);color:var(--color-text-tertiary);cursor:not-allowed}button{font-family:inherit;font-size:inherit;font-weight:var(--font-weight-medium);line-height:inherit;cursor:pointer;border:none;border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:2.5rem}button:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md)}@media (max-width: 768px){.container{padding:0 var(--spacing-sm)}}@media (max-width: 768px){html{font-size:14px}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--color-border: #000000;--color-text-secondary: #000000}}.container-custom{max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container-custom{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.container-custom{padding-left:2rem;padding-right:2rem}}.container-hero{max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}@media (min-width: 640px){.container-hero{padding-left:2rem;padding-right:2rem}}@media (min-width: 1024px){.container-hero{padding-left:3rem;padding-right:3rem}}.section-padding{padding-top:4rem;padding-bottom:4rem}@media (min-width: 768px){.section-padding{padding-top:6rem;padding-bottom:6rem}}.section-padding-hero{padding-top:3rem;padding-bottom:3rem}@media (min-width: 768px){.section-padding-hero{padding-top:4rem;padding-bottom:4rem}}.font-enterprise{font-family:Noto Sans JP,sans-serif}.font-smb{font-family:Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,sans-serif}.font-personal{font-family:Yu Gothic,YuGothic,Meiryo,sans-serif}#root{width:100%;margin:0 auto;padding:0}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background)!important;color-scheme:light only}.app-header{background:var(--color-surface)!important;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1200;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;color-scheme:light only}.app-header__content{width:100%;padding:0 var(--spacing-lg);height:var(--header-height);display:flex;justify-content:space-between;align-items:center;position:relative;flex-shrink:0}.app-header__stepper-inline{position:absolute;right:80px;top:50%;transform:translateY(-50%);display:flex;align-items:center;z-index:1}.app-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;margin:0;flex-shrink:0;letter-spacing:-.5px;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;text-decoration:none}.app-title:hover{transform:translate(2px);filter:brightness(1.1)}.app-title:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#06f,#0052cc);transition:width var(--transition-normal)}.app-title:hover:after{width:100%}.security-mode-indicator{font-size:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.app-title span{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-separator{margin:0 .5rem}.evaluation-title{font-size:inherit;font-weight:inherit;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.title-edit-button{all:unset;background:none;border:none;padding:.25rem;cursor:pointer;opacity:0;transition:opacity .2s;display:inline-flex;align-items:center;margin-left:.5rem;-webkit-text-fill-color:initial}.title-edit-button svg{width:1rem;height:1rem;stroke:var(--color-text-secondary)}.app-title:hover .title-edit-button{opacity:1}.title-edit-button:hover svg{stroke:var(--color-primary)}.title-edit-input{font-size:inherit;font-weight:inherit;color:var(--color-text-primary);background:var(--color-surface);border:2px solid var(--color-primary);border-radius:4px;padding:.25rem .5rem;outline:none;min-width:200px;max-width:400px}.app-nav .button.active{background:var(--color-primary);color:var(--color-text-inverse)}.user-info{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0;background-color:transparent!important;color:var(--color-text-primary)!important}.user-info__name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);white-space:nowrap}.app-content{flex:1;padding:0;position:relative;background-color:var(--color-surface-light)!important;color-scheme:light only}.back-to-dashboard{position:fixed!important;bottom:var(--spacing-xl);left:var(--spacing-xl);z-index:var(--z-popover);min-width:auto;white-space:nowrap;box-shadow:var(--shadow-lg);border-radius:var(--border-radius-xl);padding:var(--spacing-md) var(--spacing-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);background:var(--color-primary);color:var(--color-text-inverse);border:none;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:var(--spacing-sm)}.back-to-dashboard:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.back-to-dashboard:active{transform:translateY(0)}.back-to-dashboard .button-icon{font-size:var(--font-size-base);transition:transform var(--transition-fast)}.back-to-dashboard:hover .button-icon{transform:translate(-1px)}.evaluation-auto-save{position:fixed;top:calc(var(--header-height) + var(--spacing-md));right:var(--spacing-md);z-index:var(--z-sticky);font-size:var(--font-size-sm);color:var(--color-text-muted)}.settings-workspace{min-height:calc(100vh - 100px);position:relative}.settings-header{padding:1rem 2rem;background:transparent}.app-main{flex:1;padding:var(--spacing-xl) 0}.app-main__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xl)}.app-footer{background-color:var(--color-surface-light)!important;border-top:1px solid var(--color-border);margin-top:auto;color-scheme:light only}.app-footer__container{max-width:var(--container-max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-md)}.app-footer__content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.app-footer__legal{display:flex;align-items:center;gap:var(--spacing-sm)}.app-footer__link{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}.app-footer__link:hover{color:var(--color-primary);text-decoration:underline}.app-footer__separator{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.app-footer__text{margin:0;font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center}.evaluation-workspace{max-width:1200px;margin:0 auto;padding:.5rem 2rem 2rem;min-height:calc(100vh - 200px);position:relative}.menu-toggle{display:flex!important;padding:.5rem;min-width:auto;margin-left:auto}.menu-toggle svg{width:1.5rem;height:1.5rem}.mobile-menu{position:absolute;top:100%;right:0;width:280px;height:100vh;background:#fff;border-left:1px solid var(--color-border);box-shadow:-2px 0 10px #0000001a;z-index:1050;animation:slideInRight .3s ease-out;overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu__user{padding:1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-background-secondary)}.mobile-menu__nav{display:flex;flex-direction:column;padding:1rem;gap:.5rem}.mobile-menu__nav .button{width:100%;justify-content:flex-start;text-align:left;padding:.75rem 1rem}.mobile-menu__nav .button.active{background:var(--color-primary);color:#fff}.mobile-menu__language{padding:1rem 0;border-top:1px solid var(--color-border);margin:.5rem 0}.mobile-menu__language-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.mobile-menu__language .language-select{width:100%}.mobile-menu__color-palette{padding:1rem 0;border-bottom:1px solid var(--color-border);margin:.5rem 0}.mobile-menu__color-palette-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.mobile-menu-overlay{position:absolute;top:100%;left:0;right:0;height:100vh;background:#0000004d;z-index:1040;animation:fadeIn .3s ease-out}@media (max-width: 768px){.app-header{padding:1rem}.app-header__content{gap:1rem}.app-header__stepper-inline{display:none}.app-title{font-size:1.25rem}.evaluation-workspace{padding:.5rem 1rem 1rem}.back-to-dashboard{bottom:1.5rem;left:1.5rem;padding:.875rem 1.25rem;font-size:.8rem}}@media (max-width: 480px){.back-to-dashboard{bottom:1rem;left:1rem;padding:.75rem 1rem;font-size:.75rem}}@media print{.app-header,.app-footer,.back-to-dashboard{display:none}}.app-header__content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.app-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.user-info{display:flex;align-items:center;gap:1rem}.user-info span{color:var(--color-text-primary);font-weight:500}.app-content{flex:1;padding:0}.app-main{flex:1;padding:var(--spacing-xl) 0;text-align:center;background-color:var(--color-background)}.app-main__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;flex-direction:column;text-align:center;gap:var(--spacing-xl)}.app-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);margin-top:auto}.app-footer__container{max-width:1200px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md);text-align:center}.app-footer__text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.evaluation-workspace{max-width:1200px;margin:0 auto;padding:2rem}.evaluation-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.section{background-color:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.section__header{margin-bottom:var(--spacing-md)}.section__title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.section__description{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.form{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.form__row{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form__grid{display:grid;grid-template-columns:1fr 2fr auto;gap:var(--spacing-lg);align-items:end}.form__grid-item{display:flex;flex-direction:column}.form__grid-item--button{padding-top:var(--spacing-md)}.form__grid-item--button .button{height:40px}@media (max-width: 768px){.form__grid{grid-template-columns:1fr;gap:var(--spacing-md)}.form__grid-item--button{padding-top:0}}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl)}.empty-state__title{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.empty-state__description{margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:400px;margin-left:auto;margin-right:auto}.empty-state__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.alert{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg)}.alert--error{background-color:var(--color-error-light);border:1px solid var(--color-error-light);color:var(--color-error-dark)}.alert__content strong{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-semibold)}.alert__content p{margin:0;font-size:var(--font-size-sm)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--color-surface-light)}.loading-container p{color:var(--color-text-secondary);font-size:1rem;margin:0}.evaluation-header-controls{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 1rem;gap:1rem;border-top:1px solid var(--color-border);background:var(--color-surface-light)}.header-auto-save{margin-left:auto}.progress-bar-toggle{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.progress-bar-toggle:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.title-edit-button{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;margin-left:.5rem;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.title-edit-button:hover{background:var(--color-bg-hover);color:var(--color-primary)}.title-edit-input{background:var(--color-bg);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);padding:.25rem .5rem;font-size:inherit;font-weight:inherit;color:var(--color-text);min-width:200px;max-width:400px}@media (max-width: 768px){.evaluation-header-controls{padding:4px .5rem;gap:.5rem}}:root{--color-primary: #3b82f6;--color-primary-dark: #1d4ed8;--color-primary-light: #93c5fd;--color-secondary: #10b981;--color-secondary-light: #6ee7b7;--color-success: #10b981;--color-success-light: rgba(16, 185, 129, .1);--color-success-dark: #047857;--color-warning: #f59e0b;--color-warning-light: rgba(245, 158, 11, .1);--color-warning-dark: #d97706;--color-error: #ef4444;--color-error-light: rgba(239, 68, 68, .1);--color-error-dark: #b91c1c;--color-background: #ffffff;--color-background-secondary: #f8fafc;--color-background-tertiary: #f1f5f9;--color-background-hover: #f1f5f9;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-subtle: #f8fafc;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-inverse: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out;--z-dropdown: 100;--z-modal: 200;--z-tooltip: 300;--color-grade-a: #10b981;--color-grade-b: #3b82f6;--color-grade-c: #f59e0b;--color-grade-d: #ef4444}html,body{color-scheme:light only!important;background-color:#fff!important}@media (max-width: 768px){.app-header__content{padding:var(--spacing-md);flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.app-title{font-size:var(--font-size-xl)}.app-main__container{padding:0 var(--spacing-sm);gap:var(--spacing-lg)}.section{padding:var(--spacing-lg)}.stepper__list{flex-direction:column;gap:var(--spacing-sm)}.stepper__item{flex-direction:column}.stepper__connector{display:none}.product-grid,.criteria-grid{grid-template-columns:1fr}.description-input-row,.description-actions{flex-direction:column}.product-card__header{flex-direction:column;align-items:flex-start}.step-navigation{flex-direction:column-reverse;gap:var(--spacing-md)}.step-navigation__spacer{display:none}.evaluation-area{grid-template-columns:1fr;gap:1rem}.products-panel{order:2}.evaluation-line-container{order:1}.criterion-tabs{flex-direction:column}.criterion-tab{min-width:unset}.grade-boundary{flex-direction:column;align-items:stretch}.evaluation-progress__summary{flex-direction:column;gap:.5rem;align-items:flex-start}}@media (max-width: 480px){.app-header__content{padding:var(--spacing-sm)}.app-main__container{padding:0 var(--spacing-xs)}.section{padding:var(--spacing-md);border-radius:var(--border-radius-md)}.stepper{padding:var(--spacing-md)}}@media (prefers-reduced-motion: reduce){.product-card,.criterion-card{transition:none}.product-card:hover,.criterion-card:hover{transform:none}.stepper__button,.evaluation-line__item,.grade-boundary-marker{transition:none}}@media print{.app-header,.app-footer,.stepper,.step-navigation{display:none}.section{box-shadow:none;border:1px solid var(--color-text-primary);margin-bottom:1rem}.product-card,.criterion-card{box-shadow:none;border:1px solid var(--color-text-primary)}}@media (prefers-contrast: high){:root{--color-border: var(--color-text-primary);--color-text-secondary: var(--color-text-primary);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3)}}.stepper__button:focus,.product-card:focus,.criterion-card:focus,.evaluation-line__item:focus{outline:2px solid var(--color-primary);outline-offset:2px}.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}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-background-secondary)}.border-primary{border-color:var(--color-primary)}.border-error{border-color:var(--color-error)}.border-success{border-color:var(--color-success)}.rounded{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.shadow{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-4{margin-bottom:var(--spacing-md)}.mb-6{margin-bottom:var(--spacing-lg)}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-4{margin-top:var(--spacing-md)}.mt-6{margin-top:var(--spacing-lg)}.p-2{padding:var(--spacing-sm)}.p-4{padding:var(--spacing-md)}.p-6{padding:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--spacing-sm)}.gap-4{gap:var(--spacing-md)}.w-full{width:100%}.h-full{height:100%}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.fade-in{animation:fadeIn .3s ease-in-out}.fade-out{animation:fadeOut .3s ease-in-out}.slide-in-up{animation:slideInUp .3s ease-out}.slide-in-down{animation:slideInDown .3s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.stepper{background-color:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.app-header__stepper-inline .stepper{background-color:transparent;box-shadow:none;padding:0;margin:0}.app-header__stepper-inline .stepper__list{gap:.25rem}.app-header__stepper-inline .stepper__item:not(:last-child):after{top:.875rem;left:calc(50% + .875rem);width:calc(100% - 1.75rem);height:1px}.app-header__stepper-inline .stepper__button{padding:var(--spacing-xs);gap:0;position:relative}.app-header__stepper-inline .stepper__number{width:1.75rem;height:1.75rem;font-size:.75rem}.app-header__stepper-inline .stepper__title{display:none}.app-header__stepper-inline .stepper__button:hover .stepper__title{display:block;position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);white-space:nowrap;z-index:10;margin-top:var(--spacing-xs);box-shadow:var(--shadow-sm)}.stepper__progress{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.stepper__progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.stepper__progress-label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-base)}.stepper__progress-percentage{font-weight:var(--font-weight-bold);color:var(--color-primary);font-size:var(--font-size-lg)}.stepper__progress-bar{height:12px;background:var(--color-background-secondary);border-radius:6px;overflow:hidden;margin-bottom:var(--spacing-sm);box-shadow:inset 0 2px 4px #0000001a}.stepper__progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:6px;transition:width .5s ease-in-out;box-shadow:0 2px 4px #3b82f64d}.stepper__progress-details{display:flex;justify-content:center}.stepper__progress-detail{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;font-weight:var(--font-weight-medium)}.stepper__list{list-style:none;margin:0;padding:0;display:flex;gap:var(--spacing-md);position:relative}.stepper__item{flex:1;position:relative;display:flex;flex-direction:column;align-items:center}.stepper__item:not(:last-child):after{content:"";position:absolute;top:1.25rem;left:calc(50% + 1.25rem);width:calc(100% - 2.5rem);height:2px;background-color:var(--color-border);z-index:-1}.stepper__button{background:none;border:none;padding:var(--spacing-md);cursor:pointer;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);border-radius:var(--border-radius-md);transition:all var(--transition-fast);text-align:center}.stepper__button:hover:not(:disabled){background-color:var(--color-background-secondary)}.stepper__button:disabled{cursor:not-allowed;opacity:.6}.stepper__number{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0}.stepper__text{display:flex;flex-direction:column;gap:var(--spacing-xs);text-align:center}.stepper__title{font-weight:var(--font-weight-medium);font-size:var(--font-size-base)}.stepper__description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stepper__item--current .stepper__number{background-color:var(--color-secondary);color:var(--color-text-inverse)}.stepper__item--current .stepper__title{color:var(--color-secondary)}.stepper__item--completed .stepper__number{background-color:var(--color-success);color:var(--color-text-inverse)}.stepper__item--completed:not(:last-child):after{background-color:var(--color-success)}.stepper__item--available .stepper__number{background-color:var(--color-background-secondary);color:var(--color-text-primary);border:2px solid var(--color-secondary)}.stepper__item--available .stepper__button:hover:not(:disabled) .stepper__number{background-color:var(--color-secondary-light);color:var(--color-text-inverse)}.stepper__item--pending .stepper__number{background-color:var(--color-background-tertiary);color:var(--color-text-tertiary);border:2px solid var(--color-border)}.step-navigation{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.step-navigation__spacer{flex:1}@media (prefers-reduced-motion: reduce){.stepper__button{transition:none}}@media print{.stepper,.step-navigation{display:none}}.product-grid-container{max-height:60vh;overflow-y:auto;overflow-x:hidden;border:1px solid var(--color-border);border-radius:12px;padding:var(--spacing-lg);background:var(--color-background-secondary);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.product-grid-container::-webkit-scrollbar{width:8px}.product-grid-container::-webkit-scrollbar-track{background:transparent}.product-grid-container::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px;border:2px solid transparent;background-clip:content-box}.product-grid-container::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-hover)}.product-grid-container .product-grid{margin-bottom:0}.bottom-actions{position:fixed;bottom:var(--spacing-xl);left:50%;transform:translate(-50%);display:flex;gap:var(--spacing-md);background:var(--color-background);padding:var(--spacing-md);border-radius:16px;border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:100}.bottom-action-button{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s ease;color:var(--color-text-primary);font-size:.75rem;font-weight:500;min-width:80px;text-align:center}.bottom-action-button:hover{background:var(--color-background-hover);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--color-primary)}.bottom-action-button svg{width:20px;height:20px}@media (max-width: 768px){.bottom-actions{bottom:var(--spacing-lg);gap:var(--spacing-sm);padding:var(--spacing-sm)}.bottom-action-button{min-width:70px;padding:var(--spacing-xs) var(--spacing-sm);font-size:.7rem}.bottom-action-button svg{width:18px;height:18px}}.section__header-content{width:100%}.section__header-actions{width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);justify-content:center;width:100%;max-width:900px;margin:0 auto}@media (max-width: 768px){.product-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}@media (max-width: 480px){.product-grid{grid-template-columns:1fr;gap:var(--spacing-md)}}.product-card{background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast);position:relative;-webkit-user-select:none;user-select:none;width:100%;aspect-ratio:1 / 1;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.product-card--editing{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.2);z-index:10;cursor:default}.product-card--editing .product-card__header{display:none}.product-card__edit-form{display:flex;flex-direction:column;gap:var(--spacing-sm);height:100%}.product-card__edit-field{width:100%}.product-card__edit-actions{display:flex;gap:var(--spacing-sm);margin-top:auto}.product-card__edit-btn{flex:1;padding:var(--spacing-sm);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.product-card:not(.product-card--editing):hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px) scale(1.02)}.product-card:hover .product-card__overlay{opacity:1;border-radius:inherit}.product-card__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;height:100%;position:relative;padding:var(--spacing-md)}.product-card__detail{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;text-align:center;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__overlay{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast);border-radius:inherit;margin:0;padding:0}.product-card__actions{display:flex;gap:var(--spacing-md)}.icon-button{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--spacing-xs);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text-primary);box-shadow:var(--shadow-md)}.icon-button:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.product-card__overlay .icon-button{background:#fff;width:48px;height:48px}.product-card__overlay .icon-button svg{width:24px;height:24px}.icon-button--sm{width:24px;height:24px;padding:4px}.icon-button--danger:hover{background:var(--color-error);border-color:var(--color-error)}.product-card--add{border:2px dashed var(--color-primary);background:rgba(var(--color-primary-rgb),.05);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;position:relative;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{border-color:var(--color-primary)}50%{border-color:rgba(var(--color-primary-rgb),.5)}}.product-card--add:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.2);animation:none}.product-card__add-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--color-primary);transition:color var(--transition-fast);font-weight:500}.product-card__add-icon svg{width:3rem;height:3rem;stroke-width:2}.product-card__add-text{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.quick-input-container{background:var(--color-surface-light);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm)}.quick-input-wrapper{display:flex;gap:var(--spacing-md);align-items:center}.quick-input{flex:1;padding:var(--spacing-md) var(--spacing-lg);background:#fff;border:2px solid transparent;border-radius:var(--border-radius-lg);font-size:var(--font-size-md);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.quick-input:hover:not(:focus){border-color:var(--color-border-strong);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.quick-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.1),0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-1px)}.quick-input::placeholder{color:var(--color-text-tertiary);font-weight:400;opacity:.7}.quick-input-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.encryption-indicator{margin-left:var(--spacing-xs);font-size:.8rem;opacity:.7}.product-list__title{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.product-list__empty-hint{text-align:center;margin-bottom:var(--spacing-lg)}.product-list__empty-text{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0;animation:bounce 2s ease-in-out infinite}.security-badge{font-size:.8rem;color:var(--color-primary);margin-left:var(--spacing-sm)}.view-toggle-container{display:flex;justify-content:center;margin-top:var(--spacing-xl)}.view-toggle{display:flex;gap:var(--spacing-xs);background:var(--color-surface);padding:var(--spacing-xs);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.view-toggle-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary)}.view-toggle-button:hover{background:var(--color-surface-light);color:var(--color-text-primary)}.view-toggle-button.active{background:var(--color-primary);color:#fff}.import-export-container{display:flex;justify-content:center;gap:var(--spacing-xl);margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-background-secondary);border-radius:var(--border-radius-lg)}.import-export-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-export-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;text-align:center}.import-export-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.import-export-button{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-primary);min-width:80px}.import-export-button:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #4f46e533}.import-export-button svg{width:20px;height:20px}.import-export-button span{font-size:var(--font-size-xs);font-weight:500;white-space:nowrap}@media (max-width: 768px){.import-export-container{flex-direction:column;gap:var(--spacing-lg)}}.section__actions{display:flex;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-background-secondary);border-radius:12px;border:1px solid var(--color-border)}.icon-action-button{width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-fast)}.icon-action-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.section__title-wrapper{text-align:center;margin:var(--spacing-xl) 0}.section__title--centered{font-size:1.75rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.section__description--centered{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0 auto;max-width:600px}.criteria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);justify-content:center;width:100%;max-width:900px;margin:0 auto}@media (max-width: 768px){.criteria-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}}@media (max-width: 480px){.criteria-grid{grid-template-columns:1fr;gap:var(--spacing-md)}}.criterion-card{background:var(--color-background);border:4px solid var(--color-secondary);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all var(--transition-fast);position:relative;-webkit-user-select:none;user-select:none;width:100%;aspect-ratio:1 / 1;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.criterion-card--editing{border-color:var(--color-secondary-dark);box-shadow:0 0 0 4px rgba(var(--color-secondary-rgb),.2);z-index:10;cursor:default;background:var(--color-surface-light)}.criterion-card--editing .criterion-card__content{display:none}.criterion-card__edit-form{display:flex;flex-direction:column;gap:var(--spacing-sm);height:100%}.criterion-card__edit-field{width:100%}.criterion-card__edit-actions{display:flex;gap:var(--spacing-sm);margin-top:auto}.criterion-card__edit-btn{flex:1;padding:var(--spacing-sm);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.criterion-card:not(.criterion-card--editing):hover{border-color:var(--color-secondary-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px) scale(1.02)}.criterion-card:hover .criterion-card__overlay{opacity:1;border-radius:inherit}.criterion-card__content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;height:100%;position:relative;padding:var(--spacing-md)}.criterion-card__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-secondary-dark);line-height:1.3;text-align:center;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.criterion-card__description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.criterion-card__overlay{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast);border-radius:inherit;margin:0;padding:0}.criterion-card__actions{display:flex;gap:var(--spacing-md)}.criterion-action-button{background:#fff;border:2px solid white;border-radius:var(--border-radius-sm);padding:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--color-secondary);box-shadow:var(--shadow-md)}.criterion-action-button:hover{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.criterion-action-button--delete:hover{background:var(--color-error);border-color:var(--color-error)}.criterion-action-button svg{width:24px;height:24px}.criterion-card--add{border:4px dashed var(--color-secondary-light);background:rgba(var(--color-secondary-rgb),.05);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;position:relative;animation:pulse-secondary 2s ease-in-out infinite}@keyframes pulse-secondary{0%,to{border-color:var(--color-secondary-light)}50%{border-color:var(--color-secondary)}}.criterion-card--add:hover{border-color:var(--color-secondary);background:rgba(var(--color-secondary-rgb),.1);transform:translateY(-2px) scale(1.02);box-shadow:0 4px 12px rgba(var(--color-secondary-rgb),.2);animation:none}.criterion-card__add-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--color-secondary);transition:color var(--transition-fast);font-weight:600}.criterion-card__add-icon svg{width:3rem;height:3rem;stroke-width:2.5}.criterion-card__add-text{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.criteria-list__title{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.criteria-list__empty-hint{text-align:center;margin-bottom:var(--spacing-lg)}.criteria-list__empty-text{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.criteria-quick-input{max-width:1600px;margin:0 auto var(--spacing-xl)}.criteria-input-form__content{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.criteria-input-form__header{text-align:center;margin-bottom:1.5rem}.criteria-input-form__title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.criteria-input-form__subtitle{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.criteria-descriptions-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.description-input-row{display:flex;gap:.75rem;align-items:flex-start}.description-input-wrapper{flex:1}.description-textarea{width:100%;min-height:100px;resize:vertical;padding:var(--spacing-md) var(--spacing-lg);background:#fff;border:2px solid transparent;border-radius:var(--border-radius-lg);font-size:var(--font-size-md);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;line-height:1.5}.description-textarea:hover:not(:focus){border-color:var(--color-border-strong);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.description-textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 4px rgba(var(--color-secondary-rgb),.1),0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-1px)}.description-textarea::placeholder{color:var(--color-text-tertiary);font-weight:400;opacity:.7}.description-remove-button{background:#fef2f2;border:1px solid #FEE2E2;border-radius:6px;padding:.5rem;color:#dc2626;cursor:pointer;transition:all .2s ease;margin-top:1.75rem;display:flex;align-items:center;justify-content:center}.description-remove-button:hover{background:#dc2626;color:#fff;border-color:#dc2626}.description-remove-button svg{width:16px;height:16px}.criteria-form-actions{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.add-description-button,.extract-criteria-button{min-width:140px;font-weight:600}.criterion-descriptions-container{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.criterion-description-item{position:relative;padding-left:12px;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.criterion-description-item:before{content:"•";position:absolute;left:0;color:var(--color-secondary);font-weight:700}.modern-input,.modern-textarea{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-background);border:2px solid transparent;border-radius:var(--border-radius-lg);font-size:var(--font-size-md);font-family:inherit;color:var(--color-text-primary);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;position:relative}.modern-input:hover:not(:focus),.modern-textarea:hover:not(:focus){border-color:var(--color-border-strong);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.modern-input:focus,.modern-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.1),0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-1px)}.modern-input::placeholder,.modern-textarea::placeholder{color:var(--color-text-tertiary);font-weight:400;opacity:.7}.modern-textarea{resize:vertical;min-height:100px;line-height:1.5}.product-card__edit-input{padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:2px solid var(--color-surface-light);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000000f}.product-card__edit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1),inset 0 2px 4px #0000000f;background:#fff}.product-card__edit-textarea{padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:2px solid var(--color-surface-light);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);resize:vertical;min-height:80px;line-height:1.5;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000000f}.product-card__edit-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1),inset 0 2px 4px #0000000f;background:#fff}.criterion-card__edit-input{padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:2px solid var(--color-secondary-light);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px rgba(var(--color-secondary-rgb),.06)}.criterion-card__edit-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(var(--color-secondary-rgb),.15),inset 0 2px 4px rgba(var(--color-secondary-rgb),.06);background:#fff}.criterion-card__edit-textarea{padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:2px solid var(--color-secondary-light);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);resize:vertical;min-height:80px;line-height:1.5;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px rgba(var(--color-secondary-rgb),.06)}.criterion-card__edit-textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(var(--color-secondary-rgb),.15),inset 0 2px 4px rgba(var(--color-secondary-rgb),.06);background:#fff}.product-card__edit-btn,.criterion-card__edit-btn{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.product-card__edit-btn:before,.criterion-card__edit-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.product-card__edit-btn:active:before,.criterion-card__edit-btn:active:before{width:300px;height:300px}.product-card__edit-btn--save{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));box-shadow:0 4px 6px -1px rgba(var(--color-primary-rgb),.3)}.product-card__edit-btn--save:hover{transform:translateY(-1px);box-shadow:0 8px 10px -1px rgba(var(--color-primary-rgb),.4)}.criterion-card__edit-btn--save{background:linear-gradient(135deg,var(--color-secondary),var(--color-secondary-dark));box-shadow:0 4px 6px -1px rgba(var(--color-secondary-rgb),.3)}.criterion-card__edit-btn--save:hover{transform:translateY(-1px);box-shadow:0 8px 10px -1px rgba(var(--color-secondary-rgb),.4)}.product-card__edit-btn--cancel,.criterion-card__edit-btn--cancel{background:#fff;box-shadow:0 1px 3px #0000001a}.product-card__edit-btn--cancel:hover,.criterion-card__edit-btn--cancel:hover{background:var(--color-surface-light);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.input-field-group{position:relative;margin-bottom:var(--spacing-md)}.input-field-label{position:absolute;top:-8px;left:12px;background:#fff;padding:0 6px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);transition:all .2s ease;pointer-events:none;opacity:0}.modern-input:focus~.input-field-label,.modern-textarea:focus~.input-field-label,.modern-input:not(:placeholder-shown)~.input-field-label,.modern-textarea:not(:placeholder-shown)~.input-field-label{opacity:1;color:var(--color-primary)}.modern-input--error,.modern-textarea--error{border-color:var(--color-error);background:rgba(var(--color-error-rgb),.02)}.modern-input--error:focus,.modern-textarea--error:focus{border-color:var(--color-error);box-shadow:0 0 0 4px rgba(var(--color-error-rgb),.1)}.modern-input:disabled,.modern-textarea:disabled{background:var(--color-surface-light);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.7}@keyframes input-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.input-shake{animation:input-shake .5s ease-in-out}.evaluation-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:var(--shadow-sm)}.evaluation-header__content{max-width:1200px;margin:0 auto}.evaluation-header__display{display:flex;align-items:center;gap:1rem}.evaluation-header__title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0;flex:1}.evaluation-header__edit{display:flex;align-items:center;gap:1rem;max-width:600px}.evaluation-header__edit-actions{display:flex;gap:.5rem}.evaluation-title-section{background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.evaluation-title-section__hint{font-size:.875rem;color:var(--color-text-secondary);margin-top:.5rem;margin-bottom:0}.comparison-evaluation{display:flex;flex-direction:column;gap:2rem;margin-bottom:2rem;width:100%;padding:0 1rem}.criterion-selector{margin-bottom:.25rem;width:100%;display:flex;flex-direction:column;align-items:center}.criterion-selector__title{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary);text-align:center}.criterion-tabs{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;width:100%;max-width:1200px}.criterion-tab{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:.75rem 1rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;min-width:200px;text-align:center;color:var(--color-text-primary)}.criterion-tab:hover{background:var(--color-background-secondary);border-color:var(--color-primary);color:var(--color-primary)}.criterion-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.criterion-tab__title{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.criterion-tab__progress-bar{position:absolute;top:0;left:0;right:0;bottom:0;background-color:transparent;overflow:hidden;z-index:0;pointer-events:none;border-radius:8px}.criterion-tab__progress-fill{height:100%;background-color:#3b82f61a;transition:width .3s ease;position:relative}.criterion-tab.sufficient .criterion-tab__progress-fill{background-color:#10b9811a}.criterion-tab__progress,.criterion-tab__grades{font-size:.75rem;opacity:.8}.criterion-selector--inline{position:absolute;bottom:10px;left:0;right:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:.25rem}.criterion-selector--inline .criterion-selector__label{font-size:.7rem;color:var(--color-text-secondary);font-weight:500}.criterion-selector--inline .criterion-tabs{gap:.25rem;justify-content:center}.criterion-selector--inline .criterion-tab{padding:.3rem .6rem;font-size:.75rem;min-width:200px;background:#fff;border:1px solid var(--color-border);color:var(--color-text-primary)}.criterion-selector--inline .criterion-tab:hover{background:var(--color-background-secondary);border-color:var(--color-primary);color:var(--color-primary)}.criterion-selector--inline .criterion-tab.active{background:var(--color-primary);border-color:var(--color-primary)}.current-criterion{background:var(--color-background-secondary);padding:2rem;border-radius:12px;border:1px solid var(--color-border);width:100%}.current-criterion__title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:var(--color-primary)}.current-criterion__descriptions{display:flex;gap:.5rem;flex-wrap:wrap}.criterion-description-tag{background:var(--color-background);color:var(--color-text-secondary);padding:.25rem .75rem;border-radius:16px;font-size:.875rem;border:1px solid var(--color-border)}.evaluation-area{display:flex;flex-direction:column;gap:0;min-height:auto;width:100%}.products-panel{background:var(--color-background-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--color-border);max-height:700px;display:flex;flex-direction:column;width:280px;min-width:280px;max-width:280px}.products-panel__title{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text-primary)}.products-panel__hint{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1rem;padding:.75rem;background:var(--color-background);border-radius:8px;border-left:4px solid var(--color-primary)}.product-items{display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;overflow-x:hidden;max-height:450px;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.product-items::-webkit-scrollbar{width:6px}.product-items::-webkit-scrollbar-track{background:transparent}.product-items::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.product-items::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.products-panel--horizontal{width:100%;max-width:none;margin-top:0;max-height:none}.products-panel--horizontal .products-panel__title{text-align:center}.products-panel--horizontal .products-panel__hint{text-align:center;max-width:600px;margin:0 auto 1rem}.product-items--horizontal{flex-direction:row;overflow-x:auto;overflow-y:hidden;max-height:none;padding:.5rem 1rem;gap:1rem;justify-content:flex-start;flex-wrap:nowrap}.product-items--horizontal .product-card{flex:0 0 10vw!important;width:10vw!important;min-width:80px!important;max-width:10vw!important;height:120px;padding:.5rem;display:flex;align-items:center;justify-content:center;position:relative;transition:all .2s ease}.product-items--horizontal .product-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;opacity:0;transition:opacity .2s ease;z-index:5;border-radius:8px}.product-items--horizontal .product-card:hover:before{opacity:1}.product-items--horizontal .product-card__header{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;position:relative}.product-items--horizontal .product-card__title{font-size:.8rem;-webkit-line-clamp:2;line-clamp:2;line-height:1.2;text-align:center;width:100%;padding:0 2px;margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.product-items--horizontal .product-card:hover .product-card__title{opacity:.1}.product-items--horizontal .product-card__detail,.product-items--horizontal .product-card__metadata{display:none}.product-items--horizontal .product-card__actions{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none;gap:.25rem;z-index:10}.product-items--horizontal .product-card:hover .product-card__actions{display:flex}.product-items--horizontal .icon-button{width:28px;height:28px;font-size:.75rem;transition:all .2s ease}.product-items--horizontal .icon-button:hover{transform:scale(1.1)}.product-items--horizontal::-webkit-scrollbar{height:6px}.product-items--horizontal::-webkit-scrollbar-track{background:transparent}.product-items--horizontal::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.product-items--horizontal::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.evaluation-line-container{position:relative;display:flex;flex-direction:column;gap:1rem;width:100%;overflow:visible;padding-bottom:150px}.evaluation-line-progress{position:absolute;top:0;left:0;right:0;bottom:0;background-color:transparent;overflow:hidden;z-index:0;pointer-events:none;border-radius:8px}.evaluation-line-progress__fill{height:100%;background-color:#e0f2fe!important;transition:width .3s ease}.evaluation-line-progress--quick{border-radius:.75rem}.evaluation-line-progress--quick .evaluation-line-progress__fill{background-color:#dbeafe!important}.evaluation-line-labels,.grade-boundary-line-container .evaluation-line-labels{position:absolute;top:50%;transform:translateY(20px);left:1.5rem;right:1.5rem;display:flex;justify-content:space-between;z-index:10;pointer-events:none}.evaluation-line-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary);background:#fffc;padding:.25rem .5rem;border-radius:4px;box-shadow:0 1px 3px #0000001a}.evaluation-line{position:relative;height:50vh;margin:.25rem 0;border-radius:8px;transition:all .3s ease;padding:2rem 1.5rem 300px;width:100%;background-color:#fafafa;z-index:1;overflow-y:auto;overflow-x:hidden}.evaluation-line--over{background-color:#3b82f61a;border:2px dashed var(--color-primary);transform:scale(1.02);box-shadow:0 4px 12px #3b82f633}.evaluation-line__track{position:absolute;top:50%;left:1.5rem;right:1.5rem;height:24px;background:linear-gradient(to right,var(--color-error),var(--color-warning),var(--color-success));border-radius:12px;transform:translateY(-50%);box-shadow:0 2px 4px #0000001a}.evaluation-line__item{position:absolute;background:var(--color-background);border:2px solid var(--color-primary);border-radius:8px;padding:.5rem .75rem;min-width:90px;cursor:grab;transition:all .2s ease;z-index:10;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #0000001a}.evaluation-line__item:hover{transform:translate(-50%) translateY(-3px);box-shadow:0 6px 20px #00000026;border-color:var(--color-primary-dark);cursor:pointer}.evaluation-line__item:active{cursor:grabbing}.evaluation-line__item--dragging{opacity:.8;transform:translate(-50%) translateY(-5px) rotate(2deg) scale(1.05);z-index:50;box-shadow:0 10px 30px #00000040}.evaluation-line__item--graded{border-color:var(--color-success)}.evaluation-line__item--small{position:absolute;background:var(--color-background);border:2px solid var(--color-primary);border-radius:6px;padding:.25rem .5rem;min-width:70px;z-index:10;-webkit-user-select:none;user-select:none;box-shadow:0 2px 6px #0000001a;font-size:.875rem;cursor:pointer;transition:all .2s ease}.evaluation-line__item--small:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--color-primary-dark)}.evaluation-line__item--small.evaluation-line__item--dragging{opacity:.8;transform:translate(-50%) scale(1.05);box-shadow:0 6px 16px #00000040;z-index:1000;cursor:grabbing!important}.evaluation-line__item-content{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.evaluation-line__item-title{font-size:.75rem;font-weight:600;margin-bottom:.25rem;color:var(--color-text-primary);line-height:1.2}.evaluation-line__item-grade{font-size:.875rem;font-weight:700;color:var(--color-success)}.evaluation-line__item-remove{position:absolute;top:-12px;right:-12px;width:24px;height:24px;min-width:24px;min-height:24px;max-width:24px;max-height:24px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid white;font-size:16px;font-weight:700;font-family:Arial,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin:0;line-height:1;flex-shrink:0;box-shadow:0 2px 4px #0003;opacity:0;visibility:hidden;z-index:20;outline:none;transition:all .2s ease;overflow:hidden;text-align:center;vertical-align:middle}.evaluation-line__item:hover .evaluation-line__item-remove{opacity:.9;visibility:visible}.evaluation-line__item-remove:hover{background:#dc2626;transform:scale(1.1);opacity:1!important}.evaluation-line-scale{display:none;justify-content:space-between;position:relative;margin-top:1rem}.scale-mark{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.scale-mark__line{width:1px;height:12px;background:var(--color-border);margin-bottom:.25rem}.scale-mark__label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.evaluation-line-hint{font-size:.875rem;color:var(--color-text-secondary);text-align:center;margin-top:.5rem;padding:.5rem;background:#3b82f61a;border-radius:6px;border-left:3px solid var(--color-primary)}.evaluation-progress{background:var(--color-background-secondary);padding:2rem;border-radius:12px;border:1px solid var(--color-border);margin-top:2rem;width:100%}.evaluation-progress__summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.evaluation-progress__text{font-weight:600;color:var(--color-text-primary)}.evaluation-progress__complete{color:var(--color-success);font-weight:600;display:flex;align-items:center;gap:.5rem}.evaluation-progress__bar{width:100%;height:8px;background:var(--color-background);border-radius:4px;overflow:hidden}.evaluation-progress__fill{height:100%;background:var(--color-success);transition:width .3s ease}.products-panel:not(.products-panel--horizontal) .product-card{max-width:100%;min-width:100%;width:100%;height:120px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .2s ease}.products-panel .product-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;opacity:0;transition:opacity .2s ease;z-index:5;border-radius:inherit;margin:0;padding:0}.products-panel .product-card:hover:before{opacity:1;border-radius:inherit}.products-panel .product-card__header{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;position:relative}.products-panel .product-card__actions{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none;gap:.5rem;z-index:10}.products-panel .product-card:hover .product-card__actions{display:flex}.products-panel .product-card__actions .icon-button{width:36px;height:36px;transition:all .2s ease}.products-panel .product-card__actions .icon-button:hover{transform:scale(1.1)}.products-panel .product-card__title{max-height:none;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;text-overflow:ellipsis;word-break:break-word;white-space:normal;text-align:center;width:100%;padding:0 var(--spacing-md);margin:0;display:-webkit-box;-webkit-box-orient:vertical;line-height:1.4}.products-panel .product-card:hover .product-card__title{opacity:.1}.products-panel .product-card__detail,.products-panel .product-card__metadata{display:none}.evaluation-completion-message{background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;padding:1rem 1.5rem;margin-top:1.5rem;animation:fadeIn .3s ease-in}.evaluation-completion-message p{margin:.25rem 0;font-size:.875rem;color:var(--color-success);font-weight:500}.evaluation-completion-message p:first-child{font-weight:600}.criterion-tab.sufficient{background:#fff;border-color:var(--color-success);position:relative}.criterion-tab.sufficient:after{content:"✓";position:absolute;top:.25rem;right:.25rem;color:var(--color-success);font-size:.75rem;font-weight:700}.criterion-tab.sufficient:hover{background:#10b9811a;border-color:var(--color-success)}.criterion-tab.sufficient.active{background:var(--color-success);border-color:var(--color-success);color:#fff}.criterion-tab.sufficient.active:after{color:#fff}@media (max-width: 768px){.evaluation-area{grid-template-columns:1fr;gap:1rem}.products-panel{max-height:300px;width:100%;min-width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.grade-assignment{display:flex;flex-direction:column;gap:2rem}.grade-settings{background:var(--color-background-secondary);padding:2rem;border-radius:12px;border:1px solid var(--color-border);position:relative}.grade-boundaries-container .grade-edit-button{position:absolute;bottom:10px;right:10px;background:transparent;border:1px solid var(--color-border);padding:.3rem .6rem;border-radius:6px;font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);z-index:10}.grade-boundaries-container .grade-edit-button:hover{background:var(--color-bg-hover);color:var(--color-primary);border-color:var(--color-primary)}.grade-settings__title{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-primary)}.grade-boundaries{margin-bottom:2rem}.grade-boundaries__title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.grade-boundaries-wrapper,.grade-boundaries-container{position:relative}.grade-boundary{display:flex;gap:1rem;align-items:end;margin-bottom:1rem;padding:1rem;background:var(--color-background);border-radius:8px;border:1px solid var(--color-border)}.grade-boundary .input-wrapper{flex:1}.draggable-grade-boundaries{margin:2rem 0}.grade-boundary-line-container{position:relative;height:800px;background:var(--color-surface-light);border-radius:12px;border:1px solid var(--color-border);margin:1rem 0;padding:18rem 1.5rem 20rem;cursor:default;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.grade-boundary-line-container::-webkit-scrollbar{width:12px}.grade-boundary-line-container::-webkit-scrollbar-track{background:#0000000d;border-radius:6px;margin:10px 0}.grade-boundary-line-container::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:6px;border:2px solid transparent;background-clip:content-box}.grade-boundary-line-container::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark);background-clip:content-box}.grade-boundary-instructions{display:none}.grade-boundary-line-container.dragging{cursor:ew-resize}.grade-boundary-line-container.dragging *{pointer-events:none}.grade-boundary-marker{position:absolute;top:0;bottom:0;transform:translate(-50%);cursor:grab;z-index:20;transition:all .2s ease}.grade-boundary-marker:hover{transform:translate(-50%) scale(1.05)}.grade-boundary-marker--dragging{cursor:grabbing;z-index:30;transform:translate(-50%) scale(1.1)}.grade-boundary-marker--hovered{transform:translate(-50%) scale(1.1)}.grade-boundary-marker--hovered .grade-boundary-marker__line{background:var(--color-primary-dark);width:4px;box-shadow:0 3px 12px #3b82f666}.grade-boundary-marker--hovered .grade-boundary-marker__handle{background:var(--color-primary-dark);transform:translate(-50%) scale(1.05);box-shadow:0 4px 16px #3b82f64d}.grade-boundary-marker--dragging{transform:translate(-50%) scale(1.15);z-index:40}.grade-boundary-marker--dragging .grade-boundary-marker__line{background:var(--color-secondary);width:5px;box-shadow:0 4px 20px #10b98180}.grade-boundary-marker--dragging .grade-boundary-marker__handle{background:var(--color-secondary);transform:translate(-50%) scale(1.1);box-shadow:0 6px 24px #10b98166}.grade-boundary-marker__line{width:3px;height:calc(800px + 20rem);background:var(--color-primary);border-radius:2px;box-shadow:0 2px 8px #0003}.grade-boundary-marker__line:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid var(--color-primary)}.grade-boundary-marker__line:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--color-primary)}.grade-boundary-marker__handle{position:absolute;top:-5px;left:50%;transform:translate(-50%);background:var(--color-primary);color:#fff;padding:.5rem .75rem;border-radius:8px;font-size:.75rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #00000026;pointer-events:none;z-index:100}.grade-boundary-marker__drag-area{background:transparent;border-radius:8px;transition:all .2s ease}.grade-boundary-marker__drag-area:hover{background:#3b82f61a;border:1px dashed var(--color-primary)}.grade-range{position:absolute;top:0;height:calc(100% + 20rem);border-radius:8px;opacity:.2;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center;z-index:1}.grade-range:hover{opacity:.3}.grade-range--0{background-color:var(--color-grade-a)}.grade-range--1{background-color:var(--color-grade-b)}.grade-range--2{background-color:var(--color-grade-c)}.grade-range--3{background-color:var(--color-grade-d)}.grade-range__label{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);text-shadow:1px 1px 2px rgba(255,255,255,1);pointer-events:none;opacity:.9;z-index:3;position:relative}.grade-preview{margin-bottom:2rem}.grade-preview__title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.grade-preview__line{position:relative;height:80px;margin:1rem 0;background:var(--color-background);border-radius:8px;border:1px solid var(--color-border)}.grade-boundary-line{position:absolute;top:0;bottom:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center}.grade-boundary-line__mark{width:2px;height:100%;background:var(--color-primary);opacity:.7}.grade-boundary-line__label{position:absolute;top:-20px;background:var(--color-primary);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.grade-distribution{margin-top:2rem}.grade-distribution__title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.grade-table{width:100%;border-collapse:collapse;background:var(--color-background);border-radius:8px;overflow:hidden;border:1px solid var(--color-border)}.grade-table th,.grade-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.grade-table th{background:var(--color-background-secondary);font-weight:600;color:var(--color-text-primary)}.grade-table tbody tr:hover{background:var(--color-background-hover)}.grade-cell{font-weight:700;font-size:1.1rem;color:var(--color-primary)}.product-list-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-name-chip{display:inline-block;background:var(--color-primary-light);color:var(--color-primary-dark);padding:.25rem .5rem;margin:.125rem;border-radius:16px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid var(--color-primary)}.product-name-chip:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.grade-boundary-instructions{margin-top:1rem;padding:1rem;background:var(--color-surface-elevated);border-radius:8px;border:1px solid var(--color-border)}.grade-boundary-instructions p{margin:0 0 .5rem;font-size:.875rem;color:var(--color-text-secondary)}.grade-boundary-legend{display:flex;flex-wrap:wrap;gap:1rem}.grade-boundary-legend-item{font-size:.75rem;color:var(--color-text-tertiary)}.grade-boundary-legend-item strong{color:var(--color-text-primary)}@media (pointer: coarse){.grade-boundary-marker__drag-area{left:-30px!important;right:-30px!important;top:-20px!important;bottom:-20px!important}.grade-boundary-marker__handle{font-size:.8rem;padding:.6rem .8rem}}.criterion-selector{position:relative;z-index:100}.criterion-selector--inline{position:absolute;bottom:10px;left:10px;right:10px;z-index:100;background:#fffffff2;padding:1rem;border-radius:8px;border:1px solid var(--color-border)}.criterion-selector__label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.criterion-tabs{display:flex;gap:.5rem;flex-wrap:wrap;z-index:110;position:relative}.criterion-tab{background:var(--color-background);border:2px solid var(--color-border);border-radius:6px;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);z-index:120;position:relative}.criterion-tab:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-hover)}.criterion-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.criterion-tab__title{font-weight:inherit;z-index:130;position:relative}.rubric-generation,.analysis-phase{display:flex;flex-direction:column;gap:2rem}.analysis-progress{background:var(--color-background-secondary);padding:1.5rem;border-radius:12px;border:1px solid var(--color-border)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.progress-header h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.progress-bar{width:100%;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.rubric-question-content{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 0}.question-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem;line-height:1.6}.difference-input{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.difference-textarea{width:100%;min-height:120px;padding:1rem;border:2px solid var(--color-border);border-radius:8px;font-size:.875rem;line-height:1.6;resize:vertical;transition:border-color .2s ease}.difference-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.difference-textarea::placeholder{color:var(--color-text-tertiary);font-style:italic}.differences-list{background:var(--color-background-secondary);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.differences-list h6{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.5px}.difference-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem}.difference-item:last-child{margin-bottom:0}.difference-text{flex:1;font-size:.875rem;line-height:1.5;color:var(--color-text-primary)}.question-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-border)}.generation-phase{display:flex;flex-direction:column;gap:2rem;width:100%;padding:0 1rem}.rubric-summary-content{display:flex;flex-direction:column;gap:2rem;padding:1.5rem 0}.generation-action{display:flex;justify-content:center;padding:2rem 0}.rubric-display{display:flex;flex-direction:column;gap:2rem;width:100%;padding:0 1rem}.rubric-header{background:var(--color-background-secondary);padding:2rem;border-radius:12px;border:1px solid var(--color-border)}.rubric-header h3{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:var(--color-primary)}.rubric-header p{font-size:.875rem;color:var(--color-text-secondary);margin:0}.rubric-table-container{overflow-x:auto;overflow-y:visible;background:var(--color-background);border-radius:12px;border:1px solid var(--color-border);box-shadow:0 4px 12px #0000000d;width:100%;max-width:1400px;margin:0 auto;position:relative}.rubric-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;position:relative}.rubric-table th,.rubric-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.rubric-table thead th{background:var(--color-background-secondary);font-weight:600;color:var(--color-text-primary);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--color-border)}.criterion-header{width:280px;min-width:280px;position:sticky!important;left:0!important;background:var(--color-background-secondary)!important;z-index:30!important}.rubric-table thead tr{z-index:25}.rubric-table thead th:first-child{z-index:35!important}.grade-header{width:350px;min-width:350px;text-align:center;background:var(--color-background-secondary);z-index:10}.grade-a{background:linear-gradient(135deg,var(--color-grade-a) 0%,var(--color-grade-a) 100%);color:var(--color-text-inverse)}.grade-b{background:linear-gradient(135deg,var(--color-grade-b) 0%,var(--color-grade-b) 100%);color:var(--color-text-inverse)}.grade-c{background:linear-gradient(135deg,var(--color-grade-c) 0%,var(--color-grade-c) 100%);color:var(--color-text-inverse)}.grade-d{background:linear-gradient(135deg,var(--color-grade-d) 0%,var(--color-grade-d) 100%);color:var(--color-text-inverse)}.criterion-cell{background:var(--color-background-secondary);font-weight:600;color:var(--color-primary);position:sticky;left:0;z-index:20;width:280px;min-width:280px;border-right:1px solid var(--color-border);vertical-align:middle;height:auto}.rubric-cell{line-height:1.6;color:var(--color-text-primary);width:350px;min-width:350px;vertical-align:top}.rubric-actions{display:flex;justify-content:center;gap:1rem}.detailed-progress{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.criterion-progress{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-radius:6px;background:var(--color-background);border:1px solid var(--color-border);transition:all .2s ease}.criterion-progress.active{background:var(--color-primary-light);border-color:var(--color-primary)}.criterion-name{font-weight:500;color:var(--color-text-primary)}.boundary-progress{font-size:.875rem;color:var(--color-text-secondary)}.grade-boundary-comparison{display:flex;align-items:center;gap:1rem}.grade-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#ffffff1a;padding:1rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:1}.grade-badge{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600;text-align:center}.grade-upper{background:#10b981;color:#fff}.grade-lower{background:#f59e0b;color:#fff}.products-list{display:flex;flex-direction:column;gap:.25rem;align-items:center}.product-name{font-size:.75rem;color:#ffffffe6;text-align:center}.more-count{font-size:.7rem;color:#ffffffb3;font-style:italic}.boundary-summaries{display:flex;flex-direction:column;gap:1rem}.boundary-summary{background:var(--color-background);padding:1rem;border-radius:6px;border:1px solid var(--color-border)}.boundary-summary h5{font-size:.875rem;font-weight:600;color:var(--color-primary);margin:0 0 .5rem}.boundary-summary .differences-count{font-size:.75rem;color:var(--color-text-secondary);margin:0 0 .5rem}.boundary-summary .differences-preview{list-style:none;padding:0;margin:0}.boundary-summary .differences-preview li{font-size:.7rem;color:var(--color-text-tertiary);padding:.125rem 0;border-bottom:1px solid var(--color-border)}.boundary-summary .differences-preview li:last-child{border-bottom:none}@media (max-width: 768px){.products-comparison{flex-direction:column;gap:.5rem}.vs-divider{transform:rotate(90deg);font-size:1rem}.summary-grid{grid-template-columns:1fr}.rubric-table th,.rubric-table td{padding:.75rem .5rem;font-size:.75rem}.criterion-header,.grade-header{width:auto;min-width:150px}}.rubric-description{margin-top:1.5rem;padding:1rem;background:var(--color-background-tertiary);border-radius:8px;border-left:4px solid var(--color-primary)}.rubric-description h4{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .75rem}.rubric-content{display:flex;flex-direction:column;gap:.75rem}.rubric-grade-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:var(--color-primary);color:#fff;border-radius:20px;font-size:.875rem;font-weight:600;width:fit-content}.rubric-text{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5;margin:0;padding:.5rem 0;background:var(--color-background-primary);border-radius:6px;padding:.75rem;border:1px solid var(--color-border)}.rubric-initial-choice{display:flex;flex-direction:column;gap:2rem;width:100%;padding:0 1rem}.rubric-choice-content{display:flex;flex-direction:column;gap:2rem;padding:2rem 0}.choice-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:800px;margin:0 auto;width:100%}.choice-card{background:var(--color-background);border:2px solid var(--color-border);border-radius:16px;padding:2rem;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.choice-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.choice-card__icon{font-size:3rem;margin-bottom:.5rem;color:var(--color-primary);display:flex;align-items:center;justify-content:center}.choice-card__icon svg{width:3rem;height:3rem}.choice-card__title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.choice-card__description{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5;margin:0 0 1rem}.rubric-cell{position:relative;transition:background-color .2s ease}.rubric-cell:hover{background-color:var(--color-background-hover)}.rubric-cell-content{position:relative;padding-right:2rem}.rubric-cell-text{line-height:1.6;color:var(--color-text-primary)}.rubric-cell-edit-button{position:absolute;bottom:0;right:8px;background:transparent;border:none;padding:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s ease;color:#666}.rubric-cell-edit-button:hover{color:var(--color-primary);transform:scale(1.1)}.rubric-cell:hover .rubric-cell-edit-button{opacity:1}.rubric-cell-edit{position:relative}.rubric-cell-textarea{width:100%;min-height:100px;padding:.75rem;border:2px solid var(--color-primary);border-radius:6px;font-size:.875rem;line-height:1.5;resize:vertical;font-family:inherit;background:var(--color-background)}.rubric-cell-textarea:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}.rubric-edit-hint{text-align:center;font-size:.875rem;color:var(--color-text-secondary);margin-top:1rem}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:1000}.loading-content{text-align:center;padding:2rem}.loading-content h3{margin:1rem 0 .5rem;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.loading-content p{margin:0;font-size:1rem;color:var(--color-text-secondary)}.user-settings{max-width:2800px;margin:0 auto;padding:1.5rem 3rem;min-height:calc(100vh - 200px)}.user-settings__header{text-align:center;margin-bottom:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.user-settings__title{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;letter-spacing:-.025em}.user-settings__description{color:var(--color-text-secondary);font-size:1rem;line-height:1.5;max-width:600px;margin:0 auto}.user-settings__content{display:flex;flex-direction:column;gap:1.5rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}@media (max-width: 1200px){.settings-grid{grid-template-columns:1fr;gap:1.25rem}}.alert{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;margin-bottom:2rem;border-radius:12px;border:1px solid;background:var(--color-surface);box-shadow:0 4px 6px #0000000d}.alert--error{background:linear-gradient(135deg,#fef2f2,#ffeef0);border-color:var(--color-error-light);color:var(--color-error-dark)}.alert__icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--color-error);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;margin-top:.125rem}.alert__text{font-weight:500;line-height:1.5;margin:0}.alert__close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;padding:0;opacity:.7;transition:opacity .2s;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.alert__close:hover{opacity:1}.settings-section{background:var(--color-surface);border-radius:16px;padding:1.5rem;box-shadow:0 4px 6px #00000008,0 1px 3px #00000014;border:1px solid var(--color-border-light);transition:box-shadow .2s ease}.settings-section:hover{box-shadow:0 8px 25px #00000014,0 3px 10px #0000000d}.settings-section__title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-primary);display:inline-block;letter-spacing:-.025em}.settings-section__toggle{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--color-text-primary);display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;transition:color .2s ease}.settings-section__toggle:hover{color:var(--color-primary)}.settings-form{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.5rem}.settings-form .input-wrapper{position:relative}.settings-form .input-wrapper--required:after{content:"*";color:var(--color-error);font-weight:700;margin-left:.25rem}.settings-actions{display:flex;gap:1rem;justify-content:flex-end;align-items:center;padding-top:1.25rem;border-top:1px solid var(--color-border);margin-top:auto}.settings-actions .button{min-width:120px;font-weight:600}.security-setting{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid var(--color-border);margin-bottom:1.5rem;position:relative}.security-setting:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:12px 12px 0 0}.security-setting__info{flex:1}.security-setting__name{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;letter-spacing:-.025em}.security-setting__description{color:var(--color-text-secondary);font-size:.9rem;line-height:1.5;max-width:500px}.security-setting__control{display:flex;flex-direction:column;align-items:center;gap:1rem;flex-shrink:0}.security-setting__status{font-weight:700;font-size:1rem;padding:.5rem 1rem;border-radius:20px;text-align:center;min-width:60px;letter-spacing:.025em}.security-setting__status--on{background:var(--color-success-light);color:var(--color-success-dark);border:2px solid var(--color-success)}.security-setting__status--off{background:var(--color-background-secondary);color:var(--color-text-secondary);border:2px solid var(--color-border)}.toggle-switch{position:relative;display:inline-block;width:64px;height:32px;cursor:pointer}.toggle-switch__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--color-border);transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:32px;box-shadow:inset 0 2px 4px #0000001a}.toggle-switch__slider:before{position:absolute;content:"";height:24px;width:24px;left:4px;bottom:4px;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 2px 8px #00000026,0 1px 3px #0000001a}.toggle-switch input:checked+.toggle-switch__slider{background:var(--color-primary);box-shadow:inset 0 2px 4px #3b82f64d}.toggle-switch input:checked+.toggle-switch__slider:before{transform:translate(32px);box-shadow:0 4px 12px #3b82f64d,0 2px 4px #0000001a}.toggle-switch:hover .toggle-switch__slider{box-shadow:inset 0 2px 4px #0000001a,0 0 0 8px #3b82f61a}.toggle-switch input:focus+.toggle-switch__slider{box-shadow:inset 0 2px 4px #0000001a,0 0 0 3px #3b82f64d}.security-details{margin-top:2rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.key-info{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000a}.key-info__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.key-info__title{font-size:1rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.025em}.key-info__content{display:flex;flex-direction:column;gap:1.25rem}.key-field{display:flex;flex-direction:column;gap:.75rem}.key-field__label{font-size:.875rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.key-field__value{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-background-secondary);border-radius:8px;border:1px solid var(--color-border)}.key-field__code{flex:1;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875rem;color:var(--color-text-primary);background:transparent;border:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0}.key-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid var(--color-border)}.advanced-settings{margin-top:2rem;animation:slideDown .3s ease-out}.import-export{margin-bottom:3rem}.import-export__title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1.5rem;letter-spacing:-.025em}.import-export__actions{margin-bottom:2rem}.import-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.import-section__label{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.import-section__textarea,.export-result__textarea{width:100%;min-height:120px;padding:1rem;border:2px solid var(--color-border);border-radius:8px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875rem;resize:vertical;background:var(--color-surface);color:var(--color-text-primary);transition:border-color .2s ease}.import-section__textarea:focus,.export-result__textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.export-result{margin-top:2rem;padding:2rem;background:var(--color-background-secondary);border-radius:12px;border:1px solid var(--color-border)}.export-result__label{display:block;font-size:1rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.danger-zone{padding:2rem;background:linear-gradient(135deg,#fef2f2,#fef5f5);border:2px solid var(--color-error-light);border-radius:12px;position:relative}.danger-zone:before{content:"⚠";position:absolute;top:-12px;left:2rem;background:var(--color-error);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem}.danger-zone__title{font-size:1.25rem;font-weight:700;color:var(--color-error-dark);margin-bottom:1rem;letter-spacing:-.025em}.danger-zone__description{color:var(--color-error-dark);font-size:1rem;margin-bottom:1.5rem;line-height:1.6}@media (max-width: 1024px){.user-settings{padding:1.5rem}.settings-section{padding:2rem}}@media (max-width: 768px){.user-settings{padding:1rem}.user-settings__header{margin-bottom:2rem;padding-bottom:1.5rem}.user-settings__title{font-size:1.75rem}.user-settings__content{gap:2rem}.settings-section{padding:1.5rem}.security-setting{flex-direction:column;align-items:stretch;gap:1.5rem}.security-setting__control{flex-direction:row;justify-content:space-between;align-items:center}.settings-actions{flex-direction:column-reverse;gap:.75rem}.settings-actions .button{width:100%}.key-field__value{flex-direction:column;align-items:stretch;gap:.75rem}.key-actions{flex-direction:column}.import-export__actions,.key-actions{justify-content:stretch}.import-export__actions .button,.key-actions .button{width:100%}}@media (max-width: 480px){.user-settings{margin:0;padding:1rem}.settings-section{padding:1rem;border-radius:12px}.user-settings__title{font-size:1.5rem}.settings-section__title{font-size:1.25rem}}@media print{.user-settings{box-shadow:none;background:#fff}.settings-section{box-shadow:none;border:1px solid #000;break-inside:avoid}.danger-zone{border:2px solid #000}}@media (prefers-reduced-motion: reduce){.security-details,.advanced-settings{animation:none}.toggle-switch__slider,.toggle-switch__slider:before{transition:none}}@media (prefers-contrast: high){.settings-section,.security-setting{border-width:2px}.toggle-switch__slider{border:2px solid currentColor}}.manual-key-section{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-top:1.5rem;position:relative}.manual-key-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:12px 12px 0 0}.manual-key-info{margin-bottom:1.25rem}.manual-key-info__title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.manual-key-info__description{color:var(--color-text-secondary);line-height:1.5;font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;margin:2rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 2rem 1rem;border-bottom:1px solid var(--color-border)}.modal-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.modal-body{padding:2rem}.modal-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:2rem}.manual-key-inputs{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.manual-key-inputs .input-wrapper{display:flex;flex-direction:column;gap:.5rem}.manual-key-inputs .input-label{font-weight:600;color:var(--color-text-primary);font-size:.9rem}.manual-key-inputs .textarea{min-height:120px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.4;resize:vertical}.modal-warning{display:flex;align-items:flex-start;gap:.75rem;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.warning-icon{font-size:1.25rem;flex-shrink:0}.warning-text{font-size:.9rem;line-height:1.5;color:#92400e}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:1rem 2rem 2rem;border-top:1px solid var(--color-border)}@media (max-width: 768px){.modal-content{margin:1rem;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding-left:1.5rem;padding-right:1.5rem}.manual-key-inputs .textarea{min-height:100px;font-size:.8rem}}.app-actions{display:flex;gap:1rem;padding:1rem;background:var(--color-background-paper);border-top:1px solid var(--color-border);align-items:center;justify-content:flex-end}.save-button{display:flex;align-items:center;gap:.5rem;font-weight:500;transition:all .2s ease}.save-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.save-button:disabled{opacity:.7;cursor:not-allowed}.alert{padding:1rem;margin:1rem 0;border-radius:8px;display:flex;align-items:center;justify-content:space-between;animation:slideIn .3s ease}.alert--success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert--error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert--info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.alert__content{flex:1}.alert__content strong{font-weight:600;margin-bottom:.25rem;display:block}.alert__content p{margin:0}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.app-actions{flex-direction:column;gap:.5rem}.save-button,.back-to-dashboard{width:100%;justify-content:center}}@media print{@page{size:A4;margin:1cm}body{font-size:11px;line-height:1.3;color:#000}.report-card{box-shadow:none!important;border:1px solid #000!important;border-radius:0!important;margin:0!important;padding:.8cm!important;page-break-inside:avoid;background:#fff!important}.report-header h1{font-size:18px!important;margin-bottom:.3cm!important}.evaluation-date{font-size:10px!important}.product-info h2{font-size:14px!important;margin-bottom:.2cm!important}.product-info p{font-size:10px!important}.evaluation-main{grid-template-columns:1fr!important;gap:.5cm!important}.evaluation-details h3,.evaluation-summary h3{font-size:12px!important;margin-bottom:.3cm!important;page-break-after:avoid}.criteria-table table{font-size:9px!important;width:100%!important;border-collapse:collapse!important}.criteria-table th,.criteria-table td{padding:.15cm!important;border:1px solid #666!important;vertical-align:top!important}.criteria-table th{background:#f0f0f0!important;font-weight:700!important;font-size:8px!important}.criterion-title{font-size:9px!important;font-weight:700!important}.criterion-desc{font-size:7px!important;line-height:1.2!important}.grade-badge-compact{width:16px!important;height:16px!important;line-height:16px!important;font-size:8px!important}.grade-value-compact,.rank-compact,.percentile-compact{font-size:8px!important}.rubric-text-compact{font-size:8px!important;line-height:1.2!important}.summary-stats{grid-template-columns:repeat(3,1fr)!important;gap:.3cm!important}.stat-item{padding:.3cm!important;border:1px solid #666!important}.stat-label{font-size:8px!important}.stat-value{font-size:12px!important}.radar-chart-compact{display:none!important}.report-footer{margin-top:.5cm!important;padding-top:.3cm!important;border-top:1px solid #666!important}.footer-note{font-size:8px!important;text-align:center!important}.evaluation-main,.criteria-table{page-break-inside:avoid}.header-main{margin-bottom:.3cm!important}.grade-badge-compact{border:1px solid #333!important;color:#000!important;background:#f0f0f0!important}.product-selector,.report-actions,.step-navigation{display:none!important}tbody tr{page-break-inside:avoid}*{color:#000!important}.criteria-table table,.criteria-table th,.criteria-table td{border-color:#333!important}}@media screen and (max-width: 210mm){.evaluation-main{grid-template-columns:1fr}.criteria-table{overflow-x:auto}}.rubric-grid{width:100%;border-collapse:collapse;margin-top:1rem}.rubric-grid th,.rubric-grid td{border:1px solid #e5e7eb;padding:.75rem;text-align:left;vertical-align:top}.rubric-grid th{background-color:#f9fafb;font-weight:600;text-align:center}.rubric-grid .highlighted-cell{border:3px solid #000000!important;background-color:#0000000d!important;position:relative}@media print{.rubric-grid .highlighted-cell{border:2px solid #000!important;background-color:#f0f0f0!important;font-weight:700!important}}.billing-page{padding:2rem;max-width:1200px;margin:0 auto;background-color:#fff!important;color-scheme:light only}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{color:#333;margin-bottom:.5rem}.page-header p{color:#666;font-size:1.1rem}.current-subscription{margin-bottom:3rem}.current-subscription h3{color:#333;margin-bottom:1rem}.subscription-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.plan-name{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:.5rem}.plan-status{color:#666;margin-bottom:.5rem}.period-end,.expires-at{color:#666;font-size:.9rem;margin-bottom:.5rem}.cancel-notice{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:.75rem;color:#856404;margin-bottom:1rem}.cancel-button{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.cancel-button:hover{background:#c82333}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem;max-width:1400px;margin-left:auto;margin-right:auto}@media (min-width: 1200px){.plans-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}}@media (min-width: 900px) and (max-width: 1199px){.plans-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}@media (min-width: 640px) and (max-width: 899px){.plans-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.plan-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:2rem;text-align:center;transition:transform .2s,box-shadow .2s;position:relative;display:flex;flex-direction:column;height:100%;min-height:600px}.plan-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.plan-card.featured{border-color:#007bff;background:linear-gradient(135deg,#f8f9ff,#fff)}.plan-card.featured:before{content:"おすすめ";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#007bff;color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600}.plan-header h3{color:#333;margin-bottom:1rem;font-size:1.5rem}.plan-price{font-size:2rem;font-weight:700;color:#007bff;margin-bottom:1.5rem}.plan-interval{font-size:1rem;color:#666;font-weight:400}.plan-features{text-align:left;margin-bottom:2rem;flex:1}.plan-features h4{color:#333;margin-bottom:1rem;font-size:1rem}.plan-features ul{list-style:none;padding:0}.plan-features li{border-bottom:1px solid #f1f3f4;color:#666;position:relative;padding:.5rem 0 .5rem 1.5rem}.plan-features li:before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:600}.plan-features li:last-child{border-bottom:none}.plan-actions{margin-top:auto}.plan-button{width:100%;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.plan-button.upgrade{background:#007bff;color:#fff}.plan-button.upgrade:hover{background:#0056b3}.plan-button.current{background:#6c757d;color:#fff;cursor:not-allowed}.plan-button:disabled{opacity:.6;cursor:not-allowed}.free-plan-note{color:#28a745;font-weight:600;padding:.75rem}.billing-info{background:#f8f9fa;border-radius:8px;padding:2rem;margin-top:3rem}.billing-info h3{color:#333;margin-bottom:1rem}.billing-info ul{color:#666;line-height:1.6}.billing-info li{margin-bottom:.5rem}.feature-gate-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#666}.feature-gate-upgrade{display:flex;align-items:center;justify-content:center;padding:2rem}.upgrade-notice{text-align:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:2rem;max-width:400px}.upgrade-notice h3{color:#333;margin-bottom:1rem}.upgrade-notice p{color:#666;margin-bottom:1.5rem;line-height:1.5}.upgrade-button{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.upgrade-button:hover{background:#0056b3}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:#666;font-size:1.1rem}.payment-success-alert{display:flex;align-items:center;background-color:#e7f7e9;border:1px solid #47c363;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #47c36326}.payment-cancel-alert{background-color:#f8f9fa;border:1px solid #d1d3e2;border-radius:8px;padding:1.5rem;margin-bottom:2rem;color:#666}.success-icon{background-color:#47c363;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-right:1.5rem;flex-shrink:0}.payment-success-alert h4{margin:0 0 .5rem;color:#2d7d46;font-weight:600}.payment-success-alert p{margin:0;color:#555}.plan-card.enterprise-plan{border:2px solid var(--color-primary);background:linear-gradient(135deg,var(--color-primary-50) 0%,#ffffff 100%);position:relative;min-height:650px}.plan-card.enterprise-plan .plan-subtitle{font-size:.9rem;color:var(--color-text-secondary);font-weight:var(--font-weight-normal);display:block;margin-top:.2rem}.plan-card.enterprise-plan .plan-price{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:var(--font-weight-bold)}.plan-card.enterprise-plan.academic .plan-price{background:linear-gradient(135deg,#9c27b0,#7b1fa2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-button.enterprise{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;padding:.875rem 1.5rem;font-weight:var(--font-weight-semibold);letter-spacing:.02em;transition:all var(--transition-normal)}.plan-button.enterprise:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.plan-button.enterprise.academic{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.plan-card.enterprise-plan .plan-features li{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.plan-card.enterprise-plan .plan-features li:before{content:"★";color:var(--color-primary);font-size:1.1rem}.plan-card.enterprise-plan.academic .plan-features li:before{color:#9c27b0}@media (max-width: 639px){.billing-page{padding:1rem}.plans-grid{grid-template-columns:1fr!important;gap:1rem;max-width:100%}.plan-card{padding:1.5rem;min-height:auto}.plan-card.enterprise-plan{min-height:auto}.plan-price{font-size:1.5rem}.plan-card.enterprise-plan:before{font-size:.75rem;padding:.25rem 1rem}}.ai-usage-limitation{font-size:.85rem;color:#666;margin-top:1rem;font-style:italic}.toast-container{position:fixed;bottom:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column-reverse;gap:.75rem;max-width:420px}.toast{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000000d;animation:slideInRight .3s ease-out;background-color:var(--color-surface, white);border:1px solid var(--color-border-light, #e5e7eb);min-width:350px;max-width:450px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative}.toast--success{background:linear-gradient(135deg,var(--color-success-light, #d1fae5) 0%,rgba(255,255,255,.95) 100%);border-color:var(--color-success, #10b981);color:var(--color-success-dark, #065f46);border-left:4px solid var(--color-success, #10b981)}.toast--error{background:linear-gradient(135deg,var(--color-error-light, #fee2e2) 0%,rgba(255,255,255,.95) 100%);border-color:var(--color-error, #dc2626);color:var(--color-error-dark, #991b1b);border-left:4px solid var(--color-error, #dc2626)}.toast--info{background:linear-gradient(135deg,var(--color-info-light, #dbeafe) 0%,rgba(255,255,255,.95) 100%);border-color:var(--color-info, #2563eb);color:var(--color-info-dark, #1e40af);border-left:4px solid var(--color-info, #2563eb)}.toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:.125rem}.toast__content{flex:1;margin:0;padding-top:.125rem}.toast__content p{margin:0;font-size:.9375rem;line-height:1.6;font-weight:600;letter-spacing:.025em}.toast__close{flex-shrink:0;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.125rem;line-height:1;color:currentColor;opacity:.6;transition:all .2s ease;border-radius:.375rem;background:transparent;border:none}.toast__close:hover{opacity:1;background:#0000000d;transform:scale(1.1)}@keyframes slideInRight{0%{transform:translate(100%) scale(.9);opacity:0}to{transform:translate(0) scale(1);opacity:1}}.toast{animation:slideInRight .4s cubic-bezier(.16,1,.3,1)}@media (max-width: 768px){.toast-container{left:1rem;right:1rem;max-width:none}.toast{min-width:auto;max-width:none}}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);border:1px solid transparent;border-radius:var(--border-radius-md);font-family:inherit;font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap;transition:all var(--transition-fast);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;color-scheme:light only}.button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.6}.button--sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);min-height:2rem}.button--md{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);min-height:2.5rem}.button--lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg);min-height:3rem}.button--full-width{width:100%}.button--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.button--primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.button--primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.button--secondary{background-color:var(--color-surface)!important;border-color:var(--color-border-strong);color:var(--color-text-primary)!important;color-scheme:light only}.button--secondary:hover:not(:disabled){background-color:var(--color-surface-light)!important;border-color:var(--color-primary);color:var(--color-primary)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.button--secondary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.button--success{background-color:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.button--success:hover:not(:disabled){background-color:var(--color-success-dark);border-color:var(--color-success-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.button--warning{background-color:var(--color-warning);border-color:var(--color-warning);color:var(--color-text-inverse)}.button--warning:hover:not(:disabled){background-color:var(--color-warning-dark);border-color:var(--color-warning-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.button--error{background-color:var(--color-error);border-color:var(--color-error);color:var(--color-text-inverse)}.button--error:hover:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.button--ghost{background-color:transparent!important;border-color:transparent;color:var(--color-text-secondary)!important;color-scheme:light only}.button--ghost:hover:not(:disabled){background-color:var(--color-surface-light)!important;color:var(--color-text-primary)!important}.button__icon{display:inline-flex;align-items:center;justify-content:center}.button__icon svg{width:1.25em;height:1.25em}.button--sm .button__icon svg{width:1em;height:1em}.button--lg .button__icon svg{width:1.5em;height:1.5em}.button--loading{color:transparent}.button__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center}.button__spinner-icon{width:1.25em;height:1.25em;animation:spin 1s linear infinite}.button--sm .button__spinner-icon{width:1em;height:1em}.button--lg .button__spinner-icon{width:1.5em;height:1.5em}@keyframes spin{0%{transform:rotate(0);stroke-dashoffset:32}to{transform:rotate(360deg);stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.button{transition:none}.button:hover:not(:disabled){transform:none}.button:active:not(:disabled){transform:none}.button__spinner-icon{animation:none}}@media (prefers-contrast: high){.button{border-width:2px}.button:focus-visible{outline-width:3px}}.language-switcher{display:inline-block}.language-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:14px;min-width:120px}.language-select:hover{border-color:#007bff}.language-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.color-palette-menu-selector{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:.25rem 0}.color-palette-option{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;width:100%;text-align:left;position:relative}.color-palette-option:hover{background-color:var(--color-background)}.color-palette-option.active{background-color:var(--color-primary-light)}.color-palette-option.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:70%;background-color:var(--color-primary);border-radius:0 2px 2px 0}.color-palette-preview{display:flex;gap:.25rem;align-items:center}.color-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #0000000d}.color-palette-info{flex:1;min-width:0}.color-palette-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin-bottom:.125rem}.color-palette-description{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.color-palette-menu-selector::-webkit-scrollbar{width:6px}.color-palette-menu-selector::-webkit-scrollbar-track{background:var(--color-background);border-radius:3px}.color-palette-menu-selector::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.color-palette-menu-selector::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-wrapper--full-width{width:100%}.input-label{font-size:var(--font-size-sm);font-weight:600;color:#374151;margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:.25rem}.input-required{color:#ef4444;font-weight:700;font-size:1rem}.input-container{position:relative;display:flex;align-items:center}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-family:inherit;background-color:var(--color-surface);color:var(--color-text-primary);transition:all .2s ease-in-out;outline:none;position:relative}.input:hover{border-color:#9ca3af;background-color:#fafafa}.input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;background-color:#fefefe;transform:translateY(-1px)}.input::placeholder,.textarea::placeholder{color:#9ca3af;font-style:italic;opacity:1}.input:disabled{background-color:var(--color-background-tertiary);color:var(--color-text-disabled);cursor:not-allowed}.input--with-left-icon{padding-left:2.5rem}.input--with-right-icon{padding-right:2.5rem}.input-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);pointer-events:none}.input-icon--left{left:var(--spacing-sm)}.input-icon--right{right:var(--spacing-sm)}.input-icon svg{width:1.25rem;height:1.25rem}.input-help{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.input-error{font-size:var(--font-size-sm);color:var(--color-error);margin:0}.input-wrapper--error .input{border-color:var(--color-error)}.input-wrapper--error .input:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef444433}.input-wrapper--disabled .input-label{color:var(--color-text-disabled)}.textarea{min-height:4rem;resize:vertical;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-family:inherit;background-color:var(--color-surface);color:var(--color-text-primary);transition:all .2s ease-in-out;outline:none}.textarea:hover{border-color:#9ca3af;background-color:#fafafa}.textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;background-color:#fefefe;transform:translateY(-1px)}@media (prefers-contrast: high){.input{border-width:2px}.input:focus{box-shadow:0 0 0 4px var(--color-focus-ring)}}.collaboration-panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.collaboration-panel.loading{text-align:center;padding:40px;color:#666}.collaboration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.collaboration-header h3{margin:0;color:#333;font-size:18px;font-weight:600}.btn-invite{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-invite:hover:not(:disabled){background:#0056b3}.btn-invite:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#f8d7da;color:#721c24;padding:12px;border-radius:4px;margin-bottom:16px;border:1px solid #f5c6cb}.invite-form{background:#f8f9fa;padding:16px;border-radius:4px;margin-bottom:20px;border:1px solid #e9ecef}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:#333;font-size:14px}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-actions{display:flex;gap:8px}.form-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.form-actions button[type=submit]{background:#28a745;color:#fff}.form-actions button[type=submit]:hover:not(:disabled){background:#218838}.form-actions button[type=button]{background:#6c757d;color:#fff}.form-actions button[type=button]:hover:not(:disabled){background:#545b62}.form-actions button:disabled{background:#ccc;cursor:not-allowed}.collaborators-list{max-height:400px;overflow-y:auto}.no-collaborators{text-align:center;color:#666;padding:20px;font-style:italic}.collaborators-list ul{list-style:none;margin:0;padding:0}.collaborator-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e9ecef}.collaborator-item:last-child{border-bottom:none}.collaborator-info{flex:1}.collaborator-name{font-weight:500;color:#333;margin-bottom:4px}.collaborator-email{font-size:14px;color:#666;margin-bottom:4px}.collaborator-role{display:flex;gap:8px;align-items:center}.role-badge{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.role-badge.role-owner{background:gold;color:#b8860b}.role-badge.role-collaborator{background:#d4edda;color:#155724}.role-badge.role-viewer{background:#d1ecf1;color:#0c5460}.status-badge{padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.status-pending{background:#fff3cd;color:#856404}.btn-remove{background:#dc3545;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.btn-remove:hover{background:#c82333}@media (max-width: 768px){.collaboration-panel{padding:16px}.collaboration-header{flex-direction:column;gap:12px;align-items:stretch}.btn-invite{align-self:flex-start}.collaborator-item{flex-direction:column;align-items:flex-start;gap:8px}.btn-remove{align-self:flex-end}}.share-modal{max-width:600px;width:90vw;max-height:80vh}.share-modal__header{padding:1.5rem 2rem}.share-modal__title{font-weight:700}.share-modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px}.share-modal__close:hover{background:#0000001a}.share-modal__tabs{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-background-secondary)}.tab{flex:1;padding:1rem;background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);transition:all .2s;border-bottom:2px solid transparent}.tab:hover{background:#0000000d;color:var(--color-text-primary)}.tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:#fff}.share-modal__footer{padding:1rem 2rem}.share-settings{padding:2rem}.setting-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.5rem;margin-bottom:1rem;background:var(--color-background-secondary);border-radius:12px;border:1px solid var(--color-border)}.setting-item__info{flex:1}.setting-item__title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.setting-item__description{margin:0;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.toggle-switch{position:relative;display:inline-block;width:48px;height:28px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:28px}.toggle-switch__slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-switch__slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-switch__slider:before{transform:translate(20px)}.toggle-switch input:disabled+.toggle-switch__slider{opacity:.5;cursor:not-allowed}.invite-link-section{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.invite-link{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:.75rem;font-family:monospace;font-size:.875rem;color:var(--color-text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-button{display:inline-flex;align-items:center;gap:.5rem}.copy-button svg{width:1rem;height:1rem}.invite-form-section{margin-top:1rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid var(--color-border)}.invite-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.role-select{padding:.75rem;border:1px solid var(--color-border);border-radius:8px;font-size:.875rem;background:#fff;color:var(--color-text-primary);min-width:160px}.form-actions{display:flex;gap:.75rem;justify-content:flex-end}.activity-log{padding:2rem}.activity-log.loading,.activity-log.empty{text-align:center;padding:3rem 2rem;color:var(--color-text-secondary)}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--color-background-secondary);border-radius:12px;border:1px solid var(--color-border)}.activity-item__icon{width:32px;height:32px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;flex-shrink:0}.activity-item__content{flex:1}.activity-item__text{font-size:.875rem;color:var(--color-text-primary);line-height:1.5;margin-bottom:.25rem}.activity-action{font-weight:600;color:var(--color-primary);margin:0 .25rem}.activity-item__time{font-size:.75rem;color:var(--color-text-secondary)}@media (max-width: 768px){.share-modal{width:95vw;max-height:90vh}.share-modal__title{font-size:1.125rem}.share-settings,.activity-log{padding:1.5rem}.setting-item{flex-direction:column;align-items:stretch;gap:1rem}.invite-link-section{flex-direction:column;align-items:stretch}.invite-link{max-width:none}.form-row{grid-template-columns:1fr;gap:1rem}.form-actions{justify-content:stretch}.form-actions .button{flex:1}}@media (max-width: 480px){.tab{font-size:.75rem;padding:.75rem .5rem}}.loading-spinner{border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;display:inline-block}.loading-spinner--sm{width:16px;height:16px;border-width:1px}.loading-spinner--md{width:24px;height:24px;border-width:2px}.loading-spinner--lg{width:32px;height:32px;border-width:3px}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard__header h1{color:var(--color-text-primary);font-size:2rem;font-weight:700;margin:0}.header-actions{display:flex;gap:1rem}.dashboard__tabs{display:flex;gap:2rem;border-bottom:2px solid var(--color-border);margin-bottom:2rem}.tab{background:none;border:none;padding:1rem 0;font-size:1rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s;border-bottom:3px solid transparent;margin-bottom:-2px}.tab:hover{color:var(--color-text-primary)}.tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.dashboard__content{min-height:400px}.examinations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:2rem}.examination-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:.75rem;padding:1.5rem;cursor:pointer;transition:all .2s;position:relative;box-shadow:0 1px 3px #0000000d}.examination-card:hover{border-color:var(--color-primary);box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.examination-card.menu-open{box-shadow:0 4px 6px -1px #0000001a}.examination-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.examination-card__title-section{flex:1}.examination-card__title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.shared-indicator{color:var(--color-info);display:inline-flex;align-items:center}.shared-indicator svg{width:1rem;height:1rem}.examination-card__meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--color-text-secondary)}.examination-card__status{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;color:var(--color-text-inverse)}.examination-card__products{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-light)}.examination-card__products-title{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem}.examination-card__products-list{display:flex;flex-wrap:wrap;gap:.5rem}.product-tag{background:var(--color-background);border:1px solid var(--color-border);padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;color:var(--color-text-primary)}.examination-card__menu-button{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text-secondary);border-radius:.25rem;transition:all .2s}.examination-card__menu-button:hover{background:var(--color-background);color:var(--color-text-primary)}.examination-card__menu{position:absolute;top:3.5rem;right:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;box-shadow:var(--shadow-lg);z-index:10;min-width:180px;overflow:hidden}.menu-item{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:.75rem;border:none;background:none;width:100%;text-align:left;color:var(--color-text-primary);font-size:.875rem}.menu-item:hover{background:var(--color-background)}.menu-item--danger{color:var(--color-error)}.menu-item--danger:hover{background:var(--color-error);color:var(--color-text-inverse)}.menu-item svg{width:1.125rem;height:1.125rem}.empty-state{text-align:center;padding:4rem 2rem;background:var(--color-background);border-radius:.75rem;border:2px dashed var(--color-border)}.empty-state h2{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:.5rem}.empty-state p{color:var(--color-text-secondary);margin-bottom:2rem}.dashboard__loading{display:flex;justify-content:center;align-items:center;min-height:400px}.dashboard__error{background:var(--color-error-light, #fee);border:1px solid var(--color-error);border-radius:.5rem;padding:1rem;margin-bottom:2rem;color:var(--color-error)}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard__header{flex-direction:column;gap:1rem;align-items:stretch}.examinations-grid{grid-template-columns:1fr}}.auto-save-indicator{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;font-size:14px;color:#495057;min-width:200px;box-shadow:0 2px 4px #0000001a}.status-container{display:flex;align-items:center;gap:12px}.status-icon{font-size:16px;min-width:20px;text-align:center}.status-info{flex:1;display:flex;flex-direction:column;gap:2px}.status-text{font-weight:600;color:#212529}.last-saved-text{font-size:12px;color:#6c757d}.auto-save-label{font-size:12px;color:#28a745;font-weight:500;text-align:center;padding:4px 8px;background:#d4edda;border-radius:4px}.error-message{font-size:12px;color:#dc3545;background:#f8d7da;padding:6px 8px;border-radius:4px;border:1px solid #f5c6cb;cursor:help}.status-saved{border-color:#28a745;background:#d4edda}.status-saved .status-icon{color:#28a745}.status-saved .status-text{color:#155724}.status-unsaved{border-color:#ffc107;background:#fff3cd}.status-unsaved .status-icon{color:#ffc107;animation:pulse 2s infinite}.status-unsaved .status-text{color:#856404}.status-saving{border-color:#007bff;background:#d1ecf1}.status-saving .status-icon{color:#007bff;animation:spin 1s linear infinite}.status-saving .status-text{color:#0c5460}.status-error{border-color:#dc3545;background:#f8d7da}.status-error .status-icon{color:#dc3545}.status-error .status-text{color:#721c24}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.auto-save-indicator{min-width:150px;padding:8px 12px;font-size:13px}.status-container{gap:8px}.status-icon{font-size:14px}.last-saved-text,.auto-save-label,.error-message{font-size:11px}}.auto-save-indicator.compact{padding:4px 8px;min-width:auto;flex-direction:row;align-items:center;gap:6px;font-size:12px;background:#f8f9facc;border:1px solid rgba(233,236,239,.8);box-shadow:0 1px 2px #0000000d}.auto-save-indicator.compact .status-icon{font-size:12px;min-width:14px}.auto-save-indicator.compact .last-saved-text{font-size:11px;color:#6c757d}.auto-save-indicator.compact .error-icon{font-size:12px;color:#dc3545;cursor:help}.header-auto-save{margin-left:auto;margin-right:1rem}.modal-overlay,.preview-modal-overlay,.weight-config-modal-overlay,.product-detail-modal-overlay,.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-overlay--dark,.product-detail-modal-overlay{background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal,.weight-config-modal,.product-detail-modal,.share-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:90vw;overflow:hidden;display:flex;flex-direction:column}.modal--elevated,.product-detail-modal{box-shadow:0 24px 48px #0003}.modal--rounded-lg,.product-detail-modal,.share-modal{border-radius:16px}.modal--sm{width:400px}.modal--md{width:600px}.modal--lg{width:800px}.modal--xl{width:1200px;height:80vh}.modal__header,.weight-config-modal__header,.product-detail-modal__header,.share-modal__header,.edit-product-modal__header,.edit-criterion-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border, #e5e5e5);background:var(--color-background-secondary, #f8f9fa)}.modal__header--gradient,.share-modal__header{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.modal__title,.weight-config-modal__header h2,.product-detail-modal__title,.share-modal__title,.edit-product-modal__header h2,.edit-criterion-modal__header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary, #333)}.modal__header-actions{display:flex;align-items:center;gap:.5rem}.modal__close,.weight-config-modal__close-button,.product-detail-modal__close,.share-modal__close{background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary, #666);cursor:pointer;padding:.25rem;line-height:1;border-radius:4px;transition:all .2s ease}.modal__close:hover,.weight-config-modal__close-button:hover,.product-detail-modal__close:hover,.share-modal__close:hover{background:var(--color-background-hover, #e5e5e5);color:var(--color-text-primary, #333)}.modal__content,.weight-config-modal__content,.product-detail-modal__content,.share-modal__content{flex:1;overflow:auto;padding:0}.modal__content--padded,.edit-product-modal .modal__content,.edit-criterion-modal .modal__content{padding:2rem}.modal__content iframe{width:100%;height:100%;border:none;display:block}.modal__footer,.weight-config-modal__footer,.product-detail-modal__actions,.share-modal__footer,.edit-product-modal__footer,.edit-criterion-modal__footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--color-border, #e5e5e5);background:var(--color-background-secondary, #f8f9fa)}.preview-iframe-container{height:60vh;min-height:400px;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}.preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;min-height:400px;text-align:center;color:#666;background:#f8f9fa}.preview-error__icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.preview-error__message{font-size:1.1rem;margin-bottom:.5rem}.preview-error__detail{font-size:.9rem;color:#999}.preview-error__actions{margin-top:1rem}.preview-fallback{padding:1rem;text-align:center;background:#f8f9fa;border-radius:8px;margin-top:1rem}.preview-fallback__note{font-size:.9rem;color:#666;margin:0}@media (max-width: 768px){.modal,.weight-config-modal,.product-detail-modal,.share-modal{margin:1rem;max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}.modal--xl,.modal--lg,.modal--md,.weight-config-modal,.share-modal{width:100%}.modal__header,.weight-config-modal__header,.product-detail-modal__header,.share-modal__header,.edit-product-modal__header,.edit-criterion-modal__header{padding:1rem}.modal__content--padded,.edit-product-modal .modal__content,.edit-criterion-modal .modal__content,.weight-config-modal__content,.product-detail-modal__content{padding:1.5rem}.modal__footer,.weight-config-modal__footer,.product-detail-modal__actions,.share-modal__footer,.edit-product-modal__footer,.edit-criterion-modal__footer{padding:1rem}.preview-iframe-container,.preview-error{height:50vh;min-height:300px}}@media (max-width: 480px){.modal__content--padded,.edit-product-modal .modal__content,.edit-criterion-modal .modal__content{padding:1rem}.share-modal{width:100vw;height:100vh;border-radius:0;max-height:none;margin:0}}.pdf-viewer{display:flex;flex-direction:column;height:100%;width:100%}.pdf-viewer-toolbar{display:flex;align-items:center;gap:1rem;padding:.75rem;background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);flex-shrink:0}.pdf-viewer-toolbar button{padding:.5rem 1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.875rem}.pdf-viewer-toolbar button:hover:not(:disabled){background-color:var(--color-primary-dark)}.pdf-viewer-toolbar button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:.875rem;color:var(--color-text-secondary);min-width:80px;text-align:center}.zoom-controls{display:flex;align-items:center;gap:.5rem;margin-left:auto}.zoom-level{font-size:.875rem;color:var(--color-text-secondary);min-width:50px;text-align:center}.pdf-viewer-canvas-container{flex:1;overflow:auto;padding:1rem;display:flex;justify-content:center;align-items:flex-start;background-color:var(--color-bg-subtle)}.pdf-viewer-canvas-container canvas{box-shadow:0 2px 8px #00000026;background-color:#fff}.pdf-viewer-loading,.pdf-viewer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem}.pdf-viewer-loading .spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.pdf-viewer-error .error-icon{font-size:3rem}@media (prefers-color-scheme: dark){.pdf-viewer-canvas-container canvas{box-shadow:0 2px 8px #ffffff1a}}.preview-modal-body{display:flex;flex-direction:column;height:100%;padding:var(--spacing-lg);gap:var(--spacing-md);overflow:hidden}.preview-iframe-wrapper{flex:1;display:flex;flex-direction:column}.preview-iframe-container{height:100%;min-height:300px;max-height:50vh;border:1px solid var(--color-border);border-radius:var(--border-radius-md);overflow:hidden;position:relative;background:var(--color-background-secondary)}.preview-iframe-container iframe,.preview-iframe-container object,.preview-iframe-container embed{width:100%;height:100%;border:none}.preview-iframe-container img{width:100%;height:100%;object-fit:contain;padding:1rem;box-sizing:border-box}.modal--xl .modal__content{overflow:hidden;display:flex;flex-direction:column}.preview-comment-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--border-radius-md);border:1px solid var(--color-border);flex-shrink:0}.preview-comment-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.preview-comment-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);resize:none;min-height:80px;max-height:100px;transition:border-color var(--transition-fast)}.preview-comment-textarea:focus{outline:none;border-color:var(--color-primary)}.preview-comment-textarea::placeholder{color:var(--color-text-secondary)}.preview-error{padding:var(--spacing-xl);margin:var(--spacing-lg)}.preview-error__detail{max-width:500px}.preview-fallback{border-top:1px solid var(--color-border)}.preview-modal__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.preview-modal__counter{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:0 var(--spacing-sm)}.preview-modal__divider{width:1px;height:24px;background:var(--color-border);margin:0 var(--spacing-sm)}.icon-button--link{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid transparent;border-radius:var(--border-radius-sm);color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.icon-button--link:hover{background:var(--color-background-hover);border-color:var(--color-border)}.icon-button--link .button-text{display:none}@media (min-width: 768px){.icon-button--link .button-text{display:inline}}@media (max-width: 768px){.preview-modal-body{padding:var(--spacing-md)}.preview-iframe-container{max-height:40vh;min-height:250px}}.google-drive-browser{display:flex;flex-direction:column;height:70vh;min-height:500px}.auth-section{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.auth-content h3{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary)}.auth-content p{margin:0 0 var(--spacing-lg) 0;color:var(--color-text-secondary);max-width:400px}.search-filter-bar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);align-items:center;flex-wrap:wrap}.search-input-wrapper{flex:1;min-width:250px;position:relative}.search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);padding-right:40px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:.9rem;background:var(--color-background);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-primary)}.clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);font-size:1.2rem;line-height:1;border-radius:var(--border-radius-sm);transition:background-color var(--transition-fast)}.clear-search:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.filter-controls{display:flex;gap:var(--spacing-sm)}.filter-select,.sort-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:.9rem;background:var(--color-background);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast)}.filter-select:focus,.sort-select:focus{outline:none;border-color:var(--color-primary)}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);overflow-x:auto}.breadcrumb-item.search-indicator{color:var(--color-text-secondary);font-style:italic;cursor:default}.breadcrumb-item.search-indicator:hover{background:transparent}.breadcrumb-item{background:none;border:none;color:var(--color-primary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.9rem;white-space:nowrap;transition:background-color var(--transition-fast)}.breadcrumb-item:hover{background:var(--color-background-hover)}.breadcrumb-separator{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.folder-contents{flex:1;overflow-y:auto;padding:var(--spacing-md)}.loading,.error,.empty-folder{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-secondary);font-style:italic}.error{color:var(--color-error)}.folder-section{margin-bottom:var(--spacing-lg)}.folder-section h4{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:var(--font-size-md)}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.folder-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--color-background)}.folder-item:hover{border-color:var(--color-primary);background:var(--color-background-hover);transform:translateY(-1px)}.item-icon{width:48px;height:48px;margin-bottom:var(--spacing-sm);display:flex;align-items:center;justify-content:center}.item-name{font-size:.85rem;text-align:center;color:var(--color-text-primary);word-break:break-word;line-height:1.3}.file-section h4{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:var(--font-size-md)}.file-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.file-section-actions{display:flex;gap:var(--spacing-sm)}.select-action-button{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.select-action-button:hover:not(:disabled){background:var(--color-background-hover);border-color:var(--color-primary);color:var(--color-primary)}.select-action-button:disabled{opacity:.5;cursor:not-allowed}.file-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.file-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--color-background)}.file-item:hover{border-color:var(--color-primary);background:var(--color-background-hover)}.file-item.selected{border-color:var(--color-primary);background:#0070f30d}.file-checkbox input{width:16px;height:16px;cursor:pointer}.file-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;position:relative}.file-item.folder-in-list{cursor:pointer;background:var(--color-background-secondary)}.file-item.folder-in-list:hover{background:var(--color-background-hover)}.folder-arrow{margin-left:auto;font-size:1.2rem;color:var(--color-text-secondary)}.item-icon,.file-icon{position:relative}.item-icon:before,.file-icon:before{content:"";display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:center;background-size:contain}.icon-folder:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M10 4H4c-1.11 0-2 .89-2 2v12c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2h-8l-2-2z'/%3E%3C/svg%3E")}.icon-document:before,.icon-file:before,.icon-text:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z'/%3E%3C/svg%3E")}.icon-spreadsheet:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z'/%3E%3C/svg%3E")}.icon-presentation:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M21 3H3c-1.11 0-2 .89-2 2v12c0 1.11.89 2 2 2h5v2h8v-2h5c1.11 0 1.99-.89 1.99-2L23 5c0-1.11-.89-2-2-2zm0 14H3V5h18v12z'/%3E%3C/svg%3E")}.icon-pdf:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23DC2626'%3E%3Cpath d='M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z'/%3E%3C/svg%3E")}.icon-image:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E")}.icon-video:before,.icon-audio:before,.icon-form:before,.icon-archive:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B7280'%3E%3Cpath d='M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z'/%3E%3C/svg%3E")}.file-info{flex:1;min-width:0}.file-name{font-size:.9rem;color:var(--color-text-primary);margin-bottom:2px;word-break:break-word;line-height:1.3}.file-meta{font-size:.75rem;color:var(--color-text-secondary)}.action-buttons{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-background-secondary)}.selected-count{font-size:.9rem;color:var(--color-text-secondary)}.button-group{display:flex;gap:var(--spacing-md)}@media (max-width: 768px){.google-drive-browser{height:80vh}.file-section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.file-section-actions{width:100%;justify-content:flex-start}.item-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-sm)}.folder-item{padding:var(--spacing-sm)}.item-icon{width:36px;height:36px}.item-name{font-size:.8rem}.file-item{padding:var(--spacing-sm) var(--spacing-md)}.action-buttons{flex-direction:column;gap:var(--spacing-md);align-items:stretch}.button-group{justify-content:center}}@media (max-width: 480px){.breadcrumb{padding:var(--spacing-sm)}.breadcrumb-item{padding:var(--spacing-xs);font-size:.8rem}.folder-contents{padding:var(--spacing-sm)}}.local-folder-browser-modal .modal{max-width:900px}.local-folder-browser{display:flex;flex-direction:column;gap:1rem}.browser-header{display:flex;gap:1rem;align-items:center}.search-input{flex:1}.drop-zone{min-height:450px;max-height:500px;border:2px dashed var(--color-border);border-radius:8px;padding:1.5rem;background-color:var(--color-bg-subtle);transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column}.drop-zone.dragging{border-color:var(--color-primary);background-color:#4f46e50d;box-shadow:0 0 0 4px #4f46e51a}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:1rem}.spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-message{color:var(--color-text-secondary);font-size:.875rem;text-align:center;max-width:300px;word-break:break-word}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:1rem}.empty-icon{color:var(--color-text-tertiary);opacity:.5}.empty-message{color:var(--color-text-secondary);text-align:center;line-height:1.5}.file-list-header{padding-bottom:1rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;color:var(--color-text-secondary)}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.file-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:6px;transition:all .2s ease;border:1px solid transparent}.file-item:hover{background-color:var(--color-bg-hover);border-color:var(--color-border)}.file-checkbox{flex-shrink:0;cursor:pointer;width:18px;height:18px}.file-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.file-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.file-details{flex:1;min-width:0}.file-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.file-name{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.preview-button{padding:.25rem .75rem;font-size:.75rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.preview-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.file-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--color-text-secondary);align-items:center}.file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.file-size{flex-shrink:0;background-color:var(--color-bg-subtle);padding:.125rem .5rem;border-radius:12px}.file-modified{flex-shrink:0}.file-summary{display:flex;justify-content:space-between;padding:.75rem 1rem;background-color:var(--color-bg-subtle);border-radius:6px;font-size:.875rem;color:var(--color-text-secondary)}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.file-list::-webkit-scrollbar{width:8px}.file-list::-webkit-scrollbar-track{background:var(--color-bg-subtle);border-radius:4px}.file-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.file-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media (prefers-color-scheme: dark){.drop-zone{background-color:#ffffff05}.drop-zone.dragging{background-color:#4f46e51a}.file-item:hover{background-color:#ffffff0d}.preview-button{background-color:var(--color-primary)}.preview-button:hover{background-color:var(--color-primary-dark)}}.product-details-dialog{max-width:600px;width:90vw}.form-fields{display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem 0}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.detail-textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s;background:var(--color-bg-primary)}.detail-textarea:focus{outline:none;border-color:var(--color-primary)}.link-input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.5rem;font-size:1rem;font-family:inherit;transition:border-color .2s;background:var(--color-bg-primary)}.link-input:focus{outline:none;border-color:var(--color-primary)}.question-content h3{font-size:1.25rem;margin-bottom:1rem;color:var(--color-text-primary)}.processing-animation{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.processing-animation__content{background:#fff;padding:3rem 4rem;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000001a,0 0 100px color-mix(in srgb,var(--color-primary) 50%,transparent);text-align:center;max-width:500px;width:90vw;position:relative;overflow:hidden}.processing-animation__icon-wrapper{display:flex;justify-content:center}.processing-animation__icon{position:relative;width:100px;height:100px}.processing-animation__circle{position:absolute;margin-top:20px;width:25px;height:25px;background:var(--color-primary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out;box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 60%,transparent)}.processing-animation__circle--1{left:0;animation-delay:-.32s}.processing-animation__circle--2{left:37.5px;animation-delay:-.16s}.processing-animation__circle--3{left:75px;animation-delay:0s}@keyframes bounce{0%,80%,to{transform:translateY(0) scale(1);opacity:1}40%{transform:translateY(-30px) scale(1.2);opacity:.8}}.processing-animation__title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.processing-animation__description{font-size:1rem;color:var(--color-text-muted);margin:0 0 2rem}.processing-animation__steps{display:flex;flex-direction:column;gap:1rem;margin:2rem 0;text-align:left}.processing-animation__step{display:flex;align-items:center;gap:1rem;opacity:.5;transition:opacity .3s}.processing-animation__step.completed,.processing-animation__step.active{opacity:1}.processing-animation__step-icon{width:32px;height:32px;border-radius:50%;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:var(--color-text-muted);transition:all .3s}.processing-animation__step.completed .processing-animation__step-icon{background:var(--color-success);color:#fff}.processing-animation__step.active .processing-animation__step-icon{background:var(--color-primary);color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--color-primary) 40%,transparent)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.processing-animation__step-text{font-size:.875rem;color:var(--color-text-secondary)}.processing-animation__step.active .processing-animation__step-text{color:var(--color-text-primary);font-weight:500}.processing-animation__progress{margin-top:2rem;position:relative}.processing-animation__progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;position:relative;box-shadow:inset 0 1px 3px #0000001a}.processing-animation__progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary) 70%,white) 50%,var(--color-primary) 100%);transition:width .5s ease-out;box-shadow:0 0 10px color-mix(in srgb,var(--color-primary) 50%,transparent)}.processing-animation__progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--color-primary);text-shadow:0 0 10px rgba(255,255,255,.8)}.processing-animation__content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,color-mix(in srgb,var(--color-primary) 10%,transparent) 90deg,transparent 180deg);animation:rotate 4s linear infinite;z-index:-1}@keyframes rotate{to{transform:rotate(360deg)}}.product-detail-modal-overlay{animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.product-detail-modal{background:var(--color-background);width:90%;max-width:640px;max-height:80vh;animation:slideInModal .3s ease-out;border:1px solid var(--color-border)}@keyframes slideInModal{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.product-detail-modal__header{padding:1.5rem 2rem 1rem}.product-detail-modal__close{padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center}.product-detail-modal__content{padding:2rem;max-height:calc(80vh - 140px)}.product-detail-modal__view{display:flex;flex-direction:column;gap:1.5rem}.product-detail-modal__field{display:flex;flex-direction:column;gap:.5rem}.product-detail-modal__label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.product-detail-modal__value{padding:1rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-background-secondary);min-height:40px;display:flex;align-items:center}.product-detail-modal__value--title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));color:#fff;border:none}.product-detail-modal__value--detail{white-space:pre-wrap;line-height:1.6;align-items:flex-start;min-height:100px;padding:1.25rem;background:var(--color-surface-elevated)}.product-detail-modal__value--link{font-family:monospace;font-size:.875rem;color:var(--color-primary);background:var(--color-primary-light);border-color:var(--color-primary);word-break:break-all}.product-detail-modal__edit{display:flex;flex-direction:column;gap:1.5rem}.product-detail-modal__edit .input-wrapper{display:flex;flex-direction:column;gap:.5rem}.product-detail-modal__edit .input-label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.product-detail-modal__edit .textarea{min-height:120px;resize:vertical;font-family:inherit;line-height:1.6}.product-detail-modal__edit-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-border)}.product-detail-modal__actions{padding:1rem 2rem 1.5rem}@media (max-width: 768px){.product-detail-modal{width:95%;max-height:90vh}.product-detail-modal__header,.product-detail-modal__content,.product-detail-modal__actions{padding-left:1.25rem;padding-right:1.25rem}.product-detail-modal__content{max-height:calc(90vh - 140px)}.product-detail-modal__edit-actions,.product-detail-modal__actions{flex-direction:column;gap:.75rem}.product-detail-modal__value--link{font-size:.75rem}}.product-detail-modal__content::-webkit-scrollbar{width:6px}.product-detail-modal__content::-webkit-scrollbar-track{background:var(--color-background-secondary);border-radius:3px}.product-detail-modal__content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.product-detail-modal__content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.edit-product-modal__header{margin-bottom:2rem}.edit-product-modal__nav{display:flex;align-items:center;gap:1rem}.edit-product-modal__counter{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.edit-product-modal__form{display:flex;flex-direction:column;gap:1.5rem}.edit-product-modal__form .input-wrapper{margin-bottom:0}.edit-product-modal__form textarea{min-height:150px;resize:vertical}.edit-product-modal__footer{margin-top:2rem;padding-top:2rem}.edit-product-modal .security-notice{background:var(--color-background-secondary);padding:1rem;border-radius:8px;border:1px solid var(--color-border);text-align:center}@media (max-width: 768px){.edit-product-modal__header{flex-direction:column;gap:1rem;align-items:flex-start}.edit-product-modal__nav{width:100%;justify-content:center}}@media (max-width: 480px){.edit-product-modal__form{gap:1rem}}.compact-preview{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;height:100%;position:relative}.compact-preview__external-link{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;background:#ffffffe6;border-radius:4px;z-index:10;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.compact-preview__external-link:hover{background:#fff;color:var(--color-primary);transform:scale(1.05)}.compact-preview__content{flex:1;position:relative;overflow:hidden;min-height:250px}.compact-preview__iframe{width:100%;height:100%;border:none}.compact-preview__comment{padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-bg-secondary);height:100px;overflow-y:auto;flex-shrink:0}.compact-preview__comment-label{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.25rem}.compact-preview__comment-text{font-size:.875rem;color:var(--color-text-primary);line-height:1.4;word-break:break-word;white-space:pre-wrap}.compact-edit{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;height:100%}.compact-edit__header{padding:.75rem 1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.compact-edit__title{font-size:.875rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-edit__content{flex:1;padding:1rem;overflow-y:auto}.compact-edit__field{margin-bottom:1rem}.compact-edit__field:last-child{margin-bottom:0}.compact-edit__label{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.25rem}.compact-edit__value{font-size:.875rem;color:var(--color-text-primary);word-break:break-word}.compact-edit__value--multiline{white-space:pre-wrap;line-height:1.4;max-height:150px;overflow-y:auto}.compact-edit__link{font-size:.875rem;color:var(--color-primary);text-decoration:none;word-break:break-all}.compact-edit__link:hover{text-decoration:underline}.evaluation-line-quick .evaluation-line-label{color:#fff;background:none;text-shadow:0 2px 4px rgba(0,0,0,.5);box-shadow:none;font-weight:700;font-size:1rem;padding:0}.evaluation-line-quick::-webkit-scrollbar{width:12px}.evaluation-line-quick::-webkit-scrollbar-track{background:#0003;border-radius:6px;margin:10px 0}.evaluation-line-quick::-webkit-scrollbar-thumb{background:#ffffffb3;border-radius:6px;border:2px solid transparent;background-clip:content-box}.evaluation-line-quick::-webkit-scrollbar-thumb:hover{background:#ffffffe6;background-clip:content-box}.quick-evaluation{width:100%;max-width:1200px;margin:0 auto;padding:1rem 2rem;background:var(--color-background-primary);min-height:100vh}.quick-evaluation__header{text-align:center;margin-bottom:1rem}.quick-evaluation__header h2{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.75rem}.quick-evaluation__progress{background:#fff;padding:1.5rem;border-radius:.75rem;border:1px solid var(--color-border);box-shadow:0 1px 3px #0000001a}.evaluation-progress-compact{background:#fff;padding:1.5rem;border-radius:.75rem;border:1px solid var(--color-border);text-align:center;margin-bottom:1rem}.eval-title{font-size:1.375rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .75rem}.eval-current{font-size:1.125rem;color:var(--color-primary);margin-bottom:.5rem;padding:.5rem;border-radius:8px;transition:all .2s ease}.eval-current:hover{background:var(--color-primary-light);transform:translateY(-1px)}.eval-progress{font-size:.875rem;color:var(--color-text-secondary)}.criterion-description-compact{background:var(--color-background-secondary);padding:1rem;border-radius:.5rem;text-align:center;margin-bottom:1.5rem;font-size:.875rem;color:var(--color-text-secondary);border:1px solid var(--color-border)}.completion-message-old{display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--color-success);font-weight:600;font-size:1.125rem}.completion-icon{width:1.5rem;height:1.5rem}.progress-info{display:flex;flex-direction:column;gap:.75rem;align-items:center}.progress-info>span{color:var(--color-text-secondary);font-size:1rem;font-weight:500}.current-item{font-weight:600;color:var(--color-text-primary);font-size:1.25rem;padding:.5rem 1rem;background:var(--color-primary-light);border-radius:.5rem}.product-card{background:#fff;border:1px solid var(--color-border);border-radius:.75rem;padding:2.5rem;box-shadow:0 1px 3px #0000001a;text-align:center}.product-card h3{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.5rem}.product-card p{color:var(--color-text-secondary);margin-bottom:1rem;line-height:1.6;font-size:1rem}.product-link{color:var(--color-primary);text-decoration:none;font-weight:600;font-size:1rem}.product-link:hover{text-decoration:underline}.criterion-info{background:#fff;border:1px solid var(--color-border);border-radius:.75rem;padding:2rem;margin-bottom:2rem;text-align:center;box-shadow:0 1px 3px #0000001a}.criterion-info h3{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.375rem}.criterion-info p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:.5rem}.instruction{color:var(--color-primary)!important;font-weight:600;font-size:1.125rem}.evaluation-area{margin-bottom:2rem;text-align:center;display:flex;justify-content:center;align-items:center;width:100%}.evaluation-area h3{text-align:center;color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.375rem}.evaluation-instruction{text-align:center;color:var(--color-text-secondary);margin-bottom:2rem;font-size:1rem}.evaluation-line-wide{position:relative;height:360px;width:100%;max-width:100%;background:#fff;border:3px solid var(--color-primary);border-radius:1rem;cursor:crosshair;margin:0 auto 1.5rem;overflow:hidden;transition:all .2s ease;box-shadow:0 4px 12px #0000001a}.evaluation-line-wide:hover{border-color:var(--color-primary-dark);box-shadow:0 0 0 4px #3b82f61a}.grade-background-wide{position:absolute;top:0;left:0;right:0;bottom:0;display:flex}.grade-section-wide{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;opacity:.7;border-right:2px solid rgba(255,255,255,.3);transition:opacity .2s ease}.grade-section-wide:hover{opacity:.9}.grade-section-wide.grade-a{background:linear-gradient(135deg,var(--color-grade-a),var(--color-grade-a))}.grade-section-wide.grade-b{background:linear-gradient(135deg,var(--color-grade-b),var(--color-grade-b))}.grade-section-wide.grade-c{background:linear-gradient(135deg,var(--color-grade-c),var(--color-grade-c))}.grade-section-wide.grade-d{background:linear-gradient(135deg,var(--color-grade-d),var(--color-grade-d))}.grade-content{text-align:center;color:#fff}.grade-label{font-weight:700;color:#fff;font-size:3rem;text-shadow:2px 2px 4px rgba(0,0,0,.6);letter-spacing:-2px;margin-bottom:.5rem}.grade-description{font-size:1rem;font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,.5);white-space:pre-wrap;line-height:1.3}.evaluation-track-wide{display:none}.placed-item-wide{position:absolute;background:var(--color-background);border:2px solid var(--color-primary);border-radius:8px;padding:.5rem .75rem;min-width:90px;font-size:.75rem;font-weight:600;white-space:nowrap;z-index:10;box-shadow:0 2px 8px #0000001a;transform:translate(-50%);transition:all .2s ease;color:var(--color-text-primary);text-align:center;-webkit-user-select:none;user-select:none;cursor:pointer}.placed-item-wide:hover{transform:translate(-50%) translateY(-3px);box-shadow:0 6px 20px #00000026;border-color:var(--color-primary-dark)}.preview-item{position:absolute;background:var(--color-primary);color:#fff;border:2px solid var(--color-primary-dark);border-radius:8px;padding:.5rem .75rem;min-width:90px;font-size:.75rem;font-weight:600;white-space:nowrap;z-index:15;box-shadow:0 6px 12px #3b82f64d;transform:translate(-50%);animation:pulse 1s infinite;text-align:center;-webkit-user-select:none;user-select:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.evaluation-line-quick{position:relative;height:600px;width:100%;background:#fff;border:3px solid var(--color-primary);border-radius:.75rem;cursor:crosshair;overflow:hidden;padding:2rem 1.5rem 6rem;transition:all .2s ease;z-index:1}.evaluation-line-quick:hover{border-color:var(--color-primary-dark);box-shadow:0 0 0 4px #3b82f61a}.grade-section{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;flex-direction:column;opacity:.7;border-right:2px solid rgba(255,255,255,.3);transition:opacity .2s ease;z-index:1}.grade-section:hover{opacity:.9}.grade-section.grade-a{background:linear-gradient(135deg,var(--color-grade-a),var(--color-grade-a))}.grade-section.grade-b{background:linear-gradient(135deg,var(--color-grade-b),var(--color-grade-b))}.grade-section.grade-c{background:linear-gradient(135deg,var(--color-grade-c),var(--color-grade-c))}.grade-section.grade-d{background:linear-gradient(135deg,var(--color-grade-d),var(--color-grade-d))}.grade-explanation{text-align:center;padding:1rem;margin:1rem 0 2rem;color:var(--color-text-secondary);font-size:.95rem;line-height:1.4}.quick-evaluation__actions{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-secondary)}.empty-state h2{color:var(--color-text-primary);margin-bottom:1rem}.completion-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;min-height:500px;background:#fff;border-radius:1rem;box-shadow:0 4px 12px #0000001a;margin:2rem auto;max-width:600px}.completion-icon-large{width:4rem;height:4rem;background:var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;animation:completion-bounce .6s ease-out}.completion-icon-large svg{width:2rem;height:2rem;color:#fff;stroke-width:3}@keyframes completion-bounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.completion-title{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;margin-top:0}.completion-subtitle{font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:2rem;margin-top:0}.completion-stats{display:flex;gap:2rem;margin-bottom:2.5rem}.stat-box{background:var(--color-background-secondary);border-radius:.75rem;padding:1.5rem;min-width:100px;border:1px solid var(--color-border)}.stat-number{font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.completion-actions{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:300px}.completion-actions .button--lg{padding:1rem 2rem;font-size:1.125rem;font-weight:600}.completion-actions .button--sm{padding:.75rem 1.5rem;font-size:.875rem}.criterion-complete-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;min-height:60vh}.completion-icon-medium{width:4rem;height:4rem;background:var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1.5rem;box-shadow:0 4px 12px #10b9814d}.completion-icon-medium svg{width:2rem;height:2rem}.criterion-complete-title{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.criterion-complete-subtitle{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1rem}.next-criterion-info,.final-criterion-info{background:var(--color-background-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--color-border);margin-top:1rem}.next-criterion-info p,.final-criterion-info p{margin-bottom:1rem;color:var(--color-text-secondary)}.next-criterion-info strong{color:var(--color-primary)}.criterion-navigation{display:flex;justify-content:flex-end;margin-top:1rem}.criterion-progress{font-size:.875rem;color:var(--color-text-tertiary);margin-left:.5rem}.evaluation-area{transition:opacity .3s ease,transform .3s ease}.evaluation-area.transitioning{opacity:.5;transform:scale(.98)}.progress-indicator{display:flex;align-items:center;justify-content:space-between;background:var(--color-background-secondary);padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;border:1px solid var(--color-border)}.progress-items{display:flex;gap:.5rem;flex-wrap:wrap}.progress-item{width:2rem;height:2rem;border-radius:50%;background:var(--color-background);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);transition:all .2s ease}.progress-item.completed{background:var(--color-success);border-color:var(--color-success);color:#fff}.progress-item.current{background:var(--color-primary);border-color:var(--color-primary);color:#fff;animation:pulse 2s infinite}.progress-text{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.keyboard-shortcuts{display:flex;align-items:center;color:var(--color-text-tertiary);font-size:.75rem;margin-left:1rem}.keyboard-shortcuts small{opacity:.8;font-style:italic}@media (max-width: 1200px){.quick-evaluation{padding:1.5rem 2rem}.evaluation-line-wide{height:300px}.grade-label{font-size:2.5rem}}@media (max-width: 1024px){.quick-evaluation{padding:1.5rem 1rem}.evaluation-line-wide{height:280px;width:90vw;max-width:1000px}.grade-label{font-size:2rem}.grade-description{font-size:.875rem}}@media (max-width: 768px){.quick-evaluation{padding:1rem}.evaluation-progress-compact{padding:1rem;margin-bottom:1rem}.eval-title{font-size:1.125rem}.eval-current{font-size:1rem}.criterion-description-compact{padding:.75rem;font-size:.8rem;margin-bottom:1rem}.evaluation-line-wide{height:280px;width:95vw;max-width:600px}.grade-label{font-size:1.5rem}.grade-description{font-size:.75rem;line-height:1.2}}@media (min-width: 1600px){.quick-evaluation{max-width:2000px;padding:2rem 4rem}.evaluation-line-wide{height:400px;width:80vw;max-width:1600px}.grade-label{font-size:3.5rem}}@media (min-width: 2000px){.quick-evaluation{max-width:2400px;padding:2rem 5rem}.evaluation-line-wide{height:450px;width:75vw;max-width:1800px}.grade-label{font-size:4rem}}@media (max-width: 768px){.criterion-complete-screen{padding:2rem 1rem;min-height:50vh}.criterion-navigation{justify-content:center;margin-top:.5rem}.eval-progress .criterion-progress{display:block;margin-left:0;margin-top:.25rem}}.completion-banner{background:linear-gradient(135deg,var(--color-success-light),var(--color-success));border-radius:.75rem;padding:1.5rem 2rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 12px #10b98133;animation:slide-down .4s ease-out}@keyframes slide-down{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.completion-banner__content{display:flex;align-items:center;gap:1rem;color:#fff}.completion-banner__content svg{width:2rem;height:2rem;flex-shrink:0}.completion-banner__content h3{font-size:1.25rem;font-weight:600;margin:0}.completion-banner__content p{font-size:.875rem;opacity:.9;margin:0}.completion-banner__actions{display:flex;gap:.75rem}.completion-banner__actions .button{white-space:nowrap}.criterion-tabs-complete{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.5rem;background:var(--color-background-secondary);border-radius:.75rem;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.criterion-tabs-complete::-webkit-scrollbar{height:6px}.criterion-tabs-complete::-webkit-scrollbar-track{background:transparent}.criterion-tabs-complete::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.criterion-tabs-complete .criterion-tab{flex:1;min-width:200px;padding:.75rem 1rem;background:#fff;border:1px solid var(--color-border);border-radius:.5rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.criterion-tabs-complete .criterion-tab:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.criterion-tabs-complete .criterion-tab.active{background:var(--color-primary);border-color:var(--color-primary-dark);color:#fff}.criterion-tab__title{font-size:.875rem;font-weight:600}.criterion-tab__status{font-size:.75rem;opacity:.8;color:var(--color-success);font-weight:500}.criterion-tabs-complete .criterion-tab.active .criterion-tab__status{color:#ffffffe6}.evaluation-area.completed{opacity:.9;pointer-events:none}.evaluation-area.completed .evaluation-line-wide{cursor:default;border-color:var(--color-success)}.evaluation-area.completed .placed-item-wide{pointer-events:auto;cursor:pointer}@media (max-width: 768px){.completion-banner{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.completion-banner__actions{width:100%;flex-direction:column}.completion-banner__actions .button{width:100%}.criterion-tabs-complete{gap:.375rem;padding:.375rem}.criterion-tabs-complete .criterion-tab{min-width:200px;padding:.5rem .75rem}.criterion-tab__title{font-size:.75rem}.criterion-tab__status{font-size:.625rem}}.quick-evaluation-container{display:flex;gap:1rem;width:100%;min-height:100vh;position:relative}.quick-evaluation-main{flex:1;min-width:0;transition:all .3s ease;padding-right:0}.quick-evaluation-container:not(:has(.quick-evaluation-side)) .quick-evaluation-main{width:100%}.product-card--hovering{border:2px solid var(--color-primary);box-shadow:0 0 0 3px #3b82f61a;transform:scale(1.02);transition:all .2s ease}.side-panel-header{padding:1rem;background:var(--color-primary);color:#fff;text-align:center;font-weight:600;border-radius:8px 8px 0 0;margin-bottom:0}.side-panel-label{font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.quick-evaluation-side{width:400px;height:80vh;position:fixed;right:1rem;top:50%;transform:translateY(-50%);z-index:100;flex-shrink:0;border-radius:8px;box-shadow:0 10px 25px #00000026;overflow:hidden;background:#fff}@media (max-width: 1200px){.quick-evaluation-container{flex-direction:column}.quick-evaluation-main{max-width:100%}.quick-evaluation-side{width:100%;height:400px;position:static}}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.difference-dialog-container{display:flex;gap:1rem;align-items:center;justify-content:center;width:95vw;max-width:1600px;height:85vh}.difference-dialog-panel{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;overflow:hidden}.difference-dialog-panel--left,.difference-dialog-panel--right{flex:1.2;max-width:500px;height:100%}.difference-dialog-panel--center{flex:1;max-width:450px;max-height:100%}.panel-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.grade-badge{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;font-weight:600;font-size:1rem}.grade-badge--high{background:var(--color-success-light, #e6fffa);color:var(--color-success, #10b981)}.grade-badge--low{background:var(--color-warning-light, #fef3c7);color:var(--color-warning, #f59e0b)}.product-title{font-size:.875rem;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-content{flex:1;padding:1rem;overflow:hidden;display:flex;flex-direction:column}.dialog-content{background:#fff;border-radius:12px;max-height:100%;overflow:hidden;display:flex;flex-direction:column;width:100%;height:100%}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border)}.dialog-header h2{font-size:1.25rem;margin:0}.dialog-close{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-text-muted);transition:color .2s}.dialog-close:hover{color:var(--color-text-primary)}.dialog-body{padding:2rem;overflow-y:auto;flex:1}.question-progress{margin-bottom:1.5rem}.question-progress span{display:block;margin-bottom:.5rem;font-size:.875rem;color:var(--color-text-muted)}.progress-bar{width:100%;height:8px;background:var(--color-bg-secondary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.question-content h3{font-size:1.125rem;line-height:1.5;margin-bottom:1rem;color:var(--color-text-primary)}.question-hint{padding:.75rem 1rem;background:var(--color-info-bg);color:var(--color-info-text);border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem}.explanation-textarea{width:100%;padding:1rem;border:1px solid var(--color-border);border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.explanation-textarea:focus{outline:none;border-color:var(--color-primary)}.dialog-footer{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}@media (max-width: 1200px){.difference-dialog-container{flex-direction:column;height:90vh}.difference-dialog-panel--left,.difference-dialog-panel--right{display:none}.difference-dialog-panel--center{max-width:700px;width:100%}}@media (max-width: 768px){.dialog-body,.dialog-header{padding:1rem}.dialog-header h2{font-size:1rem}}.weight-config-modal-overlay{padding:1rem}.weight-config-modal{max-width:700px;width:100%}.weight-config-modal__header{padding:1.5rem 2rem}.weight-config-modal__close-button{padding:.5rem;border-radius:6px}.weight-config-modal__close-button svg{width:1.25rem;height:1.25rem}.weight-config-modal__content{padding:2rem}.weight-config-modal__description{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.5}.weight-config-modal__actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.weight-total{color:var(--color-text-secondary);font-weight:500}.weight-warning{color:var(--color-warning);font-weight:600}.weight-ok{color:var(--color-success);font-weight:600}.weight-config-table{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center}.weight-config-table__header{display:contents;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-border)}.weight-config-table__header>div{padding-bottom:.75rem;border-bottom:2px solid var(--color-border)}.weight-config-table__row{display:contents}.weight-config-table__row>div{padding:.75rem 0;border-bottom:1px solid var(--color-border-light)}.criterion-name{display:flex;flex-direction:column;gap:.25rem}.criterion-title{font-weight:600;color:var(--color-text-primary)}.criterion-description{font-size:.875rem;color:var(--color-text-secondary);line-height:1.4}.weight-input-container,.max-points-input-container{display:flex;justify-content:center}.weight-input,.max-points-input{width:80px;padding:.5rem;border:1px solid var(--color-border);border-radius:6px;text-align:center;font-size:.875rem;transition:border-color .2s ease}.weight-input:focus,.max-points-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.weight-config-modal__footer{padding:1.5rem 2rem}@media (max-width: 768px){.weight-config-modal-overlay{padding:.5rem}.weight-config-modal{max-height:95vh}.weight-config-table{grid-template-columns:1fr;gap:.5rem}.weight-config-table__header{display:none}.weight-config-table__row{display:block;background:var(--color-background-secondary);border-radius:8px;padding:1rem;margin-bottom:1rem}.weight-config-table__row>div{border-bottom:none;padding:.25rem 0}.weight-input-container,.max-points-input-container{justify-content:flex-start;margin-top:.5rem}.weight-input-container:before{content:"重み: ";margin-right:.5rem;font-weight:500}.max-points-input-container:before{content:"満点: ";margin-right:.5rem;font-weight:500}}.invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.invite-card{background:#fff;border-radius:16px;box-shadow:0 25px 50px #0003;max-width:500px;width:100%;padding:3rem;text-align:center;position:relative;overflow:hidden}.invite-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.invite-card--success:before{background:linear-gradient(90deg,#10b981,#059669)}.invite-card--error:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.invite-icon{font-size:4rem;margin-bottom:1.5rem;display:block}.invite-card h1{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem;line-height:1.3}.invite-card p{color:var(--color-text-secondary);line-height:1.6;margin:0 0 1.5rem}.redirect-message{font-style:italic;color:var(--color-success);font-size:.875rem}.error-message{background:linear-gradient(135deg,#fef2f2,#ffeef0);border:1px solid #fecaca;border-radius:12px;padding:1rem;margin:1.5rem 0;display:flex;align-items:center;gap:.75rem;text-align:left}.error-icon{font-size:1.25rem;flex-shrink:0}.error-message p{margin:0;color:var(--color-error-dark);font-weight:500}.invite-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0;flex-wrap:wrap}.invite-info{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border);text-align:left}.invite-info h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem;text-align:center}.invite-info ul{list-style:none;padding:0;margin:0}.invite-info li{color:var(--color-text-secondary);position:relative;padding:.5rem 0 .5rem 1.5rem}.invite-info li:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:700}@media (max-width: 768px){.invite-page{padding:1rem}.invite-card{padding:2rem}.invite-card h1{font-size:1.5rem}.invite-actions{flex-direction:column}.invite-actions .button{width:100%}}@media (max-width: 480px){.invite-page{padding:.5rem}.invite-card{padding:1.5rem;border-radius:12px}.invite-icon{font-size:3rem}.invite-card h1{font-size:1.25rem}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-secondary) 100%);padding:20px}.auth-card{background:var(--color-surface);padding:2rem;border-radius:12px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px}.auth-title{text-align:center;font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.auth-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:2rem;font-size:.9rem}.auth-tabs{display:flex;border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem}.auth-tab{flex:1;padding:.75rem;border:none;background:none;cursor:pointer;font-size:1rem;color:var(--color-text-secondary);border-bottom:2px solid transparent;transition:all .2s ease}.auth-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.auth-tab:hover{color:var(--color-primary)}.auth-error{background:var(--color-error-light, #fee);color:var(--color-error);padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;border:1px solid var(--color-error-light, #fcc)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.auth-footer p{color:var(--color-text-secondary);font-size:.9rem;margin:0}.auth-link{color:var(--color-primary);background:none;border:none;cursor:pointer;text-decoration:underline;font-size:.9rem;margin-left:.25rem}.auth-link:hover{color:#5a6fd8}.privacy-policy{min-height:100vh;background-color:var(--color-background);padding:var(--spacing-2xl) 0}.privacy-policy .container{max-width:800px;margin:0 auto;padding:0 var(--spacing-lg)}.privacy-policy__header{margin-bottom:var(--spacing-2xl)}.privacy-policy__header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.privacy-policy__subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.privacy-policy__content{line-height:var(--line-height-relaxed)}.privacy-policy__section{margin-bottom:var(--spacing-xl)}.privacy-policy__section h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.privacy-policy__section h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.privacy-policy__section p{color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.privacy-policy__section ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.privacy-policy__section li{color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.privacy-policy__footer{margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.privacy-policy__footer p{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs)}.privacy-policy__footer p:last-child{margin-bottom:0}@media (max-width: 768px){.privacy-policy{padding:var(--spacing-lg) 0}.privacy-policy .container{padding:0 var(--spacing-md)}.privacy-policy__header h1{font-size:var(--font-size-xl)}.privacy-policy__section h2{font-size:var(--font-size-base)}}.terms-of-service{min-height:100vh;background-color:var(--color-background);padding:var(--spacing-2xl) 0}.terms-of-service .container{max-width:800px;margin:0 auto;padding:0 var(--spacing-lg)}.terms-of-service__header{margin-bottom:var(--spacing-2xl)}.terms-of-service__header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.terms-of-service__subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.terms-of-service__content{line-height:var(--line-height-relaxed)}.terms-of-service__section{margin-bottom:var(--spacing-xl)}.terms-of-service__section h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.terms-of-service__section p{color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.terms-of-service__section ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.terms-of-service__section li{color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.contact-info{background-color:var(--color-background-secondary);padding:var(--spacing-md);border-radius:var(--border-radius-sm);margin-top:var(--spacing-md)}.contact-info p{margin-bottom:var(--spacing-xs);font-size:var(--font-size-base)}.contact-info p:last-child{margin-bottom:0}.terms-of-service__footer{margin-top:var(--spacing-2xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.terms-of-service__footer p{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs)}.terms-of-service__footer p:last-child{margin-bottom:0}@media (max-width: 768px){.terms-of-service{padding:var(--spacing-lg) 0}.terms-of-service .container{padding:0 var(--spacing-md)}.terms-of-service__header h1{font-size:var(--font-size-xl)}.terms-of-service__section h2{font-size:var(--font-size-base)}}.enterprise-quote{min-height:100vh;background-color:var(--color-background);padding:var(--spacing-xl) 0}.enterprise-quote .container{max-width:900px;margin:0 auto;padding:0 var(--spacing-lg)}.quote-header{text-align:center;margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.quote-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.quote-subtitle{display:inline-block;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-lg)}.quote-subtitle.academic{background:#9c27b0}.quote-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:600px;margin:0 auto}.quote-form{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-3xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light)}.form-section{margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border-light)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-primary-100)}.enterprise-quote.academic .form-section h2{color:#9c27b0;border-bottom-color:#9c27b033}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-group{display:flex;flex-direction:column}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background);transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0066ff1a}.enterprise-quote.academic .form-group input:focus,.enterprise-quote.academic .form-group textarea:focus,.enterprise-quote.academic .form-group select:focus{border-color:#9c27b0;box-shadow:0 0 0 3px #9c27b01a}.form-group textarea{resize:vertical;min-height:80px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.checkbox-item{display:flex;align-items:center;padding:var(--spacing-sm);border-radius:var(--border-radius-md);background:var(--color-background-secondary);border:1px solid var(--color-border-light);cursor:pointer;transition:all var(--transition-fast)}.checkbox-item:hover{background:var(--color-background-hover);border-color:var(--color-border)}.checkbox-item input[type=checkbox]{margin-right:var(--spacing-sm);margin-bottom:0;transform:scale(1.2)}.checkbox-item span{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal)}.form-actions{text-align:center;margin-top:var(--spacing-3xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border-light)}.submit-button{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-inverse);border:none;padding:var(--spacing-lg) var(--spacing-3xl);border-radius:var(--border-radius-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);margin-bottom:var(--spacing-lg)}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-button.academic{background:linear-gradient(135deg,#9c27b0,#7b1fa2)}.form-note{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-relaxed);margin:0}.quote-success{text-align:center;max-width:500px;margin:var(--spacing-4xl) auto;padding:var(--spacing-3xl);background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light)}.success-icon{width:80px;height:80px;background:var(--color-success);color:var(--color-text-inverse);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 auto var(--spacing-lg) auto}.success-icon.academic{background:#9c27b0;font-size:var(--font-size-2xl)}.quote-success h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.quote-success p{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl)}.success-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.button-primary{background:var(--color-primary);color:var(--color-text-inverse);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;display:inline-block}.button-primary:hover{background:var(--color-primary-dark)}.button-primary.academic{background:#9c27b0}.button-primary.academic:hover{background:#7b1fa2}.button-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;display:inline-block}.button-secondary:hover{background:var(--color-background-hover);border-color:var(--color-border-strong);color:var(--color-text-primary)}@media (max-width: 768px){.enterprise-quote{padding:var(--spacing-lg) 0}.enterprise-quote .container{padding:0 var(--spacing-md)}.quote-form{padding:var(--spacing-xl)}.form-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.checkbox-grid{grid-template-columns:1fr}.quote-header h1{font-size:var(--font-size-2xl)}.quote-description{font-size:var(--font-size-base)}.submit-button{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base)}.success-actions{flex-direction:column}}@media (max-width: 480px){.enterprise-quote .container{padding:0 var(--spacing-sm)}.quote-form{padding:var(--spacing-lg)}.quote-header h1{font-size:var(--font-size-xl)}.form-section h2{font-size:var(--font-size-lg)}}@media print{.enterprise-quote{background:#fff}.quote-form{box-shadow:none;border:1px solid #ccc}.form-actions{display:none}}
