:root,[data-theme="pink"]{--bg:#fff0f5;--surface:#fff;--surface-hover:#fff5f8;--border:#f5c6d0;--divider:#f8d7e0;--text:#3d2b33;--text-muted:#8a6b78;--accent:#e91e7b;--accent-hover:#d11868;--accent-fg:#fff;--btn-bg:#fce4ec;--btn-hover:#f8bbd0;--btn-active:#f48fb1;--btn-fg:#880e4f;--entry-bg:#fff;--entry-border:#e8b4c0;--entry-focus:#e91e7b;--entry-placeholder:#c8a0ad;--valid-bg:#e8f5e9;--invalid-bg:#ffebee;--highlight-bg:#fff9c4;--status-bg:#fce4ec;--overlay-bg:rgba(233,30,123,0.08);--shadow:0 2px 12px rgba(136,14,79,0.08);--shadow-lg:0 8px 32px rgba(136,14,79,0.12);--radius:12px;--radius-sm:8px;--transition:.2s ease}[data-theme="dark"]{--bg:#1a1a2e;--surface:#224;--surface-hover:#2a2a50;--border:#3a3a5c;--divider:#3a3a5c;--text:#e8e8f0;--text-muted:#99b;--accent:#e91e7b;--accent-hover:#ff4d9a;--accent-fg:#fff;--btn-bg:#2a2a50;--btn-hover:#3a3a64;--btn-active:#4a4a78;--btn-fg:#e8e8f0;--entry-bg:#2a2a50;--entry-border:#3a3a5c;--entry-focus:#e91e7b;--entry-placeholder:#6a6a8c;--valid-bg:#1b3a20;--invalid-bg:#3a1a1a;--highlight-bg:#3a3520;--status-bg:#16162b;--overlay-bg:rgba(0,0,0,0.5);--shadow:0 2px 12px rgba(0,0,0,0.3);--shadow-lg:0 8px 32px rgba(0,0,0,0.5)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;transition:background var(--transition),color var(--transition)}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:100;flex-shrink:0}.top-bar__left{display:flex;align-items:center;gap:10px}.top-bar__title{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.top-bar__badge{font-size:.65rem;font-weight:600;text-transform:uppercase;background:var(--accent);color:var(--accent-fg);padding:2px 8px;border-radius:20px;letter-spacing:.04em}.top-bar__right{display:flex;align-items:center;gap:8px}.icon-btn{width:36px;height:36px;border:0;border-radius:50%;background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:background var(--transition)}.icon-btn:hover{background:var(--btn-hover)}.theme-icon--dark{display:none}[data-theme="dark"] .theme-icon--light{display:none}[data-theme="dark"] .theme-icon--dark{display:inline}.layout{display:flex;flex:1;overflow:hidden}.sidebar{width:320px;min-width:280px;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;border-right:1px solid var(--border);background:var(--bg);flex-shrink:0}.sidebar__tip{font-size:.8rem;color:var(--text-muted);text-align:center;margin-top:auto;padding-top:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);transition:background var(--transition),border-color var(--transition)}.card__title{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:14px}.btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-grid>.btn{min-width:0;overflow:hidden;text-overflow:ellipsis}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:0;border-radius:var(--radius-sm);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background var(--transition),transform .1s,box-shadow var(--transition);user-select:none;white-space:nowrap}.btn:active{transform:scale(0.97)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn__icon{font-size:1rem}.btn--primary{background:var(--accent);color:var(--accent-fg)}.btn--primary:hover{background:var(--accent-hover);box-shadow:0 4px 12px rgba(233,30,123,0.3)}.btn--secondary{background:var(--btn-bg);color:var(--btn-fg)}.btn--secondary:hover{background:var(--btn-hover)}.btn--secondary.active{background:var(--accent);color:var(--accent-fg)}.btn--sm{padding:6px 12px;font-size:.8rem}.btn--danger{background:transparent;color:var(--text-muted);border:1px solid var(--border);font-weight:500;font-size:.82rem;padding:7px 14px;margin-top:10px;transition:background var(--transition),color var(--transition),border-color var(--transition)}.btn--danger:hover{background:#ffebee;color:#d32f2f;border-color:#ef9a9a}[data-theme="dark"] .btn--danger:hover{background:#3a1a1a;color:#ef5350;border-color:#ef5350}.btn--full{width:100%;display:flex}.content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;opacity:.7}.empty-state__icon{font-size:4rem;margin-bottom:16px}.empty-state__title{font-size:1.4rem;font-weight:700;margin-bottom:8px}.empty-state__text{font-size:.95rem;color:var(--text-muted);max-width:360px}.form-container{flex:1;display:flex;flex-direction:column}.form-header{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.form-header__title{font-size:1.3rem;font-weight:700}.field-counter{font-size:.78rem;font-weight:600;color:var(--text-muted);background:var(--btn-bg);border:1px solid var(--border);padding:4px 12px;border-radius:20px;white-space:nowrap;transition:color .3s,background .3s,border-color .3s;flex-shrink:0}.field-counter.all-filled{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}[data-theme="dark"] .field-counter.all-filled{background:#1b3a20;color:#66bb6a;border-color:#2e7d32}.gender-toggle{display:inline-flex;gap:0}.gender-toggle__btn{padding:9px 28px;border:1px solid var(--entry-border);background:var(--entry-bg);color:var(--text);font-family:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.gender-toggle__btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:0}.gender-toggle__btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.gender-toggle__btn:first-child:hover{background:#bbdefb;color:#1565c0}.gender-toggle__btn:last-child:hover{background:var(--btn-hover)}[data-theme="dark"] .gender-toggle__btn:first-child:hover{background:#1a3a5c;color:#90caf9}[data-theme="dark"] .gender-toggle__btn:last-child:hover{background:var(--btn-hover)}.gender-toggle__btn.selected-male{background:#1976d2;color:#fff;border-color:#1976d2;font-weight:600}.gender-toggle__btn.selected-female{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}[data-theme="dark"] .gender-toggle__btn.selected-male{background:#42a5f5;color:#0d1b2a;border-color:#42a5f5}.gender-toggle__btn.selected-male+.gender-toggle__btn{border-left-color:#1976d2}.gender-toggle__btn.selected-female{border-left-color:var(--accent)}[data-theme="dark"] .gender-toggle__btn.selected-male+.gender-toggle__btn{border-left-color:#42a5f5}@keyframes flashRequired{0%,100%{box-shadow:0 0 0 0 transparent}25%{box-shadow:0 0 0 3px rgba(211,47,47,0.35)}50%{box-shadow:0 0 0 0 transparent}75%{box-shadow:0 0 0 3px rgba(211,47,47,0.35)}}.field-row__input.flash-required,.gender-toggle.flash-required{animation:flashRequired 1s ease;border-color:#d32f2f}.form-fields{display:flex;flex-direction:column;gap:12px}.field-row{display:flex;align-items:center;gap:16px}.field-row__label{width:200px;min-width:200px;font-size:.88rem;font-weight:600;color:var(--text);text-align:right}.field-row__input{flex:1;padding:10px 14px;border:1px solid var(--entry-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.92rem;color:var(--text);background:var(--entry-bg);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.field-row__input::placeholder{color:var(--entry-placeholder)}.field-row__input:focus{outline:0;border-color:var(--entry-focus);box-shadow:0 0 0 3px rgba(233,30,123,0.15)}.field-row__input.valid{background:var(--valid-bg)}.field-row__input.invalid{background:var(--invalid-bg)}.field-row__input.highlighted{background:var(--highlight-bg)}.drop-overlay{display:none;position:fixed;inset:0;z-index:9999;background:var(--overlay-bg);backdrop-filter:blur(4px);align-items:center;justify-content:center}.drop-overlay.visible{display:flex}.drop-overlay__content{text-align:center;padding:48px;background:var(--surface);border:3px dashed var(--accent);border-radius:24px;box-shadow:var(--shadow-lg)}.drop-overlay__icon{font-size:4rem;margin-bottom:12px}.drop-overlay__text{font-size:1.3rem;font-weight:700;margin-bottom:4px}.drop-overlay__subtext{font-size:.9rem;color:var(--text-muted)}.modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px)}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:520px;max-width:92vw;max-height:90vh;overflow-y:auto}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px}.modal__title{font-size:1.15rem;font-weight:700}.modal__close{width:32px;height:32px;border:0;border-radius:50%;background:var(--btn-bg);color:var(--text);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background var(--transition)}.modal__close:hover{background:var(--btn-hover)}.modal__body{padding:8px 24px 20px;display:flex;flex-direction:column;gap:14px}.modal__footer{padding:12px 24px 20px;display:flex;gap:10px;justify-content:flex-end}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-sm);padding:20px;text-align:center;cursor:pointer;transition:border-color var(--transition),background var(--transition);position:relative}.upload-zone:hover,.upload-zone.dragover,.upload-zone.drag-hover{border-color:var(--accent);background:var(--overlay-bg);transform:scale(1.01);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent);transition:all .15s ease}.upload-zone.has-file{border-color:var(--accent);background:var(--overlay-bg)}.upload-zone__label{font-weight:600;margin-bottom:4px}.upload-zone__hint{font-size:.82rem;color:var(--text-muted)}.upload-zone__input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-zone__filename{font-size:.82rem;color:var(--accent);margin-top:6px;font-weight:600}.extract-progress{border-top:1px solid var(--divider);padding-top:14px}.progress-bar{height:8px;background:var(--btn-bg);border-radius:4px;overflow:hidden;position:relative}.progress-bar__fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#ffd54f));border-radius:4px;transition:width .5s cubic-bezier(0.4,0,0.2,1);position:relative}.progress-bar__fill.active-extract{animation:shimmer 2s ease-in-out infinite}.progress-bar__fill.active-extract::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,0.35) 50%,transparent 100%);animation:shimmerSlide 1.8s ease-in-out infinite}.progress-bar__fill.complete{background:linear-gradient(90deg,#43a047,#66bb6a);transition:background .4s ease,width .3s ease}.progress-bar__fill.indeterminate{width:40%;animation:indeterminate 1.4s ease-in-out infinite}@keyframes indeterminate{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}@keyframes shimmer{0%,100%{opacity:1}50%{opacity:.85}}@keyframes shimmerSlide{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}.progress-text{font-size:.82rem;color:var(--text-muted);margin-top:8px;text-align:center;min-height:1.2em;transition:color .3s ease}.progress-bar__fill.complete+.progress-text,.extract-progress:has(.complete) .progress-text{color:#2e7d32;font-weight:600}.restore-banner{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:12px 20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-lg);z-index:500;animation:slideUp .3s ease}@keyframes slideUp{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.restore-banner__text{font-size:.88rem}.restore-banner__actions{display:flex;gap:8px}.status-bar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:28px;background:var(--status-bg);border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted);flex-shrink:0}.btn--ghost{background:transparent;color:var(--text-muted);border:1px dashed var(--border);font-weight:500;font-size:.82rem;padding:8px 14px;transition:background var(--transition),color var(--transition),border-color var(--transition)}.btn--ghost:hover{background:var(--surface-hover);color:var(--text);border-color:var(--text-muted)}.sidebar__help{margin-top:auto}.modal--help{width:560px}.help-section{margin-bottom:18px}.help-section:last-child{margin-bottom:0}.help-section__title{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--divider)}.help-keys{display:flex;flex-direction:column;gap:4px}.help-key{display:grid;grid-template-columns:160px 1fr;align-items:center;padding:5px 0;font-size:.88rem}.help-key__combo{display:flex;align-items:center;gap:6px}.help-key__desc{color:var(--text-muted);font-size:.84rem;text-align:right}.help-key kbd{display:inline-block;padding:3px 9px;background:var(--btn-bg);border:1px solid var(--border);border-radius:4px;font-family:'Inter',monospace;font-size:.78rem;font-weight:600;color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,0.06);min-width:28px;text-align:center}.help-key__plus{color:var(--text-muted);font-size:.78rem;font-weight:500}.help-tips{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.help-tips li{font-size:.86rem;color:var(--text);padding-left:16px;position:relative;line-height:1.5}.help-tips li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.client-portrait{margin-top:14px;padding-top:14px;border-top:1px solid var(--divider);display:flex;flex-direction:column;gap:6px;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .3s ease,margin-top .3s ease,padding-top .3s ease}.client-portrait.visible{max-height:200px;opacity:1}.client-portrait__name{font-size:1.05rem;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:2px}.client-portrait__detail{display:flex;gap:6px;font-size:.82rem;line-height:1.4}.client-portrait__detail>span:first-child{color:var(--text-muted);font-weight:600;min-width:44px;flex-shrink:0}.client-portrait__detail>span:last-child{color:var(--text);word-break:break-word}.btn--load-local{margin-top:12px;font-size:.82rem;padding:6px 10px;border:1px dashed var(--border)}.btn--load-local:hover{border-style:solid}.modal--clients{width:520px}.client-search{width:100%;padding:10px 14px;border:1px solid var(--entry-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.92rem;color:var(--text);background:var(--entry-bg);transition:border-color var(--transition),box-shadow var(--transition)}.client-search::placeholder{color:var(--entry-placeholder)}.client-search:focus{outline:0;border-color:var(--entry-focus);box-shadow:0 0 0 3px rgba(233,30,123,0.15)}.sort-bar{display:flex;align-items:center;gap:6px;margin-bottom:10px}.sort-bar__label{font-size:.76rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-right:2px;user-select:none}.sort-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;font-size:.76rem;font-weight:500;border:1px solid var(--entry-border);border-radius:14px;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all .2s ease;user-select:none;line-height:1.3}.sort-btn:hover{border-color:var(--accent);color:var(--text)}.sort-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sort-btn .sort-arrow{font-size:.6rem;line-height:1;transition:transform .2s ease}[data-theme="dark"] .sort-btn{background:var(--surface);border-color:var(--entry-border)}[data-theme="dark"] .sort-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.client-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.client-list__empty{text-align:center;color:var(--text-muted);font-size:.88rem;padding:24px 0}.client-list__item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--btn-bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),border-color var(--transition)}.client-list__item:hover{background:var(--surface-hover);border-color:var(--accent)}.client-list__info{flex:1;min-width:0}.client-list__name{font-weight:600;font-size:.9rem;color:var(--text)}.client-list__meta{font-size:.78rem;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-list__delete{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background var(--transition),color var(--transition);flex-shrink:0}.client-list__delete:hover{background:#ffebee;color:#d32f2f}[data-theme="dark"] .client-list__delete:hover{background:#3a1a1a;color:#ef5350}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:1024px){.sidebar{width:260px;min-width:240px;padding:16px}.card{padding:16px}.content{padding:20px}.field-row__label{width:180px;min-width:180px}}@media(max-width:900px){.layout{flex-direction:column;overflow:visible}.sidebar{width:100%;min-width:unset;border-right:0;border-bottom:1px solid var(--border);flex-shrink:0;max-height:none;overflow-y:visible;flex-direction:row;flex-wrap:wrap;gap:12px;padding:16px;align-items:flex-start}.sidebar .card{flex:1;min-width:200px}.sidebar__help{margin-top:0;flex:0 0 auto;align-self:stretch}.content{overflow-y:auto;flex:1}.field-row{flex-direction:column;align-items:stretch;gap:4px}.field-row__label{width:auto;min-width:auto;text-align:left;font-size:.84rem}.field-row__input{font-size:1rem}.gender-toggle{display:flex}.gender-toggle__btn{flex:1;padding:10px 20px}.form-header__title{font-size:1.15rem}.empty-state__icon{font-size:3rem}.empty-state__title{font-size:1.2rem}.modal{max-width:94vw}.modal--help{width:94vw;max-width:560px}.client-portrait__name{font-size:.95rem}.client-portrait__detail{font-size:.78rem}.help-key{grid-template-columns:140px 1fr}.restore-banner{left:16px;right:16px;transform:none;max-width:none;width:auto}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media(max-width:600px){.top-bar{padding:0 14px;height:48px}.top-bar__title{font-size:1.05rem}.top-bar__badge{font-size:.6rem;padding:2px 6px}.sidebar{flex-direction:column;padding:12px;gap:10px}.sidebar .card{min-width:unset;padding:14px}.card__title{font-size:.82rem;margin-bottom:10px}.btn-grid{grid-template-columns:1fr 1fr;gap:6px}.btn{padding:9px 10px;font-size:.82rem;gap:4px}.btn__icon{font-size:.9rem}.btn--danger{padding:6px 10px;font-size:.78rem;margin-top:8px}.sidebar__help{font-size:.78rem;padding:7px 10px}.content{padding:14px}.form-header{margin-bottom:14px;flex-wrap:wrap;gap:8px}.form-header__title{font-size:1.05rem}.field-counter{font-size:.72rem;padding:3px 10px}.form-fields{gap:10px}.field-row{gap:3px}.field-row__label{font-size:.82rem}.field-row__input{padding:9px 12px;font-size:.95rem}.gender-toggle__btn{padding:9px 16px;font-size:.88rem}.empty-state__icon{font-size:2.5rem;margin-bottom:12px}.empty-state__title{font-size:1.1rem}.empty-state__text{font-size:.88rem}.client-portrait__name{font-size:.92rem}.client-portrait__detail{font-size:.76rem}.modal{max-width:96vw;max-height:94vh;border-radius:var(--radius-sm)}.modal--help,.modal--clients{width:96vw}.modal__header{padding:16px 16px 10px}.modal__title{font-size:1.05rem}.modal__body{padding:6px 16px 16px;gap:12px}.modal__footer{padding:10px 16px 16px}.upload-zone{padding:16px}.upload-zone__label{font-size:.9rem}.client-list{max-height:300px}.client-list__item{padding:8px 12px}.client-list__name{font-size:.84rem}.client-list__meta{font-size:.74rem}.client-search{font-size:.88rem;padding:9px 12px}.sort-bar{gap:4px}.sort-btn{padding:3px 8px;font-size:.72rem}.help-key{grid-template-columns:120px 1fr;padding:4px 0;font-size:.82rem}.help-key kbd{padding:2px 6px;font-size:.72rem;min-width:24px}.help-key__desc{font-size:.78rem}.help-tips li{font-size:.82rem;line-height:1.45}.help-section__title{font-size:.76rem}.drop-overlay__content{padding:32px 24px}.drop-overlay__icon{font-size:3rem}.drop-overlay__text{font-size:1.1rem}.status-bar{height:26px;padding:0 12px}.status-bar__right{display:none}.restore-banner{left:10px;right:10px;bottom:34px;padding:10px 14px;gap:10px;flex-wrap:wrap}.restore-banner__text{font-size:.82rem}}@media(max-width:380px){.top-bar{height:44px}.top-bar__title{font-size:.95rem}.sidebar{padding:10px;gap:8px}.sidebar .card{padding:12px}.btn-grid{gap:5px}.btn{padding:8px 8px;font-size:.78rem}.content{padding:10px}.form-header__title{font-size:.95rem}.field-row__input{padding:8px 10px}.modal__header{padding:14px 12px 8px}.modal__body{padding:4px 12px 14px}.help-key{grid-template-columns:100px 1fr}}body.password-locked{overflow:hidden !important;height:100vh}.password-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#fce4ec 0,#f8bbd0 30%,#f48fb1 60%,#f06292 85%,#ec407a 100%);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 1.2s cubic-bezier(0.4,0,0.2,1),transform 1.2s cubic-bezier(0.4,0,0.2,1);overflow:hidden}.password-overlay.unlocking{opacity:0;transform:scale(1.1);pointer-events:none}.ambient-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;pointer-events:none}.orb-1{width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,0.6) 0,rgba(248,187,208,0.3) 70%,transparent 100%);top:10%;left:15%;animation:orbDrift1 14s ease-in-out infinite alternate}.orb-2{width:220px;height:220px;background:radial-gradient(circle,rgba(255,224,178,0.5) 0,rgba(255,183,77,0.2) 70%,transparent 100%);top:60%;right:10%;animation:orbDrift2 18s ease-in-out infinite alternate}.orb-3{width:180px;height:180px;background:radial-gradient(circle,rgba(206,147,216,0.5) 0,rgba(186,104,200,0.2) 70%,transparent 100%);bottom:15%;left:25%;animation:orbDrift3 16s ease-in-out infinite alternate}.orb-4{width:260px;height:260px;background:radial-gradient(circle,rgba(255,255,255,0.4) 0,rgba(252,228,236,0.2) 70%,transparent 100%);top:30%;right:30%;animation:orbDrift4 20s ease-in-out infinite alternate}.orb-5{width:140px;height:140px;background:radial-gradient(circle,rgba(179,229,252,0.4) 0,rgba(129,212,250,0.2) 70%,transparent 100%);top:5%;right:20%;animation:orbDrift5 12s ease-in-out infinite alternate}@keyframes orbDrift1{0%{transform:translate(0,0) scale(1)}100%{transform:translate(40px,30px) scale(1.15)}}@keyframes orbDrift2{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-50px,-40px) scale(1.1)}}@keyframes orbDrift3{0%{transform:translate(0,0) scale(1)}100%{transform:translate(30px,-25px) scale(1.2)}}@keyframes orbDrift4{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-35px,20px) scale(0.9)}}@keyframes orbDrift5{0%{transform:translate(0,0) scale(1)}100%{transform:translate(25px,35px) scale(1.1)}}.password-container{position:relative;z-index:100;text-align:center;padding:3rem;max-width:480px;width:90%}.lock-icon{font-size:3rem;margin-bottom:1.25rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,0.15))}.password-title{font-size:clamp(1.4rem,4vw,2rem);font-weight:700;color:#fff;margin-bottom:2rem;letter-spacing:.3px;text-shadow:0 2px 12px rgba(136,14,79,0.3);line-height:1.4}.password-input-wrapper{position:relative;margin-bottom:.75rem}.password-input{width:100%;padding:1rem 1.5rem;font-size:1.1rem;background:rgba(255,255,255,0.25);border:2px solid rgba(255,255,255,0.4);border-radius:12px;color:#fff;text-align:center;outline:0;transition:all .3s ease;backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(136,14,79,0.15);font-family:'Inter',sans-serif;letter-spacing:.5px}.password-input::placeholder{color:rgba(255,255,255,0.6)}.password-input:focus{border-color:rgba(255,255,255,0.7);box-shadow:0 8px 24px rgba(136,14,79,0.15),0 0 30px rgba(255,255,255,0.15);background:rgba(255,255,255,0.3)}.password-input.shake{animation:input-shake .5s ease}@keyframes input-shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-8px)}20%,40%,60%,80%{transform:translateX(8px)}}.password-error{color:#fff;font-size:.9rem;font-weight:600;margin-top:.5rem;opacity:0;transition:opacity .3s ease;text-shadow:0 1px 4px rgba(136,14,79,0.4);background:rgba(211,47,47,0.35);padding:6px 16px;border-radius:8px;display:inline-block}.password-error.show{opacity:1}.password-hint{color:rgba(255,255,255,0.7);font-size:.85rem;margin-top:1.25rem;font-style:italic;text-shadow:0 1px 4px rgba(136,14,79,0.2)}@media(max-width:600px){.password-container{padding:2rem 1.5rem}.password-title{font-size:1.4rem;margin-bottom:1.5rem}.password-input{padding:.9rem 1.25rem;font-size:1rem}.lock-icon{font-size:2.5rem}.ambient-orb{filter:blur(40px)}.orb-1{width:200px;height:200px}.orb-2{width:150px;height:150px}.orb-3{width:120px;height:120px}.orb-4{width:180px;height:180px}.orb-5{width:100px;height:100px}}