@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap";:root{--orange:#d46a2a;--orange-hover:#b8531a;--warm-bg:#f5f0eb;--card-bg:#fff;--text:#2c2c2c;--text-muted:#777;--border:#e8e2da;--input-bg:#faf8f5;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 8px 32px #0000001a;--radius-lg:20px;--radius-md:12px;--radius-sm:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--warm-bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Inter,sans-serif;display:flex}.auth-wrapper{width:100%;max-width:440px}.auth-card{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px 36px;animation:.6s authFadeIn}@keyframes authFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-back{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:28px;font-size:13px;text-decoration:none;transition:color .2s;display:inline-flex}.auth-back:hover{color:var(--orange)}.auth-brand{align-items:center;gap:10px;margin-bottom:32px;display:flex}.auth-brand-icon{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--orange), #e8924a);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex;box-shadow:0 4px 14px #d46a2a4d}.auth-brand-logo{object-fit:contain;border-radius:10px;width:44px;height:44px;box-shadow:0 4px 14px #d46a2a40}.auth-brand h1{color:var(--text);background:0 0;font-family:Playfair Display,serif;font-size:24px}.auth-card h2{color:var(--text);text-align:left;background:0 0;margin-bottom:6px;font-family:Playfair Display,serif;font-size:22px}.auth-sub{color:var(--text-muted);text-align:left;letter-spacing:normal;text-transform:none;background:0 0;margin-bottom:28px;font-size:14px}.auth-fields{flex-direction:column;gap:16px;display:flex}.auth-field label{color:#555;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-wrap i{color:#bbb;pointer-events:none;background:0 0;font-size:15px;position:absolute;left:14px}.auth-input-wrap input{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--text);padding:13px 14px 13px 40px;font-family:Inter,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}.auth-input-wrap input:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #d46a2a1a}.auth-input-wrap input::placeholder{color:#c0bab0}.auth-input-wrap.error input{border-color:#e53935;box-shadow:0 0 0 3px #e5393514}.auth-input-wrap.error:after{content:"";z-index:2;pointer-events:none;border-top:0 solid #0000;border-bottom:20px solid #0000;border-left:0 solid #0000;border-right:20px solid #e53935;border-radius:0 8px 0 0;width:0;height:0;position:absolute;top:-1px;right:-1px}.auth-field .field-error{color:#e53935;margin-top:4px;font-size:11px;display:none}.auth-field .field-error.visible{display:block}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.auth-input-wrap.shake{animation:.4s shake}.pw-strength{margin-top:6px}.pw-strength-bar{background:#e8e2da;border-radius:2px;height:4px;transition:background .3s;overflow:hidden}.pw-strength-bar-fill{border-radius:2px;width:0;height:100%;transition:width .3s,background .3s}.pw-strength-bar-fill.weak{background:#e53935;width:25%}.pw-strength-bar-fill.fair{background:#f9a825;width:50%}.pw-strength-bar-fill.good{background:#7cb342;width:75%}.pw-strength-bar-fill.strong{background:#2e7d32;width:100%}.pw-rules{flex-direction:column;gap:3px;margin-top:8px;list-style:none;display:flex}.pw-rules li{color:#aaa;align-items:center;gap:5px;font-size:11px;transition:color .2s;display:flex}.pw-rules li i{text-align:center;width:12px;font-size:10px}.pw-rules li.pass{color:#2e7d32}.pw-rules li.fail{color:#e53935}.auth-terms{margin-top:2px}.auth-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;display:flex}.auth-checkbox input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.auth-checkbox-mark{border:2px solid var(--border);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;transition:all .2s;display:flex}.auth-checkbox-mark i{color:#fff;opacity:0;background:0 0;font-size:11px;transition:all .15s;transform:scale(0)}.auth-checkbox input:checked+.auth-checkbox-mark{background:var(--orange);border-color:var(--orange)}.auth-checkbox input:checked+.auth-checkbox-mark i{opacity:1;transform:scale(1)}.auth-checkbox-text{color:var(--text-muted);font-size:13px;line-height:1.5}.auth-checkbox-text a{color:var(--orange);font-weight:500;text-decoration:none}.auth-checkbox-text a:hover{text-decoration:underline}.auth-forgot{text-align:right;color:var(--text-muted);margin-top:-8px;font-size:13px;text-decoration:none;transition:color .2s;display:block}.auth-forgot:hover{color:var(--orange)}#login-btn,#signup-btn{background:linear-gradient(135deg, var(--orange), #e08040);color:#fff;cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:14px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 4px 16px #d46a2a40}#login-btn:hover,#signup-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 22px #d46a2a59}#login-btn:active,#signup-btn:active:not(:disabled){transform:translateY(0)}#signup-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.auth-switch{text-align:center;color:var(--text-muted);letter-spacing:normal;text-transform:none;background:0 0;margin-top:28px;font-size:14px}.auth-switch a{color:var(--orange);background:0 0;font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}#toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{color:#fff;opacity:0;text-align:center;white-space:nowrap;border-radius:10px;padding:12px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:opacity .3s,transform .3s;transform:translateY(10px);box-shadow:0 4px 16px #00000026}.toast.success{background:#4caf50}.toast.error{background:#e53935}.toast.info{background:#555}.toast.show{opacity:1;transform:translateY(0)}
