.form-field-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.form-field-label{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:500;color:var(--text-main);-webkit-user-select:none;user-select:none}.form-field-input{width:100%;padding:11px 14px;border:1px solid var(--border-subtle);border-radius:8px;font-size:.95rem;color:var(--text-main);background:var(--bg-page);transition:all .2s ease;font-family:inherit}.form-field-input::placeholder{color:var(--text-muted);opacity:.6}.form-field-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--glow-blue);background:var(--surface-white)}.form-field-input:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed;opacity:.6}.form-field-input.form-field-error{border-color:#dc2626;background:#fef2f2}.form-field-input.form-field-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.form-field-help-text{font-size:.8125rem;color:var(--text-muted);line-height:1.4;margin-top:-4px}.form-field-error-message{font-size:.8125rem;color:#dc2626;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:-4px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.form-field-input.form-field-error{background:#dc26261a}}@media(prefers-contrast:more){.form-field-input:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.form-field-input.form-field-error{outline:2px solid #dc2626}}@media(prefers-reduced-motion:reduce){.form-field-input,.form-field-error-message{transition:none;animation:none}}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn .2s ease-out}.login-modal{background:var(--surface-white);border:1px solid var(--border-subtle);border-radius:16px;width:90%;max-width:440px;box-shadow:var(--shadow-xl);position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close-btn{position:absolute;top:16px;right:16px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}.modal-close-btn:hover{background:var(--bg-page);color:var(--text-main)}.login-modal-content{padding:40px 32px 36px;display:flex;flex-direction:column;align-items:center;text-align:center}.login-icon{margin-bottom:20px}.login-logo{width:56px;height:56px;object-fit:contain}.login-title{font-size:1.65rem;font-weight:700;color:var(--text-main);margin:0 0 8px}.demo-mode-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 20px;border-radius:24px;font-weight:600;font-size:.85rem;letter-spacing:.5px;margin-bottom:20px;box-shadow:0 4px 12px #667eea4d}.demo-badge-icon{font-size:1.1rem}.login-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 28px;max-width:320px}.demo-user-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-page);border-radius:12px;border:2px solid var(--border-subtle);margin-bottom:24px;width:100%;max-width:320px;transition:all .2s}.demo-user-card:hover{border-color:var(--primary-blue);background:#f8f9ff}.demo-user-avatar{flex-shrink:0}.demo-user-email{font-size:.85rem;color:var(--text-muted)}.google-signin-btn{width:100%;max-width:360px;padding:10px 18px;background:#fff;color:#333;border:1px solid var(--border-subtle);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s;box-shadow:0 1px 4px #0000000f;margin-bottom:16px}.google-signin-btn:hover{background:#f8f9fa;border-color:#dadce0;transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.google-signin-btn:active{transform:translateY(0)}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{display:flex;align-items:center;width:100%;max-width:360px;margin:16px 0;color:var(--text-muted);font-size:.85rem;gap:16px}.login-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.form-input{width:100%;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:8px;font-size:.95rem;color:var(--text-main);background:var(--bg-page);transition:all .2s}.email-signin-btn{width:100%;padding:10px 18px;background:var(--primary-blue);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 2px 8px #007bff33;margin-top:4px}.email-signin-btn:hover{background:var(--primary-blue-hover);transform:translateY(-1px);box-shadow:0 6px 16px #007bff4d}.email-signin-btn:active{transform:translateY(0)}.email-signin-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer-note{margin-top:20px;font-size:.8rem;color:var(--text-muted);max-width:300px}@media(max-width:768px){.login-modal{width:95%;max-width:380px}.login-modal-content{padding:40px 24px 32px}.login-title{font-size:1.5rem}input[type=email],input[type=password],input[type=text]{font-size:16px}}@media(max-width:480px){.login-modal{width:100%;max-width:100%;height:-webkit-fill-available;border-radius:0}.login-modal-content{padding:32px 20px}.close-btn{top:12px;right:12px;width:36px;height:36px}}.demo-user-avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid white;box-shadow:0 2px 8px #0000001a}.demo-user-info{flex:1 1 0%;text-align:left}.demo-user-name{font-weight:600;font-size:1rem;color:var(--text-main);margin-bottom:2px}.login-error{width:100%;max-width:360px;padding:12px 16px;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.875rem;margin-bottom:16px}.signup-link{color:var(--primary-blue);text-decoration:none;font-weight:600}.signup-link:hover{text-decoration:underline}@media(prefers-reduced-motion:reduce){.modal-overlay,.login-modal,*{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.signup-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-content);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.signup-modal{background:var(--surface-white);border:1px solid var(--border-subtle);border-radius:20px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .4s cubic-bezier(.4,0,.2,1);scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s ease}.signup-modal:hover,.signup-modal:focus-within{scrollbar-color:rgb(0 0 0 / 20%) transparent}.signup-modal::-webkit-scrollbar{width:8px}.signup-modal::-webkit-scrollbar-track{background:transparent}.signup-modal::-webkit-scrollbar-thumb{background:transparent;border-radius:4px;transition:background .3s ease}.signup-modal:hover::-webkit-scrollbar-thumb,.signup-modal:focus-within::-webkit-scrollbar-thumb{background:#0003}.signup-modal::-webkit-scrollbar-thumb:hover{background:#0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.signup-close-btn{position:absolute;top:20px;right:20px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}.signup-close-btn:hover{background:var(--bg-page);color:var(--text-main)}.signup-modal-content{padding:48px 40px 40px;display:flex;flex-direction:column;align-items:center}.signup-hero{text-align:center;margin-bottom:24px}.signup-logo{margin-bottom:16px}.logo-img{width:64px;height:64px;object-fit:contain}.signup-title{font-size:2rem;font-weight:700;color:var(--text-main);margin:0 0 8px;background:linear-gradient(135deg,var(--primary-blue) 0%,#0056b3 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.signup-subtitle{font-size:1rem;color:var(--text-muted);margin:0}.journii-intro{background:linear-gradient(135deg,#007bff14,#007bff0a);border:1px solid rgb(0 123 255 / 15%);border-radius:12px;padding:16px 20px;margin-bottom:24px;width:100%;max-width:440px}.journii-badge{display:inline-flex;align-items:center;gap:6px;background:var(--primary-blue);color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;margin-bottom:10px}.journii-description{font-size:.9rem;color:var(--text-main);line-height:1.5;margin:0}.signup-error{width:100%;max-width:440px;padding:12px 16px;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.875rem;margin-bottom:16px}.google-signup-btn{width:100%;max-width:440px;padding:12px 20px;background:#fff;color:#333;border:1px solid var(--border-subtle);border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .2s;box-shadow:0 2px 8px #00000014;margin-bottom:20px}.google-signup-btn:hover{background:#f8f9fa;border-color:#dadce0;transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.google-signup-btn:active{transform:translateY(0)}.google-signup-btn:disabled{opacity:.6;cursor:not-allowed}.signup-divider{display:flex;align-items:center;width:100%;max-width:440px;margin:20px 0;color:var(--text-muted);font-size:.85rem;gap:16px}.divider-line{flex:1 1 0%;height:1px;background:var(--border-subtle)}.signup-form{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:8px}.form-label{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:500;color:var(--text-main)}.form-input{width:100%;padding:11px 14px;border:1px solid var(--border-subtle);border-radius:8px;font-size:.95rem;color:var(--text-main);background:var(--bg-page);transition:all .2s}.form-input:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px #007bff1a}.form-input::placeholder{color:var(--text-muted)}.legal-agreements{width:100%;display:flex;flex-direction:column;gap:8px;margin:16px 0}.legal-agreements .checkbox-label{display:flex;align-items:flex-start;gap:8px;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.legal-agreements .checkbox-label input[type=checkbox]{margin-top:2px;cursor:pointer}.legal-agreements .checkbox-label a{color:var(--primary-blue);text-decoration:none;font-weight:500}.legal-agreements .checkbox-label a:hover{text-decoration:underline}.signup-submit-btn{width:100%;padding:12px 24px;background:linear-gradient(135deg,var(--primary-blue) 0%,#0056b3 100%);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s;box-shadow:0 4px 16px #007bff4d;margin-top:8px}.signup-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.signup-submit-btn:active{transform:translateY(0)}.signup-submit-btn:disabled{opacity:.6;cursor:not-allowed}.signup-footer{margin-top:24px;font-size:.875rem;color:var(--text-muted);text-align:center}.signin-link{color:var(--primary-blue);text-decoration:none;font-weight:600;transition:color .2s}.signin-link:hover{color:#0056b3;text-decoration:underline}@media(max-width:768px){.signup-modal{width:95%;max-width:460px}.signup-modal-content{padding:40px 28px 32px}.signup-title{font-size:1.75rem}.logo-img{width:56px;height:56px}input[type=email],input[type=password],input[type=text]{font-size:16px}}@media(max-width:480px){.signup-modal{width:100%;max-width:100%;height:-webkit-fill-available;border-radius:0}.signup-modal-content{padding:32px 20px}.close-btn{top:12px;right:12px;width:36px;height:36px}}.required-indicator{color:#dc2626;font-weight:600;margin-left:2px}@media(prefers-reduced-motion:reduce){.signup-modal-overlay,.signup-modal,*{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}
