.shared-button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:inherit;line-height:inherit}.shared-button:disabled{opacity:.6;cursor:not-allowed}.shared-button--primary{background-color:var(--color-primary);color:#fff}.shared-button--primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.shared-button--secondary{background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.shared-button--secondary:hover:not(:disabled){background-color:var(--color-bg-dark)}.shared-button--danger{background-color:var(--color-danger);color:#fff}.shared-button--danger:hover:not(:disabled){background-color:#c82333}.shared-button--success{background-color:var(--color-success);color:#fff}.shared-button--success:hover:not(:disabled){background-color:#218838}.shared-button--warning{background-color:var(--color-warning);color:var(--color-text)}.shared-button--warning:hover:not(:disabled){background-color:#e0a800}.shared-button--info{background-color:var(--color-info);color:#fff}.shared-button--info:hover:not(:disabled){background-color:#138496}.shared-button--icon{background-color:transparent;border:none;color:var(--color-text)}.shared-button--icon:hover:not(:disabled){color:var(--color-primary)}.shared-button--sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.shared-button--md{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base)}.shared-button--lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg)}.shared-button--full-width{width:100%}.error-toast{background-color:var(--color-bg);border:1px solid var(--color-danger);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);min-width:300px;max-width:500px;animation:slideInRight var(--transition-slow) ease-out}.error-toast-content{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.error-toast-message{flex:1;color:var(--color-danger);font-size:var(--font-size-base);line-height:var(--line-height-normal);word-wrap:break-word}.error-toast-close{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-2xl);line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast);flex-shrink:0}.error-toast-close:hover{background-color:var(--color-bg-dark);color:var(--color-text)}.error-toast-close:focus{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.error-toast.removing{animation:slideOutRight var(--transition-slow) ease-in forwards}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.error-toast-container{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);z-index:9999;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.error-toast-container>*{pointer-events:auto}.focusable-card{position:absolute;top:50%;width:90%;height:100%;background-color:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);overflow:hidden;transition:transform var(--transition-slow),opacity var(--transition-slow),left var(--transition-slow),right var(--transition-slow);cursor:pointer;z-index:1}.focusable-card.focused{opacity:1;cursor:default;z-index:2}.focusable-card.focused.position-left{left:0;transform:translateY(-50%)}.focusable-card.focused.position-right{right:0;transform:translateY(-50%)}.focusable-card.collapsed{opacity:.7;transition:all .3s ease;z-index:0}.focusable-card.collapsed.position-left{left:-75%;transform:translateY(-50%) scale(.9)}.focusable-card.collapsed.position-right{right:-75%;transform:translateY(-50%) scale(.9)}.focusable-card.collapsed:hover{box-shadow:var(--shadow-xl);border-color:var(--color-primary);opacity:1;background-color:var(--color-bg-light)}.focusable-card-blocker{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.shared-badge{display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium);white-space:nowrap}.shared-badge--primary{background-color:var(--color-primary);color:#fff}.shared-badge--secondary{background-color:var(--color-secondary);color:#fff}.shared-badge--success{background-color:var(--color-success);color:#fff}.shared-badge--danger{background-color:var(--color-danger);color:#fff}.shared-badge--warning{background-color:var(--color-warning);color:var(--color-text)}.shared-badge--info{background-color:var(--color-info);color:#fff}.shared-badge--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);min-width:8ch}.shared-badge--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.shared-badge--lg{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base)}.contract-item{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background-color:var(--color-bg)}.contract-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.contract-item.selected{border-color:var(--color-primary);background-color:var(--color-primary-light);box-shadow:var(--shadow-md)}.contract-header{display:flex;align-items:center;gap:var(--spacing-sm)}.contract-name{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);flex:1}.contract-actions{display:flex;gap:var(--spacing-sm);align-items:center;white-space:nowrap}.contracts-list{display:flex;flex-direction:column;width:100%;height:100%}.contracts-list-content{padding:var(--spacing-xl);height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.contracts-list-header{display:flex;flex-direction:column;gap:var(--spacing-md)}.contracts-list-header h2{margin:0;font-size:var(--font-size-2xl);color:var(--color-text)}.contracts-empty-message{color:var(--color-text-light);text-align:center;padding:var(--spacing-xl)}.contracts-list-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.contract-details{display:flex;flex-direction:column;margin:var(--spacing-lg);background-color:var(--color-bg);box-shadow:0 2px 8px #14203214,0 4px 24px #32468214,0 1.5px 4px #3c509612;border:1.5px solid var(--color-border)}.contract-details-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:var(--spacing-xl)}.contract-details-empty p{color:var(--color-text-light);font-size:var(--font-size-lg)}.contract-details-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.contract-details-content{width:100%;height:100%}.definition-highlight{background-color:#ff69b499}.definition-ref-highlight{background-color:#ff69b440}.section-highlight{background-color:#0f09}.section-ref-highlight{background-color:#00ff0040}.contracts-card{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--color-bg-dark)}.contracts-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);background-color:var(--color-bg)}.contracts-card-header h2{margin:0;font-size:var(--font-size-2xl);color:var(--color-text)}.contracts-card-actions{display:flex;gap:var(--spacing-md);align-items:center}.contracts-card-body{flex:1;display:flex;height:100%;min-height:0;overflow:hidden}.contracts-card-left{display:flex;justify-content:center;width:100%;border-right:1px solid var(--color-border);background-color:var(--color-bg);overflow-y:auto}.contracts-card-right{width:100%;overflow-y:auto}.questions-card-content{padding:var(--spacing-xl);height:100%;overflow-y:auto}.questions-card-content h2{margin-bottom:var(--spacing-lg);font-size:var(--font-size-2xl);color:var(--color-text)}.questions-card-content p{color:var(--color-text-light)}.question-item{padding:var(--spacing-md);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--border-radius-md, 8px);cursor:pointer;transition:all .2s ease;background-color:var(--color-background, #ffffff)}.question-item:hover{border-color:var(--color-primary, #007bff);box-shadow:0 2px 4px #0000001a}.question-item.selected{border-color:var(--color-primary, #007bff);background-color:var(--color-primary-light, #f0f8ff);box-shadow:0 2px 8px #007bff33}.question-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.question-number{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--spacing-xs);background-color:var(--color-primary, #007bff);color:#fff;border-radius:var(--border-radius-sm, 4px);font-size:var(--font-size-sm, .875rem);font-weight:600}.question-text{margin:0;font-size:var(--font-size-base, 1rem);font-weight:500;color:var(--color-text, #333);flex:1}.qualifying-question{margin:var(--spacing-xs) 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-light, #666);font-style:italic}.question-purpose{margin:var(--spacing-xs) 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-light, #666)}.question-meta{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-wrap:wrap}.badge{display:inline-block;padding:2px 8px;border-radius:var(--border-radius-sm, 4px);font-size:var(--font-size-xs, .75rem);font-weight:500}.badge.mandatory{background-color:var(--color-error-light, #ffe0e0);color:var(--color-error, #dc3545)}.badge.status{background-color:var(--color-secondary-light, #e9ecef);color:var(--color-secondary, #6c757d)}.questions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.questions-empty-message{color:var(--color-text-light);text-align:center;padding:var(--spacing-xl)}.questions-list-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.qualifying-results{padding:var(--spacing-md)}.qualifying-results__toggle{margin-bottom:var(--spacing-md)}.toggle-switch{display:flex;align-items:center;gap:var(--spacing-sm)}.toggle-switch__input{width:2.5rem;height:1.25rem;margin:0;padding:0;cursor:pointer;appearance:none;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-full);position:relative;transition:background-color var(--transition-base),border-color var(--transition-base);flex-shrink:0}.toggle-switch__input:before{content:"";position:absolute;width:.875rem;height:.875rem;border-radius:var(--radius-full);background-color:var(--color-bg);top:50%;left:.125rem;transform:translateY(-50%);transition:transform var(--transition-base);box-shadow:var(--shadow-sm)}.toggle-switch__input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.toggle-switch__input:checked:before{transform:translate(1.125rem,-50%)}.toggle-switch__input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-switch__input:disabled{opacity:.6;cursor:not-allowed}.toggle-switch__label{font-size:var(--font-size-base);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.qualifying-results__container{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background-color:var(--color-bg-light);overflow-y:auto;white-space:pre-wrap;word-break:break-word}.qualifying-results__empty{color:var(--color-text-muted);text-align:center;padding:var(--spacing-md) 0}.qualifying-results__empty em{font-style:italic}.qualifying-results__snippet-item{margin-bottom:var(--spacing-md)}.qualifying-results__snippet{padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;margin-bottom:var(--spacing-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.qualifying-results__snippet--selected{background-color:var(--color-primary-light-10);border:1px solid var(--color-primary-light-50)}.qualifying-results__snippet--with-justification{margin-bottom:.5rem}.qualifying-results__snippet-text{white-space:pre-wrap;word-break:break-word}.qualifying-results__justification{color:var(--color-text-muted);font-style:italic;margin-left:var(--spacing-md);margin-bottom:var(--spacing-md)}.qualifying-results__justification strong{font-weight:var(--font-weight-semibold);color:var(--color-text)}.clause-extraction-results__errors{margin-bottom:var(--spacing-md)}.clause-extraction-results__error{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background-color:var(--color-danger-10);border:1px solid var(--color-danger-50);color:var(--color-danger);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);white-space:pre-wrap;word-break:break-word}.clause-extraction-results__error:last-child{margin-bottom:0}.clause-extraction-results__contract{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background-color:var(--color-bg-light);margin-top:var(--spacing-md);overflow-y:auto}.clause-extraction-results__contract-html{margin:var(--spacing-md);padding:var(--spacing-xl);background-color:var(--color-bg);box-shadow:0 2px 8px #14203214,0 4px 24px #32468214,0 1.5px 4px #3c509612;border:1.5px solid var(--color-border);white-space:pre-wrap;word-break:break-word}.clause-highlight{background-color:var(--color-warning-50)}.diff-view{font-size:.85em;line-height:1.4}.diff-view .diff-added{background-color:#d4edda;color:#155724;padding:1px 2px;border-radius:2px;margin:0 1px}.diff-view .diff-removed{background-color:#f8d7da;color:#721c24;text-decoration:line-through;padding:1px 2px;border-radius:2px;margin:0 1px}.diff-view .diff-unchanged{color:inherit}.rewrite-container{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--spacing-xs);border:1px solid var(--color-border)}.rewrite-container.acceptable{background-color:var(--color-success-10)}.rewrite-container.acceptable h3{color:var(--color-success)}.rewrite-container.alternate{background-color:var(--color-warning-10)}.rewrite-container.alternate h3{color:var(--color-warning)}.rewrite-container.unacceptable{background-color:var(--color-danger-10)}.rewrite-container.unacceptable h3{color:var(--color-danger)}.rewrite-container__header{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.rewrite-container__header h3{font-size:var(--font-size-base);margin:0}.rewrite-container__header-actions{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-xs)}.rewrite-container__header-active{font-size:var(--font-size-sm);color:var(--color-text-muted)}.rewrite-container__diff,.rewrite-container__reason{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--spacing-xs);background-color:var(--color-bg-light)}.rewrite-container__reason h4,.rewrite-container__reason p{font-size:var(--font-size-sm);margin:0}.entire-question-results{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.entire-question-results__empty{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--spacing-xs);border:1px solid var(--color-border)}.entire-question-results__empty p{margin:0}.entire-question-results__contract{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background-color:var(--color-bg-light);max-height:var(--height-sm);overflow-y:auto}.entire-question-results__contract-html{margin:var(--spacing-md);padding:var(--spacing-xl);background-color:var(--color-bg);box-shadow:0 2px 8px #14203214,0 4px 24px #32468214,0 1.5px 4px #3c509612;border:1.5px solid var(--color-border);white-space:pre-wrap;word-break:break-word}.entire-question-results__contract-html .clause-highlight{background-color:var(--color-warning-50)}.entire-question-results__next-clause{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--spacing-sm);background-color:var(--color-bg-light);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border)}.entire-question-results__justification,.entire-question-results__verification{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--spacing-xs);border:1px solid var(--color-border)}.entire-question-results__justification h4,.entire-question-results__verification h4{font-size:var(--font-size-md);margin:0}.entire-question-results__verification.verified span{color:var(--color-success)}.entire-question-results__verification.unverified span{color:var(--color-danger)}.entire-question-results__justification-item,.entire-question-results__verification-item{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--spacing-xs);background-color:var(--color-bg-light);font-size:var(--font-size-sm)}.entire-question-results__justification.acceptable span{color:var(--color-success)}.entire-question-results__justification.alternate span{color:var(--color-warning)}.entire-question-results__justification.unacceptable span{color:var(--color-danger)}.playbook-results-retest{display:flex;flex-direction:row;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-md);background-color:var(--color-bg-light);padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border)}.playbook-results-errors{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.playbook-results-error{padding:var(--spacing-md);border-radius:var(--radius-md);background-color:var(--color-danger-10);border:1px solid var(--color-danger-50);font-size:var(--font-size-md)}.playbook-results-success{padding:var(--spacing-md);border-radius:var(--radius-md);background-color:var(--color-success-10);border:1px solid var(--color-success-50);margin-top:var(--spacing-md)}.playbook-results-success p{color:var(--color-success);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);text-align:center;margin:0}.test-results{position:relative;display:flex;flex-direction:column}.test-results-header{position:sticky;top:calc(var(--spacing-xl) * -1);background-color:var(--color-bg);z-index:100;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:var(--spacing-md);box-shadow:0 4px 8px -2px #0000001a,0 3px 6px -2px #007bff0a;border:1px solid var(--color-border)}.test-results-header h3{font-size:var(--font-size-md);margin:0}.test-results-header-actions{display:flex;flex-direction:row;gap:var(--spacing-xs);align-items:center}.shared-input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.shared-input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.shared-input-required{color:var(--color-danger)}.shared-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-light);color:var(--color-text);font-size:var(--font-size-base);font-family:inherit;line-height:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.shared-input:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.shared-input:disabled{background-color:var(--color-bg-dark);cursor:not-allowed;opacity:.6}.shared-input::placeholder{color:var(--color-text-muted)}.shared-input--error{border-color:var(--color-danger)}.shared-input--error:focus{outline:2px solid var(--color-danger);outline-offset:2px;border-color:var(--color-danger)}.shared-input-error{font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--spacing-xs)}.shared-input-wrapper input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:44px;height:24px;position:relative;cursor:pointer;background-color:var(--color-border, #ccc);border-radius:12px;border:none;transition:background-color var(--transition-fast);padding:0;margin:0;flex-shrink:0}.shared-input-wrapper input[type=checkbox]:before{content:"";position:absolute;width:20px;height:20px;top:2px;left:2px;border-radius:50%;background-color:#fff;transition:transform var(--transition-fast);box-shadow:0 2px 4px #0003}.shared-input-wrapper input[type=checkbox]:checked{background-color:var(--color-primary)}.shared-input-wrapper input[type=checkbox]:checked:before{transform:translate(20px)}.shared-input-wrapper input[type=checkbox]:focus{outline:2px solid var(--color-primary);outline-offset:2px}.shared-input-wrapper input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.shared-input-wrapper:has(input[type=checkbox]){gap:var(--spacing-sm)}.shared-input-wrapper:has(input[type=checkbox]) .shared-input-label{margin:0}.shared-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg)}.shared-modal{background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.shared-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl) var(--spacing-xl) 0 var(--spacing-xl)}.shared-modal-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.shared-modal-close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.shared-modal-close:hover{background-color:var(--color-bg-dark);color:var(--color-text)}.shared-modal-content{padding:var(--spacing-xl);overflow-y:auto;flex:1}.shared-modal--sm{width:100%;max-width:400px}.shared-modal--md{width:100%;max-width:500px}.shared-modal--lg{width:100%;max-width:700px}.shared-modal--xl{width:100%;max-width:900px}@media(max-width:768px){.shared-modal-overlay{padding:var(--spacing-md)}.shared-modal{max-height:95vh}.shared-modal-header,.shared-modal-content{padding:var(--spacing-lg)}}.questions-card{width:100%;height:100%;display:flex;flex-direction:column}.questions-card-content{padding:var(--spacing-xl);height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.questions-card-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.questions-card-header h2{margin:0;font-size:var(--font-size-2xl);color:var(--color-text)}.questions-card-header-actions{display:flex;flex-direction:row;gap:var(--spacing-md)}.questions-card-search{width:100%}.questions-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-size-base);font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.questions-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a}.questions-search-input::placeholder{color:var(--color-text-muted)}.shared-textarea-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.shared-textarea-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.shared-textarea-required{color:var(--color-danger)}.shared-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-light);color:var(--color-text);font-size:var(--font-size-base);font-family:inherit;line-height:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:80px}.shared-textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.shared-textarea:disabled{background-color:var(--color-bg-dark);cursor:not-allowed;opacity:.6}.shared-textarea::placeholder{color:var(--color-text-muted)}.shared-textarea--error{border-color:var(--color-danger)}.shared-textarea--error:focus{outline:2px solid var(--color-danger);outline-offset:2px;border-color:var(--color-danger)}.shared-textarea-error{font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--spacing-xs)}.shared-textarea--resize-none{resize:none}.shared-textarea--resize-vertical{resize:vertical}.shared-textarea--resize-horizontal{resize:horizontal}.shared-textarea--resize-both{resize:both}.question-container{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:flex-start}.question-container-label{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;width:100%;gap:var(--spacing-md)}.question-container-label h3{font-size:var(--font-size-sm);margin:0}.question-container-test-results-actions{display:flex;flex-direction:row;gap:var(--spacing-sm)}.question-container-test-results-actions button:not(:first-child){margin-top:0}.answer-container{display:flex;flex-direction:column;padding:var(--spacing-md);border-radius:var(--spacing-xs);border:1px solid var(--color-border);gap:var(--spacing-md);transition:all var(--transition-base)}.answer-container:hover{cursor:pointer}.answer-container:hover .answer-container-header-actions-text{color:var(--color-text)}.answer-container.acceptable{border:1px solid var(--color-success-50);background-color:var(--color-success-10)}.answer-container.alternate{border:1px solid var(--color-warning-50);background-color:var(--color-warning-10)}.answer-container.unacceptable{border:1px solid var(--color-danger-50);background-color:var(--color-danger-10)}.answer-container-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.answer-container-header h3{font-size:var(--font-size-base);margin:0}.answer-container-header-actions{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-md)}.answer-container-header-actions-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.answer-container-item{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--spacing-xs);border:1px solid var(--color-border);box-shadow:0 2px 8px #0000001a,0 1.5px 5px #007bff0a;cursor:default}.answer-field-title{display:flex;flex-direction:column;gap:var(--spacing-xs)}.answer-field-label{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;width:100%;gap:var(--spacing-md)}.answer-field-label h3{font-size:var(--font-size-sm);margin:0}.answer-container-item .answer-fields{display:flex;flex-direction:row;gap:var(--spacing-md)}.answer-container-item .answer-fields>:first-child{max-width:8ch}.answer-field-associated-questions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.answer-field-label-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.answer-field-no-questions{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;padding:var(--spacing-sm);font-style:italic}.answer-question-selector{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);min-height:60px;max-height:200px;overflow-y:auto}.answer-question-card{display:flex;flex-direction:column;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-light);cursor:pointer;transition:all var(--transition-base);min-width:120px;max-width:200px;gap:var(--spacing-xs)}.answer-question-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.answer-question-card.selected{border-color:var(--color-primary);background-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.answer-question-card-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);line-height:1.2}.answer-question-card.selected .answer-question-card-number{color:var(--color-primary-dark)}.answer-question-card-text{font-size:var(--font-size-xs);color:var(--color-text);line-height:1.3;word-break:break-word}.shared-select-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.shared-select-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.shared-select-required{color:var(--color-danger)}.shared-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-light);color:var(--color-text);font-size:var(--font-size-base);font-family:inherit;line-height:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.shared-select:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.shared-select:disabled{background-color:var(--color-bg-dark);cursor:not-allowed;opacity:.6}.shared-select--error{border-color:var(--color-danger)}.shared-select--error:focus{outline:2px solid var(--color-danger);outline-offset:2px;border-color:var(--color-danger)}.shared-select-error{font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--spacing-xs)}.optional-data-container{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--spacing-xs)}.optional-data-container-group{display:flex;flex-direction:row;gap:var(--spacing-md)}.question-viewer{width:100%;height:100%;background-color:var(--color-bg);display:flex;flex-direction:row}.question-viewer-menu{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.question-viewer-container{position:relative;flex:1;display:flex}.question-viewer-content{flex:1;overflow-y:auto;padding:var(--spacing-xl)}.question-viewer-form{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:var(--width-xl);margin:0 auto;padding-bottom:var(--spacing-2xl)}.test-entire-question{position:absolute;bottom:2%;left:50%;transform:translate(calc(-50% - 6px));width:100%;max-width:var(--width-xl);background-color:var(--color-bg);border:1px solid var(--color-border, #e0e0e0);border-radius:var(--spacing-sm);display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);box-shadow:0 2px 8px #0000001a,0 1.5px 5px #007bff0a}.test-entire-question p{margin:0;font-size:var(--font-size-md);color:var(--color-text-secondary)}.test-entire-question-actions{display:flex;flex-direction:row;gap:var(--spacing-sm);align-items:center}.test-entire-question-actions button:not(:first-child){margin-top:0}@media(max-width:768px){.question-viewer{width:95%}}.dashboard{height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-dark)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.dashboard-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.dashboard-subtitle{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text);opacity:.6}.dashboard-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.dashboard-header-environment-select select{padding:var(--spacing-xs) var(--spacing-md);border-radius:0;font-weight:var(--font-weight-medium);text-align:center;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:none}.dashboard-header-environment-select.prod select{background-color:var(--color-danger-10);border-color:var(--color-danger-50);color:var(--color-danger)}.dashboard-header-environment-select.stg select{background-color:var(--color-warning-10);border-color:var(--color-warning-50);color:var(--color-warning)}.dashboard-header-environment-select.dev select{background-color:var(--color-success-10);border-color:var(--color-success-50);color:var(--color-success)}.dashboard-header-environment-select.local select{background-color:var(--color-info-10);border-color:var(--color-info-50);color:var(--color-info)}.dashboard-header-environment-select option{background-color:var(--color-bg);color:var(--color-text)}.playbooks-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color var(--transition-base);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.playbooks-button:hover{background-color:var(--color-primary-dark);text-decoration:none;color:#fff}.playbooks-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.dashboard-body{flex:1;position:relative;overflow:hidden;transition:all var(--transition-slow)}.dashboard-body-cards{position:absolute;top:0;left:0;width:100%;height:100%;transition:left var(--transition-slow)}.dashboard-body-cards.hidden{left:-100%}.dashboard-body-question-viewer{opacity:1;height:100%;transition:opacity var(--transition-slow)}.dashboard-body-question-viewer.hidden{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px;max-width:400px;width:100%;text-align:center}.auth-title{margin:0 0 10px;font-size:32px;font-weight:600;color:#333}.auth-subtitle{margin:0 0 30px;font-size:14px;color:#666;line-height:1.5}.auth-error{padding:12px;margin-bottom:20px;background-color:#fee;color:#c33;border-radius:6px;font-size:14px;border:1px solid #fcc}.auth-google-button{display:flex;justify-content:center;align-items:center;margin-top:20px}.loading-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.loading-spinner{position:relative;width:80px;height:80px;margin-bottom:20px}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#007bff;border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){animation-delay:-.45s}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#007bffcc}.spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#007bff99}.spinner-ring:nth-child(4){border-top-color:#007bff66}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:#6c757d;font-size:18px;font-weight:500;letter-spacing:1px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.playbooks-modal-content{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.playbooks-modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.playbook-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);position:relative;transition:all var(--transition-base);display:flex;flex-direction:column;gap:var(--spacing-md)}.playbook-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.playbook-card-active{border:2px solid var(--color-primary)}.playbook-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.playbook-card-name{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);flex:1}.playbook-card-business{margin:calc(-1 * var(--spacing-md)) 0 0 0;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text);opacity:.5;line-height:1.5}.playbook-card-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text);opacity:.8;line-height:1.5}.playbook-card-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text);opacity:.6}.playbook-card-date{display:flex;align-items:center}.playbook-card-actions{display:flex;flex-direction:row;justify-content:space-between;gap:var(--spacing-sm);margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.playbooks-page{min-height:100vh;background-color:var(--color-bg-dark);padding:var(--spacing-xl)}.playbooks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.playbooks-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text);text-transform:lowercase}.playbooks-header-actions{display:flex;gap:var(--spacing-md);align-items:center}.playbooks-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text);font-size:var(--font-size-lg)}.playbooks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--width-sm),1fr));gap:var(--spacing-lg)}.playbooks-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #007bff;--color-primary-50: rgba(0, 123, 255, .5);--color-primary-10: rgba(0, 123, 255, .1);--color-primary-dark: #0056b3;--color-primary-dark-50: rgba(0, 86, 179, .5);--color-primary-dark-10: rgba(0, 86, 179, .1);--color-primary-light: #66b3ff;--color-primary-light-50: rgba(102, 179, 255, .5);--color-primary-light-10: rgba(102, 179, 255, .1);--color-secondary: #6c757d;--color-secondary-50: rgba(108, 117, 125, .5);--color-secondary-10: rgba(108, 117, 125, .1);--color-success: #28a745;--color-success-50: rgba(40, 167, 69, .5);--color-success-10: rgba(40, 167, 69, .1);--color-danger: #dc3545;--color-danger-50: rgba(220, 53, 69, .5);--color-danger-10: rgba(220, 53, 69, .1);--color-warning: #ffc107;--color-warning-50: rgba(255, 193, 7, .5);--color-warning-10: rgba(255, 193, 7, .1);--color-info: #17a2b8;--color-info-50: rgba(23, 162, 184, .5);--color-info-10: rgba(23, 162, 184, .1);--color-text: #212529;--color-text-light: #6c757d;--color-text-muted: #868e96;--color-bg: #ffffff;--color-bg-light: #f8f9fa;--color-bg-dark: #e9ecef;--color-border: #dee2e6;--color-border-light: #e9ecef;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "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.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--width-sm: 24rem;--width-md: 36rem;--width-lg: 48rem;--width-xl: 64rem;--width-2xl: 80rem;--width-full: 100%;--height-sm: 12rem;--height-md: 24rem;--height-lg: 36rem;--height-xl: 48rem;--height-2xl: 60rem;--height-full: 100%;--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);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg-light);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md);color:var(--color-text)}a{color:var(--color-primary);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-primary);outline-offset:2px;border-radius:var(--radius-sm)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-bg-dark);cursor:not-allowed;opacity:.6}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}button:disabled{opacity:.6;cursor:not-allowed}button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-bg-light)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full);border:2px solid var(--color-bg-light)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background-color:var(--color-primary-light);color:var(--color-text)}::-moz-selection{background-color:var(--color-primary-light);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){html{font-size:14px}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}
