.password-display-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease}.password-display-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-1px)}.password-display-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.password-display-card__strength{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.password-display-card__strength-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.password-display-card__actions{display:flex;gap:4px}.password-display-card__action-btn{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;background:transparent;color:#6b7280;min-width:32px;height:32px}.password-display-card__action-btn:hover{background:#f3f4f6;color:#374151;transform:translateY(-1px)}.password-display-card__action-btn:active{transform:translateY(0)}.password-display-card__action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.password-display-card__content{margin-bottom:12px}.password-display-card__password{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:12px;margin-bottom:8px;position:relative}.password-display-card__password-text{font-family:Courier New,Monaco,Lucida Console,monospace;font-size:.875rem;word-break:break-all;line-height:1.4;color:#1f2937;display:block}.password-display-card__info{display:flex;justify-content:space-between;align-items:center}.password-display-card__length{font-size:.75rem;color:#6b7280}.password-display-card__footer{display:flex;justify-content:center}.password-display-card__copy-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;width:100%;background:#4f46e5;color:#fff}.password-display-card__copy-btn:hover:not(:disabled){background:#4338ca;transform:translateY(-1px)}.password-display-card__copy-btn:active{transform:translateY(0)}.password-display-card__copy-btn--success{background:#10b981}.password-display-card__copy-btn--success:hover{background:#059669}.password-display-card__copy-btn:disabled{opacity:1;cursor:not-allowed;transform:none}.accordion__section{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:8px;overflow:hidden}.accordion__section:last-child{margin-bottom:0}.accordion__header{width:100%;padding:12px 16px;background:#f9fafb;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:14px;font-weight:600;color:#374151;transition:background-color .2s ease}.accordion__header:hover{background:#f3f4f6}.accordion__header:focus{outline:none;background:#f3f4f6;box-shadow:0 0 0 2px #4f46e533}.accordion__title{flex:1}.accordion__icon{font-size:12px;color:#6b7280;transition:transform .2s ease}.accordion__icon--open{transform:rotate(180deg)}.accordion__content{padding:16px;background:#fff;border-top:1px solid #e5e7eb;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.simple-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.simple-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.simple-modal__header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:0}.simple-modal__title{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0}.simple-modal__close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.simple-modal__close:hover{background:#f3f4f6;color:#374151}.simple-modal__form{display:flex;flex-direction:column;height:100%}.simple-modal__content{flex:1;padding:24px;overflow-y:auto}.simple-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb;background:#f9fafb}.simple-modal__btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.simple-modal__btn:hover{transform:translateY(-1px)}.simple-modal__btn:active{transform:translateY(0)}.simple-modal__btn--cancel{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.simple-modal__btn--cancel:hover{background:#e5e7eb;border-color:#9ca3af}.simple-modal__btn--submit{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:1px solid #3b82f6}.simple-modal__btn--submit:hover{background:linear-gradient(135deg,#2563eb,#1e40af);border-color:#2563eb;box-shadow:0 4px 8px #3b82f640}.simple-modal__btn--submit:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 640px){.simple-modal-overlay{padding:10px}.simple-modal{max-height:95vh}.simple-modal__header,.simple-modal__content,.simple-modal__footer{padding:16px}.simple-modal__footer{flex-direction:column}.simple-modal__footer .simple-modal__btn{width:100%;justify-content:center}}.config-form__accordion .accordion__section,.config-form__presets{margin-bottom:16px}.config-form__presets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.config-form__preset-btn{padding:12px 8px;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:6px;background:#f9fafb;color:#374151}.config-form__preset-btn:hover:not(:disabled){border-color:#4f46e5;background:#f8faff;transform:translateY(-1px)}.config-form__preset-btn:active{transform:translateY(0)}.config-form__preset-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.config-form__preset-icon{font-size:20px}.config-form__preset-name{font-size:11px;font-weight:600;text-align:center}.config-form__field{margin-bottom:16px}.config-form__label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.config-form__slider{width:100%;height:6px;background:#e5e7eb;border-radius:3px;outline:none;margin:8px 0}.config-form__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#4f46e5;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0000001a}.config-form__slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#4f46e5;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0000001a}.config-form__slider:disabled{opacity:.6;cursor:not-allowed}.config-form__range-labels{display:flex;justify-content:space-between;font-size:12px;color:#6b7280;margin-top:4px}.config-form__checkboxes{display:flex;flex-direction:column;gap:12px}.config-form__checkbox{display:flex;align-items:center;gap:8px}.config-form__checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#4f46e5}.config-form__checkbox input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.config-form__checkbox span{font-size:14px;color:#374151}.config-form__checkbox:has(input:disabled){opacity:.6}.config-form__text-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:Courier New,monospace}.config-form__text-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.config-form__text-input::placeholder{color:#9ca3af}.config-form__text-input:disabled{background:#f9fafb;opacity:.6;cursor:not-allowed}.config-form__basic .config-form__field:last-child,.config-form__advanced .config-form__field:last-child{margin-bottom:0}.config-form__advanced .config-form__checkbox{margin-bottom:12px}.password-generator-ui{max-width:1200px;width:100%;margin:0 auto}.password-generator-ui__header{text-align:center;margin-bottom:40px;background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 6px #0000001a}.password-generator-ui__title{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:8px}.password-generator-ui__subtitle{font-size:1.125rem;color:#6b7280;margin-bottom:24px}.password-generator-ui__header-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.password-generator-ui__config-btn,.password-generator-ui__generate-btn{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.password-generator-ui__config-btn:hover:not(:disabled),.password-generator-ui__generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.password-generator-ui__config-btn:active,.password-generator-ui__generate-btn:active{transform:translateY(0)}.password-generator-ui__config-btn:disabled,.password-generator-ui__generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.password-generator-ui__config-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.password-generator-ui__config-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.password-generator-ui__generate-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:1px solid #3b82f6}.password-generator-ui__generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);border-color:#2563eb}.password-generator-ui__generate-btn:disabled{background:#9ca3af;border-color:#9ca3af}.password-generator-ui__content{width:100%}.password-generator-ui__results{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:24px}.password-generator-ui__results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.password-generator-ui__results-title{font-size:1.5rem;font-weight:600;color:#1f2937}.password-generator-ui__results-actions{display:flex;gap:8px}.password-generator-ui__toggle-btn,.password-generator-ui__clear-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.password-generator-ui__toggle-btn:hover,.password-generator-ui__clear-btn:hover{transform:translateY(-1px);background:#e5e7eb}.password-generator-ui__toggle-btn:active,.password-generator-ui__clear-btn:active{transform:translateY(0)}.password-generator-ui__toggle-btn:disabled,.password-generator-ui__clear-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.password-generator-ui__clear-btn{background:#ef4444;color:#fff;border:1px solid #ef4444}.password-generator-ui__clear-btn:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.password-generator-ui__passwords-grid{display:grid;gap:16px;margin-bottom:24px}@media (min-width: 640px){.password-generator-ui__passwords-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.password-generator-ui__stats{border-top:1px solid #e5e7eb;padding-top:20px}.password-generator-ui__stats h3{font-size:1.125rem;font-weight:600;margin-bottom:12px;color:#1f2937}.password-generator-ui__stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.password-generator-ui__stat{background:#f9fafb;padding:12px;border-radius:8px;text-align:center}.password-generator-ui__stat-label{display:block;font-size:.75rem;color:#6b7280;text-transform:uppercase;font-weight:500;margin-bottom:4px}.password-generator-ui__stat-value{font-size:1.5rem;font-weight:700;color:#1f2937}.password-generator-ui__empty{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:60px 40px;text-align:center}.password-generator-ui__empty-icon{font-size:4rem;margin-bottom:16px}.password-generator-ui__empty-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:8px}.password-generator-ui__empty-description{color:#6b7280;font-size:1rem;max-width:400px;margin:0 auto}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:20px}.btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn--primary{background:#4f46e5;color:#fff}.btn--primary:hover:not(:disabled){background:#4338ca}.btn--secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn--secondary:hover:not(:disabled){background:#e5e7eb}.btn--danger{background:#ef4444;color:#fff}.btn--danger:hover:not(:disabled){background:#dc2626}.form-field{margin-bottom:16px}.form-field label{display:block;margin-bottom:6px;font-weight:500;color:#374151}.form-field input[type=text],.form-field input[type=number]{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.form-field input[type=text]:focus,.form-field input[type=number]:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-field input[type=range]{width:100%;height:6px;background:#d1d5db;border-radius:3px;outline:none}.form-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#4f46e5;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0000001a}.form-field input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#4f46e5;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0000001a}.checkbox-field{display:flex;align-items:center;gap:8px;margin-bottom:12px}.checkbox-field input[type=checkbox]{width:16px;height:16px;accent-color:#4f46e5}.checkbox-field span{font-size:14px;color:#374151}
