@media (min-width: 1681px) {

	.lp-responsive-calendar-panel__title {

		display: none;

	}

}



@media (max-width: 1540px) {

	.lp-portal-page {

		padding-left: var(--lp-page-pad-desktop);

		padding-right: var(--lp-page-pad-desktop);

	}



	.lp-dashboard-shell__content,

	.lp-portal-header__inner {

		width: 100%;

	}

}



@media (max-width: 1680px) and (min-width: 768px) {

	.lp-admin-classes-calendar,

	.lp-student-class-calendar {

		display: grid;

		gap: var(--lp-space-7);

	}



	.lp-admin-classes-calendar .fc-daygrid-day-frame,

	.lp-student-class-calendar .fc-daygrid-day-frame {

		min-height: 620px;

	}



	.lp-admin-classes-calendar .lp-fc-class-block,

	.lp-student-class-calendar .lp-fc-class-block {

		min-height: var(--lp-calendar-block-min-height);

	}



	.lp-admin-classes-calendar .lp-fc-class-inner,

	.lp-student-class-calendar .lp-fc-class-inner {

		min-height: var(--lp-calendar-block-min-height);

		padding: var(--lp-calendar-block-padding);

	}

}



@media (max-width: 1280px) {

	.lp-portal-header__inner {

		grid-template-columns: 150px minmax(0, 1fr) auto;

		gap: var(--lp-space-5);

	}



	.lp-portal-nav {

		gap: 14px;

	}



	.lp-portal-nav__link {

		font-size: 0.78rem;

	}

}



@media (max-width: 1500px) {

	.lp-app-detail-layout,

	.lp-admin-student-profile-layout,

	.lp-class-detail-final-layout {

		grid-template-columns: 1fr;

	}

}



@media (max-width: 1280px) {

	.lp-profile-layout,

	.lp-admin-teacher-detail-layout,

	.lp-content-sidebar-layout,

	.lp-reservations-layout {

		grid-template-columns: 1fr;

	}

}



@media (max-width: 1100px) {

	.lp-portal-page {

		padding-left: var(--lp-page-pad-tablet);

		padding-right: var(--lp-page-pad-tablet);

	}



	.lp-portal-header__inner {

		grid-template-columns: 1fr auto;

		min-height: 68px;

	}



	.lp-portal-nav,

	.lp-portal-user {

		display: none;

	}



	.lp-portal-menu-toggle {

		display: block;

		justify-self: end;

	}



	.lp-portal-header__logo img {

		max-height: 52px;

	}



	.lp-page-header,

	.lp-section-header,

	.lp-calendar-header,

	.lp-student-class-selection__header {

		flex-direction: column;

		align-items: stretch;

		gap: var(--lp-space-4);

	}



	.lp-page-actions,

	.lp-button-row {

		justify-content: flex-start;

	}



	.lp-grid--2,

	.lp-grid--70-30,

	.lp-two-column-layout,

	.lp-student-class-layout,

	.lp-grid--main-sidebar,

	.lp-grid--sidebar-main {

		grid-template-columns: 1fr;

	}



	.lp-student-class-layout__sidebar {

		order: 2;

	}



	.lp-student-class-layout__calendar {

		order: 1;

	}



	.lp-form-grid,

	.lp-admin-form-grid {

		grid-template-columns: 1fr;

	}



	.lp-filter-bar,

	.lp-student-class-filters {

		display: grid;

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}



	.lp-filter-select,

	.lp-filter-button,

	.lp-student-class-filters select,

	.lp-search-field {

		width: 100%;

		min-width: 0;

	}

}



@media (max-width: 767px) {

	:root {

		--lp-page-title-size: 21px;

		--lp-card-title-size: 16px;

		--lp-menu-font-size: 13px;

		--lp-button-font-size: 11px;

		--lp-button-primary-width: 170px;

		--lp-button-secondary-width: 160px;

		--lp-button-small-width: 170px;

		--lp-calendar-block-min-height: 120px;

		--lp-calendar-block-title-size: 10px;

		--lp-calendar-block-detail-size: 10px;

		--lp-card-padding: 16px;

		--lp-card-header-padding: 16px;

	}



	.lp-portal-page {

		padding-left: var(--lp-page-pad-mobile);

		padding-right: var(--lp-page-pad-mobile);

		padding-bottom: 28px;

	}



	.lp-portal-header {

		margin-bottom: var(--lp-space-6);

	}



	.lp-portal-header__inner {

		min-height: 62px;

	}



	.lp-portal-header__logo img {

		max-width: 105px;

		max-height: 46px;

	}



	.lp-page-header,

	.lp-section-header,

	.lp-calendar-header,

	.lp-student-class-selection__header {

		margin-bottom: var(--lp-space-5);

	}



	.lp-page-header h1,

	.lp-section-header h1,

	.lp-calendar-header h1,

	.lp-student-class-selection__header h1 {

		font-size: var(--lp-page-title-size);

		line-height: 1.15;

	}



	.lp-card,

	.lp-panel,

	.lp-admin-card,

	.lp-selection-panel,

	.lp-admin-form-card {

		padding: var(--lp-space-4);

	}



	.lp-card--flush,

	.lp-panel--flush {

		padding: 0;

	}



	.lp-dashboard-grid--two,

	.lp-content-sidebar-layout {

		grid-template-columns: 1fr;

	}



	.lp-card__header,

	.lp-panel__header,

	.lp-selection-panel header {

		padding: var(--lp-space-4);

	}



	.lp-card__body,

	.lp-panel__body {

		padding: var(--lp-space-4);

	}



	.lp-page-actions,

	.lp-button-row {

		display: grid;

		grid-template-columns: 1fr;

	}



	.lp-button,

	.lp-button--secondary,

	.lp-submit-request-button {

		width: 90%;

		max-width: 100%;

		justify-self: start;

		white-space: normal;

		text-align: center;

	}



	.lp-filter-bar,

	.lp-student-class-filters {

		grid-template-columns: 1fr;

	}



	/* .lp-table-wrap {

		margin-left: calc(var(--lp-page-pad-mobile) * -1);

		margin-right: calc(var(--lp-page-pad-mobile) * -1);

		padding-left: var(--lp-page-pad-mobile);

		padding-right: var(--lp-page-pad-mobile);

	} */



	.lp-table {

		min-width: 760px;

	}



	.lp-admin-classes-calendar,

	.lp-student-class-calendar {

		padding: var(--lp-space-3);

		overflow-x: visible;

	}



	.lp-admin-classes-calendar .fc,

	.lp-student-class-calendar .fc {

		width: 100%;

		min-width: 0;

	}



	.lp-admin-classes-calendar .fc-daygrid-day-frame,

	.lp-student-class-calendar .fc-daygrid-day-frame {

		min-height: 0;

	}



	.lp-admin-classes-calendar .lp-fc-class-block,

	.lp-student-class-calendar .lp-fc-class-block {

		min-height: var(--lp-calendar-block-min-height);

	}



	.lp-admin-classes-calendar .lp-fc-class-inner,

	.lp-student-class-calendar .lp-fc-class-inner {

		min-height: var(--lp-calendar-block-min-height);

		padding: var(--lp-calendar-block-padding);

	}



	.lp-admin-classes-calendar .lp-fc-class-inner strong,

	.lp-student-class-calendar .lp-fc-class-inner strong {

		font-size: var(--lp-calendar-block-title-size);

	}



	.lp-admin-classes-calendar .lp-fc-class-inner span,

	.lp-student-class-calendar .lp-fc-class-inner span {

		font-size: var(--lp-calendar-block-detail-size);

	}



	.lp-week-nav {

		display: grid;

		grid-template-columns: 44px minmax(0, 1fr) 44px;

		align-items: center;

		width: 100%;

	}



	.lp-week-picker__button {

		width: 100%;

		text-align: center;

	}



	.lp-selected-class-row {

		grid-template-columns: 18px minmax(0, 1fr) 28px;

	}

}

/* =========================================================

   Phase 3.1B - Component Responsive Rules

   ========================================================= */



@media (max-width: 1280px) {

	.lp-inline-fields {

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}



	.lp-profile-info-grid {

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}



	.lp-profile-comment {

		grid-column: 1 / -1;

		padding-left: 0;

		padding-top: var(--lp-space-4);

		border-left: 0;

		border-top: 1px solid var(--lp-border);

	}

}



@media (max-width: 1100px) {

	.lp-card__header,

	.lp-panel__header,

	.lp-selection-panel header,

	.lp-xd-panel__header,

	.lp-class-detail-card__header,

	.lp-class-detail-section__header,

	.lp-admin-terms-card__header,

	.lp-admin-classes-card__header,

	.lp-student-profile-card__header,

	.lp-student-summary-card__header,

	.lp-reservations-card__header,

	.lp-attendance-card__header,

	.lp-payment-card__header,

	.lp-notes-card__header {

		flex-direction: column;

		align-items: flex-start;

	}



	.lp-inline-fields,

	.lp-inline-fields--2,

	.lp-inline-fields--3 {

		grid-template-columns: 1fr;

	}



	.lp-calendar-toolbar,

	.lp-admin-class-filters,

	.lp-student-class-filters {

		display: grid;

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}



	.lp-calendar-toolbar > *,

	.lp-admin-class-filters > *,

	.lp-student-class-filters > * {

		width: 100%;

		min-width: 0;

	}



	.lp-week-nav {

		width: 100%;

		grid-template-columns: 38px minmax(0, 1fr) 38px;

	}



	.lp-week-picker__button {

		width: 100%;

		min-width: 0;

	}

}



@media (max-width: 767px) {

	.lp-card__header,

	.lp-panel__header,

	.lp-selection-panel header,

	.lp-xd-panel__header,

	.lp-class-detail-card__header,

	.lp-class-detail-section__header,

	.lp-admin-terms-card__header,

	.lp-admin-classes-card__header,

	.lp-student-profile-card__header,

	.lp-student-summary-card__header,

	.lp-reservations-card__header,

	.lp-attendance-card__header,

	.lp-payment-card__header,

	.lp-notes-card__header {

		padding: var(--lp-space-4);

	}



	.lp-card__title,

	.lp-panel__title,

	.lp-selection-panel h2,

	.lp-xd-panel__title,

	.lp-class-detail-card__title,

	.lp-class-detail-section__title,

	.lp-admin-terms-card__title,

	.lp-admin-classes-card__title,

	.lp-student-profile-card__title,

	.lp-student-summary-card__title,

	.lp-reservations-card__title,

	.lp-attendance-card__title,

	.lp-payment-card__title,

	.lp-notes-card__title {

		font-size: var(--lp-card-title-size);

	}



	.lp-card__body,

	.lp-panel__body,

	.lp-xd-panel__body,

	.lp-class-detail-card__body,

	.lp-class-detail-section__body,

	.lp-admin-terms-card__body,

	.lp-admin-classes-card__body,

	.lp-student-profile-card__body,

	.lp-student-summary-card__body,

	.lp-reservations-card__body,

	.lp-attendance-card__body,

	.lp-payment-card__body,

	.lp-notes-card__body {

		padding: var(--lp-space-4);

	}



	.lp-calendar-toolbar,

	.lp-admin-class-filters,

	.lp-student-class-filters {

		grid-template-columns: 1fr;

	}



	.lp-profile-info-grid {

		grid-template-columns: 1fr;

	}



	.lp-info-row {

		grid-template-columns: 24px minmax(0, 1fr);

	}



	.lp-side-panel-item {

		grid-template-columns: 1fr;

	}



	.lp-selection-panel > strong,

	.lp-selection-panel > p,

	.lp-selection-panel > div,

	.lp-selection-panel > label,

	.lp-selection-panel > button {

		margin-left: var(--lp-space-4);

		margin-right: var(--lp-space-4);

	}



	.lp-table th,

	.lp-table td,

	.lp-admin-card table th,

	.lp-class-detail-section table th,

	.lp-admin-card table td,

	.lp-class-detail-section table td {

		padding: 11px 14px;

	}

}

/* =========================================================

   Phase 3.1C - Existing Screen Responsive Rules

   ========================================================= */



@media (max-width: 1280px) {

	.lp-class-form-layout,

	.lp-admin-class-form-layout,

	.lp-class-detail-layout,

	.lp-profile-layout {

		grid-template-columns: 1fr;

	}



	.lp-session-calendar-row,

	.lp-occurrence-row {

		grid-template-columns: minmax(0, 1fr) 120px 38px;

	}



	.lp-upcoming-class-item {

		grid-template-columns: 80px minmax(0, 1fr);

	}



	.lp-upcoming-class-item > :last-child {

		grid-column: 1 / -1;

	}

}



@media (max-width: 1100px) {

	.lp-calendar-toolbar {

		display: grid;

		grid-template-columns: 1fr;

		align-items: stretch;

	}



	.lp-calendar-toolbar .lp-button,

	.lp-calendar-toolbar .lp-admin-add-class-button,

	.lp-calendar-toolbar__action {

		margin-left: 0;

	}



	.lp-class-form-actions,

	.lp-admin-class-form-actions {

		justify-content: flex-start;

		flex-wrap: wrap;

	}



	.lp-student-class-layout {

		grid-template-columns: 1fr;

	}



	.lp-student-class-layout__calendar {

		order: 1;

	}



	.lp-student-class-layout__sidebar {

		order: 2;

	}

}



@media (max-width: 767px) {

	.lp-class-form-actions,

	.lp-admin-class-form-actions {

		display: grid;

		grid-template-columns: 1fr;

	}



	.lp-class-form-actions .lp-button,

	.lp-class-form-actions .lp-primary-action,

	.lp-admin-class-form-actions .lp-button,

	.lp-admin-class-form-actions .lp-primary-action {

		width: 90%;

	}



	.lp-session-calendar-row,

	.lp-occurrence-row {

		grid-template-columns: 1fr;

		gap: var(--lp-space-2);

	}



	.lp-upcoming-class-item {

		grid-template-columns: 1fr;

	}



	.lp-selected-class-row {

		grid-template-columns: 18px minmax(0, 1fr) 28px;

	}



	.lp-price-line {

		align-items: center;

	}



	.lp-rule-options label {

		align-items: flex-start;

	}



	.lp-student-class-legend {

		gap: var(--lp-space-3);

	}

	.lp-student-calendar-footer {

		align-items: flex-start;

	}



	.lp-student-calendar-disclaimer {

		max-width: 220px;

	}



	.lp-profile-layout,

	.lp-class-detail-layout {

		gap: var(--lp-space-4);

	}

}

/* =========================================================

   Phase 3.1E - Legacy Compatibility Responsive Rules

   ========================================================= */



@media (max-width: 1100px) {

	.lp-class-builder__grid {

		grid-template-columns: 1fr;

	}



	.lp-class-builder__right {

		position: static;

	}



	.lp-detail-grid {

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}



	.lp-class-form-page__header {

		flex-direction: column;

		align-items: stretch;

	}



	.lp-admin-grid {

		grid-template-columns: 1fr;

	}



	.lp-filter-dropdown__panel {

		position: static;

		min-width: 0;

		width: 100%;

		margin-top: var(--lp-space-2);

	}



	.lp-class-filter {

		display: grid;

		grid-template-columns: 1fr;

	}



	.lp-class-filter label,

	.lp-class-filter select {

		width: 100%;

	}

}



@media (max-width: 900px) {

	.lp-session-calendar__head,

	.lp-session-calendar__row {

		grid-template-columns: 1fr;

	}



	.lp-readonly-grid {

		grid-template-columns: 1fr;

	}

}



@media (max-width: 800px) {

	.lp-upcoming-class-row {

		grid-template-columns: 1fr;

		gap: var(--lp-space-2);

	}



	.lp-upcoming-classes-header {

		flex-direction: column;

	}



	.lp-upcoming-classes-header strong {

		text-align: left;

	}

}



@media (max-width: 767px) {

	.lp-auth__inner {

		padding: var(--lp-space-5);

	}



	.lp-detail-grid {

		grid-template-columns: 1fr;

	}



	.lp-form__actions {

		display: grid;

		grid-template-columns: 1fr;

	}



	.lp-form__actions .lp-button {

		width: 90%;

	}



	.lp-inline-form {

		display: grid;

		grid-template-columns: 1fr;

	}



	.lp-inline-form input[type="text"] {

		min-width: 0;

		width: 100%;

	}

}

/* =========================================================

   Phase 3.1E Fix - Missing Responsive Legacy Rules

   ========================================================= */



@media (max-width: 1100px) {

	.lp-student-class-selection__header--with-action,

	.lp-dashboard-shell__header {

		flex-direction: column;

		align-items: stretch;

	}



	.lp-admin-calendar {

		overflow-x: auto;

	}

}



@media (max-width: 900px) {

	.lp-admin-main-column,

	.lp-admin-side-column {

		width: 100%;

	}

}



@media (max-width: 700px) {

	.lp-dashboard-shell__header {

		align-items: flex-start;

	}



	.lp-dashboard-shell__nav-list {

		display: grid;

		grid-template-columns: 1fr;

	}

}

/* =========================================================

   Phase 3.1H.2 - Icon / Tooltip Responsive

   ========================================================= */



@media (max-width: 767px) {

	.lp-filter-select-wrap,

	.lp-filter-dropdown summary {

		width: 100%;

		min-width: 0;

	}



	.lp-student-class-filters {

		display: grid;

		grid-template-columns: 1fr;

	}



	.lp-selection-panel header {

		display: grid;

		grid-template-columns: minmax(0, 1fr);

		gap: var(--lp-space-3);

	}



	.lp-tooltip {

		margin-left: 0;

	}



	.lp-tooltip__content,

	.lp-tooltip__content--wide {

		left: 0;

		right: auto;

		width: min(360px, calc(100vw - 40px));

	}



	.lp-submit-note {

		grid-template-columns: 24px minmax(0, 1fr);

	}

}

/* =========================================================

   Phase 3.1H.3 - Student Profile Responsive

   ========================================================= */



@media (max-width: 1280px) {

	.lp-profile-info-grid {

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}



	.lp-profile-info-item--note {

		grid-column: 1 / -1;

		grid-row: auto;

		padding-left: 0;

		padding-top: var(--lp-space-5);

		border-left: 0;

		border-top: 1px solid var(--lp-border);

	}

}



@media (max-width: 900px) {

	.lp-profile-summary-list--security {

		grid-template-columns: 1fr;

	}

}



@media (max-width: 767px) {

	.lp-profile-box__header {

		display: grid;

		grid-template-columns: 1fr;

		align-items: start;

	}



	.lp-profile-info-grid {

		grid-template-columns: 1fr;

		gap: var(--lp-space-5);

	}



	.lp-profile-summary-list div {

		grid-template-columns: 1fr;

	}



	.lp-profile-summary-list dd {

		text-align: left;

	}



	.lp-profile-save-button {

		justify-self: start;

	}

}

/* Phase 4 responsive adjustments */

@media (max-width: 1500px) {

	.lp-app-detail-layout {

		grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);

	}



	.lp-app-detail-main {

		order: 1;

	}



	.lp-app-payment-panel {

		order: 2;

	}



	.lp-app-detail-sidebar {

		order: 3;

		grid-column: 1 / -1;

		display: grid;

		grid-template-columns: repeat(3, minmax(0, 1fr));

		gap: var(--lp-space-5);

	}



	.lp-app-info-box {

		margin: 0;

	}



	.lp-app-request-item {

		grid-template-columns: 32px minmax(0, 1fr) minmax(120px, auto);

	}



	.lp-app-class-capacity,

	.lp-app-class-price,

	.lp-app-class-decision,

	.lp-app-refusal-note {

		grid-column: 2 / -1;

	}

}



@media (max-width: 900px) {

	.lp-page-header,

	.lp-app-toolbar,

	.lp-app-filter-form,

	.lp-app-review-footer {

		flex-direction: column;

		align-items: stretch;

	}



	.lp-app-search {

		width: 100%;

		min-width: 0;

		margin-left: 0;

	}



	.lp-table-wrap,

	.lp-app-table-wrap,

	.lp-reservations-table-wrap {

		overflow-x: visible;

	}



	.lp-table,

	.lp-app-table,

	.lp-reservations-table {

		min-width: 0;

	}



	.lp-app-detail-layout,

	.lp-reservations-layout {

		grid-template-columns: 1fr;

	}



	.lp-app-detail-main {

		order: 1;

	}



	.lp-app-payment-panel {

		order: 2;

	}



	.lp-app-detail-sidebar {

		order: 3;

		display: grid;

		grid-template-columns: 1fr;

		gap: var(--lp-space-5);

	}



	.lp-app-info-box {

		margin: 0;

	}

}



@media (max-width: 1024px) {

	.lp-responsive-card-table {

		border-spacing: 0 var(--lp-space-4);

	}



	.lp-responsive-card-table thead {

		display: none;

	}



	.lp-responsive-card-table,

	.lp-responsive-card-table tbody,

	.lp-responsive-card-table tr,

	.lp-responsive-card-table td {

		display: block;

		width: 100%;

	}



	.lp-responsive-card-table tr {

		border: 1px solid var(--lp-border);

		border-radius: var(--lp-radius-lg);

		background: var(--lp-surface);

		overflow: hidden;

	}



	.lp-responsive-card-table td {

		border: 0;

		border-bottom: 1px solid var(--lp-border);

		padding: var(--lp-space-4);

	}



	.lp-responsive-card-table td:last-child {

		border-bottom: 0;

	}



	.lp-responsive-card-table td[data-label] {

		display: grid;

		grid-template-columns: minmax(105px, 32%) minmax(0, 1fr);

		gap: var(--lp-space-4);

		align-items: start;

	}



	.lp-responsive-card-table td[data-label]::before {

		content: attr(data-label);

		font-size: var(--lp-table-header-size);

		font-weight: 900;

		line-height: 1.3;

		color: var(--lp-text-muted);

		text-transform: uppercase;

		letter-spacing: 0.08em;

	}



	.lp-responsive-card-table td[colspan] {

		display: block;

	}



	.lp-responsive-card-table td[colspan]::before {

		display: none;

		content: none;

	}



	.lp-responsive-card-table .lp-action-outline-button,

	.lp-responsive-card-table .lp-app-review-button,

	.lp-responsive-card-table .lp-attendance-table-button,

	.lp-responsive-card-table .lp-class-detail-action-button {

		width: 100%;

		justify-content: center;

	}



	.lp-responsive-card-table .lp-app-method-select,

	.lp-responsive-card-table .lp-app-payment-date {

		width: 100%;

	}

}



@media (max-width: 640px) {

	.lp-responsive-card-table td[data-label] {

		grid-template-columns: 1fr;

		gap: var(--lp-space-2);

	}

}



@media (max-width: 640px) {

	.lp-app-request-item {

		grid-template-columns: 32px minmax(0, 1fr);

	}



	.lp-app-class-capacity,

	.lp-app-class-price,

	.lp-app-class-decision,

	.lp-app-refusal-note {

		grid-column: 2 / -1;

	}



	.lp-app-decision-buttons {

		flex-direction: column;

		align-items: stretch;

	}



	.lp-app-decision-button {

		width: 100%;

	}

}

/* =========================================================

   Post Phase 12 - Public Login Page Responsive

   ========================================================= */



.lp-portal-page.lp-portal-page--public-auth {

	min-height: auto;

	padding-left: 0;

	padding-right: 0;

	padding-bottom: 0;

	background: transparent;

}



@media (max-width: 1100px) {

	.lp-auth.lp-auth--login {

		min-height: 760px;

	}



	.lp-auth-login-hero {

		min-height: 430px;

	}



	.lp-auth-login-card {

		width: min(540px, calc(100vw - 48px));

		min-height: 460px;

		margin-top: -215px;

		padding: 58px;

	}

}



@media (max-width: 767px) {

	.lp-portal-page.lp-portal-page--public-auth {

		padding-left: 0;

		padding-right: 0;

		padding-bottom: 0;

	}



	.lp-auth.lp-auth--login {

		min-height: auto;

	}



	.lp-auth-login-hero {

		min-height: 300px;

	}



	.lp-auth-login-card {

		width: calc(100vw - 32px);

		min-height: auto;

		margin-top: -120px;

		padding: 42px 30px;

	}



	.lp-auth-login-form__meta {

		align-items: flex-start;

	}



	.lp-auth-login-form__submit.lp-button {

		width: 100%;

	}

}



@media (max-width: 480px) {

	.lp-auth-login-hero {

		min-height: 260px;

	}



	.lp-auth-login-card {

		width: calc(100vw - 24px);

		margin-top: -96px;

		padding: 34px 22px;

	}



	.lp-auth-login-form {

		gap: 15px;

	}



	.lp-auth-login-form__meta {

		display: grid;

		grid-template-columns: 1fr;

		gap: 10px;

	}



	.lp-auth-login-form__forgot {

		justify-self: start;

	}

}



/* =========================================================

   Post Phase 12 - Public Register Page Responsive

   ========================================================= */



@media (max-width: 1100px) {

	.lp-auth-register-card {

		width: min(540px, calc(100vw - 48px));

		margin-top: -215px;

		padding: 58px;

	}

}



@media (max-width: 767px) {

	.lp-auth-register-card {

		width: calc(100vw - 32px);

		margin-top: -120px;

		padding: 42px 30px;

	}



	.lp-auth-register-grid {

		grid-template-columns: 1fr;

	}



	.lp-auth-register-field--full {

		grid-column: auto;

	}



	.lp-auth-register-language {

		align-items: flex-start;

		gap: 8px 12px;

	}



	.lp-auth-register-submit.lp-button {

		width: 100%;

	}

}



@media (max-width: 480px) {

	.lp-auth-register-card {

		width: calc(100vw - 24px);

		margin-top: -96px;

		padding: 34px 22px;

	}



	.lp-auth-register-form {

		gap: 13px;

	}



	.lp-auth-register-language {

		display: grid;

		grid-template-columns: 1fr;

	}



	.lp-auth-register-language span {

		margin-right: 0;

	}

}

@media (max-width: 1100px) {

	.lp-app-toolbar {

		display: grid;

		grid-template-columns: 1fr;

		gap: var(--lp-space-3);

		align-items: stretch;

	}



	.lp-app-filter-form.lp-student-class-filters {

		display: grid;

		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: var(--lp-space-3);

		width: 100%;

		height: auto;

		align-items: stretch;

	}



	.lp-app-filter-form.lp-student-class-filters .lp-filter-select,

	.lp-app-filter-form.lp-student-class-filters .choices,

	.lp-app-filter-form.lp-student-class-filters .lp-action-outline-button,

	.lp-app-filter-form.lp-student-class-filters .lp-app-search {

		width: 100%;

		min-width: 0;

		max-width: none;

		margin: 0;

	}



	.lp-app-filter-form.lp-student-class-filters .lp-action-outline-button,

	.lp-app-history-button {

		justify-content: center;

	}



	.lp-app-history-button {

		width: 100%;

	}

}



@media (max-width: 767px) {

	.lp-app-filter-form.lp-student-class-filters {

		grid-template-columns: repeat(2, minmax(0, 1fr));

	}



	.lp-app-filter-form.lp-student-class-filters .lp-app-search {

		grid-column: 1 / -1;

	}



	.lp-app-history-button {

		grid-column: 1 / -1;

	}

}



@media (max-width: 480px) {

	.lp-app-filter-form.lp-student-class-filters {

		grid-template-columns: 1fr;

	}

}

@media (max-width: 1360px) {

	.lp-app-table-wrap {

		padding: 0;

		border: 0;

		background: transparent;

		overflow-x: visible;

	}



	.lp-app-table.lp-responsive-card-table {

		display: block;

		width: 100%;

		min-width: 0;

		border-collapse: separate;

		border-spacing: 0;

	}



	.lp-app-table.lp-responsive-card-table thead {

		display: none;

	}



	.lp-app-table.lp-responsive-card-table tbody {

		display: flex;

		flex-direction: column;

		gap: var(--lp-space-7);

		width: 100%;

	}



	.lp-app-table.lp-responsive-card-table tr,

	.lp-app-table.lp-responsive-card-table td {

		display: block;

		width: 100%;

	}



	.lp-app-table.lp-responsive-card-table tr {

		border: 1px solid var(--lp-border);

		border-radius: var(--lp-radius-lg);

		background: var(--lp-surface);

		overflow: hidden;

	}



	.lp-app-table.lp-responsive-card-table td,

	.lp-app-table.lp-responsive-card-table td + td,

	.lp-app-table.lp-responsive-card-table td:nth-child(5),

	.lp-app-table.lp-responsive-card-table td:nth-child(6),

	.lp-app-table.lp-responsive-card-table td:nth-child(7),

	.lp-app-table.lp-responsive-card-table td:nth-child(8),

	.lp-app-table.lp-responsive-card-table td:has(.lp-state-block),

	.lp-app-table.lp-responsive-card-table td:has(.lp-state-select),

	.lp-app-table.lp-responsive-card-table td:has(.lp-status-dropdown) {

		display: block;

		padding: var(--lp-space-4);

		border-left: 0;

		border-right: 0;

		border-bottom: 1px solid var(--lp-border-light);

		background: var(--lp-surface);

	}



	.lp-app-table.lp-responsive-card-table td:last-child {

		border-bottom: 0;

	}



	.lp-app-table.lp-responsive-card-table td[data-label] {

		display: grid;

		grid-template-columns: minmax(105px, 32%) minmax(0, 1fr);

		gap: var(--lp-space-4);

		align-items: center;

	}



	.lp-app-table.lp-responsive-card-table td[data-label]::before {

		content: attr(data-label);

		font-size: var(--lp-table-header-size);

		font-weight: 900;

		line-height: 1.3;

		color: var(--lp-text-muted);

		text-transform: uppercase;

		letter-spacing: 0.08em;

	}



	.attendace-admin-fx tbody tr td:first-child {

		padding: var(--lp-space-4);

	}



	.lp-app-table.lp-responsive-card-table .lp-state-block,

	.lp-app-table.lp-responsive-card-table .lp-status-dropdown,

	.lp-app-table.lp-responsive-card-table .lp-app-method-select,

	.lp-app-table.lp-responsive-card-table .lp-app-payment-date,

	.lp-app-table.lp-responsive-card-table .lp-app-review-button {

		width: 100%;

	}

}

@media (max-width: 640px) {

	.lp-app-table.lp-responsive-card-table td[data-label] {

		grid-template-columns: 1fr;

		align-items: stretch;

	}

}

@media (max-width: 1100px) {

	.lp-portal-header {

		width: auto;

		margin-left: calc(var(--lp-page-pad-tablet) * -1);

		margin-right: calc(var(--lp-page-pad-tablet) * -1);

	}



	.lp-portal-header__inner {

		box-sizing: border-box;

		padding-left: var(--lp-page-pad-tablet);

		padding-right: var(--lp-page-pad-tablet);

	}

}



@media (max-width: 767px) {

	.lp-portal-header {

		margin-left: calc(var(--lp-page-pad-mobile) * -1);

		margin-right: calc(var(--lp-page-pad-mobile) * -1);

	}



	.lp-portal-header__inner {

		padding-left: var(--lp-page-pad-mobile);

		padding-right: var(--lp-page-pad-mobile);

	}

}



@media (max-width: 1100px) {

	html,

	body,

	.lp-portal-shell,

	.lp-portal-main,

	.lp-portal-page {

		max-width: 100%;

		overflow-x: hidden;

	}

}

@media (max-width: 900px) {

	.lp-app-review-footer {

		grid-template-columns: 1fr;

		align-items: stretch;

		gap: var(--lp-space-3);

	}



	.lp-app-send-button {

		width: 100%;

		min-width: 0;

		justify-content: center;

		order: 1;

	}



	.lp-app-warning {

		order: 2;

		height: auto;

		min-height: 48px;

		align-items: flex-start;

		padding: var(--lp-space-3);

	}

}

@media (max-width: 1210px) and (min-width: 901px) {

	.lp-app-warning {

		height: auto;

		min-height: 48px;

		align-items: flex-start;

		padding-top: var(--lp-space-2);

		padding-bottom: var(--lp-space-2);

	}

}

@media (max-width: 1100px) {

	.lp-reservations-main > .lp-student-class-filters {

		display: grid;

		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: var(--lp-space-3);

		align-items: stretch;

	}



	.lp-reservations-main > .lp-student-class-filters .lp-filter-select,

	.lp-reservations-main > .lp-student-class-filters .choices,

	.lp-reservations-main > .lp-student-class-filters .lp-button {

		width: 100%;

		min-width: 0;

		max-width: none;

		margin: 0;

		justify-content: center;

	}

}



@media (max-width: 520px) {

	.lp-reservations-main > .lp-student-class-filters {

		grid-template-columns: 1fr;

	}

}

@media (max-width: 1100px) and (min-width: 641px) {

	.lp-class-detail-students-card > .lp-card__header {

		flex-direction: row;

		align-items: center;

		justify-content: space-between;

	}

}



@media (max-width: 640px) {

	.lp-class-detail-students-card > .lp-card__header {

		flex-direction: column;

		align-items: stretch;

	}



	.lp-class-detail-students-card > .lp-card__header .lp-action-outline-button {

		width: 100%;

		justify-content: center;

	}

}

@media (max-width: 1024px) {

	.lp-responsive-card-table:not(.lp-app-table) {

		display: block;

		width: 100%;

		min-width: 0;

		border-collapse: separate;

		border-spacing: 0;

	}



	.lp-responsive-card-table:not(.lp-app-table) thead {

		display: none;

	}



	.lp-responsive-card-table:not(.lp-app-table) tbody {

		display: flex;

		flex-direction: column;

		gap: var(--lp-space-7);

		width: 100%;

	}



	.lp-responsive-card-table:not(.lp-app-table) tr,

	.lp-responsive-card-table:not(.lp-app-table) td {

		display: block;

		width: 100%;

	}



	.lp-responsive-card-table:not(.lp-app-table) tr[hidden] {

		display: none !important;

	}



	.lp-responsive-card-table:not(.lp-app-table) tr {

		border: 1px solid var(--lp-border);

		border-radius: var(--lp-radius-lg);

		background: var(--lp-surface);

		overflow: hidden;

	}



	.lp-responsive-card-table:not(.lp-app-table) td,

	.lp-responsive-card-table:not(.lp-app-table) td + td {

		padding: var(--lp-space-4);

		border-left: 0;

		border-right: 0;

		border-bottom: 1px solid var(--lp-border-light);

		background: var(--lp-surface);

	}



	.lp-responsive-card-table:not(.lp-app-table) td:last-child {

		border-bottom: 0;

	}



	.lp-responsive-card-table:not(.lp-app-table) td[data-label] {

		display: grid;

		grid-template-columns: minmax(105px, 32%) minmax(0, 1fr);

		gap: var(--lp-space-4);

		align-items: center;

		padding: var(--lp-space-4);

	}



	.lp-responsive-card-table:not(.lp-app-table) td[data-label]::before {

		content: attr(data-label);

		font-size: var(--lp-table-header-size);

		font-weight: 900;

		line-height: 1.3;

		color: var(--lp-text-muted);

		text-transform: uppercase;

		letter-spacing: 0.08em;

	}



	.lp-table-wrap:has(.lp-responsive-card-table),

	.lp-reservations-table-wrap,

	.lp-class-detail-table-wrap,

	.lp-admin-teacher-classes-table-wrap,

	.lp-admin-teachers-table-wrap {

		padding: 0;

		border: 0;

		background: transparent;

		overflow-x: visible;

	}



	.lp-responsive-card-table:not(.lp-app-table) .lp-action-outline-button,

	.lp-responsive-card-table:not(.lp-app-table) .lp-class-detail-action-button {

		width: 100%;

		justify-content: center;

	}

}



@media (max-width: 640px) {

	.lp-responsive-card-table:not(.lp-app-table) td[data-label] {

		grid-template-columns: 1fr;

		gap: var(--lp-space-2);

		align-items: stretch;

	}

}

@media (max-width: 1024px) {
	.lp-class-detail-students-card,
	.lp-admin-teacher-classes-card,
	.lp-student-my-classes-overview .lp-admin-student-profile-card {

		border: 0;

		background: transparent;

		box-shadow: none;

	}



	.lp-class-detail-students-card > .lp-card__header,
	.lp-student-my-classes-overview .lp-admin-student-profile-card > .lp-card__header {

		border: 1px solid var(--lp-border);

		background: var(--lp-surface);

		border-bottom: 0;

	}



	.lp-admin-teacher-classes-card > .lp-admin-teacher-classes-table-wrap,
	.lp-class-detail-students-card > .lp-class-detail-table-wrap,
	.lp-student-my-classes-overview .lp-admin-student-profile-card > .lp-card__body {

		padding: 0;

		border: 0;

		background: transparent;

	}

	.lp-admin-teacher-classes-card > .lp-admin-teacher-classes-table-wrap {

		margin-left:0;

	}

}

@media (max-width: 1024px) {

	.lp-attendance-list-table.lp-responsive-card-table .lp-attendance-table-button,

	.lp-admin-terms-list-card .lp-responsive-card-table .lp-action-outline-button {

		width: 100%;

		justify-content: center;

	}



	.lp-admin-terms-list-card .lp-responsive-card-table .lp-admin-terms-actions {

		width: 100%;

	}



	.lp-admin-terms-list-card .lp-responsive-card-table .lp-admin-terms-actions form,

	.lp-admin-terms-list-card .lp-responsive-card-table .lp-admin-terms-actions button {

		width: 100%;

	}

}

@media (max-width: 1024px) {

	.lp-attendance-taking-table.lp-attendance-taking-card-table {

		display: block;

		width: 100%;

		min-width: 0;

		border: 0;

		border-collapse: separate;

		border-spacing: 0;

		background: transparent;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table thead {

		display: none;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table tbody {

		display: flex;

		flex-direction: column;

		gap: var(--lp-space-7);

		width: 100%;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table tr,

	.lp-attendance-taking-table.lp-attendance-taking-card-table td {

		display: block;

		width: 100%;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table tr {

		border: 1px solid var(--lp-border);

		border-radius: var(--lp-radius-lg);

		background: var(--lp-surface);

		overflow: hidden;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table td,

	.lp-attendance-taking-table.lp-attendance-taking-card-table td + td,

	.lp-attendance-taking-table.lp-attendance-taking-card-table td:nth-child(2),

	.lp-attendance-taking-table.lp-attendance-taking-card-table td:nth-child(5),

	.lp-attendance-taking-table.lp-attendance-taking-card-table tbody tr td:last-child {

		padding: var(--lp-space-4);

		border-left: 0;

		border-right: 0;

		border-bottom: 1px solid var(--lp-border-light);

		background: var(--lp-surface);

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table td:last-child {

		border-bottom: 0;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table td[data-label] {

		display: grid;

		grid-template-columns: minmax(105px, 32%) minmax(0, 1fr);

		gap: var(--lp-space-4);

		align-items: center;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table td[data-label]::before {

		content: attr(data-label);

		font-size: var(--lp-table-header-size);

		font-weight: 900;

		line-height: 1.3;

		color: var(--lp-text-muted);

		text-transform: uppercase;

		letter-spacing: 0.08em;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table .lp-state-block,

	.lp-attendance-taking-table.lp-attendance-taking-card-table .lp-attendance-note-field,

	.lp-attendance-taking-table.lp-attendance-taking-card-table .lp-form-control {

		width: 100%;

		max-width: none;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table .lp-attendance-note-field {

		align-items: flex-start;

	}



	.lp-attendance-taking-table.lp-attendance-taking-card-table textarea[data-lp-attendance-note] {

		min-height: 76px;

	}

}



@media (max-width: 640px) {

	.lp-attendance-taking-table.lp-attendance-taking-card-table td[data-label] {

		grid-template-columns: 1fr;

		gap: var(--lp-space-2);

		align-items: stretch;

	}

}

@media (max-width: 520px) {

	.lp-attendance-inner-toolbar {

		display: grid;

		grid-template-columns: 1fr;

		gap: var(--lp-space-3);

		width: 100%;

	}



	.lp-attendance-select-label,

	.lp-attendance-class-select,

	.lp-attendance-occurrence-box {

		width: 100% !important;

		min-width: 0;

		max-width: none;

	}



	.lp-attendance-occurrence-box {

		white-space: normal;

		text-align: center;

		line-height: 1.4;

		padding-top: var(--lp-space-2);

		padding-bottom: var(--lp-space-2);

	}



	.lp-attendance-calendar-toolbar {

		display: grid;

		grid-template-columns: 1fr;

		gap: var(--lp-space-3);

		align-items: stretch;

	}



	.lp-attendance-calendar-toolbar .lp-week-nav,

	.lp-attendance-calendar-toolbar .lp-week-picker,

	.lp-attendance-calendar-toolbar .lp-week-picker__button,

	.lp-attendance-save-button {

		width: 100%;

		min-width: 0;

		margin: 0;

		justify-content: center;

	}

}

/* Student profile responsive alignment with approved admin student profile pattern */

@media (max-width: 1280px) and (min-width: 1101px) {
	.lp-student-profile-page .lp-profile-main .lp-profile-info-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(240px, 1.3fr);
	}

	.lp-student-profile-page .lp-profile-main .lp-profile-info-item--note {
		grid-column: 4;
		grid-row: 1 / span 2;
		padding-left: var(--lp-space-5);
		padding-top: 0;
		border-left: 1px solid var(--lp-border);
		border-top: 0;
	}
}

@media (max-width: 1100px) {
	.lp-student-profile-page .lp-profile-main .lp-profile-info-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lp-student-profile-page .lp-profile-main .lp-profile-info-item--note {
		grid-column: 1 / -1;
		grid-row: auto;
		padding-left: 0;
		padding-top: var(--lp-space-4);
		border-left: 0;
		border-top: 1px solid var(--lp-border);
	}
}

@media (max-width: 900px) {
	.lp-student-profile-page .lp-profile-main .lp-profile-info-grid,
	.lp-student-profile-page .lp-profile-summary-list--security {
		grid-template-columns: 1fr;
	}

	.lp-student-profile-page .lp-profile-main .lp-profile-info-item--note {
		padding-top: 0;
		border-top: 0;
	}

	.lp-student-profile-page .lp-profile-box__header {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--lp-space-3);
		align-items: start;
	}

	.lp-student-profile-page .lp-profile-box__edit,
	.lp-student-profile-page .lp-profile-save-button,
	.lp-student-profile-page .lp-table-action {
		width: 100%;
		justify-content: center;
	}

	.lp-student-profile-page .lp-profile-summary-list div {
		grid-template-columns: 1fr;
	}

	.lp-student-profile-page .lp-profile-summary-list dd {
		text-align: left;
	}
}
@media (max-width: 1100px) {
	.lp-student-class-selection .lp-student-class-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lp-student-class-selection .lp-student-class-filters > *,
	.lp-student-class-selection .lp-student-class-filters select,
	.lp-student-class-selection .lp-student-class-filters .choices,
	.lp-student-class-selection .lp-student-class-filters .choices__inner {
		min-width: 0;
		width: 100%;
	}
}

@media (max-width: 640px) {
	.lp-student-class-selection .lp-student-class-filters {
		grid-template-columns: 1fr;
	}

	.lp-student-class-selection .lp-submit-request-button {
		width: 100%;
		justify-content: center;
	}
}
@media (max-width: 900px) {

	.lp-student-my-classes-overview .lp-calendar-toolbar {
		display: flex;
		flex-direction: column;
		gap: var(--lp-space-4);
	}

	.lp-student-my-classes-overview .lp-calendar-toolbar__action {
		order: 1;
		width: 100%;
	}

	.lp-student-my-classes-overview .lp-week-nav {
		order: 2;
		width: 100%;
	}

}
@media (max-width: 1024px) {
	.lp-attendance-taking-card-table td[data-label="Student"] .lp-checkbox-label {
		display: flex;
		flex-direction: row;
		align-content: center;
		justify-content: flex-start;
		align-items: center;
		gap: 10px;
	}
}

@media (max-width: 1360px) {
	.lp-teacher-attendance-screen:not([data-lp-attendance-inner]) .lp-attendance-list-table.lp-responsive-card-table td[data-label="Classes"] {
		padding: var(--lp-space-4);
	}
}

/* Admin student permanent deletion */

@media (max-width: 767px) {
	.lp-student-delete-actions {
		width: 100%;
		justify-content: stretch;
	}

	.lp-student-delete-actions .lp-button {
		width: 100%;
	}

	.lp-student-delete-modal__counts {
		grid-template-columns: 1fr;
	}

	.lp-student-delete-modal__warning {
		flex-direction: column;
	}

	.lp-student-delete-modal__footer {
		flex-direction: column-reverse;
	}

	.lp-student-delete-modal__footer .lp-button {
		width: 100%;
	}
}