:root {
  --shell-sidebar-width: 210px;
  --shell-sidebar-collapsed-width: 64px;
  --shell-content-gutter: 12px;
  --shell-page-inline: 12px;
  --shell-topbar-height: 56px;
  --shell-header-padding: 14px 16px;
  --shell-toolbar-padding: 7px;
  --shell-card-gap: 12px;
  --shell-control-height: 38px;
}
.platform-lock-screen { background-image: linear-gradient(135deg,rgba(2,8,18,.9),rgba(3,25,45,.68)),radial-gradient(circle at 24% 28%,rgba(33,212,253,.22),transparent 34%),linear-gradient(155deg,#163954 0%,#071522 58%,#020811 100%) !important; }
.platform-active-module { display: none !important; }
#topbar { min-height: var(--shell-topbar-height); grid-template-columns: auto minmax(220px,1fr) auto auto auto !important; column-gap: 10px !important; }
.platform-topbar-brand { grid-column: 1 !important; width: max-content; min-width: 0 !important; }
.platform-topbar-search,.global-command-bar { grid-column: 2 !important; width: 100% !important; max-width: none !important; min-width: 220px !important; margin: 0 !important; }
.platform-topbar-utility { grid-column: 3 !important; }
.platform-topbar-utility+.language-selector { grid-column: 4 !important; }
.platform-topbar-utility>.platform-topbar-approvals { display: grid !important; place-items: center; padding: 0 !important; }
.platform-topbar-utility>.platform-topbar-approvals .svg-icon { width: 17px; height: 17px; }
.platform-topbar-profile { grid-column: 5 !important; }
body:not(.platform-auth-mode):not(.platform-launcher-mode) #main-frame { padding-left: var(--shell-sidebar-width); }
body:not(.platform-auth-mode):not(.platform-launcher-mode) #topbar { margin-left: var(--shell-sidebar-width); }
body:not(.platform-auth-mode):not(.platform-launcher-mode) #footer-bar {
  width: calc(100% - var(--shell-sidebar-width));
  margin-left: var(--shell-sidebar-width);
  flex: 0 0 auto;
}
body:not(.platform-auth-mode):not(.platform-launcher-mode) #app-layout:has(#sidebar.collapsed) #main-frame { padding-left: var(--shell-sidebar-collapsed-width); }
body:not(.platform-auth-mode):not(.platform-launcher-mode) #app-layout:has(#sidebar.collapsed) #topbar { margin-left: var(--shell-sidebar-collapsed-width); }
body:not(.platform-auth-mode):not(.platform-launcher-mode) #app-layout:has(#sidebar.collapsed) #footer-bar {
  width: calc(100% - var(--shell-sidebar-collapsed-width));
  margin-left: var(--shell-sidebar-collapsed-width);
}
#view-container {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: var(--shell-page-inline) !important;
}
.shared-page-header { padding: var(--shell-header-padding) !important; }
.contextual-page-toolbar { padding: var(--shell-toolbar-padding) !important; }
.platform-module-grid,.patron-executive-kpis,.manager-command-layout,.reception-command-grid { gap: var(--shell-card-gap) !important; }
.payment-obligation-shared-status { display: grid !important; grid-template-columns: minmax(235px,.8fr) minmax(440px,1.6fr) minmax(330px,1fr) !important; align-items: stretch !important; gap: 10px !important; padding: 10px !important; }
.payment-obligation-identity { display: flex !important; align-items: center !important; gap: 10px !important; min-width: 0; }
.payment-obligation-identity>.svg-icon { flex: 0 0 auto; width: 28px; height: 28px; color: var(--accent-primary); }
.payment-obligation-identity span { display: grid; min-width: 0; }
.payment-obligation-identity strong,.payment-obligation-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.payment-obligation-finance { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
.payment-obligation-finance>span,.payment-obligation-progress>span { display: grid; align-content: center; min-width: 0; padding: 7px; border: 1px solid var(--border-subtle); border-radius: 7px; background: var(--bg-subtle); }
.payment-obligation-finance b,.payment-obligation-progress b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px !important; }
.payment-obligation-progress { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: stretch; gap: 5px; }
.payment-obligation-progress>button { align-self: stretch; width: auto !important; min-width: 92px !important; min-height: var(--shell-control-height); padding-inline: 10px !important; white-space: nowrap; }
.platform-module-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.module-card-v2 { grid-template-columns: minmax(0,1fr) !important; grid-template-rows: minmax(118px,auto) 62px 38px !important; }
.module-card-header { grid-template-columns: 52px minmax(0,1fr) auto !important; width: 100% !important; min-height: 112px !important; }
.module-card-heading { grid-column: 2 !important; width: auto !important; min-width: 0 !important; max-width: none !important; overflow: visible !important; }
.module-card-heading h2 { min-width: 0 !important; font-size: clamp(15px,.9vw,19px) !important; line-height: 1.2 !important; overflow-wrap: anywhere; }
.module-card-heading .module-card-description { display: -webkit-box !important; min-width: 0 !important; min-height: 34px !important; font-size: clamp(12px,.62vw,14px) !important; line-height: 1.35 !important; overflow-wrap: anywhere; }
.module-card-actions { position: relative; z-index: 2; grid-column: 3 !important; grid-row: 1 !important; grid-template-columns: repeat(2,32px) !important; }
.module-card-v2 dl>div { min-height: 54px; }
.module-card-visual { z-index: -1 !important; }
:where(button,.btn,select,input) { min-height: var(--shell-control-height); }
:where(button,.btn):disabled { cursor: not-allowed; opacity: .45; }
:where(button,.btn):focus-visible { outline: 2px solid var(--accent-primary); outline-offset: 2px; }
.platform-sidebar-scroll .nav-item { position: relative; min-width: 0; min-height: 40px; overflow: hidden; }
.platform-sidebar-scroll .nav-item .svg-icon { flex: 0 0 19px; width: 19px; height: 19px; }
.platform-sidebar-scroll .nav-item .nav-text { display: block; min-width: 0; overflow: hidden; color: inherit; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.platform-sidebar-scroll .nav-item.active[aria-current="page"] { color: #dff8ff !important; }
.platform-sidebar-scroll .nav-item.active[aria-current="page"]::before { position: absolute; inset-block: 7px; left: 0; width: 3px; border-radius: 0 3px 3px 0; background: var(--accent-primary); content: ""; }
#sidebar.collapsed .platform-sidebar-scroll .nav-item .nav-text { display: none !important; }
#sidebar.collapsed .platform-sidebar-scroll .nav-item.active[aria-current="page"] { display: flex; justify-content: center; overflow: visible; color: var(--accent-primary) !important; }
#sidebar.collapsed .platform-sidebar-scroll .nav-item.active[aria-current="page"]::before { inset-block: 9px; left: -7px; }
@media (min-width: 1800px) { .platform-module-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; } }
@media (min-width: 3000px) { .platform-module-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; } }
@media (max-width: 1450px) {
  .payment-obligation-shared-status { grid-template-columns: minmax(220px,.8fr) minmax(380px,1.4fr) !important; }
  .payment-obligation-progress { grid-column: 1/-1; }
  .platform-topbar-search,.global-command-bar { min-width: 180px !important; }
}
@media (max-width: 980px) {
  :root { --shell-sidebar-width: 190px; }
  .payment-obligation-shared-status { grid-template-columns: 1fr !important; }
  .payment-obligation-finance { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .platform-module-grid { grid-template-columns: 1fr !important; }
  .platform-topbar-utility { grid-column: 1/-1 !important; grid-row: 2 !important; }
  .platform-topbar-utility+.language-selector { grid-column: 3 !important; grid-row: 1 !important; }
  .platform-topbar-profile { grid-column: 4 !important; grid-row: 1 !important; }
}
@media (max-width: 620px) {
  :root { --shell-sidebar-width: 64px; --shell-page-inline: 8px; }
  .payment-obligation-finance,.payment-obligation-progress { grid-template-columns: 1fr 1fr; }
  .payment-obligation-progress>button { grid-column: 1/-1; }
  .module-card-header { grid-template-columns: 44px minmax(0,1fr) !important; grid-template-rows: auto 34px !important; }
  .module-card-actions { grid-column: 1/-1 !important; grid-row: 2 !important; grid-template-columns: repeat(4,32px) !important; justify-content: start; }
  .platform-topbar-brand { display: none !important; }
  .platform-topbar-utility+.language-selector { grid-column: 2 !important; grid-row: 1 !important; }
  .platform-topbar-profile { grid-column: 3 !important; }
  .platform-topbar-search,.global-command-bar { grid-column: 1 !important; grid-row: 1 !important; min-width: 40px !important; }
}
