/* AfriBooking partner portal — scoped styles to avoid changing the host theme. */
.abm-partner-contact,
.abm-partner-dashboard {
	--abm-partner-green: #14804a;
	--abm-partner-green-dark: #10663b;
	--abm-partner-ink: #172b24;
	--abm-partner-muted: #647067;
	--abm-partner-border: #dce7df;
	--abm-partner-soft: #f5faf6;
	box-sizing: border-box;
	color: var(--abm-partner-ink);
	font-family: inherit;
	line-height: 1.55;
	margin-left: auto;
	margin-right: auto;
	max-width: 1100px;
}
.abm-partner-contact *,
.abm-partner-dashboard * { box-sizing: border-box; }
.abm-partner-contact {
	background: #fff;
	border: 1px solid var(--abm-partner-border);
	border-radius: 16px;
	box-shadow: 0 12px 34px rgba(23, 43, 36, .07);
	padding: clamp(18px, 3vw, 34px) !important;
}
.abm-partner-contact h2,
.abm-partner-dashboard h2 {
	color: var(--abm-partner-ink);
	font-size: clamp(23px, 3vw, 30px);
	font-weight: 750;
	letter-spacing: -.025em;
	line-height: 1.2;
	margin: 0 0 12px;
}
.abm-partner-contact > p,
.abm-partner-dashboard > p { color: var(--abm-partner-muted); }
.abm-partner-contact form { margin-top: 22px; }
.abm-partner-contact form p { margin: 0 0 17px; }
.abm-partner-contact label,
.abm-partner-dashboard label {
	color: #26372d;
	display: block;
	font-size: 14px;
	font-weight: 600;
}
.abm-partner-contact input:not([type="checkbox"]):not([type="file"]),
.abm-partner-contact select,
.abm-partner-contact textarea,
.abm-partner-dashboard input:not([type="checkbox"]):not([type="file"]),
.abm-partner-dashboard select,
.abm-partner-dashboard textarea {
	background: #fff;
	border: 1px solid #cbd8ce;
	border-radius: 9px;
	color: #172b24;
	display: block;
	font: inherit;
	margin-top: 7px;
	max-width: 100%;
	min-height: 44px;
	padding: 10px 12px !important;
	transition: border-color .16s ease, box-shadow .16s ease;
	width: 100% !important;
}
.abm-partner-contact textarea,
.abm-partner-dashboard textarea { min-height: 100px; resize: vertical; }
.abm-partner-contact input:focus,
.abm-partner-contact select:focus,
.abm-partner-contact textarea:focus,
.abm-partner-dashboard input:focus,
.abm-partner-dashboard select:focus,
.abm-partner-dashboard textarea:focus {
	border-color: var(--abm-partner-green);
	box-shadow: 0 0 0 3px rgba(20, 128, 74, .13);
	outline: 0;
}
.abm-partner-contact input[type="file"],
.abm-partner-dashboard input[type="file"] {
	background: var(--abm-partner-soft);
	border: 1px dashed #a9c7b2;
	border-radius: 9px;
	color: var(--abm-partner-muted);
	display: block;
	font-size: 13px;
	margin-top: 7px;
	max-width: 100%;
	padding: 12px;
	width: 100%;
}
.abm-partner-contact small,
.abm-partner-dashboard small { color: var(--abm-partner-muted); display: inline-block; margin-top: 6px; }
.abm-partner-contact input[type="checkbox"] { accent-color: var(--abm-partner-green); margin-right: 6px; }
.abm-partner-contact form p:has(input[type="checkbox"]) label { align-items: flex-start; display: flex; font-weight: 400; gap: 5px; }
.abm-partner-contact button,
.abm-partner-dashboard button,
.abm-partner-dashboard input[type="submit"] {
	background: var(--abm-partner-green) !important;
	border: 1px solid var(--abm-partner-green) !important;
	border-radius: 9px !important;
	box-shadow: none;
	color: #fff !important;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	min-height: 44px;
	padding: 11px 20px !important;
	transition: background .16s ease, transform .16s ease;
}
.abm-partner-contact button:hover,
.abm-partner-dashboard button:hover,
.abm-partner-dashboard input[type="submit"]:hover { background: var(--abm-partner-green-dark) !important; transform: translateY(-1px); }
.abm-partner-dashboard { padding: 20px 0; }
.abm-partner-dashboard h3 { border-bottom: 1px solid var(--abm-partner-border); color: var(--abm-partner-ink); font-size: 19px; margin: 28px 0 14px; padding-bottom: 10px; }
.abm-partner-dashboard > div[style*="display:flex"] { gap: 14px !important; }
.abm-partner-dashboard > div[style*="display:flex"] > div {
	background: linear-gradient(145deg, #fff, var(--abm-partner-soft));
	border: 1px solid var(--abm-partner-border) !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 14px rgba(23,43,36,.04);
	flex: 1 1 170px;
	padding: 18px !important;
}
.abm-partner-dashboard > div[style*="display:flex"] > div strong { color: var(--abm-partner-muted); font-size: 13px; }
.abm-partner-dashboard > div[style*="display:flex"] > div div { color: var(--abm-partner-green); font-size: 28px !important; font-weight: 750; }
.abm-partner-dashboard form[style*="border"] { background: #fff; border: 1px solid var(--abm-partner-border) !important; border-radius: 12px !important; box-shadow: 0 5px 20px rgba(23,43,36,.04); padding: clamp(14px, 2vw, 22px) !important; }
.abm-partner-dashboard table { border: 1px solid var(--abm-partner-border); border-collapse: separate !important; border-radius: 10px; border-spacing: 0; display: block; max-width: 100%; overflow-x: auto; width: 100%; }
.abm-partner-dashboard th { background: var(--abm-partner-soft); color: #35483b; font-size: 12px; font-weight: 750; text-transform: uppercase; }
.abm-partner-dashboard th,
.abm-partner-dashboard td { border-bottom: 1px solid #e8efe9; padding: 11px 13px !important; text-align: left; white-space: nowrap; }
.abm-partner-dashboard tbody tr:last-child td { border-bottom: 0; }
.abm-partner-dashboard tbody tr:hover { background: #f8fbf8; }
.abm-partner-dashboard a { color: var(--abm-partner-green); font-weight: 600; text-underline-offset: 3px; }
.abm-partner-dashboard a:hover { color: var(--abm-partner-green-dark); }
@media (max-width: 640px) {
	.abm-partner-contact { border-radius: 12px; padding: 17px !important; }
	.abm-partner-contact h2 { font-size: 23px; }
	.abm-partner-contact button,
	.abm-partner-dashboard button { max-width: 100%; width: 100%; }
	.abm-partner-dashboard { padding: 12px 0; }
	.abm-partner-dashboard > div[style*="display:flex"] > div { flex-basis: 100%; }
	.abm-partner-dashboard table { font-size: 13px; }
	.abm-partner-dashboard th,
	.abm-partner-dashboard td { padding: 9px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.abm-partner-contact *, .abm-partner-dashboard * { transition: none !important; }
}


/* Combined partner portal: login + application + expanded accommodation editor. */
.abm-partner-portal { --abm-partner-green:#14804a; --abm-partner-green-dark:#10663b; --abm-partner-ink:#172b24; --abm-partner-muted:#647067; --abm-partner-border:#dce7df; color:var(--abm-partner-ink); font-family:inherit; line-height:1.55; margin:0 auto; max-width:1180px; }
.abm-partner-portal *, .abm-partner-portal *::before, .abm-partner-portal *::after { box-sizing:border-box; }
.abm-partner-portal__intro { margin:0 0 22px; }
.abm-partner-portal__intro h2 { color:var(--abm-partner-ink); font-size:clamp(24px,3vw,32px); line-height:1.2; margin:0 0 8px; }
.abm-partner-portal__intro p, .abm-partner-panel > p { color:var(--abm-partner-muted); }
.abm-partner-portal__columns { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:22px; align-items:start; }
.abm-partner-panel { background:#fff; border:1px solid var(--abm-partner-border); border-radius:16px; box-shadow:0 10px 30px rgba(23,43,36,.06); min-width:0; padding:clamp(18px,2.5vw,28px); }
.abm-partner-panel h3 { border-bottom:1px solid var(--abm-partner-border); color:var(--abm-partner-ink); font-size:20px; margin:0 0 12px; padding-bottom:12px; }
.abm-partner-panel label, .abm-partner-dashboard label { color:#26372d; display:block; font-size:14px; font-weight:600; margin:0 0 14px; }
.abm-partner-panel input:not([type=checkbox]):not([type=file]), .abm-partner-panel select, .abm-partner-panel textarea, .abm-partner-dashboard input:not([type=checkbox]):not([type=file]), .abm-partner-dashboard select, .abm-partner-dashboard textarea { background:#fff; border:1px solid #cbd8ce; border-radius:9px; color:#172b24; display:block; font:inherit; margin-top:6px; max-width:100%; min-height:44px; padding:10px 12px; width:100%; }
.abm-partner-panel textarea, .abm-partner-dashboard textarea { min-height:88px; resize:vertical; }
.abm-partner-panel input:focus, .abm-partner-panel select:focus, .abm-partner-panel textarea:focus, .abm-partner-dashboard input:focus, .abm-partner-dashboard select:focus, .abm-partner-dashboard textarea:focus { border-color:var(--abm-partner-green); box-shadow:0 0 0 3px rgba(20,128,74,.13); outline:0; }
.abm-partner-button, .abm-partner-panel button, .abm-partner-dashboard button { background:var(--abm-partner-green)!important; border:1px solid var(--abm-partner-green)!important; border-radius:9px!important; color:#fff!important; cursor:pointer; font:inherit; font-weight:700; min-height:44px; padding:11px 20px!important; }
.abm-partner-button:hover, .abm-partner-panel button:hover, .abm-partner-dashboard button:hover { background:var(--abm-partner-green-dark)!important; }
.abm-partner-help { color:var(--abm-partner-muted); font-size:13px; }
.abm-partner-notice { border-radius:10px; margin:0 0 18px; padding:13px 16px; }
.abm-partner-notice--success { background:#e8f7ee; color:#17663a; }
.abm-partner-notice--error { background:#fff0f0; color:#9b1c1c; }
.abm-partner-subsection { background:#fbfdfb; border:1px solid var(--abm-partner-border); border-radius:12px; margin:18px 0; padding:16px; }
.abm-partner-subsection h4 { color:var(--abm-partner-ink); font-size:16px; margin:0 0 12px; }
.abm-partner-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.abm-partner-dashboard .abm-partner-subsection p { margin-bottom:0; }
@media(max-width:800px) { .abm-partner-portal__columns { grid-template-columns:minmax(0,1fr); } .abm-partner-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .abm-partner-panel { border-radius:12px; padding:16px; } .abm-partner-form-grid { grid-template-columns:minmax(0,1fr); } .abm-partner-portal button { max-width:100%; width:100%; } }

.abm-partner-amenities { border:1px solid var(--abm-partner-border); border-radius:9px; display:flex; flex-wrap:wrap; gap:8px 14px; margin:10px 0 16px; padding:12px; }
.abm-partner-amenities legend { color:var(--abm-partner-ink); font-size:14px; font-weight:700; padding:0 5px; }
.abm-partner-amenities .abm-partner-check, .abm-partner-dashboard .abm-partner-check { align-items:center; display:flex; gap:7px; font-weight:500; margin:0; }
.abm-partner-amenities input[type=checkbox], .abm-partner-dashboard input[type=checkbox] { accent-color:var(--abm-partner-green); }

/* v1.0.65 — portail aligné sur l'espace client (abm-auth / abm-account) */
.abm-partner-auth .abm-partner-contact--embedded{background:transparent;border:0;box-shadow:none;padding:0!important;max-width:none}
.abm-partner-auth .abm-partner-contact--embedded form{margin-top:12px}
.abm-partner-auth .abm-partner-single{max-width:640px;margin:0 auto}
.abm-partner-auth .abm-partner-help{color:#647067;font-size:13px}
.abm-partner-chip{display:inline-block;margin-left:6px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700;background:#fff7df;color:#8a5a00;vertical-align:middle}
.abm-partner-chip.is-rejected,.abm-partner-chip.is-suspended{background:#fff0f0;color:#b42318}
.abm-partner-account .abm-partner-dashboard--panels{max-width:none;margin:0;padding:0}
.abm-partner-account .abm-partner-dashboard--panels .abm-account-panel{margin-bottom:18px;overflow-x:auto}
.abm-pt-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.abm-pt-stats>div{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--abm-line,#e4e8ed);border-radius:14px;background:#fff}
.abm-pt-stats span{color:#647067;font-size:12px;font-weight:700}
.abm-pt-stats strong{font-size:26px}
.abm-partner-account .abm-profile-edit form label{display:block;margin-bottom:10px}
.abm-partner-account .abm-profile-edit form label span{display:block;font-size:12px;font-weight:700;margin-bottom:4px}
.abm-partner-account .abm-profile-edit input{width:100%;box-sizing:border-box}
@media(max-width:620px){.abm-pt-stats{grid-template-columns:1fr}}
