/* Company Staff Portal — deliberately its own small stylesheet, not
   directory-page.css. Same brand palette (var names match exactly),
   but this is a form-heavy utility surface, not a content page, so it
   doesn't inherit that file's card/article layout rules. */

.ddc-portal { max-width: 480px; margin: 20px auto 60px; padding: 0 20px; font-size: 16px; color: var(--ddc-ink, #1A1A1A); }
.ddc-portal-wide { max-width: 760px; }
.ddc-portal-backlink { padding: 24px 20px 0; font-size: 14px; text-align: center; }
.ddc-portal-backlink a { color: var(--ddc-ink-soft, #4A4A4A); text-decoration: none; font-weight: 600; }
.ddc-portal-backlink a:hover { text-decoration: underline; }
.ddc-portal h1 {
	font-size: 26px;
	margin-bottom: 6px;
	color: var(--ddc-ink, #1A1A1A);
}
.ddc-portal p.ddc-portal-sub {
	color: var(--ddc-ink-soft, #4A4A4A);
	margin-top: 0;
	margin-bottom: 24px;
}
.ddc-portal-card {
	background: var(--ddc-panel, #FAFAFB);
	border: 1px solid var(--ddc-hairline, #E8E5E9);
	border-radius: var(--ddc-radius, 14px);
	padding: 28px;
	box-shadow: var(--ddc-shadow-sm, 0 1px 2px rgba(0,0,0,0.06));
}
.ddc-portal label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
	margin-top: 16px;
}
.ddc-portal label:first-child { margin-top: 0; }
.ddc-portal input[type="text"],
.ddc-portal input[type="email"],
.ddc-portal input[type="password"],
.ddc-portal input[type="tel"],
.ddc-portal input[type="url"],
.ddc-portal select,
.ddc-portal textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid var(--ddc-hairline, #E8E5E9);
	border-radius: var(--ddc-radius-sm, 8px);
	font-size: 15px;
}
.ddc-portal .ddc-portal-hint {
	font-size: 13px;
	color: var(--ddc-ink-soft, #4A4A4A);
	margin-top: 4px;
}
.ddc-portal-btn {
	display: inline-block;
	margin-top: 22px;
	padding: 11px 22px;
	background: var(--ddc-crimson, #D91A5C);
	color: #fff;
	border: none;
	border-radius: var(--ddc-radius-sm, 8px);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
}
.ddc-portal-btn:hover { background: var(--ddc-crimson-dark, #B01049); }
.ddc-portal-btn-secondary {
	background: transparent;
	color: var(--ddc-ink-soft, #4A4A4A);
	border: 1px solid var(--ddc-hairline, #E8E5E9);
}
.ddc-portal-btn-secondary:hover { background: var(--ddc-panel, #FAFAFB); }
.ddc-portal-error {
	background: var(--ddc-disclaimer-tint, #FDF0F4);
	color: var(--ddc-crimson-dark, #B01049);
	border: 1px solid var(--ddc-crimson, #D91A5C);
	border-radius: var(--ddc-radius-sm, 8px);
	padding: 12px 14px;
	margin-bottom: 18px;
	font-size: 14px;
}
.ddc-portal-required-mark { color: var(--ddc-crimson, #D91A5C); }
.ddc-portal input.ddc-portal-invalid {
	border-color: var(--ddc-crimson, #D91A5C);
	background: var(--ddc-disclaimer-tint, #FDF0F4);
}
.ddc-portal-field-error {
	display: none;
	color: var(--ddc-crimson-dark, #B01049);
	font-size: 13px;
	margin-top: 4px;
}
.ddc-portal-notice {
	background: #EEF7F0;
	color: #1E6E3E;
	border: 1px solid var(--ddc-verified, #2E9E5B);
	border-radius: var(--ddc-radius-sm, 8px);
	padding: 12px 14px;
	margin-bottom: 18px;
	font-size: 14px;
}
.ddc-portal-caution {
	background: #FFF8ED;
	border: 1px solid var(--ddc-pending, #C98A2E);
	border-radius: var(--ddc-radius-sm, 8px);
	padding: 14px 16px;
	margin-bottom: 20px;
	font-size: 14px;
	color: #6B4A12;
}
.ddc-portal-links { margin-top: 18px; font-size: 14px; }
.ddc-portal-links a { color: var(--ddc-teal, #1B6B7A); }
.ddc-portal-autocomplete {
	position: relative;
}
.ddc-portal-autocomplete-list {
	position: absolute;
	z-index: 10;
	left: 0; right: 0;
	background: #fff;
	border: 1px solid var(--ddc-hairline, #E8E5E9);
	border-radius: var(--ddc-radius-sm, 8px);
	max-height: 220px;
	overflow-y: auto;
	box-shadow: var(--ddc-shadow-md, 0 4px 14px rgba(0,0,0,0.1));
	display: none;
}
.ddc-portal-autocomplete-list div {
	padding: 9px 12px;
	cursor: pointer;
	font-size: 14px;
}
.ddc-portal-autocomplete-list div:hover { background: var(--ddc-panel, #FAFAFB); }
.ddc-portal-facility-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--ddc-hairline, #E8E5E9);
}
.ddc-portal-facility-row:last-child { border-bottom: none; }
.ddc-portal-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: 999px;
}
.ddc-portal-badge.verified { background: #EAF7EE; color: var(--ddc-verified, #2E9E5B); }
.ddc-portal-badge.pending { background: #FCF3E4; color: var(--ddc-pending, #C98A2E); }
