/* ============================================================
   MentorXi Portal — auth screens, dashboards, booking drawer.
   Inherits the design tokens from the child theme's mentorxi.css.
   ============================================================ */

.mxp-shell{width:100%;max-width:1180px;margin-inline:auto;padding:56px 32px 88px;}

/* --------------------------------- Notices -------------------------------- */
.mxp-notice{
	display:flex;align-items:flex-start;gap:10px;
	padding:13px 16px;border-radius:12px;margin-bottom:20px;
	font-size:14px;line-height:1.55;border:1px solid transparent;
}
.mxp-notice i{font-size:18px;flex:none;margin-top:1px;}
.mxp-notice--ok{background:#ECFDF3;border-color:#A7E7C4;color:#12633B;}
.mxp-notice--err{background:#FEF2F2;border-color:#F5B5B5;color:#9B1C1C;}

/* ---------------------------------- Forms --------------------------------- */
.mxp-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.mxp-field{display:flex;flex-direction:column;gap:6px;}
.mxp-field[hidden]{display:none;}
.mxp-field--full{grid-column:1 / -1;}
.mxp-field > span{font-size:13px;font-weight:600;color:var(--mx-ink-soft);font-family:var(--mx-display);}
.mxp-field small{font-size:12px;color:var(--mx-muted);line-height:1.5;margin-top: 10px;}
.mxp-field input,
.mxp-field select,
.mxp-field textarea{
	width:100%;font:inherit;font-size:15px;color:var(--mx-ink);
	padding:12px 14px;border:1.5px solid var(--mx-line);border-radius:12px;
	background:var(--mx-bg);transition:border-color .16s ease,box-shadow .16s ease;
}
.mxp-field input:focus,
.mxp-field select:focus,
.mxp-field textarea:focus{
	outline:none;border-color:var(--mx-navy-600);
	box-shadow:0 0 0 4px rgba(27,53,112,.10);
}
.mxp-field input::placeholder,
.mxp-field textarea::placeholder{color:#9AA6C4;}

.mxp-btn-block{width:100%;justify-content:center;padding:14px 22px;font-size:15px;}

.mxp-pw{position:relative;display:block;}
.mxp-pw input{padding-right:46px;}
.mxp-pw__eye{
	position:absolute;right:6px;top:50%;transform:translateY(-50%);
	background:none;border:none;cursor:pointer;color:var(--mx-muted);
	padding:8px;line-height:0;border-radius:8px;
}
.mxp-pw__eye:hover{color:var(--mx-navy-700);background:var(--mx-bg-alt);}

.mxp-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--mx-ink-soft);cursor:pointer;}
.mxp-check input{width:auto;}
.mxp-row-between{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.mxp-row-between a{font-size:13px;font-weight:600;color:var(--mx-navy-600);}
.mxp-row-between a:hover{text-decoration:underline;}

/* ------------------------------- Auth screens ----------------------------- */
.mxp-auth{
	display:grid;grid-template-columns:1fr 1fr;gap:0;
	max-width:1080px;margin:56px auto 88px;
	background:var(--mx-bg);border-radius:var(--mx-r-lg);
	box-shadow:var(--mx-shadow-lg);overflow:hidden;
}
.mxp-auth__aside{
	position:relative;isolation:isolate;overflow:hidden;
	background:var(--mx-navy-grad);color:#fff;
	padding:56px 48px;display:flex;flex-direction:column;justify-content:center;gap:22px;
}
.mxp-auth__glow{
	position:absolute;inset:auto -30% -40% -30%;height:70%;z-index:-1;
	background:radial-gradient(ellipse at center,rgba(201,162,39,.32),transparent 68%);
}
.mxp-auth__mark{display:block;font-family:var(--mx-display);font-weight:800;font-size:26px;letter-spacing:-.02em;}
.mxp-auth__mark span{color:var(--mx-gold-2);}
.mxp-auth__tag{display:block;font-size:10px;letter-spacing:.2em;color:#8FA0C8;margin-top:3px;}
.mxp-auth__pitch{font-size:15px;line-height:1.7;color:#C6D0E8;max-width:34ch;}
.mxp-auth__points{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.mxp-auth__points li{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:#DCE3F2;}
.mxp-auth__points i{color:var(--mx-gold-2);font-size:17px;flex:none;margin-top:1px;}

.mxp-auth__panel{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;}
.mxp-auth__panel h1{font-size:29px;margin-bottom:8px;}
.mxp-auth__sub{font-size:14.5px;color:var(--mx-muted);line-height:1.6;margin-bottom:26px !important;}
.mxp-auth__foot{margin-top:22px !important;font-size:14px;color:var(--mx-muted);text-align:center;}
.mxp-auth__foot a{font-weight:700;color:var(--mx-navy-700);}
.mxp-auth__foot a:hover{text-decoration:underline;}

/* --------------------------------- Dashboard ------------------------------ */
.mxp-dash__head{
	display:flex;align-items:flex-start;justify-content:space-between;
	gap:24px;flex-wrap:wrap;margin-bottom:26px;
}
.mxp-dash__head h1{font-size:31px;margin:6px 0 6px;}
.mxp-dash__head p{font-size:14.5px;color:var(--mx-muted);max-width:62ch;line-height:1.65;}
.mxp-eyebrow{
	display:inline-flex;align-items:center;gap:7px;
	font-family:var(--mx-display);font-size:11px;font-weight:700;
	letter-spacing:.14em;text-transform:uppercase;color:var(--mx-gold);
}

.mxp-statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px;}
.mxp-stat{
	background:var(--mx-bg-alt);border:1px solid var(--mx-line);
	border-radius:var(--mx-r);padding:18px 20px;
}
.mxp-stat strong{display:block;font-family:var(--mx-display);font-size:28px;font-weight:800;color:var(--mx-navy-800);line-height:1.1;}
.mxp-stat span{font-size:13px;color:var(--mx-muted);}

.mxp-dash__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start;}
.mxp-card{
	background:var(--mx-bg);border:1px solid var(--mx-line);
	border-radius:var(--mx-r-lg);padding:26px 26px 28px;box-shadow:var(--mx-shadow-sm);
}
.mxp-card--wide{grid-column:1 / -1;margin-top:0;}
.mxp-shell > .mxp-card--wide{margin-bottom:20px;}
.mxp-card h2{
	display:flex;align-items:center;gap:9px;
	font-size:17px;margin-bottom:18px;color:var(--mx-navy-800);
}
.mxp-card h2 i{color:var(--mx-gold);font-size:19px;}
.mxp-empty{font-size:14px;color:var(--mx-muted);line-height:1.65;}
.mxp-empty a{color:var(--mx-navy-600);font-weight:600;}
.mxp-empty a:hover{text-decoration:underline;}

/* Lists of slots and bookings */
.mxp-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.mxp-list--muted{opacity:.72;}
.mxp-slot,.mxp-booking{
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	background:var(--mx-bg-alt);border:1px solid var(--mx-line);
	border-radius:14px;padding:14px 16px;
}
.mxp-slot__main,.mxp-booking__main{display:flex;flex-direction:column;gap:5px;min-width:0;}
.mxp-slot__main strong,.mxp-booking__main strong{font-family:var(--mx-display);font-size:15px;color:var(--mx-navy-800);}
.mxp-slot__when,.mxp-booking__mentor{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--mx-muted);}
.mxp-slot__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px;}
.mxp-booking__side{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:none;}
.mxp-booking__pending{font-size:12px;color:var(--mx-muted);}

.mxp-pill{
	display:inline-flex;align-items:center;gap:5px;
	font-size:11.5px;font-weight:700;font-family:var(--mx-display);
	padding:4px 10px;border-radius:999px;
	background:var(--mx-bg-tint);color:var(--mx-navy-700);border:1px solid var(--mx-line);
}
.mxp-pill--gold{background:#FDF6E0;color:#8A6D12;border-color:#EFD9A0;}
.mxp-pill--green,.mxp-pill--ok{background:#ECFDF3;color:#12633B;border-color:#A7E7C4;}
.mxp-pill--warn{background:#FFF7E8;color:#8A5A12;border-color:#F2D6A0;}
.mxp-pill--muted{background:#F1F3F9;color:#69769A;border-color:#E1E6F2;}

.mxp-iconbtn{
	background:none;border:1px solid var(--mx-line);border-radius:10px;
	width:34px;height:34px;display:grid;place-items:center;cursor:pointer;
	color:var(--mx-muted);flex:none;transition:color .16s,border-color .16s,background .16s;
}
.mxp-iconbtn:hover{color:#9B1C1C;border-color:#F5B5B5;background:#FEF2F2;}
.mxp-linkbtn{
	background:none;border:none;padding:0;cursor:pointer;
	font:inherit;font-size:12.5px;color:var(--mx-muted);text-decoration:underline;
}
.mxp-linkbtn:hover{color:#9B1C1C;}

/* Tables */
.mxp-tablewrap{overflow-x:auto;}
.mxp-table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px;}
.mxp-table th{
	text-align:left;font-family:var(--mx-display);font-size:11px;font-weight:700;
	letter-spacing:.1em;text-transform:uppercase;color:var(--mx-muted);
	padding:0 14px 10px;border-bottom:1px solid var(--mx-line);
}
.mxp-table td{padding:13px 14px;border-bottom:1px solid var(--mx-line);vertical-align:top;}
.mxp-table tr:last-child td{border-bottom:none;}
.mxp-table__contact{display:flex;flex-direction:column;gap:2px;}
.mxp-table__contact a{color:var(--mx-navy-600);}
.mxp-table__contact a:hover{text-decoration:underline;}
.mxp-table__contact span{font-size:12.5px;color:var(--mx-muted);}

/* --------------------------------- Responsive ----------------------------- */
@media (max-width:960px){
	.mxp-auth{grid-template-columns:1fr;margin:24px 16px 64px;}
	.mxp-auth__aside{padding:40px 32px;}
	.mxp-auth__panel{padding:40px 32px;}
	.mxp-dash__grid{grid-template-columns:1fr;}
	.mxp-shell{padding:40px 20px 72px;}
}
@media (max-width:640px){
	.mxp-form{grid-template-columns:1fr;}
	.mxp-statrow{grid-template-columns:1fr;}
	.mxp-slot,.mxp-booking{flex-direction:column;align-items:flex-start;}
	.mxp-booking__side{align-items:flex-start;flex-direction:row;gap:14px;}
	.mxp-auth__panel h1{font-size:25px;}
	.mxp-dash__head h1{font-size:26px;}
}

/* --------------------- Mentor application + review ------------------------ */
.mxp-apply{width:100%;max-width:820px;margin-inline:auto;padding:56px 24px 88px;}
.mxp-apply__head{margin-bottom:26px;}
.mxp-apply__head h1{font-size:31px;margin:8px 0 10px;}
.mxp-apply__head p{font-size:15px;color:var(--mx-muted);line-height:1.7;max-width:64ch;}

.mxp-form__section{
	grid-column:1 / -1;
	font-size:12px;font-weight:700;font-family:var(--mx-display);
	letter-spacing:.12em;text-transform:uppercase;color:var(--mx-muted);
	margin:14px 0 -4px;padding-top:14px;border-top:1px solid var(--mx-line);
}
.mxp-form__section:first-of-type{margin-top:0;padding-top:0;border-top:none;}
.mxp-card__lede{font-size:14px;color:var(--mx-muted);line-height:1.65;margin:-8px 0 18px;max-width:64ch;}

.mxp-review{
	display:flex;align-items:flex-start;gap:12px;
	background:#FFF7E8;border:1px solid #F2D6A0;border-radius:14px;
	padding:16px 18px;margin-bottom:22px;
}
.mxp-review--no{background:#FEF2F2;border-color:#F5B5B5;}
.mxp-review i{font-size:21px;color:#8A5A12;flex:none;margin-top:1px;}
.mxp-review--no i{color:#9B1C1C;}
.mxp-review strong{display:block;font-family:var(--mx-display);font-size:14.5px;color:var(--mx-navy-800);margin-bottom:2px;}
.mxp-review span{font-size:13.5px;color:var(--mx-ink-soft);line-height:1.6;}

.mxp-photo{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap;}
.mxp-photo__current{
	width:72px;height:72px;border-radius:50%;object-fit:cover;
	border:2px solid var(--mx-line);flex:none;
}
.mxp-photo__input{display:flex;flex-direction:column;gap:6px;}
.mxp-photo__input > span{font-size:13px;font-weight:600;color:var(--mx-ink-soft);font-family:var(--mx-display);}
.mxp-photo input[type=file]{font-size:13px;color:var(--mx-ink-soft);}

@media (max-width:640px){
	.mxp-apply{padding:36px 18px 64px;}
	.mxp-apply__head h1{font-size:26px;}
}

/* ======================= Portal shell: identity + nav ===================== */
.mxp-id{
	display:flex;align-items:center;gap:18px;flex-wrap:wrap;
	padding-bottom:22px;margin-bottom:18px;
	border-bottom:1px solid var(--mx-line);
}
.mxp-id__avatar{
	position:relative;width:72px;height:72px;flex:none;
	border-radius:50%;overflow:hidden;display:grid;place-items:center;
	background:var(--mx-navy-grad);color:#fff;box-shadow:var(--mx-shadow-sm);
}
.mxp-id__avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mxp-id__text{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start;}
.mxp-id__text h1{font-size:27px;margin:2px 0 0;}
.mxp-id__meta{font-size:14px;color:var(--mx-muted);line-height:1.55;}
.mxp-id__meta span{word-break:break-word;}
.mxp-id__out{flex:none;}

.mxp-nav{
	display:flex;gap:6px;overflow-x:auto;
	padding-bottom:6px;margin-bottom:22px;
	scrollbar-width:none;
}
.mxp-nav::-webkit-scrollbar{display:none;}
.mxp-nav__link{
	display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
	font-family:var(--mx-display);font-weight:600;font-size:13.5px;
	color:var(--mx-ink-soft);background:var(--mx-bg);
	border:1.5px solid var(--mx-line);border-radius:999px;
	padding:9px 16px;transition:color .16s,border-color .16s,background .16s;
}
.mxp-nav__link:hover{color:var(--mx-navy-800);border-color:var(--mx-navy-600);}
.mxp-nav__link.is-active{background:var(--mx-navy-800);border-color:var(--mx-navy-800);color:#fff;}
.mxp-nav__link i{font-size:16px;}
.mxp-nav__ext{font-size:13px !important;opacity:.5;}

/* Stat tiles gain an icon */
.mxp-stat{position:relative;}
.mxp-stat > i{
	position:absolute;top:16px;right:16px;
	font-size:20px;color:var(--mx-gold);opacity:.65;
}

/* Profile photo preview in the mentor form */
.mxp-photo__preview{
	position:relative;width:72px;height:72px;flex:none;
	border-radius:50%;overflow:hidden;display:grid;place-items:center;
	background:var(--mx-navy-grad);color:#fff;
}
.mxp-photo__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

@media (max-width:640px){
	.mxp-id{gap:14px;}
	.mxp-id__avatar{width:60px;height:60px;}
	.mxp-id__text h1{font-size:22px;}
	.mxp-id__out{width:100%;justify-content:center;}
}
