/* Property Data Manager — front-end auth forms */

.pdm-auth-card {
	--pdm-auth-primary: #2f6bed;
	--pdm-auth-primary-hover: #2559d4;
	--pdm-auth-text: #1b1f27;
	--pdm-auth-muted: #79818d;
	--pdm-auth-border: #dee3ea;
	--pdm-auth-danger: #e5484d;
	--pdm-auth-danger-soft: #fdeced;
	--pdm-auth-ok: #15a05a;
	--pdm-auth-ok-soft: #e7f7ee;
	max-width: 440px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #ebeef3;
	border-radius: 20px;
	box-shadow: 0 1px 2px rgba(20,30,60,.03), 0 8px 26px rgba(20,30,60,.06);
	padding: 34px 32px;
	box-sizing: border-box;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--pdm-auth-text);
}

.pdm-auth-title {
	margin: 0 0 22px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.3px;
	color: var(--pdm-auth-text);
}

.pdm-auth-lead {
	margin: -8px 0 20px;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--pdm-auth-muted);
}

.pdm-auth-form { display: flex; flex-direction: column; gap: 16px; }

.pdm-auth-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 420px) { .pdm-auth-row { grid-template-columns: 1fr; } }

.pdm-auth-label { display: flex; flex-direction: column; gap: 7px; font-size: 13.5px; font-weight: 600; color: var(--pdm-auth-text); }

.pdm-auth-label input[type="text"],
.pdm-auth-label input[type="email"],
.pdm-auth-label input[type="password"] {
	width: 100%;
	height: 48px;
	padding: 0 15px;
	font-size: 15px;
	color: var(--pdm-auth-text);
	background: #fff;
	border: 1px solid var(--pdm-auth-border);
	border-radius: 12px;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s;
	-webkit-appearance: none;
	appearance: none;
}
.pdm-auth-label input:focus {
	outline: none;
	border-color: var(--pdm-auth-primary);
	box-shadow: 0 0 0 3px rgba(47,107,237,.16);
}
.pdm-auth-has-err input { border-color: var(--pdm-auth-danger); }
.pdm-auth-has-err input:focus { box-shadow: 0 0 0 3px rgba(229,72,77,.15); }

.pdm-auth-pass { position: relative; display: block; }
.pdm-auth-pass input { padding-right: 46px; }
.pdm-auth-toggle {
	position: absolute; top: 50%; right: 8px; transform: translateY(-50%);
	width: 34px; height: 34px; border: 0; background: transparent; cursor: pointer;
	border-radius: 8px; padding: 0;
}
.pdm-auth-toggle::before {
	content: ""; display: block; width: 20px; height: 20px; margin: 0 auto;
	background: center/contain no-repeat;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2379818d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
.pdm-auth-toggle.is-on::before {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f6bed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

.pdm-auth-hint { font-size: 12.5px; font-weight: 400; color: var(--pdm-auth-muted); }
.pdm-auth-err { font-size: 12.5px; font-weight: 500; color: var(--pdm-auth-danger); }

.pdm-auth-check { display: flex; align-items: center; gap: 9px; font-size: 13.5px; font-weight: 500; color: var(--pdm-auth-muted); cursor: pointer; }
.pdm-auth-check input { width: 17px; height: 17px; accent-color: var(--pdm-auth-primary); }

.pdm-auth-btn {
	display: inline-flex; align-items: center; justify-content: center;
	height: 50px; padding: 0 22px;
	font-size: 15.5px; font-weight: 600; text-decoration: none;
	border-radius: 12px; border: 1px solid transparent; cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
	box-sizing: border-box;
}
.pdm-auth-btn--primary { background: var(--pdm-auth-primary); color: #fff; width: 100%; }
.pdm-auth-btn--primary:hover { background: var(--pdm-auth-primary-hover); color: #fff; }
.pdm-auth-btn--ghost { background: #fff; color: var(--pdm-auth-text); border-color: var(--pdm-auth-border); }
.pdm-auth-btn--ghost:hover { border-color: var(--pdm-auth-muted); }

.pdm-auth-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 2px; }
.pdm-auth-links a { font-size: 13.5px; font-weight: 500; color: var(--pdm-auth-primary); text-decoration: none; }
.pdm-auth-links a:hover { text-decoration: underline; }

.pdm-auth-alert { border-radius: 12px; padding: 13px 16px; margin-bottom: 18px; font-size: 14px; line-height: 1.5; }
.pdm-auth-alert p { margin: 0; }
.pdm-auth-alert p + p { margin-top: 4px; }
.pdm-auth-alert--error { background: var(--pdm-auth-danger-soft); color: var(--pdm-auth-danger); }
.pdm-auth-alert--ok { background: var(--pdm-auth-ok-soft); color: var(--pdm-auth-ok); }

.pdm-auth-signedin { text-align: center; }
.pdm-auth-signedin p { margin: 0 0 16px; font-size: 15px; }

/* Honeypot — visually removed but not display:none (some bots skip hidden). */
.pdm-auth-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---- My Account hub ---- */
.pdm-acct {
	--pdm-auth-primary: #2f6bed;
	--pdm-auth-text: #1b1f27;
	--pdm-auth-muted: #79818d;
	--pdm-auth-border: #ebeef3;
	max-width: 860px;
	margin: 0 auto;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--pdm-auth-text);
}
.pdm-acct-head {
	display: flex; align-items: center; gap: 16px;
	background: #fff; border: 1px solid var(--pdm-auth-border); border-radius: 20px;
	box-shadow: 0 1px 2px rgba(20,30,60,.03), 0 8px 26px rgba(20,30,60,.05);
	padding: 22px 26px; margin-bottom: 22px;
}
.pdm-acct-avatar {
	flex: none; width: 54px; height: 54px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: #ecf2fe; color: var(--pdm-auth-primary);
	font-size: 20px; font-weight: 700; letter-spacing: .5px;
}
.pdm-acct-id { flex: 1; min-width: 0; }
.pdm-acct-id h2 { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -.3px; }
.pdm-acct-id span { font-size: 14px; color: var(--pdm-auth-muted); }
.pdm-acct-logout { flex: none; height: 42px; }

.pdm-acct-tabs {
	display: flex; flex-wrap: wrap; gap: 4px;
	background: #fff; border: 1px solid var(--pdm-auth-border); border-radius: 14px;
	padding: 6px; margin-bottom: 22px;
}
.pdm-acct-tab {
	appearance: none; border: 0; background: transparent; cursor: pointer;
	padding: 11px 18px; border-radius: 10px;
	font-size: 14.5px; font-weight: 600; color: var(--pdm-auth-muted);
	font-family: inherit; transition: background .15s, color .15s;
}
.pdm-acct-tab:hover { color: var(--pdm-auth-text); }
.pdm-acct-tab.is-active { background: #ecf2fe; color: #1f50c4; }

.pdm-acct-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; margin-bottom: 22px; }
.pdm-acct-stat {
	background: #fff; border: 1px solid var(--pdm-auth-border); border-radius: 16px;
	box-shadow: 0 1px 2px rgba(20,30,60,.03); padding: 20px 22px;
}
.pdm-acct-stat-num { display: block; font-size: 24px; font-weight: 700; letter-spacing: -.4px; color: var(--pdm-auth-text); }
.pdm-acct-stat-label { display: block; margin-top: 4px; font-size: 13px; color: var(--pdm-auth-muted); }

.pdm-acct-summary {
	background: #fff; border: 1px solid var(--pdm-auth-border); border-radius: 18px;
	box-shadow: 0 1px 2px rgba(20,30,60,.03); padding: 26px 28px;
}
.pdm-acct-summary h3 { margin: 0 0 8px; font-size: 18px; font-weight: 700; }
.pdm-acct-summary p { margin: 0 0 18px; font-size: 14.5px; line-height: 1.6; color: var(--pdm-auth-muted); }
.pdm-acct-quick { display: flex; flex-wrap: wrap; gap: 18px; }
.pdm-acct-quicklink {
	appearance: none; border: 0; background: none; cursor: pointer; padding: 0;
	font-family: inherit; font-size: 14px; font-weight: 600; color: var(--pdm-auth-primary);
}
.pdm-acct-quicklink:hover { text-decoration: underline; }

.pdm-acct-section {
	background: #fff; border: 1px solid var(--pdm-auth-border); border-radius: 18px;
	box-shadow: 0 1px 2px rgba(20,30,60,.03); padding: 26px 28px; margin-bottom: 20px;
}
.pdm-acct-section-title { margin: 0 0 18px; font-size: 17px; font-weight: 700; }
.pdm-acct-section .pdm-auth-form { max-width: 480px; }
.pdm-acct-save { width: auto; align-self: flex-start; padding: 0 26px; }

/* The embedded engagement panels sit flush inside the account area. */
.pdm-acct-panel .pdm-auth-card { max-width: none; margin: 0; }
