:root{color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1a1a2e;font-family:Inter,-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{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);min-width:320px;min-height:100vh;margin:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#1a1a2e80}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#e94560 0%,gold 100%);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,gold 0%,#e94560 100%)}::selection{color:#fff;background:#ffd7004d}.language-switcher{position:relative}.language-button{cursor:pointer;background:#ffffff1a;border:1px solid #ffd7004d;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.9rem;transition:all .3s;display:flex}.language-button:hover{background:#ffd70026;border-color:gold;box-shadow:0 0 15px #ffd70033}.flag{font-size:1.2rem;line-height:1}.language-name{color:#ffffffe6;font-weight:500}.arrow{color:#fff9;font-size:.7rem;transition:transform .2s}.arrow.open{transform:rotate(180deg)}.language-dropdown{z-index:1000;background:linear-gradient(145deg,#1a1a2efa,#16213ef2);border:1px solid #ffd7004d;border-radius:12px;min-width:150px;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden;box-shadow:0 10px 40px #0006,0 0 30px #ffd7001a}.language-option{cursor:pointer;text-align:left;color:#fffc;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.language-option:hover{background:linear-gradient(90deg,#ffd70026 0%,#e945601a 100%)}.language-option.active{background:linear-gradient(90deg,#ffd70033 0%,#e9456026 100%)}.language-option.active .language-name{color:gold;font-weight:600}.version-badge{z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:help;background:linear-gradient(135deg,#e94560e6 0%,#ff6b9de6 100%);border:1px solid #ffd7004d;border-radius:25px;align-items:center;gap:2px;padding:8px 14px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;transition:all .3s;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 6px 20px #e9456066,0 0 40px #ffd7001a,inset 0 1px #ffffff4d}.version-badge:hover{transform:translateY(-3px)scale(1.05);box-shadow:0 10px 30px #e9456080,0 0 60px #ffd70033,inset 0 1px #fff6}.version-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.version-number{color:gold;letter-spacing:.3px;text-shadow:0 0 10px #ffd70080;font-size:13px;font-weight:700}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 8px #ffd700cc}50%{opacity:.7;box-shadow:0 0 15px gold}}.version-badge:before{content:"";background:gold;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 0 12px #ffd700cc}.version-badge .version-label{margin-left:10px}@media (max-width:768px){.version-badge{padding:6px 12px;font-size:11px;top:12px;left:12px}.version-label{font-size:10px}.version-number{font-size:11px}}.login-container{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 25%,#0f3460 50%,#533483 75%,#e94560 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%,#e9456066 0%,#0000 40%),radial-gradient(circle at 80% 70%,#53348380 0%,#0000 40%),radial-gradient(circle,#0f34604d 0%,#0000 50%),radial-gradient(circle at 70% 20%,#ffd70033 0%,#0000 30%);width:200%;height:200%;animation:15s ease-in-out infinite luxury-float;position:absolute;top:-50%;left:-50%}@keyframes luxury-float{0%,to{transform:translate(0)rotate(0)scale(1)}25%{transform:translate(3%,3%)rotate(2deg)scale(1.02)}50%{transform:translate(-2%,5%)rotate(-1deg)scale(1.01)}75%{transform:translate(-3%,-2%)rotate(1deg)scale(1.03)}}.login-container:after{content:"";background:linear-gradient(45deg,#0000 40%,#ffd7000d 50%,#0000 60%),linear-gradient(-45deg,#0000 40%,#e945600d 50%,#0000 60%);width:100%;height:100%;animation:8s ease-in-out infinite shimmer;position:absolute;top:0;left:0}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.login-box{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;background:linear-gradient(145deg,#1a1a2ef2,#16213ee6);border:1px solid #ffd7004d;border-radius:24px;width:100%;max-width:420px;padding:2.5rem;position:relative;box-shadow:0 25px 50px #00000080,0 0 100px #e9456033,inset 0 1px #ffffff1a}.login-box:before{content:"";z-index:-1;opacity:.6;background:linear-gradient(45deg,#e94560,gold,#533483,#e94560);border-radius:26px;animation:3s ease-in-out infinite border-glow;position:absolute;inset:-2px}@keyframes border-glow{0%,to{opacity:.4}50%{opacity:.8}}.login-box h1{background:linear-gradient(135deg,gold 0%,#e94560 50%,#ff6b9d 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 30px #ffd7004d;letter-spacing:2px;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:2rem;font-weight:700}.login-subtitle{color:#ffffffb3;letter-spacing:1px;margin:0 0 2rem;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#ffffffe6;letter-spacing:.5px;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-group input{box-sizing:border-box;color:#fff;background:#ffffff0d;border:1px solid #ffd7004d;border-radius:12px;width:100%;padding:.875rem 1rem;font-size:1rem;transition:all .3s}.form-group input::placeholder{color:#fff6}.form-group input:focus{background:#ffffff1a;border-color:gold;outline:none;box-shadow:0 0 20px #ffd7004d,0 0 40px #e9456033}.login-button{color:#1a1a2e;cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:linear-gradient(135deg,#e94560 0%,#ff6b9d 50%,gold 100%);border:none;border-radius:12px;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .3s;box-shadow:0 8px 25px #e9456066,0 0 40px #ffd70033}.login-button:hover{background:linear-gradient(135deg,gold 0%,#e94560 50%,#ff6b9d 100%);transform:translateY(-3px);box-shadow:0 12px 35px #e9456080,0 0 60px #ffd7004d}.login-button:active{transform:translateY(-1px)}.demo-hint{text-align:center;color:#ffffff80;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(8px);backdrop-filter:blur(8px);z-index:10000;background:#000000b3;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:linear-gradient(145deg,#1a1a2efa,#16213ef2);border:1px solid #ffd70033;border-radius:20px;width:90%;max-width:420px;padding:32px;animation:.3s ease-out slideUp;box-shadow:0 25px 60px #00000080,0 0 100px #e9456026}@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:70px;height:70px;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,#10b981 0%,#059669 100%);box-shadow:0 8px 25px #10b98166}.modal-icon-error{color:#fff;background:linear-gradient(135deg,#e94560 0%,#ff6b9d 100%);box-shadow:0 8px 25px #e9456066}.modal-icon-warning{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 8px 25px #f59e0b66}.modal-icon-info{color:#fff;background:linear-gradient(135deg,#533483 0%,#7b4bb9 100%);box-shadow:0 8px 25px #53348366}.modal-icon-confirm{color:#1a1a2e;background:linear-gradient(135deg,gold 0%,#e94560 100%);box-shadow:0 8px 25px #ffd70066}.modal-title{background:linear-gradient(135deg,gold 0%,#e94560 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 12px;font-size:24px;font-weight:700}.modal-message{color:#ffffffb3;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:10px;min-width:100px;padding:12px 32px;font-size:15px;font-weight:600;transition:all .3s}.modal-button:focus{outline:none}.modal-button-primary{color:#1a1a2e;background:linear-gradient(135deg,gold 0%,#e94560 100%);box-shadow:0 4px 20px #ffd70066}.modal-button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #ffd70080}.modal-button-primary:active{transform:translateY(0)}.modal-button-confirm{color:#fff;background:linear-gradient(135deg,#e94560 0%,#ff6b9d 100%);box-shadow:0 4px 20px #e9456066}.modal-button-confirm:hover{transform:translateY(-2px);box-shadow:0 8px 30px #e9456080}.modal-button-confirm:active{transform:translateY(0)}.modal-button-cancel{color:#fffc;background:#ffffff1a;border:1px solid #fff3}.modal-button-cancel:hover{background:#ffffff26;transform:translateY(-2px)}.modal-button-cancel:active{transform:translateY(0)}.code-list{width:100%}.list-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.list-header h2{background:linear-gradient(135deg,gold 0%,#e94560 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25rem;font-weight:600}.header-actions{gap:.75rem;display:flex}.create-button{color:#1a1a2e;cursor:pointer;background:linear-gradient(135deg,gold 0%,#ffb700 100%);border:none;border-radius:10px;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #ffd70066}.create-button:hover{background:linear-gradient(135deg,#ffb700 0%,gold 100%);transform:translateY(-2px);box-shadow:0 6px 25px #ffd70080}.delete-bulk-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e94560 0%,#ff6b9d 100%);border:none;border-radius:10px;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #e9456066}.delete-bulk-button:hover{background:linear-gradient(135deg,#ff6b9d 0%,#e94560 100%);transform:translateY(-2px);box-shadow:0 6px 25px #e9456080}.search-bar{margin-bottom:1.5rem}.search-input{color:#fff;background:#ffffff0d;border:1px solid #ffd7004d;border-radius:12px;width:100%;padding:.875rem 1rem;font-size:.95rem;transition:all .3s}.search-input::placeholder{color:#fff6}.search-input:focus{background:#ffffff1a;border-color:gold;outline:none;box-shadow:0 0 20px #ffd7004d}.table-container{overflow-x:auto}.codes-table{border-collapse:collapse;width:100%}.codes-table th{text-align:left;color:#fffc;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#e9456033 0%,#ffd70026 100%);border-bottom:2px solid #ffd7004d;padding:.875rem;font-size:.85rem;font-weight:600}.codes-table td{color:#ffffffd9;border-bottom:1px solid #ffffff1a;padding:1rem .875rem}.code-cell{color:gold;font-family:Courier New,monospace;font-weight:600}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.3rem .875rem;font-size:.75rem;font-weight:600;display:inline-block}.status-active{color:#34d399;background:linear-gradient(135deg,#10b9814d 0%,#0596694d 100%);border:1px solid #10b98180}.status-inactive{color:#ff6b9d;background:linear-gradient(135deg,#e945604d 0%,#ff6b9d4d 100%);border:1px solid #e9456080}.status-used{color:#fff9;background:linear-gradient(135deg,#6b72804d 0%,#4b55634d 100%);border:1px solid #6b728080}.action-buttons{gap:.5rem;display:flex}.edit-button,.delete-button{cursor:pointer;border:none;border-radius:8px;padding:.4rem .875rem;font-size:.85rem;font-weight:500;transition:all .3s}.edit-button{color:#fff;background:linear-gradient(135deg,#53348399 0%,#7b4bb999 100%);border:1px solid #7b4bb980}.edit-button:hover{background:linear-gradient(135deg,#7b4bb9cc 0%,#533483cc 100%);transform:translateY(-1px);box-shadow:0 4px 15px #53348366}.delete-button{color:#fff;background:linear-gradient(135deg,#e9456099 0%,#ff6b9d99 100%);border:1px solid #e9456080}.delete-button:hover{background:linear-gradient(135deg,#ff6b9dcc 0%,#e94560cc 100%);transform:translateY(-1px);box-shadow:0 4px 15px #e9456066}.empty-state{text-align:center;color:#ffffff80;padding:3rem}.checkbox-cell{text-align:center;width:40px}.checkbox-cell input[type=checkbox]{cursor:pointer;accent-color:gold;width:18px;height:18px}.selected-row{background:linear-gradient(90deg,#ffd7001a 0%,#e945601a 100%)}.pagination{border-top:1px solid #ffffff1a;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,#533483 0%,#7b4bb9 100%);border:none;border-radius:10px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;transition:all .3s;box-shadow:0 4px 15px #53348366}.page-button:hover:not(:disabled){background:linear-gradient(135deg,#7b4bb9 0%,#533483 100%);transform:translateY(-2px);box-shadow:0 6px 20px #53348380}.page-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;background:linear-gradient(135deg,#6b728066 0%,#4b556366 100%)}.page-info{color:#ffffffb3;font-size:.9rem;font-weight:500}.refresh-button,.export-button,.delete-expired-button,.batch-delete-button{color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;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,#533483 0%,#7b4bb9 100%);box-shadow:0 4px 15px #53348366}.refresh-button:hover:not(:disabled){background:linear-gradient(135deg,#7b4bb9 0%,#533483 100%);transform:translateY(-2px);box-shadow:0 6px 20px #53348380}.export-button{background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 15px #10b98166}.export-button:hover:not(:disabled){background:linear-gradient(135deg,#059669 0%,#10b981 100%);transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.batch-delete-button{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 4px 15px #f59e0b66}.batch-delete-button:hover:not(:disabled){background:linear-gradient(135deg,#d97706 0%,#f59e0b 100%);transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b80}.delete-expired-button{background:linear-gradient(135deg,#e94560 0%,#ff6b9d 100%);box-shadow:0 4px 15px #e9456066}.delete-expired-button:hover:not(:disabled){background:linear-gradient(135deg,#ff6b9d 0%,#e94560 100%);transform:translateY(-2px);box-shadow:0 6px 20px #e9456080}.load-more-container{justify-content:center;margin-top:2rem;padding:1rem;display:flex}.load-more-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,gold 0%,#e94560 50%,#533483 100%);border:none;border-radius:12px;padding:.875rem 2.5rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 6px 25px #e9456066}.load-more-button:hover{transform:translateY(-3px);box-shadow:0 10px 35px #e9456080}.status-badge.status-unused{color:#fbbf24;background:linear-gradient(135deg,#f59e0b4d 0%,#d977064d 100%);border:1px solid #f59e0b80}.status-badge.status-expired{color:#ff6b9d;background:linear-gradient(135deg,#e945604d 0%,#ff6b9d4d 100%);border:1px solid #e9456080}.code-editor{width:100%}.editor-header{margin-bottom:1.5rem}.editor-header h2{background:linear-gradient(135deg,gold 0%,#e94560 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25rem;font-weight:600}.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:#ffffffe6;letter-spacing:.5px;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.form-field input,.form-field select{color:#fff;background:#ffffff0d;border:1px solid #ffd7004d;border-radius:10px;padding:.75rem 1rem;font-size:.95rem;transition:all .3s}.form-field input::placeholder{color:#fff6}.form-field input:focus,.form-field select:focus{background:#ffffff1a;border-color:gold;outline:none;box-shadow:0 0 20px #ffd7004d}.form-field input.error{border-color:#e94560;box-shadow:0 0 15px #e945604d}.field-error{color:#ff6b9d;margin-top:.25rem;font-size:.85rem}.form-actions{border-top:1px solid #ffffff1a;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.cancel-button,.save-button{cursor:pointer;border:none;border-radius:10px;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .3s}.save-button{color:#1a1a2e;background:linear-gradient(135deg,gold 0%,#e94560 100%);box-shadow:0 4px 20px #ffd70066}.save-button:hover{background:linear-gradient(135deg,#e94560 0%,gold 100%);transform:translateY(-2px);box-shadow:0 6px 30px #ffd70080}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.field-hint{color:#ffffff80;margin-top:.25rem;font-size:.85rem;display:block}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:linear-gradient(145deg,#1a1a2efa,#16213ef2);border:1px solid #ffd70033;border-radius:20px;width:90%;max-width:500px;padding:28px;box-shadow:0 25px 60px #00000080,0 0 100px #e9456026}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{background:linear-gradient(135deg,gold 0%,#e94560 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:700}.close-button{color:#fff9;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;transition:all .3s;display:flex}.close-button:hover{color:gold;transform:rotate(90deg)}.change-password-form .form-group{margin-bottom:20px}.change-password-form label{color:#ffffffe6;letter-spacing:.5px;margin-bottom:8px;font-weight:500;display:block}.change-password-form input{color:#fff;background:#ffffff0d;border:1px solid #ffd7004d;border-radius:10px;width:100%;padding:12px 14px;font-size:14px;transition:all .3s}.change-password-form input::placeholder{color:#fff6}.change-password-form input:focus{background:#ffffff1a;border-color:gold;outline:none;box-shadow:0 0 20px #ffd7004d}.change-password-form input:disabled{cursor:not-allowed;opacity:.6;background:#ffffff05}.change-password-form input.input-error{border-color:#e94560;box-shadow:0 0 15px #e945604d}.change-password-form input.input-error:focus{border-color:#e94560;box-shadow:0 0 20px #e9456066}.change-password-form input.input-success{border-color:#10b981;box-shadow:0 0 15px #10b9814d}.change-password-form input.input-success:focus{border-color:#10b981;box-shadow:0 0 20px #10b98166}.field-hint{margin-top:6px;font-size:12px;display:block}.field-hint.error{color:#ff6b9d}.field-hint.success{color:#34d399;font-weight:500}.cancel-button,.submit-button{cursor:pointer;border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s}.cancel-button:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.submit-button{color:#1a1a2e;background:linear-gradient(135deg,gold 0%,#e94560 100%);box-shadow:0 4px 20px #ffd70066}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#e94560 0%,gold 100%);transform:translateY(-2px);box-shadow:0 6px 30px #ffd70080}.cancel-button:disabled,.submit-button:disabled{opacity:.5;cursor:not-allowed}.register-user-form .form-group{margin-bottom:20px}.register-user-form label{color:#ffffffe6;letter-spacing:.5px;margin-bottom:8px;font-weight:500;display:block}.register-user-form input{color:#fff;background:#ffffff0d;border:1px solid #ffd7004d;border-radius:10px;width:100%;padding:12px 14px;font-size:14px;transition:all .3s}.register-user-form input::placeholder{color:#fff6}.register-user-form input:focus{background:#ffffff1a;border-color:gold;outline:none;box-shadow:0 0 20px #ffd7004d}.register-user-form input:disabled{cursor:not-allowed;opacity:.6;background:#ffffff05}.register-user-form input.input-error{border-color:#e94560;box-shadow:0 0 15px #e945604d}.register-user-form input.input-error:focus{border-color:#e94560;box-shadow:0 0 20px #e9456066}.register-user-form input.input-success{border-color:#10b981;box-shadow:0 0 15px #10b9814d}.register-user-form input.input-success:focus{border-color:#10b981;box-shadow:0 0 20px #10b98166}.batch-delete-modal{max-width:600px;max-height:80vh;overflow-y:auto}.batch-delete-form{padding:8px 0}.pattern-input{color:gold;background:#ffffff0d;border:1px solid #ffd7004d;border-radius:10px;width:100%;padding:12px 14px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:14px;transition:all .3s}.pattern-input::placeholder{color:#fff6}.pattern-input:focus{background:#ffffff1a;border-color:gold;outline:none;box-shadow:0 0 20px #ffd7004d}.checkbox-group{margin:16px 0}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:gold;width:18px;height:18px}.checkbox-label span{color:#ffffffd9;font-size:14px}.regex-examples{background:#53348333;border:1px solid #7b4bb94d;border-radius:12px;margin:16px 0;padding:16px}.examples-title{color:#ffffffe6;margin:0 0 12px;font-size:14px;font-weight:600}.regex-examples ul{margin:0;padding:0;list-style:none}.regex-examples li{color:#fff9;padding:6px 0;font-size:13px}.regex-examples code{color:gold;background:#ffd70026;border:1px solid #ffd7004d;border-radius:6px;margin-right:8px;padding:3px 10px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.preview-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#533483 0%,#7b4bb9 100%);border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #53348366}.preview-button:hover:not(:disabled){background:linear-gradient(135deg,#7b4bb9 0%,#533483 100%);transform:translateY(-2px);box-shadow:0 6px 25px #53348380}.preview-button:disabled{opacity:.5;cursor:not-allowed}.result-summary{background:#1a1a2e99;border-radius:12px;margin-bottom:20px;padding:20px}.result-summary.no-match{border:2px solid #6b72804d}.result-summary.has-match{background:#ffd7000d;border:2px solid #ffd70066}.match-count{color:#ffffffb3;margin:0 0 16px;font-size:16px;font-weight:600}.matched-codes-preview{margin-top:16px}.preview-label{color:#fffc;margin:0 0 8px;font-size:14px;font-weight:600}.codes-list{background:#0000004d;border:1px solid #ffffff1a;border-radius:10px;max-height:200px;padding:12px;overflow-y:auto}.code-item{color:gold;background:#ffd7001a;border:1px solid #ffd70033;border-radius:6px;margin-bottom:6px;padding:8px 12px;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:#ffffff80;padding:8px 10px;font-size:13px;font-style:italic}.warning-box{color:#ff6b9d;background:#e9456026;border:1px solid #e9456066;border-radius:10px;align-items:center;gap:12px;margin-top:16px;padding:14px 18px;font-size:14px;display:flex}.warning-icon{flex-shrink:0;font-size:20px}.delete-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e94560 0%,#ff6b9d 100%);border:none;border-radius:10px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #e9456066}.delete-button:hover:not(:disabled){background:linear-gradient(135deg,#ff6b9d 0%,#e94560 100%);transform:translateY(-2px);box-shadow:0 6px 25px #e9456080}.delete-button:disabled{opacity:.5;cursor:not-allowed}.codes-list::-webkit-scrollbar{width:8px}.codes-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.codes-list::-webkit-scrollbar-thumb{background:#ffd7004d;border-radius:4px}.codes-list::-webkit-scrollbar-thumb:hover{background:#ffd70080}.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:#ffffffe6;letter-spacing:.5px;margin-bottom:8px;font-weight:500;display:block}.export-codes-form .pattern-input{color:gold;background:#ffffff0d;border:1px solid #ffd7004d;border-radius:10px;width:100%;padding:14px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:15px;transition:all .3s}.export-codes-form .pattern-input::placeholder{color:#fff6}.export-codes-form .pattern-input:focus{background:#ffffff1a;border-color:gold;outline:none;box-shadow:0 0 20px #ffd7004d}.export-codes-form .field-hint{color:#ffffff80;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;accent-color:gold;width:18px;height:18px;margin-right:10px}.export-codes-form .regex-examples{background:#53348333;border-left:4px solid #7b4bb9;border-radius:10px;margin-bottom:20px;padding:16px}.export-codes-form .examples-title{color:#ffffffe6;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:#fff9;margin-bottom:8px;font-size:14px}.export-codes-form .regex-examples code{color:gold;background:#ffd70026;border:1px solid #ffd7004d;border-radius:6px;margin-right:8px;padding:4px 10px;font-family:Monaco,Courier New,monospace;font-weight:600}.preview-result{padding:20px 0}.result-summary{text-align:center}.result-summary h3{color:#ffffffe6;margin:0 0 12px;font-size:20px}.result-summary .match-count{color:#fff9;margin-bottom:24px;font-size:16px}.matched-codes-preview{text-align:left;background:#1a1a2e99;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:20px;padding:20px}.matched-codes-preview .preview-label{color:#fffc;margin-bottom:12px;font-weight:600}.matched-codes-preview .codes-list{max-height:400px;overflow-y:auto}.matched-codes-preview .code-item{background:#ffd70014;border:1px solid #ffd70026;border-radius:8px;align-items:center;margin-bottom:8px;padding:12px 14px;font-family:Monaco,Courier New,monospace;font-size:14px;transition:all .2s;display:flex}.matched-codes-preview .code-item:hover{background:#ffd70026;transform:translate(4px)}.matched-codes-preview .code-item.last-item{background:#7b4bb926;border:2px solid #7b4bb9}.matched-codes-preview .code-number{color:#fff6;min-width:40px;font-weight:600}.matched-codes-preview .code-text{color:gold;font-weight:500}.matched-codes-preview .more-indicator{text-align:center;color:#ffffff80;padding:16px;font-size:14px;font-style:italic}.info-box{color:#fffc;background:#53348333;border:1px solid #7b4bb94d;border-radius:10px;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:#ff6b9d;font-weight:600}.has-match .match-count{color:gold;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:10px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .3s}.cancel-button{color:#fffc;background:#ffffff1a;border:1px solid #fff3}.cancel-button:hover{background:#ffffff26;transform:translateY(-2px)}.preview-button{color:#fff;background:linear-gradient(135deg,#533483 0%,#7b4bb9 100%);box-shadow:0 4px 15px #53348366}.preview-button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #53348380}.export-button{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 15px #10b98166}.export-button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #10b98180}.export-button:disabled,.preview-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-message{color:#ff6b9d;background:linear-gradient(135deg,#e9456033,#ff6b9d33);border:1px solid #e945604d;border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:14px}.dashboard{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 30%,#0f3460 60%,#1a1a2e 100%);min-height:100vh;position:relative}.dashboard:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 10% 20%,#e9456026 0%,#0000 40%),radial-gradient(circle at 90% 80%,#ffd7001a 0%,#0000 40%),radial-gradient(circle,#53348326 0%,#0000 50%);width:100%;height:100%;position:fixed;top:0;left:0}.dashboard-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:linear-gradient(90deg,#1a1a2efa,#16213ef2,#1a1a2efa);border-bottom:2px solid;border-image:linear-gradient(90deg,#0000,gold,#e94560,gold,#0000) 1;position:relative;box-shadow:0 4px 30px #e9456033,0 0 60px #ffd7001a}.header-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:1.25rem 2rem;display:flex}.dashboard-header h1{background:linear-gradient(135deg,gold 0%,#e94560 50%,#ff6b9d 100%);-webkit-text-fill-color:transparent;letter-spacing:2px;text-shadow:0 0 30px #ffd7004d;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.6rem;font-weight:700}.header-actions{align-items:center;gap:1.5rem;display:flex}.user-info{color:#ffffffb3;font-size:.9rem}.logout-button{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#e94560 0%,#ff6b9d 100%);border:none;border-radius:10px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #e9456066}.logout-button:hover{background:linear-gradient(135deg,#ff6b9d 0%,#e94560 100%);transform:translateY(-2px);box-shadow:0 6px 25px #e9456080}.dashboard-main{max-width:1400px;margin:0 auto;padding:2rem}.dashboard-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;background:linear-gradient(145deg,#1a1a2ef2,#16213ee6);border:1px solid #ffd70033;border-radius:20px;padding:1.5rem;position:relative;box-shadow:0 20px 50px #0006,0 0 80px #e945601a,inset 0 1px #ffffff1a}.change-password-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#533483 0%,#7b4bb9 100%);border:none;border-radius:10px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #53348366}.change-password-button:hover{background:linear-gradient(135deg,#7b4bb9 0%,#533483 100%);transform:translateY(-2px);box-shadow:0 6px 25px #53348380}.register-user-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0f9b8e 0%,#20c997 100%);border:none;border-radius:10px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #0f9b8e66}.register-user-button:hover{background:linear-gradient(135deg,#20c997 0%,#0f9b8e 100%);transform:translateY(-2px);box-shadow:0 6px 25px #0f9b8e80}.stats-bar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;background:linear-gradient(145deg,#1a1a2ee6,#16213ed9);border:1px solid #ffd70026;border-radius:16px;justify-content:space-around;gap:2rem;max-width:1400px;margin:1.5rem auto;padding:1.5rem 2rem;display:flex;position:relative;box-shadow:0 10px 40px #0000004d,0 0 60px #ffd7000d}.stat-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.stat-label{color:#fff9;letter-spacing:.5px;font-size:.9rem;font-weight:500}.stat-value{background:linear-gradient(135deg,gold 0%,#e94560 50%,#ff6b9d 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 30px #ffd7004d;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700}*{box-sizing:border-box}#root{width:100%;min-height:100vh}
