.spinner-container{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-8);justify-content:center;color:var(--color-text-muted);font-size:var(--text-sm)}.spinner{width:1.25rem;height:1.25rem;border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.ui-field{margin-bottom:var(--space-6)}.ui-field__label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.ui-field__required{color:var(--color-error-text);margin-left:2px}.ui-field__help{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.ui-field__error-text{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-error-text)}.ui-field input,.ui-field select,.ui-field textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ui-field input:focus,.ui-field select:focus,.ui-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.ui-field--error input,.ui-field--error select,.ui-field--error textarea{border-color:var(--color-error-text)}.ui-field--error input:focus,.ui-field--error select:focus,.ui-field--error textarea:focus{box-shadow:0 0 0 3px #b91c1c26}.ui-control{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ui-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.ui-control--full{width:100%}.ui-checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer}.ui-checkbox-label input[type=checkbox]{accent-color:var(--color-primary)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-lg);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;line-height:1}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn--sm{padding:6px 12px;font-size:var(--text-xs)}.ui-btn--md{padding:8px 16px;font-size:var(--text-sm)}.ui-btn--lg{padding:10px 20px;font-size:var(--text-base)}.ui-btn--primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.ui-btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.ui-btn--secondary{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border)}.ui-btn--secondary:hover:not(:disabled){background-color:var(--color-surface-subtle);border-color:var(--color-border-strong)}.ui-btn--ghost{background-color:transparent;color:var(--color-text-secondary);border:none}.ui-btn--ghost:hover:not(:disabled){background-color:var(--color-surface-raised);color:var(--color-text-primary)}.ui-btn--danger{background-color:var(--color-error-text);color:var(--color-text-inverse)}.ui-btn--danger:hover:not(:disabled){background-color:#991b1b}.ui-btn--success{background-color:var(--color-success-text);color:var(--color-text-inverse)}.ui-btn--success:hover:not(:disabled){background-color:#166534}.ui-btn__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .7s linear infinite}.ui-alert{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border-left:4px solid;margin-bottom:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-normal)}.ui-alert--error{background-color:var(--color-error-bg);color:var(--color-error-text);border-left-color:var(--color-error-text)}.ui-alert--success{background-color:var(--color-success-bg);color:var(--color-success-text);border-left-color:var(--color-success-text)}.ui-alert--warning{background-color:var(--color-warning-bg);color:var(--color-warning-text);border-left-color:var(--color-warning-text)}.ui-alert--info{background-color:var(--color-info-bg);color:var(--color-info-text);border-left-color:var(--color-info-text)}.ui-alert__icon{flex-shrink:0;font-size:var(--text-lg);line-height:1}.ui-alert__content{flex:1;min-width:0}.ui-alert__title{font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.ui-alert__dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:0;font-size:var(--text-lg);line-height:1}.ui-alert__dismiss:hover{opacity:1}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%)}.login-container{background:var(--color-surface);padding:var(--space-10);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:420px}.login-container h1{text-align:center;color:var(--color-text-primary);margin-bottom:var(--space-1);font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:-.02em}.login-container h2{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-normal);margin-bottom:var(--space-8)}.login-container .ui-field{margin-bottom:var(--space-5)}.login-container .ui-btn{width:100%;padding:var(--space-3);margin-top:var(--space-2)}.forgot-password-link{text-align:right;margin-top:calc(-1 * var(--space-3));margin-bottom:var(--space-4)}.forgot-password-link a{color:var(--color-primary);text-decoration:none;font-size:var(--text-sm)}.forgot-password-link a:hover{text-decoration:underline}.forgot-password-description{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-5);line-height:1.5}.forgot-password-back{text-align:center;margin-top:var(--space-5)}.forgot-password-back a{color:var(--color-primary);text-decoration:none;font-size:var(--text-sm)}.forgot-password-back a:hover{text-decoration:underline}.ui-page-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6)}.ui-page-header__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.ui-page-header__left{flex:1;min-width:0}.ui-page-header__back{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);margin-bottom:var(--space-3);transition:color var(--transition-fast)}.ui-page-header__back:hover{color:var(--color-primary)}.ui-page-header__title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ui-page-header__title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.ui-page-header__description{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.ui-page-header__actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.ui-skeleton{background:linear-gradient(90deg,var(--color-surface-raised) 25%,var(--color-border) 50%,var(--color-surface-raised) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.ui-skeleton--text{height:14px;margin-bottom:var(--space-2)}.ui-skeleton--text:last-child{width:60%}.ui-skeleton--rect{border-radius:var(--radius-md)}.ui-skeleton--circle{border-radius:50%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}.ui-table{width:100%;border-collapse:collapse}.ui-table thead th{background-color:var(--color-surface-subtle);font-weight:var(--font-semibold);color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;position:sticky;top:0;z-index:1}.ui-table thead th.ui-table--right{text-align:right}.ui-table thead th.ui-table--center{text-align:center}.ui-table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-primary);vertical-align:middle}.ui-table tbody td.ui-table--right{text-align:right}.ui-table tbody td.ui-table--center{text-align:center}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr:hover{background-color:var(--color-surface-subtle)}.ui-table--clickable tbody tr{cursor:pointer}.ui-table--clickable tbody tr:active{background-color:var(--color-surface-raised)}.ui-table__empty{text-align:center;padding:var(--space-12) var(--space-8);color:var(--color-text-muted);font-size:var(--text-sm)}.ui-table__skeleton-row td{padding:var(--space-4)}.ui-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-weight:var(--font-semibold);white-space:nowrap;line-height:1.4}.ui-badge--sm{font-size:11px;padding:1px 8px}.ui-badge--md{font-size:var(--text-xs)}.ui-badge--required{background:var(--color-required-bg);color:var(--color-required-text)}.ui-badge--good-to-have{background:var(--color-good-bg);color:var(--color-good-text)}.ui-badge--not-required{background:var(--color-not-required-bg);color:var(--color-not-required-text)}.ui-badge--published{background:var(--color-published-bg);color:var(--color-published-text)}.ui-badge--draft{background:var(--color-draft-bg);color:var(--color-draft-text)}.ui-badge--enabled{background:var(--color-required-bg);color:var(--color-required-text)}.ui-badge--disabled{background:var(--color-not-required-bg);color:var(--color-not-required-text)}.ui-badge--completed{background:var(--color-required-bg);color:var(--color-required-text)}.ui-badge--pending{background:var(--color-surface-raised);color:var(--color-text-secondary)}.ui-badge--parsed{background:var(--color-required-bg);color:var(--color-required-text)}.ui-badge--missing{background:var(--color-not-required-bg);color:var(--color-not-required-text)}.ui-badge--info{background:var(--color-info-bg);color:var(--color-info-text)}.ui-badge--neutral{background:var(--color-surface-raised);color:var(--color-text-secondary)}.ui-badge--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.admin-page{background:var(--color-surface);padding:var(--space-8);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.admin-page h1{margin-bottom:var(--space-8);color:var(--color-text-primary)}.admin-form{max-width:500px}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);transition:all var(--transition-base)}.ui-card--sm{padding:var(--space-4)}.ui-card--md{padding:var(--space-6)}.ui-card--lg{padding:var(--space-8)}.ui-card--clickable{cursor:pointer}.ui-card--clickable:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #0f172a1f;transform:translateY(-1px)}.ui-card--clickable:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-ring);border-color:var(--color-primary)}.ui-card--no-border{border:none;box-shadow:var(--shadow-sm)}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-8)}.ui-modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;width:100%}.ui-modal--sm{max-width:400px}.ui-modal--md{max-width:600px}.ui-modal--lg{max-width:800px}.ui-modal--xl{max-width:1000px}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--color-border);flex-shrink:0}.ui-modal__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.ui-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xl);transition:all var(--transition-fast);padding:0}.ui-modal__close:hover{background:var(--color-surface-raised);color:var(--color-text-primary)}.ui-modal__body{padding:var(--space-8);overflow-y:auto;flex:1}.ui-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-8);border-top:1px solid var(--color-border);flex-shrink:0}.ui-tabs{display:flex;gap:0;margin-bottom:var(--space-6);border-bottom:2px solid var(--color-border)}.ui-tabs__tab{padding:var(--space-3) var(--space-6);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-fast);white-space:nowrap;color:var(--color-text-muted);font-weight:var(--font-normal)}.ui-tabs__tab:hover{color:var(--color-text-primary)}.ui-tabs__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-semibold)}.ui-tabs__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-raised);font-size:11px;font-weight:var(--font-semibold);color:var(--color-text-secondary)}.ui-tabs__tab--active .ui-tabs__count{background:var(--color-primary-light);color:var(--color-primary)}.spec-detail-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-top:var(--space-8)}.spec-detail-card-link{display:block;text-decoration:none;color:inherit}.spec-detail-card-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.spec-detail-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0}.spec-detail-card-title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.spec-detail-card-description{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.spec-detail-header-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.spec-detail-version-switcher{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.spec-detail-version-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer;min-width:120px}.spec-detail-version-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.page{padding:var(--space-8)}.page h1{margin-bottom:var(--space-6);color:var(--color-text-primary)}.error{color:var(--color-error-text);padding:var(--space-4);background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm)}.success{color:var(--color-success-text);padding:var(--space-4);background-color:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-sm)}.table-container{overflow-x:auto;margin-top:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border)}table{width:100%;border-collapse:collapse}table th,table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}table th{background-color:var(--color-surface-subtle);font-weight:var(--font-semibold);color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap}table tbody tr:hover{background-color:var(--color-surface-subtle)}table tbody tr:last-child td{border-bottom:none}.form{max-width:600px}.form-group{margin-bottom:var(--space-6)}.form-group>label{display:block;margin-bottom:var(--space-2);color:var(--color-text-primary);font-weight:var(--font-medium);font-size:var(--text-sm)}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:not([type=checkbox]):not([type=radio]):focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.form-group input[type=checkbox],.form-group input[type=radio]{width:auto;margin:0;accent-color:var(--color-primary)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-2)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-weight:400}.filters{display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.filters input,.filters select{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}.page-btn{padding:var(--space-3) var(--space-8);background-color:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--transition-fast)}.page-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.page-btn:disabled{opacity:.6;cursor:not-allowed}.actions{display:flex;gap:var(--space-4);margin-top:var(--space-8)}.actions a{padding:var(--space-3) var(--space-8);background-color:var(--color-success-text);color:var(--color-text-inverse);text-decoration:none;border-radius:var(--radius-md);display:inline-block;font-size:var(--text-sm);font-weight:var(--font-medium)}.report-summary{background-color:var(--color-surface-subtle);padding:var(--space-6);border-radius:var(--radius-md);margin-bottom:var(--space-8);border:1px solid var(--color-border)}.report-summary h2{margin-bottom:var(--space-4);color:var(--color-text-primary)}.report-summary p{margin:var(--space-2) 0;color:var(--color-text-secondary)}.questionnaire-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6);margin-top:var(--space-8)}.questionnaire-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);cursor:pointer;transition:all var(--transition-base);background:var(--color-surface)}.questionnaire-card:hover,.questionnaire-card:focus-visible{border-color:var(--color-primary);box-shadow:0 4px 12px #0f172a26;transform:translateY(-2px);outline:none}.questionnaire-card:focus-visible{box-shadow:0 0 0 3px var(--color-primary-ring)}.questionnaire-card h2{margin:0 0 var(--space-3) 0;color:var(--color-text-primary);font-size:var(--text-xl)}.questionnaire-card p{margin:0 0 var(--space-4) 0;color:var(--color-text-secondary);line-height:var(--leading-normal);font-size:var(--text-sm)}.questionnaire-meta{display:flex;align-items:center;gap:var(--space-2)}.schema-badge{display:inline-block;padding:var(--space-1) var(--space-3);background-color:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-4);font-size:var(--text-sm)}.questionnaire-per-uc{margin-top:var(--space-8)}.question-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);margin-bottom:var(--space-6);background:var(--color-surface)}.question-item h3{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--text-lg)}.question-item .use-case-title{color:var(--color-primary);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.question-item .question-label{margin:var(--space-3) 0;font-weight:var(--font-medium);color:var(--color-text-primary)}.question-item .explanation{margin:var(--space-3) 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.question-item .examples{margin:var(--space-3) 0;padding-left:var(--space-6);color:var(--color-text-secondary);font-size:var(--text-sm)}.question-item .examples li{margin:var(--space-1) 0}.collapsible{margin:var(--space-3) 0}.collapsible-header{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-primary);font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.collapsible-header:hover{text-decoration:underline}.collapsible-content{margin-top:var(--space-2);padding-left:var(--space-6)}.answer-select{margin-top:var(--space-4)}.answer-select select{width:100%;max-width:300px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--color-surface)}.answer-select select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.relevance-group{margin-bottom:var(--space-8)}.relevance-heading{font-size:var(--text-xl);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4) 0;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-surface-subtle) 0%,var(--color-surface-raised) 100%);border-left:4px solid}.relevance-group:nth-of-type(1) .relevance-heading{border-left-color:var(--color-success-text);color:var(--color-success-text)}.relevance-group:nth-of-type(2) .relevance-heading{border-left-color:var(--color-info-text);color:var(--color-info-text)}.relevance-group:nth-of-type(3) .relevance-heading{border-left-color:var(--color-text-muted);color:var(--color-text-secondary)}.relevance-questions{padding-left:var(--space-2)}.batch-processing-followup{margin-top:var(--space-4);padding:var(--space-4);background:linear-gradient(135deg,var(--color-info-bg) 0%,#c7d2fe 100%);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.batch-question-label{font-weight:var(--font-medium);color:var(--color-info-text);margin-bottom:var(--space-2)}.batch-processing-followup .answer-select{margin-top:var(--space-2)}.batch-processing-followup .answer-select select{background:var(--color-surface)}.questionnaire-detail__func-card{margin-bottom:var(--space-4)}.questionnaire-detail__func-card--inactive{opacity:.7}.questionnaire-detail__func-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5)}.ui-empty-state{text-align:center;padding:var(--space-12) var(--space-8);background:var(--color-surface-subtle);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.ui-empty-state__icon{font-size:var(--text-3xl);color:var(--color-text-muted);margin-bottom:var(--space-4)}.ui-empty-state__message{color:var(--color-text-muted);font-size:var(--text-sm)}.routing-question-list{max-width:700px;margin-top:var(--space-6)}.routing-question-card{margin-bottom:var(--space-6)}.routing-question-meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.routing-question-counter{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1}.routing-question-text{margin:0 0 var(--space-4) 0;color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.routing-options{display:flex;flex-direction:column;gap:var(--space-2)}.routing-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.routing-option:not([data-selected=true]):hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.routing-option[data-selected=true]{background:var(--color-primary-light);border-color:var(--color-primary)}.routing-option__input{margin-top:.2rem;flex-shrink:0;accent-color:var(--color-primary)}.routing-option__text{color:var(--color-text-primary);font-size:var(--text-sm);line-height:var(--leading-normal)}.routing-error{margin-bottom:var(--space-4)}.routing-submit-row{margin-top:var(--space-8)}.routing-back-btn{margin-bottom:var(--space-4)}.routing-spec-context{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.routing-spec-reason{color:var(--color-text-secondary);font-size:var(--text-sm)}.routing-admin-notice{margin-bottom:var(--space-6);max-width:700px}.routing-template-list{display:flex;flex-direction:column;gap:var(--space-4);max-width:700px}.routing-template-card__title{margin:0 0 var(--space-1) 0;color:var(--color-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.routing-template-card__desc{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.routing-result-card{margin-bottom:var(--space-6);border-left:4px solid var(--color-success-text);max-width:700px}.routing-result-spec-badge{margin-bottom:var(--space-3)}.routing-result-title{margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold)}.routing-result-description{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-4) 0}.routing-result-reason{color:var(--color-text-secondary);font-size:var(--text-sm);font-style:italic;margin:0}.routing-result-services{margin-top:var(--space-4)}.routing-result-services__label{display:block;color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:var(--text-sm)}.routing-result-services__list{margin:0;padding-left:var(--space-5);color:var(--color-text-secondary);font-size:var(--text-sm)}.routing-result-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-8)}.routing-alt-templates{margin-top:var(--space-2);max-width:700px}.routing-alt-templates__heading{margin:0 0 var(--space-4) 0;color:var(--color-text-secondary);font-size:var(--text-base);font-weight:var(--font-semibold)}.routing-alt-templates__list{display:flex;flex-direction:column;gap:var(--space-3)}.routing-alt-template-card__title{margin:0 0 var(--space-1) 0;color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.routing-alt-template-card__desc{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.routing-manual-browse-banner{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-6)}.routing-manual-browse-banner__content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.routing-manual-browse-banner__title{display:block;color:var(--color-text-primary);font-weight:var(--font-semibold);font-size:var(--text-sm);margin-bottom:var(--space-1)}.routing-manual-browse-banner__subtitle{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.routing-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.routing-no-services-modal{max-width:480px;width:100%;animation:routing-modal-enter .2s ease-out}@keyframes routing-modal-enter{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.routing-no-services-modal__title{margin:0 0 var(--space-3) 0;font-size:var(--text-lg);color:var(--color-text-primary)}.routing-no-services-modal__text{margin:0 0 var(--space-3) 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5}.routing-no-services-modal__actions{display:flex;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap}.service-tasks-header{margin-bottom:var(--space-6)}.service-tasks-back{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm);text-decoration:none;cursor:pointer;background:none;border:none;padding:0;margin-bottom:var(--space-4);transition:color var(--transition-fast)}.service-tasks-back:hover{color:var(--color-text-primary);background:none}.service-tasks-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.service-tasks-back:focus:not(:focus-visible){outline:none}.service-tasks-back:focus,.service-tasks-back:active{background:none}.service-tasks-title-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.service-tasks-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary)}.service-tasks-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.service-tasks-desc{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.service-tasks-progress{margin-bottom:var(--space-6)}.service-tasks-progress__title{margin:0 0 var(--space-1) 0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.service-tasks-progress__desc{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.service-tasks-progress__stats{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);font-size:var(--text-sm)}.service-tasks-progress__bar{width:100%;height:8px;background-color:var(--color-surface-raised);border-radius:var(--radius-full);overflow:hidden}.service-tasks-progress__fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.service-tasks-list{display:flex;flex-direction:column;gap:var(--space-3)}.service-task-card{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.service-task-card--clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.service-task-card--clickable:hover{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.service-task-number{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-bold);flex-shrink:0}.service-task-content{flex:1;min-width:0}.service-task-content__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap}.service-task-content__title{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.service-task-content__desc{margin:0;font-size:var(--text-xs);color:var(--color-text-muted)}.service-task-status-pill{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap;flex-shrink:0}.service-task-status-pill--not_started{background-color:#f0f0f0;color:#666}.service-task-status-pill--in_progress{background-color:#fff3e0;color:#e65100}.service-task-status-pill--completed{background-color:#e8f5e9;color:#2e7d32}.service-task-persona-chip{display:inline-block;margin-top:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);color:#fff}.service-task-chevron{flex-shrink:0;color:var(--color-text-muted);align-self:center;transition:color .15s ease}.service-task-card--clickable:hover .service-task-chevron{color:var(--color-primary)}.service-task-placeholder{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-muted)}.task-detail-page{max-width:720px}.task-detail-header{margin-bottom:var(--space-6)}.task-detail-header__top{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.task-detail-order{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-bold);flex-shrink:0}.task-detail-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);flex:1;min-width:0}.task-detail-description{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.task-detail-action-card{margin-bottom:var(--space-4)}.task-detail-action-card__label{margin:0 0 var(--space-2) 0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.task-detail-action-card__desc{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.task-detail-action-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.task-detail-completed-badge{display:inline-block;margin-left:var(--space-2);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);color:#2e7d32;background:#e8f5e9;border-radius:var(--radius-sm);vertical-align:middle}.task-detail-placeholder{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted)}.task-detail-status-card{margin-bottom:var(--space-4)}.task-detail-status-card__label{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.task-detail-status-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.task-detail-status-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.task-detail-status-btn:hover:not(:disabled){border-color:var(--color-text-muted);background-color:var(--color-surface-subtle)}.task-detail-status-btn:disabled{cursor:default}.task-detail-status-btn--active{border-color:transparent;color:#fff}.task-detail-status-btn--not-started.task-detail-status-btn--active{background-color:#888;border-color:#888}.task-detail-status-btn--in-progress.task-detail-status-btn--active{background-color:#e65100;border-color:#e65100}.task-detail-status-btn--completed.task-detail-status-btn--active{background-color:#2e7d32;border-color:#2e7d32}.builder-page__header{margin-bottom:var(--space-6)}.builder-page__title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.builder-page__subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.builder-page__layout{display:grid;grid-template-columns:320px 1fr;gap:var(--space-6);align-items:start}@media (max-width: 900px){.builder-page__layout{grid-template-columns:1fr}}.builder-page__sidebar{position:sticky;top:var(--space-4)}.builder-page__sidebar-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0}.builder-page__service-list{display:flex;flex-direction:column;gap:var(--space-2)}.builder-service-card{transition:border-color .15s,box-shadow .15s}.builder-service-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.builder-service-card--unavailable{opacity:.6;cursor:default!important}.builder-service-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-1)}.builder-service-card__name{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);line-height:1.3}.builder-service-card__meta{display:flex;justify-content:space-between;align-items:center}.builder-service-card__tech-id{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono)}.builder-service-card__available{font-size:var(--text-xs);color:var(--color-success);font-weight:500}.builder-service-card__coming-soon{font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic}.builder-page__template-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.builder-page__template-header h2{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin:0}.builder-page__tech-id{font-size:var(--text-xs);color:var(--color-text-tertiary);font-family:var(--font-mono);background:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.builder-page__tab-content{margin-top:var(--space-4)}.builder-page__empty{text-align:center;color:var(--color-text-secondary)}.builder-section{display:flex;flex-direction:column;gap:var(--space-4)}.builder-section__card{margin-top:0}.builder-section__card h3{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-3) 0}.builder-section__overview-text{color:var(--color-text-primary);line-height:1.6;margin:0}.builder-section__list{margin:0;padding-left:var(--space-5);color:var(--color-text-primary);line-height:1.8}.builder-section__info{font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.builder-section__references{display:flex;flex-direction:column;gap:var(--space-2)}.builder-reference-link{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg-secondary);text-decoration:none;transition:background .15s}.builder-reference-link:hover{background:var(--color-bg-tertiary)}.builder-reference-link__title{font-size:var(--text-sm);font-weight:500;color:var(--color-primary)}.builder-reference-link__desc{font-size:var(--text-xs);color:var(--color-text-secondary)}.builder-soap-info{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.builder-soap-info__row{display:flex;gap:var(--space-2);align-items:baseline}.builder-soap-info__label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);min-width:100px}.builder-soap-info__row code{font-size:var(--text-xs);color:var(--color-text-primary);background:var(--color-bg-secondary);padding:2px var(--space-2);border-radius:var(--radius-sm);word-break:break-all}.builder-soap-xml{margin-top:var(--space-2)}.builder-soap-xml summary{font-size:var(--text-sm);font-weight:500;color:var(--color-primary);cursor:pointer;margin-bottom:var(--space-2)}.builder-soap-xml pre{background:var(--color-bg-code, #1e1e2e);color:var(--color-text-code, #cdd6f4);padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto;font-size:var(--text-xs);line-height:1.5;margin:0}.builder-code-card{margin-top:0}.builder-code-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.builder-code-card__header h3{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin:0}.builder-code-card__code{background:var(--color-bg-code, #1e1e2e);color:var(--color-text-code, #cdd6f4);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;font-size:var(--text-xs);line-height:1.6;margin:0}.builder-code-card__notes{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-bg-info, #eff6ff);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.builder-conformance-card{border-left:3px solid var(--color-border)}.builder-conformance-card__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.builder-conformance-card__id{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-tertiary)}.builder-conformance-card__title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.builder-conformance-card__guidance{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.6;margin:0}.builder-conformance-card__ucs{display:flex;gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap}.builder-conformance-card__uc-tag{font-size:var(--text-xs);font-family:var(--font-mono);background:var(--color-bg-secondary);color:var(--color-text-secondary);padding:2px var(--space-2);border-radius:var(--radius-sm)}.builder-testing-card__content h3{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);margin:var(--space-4) 0 var(--space-2) 0}.builder-testing-card__content h3:first-child{margin-top:0}.builder-testing-card__content p{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.6;margin:0 0 var(--space-1) 0}.builder-testing-card__numbered{padding-left:var(--space-3)}.builder-testing-card__bullet{padding-left:var(--space-4)}.layout{min-height:100vh;display:flex;flex-direction:column}.topnav{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.topnav-inner{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 var(--space-6);max-width:1440px;margin:0 auto;width:100%}.topnav-left{display:flex;align-items:center;gap:var(--space-8)}.topnav-brand{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-primary);text-decoration:none;letter-spacing:-.02em;flex-shrink:0}.topnav-brand:hover{color:var(--color-primary-hover)}.topnav-links{display:flex;align-items:center;gap:var(--space-1)}.topnav-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:color var(--transition-fast),background-color var(--transition-fast);white-space:nowrap}.topnav-link:hover{color:var(--color-text-primary);background-color:var(--color-surface-raised)}.topnav-link.active{color:var(--color-primary);background-color:var(--color-primary-light)}.topnav-right{display:flex;align-items:center;gap:var(--space-3)}.topnav-logout{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.topnav-logout:hover{color:var(--color-error-text);border-color:var(--color-error-border);background-color:var(--color-error-bg)}.admin-dropdown{position:relative}.admin-dropdown-trigger{display:flex;align-items:center;gap:var(--space-1);background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.admin-dropdown-trigger:hover,.admin-dropdown-trigger.open{color:var(--color-text-primary);border-color:var(--color-border-strong);background-color:var(--color-surface-raised)}.admin-chevron{transition:transform var(--transition-fast)}.admin-dropdown-trigger.open .admin-chevron{transform:rotate(180deg)}.admin-dropdown-menu{position:absolute;top:calc(100% + var(--space-1));right:0;min-width:180px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:var(--z-dropdown)}.admin-dropdown-item{display:block;color:var(--color-text-secondary);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);transition:all var(--transition-fast)}.admin-dropdown-item:hover{color:var(--color-text-primary);background-color:var(--color-surface-raised)}.hamburger-btn{display:none;background:none;border:none;color:var(--color-text-secondary);padding:var(--space-2);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.hamburger-btn:hover{color:var(--color-text-primary);background-color:var(--color-surface-raised)}.mobile-nav{display:none;flex-direction:column;padding:var(--space-2) var(--space-4) var(--space-4);border-top:1px solid var(--color-border);background-color:var(--color-surface)}.mobile-nav .topnav-link{padding:var(--space-3) var(--space-3)}.mobile-nav-divider{height:1px;background-color:var(--color-border);margin:var(--space-2) 0}.mobile-nav-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-3) var(--space-1)}.topnav-logout.mobile{width:100%;text-align:left;padding:var(--space-3);border:none}.main-content{flex:1;padding:var(--space-8);max-width:1440px;margin:0 auto;width:100%}@media (max-width: 768px){.topnav-links{display:none}.topnav-right .topnav-logout:not(.mobile),.topnav-right .admin-dropdown{display:none}.hamburger-btn,.mobile-nav{display:flex}.main-content{padding:var(--space-4)}}:root{--color-primary: #0f172a;--color-primary-hover: #1e293b;--color-primary-light: #e8ecf4;--color-primary-ring: rgba(15, 23, 42, .25);--color-required-bg: #dcfce7;--color-required-text: #166534;--color-required-border: #bbf7d0;--color-good-bg: #fef9c3;--color-good-text: #854d0e;--color-good-border: #fef08a;--color-not-required-bg: #fee2e2;--color-not-required-text:#991b1b;--color-not-required-border: #fecaca;--color-draft-bg: #fef9c3;--color-draft-text: #854d0e;--color-published-bg: #dcfce7;--color-published-text: #166534;--color-info-bg: #dbeafe;--color-info-text: #1e40af;--color-info-border: #bfdbfe;--color-surface: #ffffff;--color-surface-subtle: #f8fafc;--color-surface-raised: #f1f5f9;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-bg: #e8ecf4;--color-error-bg: #fef2f2;--color-error-text: #b91c1c;--color-error-border: #fecaca;--color-success-bg: #f0fdf4;--color-success-text: #15803d;--color-success-border: #bbf7d0;--color-warning-bg: #fffbeb;--color-warning-text: #b45309;--color-warning-border: #fde68a;--topnav-height: 60px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Roboto", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px rgba(0,0,0,.08), 0 4px 6px rgba(0,0,0,.05);--shadow-xl: 0 20px 25px rgba(0,0,0,.1), 0 10px 10px rgba(0,0,0,.04);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal: 500;--z-toast: 600}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text-primary);font-size:var(--text-base);line-height:var(--leading-normal)}code{font-family:var(--font-mono)}#root{min-height:100vh}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{font-family:inherit;font-size:inherit}
