.heading-1,h1.heading{font-size:var(--font-size-4xl);line-height:1.2;letter-spacing:-.02em}.heading-1,.heading-2,h1.heading,h2.heading{font-family:var(--font-heading);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.heading-2,h2.heading{font-size:var(--font-size-3xl);line-height:1.25;letter-spacing:-.01em}.heading-3,h3.heading{font-size:var(--font-size-2xl);line-height:1.3}.heading-3,.heading-4,h3.heading,h4.heading{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.heading-4,h4.heading{font-size:var(--font-size-xl);line-height:1.35}.heading-5,h5.heading{font-size:var(--font-size-lg)}.heading-5,.heading-6,h5.heading,h6.heading{font-family:var(--font-heading);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-primary)}.heading-6,h6.heading{font-size:var(--font-size-base)}.body-sm{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-gray-700)}.body,.body-md{font-size:var(--font-size-sm)}.body,.body-lg,.body-md{font-family:var(--font-sans);font-weight:var(--font-weight-normal);line-height:1.6;color:var(--color-gray-700)}.body-lg{font-size:var(--font-size-base)}.caption{font-weight:var(--font-weight-normal);color:var(--color-gray-600)}.caption,.label{font-family:var(--font-sans);font-size:var(--font-size-xs);line-height:1.4}.label{font-weight:var(--font-weight-medium);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.05em}.code{font-family:var(--font-mono);font-size:.9em;font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-brand-primary-dark);background-color:var(--color-gray-100);padding:.125rem .375rem;border-radius:var(--radius-sm)}.text-primary{color:var(--color-brand-primary)!important}.text-secondary{color:var(--color-brand-secondary)!important}.text-success{color:var(--color-success-600)!important}.text-warning{color:var(--color-warning-600)!important}.text-error{color:var(--color-error-600)!important}.text-muted{color:var(--color-gray-500)!important}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.75}.link{color:var(--color-brand-primary);text-decoration:none;transition:color var(--transition-fast)}.link:hover{color:var(--color-brand-primary-dark);text-decoration:underline}.link:focus{outline:2px solid var(--color-brand-primary-light);outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width:768px){.heading-1,h1.heading{font-size:var(--font-size-3xl)}.heading-2,h2.heading{font-size:var(--font-size-2xl)}.heading-3,h3.heading{font-size:var(--font-size-xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.5;font-family:var(--font-sans);letter-spacing:.01em;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-transform:uppercase;font-size:.875rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary-500);color:var(--color-text-primary);border-color:var(--color-primary-500);font-weight:var(--font-weight-bold)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-600);border-color:var(--color-primary-600)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-700);border-color:var(--color-primary-700)}.btn-secondary{background-color:var(--color-secondary-500);color:var(--color-white);border-color:var(--color-secondary-500)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-600);border-color:var(--color-secondary-600)}.btn-success{background-color:var(--color-success-600);color:var(--color-white);border-color:var(--color-success-600)}.btn-success:hover:not(:disabled){background-color:var(--color-success-700);border-color:var(--color-success-700)}.btn-warning{background-color:var(--color-warning-600);color:var(--color-white);border-color:var(--color-warning-600)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-500);border-color:var(--color-warning-500)}.btn-error{background-color:var(--color-error-600);color:var(--color-white);border-color:var(--color-error-600)}.btn-error:hover:not(:disabled){background-color:var(--color-error-500);border-color:var(--color-error-500)}.btn-outline{background-color:transparent;color:var(--color-primary-600);border-color:var(--color-primary-600);border-width:2px}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-600);color:var(--color-white)}.btn-ghost{background-color:transparent;color:var(--color-gray-700);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100);border-color:var(--color-gray-200)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.75rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-base);border:1px solid var(--color-gray-200);overflow:hidden;transition:all var(--transition-base)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);border-color:var(--color-gray-300)}.card-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-gray-200);background-color:var(--color-gray-50)}.card-body{padding:var(--spacing-xl)}.card-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-gray-200);background-color:var(--color-gray-50)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-family:var(--font-heading);color:var(--color-text-primary);margin:0;letter-spacing:-.01em}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:var(--spacing-xs);font-weight:var(--font-weight-normal)}.card-bordered{border:2px solid var(--color-gray-300);box-shadow:none}.card-flat{box-shadow:none;border:1px solid var(--color-gray-200)}.card-primary{border-color:var(--color-primary-300);background-color:var(--color-primary-50)}.card-primary .card-header{background-color:var(--color-primary-100);border-color:var(--color-primary-300)}.card-success{border-color:var(--color-success-300);background-color:var(--color-success-50)}.card-success .card-header{background-color:var(--color-success-100);border-color:var(--color-success-300)}.card-warning{border-color:var(--color-warning-300);background-color:var(--color-warning-50)}.card-warning .card-header{background-color:var(--color-warning-100);border-color:var(--color-warning-300)}.card-error{border-color:var(--color-error-300);background-color:var(--color-error-50)}.card-error .card-header{background-color:var(--color-error-100);border-color:var(--color-error-300)}.stat-card{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg)}.stat-card-content{flex:1}.stat-card-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);font-family:var(--font-heading);color:var(--color-text-primary);line-height:1;letter-spacing:-.02em}.stat-card-label{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-top:var(--spacing-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.stat-card-icon{width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background-color:var(--color-primary-100);color:var(--color-primary-600)}.stat-card-icon svg{width:1.75rem;height:1.75rem}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.form-label-required:after{content:" *";color:var(--color-error-500)}.form-input,.form-select,.form-textarea{display:block;width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);transition:all var(--transition-fast);font-family:var(--font-sans)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px rgba(197,174,122,.1)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-gray-100);cursor:not-allowed;opacity:.7}.form-input-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.form-input-lg{padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--font-size-lg)}.form-textarea{min-height:120px;resize:vertical;line-height:1.6}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-md) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:3rem}.form-help{color:var(--color-gray-600);line-height:1.5}.form-error,.form-help{margin-top:var(--spacing-xs);font-size:.875rem}.form-error{color:var(--color-error-600);font-weight:var(--font-weight-medium)}.form-input-error,.form-input-error:focus{border-color:var(--color-error-500)}.form-input-error:focus{box-shadow:0 0 0 3px rgba(220,38,38,.1)}.form-success{margin-top:var(--spacing-xs);font-size:.875rem;color:var(--color-success-600);font-weight:var(--font-weight-medium)}.form-input-success,.form-input-success:focus{border-color:var(--color-success-500)}.form-input-success:focus{box-shadow:0 0 0 3px rgba(5,150,105,.1)}.form-grid{display:grid;gap:var(--spacing-lg)}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.anonymized{background-color:var(--color-warning-100);color:var(--color-warning-700);padding:.1rem .3rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.anonymized:hover:after{content:attr(title);background:var(--color-gray-900);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);font-size:var(--font-size-xs);z-index:1000}code.text-primary-600{background-color:var(--color-primary-100);padding:.1rem .3rem;border-radius:var(--radius-sm);font-size:.85em}:root{--spinner-size:24px;--spinner-size-sm:16px;--spinner-border-width:2px;--spinner-border-width-sm:1.5px;--spinner-color:var(--color-primary-600);--spinner-bg-color:var(--color-primary-100);--spinner-speed:0.8s}.spinner{display:inline-block;width:var(--spinner-size);height:var(--spinner-size);border:var(--spinner-border-width) solid var(--spinner-bg-color);border-radius:50%;border-top-color:var(--spinner-color);animation:spin var(--spinner-speed) linear infinite}.spinner-sm{width:var(--spinner-size-sm);height:var(--spinner-size-sm);border-width:var(--spinner-border-width-sm)}.spinner-with-text{display:inline-flex;align-items:center;gap:.5rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn .spinner{margin-right:.5rem}.spinner-center{min-height:40px}.spinner-center,.spinner-page{display:flex;justify-content:center;align-items:center}.spinner-page{min-height:200px}.spinner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background-color:rgba(255,255,255,.8);backdrop-filter:blur(2px);z-index:10}@media (prefers-color-scheme:dark){:root{--spinner-bg-color:var(--color-gray-600);--spinner-color:var(--color-primary-400)}.spinner-overlay{background-color:rgba(0,0,0,.8)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.spinner-primary{border-top-color:var(--color-primary-600);border-color:var(--color-primary-100)}.spinner-secondary{border-top-color:var(--color-secondary-600);border-color:var(--color-secondary-200)}.spinner-success{border-top-color:var(--color-success-600);border-color:var(--color-success-100)}.spinner-warning{border-top-color:var(--color-warning-600);border-color:var(--color-warning-100)}.spinner-error{border-top-color:var(--color-error-600);border-color:var(--color-error-100)}.editor-container{background-color:#e5e5e5;border-radius:var(--radius-lg);box-shadow:var(--shadow-base);overflow:hidden}.editor-toolbar{padding:var(--spacing-md);background-color:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);flex-wrap:wrap}.editor-toolbar,.editor-toolbar-group{display:flex;align-items:center;gap:var(--spacing-xs)}.editor-toolbar-group{padding:0 var(--spacing-sm);border-right:1px solid var(--color-gray-300)}.editor-toolbar-group:last-child{border-right:none}.editor-toolbar-button{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:none;border:none;border-radius:var(--radius-md);color:var(--color-gray-600);cursor:pointer;transition:all var(--transition-fast)}.editor-toolbar-button:hover{background-color:var(--color-gray-200);color:var(--color-gray-900);transform:scale(1.1)}.editor-toolbar-button-active{background-color:var(--color-primary-100);color:var(--color-primary-600)}.editor-toolbar-button svg{width:1.25rem;height:1.25rem}.editor-content{padding:20px;min-height:400px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0)}.ProseMirror{transition:none!important}.ProseMirror *{transition:font-weight 0s,font-style 0s!important}.editor-content a,.editor-content blockquote,.editor-content figcaption,.editor-content figure,.editor-content h1,.editor-content h2,.editor-content h3,.editor-content h4,.editor-content h5,.editor-content h6,.editor-content img,.editor-content li,.editor-content ol,.editor-content p,.editor-content table,.editor-content td,.editor-content th,.editor-content ul{all:unset;display:revert}.editor-highlight{background-color:rgba(255,237,117,.5);padding:2px 0}.editor-selection{background-color:rgba(59,130,246,.3)}.editor-placeholder{color:var(--color-gray-400);position:absolute;top:var(--spacing-xl);left:var(--spacing-xl);pointer-events:none}.editor-word-count{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-gray-50);border-top:1px solid var(--color-gray-200);font-size:var(--font-size-sm);color:var(--color-gray-600);text-align:right}.editor-ai-panel{position:fixed;right:var(--spacing-xl);top:8rem;width:360px;background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--color-gray-200);z-index:100;animation:slideInRight .4s cubic-bezier(.25,1,.5,1);display:flex;flex-direction:column}.editor-ai-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.editor-ai-suggestions{max-height:300px;overflow-y:auto}.editor-ai-suggestion{padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);background-color:var(--color-gray-50);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.editor-ai-suggestion:hover{background-color:var(--color-primary-50)}.editor-toolbar-button.ai-assist-button{background-color:var(--color-primary-500);color:var(--color-text-primary)}.editor-toolbar-button.ai-assist-button:hover{background-color:var(--color-primary-600);color:var(--color-white)}.suggestion-diff-wrapper{display:block;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin:var(--spacing-sm) 0;padding:var(--spacing-sm);background-color:var(--color-gray-50)}.suggestion-deletion{background-color:var(--color-error-50);color:var(--color-error-700);text-decoration:line-through}.suggestion-deletion,.suggestion-insertion{display:block;padding:var(--spacing-xs);border-radius:var(--radius-sm)}.suggestion-insertion{background-color:var(--color-success-50);color:var(--color-success-700);margin-top:var(--spacing-xs)}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.anonymized{background-color:#bbf7d0;padding:0 4px;border-radius:3px;position:relative;cursor:help}.anonymized:hover:after{content:attr(data-placeholder);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#064e3b;color:white;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:10;font-family:monospace}.marking-mode,.marking-mode textarea{cursor:crosshair!important}.marking-mode textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.marking-mode textarea::-moz-selection{background-color:#fef3c7}.marking-mode textarea::selection{background-color:#fef3c7}.anonymization-preview{position:absolute;inset:0;pointer-events:none;padding:inherit;font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre-wrap;overflow:hidden;color:transparent}.anonymization-preview .anonymized-auto{background-color:#bbf7d0;color:#064e3b;padding:0 4px;border-radius:3px}.anonymization-preview .anonymized-manual{background-color:#fef3c7;color:#92400e;padding:0 4px;border-radius:3px}.anonymized-preview{position:relative;font-family:inherit;font-size:inherit;line-height:inherit}.anonymized-preview .anonymized-auto,.anonymized-preview .anonymized-manual{font-weight:600;border-radius:3px;padding:1px 4px;position:relative;display:inline;transition:background-color .2s ease}.anonymized-preview .anonymized-auto{background-color:rgba(34,197,94,.15);color:#15803d;border-bottom:1px solid rgba(34,197,94,.3)}.anonymized-preview .anonymized-auto:hover{background-color:rgba(34,197,94,.25)}.anonymized-preview .anonymized-manual{background-color:rgba(245,158,11,.15);color:#b45309;border-bottom:1px solid rgba(245,158,11,.3)}.anonymized-preview .anonymized-manual:hover{background-color:rgba(245,158,11,.25)}.anonymized-auto,.anonymized-manual{transform:none!important;animation:none!important;box-shadow:none!important}.anonymized-preview .anonymized-auto:hover:after,.anonymized-preview .anonymized-manual:hover:after{content:attr(data-placeholder);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-4px);background:#1f2937;color:white;padding:4px 8px;border-radius:4px;font-size:11px;font-family:monospace;font-weight:400;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 2px 4px rgba(0,0,0,.2)}.marking-mode-active,.marking-mode-active textarea{cursor:crosshair!important}.marking-mode-active textarea::-moz-selection{background-color:#fef3c7;color:#92400e}.marking-mode-active textarea::selection{background-color:#fef3c7;color:#92400e}.form-textarea.bg-transparent{background-color:transparent!important;caret-color:#1f2937}.manual-markings-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.manual-marking-chip{display:inline-flex;align-items:center;gap:4px;background-color:#fff7ed;border:1px solid #fed7aa;padding:4px 8px;border-radius:16px;font-size:12px}.manual-marking-chip .text{color:#c2410c;font-weight:500}.manual-marking-chip .remove{cursor:pointer;color:#dc2626;font-weight:700;margin-left:4px;transition:color .2s}.manual-marking-chip .remove:hover{color:#991b1b}.anonymization-stats{display:flex;align-items:center;gap:16px;padding:8px 12px;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:13px;margin-top:8px}.anonymization-stat{display:flex;align-items:center;gap:4px}.anonymization-stat.auto{color:#15803d}.anonymization-stat.manual{color:#b45309}.confirmation-dialog{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialog-tabs{display:flex;border-bottom:1px solid #e5e7eb}.dialog-tab{padding:.75rem 1rem;font-weight:500;color:#6b7280;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s}.dialog-tab:hover{color:#374151;background-color:#f9fafb}.dialog-tab.active{color:#059669;border-bottom-color:#059669;background-color:#f0fdf4}.anonymized-placeholder{display:inline-block;padding:0 4px;border-radius:3px;font-family:monospace;font-size:.9em;cursor:help;transition:all .2s}.anonymized-placeholder.auto{background-color:#bbf7d0;color:#14532d;border:1px solid #86efac}.anonymized-placeholder.manual{background-color:#fed7aa;color:#7c2d12;border:1px solid #fdba74}.anonymized-placeholder:hover{transform:scale(1.05);box-shadow:0 2px 4px rgba(0,0,0,.1)}.stat-card{text-align:center;padding:1rem;background:white;border-radius:.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.stat-number{font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:#6b7280}.code-preview{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;overflow-x:auto;max-height:20rem;font-family:monospace;font-size:.875rem;line-height:1.5}.code-preview::-webkit-scrollbar{height:8px;width:8px}.code-preview::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.code-preview::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.code-preview::-webkit-scrollbar-thumb:hover{background:#94a3b8}.anonymization-dialog{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.anonymization-table tr:hover{background-color:rgba(0,0,0,.02)}code.anonymization-placeholder{font-family:Courier New,Courier,monospace;font-size:.875rem;padding:.125rem .5rem;border-radius:.25rem;background-color:#dcfce7;color:#166534;font-weight:500}.anonymization-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.anonymization-type-badge.manual{background-color:#fef3c7;color:#92400e}.anonymization-type-badge.automatic{background-color:#dbeafe;color:#1e40af}