body.auth-forms {background-color: #f0f2f5;font-family: var(--font-family-base)}
.login-container {background-color: #ffffff;padding: 40px;border-radius: 8px;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);width: 100%;max-width: 400px;text-align: center;margin: 20px auto;box-sizing: border-box}
@media (max-width: 600px) {.login-container {padding: 20px;max-width: 100%}}
.login-container h1 {font-size: 24px;margin-bottom: 24px;color: #1c1e21}
.login-form .form-field {margin-bottom: 8px}
.login-form input[type="email"]:not(.auth-input),
.login-form input[type="password"]:not(.auth-input),
.login-form input[type="text"]:not(.auth-input),
.login-form textarea,
.login-form input[type="number"],
.login-form input[type="datetime-local"] {width: 100%;padding: 12px;border: 1px solid #dddfe2;border-radius: 6px;font-size: 16px;box-sizing: border-box}
.auth-field-input-wrapper {display: flex;align-items: center;background: #fff;border: 1px solid #dddfe2;border-radius: 8px;overflow: hidden;transition: border-color 0.2s, box-shadow 0.2s}
.auth-field-input-wrapper:focus-within {border-color: #1877f2;box-shadow: 0 0 0 3px rgba(24, 119, 242, 0.1)}
.auth-field-icon {display: flex;align-items: center;justify-content: center;padding: 0 12px;color: #a0aec0}
.auth-input {flex: 1;border: none;padding: 12px 12px 12px 0;font-size: 16px;background: transparent;outline: none;min-width: 0}
.auth-input::placeholder {color: #a0aec0}
.login-form input[type="submit"],
.login-form button.login-form__submit {width: 100%;padding: 8px;background-color: #1877f2;border: none;border-radius: 6px;color: #ffffff;font-size: 16px;font-weight: bold;cursor: pointer;transition: background-color 0.3s}
.login-form input[type="submit"]:hover,
.login-form button.login-form__submit:hover {background-color: #166fe5}
.login-links {margin-top: 20px}
.login-links a {color: #1877f2;text-decoration: none;font-size: 14px}
.login-links a:hover {text-decoration: underline}
.form-field-info {font-size: 12px;color: #606770;margin-top: 4px;text-align: left}
.signup-page {display: flex;justify-content: center;align-items: center;padding: 24px 20px;min-height: calc(100vh - 60px)}
.signup-card {background: #fff;border-radius: 16px;box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);width: 100%;max-width: 400px;padding: 32px;box-sizing: border-box}
.signup-card-header {text-align: center;margin-bottom: 28px}
.signup-logo {display: inline-flex;align-items: center;justify-content: center;width: 72px;height: 72px;background: linear-gradient(135deg, #e8f4fd 0%, #d4ecfc 100%);border-radius: 50%;margin-bottom: 16px;color: #1877f2}
.signup-title {font-size: 24px;font-weight: 700;color: #1c1e21;margin: 0 0 8px}
.signup-subtitle {font-size: 14px;color: #65676b;margin: 0;line-height: 1.5}
.signup-errors {display: flex;align-items: flex-start;gap: 12px;padding: 14px 16px;background: #fff5f5;border: 1px solid #feb2b2;border-radius: 10px;margin-bottom: 20px}
.signup-errors-icon {color: #e53e3e;flex-shrink: 0;margin-top: 2px}
.signup-errors-messages {font-size: 13px;color: #c53030;line-height: 1.5}
.signup-errors-messages div + div {margin-top: 4px}
.signup-section {background: #f8fafc;border-radius: 12px;padding: 16px;margin-bottom: 16px}
.signup-section-header {display: flex;align-items: center;gap: 8px;margin-bottom: 14px;padding-bottom: 10px;border-bottom: 1px solid #e2e8f0}
.signup-section-icon {display: flex;align-items: center;justify-content: center;width: 28px;height: 28px;background: #1877f2;border-radius: 6px;color: #fff}
.signup-section-title {font-size: 14px;font-weight: 600;color: #1c1e21}
.signup-section-badge {font-size: 11px;color: #fff;background: #4299e1;padding: 2px 8px;border-radius: 10px;margin-left: auto}
.signup-field {margin-bottom: 12px}
.signup-field:last-child {margin-bottom: 0}
.signup-field-input-wrapper {display: flex;align-items: center;background: #fff;border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;transition: border-color 0.2s, box-shadow 0.2s}
.signup-field-input-wrapper:focus-within {border-color: #1877f2;box-shadow: 0 0 0 3px rgba(24, 119, 242, 0.1)}
.signup-field-icon {display: flex;align-items: center;justify-content: center;padding: 0 12px;color: #a0aec0}
.signup-input {flex: 1;border: none;padding: 14px 12px 14px 0;font-size: 15px;background: transparent;outline: none;min-width: 0}
.signup-input::placeholder {color: #a0aec0}
.signup-field-info-btn {display: flex;align-items: center;justify-content: center;width: 28px;height: 28px;margin-right: 8px;background: linear-gradient(135deg, #e8f4fd 0%, #d4ecfc 100%);border: none;border-radius: 50%;color: #4299e1;cursor: pointer;transition: all 0.2s ease;flex-shrink: 0}
.signup-field-info-btn:hover {background: linear-gradient(135deg, #1877f2 0%, #166fe5 100%);color: #fff;transform: scale(1.1);box-shadow: 0 2px 8px rgba(24, 119, 242, 0.3)}
.signup-field-info-btn svg {width: 14px;height: 14px}
.signup-field-hint {font-size: 11px;color: #718096;margin: 6px 0 0 44px}
.signup-submit-btn {width: 100%;padding: 14px 24px;background: linear-gradient(135deg, #1877f2 0%, #166fe5 100%);border: none;border-radius: 10px;color: #fff;font-size: 16px;font-weight: 600;cursor: pointer;transition: transform 0.2s, box-shadow 0.2s;margin-top: 8px}
.signup-submit-btn:hover {transform: translateY(-1px);box-shadow: 0 4px 12px rgba(24, 119, 242, 0.35)}
.signup-submit-btn:active {transform: translateY(0)}
.signup-terms {font-size: 11px;color: #718096;text-align: center;margin: 16px 0 0;line-height: 1.6}
.signup-terms a {color: #1877f2;text-decoration: none}
.signup-terms a:hover {text-decoration: underline}
.signup-login-link {text-align: center;padding-top: 20px;margin-top: 20px;border-top: 1px solid #e2e8f0}
.signup-login-link span {font-size: 13px;color: #718096}
.signup-login-link a {color: #1877f2;font-weight: 600;text-decoration: none;margin-left: 4px}
.signup-login-link a:hover {text-decoration: underline}
@media (max-width: 480px) {.signup-page {padding: 16px 12px}
.signup-card {padding: 24px 20px;border-radius: 12px}
.signup-logo {width: 64px;height: 64px}
.signup-logo svg {width: 40px;height: 40px}
.signup-title {font-size: 20px}
.signup-subtitle {font-size: 13px}
.signup-section {padding: 14px}
.signup-section-header {flex-wrap: wrap}
.signup-section-badge {margin-left: 0;margin-top: 4px;width: 100%;text-align: center}
.signup-input {padding: 12px 10px 12px 0;font-size: 16px}
.signup-field-hint {margin-left: 40px}
.signup-submit-btn {padding: 12px 20px;font-size: 15px}
.signup-field-info-btn {width: 26px;height: 26px;margin-right: 6px}
.signup-field-info-btn svg {width: 12px;height: 12px}}
.signup-container {max-width: 380px}
.signup-header {margin-bottom: 24px}
.signup-header h1 {font-size: 22px;margin-bottom: 8px}
.form-field-hint {font-size: 11px;color: #8a8d91;margin: 4px 0 0 2px;text-align: left}
.form-field-footer {display: flex;align-items: center;justify-content: space-between;gap: 8px}
.form-field-footer .form-field-hint {margin: 4px 0 0 2px;flex: 1}
.info-button {background: none;border: none;padding: 2px;cursor: pointer;color: #8a8d91;display: flex;align-items: center;justify-content: center;transition: color 0.2s;flex-shrink: 0}
.info-button:hover {color: #1877f2}
.info-modal {display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 1000;justify-content: center;align-items: center;padding: 20px;box-sizing: border-box}
.info-modal.active {display: flex}
.info-modal-content {background-color: #fff;border-radius: 12px;max-width: 320px;width: 100%;box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);animation: info-modal-in 0.2s ease-out}
@keyframes info-modal-in {from {opacity: 0;transform: scale(0.95)}
to {opacity: 1;transform: scale(1)}}
.info-modal-header {display: flex;justify-content: space-between;align-items: center;padding: 14px 16px;border-bottom: 1px solid #e4e6eb}
.info-modal-title {font-size: 15px;font-weight: 600;color: #1c1e21}
.info-modal-close {background: none;border: none;font-size: 24px;line-height: 1;color: #65676b;cursor: pointer;padding: 0;width: 28px;height: 28px;display: flex;align-items: center;justify-content: center;border-radius: 50%;transition: background-color 0.2s}
.info-modal-close:hover {background-color: #f0f2f5;color: #1c1e21}
.info-modal-body {padding: 16px;font-size: 14px;color: #65676b;line-height: 1.6;margin: 0}
.form-divider {height: 1px;background-color: #e4e6eb;margin: 16px 0}
.form-section {background-color: #f7f8fa;border-radius: 8px;padding: 12px;margin-top: 16px}
.form-section-header {display: flex;align-items: center;gap: 8px;margin-bottom: 10px;padding-bottom: 8px;border-bottom: 1px solid #e4e6eb}
.form-section-title {font-size: 13px;font-weight: 600;color: #1c1e21}
.form-section-note {font-size: 11px;color: #65676b}
.form-section .form-field {margin-bottom: 8px}
.form-section .form-field:last-child {margin-bottom: 0}
.form-section input[type="text"] {background-color: #fff}
.signup-submit {margin-top: 8px;padding: 12px !important;font-size: 15px !important}
.signup-terms {font-size: 11px;color: #8a8d91;margin-top: 12px;line-height: 1.5}
.signup-terms a {color: #1877f2;text-decoration: none}
.signup-terms a:hover {text-decoration: underline}
.login-links-text {font-size: 13px;color: #65676b;margin-right: 4px}
.policy-links {margin-top: 20px;padding-top: 15px;border-top: 1px solid #dddfe2}
.policy-links a {color: #606770;text-decoration: none;font-size: 12px}
.policy-links a:hover {text-decoration: underline}
.confirmation-sent {text-align: center}
.confirmation-sent-icon {margin-bottom: 24px}
.confirmation-sent h1 {font-size: 20px;color: #1c1e21;margin-bottom: 16px}
.confirmation-sent-message {font-size: 14px;color: #606770;margin-bottom: 12px;line-height: 1.6}
.confirmation-sent-email {font-size: 16px;font-weight: 600;color: #1877f2;background-color: #f0f2f5;padding: 12px 16px;border-radius: 8px;margin-bottom: 16px;word-break: break-all}
.confirmation-sent-hint {font-size: 13px;color: #8a8d91;margin-bottom: 24px}
.confirmation-sent-actions {margin-bottom: 24px}
.confirmation-sent-link {display: inline-block;padding: 10px 24px;background-color: #1877f2;color: #ffffff;text-decoration: none;border-radius: 6px;font-weight: 600;transition: background-color 0.2s}
.confirmation-sent-link:hover {background-color: #166fe5}
.confirmation-sent-resend {padding-top: 16px;border-top: 1px solid #dddfe2}
.confirmation-sent-resend p {font-size: 13px;color: #8a8d91;margin-bottom: 8px}
.confirmation-sent-resend a {font-size: 14px;color: #1877f2;text-decoration: none}
.confirmation-sent-resend a:hover {text-decoration: underline}
.edit-fishing-report .location-type-field {margin-top: 20px}
.oauth-divider {display: flex;align-items: center;margin: 20px 0;color: #65676b;font-size: 13px}
.oauth-divider::before,
.oauth-divider::after {content: "";flex: 1;height: 1px;background: #e2e8f0}
.oauth-divider span {padding: 0 16px;white-space: nowrap}
.oauth-form {width: 100%}
.oauth-button {display: flex;align-items: center;justify-content: center;width: 100%;padding: 12px 16px;border: 1px solid #dadce0;border-radius: 10px;background: #fff;font-size: 15px;font-weight: 500;color: #3c4043;cursor: pointer;transition: all 0.2s ease;gap: 12px}
.oauth-button:hover {background: #f8f9fa;border-color: #d2e3fc;box-shadow: 0 1px 3px rgba(60, 64, 67, 0.15)}
.oauth-button:active {background: #f1f3f4}
.oauth-button-google {background: #fff}
.oauth-button-google:hover {background: #f8f9fa}
.oauth-button-icon {width: 20px;height: 20px;flex-shrink: 0}
.oauth-account-info {display: flex;align-items: center;gap: 12px;padding: 14px 16px;background: #f0f9ff;border: 1px solid #bae6fd;border-radius: 10px;margin-bottom: 20px}
.oauth-account-icon {display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;background: #fff;border-radius: 50%;flex-shrink: 0;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1)}
.oauth-account-icon .oauth-button-icon {width: 20px;height: 20px}
.oauth-account-detail {display: flex;flex-direction: column;gap: 2px;min-width: 0}
.oauth-account-email {font-size: 14px;font-weight: 600;color: #1c1e21;word-break: break-all}
.oauth-account-note {font-size: 11px;color: #65676b}
@media (max-width: 480px) {.oauth-button {padding: 10px 14px;font-size: 14px}
.oauth-divider {margin: 16px 0;font-size: 12px}
.oauth-account-info {padding: 12px 14px}
.oauth-account-icon {width: 32px;height: 32px}
.oauth-account-icon .oauth-button-icon {width: 18px;height: 18px}
.oauth-account-email {font-size: 13px}}
.embedded-browser-warning {display: flex;flex-direction: column;align-items: center;gap: 12px;padding: 16px;background: #fff8e6;border: 1px solid #ffd54f;border-radius: 10px;margin-bottom: 20px}
.embedded-browser-warning__icon {flex-shrink: 0;color: #f57c00;display: flex;justify-content: center;width: 100%}
.embedded-browser-warning__content {flex: 1;min-width: 0;text-align: center}
.embedded-browser-warning__title {font-size: 14px;font-weight: 600;color: #e65100;margin: 0 0 8px;line-height: 1.4}
.embedded-browser-warning__message {font-size: 13px;color: #5d4037;margin: 0 0 12px;line-height: 1.5}
.embedded-browser-warning__actions {margin-bottom: 12px}
.embedded-browser-warning__copy-btn {display: inline-flex;align-items: center;gap: 6px;padding: 8px 14px;background: #fff;border: 1px solid #ffa726;border-radius: 6px;font-size: 13px;font-weight: 500;color: #e65100;cursor: pointer;transition: all 0.2s ease}
.embedded-browser-warning__copy-btn:hover {background: #fff3e0;border-color: #ff9800}
.embedded-browser-warning__copy-btn:active {background: #ffe0b2}
.embedded-browser-warning__copy-btn--success {background: #e8f5e9 !important;border-color: #66bb6a !important;color: #2e7d32 !important}
.embedded-browser-warning__hint {font-size: 11px;color: #795548;margin: 0;line-height: 1.6;padding: 10px;background: rgba(255, 255, 255, 0.6);border-radius: 6px}
.embedded-browser-warning__hint strong {color: #5d4037}
.oauth-button--disabled {opacity: 0.5;cursor: not-allowed;pointer-events: none}
@media (max-width: 480px) {.embedded-browser-warning {padding: 14px;gap: 10px}
.embedded-browser-warning__icon svg {width: 20px;height: 20px}
.embedded-browser-warning__title {font-size: 13px}
.embedded-browser-warning__message {font-size: 12px}
.embedded-browser-warning__copy-btn {padding: 6px 12px;font-size: 12px}
.embedded-browser-warning__hint {font-size: 10px}}