/* Nexlume 3.2.0 — blue-sidebar dashboard, scoped to the agent portal */
.nxl-portal{display:grid!important;grid-template-columns:220px minmax(0,1fr);align-items:stretch;gap:0!important;background:#f4f7fc!important;border:1px solid #dce6f3;border-radius:16px;overflow:clip;max-width:1440px!important;padding:0!important;box-shadow:0 18px 55px rgba(18,55,100,.10)}
.nxl-portal .nxl-side{grid-column:1;background:linear-gradient(180deg,#075e9f,#087ab4 60%,#096aa5);color:#fff;min-height:760px;padding:27px 15px 22px;display:flex;flex-direction:column;gap:12px}
.nxl-portal .nxl-side-brand{display:flex;align-items:center;gap:10px;padding:0 10px 24px;border-bottom:1px solid #ffffff30}
.nxl-portal .nxl-side-brand img{width:37px;height:37px;object-fit:contain;background:#fff;border-radius:9px;padding:3px}
.nxl-portal .nxl-side-brand b{display:block;color:#fff;letter-spacing:2px;font-size:15px}.nxl-portal .nxl-side-brand small{color:#c8ebff;font-size:9px;letter-spacing:1.3px}
.nxl-portal .nxl-side-caption{font-size:10px;letter-spacing:1.5px;color:#b5e2fc;margin:17px 12px 2px;font-weight:700}
.nxl-portal .nxl-side-links{display:flex;flex-direction:column;gap:5px}
.nxl-portal .nxl-side-link{display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:9px;color:#e5f5ff!important;text-decoration:none!important;font-weight:600;font-size:13px;line-height:1.4;transition:background .2s}
.nxl-portal .nxl-side-link:hover,.nxl-portal .nxl-side-link:focus-visible,.nxl-portal .nxl-side-link.is-current{background:#ffffff24;color:#fff!important;box-shadow:inset 3px 0 #8be4f6}
.nxl-portal .nxl-side-footer{margin-top:auto;padding:20px 11px 5px;border-top:1px solid #ffffff2b;font-size:12px;color:#fff}.nxl-portal .nxl-side-footer small{color:#bce3f9}
.nxl-portal .nxl-side-dot{display:inline-block;width:8px;height:8px;background:#67e4b6;border-radius:50%;margin-right:6px}
.nxl-portal .nxl-main{grid-column:2;min-width:0;padding:24px 26px 40px}
.nxl-portal .nxl-hero{background:#fff!important;color:#17345d!important;border:1px solid #e3eaf4;border-radius:15px!important;box-shadow:0 5px 20px rgba(23,53,91,.04)!important;padding:22px 25px!important}
.nxl-portal .nxl-hero h2,.nxl-portal .nxl-hero b{color:#153965!important}
.nxl-portal .nxl-hero small,.nxl-portal .nxl-hero p{color:#667d9d!important}
.nxl-portal .nxl-hero a{color:#0877b6!important}
.nxl-portal .nxl-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px!important}
.nxl-portal .nxl-stats>.nxl-card{border-radius:13px!important;border-left:4px solid #0b92c9!important;box-shadow:0 4px 16px rgba(22,67,112,.05)!important}
.nxl-portal .nxl-stats>.nxl-card:nth-child(2){border-left-color:#24b7aa!important}
.nxl-portal .nxl-stats>.nxl-card:nth-child(3){border-left-color:#6d8bd8!important}
.nxl-portal .nxl-card{border-radius:13px!important}
.nxl-portal .nxl-crm-heading{border-radius:13px!important}
.nxl-portal .nxl-crm-nav{position:static!important;box-shadow:none!important;overflow-x:auto}
.nxl-portal .nxl-crm-nav a.is-active,.nxl-portal .nxl-crm-nav a[aria-current="location"]{background:#0b78b4!important;border-color:#0b78b4!important}
.nxl-portal [id^="nxl-"]{scroll-margin-top:20px}
@media(max-width:1000px){.nxl-portal{grid-template-columns:175px minmax(0,1fr)}.nxl-portal .nxl-side{padding:20px 9px}.nxl-portal .nxl-main{padding:18px 15px}.nxl-portal .nxl-side-link{font-size:12px;padding:11px 9px}}
@media(max-width:700px){.nxl-portal{display:block!important}.nxl-portal .nxl-side{min-height:0;padding:14px 12px;gap:5px}.nxl-portal .nxl-side-brand{padding-bottom:10px}.nxl-portal .nxl-side-caption,.nxl-portal .nxl-side-footer{display:none}.nxl-portal .nxl-side-links{flex-direction:row;overflow-x:auto;padding:8px 0 4px;gap:4px;scrollbar-width:thin}.nxl-portal .nxl-side-link{white-space:nowrap;flex:none;padding:9px 12px}.nxl-portal .nxl-main{padding:13px 10px 25px}.nxl-portal .nxl-hero{padding:17px!important}.nxl-portal .nxl-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.nxl-portal .nxl-stats{grid-template-columns:1fr}}

/* V3.2.1: compact header, two-column panels, reduced outer whitespace.
   All selectors are scoped to the agent dashboard only. */
.nxl-portal{
  width:calc(100% - 16px)!important;
  max-width:1600px!important;
  margin:8px auto 18px!important;
  grid-template-columns:205px minmax(0,1fr);
}
.nxl-portal .nxl-side{padding:19px 12px 18px;min-height:0}
.nxl-portal .nxl-side-brand{padding-bottom:16px}
.nxl-portal .nxl-side-caption{margin-top:9px}
.nxl-portal .nxl-side-link{padding:10px 11px}
.nxl-portal .nxl-main{padding:15px 17px 25px}
.nxl-portal .nxl-hero{
  padding:13px 18px!important;
  margin-bottom:12px!important;
}
.nxl-portal .nxl-hero .nxl-topline{gap:12px}
.nxl-portal .nxl-hero .nxl-brand img{max-width:38px;max-height:38px}
.nxl-portal .nxl-identity{margin-top:11px;gap:12px}
.nxl-portal .nxl-identity .nxl-avatar{width:52px;height:52px}
.nxl-portal .nxl-identity h2{font-size:23px;line-height:1.2;margin:2px 0}
.nxl-portal .nxl-stats{gap:10px!important;margin-top:10px}
.nxl-portal .nxl-stats>.nxl-card{padding:15px!important;margin-bottom:0}
.nxl-portal .nxl-crm{margin-top:12px}
.nxl-portal .nxl-panel-workspace{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:12px;
  margin-top:12px;
}
.nxl-portal .nxl-panel-workspace>.nxl-movable-panel{
  width:100%;min-width:0;max-width:100%;
  padding:16px!important;
  margin:0!important;
}
.nxl-portal .nxl-panel-toolbar{margin-bottom:12px;padding-bottom:10px}
.nxl-portal .nxl-panel-workspace .nxl-table-scroll{overflow-x:auto}
.nxl-portal .nxl-panel-workspace input,
.nxl-portal .nxl-panel-workspace select,
.nxl-portal .nxl-panel-workspace textarea{max-width:100%}
@media(max-width:1199px){
  .nxl-portal{grid-template-columns:185px minmax(0,1fr)}
  .nxl-portal .nxl-main{padding:14px}
  .nxl-portal .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:800px){
  .nxl-portal{grid-template-columns:160px minmax(0,1fr)}
  .nxl-portal .nxl-side{padding:15px 8px}
  .nxl-portal .nxl-side-link{font-size:12px;padding:10px 8px;gap:7px}
  .nxl-portal .nxl-main{padding:12px}
  .nxl-portal .nxl-hero{padding:12px!important}
}
@media(max-width:700px){
  .nxl-portal{display:block!important;width:calc(100% - 12px)!important;margin:6px auto 14px!important}
  .nxl-portal .nxl-side{padding:11px 10px;min-height:0}
  .nxl-portal .nxl-main{padding:10px}
  .nxl-portal .nxl-identity{margin-top:10px}
  .nxl-portal .nxl-identity .nxl-avatar{width:46px;height:46px}
  .nxl-portal .nxl-identity h2{font-size:20px}
  .nxl-portal .nxl-panel-workspace{grid-template-columns:minmax(0,1fr);gap:10px}
  .nxl-portal .nxl-panel-workspace>.nxl-movable-panel{padding:12px!important}
  .nxl-portal .nxl-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
  .nxl-portal .nxl-stats>.nxl-card{padding:12px!important}
}
@media(max-width:380px){
  .nxl-portal .nxl-hero .nxl-topline{flex-wrap:wrap}
  .nxl-portal .nxl-stats{grid-template-columns:minmax(0,1fr)}
}

/* V3.2.2: Calendar occupies half of the dashboard workspace on desktop. */
@media (min-width:1200px){
 .nxl-portal .nxl-panel-workspace{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important}
 .nxl-portal .nxl-panel-workspace>#nxl-calendar{grid-column:span 1!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
}
@media (max-width:1199px){
 .nxl-portal .nxl-panel-workspace>#nxl-calendar{width:100%!important;max-width:100%!important}
}

/* V3.3.0 — screenshot-inspired desktop, tablet and mobile dashboard */
.nxl-portal{max-width:1550px!important;border-radius:15px!important;background:#edf5ff!important;grid-template-columns:245px minmax(0,1fr)!important}
.nxl-portal .nxl-side{background:linear-gradient(180deg,#0863bd,#06437f)!important;min-height:800px;padding:22px 14px!important}
.nxl-portal .nxl-side-brand{padding:0 8px 22px}
.nxl-portal .nxl-side-link{padding:12px 13px!important;border-radius:9px;font-size:13px}
.nxl-portal .nxl-side-link.is-current{background:#087fe1!important}
.nxl-portal .nxl-main{padding:13px 19px 28px!important}
.nxl-portal .nxl-hero{padding:13px 17px!important;margin-bottom:12px!important;border-radius:13px!important}
.nxl-portal .nxl-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nxl-portal .nxl-top-actions{display:flex;align-items:center;gap:12px;font-size:12px}
.nxl-portal .nxl-top-actions .nxl-avatar,.nxl-portal .nxl-top-actions img{width:34px!important;height:34px!important;object-fit:cover;border-radius:50%}
.nxl-portal .nxl-top-agent{font-weight:750;color:#193b71;display:flex;flex-direction:column;line-height:1.2}
.nxl-portal .nxl-top-agent small{font-size:10px;font-weight:500}
.nxl-portal .nxl-bell{font-size:23px;color:#126bc3}
.nxl-portal .nxl-identity{margin-top:9px!important}
.nxl-portal .nxl-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important;margin:13px 0!important}
.nxl-portal .nxl-stats>.nxl-card{display:flex;align-items:center;gap:11px;min-width:0;padding:14px!important;border:1px solid #e5edf7!important;border-left:0!important;text-decoration:none!important;color:#173c75!important;background:#fff!important;box-shadow:0 3px 12px #143d6712!important}
.nxl-portal .nxl-stats>.nxl-card:hover{transform:translateY(-2px)}
.nxl-portal .nxl-stats .nxl-stat-icon{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:11px;background:#dcefff;color:#087be1;font-size:25px}
.nxl-portal .nxl-stats .nxl-stat-green .nxl-stat-icon{background:#d6f7ed;color:#00a681}
.nxl-portal .nxl-stats .nxl-stat-purple .nxl-stat-icon{background:#ede3ff;color:#6c37dc}
.nxl-portal .nxl-stats .nxl-stat-orange .nxl-stat-icon{background:#ffebd8;color:#ef851e}
.nxl-portal .nxl-stats .nxl-card small{display:block;font-size:12px;color:#29466e!important;line-height:1.25;white-space:normal}
.nxl-portal .nxl-stats .nxl-card strong{display:block;font-size:26px;line-height:1.3;color:#142d69}
.nxl-portal .nxl-stat-arrow{margin-left:auto;color:#1478d7;font-size:24px}
.nxl-portal .nxl-crm-heading{display:none!important}
.nxl-portal .nxl-crm-nav{display:none!important}
.nxl-portal .nxl-panel-workspace{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:start!important;margin-top:12px}
.nxl-portal .nxl-panel-workspace>.nxl-movable-panel{min-width:0;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:16px!important;border-radius:12px!important}
.nxl-portal .nxl-panel-workspace>#nxl-calendar{grid-column:span 1!important}
.nxl-portal #nxl-calendar input[type=date]{width:100%;max-width:100%}
.nxl-portal #nxl-bookings .nxl-table-scroll{overflow-x:auto}
.nxl-portal #nxl-bookings .nxl-table{font-size:12px}
.nxl-portal #nxl-bookings .nxl-table th,.nxl-portal #nxl-bookings .nxl-table td{padding:10px 7px}
.nxl-portal .nxl-panel-toolbar{margin-bottom:9px!important;padding-bottom:9px!important}
@media(max-width:1200px){.nxl-portal{grid-template-columns:175px minmax(0,1fr)!important}.nxl-portal .nxl-main{padding:12px!important}.nxl-portal .nxl-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nxl-portal .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:767px){.nxl-portal{display:block!important;width:calc(100% - 10px)!important;margin:5px auto!important}.nxl-portal .nxl-side{min-height:0!important;padding:10px!important}.nxl-portal .nxl-side-brand{padding:0 5px 7px!important}.nxl-portal .nxl-side-links{display:flex;flex-direction:row;overflow-x:auto;gap:4px}.nxl-portal .nxl-side-link{white-space:nowrap;padding:9px!important}.nxl-portal .nxl-main{padding:9px!important}.nxl-portal .nxl-hero{padding:11px!important}.nxl-portal .nxl-identity{gap:8px!important}.nxl-portal .nxl-identity h2{font-size:19px!important}.nxl-portal .nxl-top-agent,.nxl-portal .nxl-bell{display:none!important}.nxl-portal .nxl-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.nxl-portal .nxl-stats>.nxl-card{padding:10px!important;gap:7px}.nxl-portal .nxl-stats .nxl-stat-icon{flex-basis:34px;height:34px;font-size:19px}.nxl-portal .nxl-stats .nxl-card strong{font-size:22px}.nxl-portal .nxl-stats .nxl-card small{font-size:10px}.nxl-portal .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.nxl-portal .nxl-panel-workspace>.nxl-movable-panel{padding:11px!important}}
@media(max-width:390px){.nxl-portal .nxl-stat-arrow{display:none}.nxl-portal .nxl-stats .nxl-stat-icon{flex-basis:28px;height:28px}.nxl-portal .nxl-top-actions a{font-size:10px}}

/* V3.3.1 Sidebar content switching */
.nxl-portal .nxl-panel-workspace>.nxl-movable-panel[hidden],.nxl-portal .nxl-hero[hidden],.nxl-portal .nxl-stats[hidden]{display:none!important}
.nxl-portal.nxl-section-view .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}
.nxl-portal.nxl-section-view .nxl-panel-workspace>.nxl-movable-panel:not([hidden]){width:100%!important;max-width:100%!important}
.nxl-portal.nxl-section-view .nxl-main{min-height:480px}
.nxl-portal .nxl-side-link[aria-current="page"]{background:#ffffff28;color:#fff!important;box-shadow:inset 3px 0 #8be4f6}
@media(max-width:700px){.nxl-portal.nxl-section-view .nxl-main{min-height:260px}.nxl-portal .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}}

/* V3.3.2: reliable selected-sidebar view on desktop, tablet and mobile */
.nxl-portal .nxl-hero[hidden],.nxl-portal .nxl-stats[hidden],
.nxl-portal .nxl-panel-workspace > [hidden]{display:none!important}
.nxl-portal.nxl-section-view .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}
.nxl-portal .nxl-side-link.is-current{background:#ffffff25!important;box-shadow:inset 3px 0 #78e2ff}
.nxl-portal .nxl-panel-workspace>.nxl-movable-panel{min-width:0}
@media(max-width:1024px){
 .nxl-portal.nxl-section-view .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:700px){
 .nxl-portal .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}
 .nxl-portal .nxl-panel-workspace>.nxl-movable-panel{width:100%!important;max-width:100%!important}
}

.nxl-portal .nxl-progress-area[hidden]{display:none!important}
.nxl-portal .nxl-progress-area{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.nxl-portal .nxl-progress-card{padding:18px 20px!important;min-width:0}
.nxl-portal .nxl-progress-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.nxl-portal .nxl-progress-heading h3{margin:0 0 3px;font-size:16px;color:#173864}
.nxl-portal .nxl-progress-heading p{margin:0;font-size:12px;color:#68809d}
.nxl-portal .nxl-progress-symbol{display:grid;place-items:center;flex:0 0 38px;height:38px;background:#e7f2ff;color:#0871ce;border-radius:11px;font-size:23px}
.nxl-portal .nxl-progress-content{display:flex;align-items:center;justify-content:space-evenly;gap:16px;flex-wrap:wrap}
.nxl-portal .nxl-donut{width:152px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#0d86d8 calc(var(--nxl-pct)*1%),#e9f1fa 0);display:grid;place-items:center;flex-shrink:0}
.nxl-portal .nxl-donut>div{width:116px;aspect-ratio:1;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center}
.nxl-portal .nxl-donut strong{font-size:30px;color:#173864;line-height:1.1}
.nxl-portal .nxl-donut small{font-size:12px;color:#7286a0}
.nxl-portal .nxl-progress-summary{display:grid;gap:10px;min-width:145px;color:#354e6c;font-size:13px}
.nxl-portal .nxl-progress-summary>span{display:flex;align-items:center;gap:7px}
.nxl-portal .nxl-progress-summary b{margin-left:auto;color:#193b6a}
.nxl-portal .nxl-progress-summary>small{color:#7185a0}
.nxl-portal .nxl-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.nxl-portal .nxl-confirmed-dot{background:#0d86d8}
.nxl-portal .nxl-pending-dot{background:#f3b34a}
.nxl-portal .nxl-other-dot{background:#9b8ad6}
.nxl-portal .nxl-bar-item{margin:15px 0}
.nxl-portal .nxl-bar-label{display:flex;justify-content:space-between;font-size:13px;color:#344c6c;margin-bottom:8px}
.nxl-portal .nxl-bar-track{height:12px;border-radius:20px;background:#edf2f8;overflow:hidden}
.nxl-portal .nxl-bar-fill{height:100%;display:block;border-radius:20px}
.nxl-portal .nxl-bar-confirmed{background:#0d86d8}
.nxl-portal .nxl-bar-pending{background:#f3b34a}
.nxl-portal .nxl-bar-other{background:#9b8ad6}
.nxl-portal .nxl-progress-empty{font-size:12px;color:#7c8fa7}
@media(max-width:1100px){.nxl-portal .nxl-progress-area{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.nxl-portal .nxl-progress-area{gap:10px;margin:10px 0}.nxl-portal .nxl-progress-card{padding:14px!important}.nxl-portal .nxl-donut{width:128px}.nxl-portal .nxl-donut>div{width:98px}}

/* V3.3.5 — date-selected bookings (left) + monthly calendar (right) */
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-consultations,
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-calendar{grid-column:auto;width:100%!important;min-width:0}
.nxl-portal #nxl-consultations tr[hidden]{display:none!important}
.nxl-portal .nxl-bookings-empty{margin:12px 0;color:#657b98}
.nxl-portal .nxl-bookings-empty[hidden]{display:none!important}
.nxl-portal .nxl-month-grid{margin-top:14px;border:1px solid #e0e9f4;border-radius:12px;padding:12px}
.nxl-portal .nxl-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#1b3a67}
.nxl-portal .nxl-month-header button{border:1px solid #e0e9f4;background:white;border-radius:7px;padding:4px 12px;color:#1265ad;cursor:pointer}
.nxl-portal .nxl-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.nxl-portal .nxl-month-days>span{font-size:11px;color:#68809e;padding:6px 0}
.nxl-portal .nxl-month-days>button{position:relative;border:0;background:transparent;border-radius:7px;min-height:35px;color:#23466e;cursor:pointer}
.nxl-portal .nxl-month-days>button:hover{background:#e9f3ff}
.nxl-portal .nxl-month-days>button.is-selected{background:#0b78d0;color:white;font-weight:700}
.nxl-portal .nxl-month-days>button.has-bookings:after{content:'';position:absolute;bottom:3px;left:50%;width:5px;height:5px;transform:translateX(-50%);border-radius:50%;background:#20b79b}
.nxl-portal .nxl-calendar-day-note{margin-top:12px;font-size:12px;color:#667e9d}
@media(max-width:1050px){.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.nxl-portal .nxl-month-days>button{min-height:33px}.nxl-portal .nxl-month-grid{padding:8px}}

/* V3.3.6: enforce two equal 50% panels, overriding legacy !important rules. */
@media (min-width: 901px) {
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
 }
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace > #nxl-consultations,
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace > #nxl-calendar {
  grid-column:span 1!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  box-sizing:border-box!important;
 }
}
@media (max-width:900px) {
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace {
  grid-template-columns:minmax(0,1fr)!important;
 }
}

/* V3.3.7 — compact, consistent responsive layout. Last overrides win. */
.nxl-portal,.nxl-portal *{box-sizing:border-box}
.nxl-portal{max-width:1500px!important;width:calc(100% - 12px)!important;margin:6px auto 12px!important;font-size:13px;line-height:1.45}
.nxl-portal .nxl-side{padding:14px 10px!important;gap:5px!important}
.nxl-portal .nxl-side-brand{padding:0 5px 12px!important}
.nxl-portal .nxl-side-caption{margin:9px 8px 3px!important}
.nxl-portal .nxl-side-links{gap:2px!important}
.nxl-portal .nxl-side-link{padding:9px 10px!important;font-size:12px!important;gap:9px!important}
.nxl-portal .nxl-main{min-width:0;padding:12px!important}
.nxl-portal .nxl-hero{padding:12px 15px!important;margin:0 0 10px!important;border-radius:11px!important}
.nxl-portal .nxl-identity{margin-top:8px!important;gap:10px!important}
.nxl-portal .nxl-identity h2{font-size:20px!important;margin:0 0 2px!important;line-height:1.2!important}
.nxl-portal .nxl-stats{gap:9px!important;margin:9px 0!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.nxl-portal .nxl-stats>.nxl-card{padding:11px!important;min-width:0!important;min-height:0!important;margin:0!important;border-radius:11px!important}
.nxl-portal .nxl-stats .nxl-stat-icon{width:39px!important;height:39px!important;min-width:39px!important;font-size:20px!important}
.nxl-portal .nxl-stats small{font-size:11px!important;line-height:1.25!important}
.nxl-portal .nxl-stats strong{font-size:22px!important;line-height:1.15!important}
.nxl-portal .nxl-progress-area{gap:10px!important;margin:9px 0!important}
.nxl-portal .nxl-progress-card{padding:12px!important}
.nxl-portal .nxl-progress-heading{margin-bottom:10px!important}
.nxl-portal .nxl-progress-heading h3{font-size:14px!important}
.nxl-portal .nxl-donut{width:116px!important}
.nxl-portal .nxl-donut>div{width:89px!important}
.nxl-portal .nxl-donut strong{font-size:24px!important}
.nxl-portal .nxl-panel-workspace{gap:10px!important;margin-top:10px!important;align-items:start!important}
.nxl-portal .nxl-panel-workspace>.nxl-movable-panel{padding:12px!important;min-width:0!important;max-width:100%!important;margin:0!important;border-radius:11px!important}
.nxl-portal .nxl-panel-toolbar{margin:0 0 9px!important;padding:0 0 8px!important}
.nxl-portal .nxl-panel-toolbar h3,.nxl-portal .nxl-section h3{font-size:14px!important;line-height:1.3!important;margin:0 0 5px!important}
.nxl-portal .nxl-panel-workspace h2{font-size:17px!important;line-height:1.3!important;margin:8px 0!important}
.nxl-portal .nxl-panel-workspace p{margin:5px 0!important}
.nxl-portal .nxl-panel-workspace input,.nxl-portal .nxl-panel-workspace select,.nxl-portal .nxl-panel-workspace textarea{font-size:13px!important;min-width:0;max-width:100%;padding:9px 10px!important}
.nxl-portal .nxl-panel-workspace table{font-size:12px!important}
.nxl-portal .nxl-panel-workspace th,.nxl-portal .nxl-panel-workspace td{padding:8px!important}
.nxl-portal .nxl-month-grid{margin-top:9px!important;padding:9px!important}
.nxl-portal .nxl-month-days{gap:2px!important}
.nxl-portal .nxl-month-days>button{min-height:32px!important;font-size:12px!important}
.nxl-portal .nxl-month-header{margin-bottom:8px!important}
.nxl-portal .nxl-crm{margin-top:9px!important}
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-consultations,.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-calendar{width:100%!important;min-width:0!important;grid-column:auto!important}
@media(max-width:1100px){
 .nxl-portal{grid-template-columns:170px minmax(0,1fr)!important}
 .nxl-portal .nxl-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .nxl-portal .nxl-progress-area{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:850px){
 .nxl-portal{grid-template-columns:145px minmax(0,1fr)!important}
 .nxl-portal .nxl-main{padding:10px!important}
 .nxl-portal .nxl-side-link{font-size:11px!important;padding:8px!important}
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}
 .nxl-portal .nxl-progress-area{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:700px){
 .nxl-portal{display:block!important;width:calc(100% - 8px)!important;margin:4px auto 10px!important;border-radius:10px!important}
 .nxl-portal .nxl-side{min-height:0!important;padding:9px 10px!important;gap:3px!important}
 .nxl-portal .nxl-side-brand{padding:0 0 7px!important;border-bottom:0!important}
 .nxl-portal .nxl-side-links{display:flex!important;flex-direction:row!important;gap:5px!important;overflow-x:auto!important;overscroll-behavior-x:contain;scrollbar-width:thin;padding:4px 0 6px!important}
 .nxl-portal .nxl-side-link{flex:0 0 auto!important;white-space:nowrap;font-size:11px!important;padding:7px 9px!important}
 .nxl-portal .nxl-main{padding:8px!important}
 .nxl-portal .nxl-hero{padding:10px!important;margin-bottom:8px!important}
 .nxl-portal .nxl-identity h2{font-size:18px!important}
 .nxl-portal .nxl-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
 .nxl-portal .nxl-stats>.nxl-card{padding:9px!important}
 .nxl-portal .nxl-stats strong{font-size:19px!important}
 .nxl-portal .nxl-stats .nxl-stat-icon{width:30px!important;height:30px!important;min-width:30px!important;font-size:16px!important}
 .nxl-portal .nxl-panel-workspace{gap:8px!important;margin-top:8px!important}
 .nxl-portal .nxl-panel-workspace>.nxl-movable-panel{padding:10px!important}
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}
 .nxl-portal .nxl-panel-workspace table{font-size:11px!important}
 .nxl-portal .nxl-panel-workspace th,.nxl-portal .nxl-panel-workspace td{padding:6px!important}
 .nxl-portal .nxl-table-scroll{max-width:100%;overflow-x:auto!important}
 .nxl-portal .nxl-month-days>button{min-height:36px!important;touch-action:manipulation}
}
@media(max-width:380px){
 .nxl-portal .nxl-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .nxl-portal .nxl-stats .nxl-stat-arrow{display:none!important}
 .nxl-portal .nxl-progress-content{gap:9px!important}
}

/* V3.3.8 — consistent compact layout for ALL agent workspace interfaces */
.nxl-portal{--nxl-space:12px;--nxl-control-height:38px;font-size:13px;line-height:1.45}
.nxl-portal *, .nxl-portal *::before,.nxl-portal *::after{box-sizing:border-box}
.nxl-portal .nxl-panel-workspace{gap:12px!important}
.nxl-portal .nxl-panel-workspace>.nxl-movable-panel:not([hidden]),
.nxl-portal .nxl-crm .nxl-card,
.nxl-portal #nxl-bookings{padding:15px!important;margin:0!important;min-width:0;max-width:100%;overflow-wrap:anywhere}
.nxl-portal .nxl-panel-workspace h2,.nxl-portal .nxl-panel-workspace h3{font-size:16px!important;line-height:1.35;margin:0 0 10px!important}
.nxl-portal .nxl-panel-workspace h4{font-size:14px!important;margin:0 0 6px!important}
.nxl-portal .nxl-panel-workspace p{margin:6px 0 10px;line-height:1.5}
.nxl-portal .nxl-panel-workspace .nxl-panel-toolbar{padding:0 0 9px!important;margin:0 0 12px!important}
.nxl-portal .nxl-panel-workspace .nxl-section{margin:0 0 10px!important}
.nxl-portal .nxl-crm-heading{padding:0;margin:0 0 12px}
.nxl-portal .nxl-crm-heading h2{font-size:18px!important}
.nxl-portal .nxl-crm-nav{gap:6px!important;margin:8px 0 12px!important}
.nxl-portal .nxl-crm-nav a{font-size:12px!important;min-height:34px!important;padding:7px 10px!important}
.nxl-portal .nxl-crm-student{padding:11px 12px!important;margin:8px 0!important;border-radius:10px}
.nxl-portal .nxl-crm-student summary{font-size:13px;line-height:1.45}
.nxl-portal .nxl-crm form{gap:9px!important;margin:10px 0!important;align-items:end}
.nxl-portal .nxl-crm form label{gap:4px!important;font-size:12px;min-width:0}
.nxl-portal .nxl-crm input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.nxl-portal .nxl-crm select,.nxl-portal .nxl-crm textarea,
.nxl-portal #nxl-bookings input,.nxl-portal #nxl-bookings select{
 min-width:0;max-width:100%;width:100%;font-size:13px!important;line-height:1.4;
 padding:8px 10px!important;min-height:var(--nxl-control-height);border-radius:8px!important
}
.nxl-portal .nxl-crm textarea{min-height:70px!important;resize:vertical}
.nxl-portal .nxl-crm button,.nxl-portal #nxl-bookings button{font-size:12px!important;padding:8px 12px!important;min-height:34px;border-radius:8px!important}
.nxl-portal .nxl-crm-student form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.nxl-portal .nxl-crm-student form label{width:100%;flex:auto}
.nxl-portal .nxl-crm-student form button{justify-self:start}
.nxl-portal #nxl-followups form{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e7edf6}
.nxl-portal #nxl-followups form>span{flex:1;min-width:0}
.nxl-portal #nxl-availability form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end}
.nxl-portal #nxl-availability form>label{width:100%;flex:auto}
.nxl-portal #nxl-availability #nxl-live-leave-status{display:grid;gap:7px;margin-top:12px}
.nxl-portal #nxl-availability #nxl-live-leave-status p,
.nxl-portal #nxl-notifications>p{margin:0!important;padding:9px 11px;border:1px solid #e4eaf4;background:#f7faff;border-radius:9px}
.nxl-portal #nxl-notifications form{margin-top:12px!important}
.nxl-portal #nxl-profile .nxl-profile-overview{gap:12px!important;margin:8px 0 12px!important}
.nxl-portal #nxl-profile .nxl-profile-picture .nxl-avatar{width:64px!important;height:64px!important}
.nxl-portal #nxl-profile .nxl-profile-overview h4{font-size:17px!important}
.nxl-portal #nxl-profile .nxl-profile-read-grid{gap:9px!important;max-width:none}
.nxl-portal #nxl-profile .nxl-profile-read-grid>div{padding:11px!important;border-radius:9px!important}
.nxl-portal #nxl-profile .nxl-profile-read-grid small{margin-bottom:4px!important;font-size:11px}
.nxl-portal #nxl-profile .nxl-profile-tabs{margin:10px 0 12px!important;padding-bottom:9px!important;gap:7px!important}
.nxl-portal #nxl-profile .nxl-profile-tabs button{padding:8px 12px!important}
.nxl-portal #nxl-profile form{gap:10px 12px!important;margin:10px 0!important;max-width:none}
.nxl-portal .nxl-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.nxl-portal table{width:100%;border-collapse:collapse;font-size:12px}
.nxl-portal th,.nxl-portal td{padding:9px 10px!important;vertical-align:top}
.nxl-portal #nxl-private-chat{min-width:0;max-width:100%}
.nxl-portal #nxl-private-chat input,.nxl-portal #nxl-private-chat textarea{max-width:100%}
@media(max-width:1024px){
 .nxl-portal .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}
 .nxl-portal .nxl-crm-student form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .nxl-portal{font-size:12.5px}
 .nxl-portal .nxl-panel-workspace{gap:9px!important}
 .nxl-portal .nxl-panel-workspace>.nxl-movable-panel:not([hidden]),
 .nxl-portal .nxl-crm .nxl-card,.nxl-portal #nxl-bookings{padding:12px!important}
 .nxl-portal .nxl-panel-workspace h2,.nxl-portal .nxl-panel-workspace h3{font-size:15px!important}
 .nxl-portal .nxl-crm-student form,.nxl-portal #nxl-availability form,
 .nxl-portal #nxl-profile form{grid-template-columns:minmax(0,1fr)!important}
 .nxl-portal .nxl-crm-student form button,.nxl-portal #nxl-availability form button{width:100%}
 .nxl-portal #nxl-profile .nxl-profile-read-grid{grid-template-columns:minmax(0,1fr)!important}
 .nxl-portal #nxl-profile .nxl-profile-read-grid>div{grid-column:1/-1!important}
 .nxl-portal #nxl-profile .nxl-profile-overview{align-items:center}
 .nxl-portal #nxl-followups form{flex-wrap:wrap}
 .nxl-portal #nxl-followups form button{margin-left:auto}
 .nxl-portal .nxl-crm-nav{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:5px}
 .nxl-portal .nxl-crm-nav a{white-space:nowrap;flex-shrink:0}
 .nxl-portal table{font-size:11px}
 .nxl-portal th,.nxl-portal td{padding:7px 8px!important}
}
@media(max-width:390px){
 .nxl-portal #nxl-profile .nxl-profile-overview{flex-direction:column;align-items:flex-start}
 .nxl-portal .nxl-crm .nxl-card{padding:10px!important}
}

/* V3.3.9: drawing-accurate dashboard hierarchy */
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:start}
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-bookings{grid-column:1/-1!important;width:100%!important}
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-appointment-details{grid-column:1!important;grid-row:auto!important;width:100%!important}
.nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-calendar{grid-column:2!important;grid-row:auto!important;width:100%!important}
.nxl-portal:not(.nxl-section-view) #nxl-bookings .nxl-recent-overflow{display:none!important}
.nxl-portal .nxl-panel-workspace>#nxl-appointment-details{min-width:0;overflow:hidden}
.nxl-portal #nxl-appointment-details .nxl-table-scroll{overflow-x:auto}
.nxl-portal .nxl-panel-workspace>#nxl-bookings .nxl-section{margin:0 0 8px!important}
.nxl-portal .nxl-panel-workspace>#nxl-bookings .nxl-panel-toolbar{display:none!important}
.nxl-portal .nxl-panel-workspace>#nxl-appointment-details .nxl-panel-toolbar,
.nxl-portal .nxl-panel-workspace>#nxl-calendar .nxl-panel-toolbar{display:none!important}
.nxl-portal #nxl-appointment-details .nxl-appointment-hint{font-size:12px;color:#60728b;margin:0 0 10px}
@media(max-width:800px){
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace{grid-template-columns:minmax(0,1fr)!important}
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-bookings,
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-appointment-details,
 .nxl-portal:not(.nxl-section-view) .nxl-panel-workspace>#nxl-calendar{grid-column:1!important}
}

/* V3.4.2: reference-inspired colorful month calendar; no dashboard structure changes */
.nxl-portal #nxl-calendar .nxl-month-grid{background:#191b22!important;border:1px solid #333640!important;border-radius:15px!important;padding:14px!important;max-width:100%;box-shadow:0 8px 22px rgba(16,24,40,.09)}
.nxl-portal #nxl-calendar .nxl-month-header{color:#f5f6fb!important;margin-bottom:14px!important;gap:10px}
.nxl-portal #nxl-calendar .nxl-month-header strong{font-size:15px!important;font-weight:700;letter-spacing:.1px;text-align:center}
.nxl-portal #nxl-calendar .nxl-month-header button{border:0!important;background:#2c303b!important;color:#fff!important;border-radius:9px!important;width:34px;height:34px;padding:0!important;font-size:24px!important;line-height:1!important;flex-shrink:0}
.nxl-portal #nxl-calendar .nxl-month-header button:hover{background:#414657!important}
.nxl-portal #nxl-calendar .nxl-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px!important;align-items:center}
.nxl-portal #nxl-calendar .nxl-month-days>span{color:#aeb4c1!important;font-size:11px!important;font-weight:600;padding:7px 0!important}
.nxl-portal #nxl-calendar .nxl-month-days>button{aspect-ratio:1;min-height:0!important;min-width:0!important;width:100%;border:0!important;border-radius:50%!important;background:transparent!important;color:#f2f4f8!important;font-size:13px!important;font-weight:500;position:relative;padding:0!important;cursor:pointer;transition:background .15s}
.nxl-portal #nxl-calendar .nxl-month-days>button:hover{background:#343a48!important}
.nxl-portal #nxl-calendar .nxl-month-days>button.has-bookings{background:#e9aa35!important;color:#22212a!important;font-weight:750}
.nxl-portal #nxl-calendar .nxl-month-days>button.has-bookings:after{display:none!important}
.nxl-portal #nxl-calendar .nxl-month-days>button.is-selected{background:#56c837!important;color:#12270d!important;font-weight:800;box-shadow:0 0 0 2px rgba(116,228,75,.25)}
.nxl-portal #nxl-calendar .nxl-calendar-day-note{font-size:12px!important;line-height:1.5;margin-top:9px!important}
.nxl-portal #nxl-appointment-details tr[hidden]{display:none!important}
.nxl-portal #nxl-appointment-details .nxl-bookings-empty:not([hidden]){display:block}
@media(max-width:420px){.nxl-portal #nxl-calendar .nxl-month-grid{padding:10px!important}.nxl-portal #nxl-calendar .nxl-month-days{gap:2px!important}.nxl-portal #nxl-calendar .nxl-month-days>button{font-size:12px!important}}

/* V3.4.3: Date-filtered appointment details as compact cards (recent bookings unchanged). */
.nxl-portal #nxl-appointment-details .nxl-appointment-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
.nxl-portal #nxl-appointment-details .nxl-appointment-item{padding:12px 13px;border:1px solid #e2eaf5;border-radius:11px;background:#fff;min-width:0;box-shadow:0 2px 9px rgba(22,60,110,.035)}
.nxl-portal #nxl-appointment-details .nxl-appointment-item[hidden]{display:none!important}
.nxl-portal #nxl-appointment-details .nxl-appointment-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}
.nxl-portal #nxl-appointment-details .nxl-appointment-identity{display:flex;flex-direction:column;min-width:0;gap:3px}
.nxl-portal #nxl-appointment-details .nxl-appointment-identity strong{font-size:13px;line-height:1.35;color:#15385d;overflow-wrap:anywhere}
.nxl-portal #nxl-appointment-details .nxl-appointment-identity small{font-size:11px;color:#6b7d92;overflow-wrap:anywhere}
.nxl-portal #nxl-appointment-details .nxl-appointment-status{flex-shrink:0;padding:4px 8px;border-radius:20px;background:#fff2d6;color:#925f00;font-size:10px;font-weight:700;text-transform:capitalize}
.nxl-portal #nxl-appointment-details .nxl-appointment-status[data-status=confirmed],.nxl-portal #nxl-appointment-details .nxl-appointment-status[data-status=completed]{background:#ddf8e9;color:#167347}
.nxl-portal #nxl-appointment-details .nxl-appointment-status[data-status=cancelled]{background:#ffe5e6;color:#a72e39}
.nxl-portal #nxl-appointment-details .nxl-appointment-item-meta{display:flex;flex-wrap:wrap;gap:5px 15px;margin-top:10px;color:#48627e;font-size:11px}
.nxl-portal #nxl-appointment-details .nxl-appointment-item-actions{display:flex;justify-content:flex-end;margin-top:10px}
.nxl-portal #nxl-appointment-details .nxl-appointment-item-actions a{display:inline-flex;padding:6px 10px;border:1px solid #cfe0f2;border-radius:7px;color:#0b65a7;text-decoration:none;font-size:11px;font-weight:600}
@media(max-width:480px){.nxl-portal #nxl-appointment-details .nxl-appointment-item{padding:10px}.nxl-portal #nxl-appointment-details .nxl-appointment-item-head{flex-wrap:wrap}}

/* v3.4.6: three appointments per page in each dashboard panel */
.nxl-portal #nxl-bookings tbody tr[hidden]{display:none!important}
.nxl-portal .nxl-booking-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 3px 3px;font-size:12px;color:#526784}
.nxl-portal .nxl-booking-pager:empty{display:none}
.nxl-portal .nxl-booking-pager button{background:#edf5ff;border:1px solid #cddff4;color:#155b99;border-radius:8px;padding:7px 11px;font-size:12px;cursor:pointer}
.nxl-portal .nxl-booking-pager button:disabled{opacity:.45;cursor:default}
@media(max-width:480px){.nxl-portal .nxl-booking-pager{justify-content:center;gap:8px}.nxl-portal .nxl-booking-pager button{padding:7px 9px}}

/* V3.5.0: compact inline appointment controls, preserving dashboard structure */
.nxl-portal .nxl-appointment-manage{margin-top:8px;max-width:260px}.nxl-portal .nxl-appointment-manage summary{cursor:pointer;color:#1462a2;font-size:12px}.nxl-portal .nxl-appointment-manage form{display:grid;gap:6px;padding:9px;background:#f5f9ff;border:1px solid #dce8f6;border-radius:9px}.nxl-portal .nxl-appointment-manage label{font-size:11px;display:grid;gap:3px}.nxl-portal .nxl-appointment-manage input,.nxl-portal .nxl-appointment-manage select{max-width:100%;min-width:0;padding:6px;font-size:12px}.nxl-portal .nxl-appointment-manage button{border:0;border-radius:7px;background:#1265a7;color:white;padding:7px;cursor:pointer}

/* V3.5.1 My Students form layout fix */
.nxl-portal #nxl-students{min-width:0;max-width:100%;overflow:hidden}
.nxl-portal #nxl-students .nxl-crm-student{padding:14px!important;margin:10px 0!important}
.nxl-portal #nxl-students .nxl-crm-student>p{font-size:12px;overflow-wrap:anywhere;margin:7px 0 12px!important}
.nxl-portal #nxl-students .nxl-crm-student>form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 14px!important;align-items:start!important;width:100%;max-width:100%;padding:13px 0!important;margin:0!important;border-bottom:1px solid #e8edf5}
.nxl-portal #nxl-students .nxl-crm-student>form:last-of-type{border-bottom:0}
.nxl-portal #nxl-students .nxl-crm-student>form>label{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;gap:6px!important;font-size:12px!important;font-weight:600}
.nxl-portal #nxl-students .nxl-crm-student>form>label input,.nxl-portal #nxl-students .nxl-crm-student>form>label select,.nxl-portal #nxl-students .nxl-crm-student>form>label textarea{display:block;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}
.nxl-portal #nxl-students .nxl-crm-student>form textarea{height:76px!important;min-height:76px!important}
.nxl-portal #nxl-students .nxl-crm-student>form>button{grid-column:1/-1!important;justify-self:start!important;align-self:start!important;width:auto!important;min-width:140px;margin:0!important}
.nxl-portal #nxl-students .nxl-crm-student>form input[type=file]{padding:8px!important;min-height:40px!important;background:#f8fbff}
@media(max-width:680px){.nxl-portal #nxl-students .nxl-crm-student>form{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.nxl-portal #nxl-students .nxl-crm-student>form>button{grid-column:1!important;width:100%!important;min-width:0}}

/* V3.5.2 CRM search and stage filter; dashboard structure untouched */
.nxl-portal #nxl-students .nxl-student-filters{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:10px;align-items:end;margin:8px 0 14px;padding:12px;background:#f6f9ff;border:1px solid #e5ecf7;border-radius:10px}
.nxl-portal #nxl-students .nxl-student-filters label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;font-weight:600}
.nxl-portal #nxl-students .nxl-student-filters input,.nxl-portal #nxl-students .nxl-student-filters select{width:100%;min-width:0;max-width:100%;height:38px;padding:7px 10px;font-size:13px;border-radius:8px;border:1px solid #cbd9e8;background:white}
.nxl-portal #nxl-students #nxl-student-count{font-size:12px;color:#526784;white-space:nowrap;padding-bottom:9px}
.nxl-portal #nxl-students details.nxl-crm-student[hidden]{display:none!important}
.nxl-portal #nxl-students #nxl-student-empty:not([hidden]){padding:12px;color:#64748b;background:#f8fafc;border-radius:8px}
@media(max-width:750px){.nxl-portal #nxl-students .nxl-student-filters{grid-template-columns:minmax(0,1fr)}.nxl-portal #nxl-students #nxl-student-count{padding-bottom:0}}

/* V3.5.7 Agent Reports: compact and responsive; dashboard cards untouched */
.nxl-portal #nxl-reports{width:100%;min-width:0;padding:16px!important}
.nxl-portal #nxl-reports h3{font-size:17px;margin:0 0 6px}
.nxl-portal #nxl-reports h4{font-size:14px;margin:0 0 7px}
.nxl-portal #nxl-reports p{font-size:12px;line-height:1.5;margin:5px 0 12px}
.nxl-portal .nxl-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.nxl-portal .nxl-report-metrics>div{background:#f6f9ff;border:1px solid #e4ebf7;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:5px}
.nxl-portal .nxl-report-metrics small{color:#64748b;font-size:12px}.nxl-portal .nxl-report-metrics strong{font-size:21px;color:#173d6c}
.nxl-portal .nxl-report-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.nxl-portal .nxl-report-tool,.nxl-portal .nxl-report-preview{border:1px solid #e3eaf3;border-radius:10px;padding:14px;min-width:0;background:#fff}
.nxl-portal .nxl-report-btn,.nxl-portal .nxl-report-upload-label{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#1265a8;color:#fff;padding:9px 14px;font-size:12px;font-weight:600;cursor:pointer;min-height:36px}
.nxl-portal #nxl-report-file{display:block;max-width:100%;font-size:12px;margin:8px 0}
.nxl-portal .nxl-report-preview-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.nxl-portal .nxl-report-preview-head span{font-size:12px;color:#64748b}
.nxl-portal .nxl-report-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.nxl-portal .nxl-report-table-scroll table{width:100%;border-collapse:collapse;font-size:12px}
.nxl-portal .nxl-report-table-scroll th,.nxl-portal .nxl-report-table-scroll td{border-bottom:1px solid #e7edf4;padding:9px 10px!important;text-align:left;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.nxl-portal .nxl-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.nxl-portal .nxl-report-tools{grid-template-columns:minmax(0,1fr)}.nxl-portal #nxl-reports{padding:12px!important}}
