body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.input-section{display:flex;flex-direction:column;height:100%;overflow:hidden}.input-container{background:linear-gradient(180deg,#fafbfc,#f6f8fa);display:flex;flex:1 1;min-height:0;overflow:hidden;padding:1.25rem 1.5rem}.input-container.expanded{flex:1 1;max-height:none}.rich-text-editor{background-color:#fff;border:2px solid #e1e4e8;border-radius:8px;box-shadow:inset 0 1px 3px #0000000d;cursor:text;font-family:Arial,Helvetica,sans-serif;font-size:14px;height:100%;line-height:1.65;min-height:300px;overflow-y:auto;padding:1.25rem;transition:border-color .3s,box-shadow .3s;width:100%;will-change:auto}.rich-text-editor.expanded{height:auto;max-height:none;min-height:300px}.rich-text-editor:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a,inset 0 1px 3px #0000000d;outline:none}.rich-text-editor[contenteditable=false]{background-color:#f6f8fa;color:#999;cursor:not-allowed}.rich-text-editor:empty:before{color:#6b7280;content:attr(data-placeholder);font-style:italic;font-weight:500}.rich-text-editor p{margin:.5em 0}.rich-text-editor h1,.rich-text-editor h2,.rich-text-editor h3,.rich-text-editor h4,.rich-text-editor h5,.rich-text-editor h6{margin:.8em 0 .4em}.rich-text-editor ol,.rich-text-editor ul{margin:.5em 0;padding-left:2em}.rich-text-editor li{margin:.25em 0}.rich-text-editor table{border-collapse:collapse;margin:.5em 0}.rich-text-editor td,.rich-text-editor th{border:1px solid #ddd;padding:.5em}.input-stats{background:linear-gradient(90deg,#5b52e8,#8b5cf6);border-top:2px solid #ffffff1a;display:flex;flex-wrap:wrap;font-size:.9rem;gap:2.5rem;padding:1.5rem 1.75rem}.stat-item{gap:.6rem}.stat-label{color:#fff}.stat-label-output{color:rgba(78,77,77,.678);font-weight:600}.stat-value{border-radius:8px;color:#111827;min-width:45px;padding:.35rem .75rem;text-align:center}.sample-text-section{align-items:center;background:linear-gradient(90deg,#f8f9fa,#f1f3f5);border-top:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1.25rem;padding:1rem 1.75rem}.sample-label{color:#111827;font-size:.95rem;font-weight:700}.sample-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.btn{border:2px solid;border-radius:6px;box-shadow:0 2px 4px #00000014;cursor:pointer;font-size:.85rem;font-weight:600;padding:.6rem 1.1rem;transition:all .2s}.btn-secondary{background:#fff;border-color:#d1d5db;color:#374151;font-weight:600}.btn-secondary:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;box-shadow:0 3px 6px #dc262626;color:#dc2626;transform:translateY(-1px)}.btn-secondary:disabled{background:#f9fafb;cursor:not-allowed;opacity:.4}.btn-outline{background:#fff;border-color:#4f46e5;color:#4f46e5}.btn-outline:hover:not(:disabled){background:#4f46e5;box-shadow:0 4px 8px #4f46e54d;color:#fff;transform:translateY(-1px)}.btn-outline:disabled{cursor:not-allowed;opacity:.5}.btn-small{font-size:.8rem;padding:.5rem .9rem}.copy-button{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;font-weight:500;gap:6px;overflow:hidden;position:relative;transition:all .2s ease}.copy-button:disabled{cursor:not-allowed;opacity:.6}.copy-button.btn-small{font-size:13px;padding:6px 12px}.copy-button.btn-medium{font-size:14px;padding:8px 16px}.copy-button.btn-large{font-size:16px;padding:12px 20px}.copy-button.btn-primary{background-color:#007bff;border:1px solid #007bff;color:#fff}.copy-button.btn-primary:hover:not(:disabled){background-color:#0056b3;border-color:#0056b3}.copy-button.btn-secondary{background-color:#6c757d;border:1px solid #6c757d;color:#fff}.copy-button.btn-secondary:hover:not(:disabled){background-color:#545b62;border-color:#545b62}.copy-button.btn-outline{background-color:initial;border:1px solid #6c757d;color:#6c757d}.copy-button.btn-outline:hover:not(:disabled){background-color:#6c757d;color:#fff}.copy-button.copy-copying{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.copy-button.copy-success{animation:copySuccess .3s ease;background-color:#28a745;border-color:#28a745;color:#fff}.copy-button.copy-error{animation:copyError .4s ease;background-color:#dc3545;border-color:#dc3545;color:#fff}.copy-button-content{align-items:center;display:flex;gap:6px;position:relative;z-index:2}.copy-icon{align-items:center;display:flex;height:16px;justify-content:center;transition:transform .2s ease;width:16px}.copy-icon.copying{animation:copyingPulse 1s ease-in-out infinite}.copy-icon.success{animation:successBounce .4s ease}.copy-icon.error{animation:errorShake .4s ease}.copy-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:14px;width:14px}.copy-progress{background-color:#ffffff4d;bottom:0;height:2px;left:0;overflow:hidden;position:absolute;right:0}.copy-progress-bar{animation:copyProgress 1.5s ease-in-out infinite;background-color:#fffc;height:100%}@keyframes copySuccess{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes copyError{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@keyframes copyingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes successBounce{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes errorShake{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes copyProgress{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.copy-button:hover:not(:disabled):not(.copy-copying) .copy-icon{transform:scale(1.1)}.copy-button:active:not(:disabled){transform:scale(.98)}.copy-button:focus{box-shadow:0 0 0 3px #007bff40;outline:none}@media (max-width:768px){.copy-button.btn-medium{font-size:14px;padding:10px 14px}.copy-button.btn-large{font-size:15px;padding:12px 18px}}@media (prefers-contrast:high){.copy-button{border-width:2px}.copy-button:focus{box-shadow:0 0 0 3px #000}.copy-progress{background-color:#000}.copy-progress-bar{background-color:#fff}}@media (prefers-reduced-motion:reduce){.copy-button,.copy-icon,.copy-progress-bar{animation:none;transition:none}.copy-button.copy-error,.copy-button.copy-success,.copy-icon.copying,.copy-icon.error,.copy-icon.success,.copy-spinner{animation:none}.copy-spinner{border-left:2px solid}.copy-button:active:not(:disabled),.copy-button:hover:not(:disabled) .copy-icon{transform:none}}@media (prefers-color-scheme:dark){.copy-button.btn-outline{border-color:#6c757d;color:#adb5bd}.copy-button.btn-outline:hover:not(:disabled){background-color:#6c757d;color:#fff}.copy-progress{background-color:#fff3}}.copy-button:not(:has(span)){aspect-ratio:1;min-width:auto;padding:8px}.copy-button.btn-small:not(:has(span)){padding:6px}.copy-button.btn-large:not(:has(span)){padding:12px}.copy-button:not(:has(span)):hover:after{background-color:#333;border-radius:4px;bottom:100%;color:#fff;content:attr(aria-label);font-size:12px;left:50%;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.copy-button:not(:has(span)):hover:before{border:4px solid #0000;border-top-color:#333;bottom:100%;content:"";left:50%;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(1px);z-index:1000}.output-section{display:flex;flex-direction:column;height:100%;overflow:hidden}.cleaning-operations{align-items:center;background:linear-gradient(90deg,#f8f9fa,#f1f3f5);border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;padding:.85rem 1.5rem}.cleaning-label{color:#374151;font-size:.9rem;font-weight:700}.cleaning-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-clean{background:#fff;border:2px solid #dc2626;border-radius:6px;box-shadow:0 2px 4px #00000014;color:#dc2626;cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem .9rem;transition:all .2s}.btn-clean:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 8px #dc26264d;color:#fff;transform:translateY(-1px)}.btn-clean:disabled{cursor:not-allowed;opacity:.5}.btn-clean.active{animation:pulse-red .6s ease-in-out;background:#10b981!important;border-color:#10b981!important;color:#fff!important}@keyframes pulse-red{0%,to{box-shadow:0 0 0 0 #10b981b3}50%{box-shadow:0 0 0 15px #10b98100}}.output-container{background:linear-gradient(180deg,#fafbfc,#f6f8fa);flex:1 1;min-height:0;overflow:auto;padding:1.25rem 1.5rem}.output-placeholder{align-items:center;color:#9ca3af;display:flex;font-size:1rem;font-weight:500;height:100%;justify-content:center;min-height:300px}.output-preview{height:100%}.output-preview pre{word-wrap:break-word;font-family:Courier New,Consolas,monospace;font-size:14px;line-height:1.65;margin:0;white-space:pre-wrap}.output-preview .preview-content{min-height:100%}.output-preview .preview-content,.output-preview .text-content{background:#fff}.output-preview .preview-content,.output-preview .text-content,.output-textarea{border:2px solid #e1e4e8;border-radius:8px;box-shadow:inset 0 1px 3px #0000000d;padding:1.25rem}.output-textarea{background-color:#fff;font-family:Courier New,Consolas,monospace;font-size:14px;height:100%;line-height:1.65;resize:none;width:100%}.syntax-highlighter-container{height:100%;min-height:300px;overflow:auto}.syntax-highlighter-container>*{min-height:inherit}.view-mode-toggle{border:2px solid #d1d5db;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;gap:0;overflow:hidden}.view-mode-toggle .btn-toggle{background:#fff;border:none;border-right:2px solid #d1d5db;color:#6b7280;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem .9rem;transition:all .2s}.view-mode-toggle .btn-toggle:last-child{border-right:none}.view-mode-toggle .btn-toggle.active{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.view-mode-toggle .btn-toggle:hover:not(.active){background:#f3f4f6}.processing-stats{background:linear-gradient(90deg,#f8f9fa,#f1f3f5);border-top:2px solid #e5e7eb;padding:.85rem 1.5rem}.stats-grid{display:flex;flex-wrap:wrap;font-size:.875rem;gap:2rem}.stat-item{align-items:center;display:flex;gap:.5rem}.stat-label{color:#f8f9fa;font-weight:600}.stat-value{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#1f2937;font-weight:700;padding:.25rem .6rem}.toast-container{display:flex;flex-direction:column;gap:12px;padding:16px;pointer-events:none;position:fixed;z-index:1000}.toast-container-top-right{right:0;top:0}.toast-container-top-left{left:0;top:0}.toast-container-bottom-right{bottom:0;right:0}.toast-container-bottom-left{bottom:0;left:0}.toast-container-top-center{left:50%;top:0;transform:translateX(-50%)}.toast-container-bottom-center{bottom:0;left:50%;transform:translateX(-50%)}.toast{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:480px;min-width:320px;opacity:0;overflow:hidden;pointer-events:auto;position:relative;transform:translateX(100%);transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-visible{opacity:1;transform:translateX(0)}.toast-removing{opacity:0;transform:translateX(100%)}.toast-success{border-left:4px solid #28a745}.toast-error{border-left:4px solid #dc3545}.toast-warning{border-left:4px solid #ffc107}.toast-info{border-left:4px solid #17a2b8}.toast-content{align-items:flex-start;display:flex;gap:12px;padding:16px}.toast-icon{flex-shrink:0;height:20px;margin-top:2px;width:20px}.toast-success .toast-icon{color:#28a745}.toast-error .toast-icon{color:#dc3545}.toast-warning .toast-icon{color:#ffc107}.toast-info .toast-icon{color:#17a2b8}.toast-text{flex:1 1;min-width:0}.toast-title{color:#333;font-size:14px;font-weight:600;line-height:1.4;margin-bottom:2px}.toast-message{word-wrap:break-word;color:#666;font-size:13px;line-height:1.4}.toast-action{background:none;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:500;margin-top:2px;padding:6px 12px;transition:all .2s ease}.toast-action:hover{background-color:#f8f9fa;border-color:#adb5bd}.toast-action:active{background-color:#e9ecef}.toast-close{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;flex-shrink:0;margin-right:-4px;margin-top:-2px;padding:4px;transition:all .2s ease}.toast-close:hover{background-color:#f8f9fa;color:#495057}.toast-close:active{background-color:#e9ecef}.toast-progress{background-color:#0000001a;bottom:0;height:3px;left:0;overflow:hidden;position:absolute;right:0}.toast-progress-bar{animation:toastProgress linear forwards;height:100%;transform-origin:left;width:100%}.toast-success .toast-progress-bar{background-color:#28a745}.toast-error .toast-progress-bar{background-color:#dc3545}.toast-warning .toast-progress-bar{background-color:#ffc107}.toast-info .toast-progress-bar{background-color:#17a2b8}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-container-bottom-left .toast,.toast-container-top-left .toast{transform:translateX(-100%)}.toast-container-bottom-left .toast-visible,.toast-container-top-left .toast-visible{transform:translateX(0)}.toast-container-bottom-left .toast-removing,.toast-container-top-left .toast-removing{transform:translateX(-100%)}.toast-container-bottom-center .toast,.toast-container-top-center .toast{transform:translateY(-100%)}.toast-container-bottom-center .toast-visible,.toast-container-top-center .toast-visible{transform:translateY(0)}.toast-container-bottom-center .toast-removing,.toast-container-top-center .toast-removing{transform:translateY(-100%)}.toast-container-bottom-center .toast,.toast-container-bottom-center .toast-removing{transform:translateY(100%)}@media (max-width:480px){.toast-container{left:8px!important;padding:8px;right:8px!important;transform:none!important}.toast{max-width:none;min-width:auto;width:100%}.toast-content{gap:8px;padding:12px}.toast-title{font-size:13px}.toast-action,.toast-message{font-size:12px}.toast-action{padding:4px 8px}}@media (prefers-color-scheme:dark){.toast{background:#2d3748;border-color:#4a5568}.toast,.toast-title{color:#e9ecef}.toast-message{color:#a0aec0}.toast-action{border-color:#4a5568;color:#a0aec0}.toast-action:hover{background-color:#4a5568;border-color:#718096}.toast-action:active{background-color:#718096}.toast-close{color:#a0aec0}.toast-close:hover{background-color:#4a5568;color:#e9ecef}.toast-close:active{background-color:#718096}.toast-progress{background-color:#ffffff1a}}@media (prefers-contrast:high){.toast{border-color:#000;border-width:2px}.toast-message,.toast-title{color:#000}.toast-action{border-color:#000;color:#000}.toast-close{color:#000}}@media (prefers-reduced-motion:reduce){.toast,.toast-action,.toast-close{transition:none}.toast-progress-bar{animation:none;transform:scaleX(0)}}.toast-action:focus,.toast-close:focus{outline:2px solid #007bff;outline-offset:2px}.toast:hover .toast-progress-bar{animation-play-state:paused}.toast:not(:hover) .toast-progress-bar{animation-play-state:running}.text-processor{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.text-processor__content{background:linear-gradient(135deg,#f0f4ff,#f5f3ff);display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:1.5rem 2.5rem}.two-column-layout{grid-gap:1.5rem;align-items:stretch;display:grid;flex:1 1;gap:1.5rem;grid-template-columns:1fr 1fr;overflow:hidden}.column-left,.column-right{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001f;height:100%;overflow:hidden}.column-left,.column-right{display:flex;flex-direction:column}.output-toolbar{background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:0 0 16px 0;border-top:2px solid #ffffff1a;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem}.output-toolbar,.toolbar-group{align-items:center;display:flex}.toolbar-group{gap:.5rem}.dropdown-wrapper{display:flex;gap:0;position:relative}.btn-toolbar{align-items:center;border:none;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-unicode{background:#fff;border-radius:8px 0 0 8px;border-right:2px solid #e5e7eb;color:#4f46e5}.btn-unicode:hover:not(:disabled){background:#f0f4ff;box-shadow:0 4px 12px #4f46e54d;transform:translateY(-2px)}.btn-unicode:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.5}.btn-dropdown-toggle{background:#fff;border:none;border-radius:0 8px 8px 0;color:#4f46e5;cursor:pointer;font-size:.8rem;padding:.75rem;transition:all .2s}.btn-dropdown-toggle:hover:not(:disabled){background:#f0f4ff}.btn-dropdown-toggle:disabled{cursor:not-allowed;opacity:.5}.dropdown-menu{background:#fff;border:2px solid #e5e7eb;border-radius:8px;bottom:calc(100% + .5rem);box-shadow:0 -10px 25px #00000026;left:0;min-width:250px;padding:.5rem;position:absolute;z-index:1000}.dropdown-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.95rem;gap:.75rem;padding:.75rem 1rem;transition:all .2s}.dropdown-item:hover{background:#f0f4ff}.dropdown-item input[type=checkbox]{accent-color:#4f46e5;cursor:pointer;height:18px;width:18px}.dropdown-item span{color:#374151;font-weight:500}.btn-email-ready{background:#fff;border-radius:8px;color:#10b981;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.btn-email-ready:hover:not(:disabled){background:#10b981;box-shadow:0 4px 12px #10b9814d;color:#fff;transform:translateY(-2px)}.btn-email-ready:disabled{cursor:not-allowed;opacity:.5}.btn-email-ready.active,.btn-toolbar.active{animation:pulse-green .6s ease-in-out;background:#10b981!important;color:#fff!important}@keyframes pulse-green{0%,to{box-shadow:0 0 0 0 #10b981b3}50%{box-shadow:0 0 0 15px #10b98100}}.process-status-container{align-items:center;background:linear-gradient(90deg,#f8f9fa,#e9ecef);border-radius:8px;border-top:2px solid #dee2e6;display:flex;gap:1rem;justify-content:center;margin-top:1rem;padding:.75rem 2rem}.processing-indicator{align-items:center;color:#4f46e5;display:flex;font-size:.95rem;font-weight:600;gap:.75rem}.spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#4f46e5;height:18px;width:18px}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:8px;box-shadow:0 2px 8px #ef444433;color:#991b1b;font-size:.9rem;font-weight:600;padding:.85rem 1.25rem}.text-processor__footer{background:linear-gradient(90deg,#4f46e5,#7c3aed);border-top:2px solid #ffffff1a;box-shadow:0 -2px 8px #0000001a;padding:1.25rem 2rem;text-align:center}.text-processor__footer .admin-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #fff6;border-radius:10px;color:#fff;display:inline-flex;font-size:1rem;font-weight:600;gap:.6rem;letter-spacing:.02em;padding:.75rem 1.75rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.text-processor__footer .admin-link:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 6px 16px #00000040;transform:translateY(-2px)}.section-header{align-items:center;background:linear-gradient(90deg,#5b52e8,#8b5cf6);border-bottom:2px solid #ffffff1a;display:flex;height:70px;justify-content:space-between;max-height:70px;min-height:70px;padding:1.25rem 1.75rem}.section-header h3{color:#fff;flex:1 1;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0}.header-actions,.section-actions,.section-header h3{align-items:center;display:flex;gap:.5rem}@media (max-width:1200px){.two-column-layout{grid-template-columns:1fr;grid-template-rows:auto auto}}@media (max-width:768px){.text-processor__header{padding:1rem}.header-content h1{font-size:1.5rem}.text-processor__content{padding:1rem}.output-toolbar{padding:.75rem 1rem}}.admin-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:var(--spacing-xl) var(--spacing-md)}.admin-header{align-items:center;animation:fadeIn .6s ease-out;color:#fff;display:flex;justify-content:space-between;margin:0 auto var(--spacing-2xl);max-width:1400px}.admin-header h1{color:#fff;font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000001a}.back-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:var(--radius-lg);color:#fff;display:inline-flex;font-weight:500;gap:var(--spacing-xs);padding:.625rem 1.25rem;text-decoration:none;transition:all var(--transition-fast)}.back-link:hover{background:#ffffff4d;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.admin-content{display:flex;flex-direction:column;gap:var(--spacing-xl);margin:0 auto;max-width:1400px}.create-key-section{animation:fadeIn .7s ease-out;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl)}.create-key-section h2{align-items:center;color:var(--color-text);font-size:1.5rem;gap:var(--spacing-sm)}.create-key-form,.create-key-section h2{display:flex;margin-bottom:var(--spacing-lg)}.create-key-form{gap:var(--spacing-md)}.key-name-input{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);flex:1 1;font-family:var(--font-sans);font-size:.9375rem;padding:.75rem 1rem;transition:all var(--transition-fast)}.key-name-input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.btn-create{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;transition:all var(--transition-base);white-space:nowrap}.btn-create:hover{box-shadow:0 8px 20px #6366f14d;transform:translateY(-2px)}.new-key-display{animation:fadeIn .4s ease-out;background:var(--color-bg);border:2px solid var(--color-success);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.alert{align-items:center;border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.alert-success{background:#10b9811a;border:1px solid var(--color-success);color:#065f46}.key-value{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.key-value code{background:none;color:var(--color-primary);flex:1 1;font-family:var(--font-mono);padding:0;word-break:break-all}.btn-copy,.key-value code{border:none;font-size:.875rem}.btn-copy{background:var(--color-success);border-radius:var(--radius-md);color:#fff;cursor:pointer;flex-shrink:0;font-weight:500;padding:.5rem 1rem;transition:all var(--transition-fast)}.btn-copy:hover{background:#059669;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-dismiss{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-weight:500;padding:.625rem;transition:all var(--transition-fast);width:100%}.btn-dismiss:hover{background:var(--color-border);border-color:var(--color-text-muted)}.keys-list-section{animation:fadeIn .8s ease-out;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl)}.keys-list-section h2{color:var(--color-text);font-size:1.5rem;margin-bottom:var(--spacing-lg)}.no-keys{color:var(--color-text-muted);font-size:1rem;padding:var(--spacing-2xl);text-align:center}.keys-table{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.keys-table table{border-collapse:collapse;width:100%}.keys-table thead{background:var(--color-surface);border-bottom:2px solid var(--color-border)}.keys-table th{color:var(--color-text);font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:var(--spacing-md);text-align:left;text-transform:uppercase}.keys-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.keys-table tbody tr:hover{background:var(--color-surface)}.keys-table tbody tr.inactive{opacity:.6}.keys-table td{color:var(--color-text);font-size:.9375rem;padding:var(--spacing-md)}.keys-table td code{background:#6366f11a;border:none;border-radius:var(--radius-sm);color:var(--color-primary);font-family:var(--font-mono);font-size:.8125rem;padding:.25rem .5rem}.status-badge{border-radius:var(--radius-full);display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.375rem .75rem;text-transform:uppercase}.status-badge.active{background:#10b9811a;border:1px solid var(--color-success);color:var(--color-success)}.status-badge.inactive{background:#ef44441a;border:1px solid var(--color-error);color:var(--color-error)}.action-buttons{display:flex;gap:var(--spacing-xs)}.btn-delete,.btn-toggle{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;font-weight:500;padding:.5rem .875rem;transition:all var(--transition-fast)}.btn-toggle{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-toggle:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-toggle.enable:hover{background:var(--color-success);border-color:var(--color-success)}.btn-delete{background:#ef44441a;border:1px solid #0000;color:var(--color-error)}.btn-delete:hover{background:var(--color-error);box-shadow:var(--shadow-sm);color:#fff;transform:translateY(-1px)}.instructions-section{animation:fadeIn .9s ease-out;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl)}.instructions-section h2{color:var(--color-text);font-size:1.5rem;margin-bottom:var(--spacing-lg)}.instructions p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.instructions pre{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:0;overflow-x:auto;padding:var(--spacing-lg)}.instructions pre code{background:none;border:none;color:var(--color-text);font-family:var(--font-mono);font-size:.8125rem;line-height:1.6;padding:0}@media (max-width:1024px){.admin-header{gap:var(--spacing-md);text-align:center}.admin-header,.create-key-form{flex-direction:column}.btn-create{width:100%}}@media (max-width:768px){.admin-dashboard{padding:var(--spacing-lg) var(--spacing-sm)}.admin-header h1{font-size:2rem}.create-key-section,.instructions-section,.keys-list-section{padding:var(--spacing-lg)}.keys-table{font-size:.8125rem}.keys-table td,.keys-table th{padding:var(--spacing-sm)}.action-buttons{flex-direction:column}.btn-delete,.btn-toggle{width:100%}}.admin-header-right{align-items:center;display:flex;gap:var(--spacing-md)}.admin-user{color:#fff;font-weight:500;opacity:.95}.btn-logout{background:#fff3;border:1px solid #ffffff4d;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-weight:600;padding:.625rem 1.25rem;transition:all .2s ease}.btn-logout:hover{background:#ffffff4d;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.login-gate{background:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:480px;padding:var(--spacing-2xl);text-align:center}.login-gate p{color:#4b5563;color:var(--color-text-secondary,#4b5563);margin-bottom:var(--spacing-xl)}.btn-google-login{display:inline-block;text-decoration:none}.login-gate .alert{margin-bottom:var(--spacing-lg);text-align:left}:root{--color-primary:#6366f1;--color-primary-dark:#4f46e5;--color-primary-light:#818cf8;--color-secondary:#8b5cf6;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-bg:#f9fafb;--color-surface:#fff;--color-border:#e5e7eb;--color-text:#111827;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--spacing-xs:0.5rem;--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;background-color:var(--color-bg);color:#111827;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-sans);line-height:1.6}.App,body{min-height:100vh}.App{display:flex;flex-direction:column}.home-page{flex:1 1;width:100%}h1,h2,h3,h4,h5,h6{color:#111827;color:var(--color-text);font-weight:600;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:1rem;margin-bottom:var(--spacing-md)}a{color:#6366f1;color:var(--color-primary);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#4f46e5;color:var(--color-primary-dark)}code,pre{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-family:var(--font-mono);font-size:.875rem}code{background-color:#f9fafb;background-color:var(--color-bg);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:.375rem;border-radius:var(--radius-sm);padding:.125rem .375rem}pre{background-color:#fff;background-color:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:.5rem;border-radius:var(--radius-md);overflow-x:auto;padding:1rem;padding:var(--spacing-md)}pre code{background:none;border:none;padding:0}button{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-sans);font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;line-height:1.5;padding:.5rem 1rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}button:disabled{cursor:not-allowed;opacity:.5}input[type=email],input[type=password],input[type=text],textarea{background-color:#fff;background-color:var(--color-surface);border:1px solid #e5e7eb;border:1px solid var(--color-border);border-radius:.5rem;border-radius:var(--radius-md);color:#111827;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-sans);font-size:.875rem;padding:.625rem .875rem;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}input:focus,textarea:focus{border-color:#6366f1;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}input[type=checkbox],input[type=radio]{accent-color:#6366f1;accent-color:var(--color-primary);cursor:pointer;height:1.125rem;width:1.125rem}::selection{background-color:#6366f1;background-color:var(--color-primary);color:#fff}::-moz-selection{background-color:#6366f1;background-color:var(--color-primary);color:#fff}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f9fafb;background:var(--color-bg)}::-webkit-scrollbar-thumb{background:#e5e7eb;background:var(--color-border);border:2px solid #f9fafb;border:2px solid var(--color-bg);border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--color-text-muted)}:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--color-primary);outline-offset:2px}.loading{opacity:.6;pointer-events:none;position:relative}.loading:after{background:#fff;background:var(--color-surface);border-radius:inherit;content:"";inset:0;opacity:.5;position:absolute}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes spin{to{transform:rotate(1turn)}}.animate-fade-in{animation:fadeIn ease-out .2s cubic-bezier(.4,0,.2,1);animation:fadeIn var(--transition-base) ease-out}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background-color:#fff;color:#000}.admin-link,.control-section,.processing-options,button{display:none}}@media (max-width:768px){h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}
/*# sourceMappingURL=main.b3b3db26.css.map*/