:root{color:#1f2937;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh;margin:0}.language-switcher{position:relative}.language-button{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;transition:all .2s;display:flex}.language-button:hover{background:#a8d5e21a;border-color:#a8d5e2}.flag{font-size:1.2rem;line-height:1}.language-name{color:#374151;font-weight:500}.arrow{color:#9ca3af;font-size:.7rem;transition:transform .2s}.arrow.open{transform:rotate(180deg)}.language-dropdown{z-index:1000;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:150px;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.language-option{cursor:pointer;text-align:left;background:#fff;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.9rem;transition:background .2s;display:flex}.language-option:hover{background:linear-gradient(90deg,#a8d5e21a 0%,#e8c4a81a 100%)}.language-option.active{background:linear-gradient(90deg,#a8d5e233 0%,#e8c4a826 100%)}.language-option.active .language-name{color:#6b9ac4;font-weight:600}.version-badge{z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:help;background:linear-gradient(135deg,#6b9ac4f2 0%,#97b8c4f2 100%);border:1px solid #fff6;border-radius:20px;align-items:center;gap:2px;padding:6px 12px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;transition:all .3s;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 4px 12px #6b9ac44d,0 2px 4px #0000001a,inset 0 1px #ffffff4d}.version-badge:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 6px 16px #6b9ac466,0 3px 6px #00000026,inset 0 1px #fff6}.version-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.version-number{color:#fff;letter-spacing:.3px;font-size:13px;font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.version-badge:before{content:"";background:#4ade80;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse;position:absolute;top:50%;left:8px;transform:translateY(-50%);box-shadow:0 0 8px #4ade8099}.version-badge .version-label{margin-left:8px}@media (max-width:768px){.version-badge{padding:5px 10px;font-size:11px;top:12px;left:12px}.version-label{font-size:10px}.version-number{font-size:11px}}.login-container{background:linear-gradient(135deg,#a8d5e2 0%,#b8c5d6 20%,#d4a5a5 40%,#e8c4a8 60%,#f5e6d3 80%,#fef9e7 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:radial-gradient(circle at 20% 30%,#a8d5e24d 0%,#0000 50%),radial-gradient(circle at 80% 70%,#d4a5a54d 0%,#0000 50%),radial-gradient(circle,#e8c4a833 0%,#0000 50%);width:200%;height:200%;animation:20s ease-in-out infinite monet-float;position:absolute;top:-50%;left:-50%}@keyframes monet-float{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(5%,5%)rotate(1deg)}66%{transform:translate(-5%,3%)rotate(-1deg)}}.login-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1;background:#fffffff2;border:2px solid #fffc;border-radius:20px;width:100%;max-width:400px;padding:2.5rem;position:relative;box-shadow:0 8px 32px #a8d5e24d,0 2px 8px #d4a5a533}.login-box h1{background:linear-gradient(135deg,#6b9ac4 0%,#97b8c4 50%,#b8a5a5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:1.8rem;font-weight:600}.login-subtitle{color:#7a8a99;margin:0 0 2rem;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-group input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}.form-group input:focus{border-color:#a8d5e2;outline:none;box-shadow:0 0 0 3px #a8d5e233}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#a8d5e2 0%,#97b8c4 100%);border:none;border-radius:8px;width:100%;padding:.875rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #a8d5e266}.login-button:hover{background:linear-gradient(135deg,#97b8c4 0%,#a8d5e2 100%);transform:translateY(-2px);box-shadow:0 6px 20px #a8d5e280}.demo-hint{text-align:center;color:#999;margin-top:1.5rem;font-size:.85rem}.login-lang-switcher{z-index:10;position:absolute;top:2rem;right:2rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-dialog{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:420px;padding:32px;animation:.3s ease-out slideUp;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-icon-wrapper{justify-content:center;margin-bottom:20px;display:flex}.modal-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;font-weight:700;animation:.4s cubic-bezier(.175,.885,.32,1.275) scaleIn;display:flex}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.modal-icon-success{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.modal-icon-error{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.modal-icon-warning{color:#d97706;background:linear-gradient(135deg,#ffecd2 0%,#fcb69f 100%)}.modal-icon-info{color:#0891b2;background:linear-gradient(135deg,#a8edea 0%,#fed6e3 100%)}.modal-icon-confirm{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.modal-title{color:#1f2937;margin:0 0 12px;font-size:24px;font-weight:600}.modal-message{color:#6b7280;margin:0 0 24px;font-size:16px;line-height:1.6}.modal-actions{justify-content:center;gap:12px;display:flex}.modal-button{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:12px 32px;font-size:15px;font-weight:500;transition:all .2s}.modal-button:focus{outline:none;box-shadow:0 0 0 3px #667eea4d}.modal-button-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.modal-button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.modal-button-primary:active{transform:translateY(0)}.modal-button-confirm{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.modal-button-confirm:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.modal-button-confirm:active{transform:translateY(0)}.modal-button-cancel{color:#6b7280;background:#f3f4f6}.modal-button-cancel:hover{background:#e5e7eb;transform:translateY(-2px)}.modal-button-cancel:active{transform:translateY(0)}@media (prefers-color-scheme:dark){.modal-dialog{background:#1f2937}.modal-title{color:#f9fafb}.modal-message{color:#d1d5db}.modal-button-cancel{color:#d1d5db;background:#374151}.modal-button-cancel:hover{background:#4b5563}}.code-list{width:100%}.list-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.list-header h2{color:#1f2937;margin:0;font-size:1.25rem}.header-actions{gap:.75rem;display:flex}.create-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#a8d5e2 0%,#97b8c4 100%);border:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .3s;box-shadow:0 2px 10px #a8d5e24d}.create-button:hover{background:linear-gradient(135deg,#97b8c4 0%,#a8d5e2 100%);transform:translateY(-1px);box-shadow:0 4px 15px #a8d5e266}.delete-bulk-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#d4a5a5 0%,#c49999 100%);border:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .3s;box-shadow:0 2px 10px #d4a5a54d}.delete-bulk-button:hover{background:linear-gradient(135deg,#c49999 0%,#d4a5a5 100%);transform:translateY(-1px);box-shadow:0 4px 15px #d4a5a566}.search-bar{margin-bottom:1.5rem}.search-input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-size:.95rem;transition:border-color .2s}.search-input:focus{border-color:#a8d5e2;outline:none;box-shadow:0 0 0 3px #a8d5e233}.table-container{overflow-x:auto}.codes-table{border-collapse:collapse;width:100%}.codes-table th{text-align:left;color:#6b8a9a;text-transform:uppercase;background:linear-gradient(135deg,#a8d5e226 0%,#e8c4a826 100%);border-bottom:2px solid #a8d5e24d;padding:.75rem;font-size:.85rem;font-weight:600}.codes-table td{color:#374151;border-bottom:1px solid #e5e7eb;padding:1rem .75rem}.code-cell{color:#1f2937;font-family:Courier New,monospace;font-weight:600}.status-badge{text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.status-active{color:#2d6a5a;background:linear-gradient(135deg,#d1f5e8 0%,#b8e6d5 100%);box-shadow:0 2px 4px #a8d5e233}.status-inactive{color:#8a4a4a;background:linear-gradient(135deg,#f5d5d5 0%,#e8c4c4 100%);box-shadow:0 2px 4px #d4a5a533}.status-used{color:#6a6560;background:linear-gradient(135deg,#e8e5e0 0%,#d4cfc8 100%);box-shadow:0 2px 4px #b8c5d633}.action-buttons{gap:.5rem;display:flex}.edit-button,.delete-button{cursor:pointer;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.85rem;font-weight:500;transition:all .2s}.edit-button{color:#4a6a8a;background:linear-gradient(135deg,#d5e8f5 0%,#c4dae8 100%);box-shadow:0 2px 6px #a8d5e240}.edit-button:hover{background:linear-gradient(135deg,#c4dae8 0%,#d5e8f5 100%);transform:translateY(-1px);box-shadow:0 3px 8px #a8d5e259}.delete-button{color:#8a4a4a;background:linear-gradient(135deg,#f5d5d5 0%,#e8c4c4 100%);box-shadow:0 2px 6px #d4a5a540}.delete-button:hover{background:linear-gradient(135deg,#e8c4c4 0%,#f5d5d5 100%);transform:translateY(-1px);box-shadow:0 3px 8px #d4a5a559}.empty-state{text-align:center;color:#9ca3af;padding:3rem}.checkbox-cell{text-align:center;width:40px}.checkbox-cell input[type=checkbox]{cursor:pointer;width:16px;height:16px}.selected-row{background:linear-gradient(90deg,#a8d5e226 0%,#e8c4a81a 100%)}.pagination{border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.page-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#a8d5e2 0%,#97b8c4 100%);border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s;box-shadow:0 2px 8px #a8d5e24d}.page-button:hover:not(:disabled){background:linear-gradient(135deg,#97b8c4 0%,#a8d5e2 100%);transform:translateY(-1px);box-shadow:0 4px 12px #a8d5e266}.page-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;background:linear-gradient(135deg,#d8d8d8 0%,#c8c8c8 100%)}.page-info{color:#6b7280;font-size:.9rem;font-weight:500}.refresh-button,.export-button,.delete-expired-button,.batch-delete-button{color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .3s}.refresh-button:disabled,.export-button:disabled,.delete-expired-button:disabled,.batch-delete-button:disabled,.create-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button{background:linear-gradient(135deg,#6b9ac4 0%,#97b8c4 100%);box-shadow:0 2px 10px #6b9ac44d}.refresh-button:hover:not(:disabled){background:linear-gradient(135deg,#97b8c4 0%,#6b9ac4 100%);transform:translateY(-1px);box-shadow:0 4px 15px #6b9ac466}.export-button{background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 2px 10px #10b9814d}.export-button:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#10b981 100%);transform:translateY(-1px);box-shadow:0 4px 15px #10b98166}.batch-delete-button{background:linear-gradient(135deg,#e8c8a8 0%,#d4b89e 100%);box-shadow:0 2px 10px #e8c8a84d}.batch-delete-button:hover:not(:disabled){background:linear-gradient(135deg,#d4b89e 0%,#e8c8a8 100%);transform:translateY(-1px);box-shadow:0 4px 15px #e8c8a866}.delete-expired-button{background:linear-gradient(135deg,#d4a5a5 0%,#c49999 100%);box-shadow:0 2px 10px #d4a5a54d}.delete-expired-button:hover:not(:disabled){background:linear-gradient(135deg,#c49999 0%,#d4a5a5 100%);transform:translateY(-1px);box-shadow:0 4px 15px #d4a5a566}.load-more-container{justify-content:center;margin-top:2rem;padding:1rem;display:flex}.load-more-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#a8d5e2 0%,#97b8c4 100%);border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .3s;box-shadow:0 2px 10px #a8d5e24d}.load-more-button:hover{background:linear-gradient(135deg,#97b8c4 0%,#a8d5e2 100%);transform:translateY(-1px);box-shadow:0 4px 15px #a8d5e266}.status-badge.status-unused{color:#fff;background:linear-gradient(135deg,#e8c8a8 0%,#d4b89e 100%)}.status-badge.status-expired{color:#fff;background:linear-gradient(135deg,#d4a5a5 0%,#c49999 100%)}.code-editor{width:100%}.editor-header{margin-bottom:1.5rem}.editor-header h2{color:#1f2937;margin:0;font-size:1.25rem}.editor-form{max-width:800px}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.form-field{flex-direction:column;display:flex}.form-field label{color:#374151;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.form-field input,.form-field select{border:1px solid #d1d5db;border-radius:6px;padding:.625rem;font-size:.95rem;transition:border-color .2s}.form-field input:focus,.form-field select:focus{border-color:#a8d5e2;outline:none;box-shadow:0 0 0 3px #a8d5e233}.form-field input.error{border-color:#ef4444}.field-error{color:#ef4444;margin-top:.25rem;font-size:.85rem}.form-actions{border-top:1px solid #e5e7eb;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.cancel-button,.save-button{cursor:pointer;border:none;border-radius:6px;padding:.625rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s}.save-button{color:#fff;background:linear-gradient(135deg,#a8d5e2 0%,#97b8c4 100%);box-shadow:0 2px 10px #a8d5e24d}.save-button:hover{background:linear-gradient(135deg,#97b8c4 0%,#a8d5e2 100%);transform:translateY(-1px);box-shadow:0 4px 15px #a8d5e266}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.field-hint{color:#6b7280;margin-top:.25rem;font-size:.85rem;display:block}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;padding:24px;box-shadow:0 4px 6px #0000001a}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{color:#333;margin:0;font-size:24px}.close-button{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:32px;line-height:1;display:flex}.close-button:hover{color:#333}.change-password-form .form-group{margin-bottom:20px}.change-password-form label{color:#333;margin-bottom:8px;font-weight:500;display:block}.change-password-form input{border:1px solid #ddd;border-radius:4px;width:100%;padding:10px;font-size:14px;transition:border-color .3s,box-shadow .3s}.change-password-form input:focus{border-color:#4caf50;outline:none;box-shadow:0 0 0 3px #4caf501a}.change-password-form input:disabled{cursor:not-allowed;background:#f5f5f5}.change-password-form input.input-error{border-color:#ef4444}.change-password-form input.input-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.change-password-form input.input-success{border-color:#10b981}.change-password-form input.input-success:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.field-hint{margin-top:6px;font-size:12px;display:block}.field-hint.error{color:#ef4444}.field-hint.success{color:#10b981;font-weight:500}.cancel-button,.submit-button{cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:14px;transition:background .2s}.cancel-button:hover:not(:disabled){background:#e0e0e0}.submit-button{color:#fff;background:#4caf50}.submit-button:hover:not(:disabled){background:#45a049}.cancel-button:disabled,.submit-button:disabled{opacity:.6;cursor:not-allowed}.batch-delete-modal{max-width:600px;max-height:80vh;overflow-y:auto}.batch-delete-form{padding:8px 0}.pattern-input{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:14px}.checkbox-group{margin:16px 0}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.checkbox-label span{color:#333;font-size:14px}.regex-examples{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:16px 0;padding:16px}.examples-title{color:#495057;margin:0 0 12px;font-size:14px;font-weight:600}.regex-examples ul{margin:0;padding:0;list-style:none}.regex-examples li{color:#6c757d;padding:6px 0;font-size:13px}.regex-examples code{color:#6b9ac4;background:#fff;border:1px solid #e9ecef;border-radius:4px;margin-right:8px;padding:2px 8px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.preview-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6b9ac4 0%,#97b8c4 100%);border:none;border-radius:4px;padding:10px 20px;font-size:14px;transition:all .2s}.preview-button:hover:not(:disabled){background:linear-gradient(135deg,#97b8c4 0%,#6b9ac4 100%);transform:translateY(-1px)}.preview-button:disabled{opacity:.6;cursor:not-allowed}.result-summary{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.result-summary.no-match{border:2px solid #e9ecef}.result-summary.has-match{background:#fff9e6;border:2px solid #ffc107}.match-count{color:#495057;margin:0 0 16px;font-size:16px;font-weight:600}.matched-codes-preview{margin-top:16px}.preview-label{color:#495057;margin:0 0 8px;font-size:14px;font-weight:600}.codes-list{background:#fff;border:1px solid #dee2e6;border-radius:6px;max-height:200px;padding:12px;overflow-y:auto}.code-item{color:#495057;background:#f8f9fa;border-radius:4px;margin-bottom:6px;padding:6px 10px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:13px}.code-item:last-child{margin-bottom:0}.more-indicator{text-align:center;color:#6c757d;padding:8px 10px;font-size:13px;font-style:italic}.warning-box{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;font-size:14px;display:flex}.warning-icon{flex-shrink:0;font-size:20px}.delete-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#d4a5a5 0%,#c49999 100%);border:none;border-radius:4px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.delete-button:hover:not(:disabled){background:linear-gradient(135deg,#c49999 0%,#d4a5a5 100%);transform:translateY(-1px)}.delete-button:disabled{opacity:.6;cursor:not-allowed}.codes-list::-webkit-scrollbar{width:8px}.codes-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.codes-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.codes-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.export-codes-modal{width:90%;max-width:600px}.export-codes-form{padding:20px 0}.export-codes-form .form-group{margin-bottom:20px}.export-codes-form label{color:#374151;margin-bottom:8px;font-weight:500;display:block}.export-codes-form .pattern-input{border:2px solid #e5e7eb;border-radius:8px;width:100%;padding:12px;font-size:15px;transition:all .2s}.export-codes-form .pattern-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.export-codes-form .field-hint{color:#6b7280;margin-top:6px;font-size:13px;display:block}.export-codes-form .checkbox-group{margin-bottom:16px}.export-codes-form .checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;display:flex}.export-codes-form .checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin-right:8px}.export-codes-form .regex-examples{background:#f9fafb;border-left:4px solid #667eea;border-radius:8px;margin-bottom:20px;padding:16px}.export-codes-form .examples-title{color:#374151;margin-bottom:12px;font-weight:600}.export-codes-form .regex-examples ul{margin:0;padding:0;list-style:none}.export-codes-form .regex-examples li{color:#6b7280;margin-bottom:8px;font-size:14px}.export-codes-form .regex-examples code{color:#667eea;background:#fff;border-radius:4px;margin-right:8px;padding:4px 8px;font-family:Monaco,Courier New,monospace;font-weight:600}.preview-result{padding:20px 0}.result-summary{text-align:center}.result-summary h3{color:#1f2937;margin:0 0 12px;font-size:20px}.result-summary .match-count{color:#6b7280;margin-bottom:24px;font-size:16px}.matched-codes-preview{text-align:left;background:#f9fafb;border-radius:12px;margin-bottom:20px;padding:20px}.matched-codes-preview .preview-label{color:#374151;margin-bottom:12px;font-weight:600}.matched-codes-preview .codes-list{max-height:400px;overflow-y:auto}.matched-codes-preview .code-item{background:#fff;border-radius:6px;align-items:center;margin-bottom:8px;padding:10px 12px;font-family:Monaco,Courier New,monospace;font-size:14px;transition:all .2s;display:flex}.matched-codes-preview .code-item:hover{background:#f3f4f6;transform:translate(4px)}.matched-codes-preview .code-item.last-item{background:#f0f4ff;border:2px solid #667eea}.matched-codes-preview .code-number{color:#9ca3af;min-width:40px;font-weight:600}.matched-codes-preview .code-text{color:#1f2937;font-weight:500}.matched-codes-preview .more-indicator{text-align:center;color:#6b7280;padding:16px;font-size:14px;font-style:italic}.info-box{color:#0369a1;background:linear-gradient(135deg,#e0f2fe 0%,#dbeafe 100%);border-radius:8px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;font-size:14px;display:flex}.info-box .info-icon{font-size:20px}.no-match{padding:40px 20px}.no-match .match-count{color:#ef4444;font-weight:600}.has-match .match-count{color:#667eea;font-size:18px;font-weight:600}.form-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.form-actions button{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:500;transition:all .2s}.cancel-button{color:#6b7280;background:#f3f4f6}.cancel-button:hover{background:#e5e7eb}.preview-button{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.preview-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.export-button{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.export-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10b98166}.export-button:disabled,.preview-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-message{color:#dc2626;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}@media (prefers-color-scheme:dark){.export-codes-form label{color:#f9fafb}.export-codes-form .pattern-input{color:#f9fafb;background:#374151;border-color:#4b5563}.export-codes-form .field-hint{color:#d1d5db}.export-codes-form .regex-examples{background:#374151}.export-codes-form .examples-title{color:#f9fafb}.export-codes-form .regex-examples code{background:#1f2937}.matched-codes-preview{background:#374151}.matched-codes-preview .code-item{background:#1f2937}.matched-codes-preview .code-item:hover{background:#4b5563}.matched-codes-preview .code-text,.result-summary h3{color:#f9fafb}.cancel-button{color:#d1d5db;background:#374151}.cancel-button:hover{background:#4b5563}}.dashboard{background:linear-gradient(#fef9e7 0%,#f5e6d3 30%,#e8dcc8 60%,#d4c5b8 100%);min-height:100vh;position:relative}.dashboard:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 10% 20%,#a8d5e226 0%,#0000 40%),radial-gradient(circle at 90% 80%,#d4a5a526 0%,#0000 40%),radial-gradient(circle,#e8c4a81a 0%,#0000 50%);width:100%;height:100%;position:fixed;top:0;left:0}.dashboard-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffffe6;border-bottom:2px solid #a8d5e24d;position:relative;box-shadow:0 2px 15px #a8d5e233}.header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex}.dashboard-header h1{background:linear-gradient(135deg,#6b9ac4 0%,#97b8c4 50%,#b8a5a5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5rem;font-weight:600}.header-actions{align-items:center;gap:1.5rem;display:flex}.user-info{color:#6b7280;font-size:.9rem}.logout-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#d4a5a5 0%,#c49999 100%);border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s;box-shadow:0 2px 8px #d4a5a54d}.logout-button:hover{background:linear-gradient(135deg,#c49999 0%,#d4a5a5 100%);transform:translateY(-1px);box-shadow:0 4px 12px #d4a5a566}.dashboard-main{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1;background:#fffffff2;border:2px solid #fffc;border-radius:16px;padding:1.5rem;position:relative;box-shadow:0 8px 32px #a8d5e233,0 2px 8px #d4a5a526}.change-password-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6b9ac4 0%,#97b8c4 100%);border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s;box-shadow:0 2px 8px #6b9ac44d}.change-password-button:hover{background:linear-gradient(135deg,#97b8c4 0%,#6b9ac4 100%);transform:translateY(-1px);box-shadow:0 4px 12px #6b9ac466}.stats-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1;background:#fffc;border-radius:12px;justify-content:space-around;gap:2rem;max-width:1200px;margin:1.5rem auto;padding:1.5rem 2rem;display:flex;position:relative;box-shadow:0 4px 16px #a8d5e226}.stat-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.stat-label{color:#6b7280;font-size:.9rem;font-weight:500}.stat-value{background:linear-gradient(135deg,#6b9ac4 0%,#97b8c4 50%,#b8a5a5 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700}*{box-sizing:border-box}#root{width:100%;min-height:100vh}
