@font-face {
	font-display: swap;
	font-family: "Cairo";
	font-style: normal;
	font-weight: 400 900;
	src: url("/assets/twins_next_main/fonts/Cairo-Variable.ttf") format("truetype");
}

:root {
	--twins-portal-primary: #204e84;
	--twins-portal-accent: #19a66e;
	--twins-portal-bg: #f5f7fb;
	--twins-portal-border: #dfe6ef;
	--twins-portal-muted: #637083;
	--twins-portal-card: #ffffff;
	--twins-portal-text: #1f2d3d;
	--twins-portal-heading: #0f172a;
	--twins-portal-on-primary: #ffffff;
	--twins-portal-link: #204e84;
	--twins-portal-danger: #d92d20;
	--twins-portal-font: "Cairo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.twins-portal {
	background: var(--twins-portal-bg);
	border-radius: 24px;
	margin: 0 auto 48px;
	max-width: 1180px;
	padding: 24px;
}

body[data-path="portal"],
body[data-path="customer-portal"],
body[data-path="supplier-portal"],
body[data-path^="orders"],
body[data-path^="invoices"],
body[data-path^="quotations"],
body[data-path^="shipments"],
body[data-path^="project"],
body[data-path^="issues"],
body[data-path^="addresses"],
body[data-path^="rfq"],
body[data-path^="supplier-quotations"],
body[data-path^="purchase-orders"],
body[data-path^="purchase-invoices"],
body[data-path^="material-requests"],
body[data-path^="timesheets"] {
	background: var(--twins-portal-bg);
}

body[data-path="portal"] .container,
body[data-path="customer-portal"] .container,
body[data-path="supplier-portal"] .container,
body[data-path^="orders"] .container,
body[data-path^="invoices"] .container,
body[data-path^="quotations"] .container,
body[data-path^="shipments"] .container,
body[data-path^="project"] .container,
body[data-path^="issues"] .container,
body[data-path^="addresses"] .container,
body[data-path^="rfq"] .container,
body[data-path^="supplier-quotations"] .container,
body[data-path^="purchase-orders"] .container,
body[data-path^="purchase-invoices"] .container,
body[data-path^="material-requests"] .container,
body[data-path^="timesheets"] .container {
	max-width: 1240px;
}

body[data-path="portal"] .page-content-wrapper,
body[data-path="customer-portal"] .page-content-wrapper,
body[data-path="supplier-portal"] .page-content-wrapper,
body[data-path^="orders"] .page-content-wrapper,
body[data-path^="invoices"] .page-content-wrapper,
body[data-path^="quotations"] .page-content-wrapper,
body[data-path^="shipments"] .page-content-wrapper,
body[data-path^="project"] .page-content-wrapper,
body[data-path^="issues"] .page-content-wrapper,
body[data-path^="addresses"] .page-content-wrapper,
body[data-path^="rfq"] .page-content-wrapper,
body[data-path^="supplier-quotations"] .page-content-wrapper,
body[data-path^="purchase-orders"] .page-content-wrapper,
body[data-path^="purchase-invoices"] .page-content-wrapper,
body[data-path^="material-requests"] .page-content-wrapper,
body[data-path^="timesheets"] .page-content-wrapper {
	padding-bottom: 40px;
}

body[data-path="portal"] .main-column,
body[data-path="customer-portal"] .main-column,
body[data-path="supplier-portal"] .main-column,
body[data-path^="orders"] .main-column,
body[data-path^="invoices"] .main-column,
body[data-path^="quotations"] .main-column,
body[data-path^="shipments"] .main-column,
body[data-path^="project"] .main-column,
body[data-path^="issues"] .main-column,
body[data-path^="addresses"] .main-column,
body[data-path^="rfq"] .main-column,
body[data-path^="supplier-quotations"] .main-column,
body[data-path^="purchase-orders"] .main-column,
body[data-path^="purchase-invoices"] .main-column,
body[data-path^="material-requests"] .main-column,
body[data-path^="timesheets"] .main-column {
	padding-top: 18px;
}

body[data-path="portal"] .web-sidebar,
body[data-path="customer-portal"] .web-sidebar,
body[data-path="supplier-portal"] .web-sidebar,
body[data-path^="orders"] .web-sidebar,
body[data-path^="invoices"] .web-sidebar,
body[data-path^="quotations"] .web-sidebar,
body[data-path^="shipments"] .web-sidebar,
body[data-path^="project"] .web-sidebar,
body[data-path^="issues"] .web-sidebar,
body[data-path^="addresses"] .web-sidebar,
body[data-path^="rfq"] .web-sidebar,
body[data-path^="supplier-quotations"] .web-sidebar,
body[data-path^="purchase-orders"] .web-sidebar,
body[data-path^="purchase-invoices"] .web-sidebar,
body[data-path^="material-requests"] .web-sidebar,
body[data-path^="timesheets"] .web-sidebar {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.06);
	margin-top: 42px;
	padding: 14px;
	position: sticky;
	top: 76px;
}

body[data-path="portal"] .web-sidebar .sidebar-item a,
body[data-path="customer-portal"] .web-sidebar .sidebar-item a,
body[data-path="supplier-portal"] .web-sidebar .sidebar-item a,
body[data-path^="orders"] .web-sidebar .sidebar-item a,
body[data-path^="invoices"] .web-sidebar .sidebar-item a,
body[data-path^="quotations"] .web-sidebar .sidebar-item a,
body[data-path^="shipments"] .web-sidebar .sidebar-item a,
body[data-path^="project"] .web-sidebar .sidebar-item a,
body[data-path^="issues"] .web-sidebar .sidebar-item a,
body[data-path^="addresses"] .web-sidebar .sidebar-item a,
body[data-path^="rfq"] .web-sidebar .sidebar-item a,
body[data-path^="supplier-quotations"] .web-sidebar .sidebar-item a,
body[data-path^="purchase-orders"] .web-sidebar .sidebar-item a,
body[data-path^="purchase-invoices"] .web-sidebar .sidebar-item a,
body[data-path^="material-requests"] .web-sidebar .sidebar-item a,
body[data-path^="timesheets"] .web-sidebar .sidebar-item a {
	border-radius: 12px;
	color: var(--twins-portal-muted);
	display: block;
	font-weight: 650;
	padding: 10px 12px;
}

body[data-path="portal"] .web-sidebar .sidebar-item a:hover,
body[data-path="customer-portal"] .web-sidebar .sidebar-item a:hover,
body[data-path="supplier-portal"] .web-sidebar .sidebar-item a:hover,
body[data-path^="orders"] .web-sidebar .sidebar-item a:hover,
body[data-path^="invoices"] .web-sidebar .sidebar-item a:hover,
body[data-path^="quotations"] .web-sidebar .sidebar-item a:hover,
body[data-path^="shipments"] .web-sidebar .sidebar-item a:hover,
body[data-path^="project"] .web-sidebar .sidebar-item a:hover,
body[data-path^="issues"] .web-sidebar .sidebar-item a:hover,
body[data-path^="addresses"] .web-sidebar .sidebar-item a:hover,
body[data-path^="rfq"] .web-sidebar .sidebar-item a:hover,
body[data-path^="supplier-quotations"] .web-sidebar .sidebar-item a:hover,
body[data-path^="purchase-orders"] .web-sidebar .sidebar-item a:hover,
body[data-path^="purchase-invoices"] .web-sidebar .sidebar-item a:hover,
body[data-path^="material-requests"] .web-sidebar .sidebar-item a:hover,
body[data-path^="timesheets"] .web-sidebar .sidebar-item a:hover {
	background: #f2f7ff;
	color: var(--twins-portal-primary);
	text-decoration: none;
}

body[data-path="portal"] .web-sidebar .sidebar-item a.active,
body[data-path="customer-portal"] .web-sidebar .sidebar-item a.active,
body[data-path="supplier-portal"] .web-sidebar .sidebar-item a.active,
body[data-path^="orders"] .web-sidebar .sidebar-item a.active,
body[data-path^="invoices"] .web-sidebar .sidebar-item a.active,
body[data-path^="quotations"] .web-sidebar .sidebar-item a.active,
body[data-path^="shipments"] .web-sidebar .sidebar-item a.active,
body[data-path^="project"] .web-sidebar .sidebar-item a.active,
body[data-path^="issues"] .web-sidebar .sidebar-item a.active,
body[data-path^="addresses"] .web-sidebar .sidebar-item a.active,
body[data-path^="rfq"] .web-sidebar .sidebar-item a.active,
body[data-path^="supplier-quotations"] .web-sidebar .sidebar-item a.active,
body[data-path^="purchase-orders"] .web-sidebar .sidebar-item a.active,
body[data-path^="purchase-invoices"] .web-sidebar .sidebar-item a.active,
body[data-path^="material-requests"] .web-sidebar .sidebar-item a.active,
body[data-path^="timesheets"] .web-sidebar .sidebar-item a.active {
	background: var(--twins-portal-primary);
	color: #ffffff;
}

body[data-path="portal"] .page-header-wrapper,
body[data-path="customer-portal"] .page-header-wrapper,
body[data-path="supplier-portal"] .page-header-wrapper,
body[data-path^="orders"] .page-header-wrapper,
body[data-path^="invoices"] .page-header-wrapper,
body[data-path^="quotations"] .page-header-wrapper,
body[data-path^="shipments"] .page-header-wrapper,
body[data-path^="project"] .page-header-wrapper,
body[data-path^="issues"] .page-header-wrapper,
body[data-path^="addresses"] .page-header-wrapper,
body[data-path^="rfq"] .page-header-wrapper,
body[data-path^="supplier-quotations"] .page-header-wrapper,
body[data-path^="purchase-orders"] .page-header-wrapper,
body[data-path^="purchase-invoices"] .page-header-wrapper,
body[data-path^="material-requests"] .page-header-wrapper,
body[data-path^="timesheets"] .page-header-wrapper {
	background: linear-gradient(135deg, var(--twins-portal-primary), #17365d);
	border-radius: 20px;
	color: #ffffff;
	margin-bottom: 16px;
	padding: 22px 24px;
}

body[data-path="portal"] .page-header-wrapper h1,
body[data-path="portal"] .page-header-wrapper h2,
body[data-path="portal"] .page-header-wrapper h3,
body[data-path="customer-portal"] .page-header-wrapper h1,
body[data-path="customer-portal"] .page-header-wrapper h2,
body[data-path="customer-portal"] .page-header-wrapper h3,
body[data-path="supplier-portal"] .page-header-wrapper h1,
body[data-path="supplier-portal"] .page-header-wrapper h2,
body[data-path="supplier-portal"] .page-header-wrapper h3,
body[data-path^="orders"] .page-header-wrapper h1,
body[data-path^="orders"] .page-header-wrapper h2,
body[data-path^="orders"] .page-header-wrapper h3,
body[data-path^="invoices"] .page-header-wrapper h1,
body[data-path^="invoices"] .page-header-wrapper h2,
body[data-path^="invoices"] .page-header-wrapper h3,
body[data-path^="quotations"] .page-header-wrapper h1,
body[data-path^="quotations"] .page-header-wrapper h2,
body[data-path^="quotations"] .page-header-wrapper h3,
body[data-path^="shipments"] .page-header-wrapper h1,
body[data-path^="shipments"] .page-header-wrapper h2,
body[data-path^="shipments"] .page-header-wrapper h3,
body[data-path^="project"] .page-header-wrapper h1,
body[data-path^="project"] .page-header-wrapper h2,
body[data-path^="project"] .page-header-wrapper h3,
body[data-path^="issues"] .page-header-wrapper h1,
body[data-path^="issues"] .page-header-wrapper h2,
body[data-path^="issues"] .page-header-wrapper h3,
body[data-path^="addresses"] .page-header-wrapper h1,
body[data-path^="addresses"] .page-header-wrapper h2,
body[data-path^="addresses"] .page-header-wrapper h3,
body[data-path^="rfq"] .page-header-wrapper h1,
body[data-path^="rfq"] .page-header-wrapper h2,
body[data-path^="rfq"] .page-header-wrapper h3,
body[data-path^="supplier-quotations"] .page-header-wrapper h1,
body[data-path^="supplier-quotations"] .page-header-wrapper h2,
body[data-path^="supplier-quotations"] .page-header-wrapper h3,
body[data-path^="purchase-orders"] .page-header-wrapper h1,
body[data-path^="purchase-orders"] .page-header-wrapper h2,
body[data-path^="purchase-orders"] .page-header-wrapper h3,
body[data-path^="purchase-invoices"] .page-header-wrapper h1,
body[data-path^="purchase-invoices"] .page-header-wrapper h2,
body[data-path^="purchase-invoices"] .page-header-wrapper h3,
body[data-path^="material-requests"] .page-header-wrapper h1,
body[data-path^="material-requests"] .page-header-wrapper h2,
body[data-path^="material-requests"] .page-header-wrapper h3,
body[data-path^="timesheets"] .page-header-wrapper h1,
body[data-path^="timesheets"] .page-header-wrapper h2,
body[data-path^="timesheets"] .page-header-wrapper h3 {
	color: #ffffff;
}

body[data-path="portal"] .page-breadcrumbs,
body[data-path="customer-portal"] .page-breadcrumbs,
body[data-path="supplier-portal"] .page-breadcrumbs,
body[data-path^="orders"] .page-breadcrumbs,
body[data-path^="invoices"] .page-breadcrumbs,
body[data-path^="quotations"] .page-breadcrumbs,
body[data-path^="shipments"] .page-breadcrumbs,
body[data-path^="project"] .page-breadcrumbs,
body[data-path^="issues"] .page-breadcrumbs,
body[data-path^="addresses"] .page-breadcrumbs,
body[data-path^="rfq"] .page-breadcrumbs,
body[data-path^="supplier-quotations"] .page-breadcrumbs,
body[data-path^="purchase-orders"] .page-breadcrumbs,
body[data-path^="purchase-invoices"] .page-breadcrumbs,
body[data-path^="material-requests"] .page-breadcrumbs,
body[data-path^="timesheets"] .page-breadcrumbs {
	margin-bottom: 10px;
}

body[data-path="portal"] .page_content,
body[data-path="customer-portal"] .page_content,
body[data-path="supplier-portal"] .page_content,
body[data-path^="orders"] .page_content,
body[data-path^="invoices"] .page_content,
body[data-path^="quotations"] .page_content,
body[data-path^="shipments"] .page_content,
body[data-path^="project"] .page_content,
body[data-path^="issues"] .page_content,
body[data-path^="addresses"] .page_content,
body[data-path^="rfq"] .page_content,
body[data-path^="supplier-quotations"] .page_content,
body[data-path^="purchase-orders"] .page_content,
body[data-path^="purchase-invoices"] .page_content,
body[data-path^="material-requests"] .page_content,
body[data-path^="timesheets"] .page_content {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.06);
	padding: 18px;
}

body[data-path="portal"] .page_content:has(.twins-portal),
body[data-path="customer-portal"] .page_content:has(.twins-portal),
body[data-path="supplier-portal"] .page_content:has(.twins-portal) {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

body[data-path^="orders"] .website-list,
body[data-path^="invoices"] .website-list,
body[data-path^="quotations"] .website-list,
body[data-path^="shipments"] .website-list,
body[data-path^="project"] .website-list,
body[data-path^="issues"] .website-list,
body[data-path^="addresses"] .website-list,
body[data-path^="rfq"] .website-list,
body[data-path^="supplier-quotations"] .website-list,
body[data-path^="purchase-orders"] .website-list,
body[data-path^="purchase-invoices"] .website-list,
body[data-path^="material-requests"] .website-list,
body[data-path^="timesheets"] .website-list {
	margin: 0;
}

body[data-path^="orders"] .web-list-item,
body[data-path^="invoices"] .web-list-item,
body[data-path^="quotations"] .web-list-item,
body[data-path^="shipments"] .web-list-item,
body[data-path^="project"] .web-list-item,
body[data-path^="issues"] .web-list-item,
body[data-path^="addresses"] .web-list-item,
body[data-path^="rfq"] .web-list-item,
body[data-path^="supplier-quotations"] .web-list-item,
body[data-path^="purchase-orders"] .web-list-item,
body[data-path^="purchase-invoices"] .web-list-item,
body[data-path^="material-requests"] .web-list-item,
body[data-path^="timesheets"] .web-list-item {
	border: 1px solid var(--twins-portal-border);
	border-radius: 14px;
	margin-bottom: 10px;
	padding: 14px 16px;
	position: relative;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body[data-path^="orders"] .web-list-item:hover,
body[data-path^="invoices"] .web-list-item:hover,
body[data-path^="quotations"] .web-list-item:hover,
body[data-path^="shipments"] .web-list-item:hover,
body[data-path^="project"] .web-list-item:hover,
body[data-path^="issues"] .web-list-item:hover,
body[data-path^="addresses"] .web-list-item:hover,
body[data-path^="rfq"] .web-list-item:hover,
body[data-path^="supplier-quotations"] .web-list-item:hover,
body[data-path^="purchase-orders"] .web-list-item:hover,
body[data-path^="purchase-invoices"] .web-list-item:hover,
body[data-path^="material-requests"] .web-list-item:hover,
body[data-path^="timesheets"] .web-list-item:hover {
	border-color: rgba(25, 166, 110, 0.45);
	box-shadow: 0 12px 28px rgba(31, 53, 84, 0.1);
	transform: translateY(-1px);
}

body[data-path^="orders"] .transaction-item-link,
body[data-path^="invoices"] .transaction-item-link,
body[data-path^="quotations"] .transaction-item-link,
body[data-path^="shipments"] .transaction-item-link,
body[data-path^="supplier-quotations"] .transaction-item-link,
body[data-path^="purchase-orders"] .transaction-item-link,
body[data-path^="purchase-invoices"] .transaction-item-link {
	inset: 0;
	position: absolute;
	text-indent: -9999px;
}

body[data-path^="orders"] .list-item-name,
body[data-path^="invoices"] .list-item-name,
body[data-path^="quotations"] .list-item-name,
body[data-path^="shipments"] .list-item-name,
body[data-path^="supplier-quotations"] .list-item-name,
body[data-path^="purchase-orders"] .list-item-name,
body[data-path^="purchase-invoices"] .list-item-name {
	color: var(--twins-portal-primary);
}

body[data-path^="orders"] .item-total,
body[data-path^="invoices"] .item-total,
body[data-path^="quotations"] .item-total,
body[data-path^="shipments"] .item-total,
body[data-path^="supplier-quotations"] .item-total,
body[data-path^="purchase-orders"] .item-total,
body[data-path^="purchase-invoices"] .item-total {
	color: var(--twins-portal-primary);
}

body[data-path^="orders"] .order-container,
body[data-path^="invoices"] .order-container,
body[data-path^="quotations"] .order-container,
body[data-path^="shipments"] .order-container,
body[data-path^="supplier-quotations"] .order-container,
body[data-path^="purchase-orders"] .order-container,
body[data-path^="purchase-invoices"] .order-container,
body[data-path^="rfq"] #order-container {
	border: 1px solid var(--twins-portal-border);
	border-radius: 16px;
	overflow: hidden;
}

body[data-path^="orders"] .order-item-header,
body[data-path^="invoices"] .order-item-header,
body[data-path^="quotations"] .order-item-header,
body[data-path^="shipments"] .order-item-header,
body[data-path^="supplier-quotations"] .order-item-header,
body[data-path^="purchase-orders"] .order-item-header,
body[data-path^="purchase-invoices"] .order-item-header,
body[data-path^="rfq"] .cart-item-header {
	background: #f2f7ff;
	color: var(--twins-portal-primary) !important;
	font-weight: 700;
	margin: 0;
	padding: 12px 14px;
}

body[data-path^="orders"] .order-items,
body[data-path^="invoices"] .order-items,
body[data-path^="quotations"] .order-items,
body[data-path^="shipments"] .order-items,
body[data-path^="supplier-quotations"] .order-items,
body[data-path^="purchase-orders"] .order-items,
body[data-path^="purchase-invoices"] .order-items,
body[data-path^="rfq"] .rfq-items .row {
	border-top: 1px solid var(--twins-portal-border);
	margin: 0;
	padding: 12px 14px;
}

body[data-path^="rfq"] .grand-total-row,
body[data-path^="orders"] .grand-total-row,
body[data-path^="invoices"] .grand-total-row,
body[data-path^="purchase-invoices"] .grand-total-row {
	background: #f8fbff;
	border-top: 1px solid var(--twins-portal-border);
	color: var(--twins-portal-primary);
	font-weight: 700;
	margin: 0;
	padding: 14px;
}

body:is(
	[data-path="me"],
	[data-path^="update-profile"],
	[data-path^="update-password"],
	[data-path^="third_party_apps"],
	[data-path^="request-for-account-deletion"],
	[data-path^="newsletters"],
	[data-path^="book_appointment"],
	[data-path^="boms"],
	[data-path^="tasks"]
) {
	background: var(--twins-portal-bg);
}

body:is(
	[data-path="me"],
	[data-path^="update-profile"],
	[data-path^="update-password"],
	[data-path^="third_party_apps"],
	[data-path^="request-for-account-deletion"],
	[data-path^="newsletters"],
	[data-path^="book_appointment"],
	[data-path^="boms"],
	[data-path^="tasks"]
) .container {
	max-width: 1240px;
}

body:is(
	[data-path="me"],
	[data-path^="update-profile"],
	[data-path^="update-password"],
	[data-path^="third_party_apps"],
	[data-path^="request-for-account-deletion"],
	[data-path^="newsletters"],
	[data-path^="book_appointment"],
	[data-path^="boms"],
	[data-path^="tasks"]
) .web-sidebar {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.06);
	margin-top: 42px;
	padding: 14px;
}

body:is(
	[data-path="me"],
	[data-path^="update-profile"],
	[data-path^="update-password"],
	[data-path^="third_party_apps"],
	[data-path^="request-for-account-deletion"],
	[data-path^="newsletters"],
	[data-path^="book_appointment"],
	[data-path^="boms"],
	[data-path^="tasks"]
) .page-header-wrapper {
	background: linear-gradient(135deg, var(--twins-portal-primary), #17365d);
	border-radius: 20px;
	color: #ffffff;
	margin-bottom: 16px;
	padding: 22px 24px;
}

body:is(
	[data-path="me"],
	[data-path^="update-profile"],
	[data-path^="update-password"],
	[data-path^="third_party_apps"],
	[data-path^="request-for-account-deletion"],
	[data-path^="newsletters"],
	[data-path^="book_appointment"],
	[data-path^="boms"],
	[data-path^="tasks"]
) .page-header-wrapper :is(h1, h2, h3) {
	color: #ffffff;
}

body:is(
	[data-path="me"],
	[data-path^="update-profile"],
	[data-path^="update-password"],
	[data-path^="third_party_apps"],
	[data-path^="request-for-account-deletion"],
	[data-path^="newsletters"],
	[data-path^="book_appointment"],
	[data-path^="boms"],
	[data-path^="tasks"]
) .page_content {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.06);
	padding: 18px;
}

body:is([data-path^="newsletters"], [data-path^="boms"], [data-path^="tasks"]) .web-list-item {
	border: 1px solid var(--twins-portal-border);
	border-radius: 14px;
	margin-bottom: 10px;
	padding: 14px 16px;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body:is([data-path^="newsletters"], [data-path^="boms"], [data-path^="tasks"]) .web-list-item:hover {
	border-color: rgba(25, 166, 110, 0.45);
	box-shadow: 0 12px 28px rgba(31, 53, 84, 0.1);
	transform: translateY(-1px);
}

body.twins-portal-route,
body:has([data-path="portal"]),
body:has([data-path="customer-portal"]),
body:has([data-path="supplier-portal"]),
body:has([data-path^="orders"]),
body:has([data-path^="invoices"]),
body:has([data-path^="quotations"]),
body:has([data-path^="shipments"]),
body:has([data-path^="project"]),
body:has([data-path^="issues"]),
body:has([data-path^="addresses"]),
body:has([data-path^="rfq"]),
body:has([data-path^="supplier-quotations"]),
body:has([data-path^="purchase-orders"]),
body:has([data-path^="purchase-invoices"]),
body:has([data-path^="material-requests"]),
body:has([data-path^="timesheets"]),
body:has([data-path^="tasks"]),
body:has([data-path^="boms"]),
body:has([data-path^="newsletters"]),
body:has([data-path="me"]),
body:has([data-path^="update-profile"]),
body:has([data-path^="update-password"]),
body:has([data-path^="third_party_apps"]),
body:has([data-path^="request-for-account-deletion"]),
body:has([data-path^="book_appointment"]) {
	background: var(--twins-portal-bg);
}

body.twins-portal-route .container,
[data-path="portal"],
[data-path="customer-portal"],
[data-path="supplier-portal"],
[data-path^="orders"],
[data-path^="invoices"],
[data-path^="quotations"],
[data-path^="shipments"],
[data-path^="project"],
[data-path^="issues"],
[data-path^="addresses"],
[data-path^="rfq"],
[data-path^="supplier-quotations"],
[data-path^="purchase-orders"],
[data-path^="purchase-invoices"],
[data-path^="material-requests"],
[data-path^="timesheets"],
[data-path^="tasks"],
[data-path^="boms"],
[data-path^="newsletters"],
[data-path="me"],
[data-path^="update-profile"],
[data-path^="update-password"],
[data-path^="third_party_apps"],
[data-path^="request-for-account-deletion"],
[data-path^="book_appointment"] {
	max-width: 1240px;
}

body.twins-portal-route .web-sidebar,
[data-path="portal"] .web-sidebar,
[data-path="customer-portal"] .web-sidebar,
[data-path="supplier-portal"] .web-sidebar,
[data-path^="orders"] .web-sidebar,
[data-path^="invoices"] .web-sidebar,
[data-path^="quotations"] .web-sidebar,
[data-path^="shipments"] .web-sidebar,
[data-path^="project"] .web-sidebar,
[data-path^="issues"] .web-sidebar,
[data-path^="addresses"] .web-sidebar,
[data-path^="rfq"] .web-sidebar,
[data-path^="supplier-quotations"] .web-sidebar,
[data-path^="purchase-orders"] .web-sidebar,
[data-path^="purchase-invoices"] .web-sidebar,
[data-path^="material-requests"] .web-sidebar,
[data-path^="timesheets"] .web-sidebar,
[data-path^="tasks"] .web-sidebar,
[data-path^="boms"] .web-sidebar,
[data-path^="newsletters"] .web-sidebar,
[data-path="me"] .web-sidebar,
[data-path^="update-profile"] .web-sidebar,
[data-path^="update-password"] .web-sidebar,
[data-path^="third_party_apps"] .web-sidebar,
[data-path^="request-for-account-deletion"] .web-sidebar,
[data-path^="book_appointment"] .web-sidebar {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.06);
	margin-top: 42px;
	padding: 14px;
	position: sticky;
	top: 76px;
}

body.twins-portal-route .web-sidebar .sidebar-item a,
[data-path="portal"] .web-sidebar .sidebar-item a,
[data-path="customer-portal"] .web-sidebar .sidebar-item a,
[data-path="supplier-portal"] .web-sidebar .sidebar-item a,
[data-path^="orders"] .web-sidebar .sidebar-item a,
[data-path^="invoices"] .web-sidebar .sidebar-item a,
[data-path^="quotations"] .web-sidebar .sidebar-item a,
[data-path^="shipments"] .web-sidebar .sidebar-item a,
[data-path^="project"] .web-sidebar .sidebar-item a,
[data-path^="issues"] .web-sidebar .sidebar-item a,
[data-path^="addresses"] .web-sidebar .sidebar-item a,
[data-path^="rfq"] .web-sidebar .sidebar-item a,
[data-path^="supplier-quotations"] .web-sidebar .sidebar-item a,
[data-path^="purchase-orders"] .web-sidebar .sidebar-item a,
[data-path^="purchase-invoices"] .web-sidebar .sidebar-item a,
[data-path^="material-requests"] .web-sidebar .sidebar-item a,
[data-path^="timesheets"] .web-sidebar .sidebar-item a,
[data-path^="tasks"] .web-sidebar .sidebar-item a,
[data-path^="boms"] .web-sidebar .sidebar-item a,
[data-path^="newsletters"] .web-sidebar .sidebar-item a,
[data-path="me"] .web-sidebar .sidebar-item a,
[data-path^="update-profile"] .web-sidebar .sidebar-item a,
[data-path^="update-password"] .web-sidebar .sidebar-item a,
[data-path^="third_party_apps"] .web-sidebar .sidebar-item a,
[data-path^="request-for-account-deletion"] .web-sidebar .sidebar-item a,
[data-path^="book_appointment"] .web-sidebar .sidebar-item a {
	border-radius: 12px;
	color: var(--twins-portal-muted);
	display: block;
	font-weight: 650;
	padding: 10px 12px;
}

body.twins-portal-route .web-sidebar .sidebar-item a:hover,
body.twins-portal-route .web-sidebar .sidebar-item a.active,
[data-path="portal"] .web-sidebar .sidebar-item a:hover,
[data-path="portal"] .web-sidebar .sidebar-item a.active,
[data-path="customer-portal"] .web-sidebar .sidebar-item a:hover,
[data-path="customer-portal"] .web-sidebar .sidebar-item a.active,
[data-path="supplier-portal"] .web-sidebar .sidebar-item a:hover,
[data-path="supplier-portal"] .web-sidebar .sidebar-item a.active,
[data-path^="orders"] .web-sidebar .sidebar-item a:hover,
[data-path^="orders"] .web-sidebar .sidebar-item a.active,
[data-path^="invoices"] .web-sidebar .sidebar-item a:hover,
[data-path^="invoices"] .web-sidebar .sidebar-item a.active,
[data-path^="quotations"] .web-sidebar .sidebar-item a:hover,
[data-path^="quotations"] .web-sidebar .sidebar-item a.active,
[data-path^="shipments"] .web-sidebar .sidebar-item a:hover,
[data-path^="shipments"] .web-sidebar .sidebar-item a.active,
[data-path^="project"] .web-sidebar .sidebar-item a:hover,
[data-path^="project"] .web-sidebar .sidebar-item a.active,
[data-path^="issues"] .web-sidebar .sidebar-item a:hover,
[data-path^="issues"] .web-sidebar .sidebar-item a.active,
[data-path^="addresses"] .web-sidebar .sidebar-item a:hover,
[data-path^="addresses"] .web-sidebar .sidebar-item a.active,
[data-path^="rfq"] .web-sidebar .sidebar-item a:hover,
[data-path^="rfq"] .web-sidebar .sidebar-item a.active,
[data-path^="supplier-quotations"] .web-sidebar .sidebar-item a:hover,
[data-path^="supplier-quotations"] .web-sidebar .sidebar-item a.active,
[data-path^="purchase-orders"] .web-sidebar .sidebar-item a:hover,
[data-path^="purchase-orders"] .web-sidebar .sidebar-item a.active,
[data-path^="purchase-invoices"] .web-sidebar .sidebar-item a:hover,
[data-path^="purchase-invoices"] .web-sidebar .sidebar-item a.active,
[data-path^="material-requests"] .web-sidebar .sidebar-item a:hover,
[data-path^="material-requests"] .web-sidebar .sidebar-item a.active,
[data-path^="timesheets"] .web-sidebar .sidebar-item a:hover,
[data-path^="timesheets"] .web-sidebar .sidebar-item a.active {
	background: var(--twins-portal-primary);
	color: #ffffff;
	text-decoration: none;
}

body.twins-portal-route .page-header-wrapper,
[data-path="portal"] .page-header-wrapper,
[data-path="customer-portal"] .page-header-wrapper,
[data-path="supplier-portal"] .page-header-wrapper,
[data-path^="orders"] .page-header-wrapper,
[data-path^="invoices"] .page-header-wrapper,
[data-path^="quotations"] .page-header-wrapper,
[data-path^="shipments"] .page-header-wrapper,
[data-path^="project"] .page-header-wrapper,
[data-path^="issues"] .page-header-wrapper,
[data-path^="addresses"] .page-header-wrapper,
[data-path^="rfq"] .page-header-wrapper,
[data-path^="supplier-quotations"] .page-header-wrapper,
[data-path^="purchase-orders"] .page-header-wrapper,
[data-path^="purchase-invoices"] .page-header-wrapper,
[data-path^="material-requests"] .page-header-wrapper,
[data-path^="timesheets"] .page-header-wrapper,
[data-path^="tasks"] .page-header-wrapper,
[data-path^="boms"] .page-header-wrapper,
[data-path^="newsletters"] .page-header-wrapper,
[data-path="me"] .page-header-wrapper,
[data-path^="update-profile"] .page-header-wrapper,
[data-path^="update-password"] .page-header-wrapper,
[data-path^="third_party_apps"] .page-header-wrapper,
[data-path^="request-for-account-deletion"] .page-header-wrapper,
[data-path^="book_appointment"] .page-header-wrapper {
	background: linear-gradient(135deg, var(--twins-portal-primary), #17365d);
	border-radius: 20px;
	color: #ffffff;
	margin-bottom: 16px;
	padding: 22px 24px;
}

body.twins-portal-route .page-header-wrapper :is(h1, h2, h3, h4),
[data-path="portal"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path="customer-portal"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path="supplier-portal"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="orders"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="invoices"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="quotations"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="shipments"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="project"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="issues"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="addresses"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="rfq"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="supplier-quotations"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="purchase-orders"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="purchase-invoices"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="material-requests"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="timesheets"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="tasks"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="boms"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="newsletters"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path="me"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="update-profile"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="update-password"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="third_party_apps"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="request-for-account-deletion"] .page-header-wrapper :is(h1, h2, h3, h4),
[data-path^="book_appointment"] .page-header-wrapper :is(h1, h2, h3, h4) {
	color: #ffffff;
}

body.twins-portal-route .page_content,
[data-path="portal"] .page_content,
[data-path="customer-portal"] .page_content,
[data-path="supplier-portal"] .page_content,
[data-path^="orders"] .page_content,
[data-path^="invoices"] .page_content,
[data-path^="quotations"] .page_content,
[data-path^="shipments"] .page_content,
[data-path^="project"] .page_content,
[data-path^="issues"] .page_content,
[data-path^="addresses"] .page_content,
[data-path^="rfq"] .page_content,
[data-path^="supplier-quotations"] .page_content,
[data-path^="purchase-orders"] .page_content,
[data-path^="purchase-invoices"] .page_content,
[data-path^="material-requests"] .page_content,
[data-path^="timesheets"] .page_content,
[data-path^="tasks"] .page_content,
[data-path^="boms"] .page_content,
[data-path^="newsletters"] .page_content,
[data-path="me"] .page_content,
[data-path^="update-profile"] .page_content,
[data-path^="update-password"] .page_content,
[data-path^="third_party_apps"] .page_content,
[data-path^="request-for-account-deletion"] .page_content,
[data-path^="book_appointment"] .page_content {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.06);
	padding: 18px;
}

body.twins-portal-route .page_content:has(.twins-portal),
[data-path="portal"] .page_content:has(.twins-portal),
[data-path="customer-portal"] .page_content:has(.twins-portal),
[data-path="supplier-portal"] .page_content:has(.twins-portal) {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

body.twins-portal-route .web-list-item,
[data-path^="orders"] .web-list-item,
[data-path^="invoices"] .web-list-item,
[data-path^="quotations"] .web-list-item,
[data-path^="shipments"] .web-list-item,
[data-path^="project"] .web-list-item,
[data-path^="issues"] .web-list-item,
[data-path^="addresses"] .web-list-item,
[data-path^="rfq"] .web-list-item,
[data-path^="supplier-quotations"] .web-list-item,
[data-path^="purchase-orders"] .web-list-item,
[data-path^="purchase-invoices"] .web-list-item,
[data-path^="material-requests"] .web-list-item,
[data-path^="timesheets"] .web-list-item,
[data-path^="tasks"] .web-list-item,
[data-path^="boms"] .web-list-item,
[data-path^="newsletters"] .web-list-item {
	border: 1px solid var(--twins-portal-border);
	border-radius: 14px;
	margin-bottom: 10px;
	padding: 14px 16px;
	position: relative;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.twins-portal-route .web-list-item:hover,
[data-path^="orders"] .web-list-item:hover,
[data-path^="invoices"] .web-list-item:hover,
[data-path^="quotations"] .web-list-item:hover,
[data-path^="shipments"] .web-list-item:hover,
[data-path^="project"] .web-list-item:hover,
[data-path^="issues"] .web-list-item:hover,
[data-path^="addresses"] .web-list-item:hover,
[data-path^="rfq"] .web-list-item:hover,
[data-path^="supplier-quotations"] .web-list-item:hover,
[data-path^="purchase-orders"] .web-list-item:hover,
[data-path^="purchase-invoices"] .web-list-item:hover,
[data-path^="material-requests"] .web-list-item:hover,
[data-path^="timesheets"] .web-list-item:hover,
[data-path^="tasks"] .web-list-item:hover,
[data-path^="boms"] .web-list-item:hover,
[data-path^="newsletters"] .web-list-item:hover {
	border-color: rgba(25, 166, 110, 0.45);
	box-shadow: 0 12px 28px rgba(31, 53, 84, 0.1);
	transform: translateY(-1px);
}

body.twins-portal-route .page-header-wrapper:not(:has(.page-header > *)):not(:has(.page-header-actions-block > *)),
body:has([data-path="portal"]) .page-header-wrapper:not(:has(.page-header > *)):not(:has(.page-header-actions-block > *)),
body:has([data-path="customer-portal"]) .page-header-wrapper:not(:has(.page-header > *)):not(:has(.page-header-actions-block > *)),
body:has([data-path="supplier-portal"]) .page-header-wrapper:not(:has(.page-header > *)):not(:has(.page-header-actions-block > *)),
body:has([data-path="me"]) .page-header-wrapper:not(:has(.page-header > *)):not(:has(.page-header-actions-block > *)),
body:has([data-path^="update-profile"]) .page-header-wrapper:not(:has(.page-header > *)):not(:has(.page-header-actions-block > *)) {
	display: none;
}

body.twins-portal-route .web-form-container,
body.twins-portal-route .web-form,
body.twins-portal-route .web-form-body,
body.twins-portal-route .web-form-wrapper,
body.twins-portal-route .form-page,
body.twins-portal-route .page-card,
body.twins-portal-route .portal-container,
body.twins-portal-route .portal-section,
body.twins-portal-route .order-item-table,
body.twins-portal-route .terms-and-condition,
body.twins-portal-route .rfq-content,
body.twins-portal-route .form-section,
body.twins-portal-route .section,
body:has([data-path^="update-profile"]) .web-form-container,
body:has([data-path^="update-profile"]) .web-form,
body:has([data-path^="update-profile"]) .web-form-body,
body:has([data-path^="update-profile"]) .web-form-wrapper,
body:has([data-path^="update-profile"]) .form-page {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.06);
}

body.twins-portal-route .web-form-container,
body:has([data-path^="update-profile"]) .web-form-container {
	margin: 22px auto 48px;
	max-width: 980px;
	padding: 24px;
}

body.twins-portal-route .web-form,
body:has([data-path^="update-profile"]) .web-form {
	border-color: var(--twins-portal-border) !important;
	padding: 0 !important;
}

body.twins-portal-route .web-form-body,
body.twins-portal-route .web-form-wrapper,
body.twins-portal-route .form-page,
body.twins-portal-route .page-card,
body:has([data-path^="update-profile"]) .web-form-body,
body:has([data-path^="update-profile"]) .web-form-wrapper,
body:has([data-path^="update-profile"]) .form-page {
	box-shadow: none;
	padding: 22px;
}

body.twins-portal-route .web-form-header,
body.twins-portal-route .web-form-head,
body.twins-portal-route .page-card-head,
body.twins-portal-route .portal-section.head,
body:has([data-path^="update-profile"]) .web-form-header,
body:has([data-path^="update-profile"]) .web-form-head {
	background: linear-gradient(135deg, var(--twins-portal-primary), #17365d);
	border: 0;
	border-radius: 18px;
	color: #ffffff;
	margin-bottom: 18px;
	padding: 22px 24px;
}

body.twins-portal-route .web-form-title,
body.twins-portal-route .web-form-header :is(h1, h2, h3, h4),
body.twins-portal-route .page-card-head :is(h1, h2, h3, h4),
body.twins-portal-route .portal-section.head .title,
body:has([data-path^="update-profile"]) .web-form-title,
body:has([data-path^="update-profile"]) .web-form-header :is(h1, h2, h3, h4) {
	color: #ffffff;
	font-weight: 750;
}

body.twins-portal-route .section-head,
body.twins-portal-route .section-title,
body.twins-portal-route .form-section .section-head,
body.twins-portal-route .form-page > h4,
body.twins-portal-route .web-form-body h4,
body:has([data-path^="update-profile"]) .section-head,
body:has([data-path^="update-profile"]) .form-page > h4,
body:has([data-path^="update-profile"]) .web-form-body h4 {
	border-bottom: 1px solid var(--twins-portal-border);
	color: var(--twins-portal-primary);
	font-size: 1.05rem;
	font-weight: 750;
	margin: 22px 0 16px;
	padding-bottom: 10px;
}

body.twins-portal-route .form-group,
body.twins-portal-route .frappe-control,
body:has([data-path^="update-profile"]) .form-group,
body:has([data-path^="update-profile"]) .frappe-control {
	margin-bottom: 18px;
}

body.twins-portal-route label,
body.twins-portal-route .control-label,
body.twins-portal-route .form-label,
body:has([data-path^="update-profile"]) label,
body:has([data-path^="update-profile"]) .control-label,
body:has([data-path^="update-profile"]) .form-label {
	color: #26364a;
	font-size: 0.9rem;
	font-weight: 700;
	margin-bottom: 7px;
}

body.twins-portal-route .reqd,
body.twins-portal-route .mandatory,
body:has([data-path^="update-profile"]) .reqd,
body:has([data-path^="update-profile"]) .mandatory {
	color: #d9480f;
}

body.twins-portal-route .form-control,
body.twins-portal-route .input-with-feedback,
body.twins-portal-route .like-disabled-input,
body.twins-portal-route .awesomplete > input,
body.twins-portal-route select,
body.twins-portal-route textarea,
body:has([data-path^="update-profile"]) .form-control,
body:has([data-path^="update-profile"]) .input-with-feedback,
body:has([data-path^="update-profile"]) .like-disabled-input,
body:has([data-path^="update-profile"]) .awesomplete > input,
body:has([data-path^="update-profile"]) select,
body:has([data-path^="update-profile"]) textarea {
	background: #f8fbff;
	border: 1px solid #d8e4f2;
	border-radius: 12px;
	box-shadow: none;
	color: #1f2d3d;
	min-height: 42px;
	padding: 10px 12px;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

body.twins-portal-route textarea.form-control,
body.twins-portal-route textarea.input-with-feedback,
body:has([data-path^="update-profile"]) textarea.form-control,
body:has([data-path^="update-profile"]) textarea.input-with-feedback {
	min-height: 110px;
}

body.twins-portal-route .form-control:focus,
body.twins-portal-route .input-with-feedback:focus,
body.twins-portal-route .awesomplete > input:focus,
body.twins-portal-route select:focus,
body.twins-portal-route textarea:focus,
body:has([data-path^="update-profile"]) .form-control:focus,
body:has([data-path^="update-profile"]) .input-with-feedback:focus,
body:has([data-path^="update-profile"]) .awesomplete > input:focus,
body:has([data-path^="update-profile"]) select:focus,
body:has([data-path^="update-profile"]) textarea:focus {
	background: #ffffff;
	border-color: rgba(25, 166, 110, 0.72);
	box-shadow: 0 0 0 3px rgba(25, 166, 110, 0.12);
	outline: 0;
}

body.twins-portal-route .form-control:disabled,
body.twins-portal-route .form-control[readonly],
body.twins-portal-route .like-disabled-input,
body:has([data-path^="update-profile"]) .form-control:disabled,
body:has([data-path^="update-profile"]) .form-control[readonly],
body:has([data-path^="update-profile"]) .like-disabled-input {
	background: #eef4fb;
	color: #405169;
}

body.twins-portal-route .input-group,
body.twins-portal-route .control-input,
body.twins-portal-route .link-field,
body:has([data-path^="update-profile"]) .input-group,
body:has([data-path^="update-profile"]) .control-input,
body:has([data-path^="update-profile"]) .link-field {
	border-radius: 12px;
}

body.twins-portal-route .input-group .btn,
body.twins-portal-route .input-group-text,
body.twins-portal-route .attached-file,
body.twins-portal-route .attach-control,
body.twins-portal-route .file-upload,
body:has([data-path^="update-profile"]) .input-group .btn,
body:has([data-path^="update-profile"]) .input-group-text,
body:has([data-path^="update-profile"]) .attached-file,
body:has([data-path^="update-profile"]) .attach-control,
body:has([data-path^="update-profile"]) .file-upload {
	background: #eef4fb;
	border-color: #d8e4f2;
	border-radius: 12px;
	color: var(--twins-portal-primary);
}

body.twins-portal-route .btn,
body:has([data-path^="update-profile"]) .btn {
	border-radius: 12px;
	font-weight: 700;
	padding: 9px 16px;
}

body.twins-portal-route .btn-primary,
body:has([data-path^="update-profile"]) .btn-primary {
	background: var(--twins-portal-primary);
	border-color: var(--twins-portal-primary);
	box-shadow: 0 10px 22px rgba(32, 78, 132, 0.18);
	color: #ffffff;
}

body.twins-portal-route .btn-primary:hover,
body:has([data-path^="update-profile"]) .btn-primary:hover {
	background: #17365d;
	border-color: #17365d;
}

body.twins-portal-route .btn-secondary,
body.twins-portal-route .btn-default,
body.twins-portal-route .btn-light,
body:has([data-path^="update-profile"]) .btn-secondary,
body:has([data-path^="update-profile"]) .btn-default,
body:has([data-path^="update-profile"]) .btn-light {
	background: #eef4fb;
	border-color: #d8e4f2;
	color: var(--twins-portal-primary);
}

body.twins-portal-route .btn-danger,
body.twins-portal-route .delete-btn,
body:has([data-path^="update-profile"]) .btn-danger,
body:has([data-path^="update-profile"]) .delete-btn {
	background: #fff1f0;
	border-color: #ffc9c2;
	color: #c92a2a;
}

body.twins-portal-route .web-form-footer,
body.twins-portal-route .portal-footer,
body:has([data-path^="update-profile"]) .web-form-footer {
	background: #ffffff;
	border-top: 1px solid var(--twins-portal-border);
	border-radius: 0 0 18px 18px;
	bottom: 0;
	box-shadow: 0 -10px 24px rgba(31, 53, 84, 0.06);
	margin: 18px -22px -22px;
	padding: 14px 22px;
}

body.twins-portal-route .form-grid,
body.twins-portal-route .grid-heading-row,
body.twins-portal-route .grid-row,
body.twins-portal-route table,
body.twins-portal-route .table,
body:has([data-path^="update-profile"]) .form-grid,
body:has([data-path^="update-profile"]) .grid-heading-row,
body:has([data-path^="update-profile"]) .grid-row,
body:has([data-path^="update-profile"]) table,
body:has([data-path^="update-profile"]) .table {
	border-color: var(--twins-portal-border);
}

body.twins-portal-route .form-grid,
body.twins-portal-route table,
body.twins-portal-route .table,
body:has([data-path^="update-profile"]) .form-grid,
body:has([data-path^="update-profile"]) table,
body:has([data-path^="update-profile"]) .table {
	border: 1px solid var(--twins-portal-border);
	border-radius: 14px;
	overflow: hidden;
}

body.twins-portal-route .grid-heading-row,
body.twins-portal-route thead,
body.twins-portal-route .table thead th,
body:has([data-path^="update-profile"]) .grid-heading-row,
body:has([data-path^="update-profile"]) thead,
body:has([data-path^="update-profile"]) .table thead th {
	background: #f2f7ff;
	color: var(--twins-portal-primary);
	font-weight: 750;
}

body.twins-portal-route .grid-row,
body.twins-portal-route tbody tr,
body:has([data-path^="update-profile"]) .grid-row,
body:has([data-path^="update-profile"]) tbody tr {
	background: #ffffff;
}

body.twins-portal-route .grid-row:hover,
body.twins-portal-route tbody tr:hover,
body:has([data-path^="update-profile"]) .grid-row:hover,
body:has([data-path^="update-profile"]) tbody tr:hover {
	background: #f8fbff;
}

body.twins-portal-route .indicator,
body.twins-portal-route .indicator-pill,
body:has([data-path^="update-profile"]) .indicator,
body:has([data-path^="update-profile"]) .indicator-pill {
	border-radius: 999px;
	font-weight: 700;
	padding: 4px 9px;
}

body.twins-portal-route .modal-content,
body.twins-portal-route .dropdown-menu,
body:has([data-path^="update-profile"]) .modal-content,
body:has([data-path^="update-profile"]) .dropdown-menu {
	border: 1px solid var(--twins-portal-border);
	border-radius: 16px;
	box-shadow: 0 18px 46px rgba(31, 53, 84, 0.18);
}

body.twins-portal-route .portal-items,
body.twins-portal-route .my-account-item-link,
body.twins-portal-route .portal-section,
body:has([data-path="me"]) .portal-items,
body:has([data-path="me"]) .my-account-item-link,
body:has([data-path="me"]) .portal-section {
	border-color: var(--twins-portal-border);
}

body.twins-portal-route .my-account-item-link a,
body:has([data-path="me"]) .my-account-item-link a {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	border-radius: 14px;
	color: var(--twins-portal-primary);
	display: flex;
	font-weight: 700;
	padding: 14px 16px;
}

body.twins-portal-route .my-account-item-link a:hover,
body:has([data-path="me"]) .my-account-item-link a:hover {
	background: #f2f7ff;
	text-decoration: none;
}

.twins-portal-hero {
	align-items: center;
	background: linear-gradient(135deg, var(--twins-portal-primary), #17365d);
	border-radius: 22px;
	color: #ffffff;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: 34px;
}

.twins-portal-eyebrow,
.twins-portal-kicker {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.twins-portal-hero h1,
.twins-portal-section h2,
.twins-portal-panel h3 {
	margin: 0;
}

.twins-portal-lead {
	color: rgba(255, 255, 255, 0.82);
	font-size: 1rem;
	margin: 12px 0 0;
	max-width: 680px;
}

.twins-portal-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.twins-portal-section {
	margin-top: 24px;
}

.twins-portal-section-head {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	margin-bottom: 16px;
}

.twins-portal-section-head p {
	color: var(--twins-portal-muted);
	margin: 8px 0 0;
}

.twins-portal-kicker {
	color: var(--twins-portal-accent);
}

.twins-portal-card-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.twins-portal-card {
	background: var(--twins-portal-card);
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.08);
	color: inherit;
	display: flex;
	flex-direction: column;
	min-height: 142px;
	padding: 18px;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.twins-portal-card:hover {
	border-color: rgba(25, 166, 110, 0.45);
	box-shadow: 0 18px 42px rgba(31, 53, 84, 0.14);
	text-decoration: none;
	transform: translateY(-2px);
}

.twins-portal-card-label {
	color: var(--twins-portal-muted);
	font-size: 0.86rem;
	font-weight: 650;
}

.twins-portal-card strong {
	color: var(--twins-portal-primary);
	font-size: 2.3rem;
	line-height: 1;
	margin: 18px 0 12px;
}

.twins-portal-card small {
	color: var(--twins-portal-muted);
	line-height: 1.35;
}

.twins-portal-panel-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.75fr);
	margin-top: 18px;
}

.twins-portal-panel,
.twins-portal-empty-state {
	background: var(--twins-portal-card);
	border: 1px solid var(--twins-portal-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(31, 53, 84, 0.06);
	padding: 18px;
}

.twins-portal-panel-head {
	border-bottom: 1px solid var(--twins-portal-border);
	margin-bottom: 8px;
	padding-bottom: 12px;
}

.twins-portal-list {
	display: grid;
	gap: 4px;
}

.twins-portal-list-row {
	align-items: center;
	border-radius: 12px;
	color: inherit;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 12px;
	text-decoration: none;
}

.twins-portal-list-row:hover,
.twins-portal-action:hover {
	background: #f2f7ff;
	text-decoration: none;
}

.twins-portal-list-row small {
	color: var(--twins-portal-muted);
	display: block;
	margin-top: 4px;
}

.twins-portal-list-row em {
	color: var(--twins-portal-primary);
	font-style: normal;
	font-weight: 700;
	white-space: nowrap;
}

.twins-portal-actions {
	display: grid;
	gap: 10px;
}

.twins-portal-action {
	border: 1px solid var(--twins-portal-border);
	border-radius: 12px;
	color: var(--twins-portal-primary);
	font-weight: 650;
	padding: 12px 14px;
	text-decoration: none;
}

.twins-portal-empty,
.twins-portal-empty-state p {
	color: var(--twins-portal-muted);
}

.twins-portal-empty {
	padding: 20px 12px;
}

.twins-portal-empty-state {
	margin-top: 24px;
	text-align: center;
}

html[dir="rtl"] .twins-portal,
.twins-portal[dir="rtl"] {
	text-align: right;
}

@media (max-width: 768px) {
	.twins-portal {
		border-radius: 0;
		padding: 14px;
	}

	.twins-portal-hero,
	.twins-portal-section-head,
	.twins-portal-panel-grid {
		display: block;
	}

	.twins-portal-hero {
		padding: 24px;
	}

	.twins-portal-hero-actions {
		justify-content: flex-start;
		margin-top: 18px;
	}

	.twins-portal-panel-grid {
		margin-top: 14px;
	}

	.twins-portal-panel + .twins-portal-panel {
		margin-top: 14px;
	}

	body[data-path="portal"] .web-sidebar,
	body[data-path="customer-portal"] .web-sidebar,
	body[data-path="supplier-portal"] .web-sidebar,
	body[data-path^="orders"] .web-sidebar,
	body[data-path^="invoices"] .web-sidebar,
	body[data-path^="quotations"] .web-sidebar,
	body[data-path^="shipments"] .web-sidebar,
	body[data-path^="project"] .web-sidebar,
	body[data-path^="issues"] .web-sidebar,
	body[data-path^="addresses"] .web-sidebar,
	body[data-path^="rfq"] .web-sidebar,
	body[data-path^="supplier-quotations"] .web-sidebar,
	body[data-path^="purchase-orders"] .web-sidebar,
	body[data-path^="purchase-invoices"] .web-sidebar,
	body[data-path^="material-requests"] .web-sidebar,
	body[data-path^="timesheets"] .web-sidebar {
		margin-top: 14px;
		position: static;
	}

	body[data-path="portal"] .page-header-wrapper,
	body[data-path="customer-portal"] .page-header-wrapper,
	body[data-path="supplier-portal"] .page-header-wrapper,
	body[data-path^="orders"] .page-header-wrapper,
	body[data-path^="invoices"] .page-header-wrapper,
	body[data-path^="quotations"] .page-header-wrapper,
	body[data-path^="shipments"] .page-header-wrapper,
	body[data-path^="project"] .page-header-wrapper,
	body[data-path^="issues"] .page-header-wrapper,
	body[data-path^="addresses"] .page-header-wrapper,
	body[data-path^="rfq"] .page-header-wrapper,
	body[data-path^="supplier-quotations"] .page-header-wrapper,
	body[data-path^="purchase-orders"] .page-header-wrapper,
	body[data-path^="purchase-invoices"] .page-header-wrapper,
	body[data-path^="material-requests"] .page-header-wrapper,
	body[data-path^="timesheets"] .page-header-wrapper,
	body[data-path="portal"] .page_content,
	body[data-path="customer-portal"] .page_content,
	body[data-path="supplier-portal"] .page_content,
	body[data-path^="orders"] .page_content,
	body[data-path^="invoices"] .page_content,
	body[data-path^="quotations"] .page_content,
	body[data-path^="shipments"] .page_content,
	body[data-path^="project"] .page_content,
	body[data-path^="issues"] .page_content,
	body[data-path^="addresses"] .page_content,
	body[data-path^="rfq"] .page_content,
	body[data-path^="supplier-quotations"] .page_content,
	body[data-path^="purchase-orders"] .page_content,
	body[data-path^="purchase-invoices"] .page_content,
	body[data-path^="material-requests"] .page_content,
	body[data-path^="timesheets"] .page_content {
		border-radius: 14px;
		padding: 16px;
	}
}

/* Final portal typography and contrast overrides. Keep this block last. */
body.twins-portal-route,
body.twins-portal-route :where(input, button, select, textarea, .btn, .dropdown-menu, .popover, .modal-content, table, label),
body:has([data-path="portal"]),
body:has([data-path="customer-portal"]),
body:has([data-path="supplier-portal"]),
body:has([data-path^="orders"]),
body:has([data-path^="invoices"]),
body:has([data-path^="quotations"]),
body:has([data-path^="shipments"]),
body:has([data-path^="project"]),
body:has([data-path^="issues"]),
body:has([data-path^="addresses"]),
body:has([data-path^="rfq"]),
body:has([data-path^="supplier-quotations"]),
body:has([data-path^="purchase-orders"]),
body:has([data-path^="purchase-invoices"]),
body:has([data-path^="material-requests"]),
body:has([data-path^="timesheets"]),
body:has([data-path^="tasks"]),
body:has([data-path^="boms"]),
body:has([data-path^="newsletters"]),
body:has([data-path="me"]),
body:has([data-path^="update-profile"]),
body:has([data-path^="update-password"]),
body:has([data-path^="third_party_apps"]),
body:has([data-path^="request-for-account-deletion"]),
body:has([data-path^="book_appointment"]) {
	color: var(--twins-portal-text);
	font-family: var(--twins-portal-font);
	font-weight: 400;
}

body.twins-portal-route :where(h1, h2, h3, h4, h5, h6, .page-title, .web-form-title, .section-title, .section-head, .portal-section .title, .twins-portal-hero h1, .twins-portal-section h2, .twins-portal-panel h3),
body:has([data-path="portal"]) :where(h1, h2, h3, h4, h5, h6, .page-title, .web-form-title, .section-title, .section-head),
body:has([data-path="customer-portal"]) :where(h1, h2, h3, h4, h5, h6, .page-title, .web-form-title, .section-title, .section-head),
body:has([data-path="supplier-portal"]) :where(h1, h2, h3, h4, h5, h6, .page-title, .web-form-title, .section-title, .section-head),
body:has([data-path="me"]) :where(h1, h2, h3, h4, h5, h6, .page-title, .web-form-title, .section-title, .section-head) {
	color: var(--twins-portal-heading);
	font-family: var(--twins-portal-font);
	font-weight: 700;
}

body.twins-portal-route :where(.text-muted, .small, small, .help-box, .help, .description, .control-value),
body:has([data-path="me"]) :where(.text-muted, .small, small, .help-box, .help, .description, .control-value),
body:has([data-path^="update-profile"]) :where(.text-muted, .small, small, .help-box, .help, .description, .control-value) {
	color: var(--twins-portal-muted) !important;
}

body.twins-portal-route :where(.page_content, .web-form-container, .web-form, .web-form-body, .web-form-wrapper, .form-page, .page-card, .portal-container, .portal-section, .modal-content, .dropdown-menu),
body:has([data-path="me"]) :where(.page_content, .web-form-container, .web-form, .web-form-body, .web-form-wrapper, .form-page, .page-card, .portal-container, .portal-section),
body:has([data-path^="update-profile"]) :where(.page_content, .web-form-container, .web-form, .web-form-body, .web-form-wrapper, .form-page, .page-card, .portal-container, .portal-section) {
	color: var(--twins-portal-text);
}

body.twins-portal-route :where(a:not(.btn), .link, .btn-link),
body:has([data-path="me"]) :where(a:not(.btn), .link, .btn-link),
body:has([data-path^="update-profile"]) :where(a:not(.btn), .link, .btn-link) {
	color: var(--twins-portal-link);
}

body.twins-portal-route :where(.form-control, .input-with-feedback, .like-disabled-input, .awesomplete > input, select, textarea),
body:has([data-path^="update-profile"]) :where(.form-control, .input-with-feedback, .like-disabled-input, .awesomplete > input, select, textarea) {
	color: var(--twins-portal-text) !important;
}

body.twins-portal-route :where(.form-control, .input-with-feedback, textarea)::placeholder,
body:has([data-path^="update-profile"]) :where(.form-control, .input-with-feedback, textarea)::placeholder {
	color: #6b7a90 !important;
	opacity: 1;
}

body.twins-portal-route :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head, .twins-portal-hero),
body:has([data-path="me"]) :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head),
body:has([data-path^="update-profile"]) :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) {
	color: var(--twins-portal-on-primary) !important;
}

body.twins-portal-route :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head, .twins-portal-hero) :where(h1, h2, h3, h4, h5, h6, p, small, strong, em, label, a:not(.btn), .title, .subtitle, .web-form-title, .page-title, .text-muted, .indicator, .indicator-pill),
body:has([data-path="me"]) :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) :where(h1, h2, h3, h4, h5, h6, p, small, strong, em, label, a:not(.btn), .title, .subtitle, .web-form-title, .page-title, .text-muted, .indicator, .indicator-pill),
body:has([data-path^="update-profile"]) :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) :where(h1, h2, h3, h4, h5, h6, p, small, strong, em, label, a:not(.btn), .title, .subtitle, .web-form-title, .page-title, .text-muted, .indicator, .indicator-pill) {
	color: var(--twins-portal-on-primary) !important;
}

body.twins-portal-route :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) :where(.indicator, .indicator-pill),
body:has([data-path="me"]) :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) :where(.indicator, .indicator-pill),
body:has([data-path^="update-profile"]) :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) :where(.indicator, .indicator-pill) {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.22);
}

body.twins-portal-route :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) .indicator::before,
body:has([data-path="me"]) :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) .indicator::before,
body:has([data-path^="update-profile"]) :where(.page-header-wrapper, .web-form-header, .web-form-head, .page-card-head, .portal-section.head) .indicator::before {
	background: var(--twins-portal-danger) !important;
}

body.twins-portal-route :where(.btn-primary, .btn-info, .btn-success),
body:has([data-path^="update-profile"]) :where(.btn-primary, .btn-info, .btn-success),
body.twins-portal-route :where(.web-sidebar .sidebar-item a.active) {
	color: var(--twins-portal-on-primary) !important;
}

body.twins-portal-route :where(.btn-secondary, .btn-default, .btn-light),
body:has([data-path^="update-profile"]) :where(.btn-secondary, .btn-default, .btn-light) {
	color: var(--twins-portal-primary) !important;
}

body.twins-portal-route :where(.btn-danger, .delete-btn),
body:has([data-path^="update-profile"]) :where(.btn-danger, .delete-btn) {
	color: #b42318 !important;
}

/* Portal navigation, compact headers, and empty states. */
body.twins-portal-route .web-sidebar .sidebar-item a,
body.twins-portal-route .twins-drawer-link,
body.twins-portal-route .my-account-item-link a {
	align-items: center;
	display: flex !important;
	gap: 10px;
	min-height: 42px;
}

body.twins-portal-route .twins-menu-icon,
body.twins-portal-route .twins-header-icon {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: center;
}

body.twins-portal-route .twins-menu-icon {
	background: #f2f7ff;
	border: 1px solid rgba(32, 78, 132, 0.1);
	border-radius: 12px;
	color: var(--twins-portal-primary);
	height: 32px;
	width: 32px;
}

body.twins-portal-route .twins-menu-icon svg,
body.twins-portal-route .twins-header-icon svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 18px;
}

body.twins-portal-route .web-sidebar .sidebar-item a:hover .twins-menu-icon,
body.twins-portal-route .web-sidebar .sidebar-item a.active .twins-menu-icon,
body.twins-portal-route .twins-drawer-link:hover .twins-menu-icon,
body.twins-portal-route .twins-drawer-link.active .twins-menu-icon {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

body.twins-portal-route .twins-portal-drawer {
	background: #ffffff;
	border: 1px solid var(--twins-portal-border);
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
	display: none;
}

body.twins-portal-route .twins-portal-drawer-items {
	display: grid;
	gap: 6px;
}

body.twins-portal-route .twins-drawer-link {
	border-radius: 14px;
	color: var(--twins-portal-muted) !important;
	font-weight: 700;
	padding: 9px 10px;
	text-decoration: none;
}

body.twins-portal-route .twins-drawer-link:hover,
body.twins-portal-route .twins-drawer-link.active {
	background: var(--twins-portal-primary);
	color: #ffffff !important;
	text-decoration: none;
}

body.twins-portal-route .twins-page-header-with-icon {
	align-items: center;
	display: flex;
	gap: 12px;
}

body.twins-portal-route .twins-header-icon {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 16px;
	color: #ffffff;
	height: 46px;
	width: 46px;
}

body.twins-portal-route .twins-header-icon svg {
	height: 24px;
	width: 24px;
}

body.twins-portal-route .page-header-wrapper,
body:has([data-path="me"]) .page-header-wrapper,
body:has([data-path^="update-profile"]) .page-header-wrapper {
	min-height: 82px;
	padding: 14px 18px !important;
}

body.twins-portal-route .page-header-wrapper :where(h1, h2, h3, h4, .my-account-header),
body:has([data-path="me"]) .page-header-wrapper :where(h1, h2, h3, h4, .my-account-header),
body:has([data-path^="update-profile"]) .page-header-wrapper :where(h1, h2, h3, h4, .my-account-header) {
	font-size: clamp(1.15rem, 1.6vw, 1.45rem) !important;
	line-height: 1.25;
	margin: 0;
}

body.twins-portal-route .empty-apps-state,
body.twins-portal-route .web-list-table .no-result,
body.twins-portal-route .website-list .no-result,
body.twins-portal-route .page_content > .no-result,
body.twins-portal-route .frappe-list:has(.msg-box.no-border),
body.twins-portal-route .page_content:has(> .empty-apps-state) {
	align-items: center !important;
	display: flex !important;
	flex-direction: column;
	justify-content: center !important;
	min-height: clamp(300px, 46vh, 520px);
	text-align: center;
	width: 100%;
}

body.twins-portal-route .empty-apps-state .empty-list-icon,
body.twins-portal-route .no-result .null-state,
body.twins-portal-route .frappe-list .null-state {
	display: block;
	height: auto;
	margin: 0 auto 16px;
	max-width: 96px;
	width: 96px;
}

body.twins-portal-route .empty-apps-state .mt-4,
body.twins-portal-route .no-result p,
body.twins-portal-route .frappe-list .msg-box p {
	color: var(--twins-portal-text);
	font-size: 1rem;
	font-weight: 700;
	margin: 0;
}

body.twins-portal-route .web-list-table {
	min-height: clamp(300px, 46vh, 520px);
}

body.twins-portal-route .twins-portal-sidebar-head,
body.twins-portal-route .twins-portal-menu-backdrop {
	display: none;
}

body.twins-portal-route .twins-portal-sidebar-head {
	align-items: center;
	border-bottom: 1px solid var(--twins-portal-border);
	justify-content: space-between;
	margin: -4px -2px 14px;
	padding: 0 2px 12px;
}

body.twins-portal-route .twins-portal-sidebar-head span {
	color: var(--twins-portal-heading);
	font-size: 1rem;
	font-weight: 700;
}

body.twins-portal-route .twins-portal-menu-close {
	align-items: center;
	background: #eef4fb;
	border: 1px solid #d8e4f2;
	border-radius: 12px;
	color: var(--twins-portal-primary);
	cursor: pointer;
	display: inline-flex;
	font-size: 1.35rem;
	font-weight: 700;
	height: 36px;
	justify-content: center;
	line-height: 1;
	width: 36px;
}

@media (max-width: 991.98px) {
	body.twins-portal-route .page-header-wrapper,
	body:has([data-path="me"]) .page-header-wrapper,
	body:has([data-path^="update-profile"]) .page-header-wrapper {
		border-radius: 18px;
		margin-bottom: 12px;
		min-height: 64px;
		padding: 10px 12px !important;
	}

	body.twins-portal-route .twins-header-icon {
		border-radius: 13px;
		height: 38px;
		width: 38px;
	}

	body.twins-portal-route .twins-header-icon svg {
		height: 20px;
		width: 20px;
	}

	body.twins-portal-route .page-header-wrapper :where(h1, h2, h3, h4, .my-account-header),
	body:has([data-path="me"]) .page-header-wrapper :where(h1, h2, h3, h4, .my-account-header),
	body:has([data-path^="update-profile"]) .page-header-wrapper :where(h1, h2, h3, h4, .my-account-header) {
		font-size: 1.08rem !important;
	}

	body.twins-portal-route .empty-apps-state,
	body.twins-portal-route .web-list-table .no-result,
	body.twins-portal-route .website-list .no-result,
	body.twins-portal-route .page_content > .no-result,
	body.twins-portal-route .frappe-list:has(.msg-box.no-border),
	body.twins-portal-route .page_content:has(> .empty-apps-state),
	body.twins-portal-route .web-list-table {
		min-height: clamp(260px, 42vh, 440px);
	}

	body.twins-has-portal-sidebar .sidebar-column {
		bottom: 0;
		display: block !important;
		left: 0;
		max-width: 340px;
		padding: 0 !important;
		position: fixed !important;
		top: 0;
		transform: translateX(-106%);
		transition: transform 220ms ease;
		width: min(84vw, 340px);
		z-index: 1060;
	}

	body.twins-has-portal-sidebar .twins-portal-drawer {
		bottom: 0;
		display: block;
		left: 0;
		max-width: 340px;
		overflow-y: auto;
		padding: 16px;
		position: fixed;
		top: 0;
		transform: translateX(-106%);
		transition: transform 220ms ease;
		width: min(84vw, 340px);
		z-index: 1060;
	}

	html[dir="rtl"] body.twins-has-portal-sidebar .sidebar-column,
	html[lang="ar"] body.twins-has-portal-sidebar .sidebar-column {
		left: auto;
		right: 0;
		transform: translateX(106%);
	}

	html[dir="rtl"] body.twins-has-portal-sidebar .twins-portal-drawer,
	html[lang="ar"] body.twins-has-portal-sidebar .twins-portal-drawer {
		left: auto;
		right: 0;
		transform: translateX(106%);
	}

	body.twins-portal-menu-open .sidebar-column,
	body.twins-portal-menu-open .twins-portal-drawer,
	html[dir="rtl"] body.twins-portal-menu-open .sidebar-column,
	html[dir="rtl"] body.twins-portal-menu-open .twins-portal-drawer,
	html[lang="ar"] body.twins-portal-menu-open .sidebar-column,
	html[lang="ar"] body.twins-portal-menu-open .twins-portal-drawer {
		transform: translateX(0);
	}

	body.twins-has-portal-sidebar .web-sidebar {
		border-radius: 0 24px 24px 0;
		height: 100%;
		margin: 0 !important;
		overflow-y: auto;
		padding: 16px !important;
		position: static !important;
		top: auto;
	}

	html[dir="rtl"] body.twins-has-portal-sidebar .web-sidebar,
	html[lang="ar"] body.twins-has-portal-sidebar .web-sidebar {
		border-radius: 24px 0 0 24px;
	}

	body.twins-has-portal-sidebar .twins-portal-drawer {
		border-radius: 0 24px 24px 0;
		height: 100%;
	}

	html[dir="rtl"] body.twins-has-portal-sidebar .twins-portal-drawer,
	html[lang="ar"] body.twins-has-portal-sidebar .twins-portal-drawer {
		border-radius: 24px 0 0 24px;
	}

	body.twins-has-portal-sidebar .twins-portal-sidebar-head,
	body.twins-has-portal-sidebar .twins-portal-drawer .twins-portal-sidebar-head {
		display: flex;
	}

	body.twins-has-portal-sidebar .twins-portal-menu-backdrop {
		background: rgba(15, 23, 42, 0.45);
		backdrop-filter: blur(2px);
		display: block;
		inset: 0;
		opacity: 0;
		position: fixed;
		transition: opacity 180ms ease, visibility 180ms ease;
		visibility: hidden;
		z-index: 1055;
	}

	body.twins-portal-menu-open .twins-portal-menu-backdrop {
		opacity: 1;
		visibility: visible;
	}

	body.twins-portal-menu-open {
		overflow: hidden;
	}

	body.twins-has-portal-sidebar .navbar .navbar-toggler {
		align-items: center;
		border: 1px solid var(--twins-portal-border);
		border-radius: 12px;
		display: inline-flex;
		height: 38px;
		justify-content: center;
		width: 48px;
	}

	body.twins-portal-route .navbar-collapse.show,
	body.twins-portal-route .navbar-collapse.collapsing {
		display: none !important;
		height: 0 !important;
		overflow: hidden !important;
	}
}
