/* Application shell — aligned to the ADS Navigation System model. */
.workspace{min-width:0}
.console .workspace{margin-left:var(--app-sidenav-width);transition:margin-left .16s ease}

/* Global staff top navigation: cross-app actions only. */
.staff-topbar,.global-topbar{
  position:sticky;top:var(--app-banner-height);z-index:280;height:var(--app-topnav-height);
  display:flex;align-items:center;gap:var(--ds-space-100);padding:0 var(--ds-space-200);
  border-bottom:1px solid var(--ds-border);background:var(--ds-surface);box-shadow:var(--ds-shadow-overflow)
}
.staff-topbar .topbar-toggle{flex:0 0 auto}
.staff-topbar>.brand{max-width:280px}
.staff-topbar-context{display:flex;align-items:center;gap:var(--ds-space-100);min-width:0;margin-left:var(--ds-space-100);padding-left:var(--ds-space-200);border-left:1px solid var(--ds-border)}
.staff-topbar-context strong{display:block;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.staff-topbar-context small{display:block;color:var(--ds-text-subtle);font:var(--ds-font-body-small)}
.staff-topbar-spacer{flex:1;min-width:var(--ds-space-100)}
.staff-topbar-clock{color:var(--ds-text-subtle);white-space:nowrap}
.staff-account-link{display:flex;align-items:center;gap:var(--ds-space-075);min-height:36px;max-width:220px;padding:0 var(--ds-space-100);border-radius:var(--ds-border-radius-050);color:var(--ds-text)}
.staff-account-link:hover{background:var(--ds-background-neutral);text-decoration:none}
.staff-account-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.staff-topbar .display-tools{position:relative;inset:auto;z-index:auto}
.staff-topbar .display-tools-button{box-shadow:none}
.staff-topbar .display-tools-panel{top:44px;bottom:auto}

/* App-specific side navigation. */
.sidebar{
  position:fixed;left:0;top:calc(var(--app-banner-height) + var(--app-topnav-height));bottom:0;z-index:250;
  width:var(--app-sidenav-width);display:flex;flex-direction:column;background:var(--ds-surface);
  border-right:1px solid var(--ds-border);overflow:hidden;transition:width .16s ease,transform .16s ease,visibility .16s ease
}
.sidebar-head{display:flex;align-items:center;gap:var(--ds-space-100);min-height:56px;padding:var(--ds-space-100) var(--ds-space-150);border-bottom:1px solid var(--ds-border)}
.sidebar-head-copy{min-width:0}
.sidebar-head-copy strong,.sidebar-head-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-head-copy strong{font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.sidebar-head-copy small{font:var(--ds-font-body-small);color:var(--ds-text-subtle)}
#nav-close{display:none;margin-left:auto}
.sidebar-scroll{flex:1;overflow:auto;padding:var(--ds-space-100);overscroll-behavior:contain;scrollbar-gutter:stable}
.sidebar nav{display:grid;gap:var(--ds-space-025)}
.nav-section-label{display:block;margin:var(--ds-space-200) var(--ds-space-100) var(--ds-space-050);font:var(--ds-font-body-small);font-weight:var(--ds-font-weight-medium);color:var(--ds-text-subtlest)}
.sidebar nav>.nav-section-label:first-child{margin-top:var(--ds-space-050)}
.nav-link{
  position:relative;display:flex;align-items:center;gap:var(--ds-space-100);min-height:40px;padding:var(--ds-space-100);
  border-radius:var(--ds-border-radius-050);color:var(--ds-text-subtle);font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium);text-decoration:none
}
.nav-link:hover{background:var(--ds-background-neutral);color:var(--ds-text);text-decoration:none}
.nav-link.active,.nav-link[aria-current="page"]{background:var(--ds-background-selected);color:var(--ds-text);font-weight:var(--ds-font-weight-semibold)}
.nav-link.active .icon,.nav-link[aria-current="page"] .icon{color:var(--ds-icon-brand)}
.nav-link .icon{width:16px;height:16px;color:var(--ds-icon);flex:0 0 auto}
.nav-link-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-bottom{padding:var(--ds-space-100);border-top:1px solid var(--ds-border);background:var(--ds-surface)}
.sidebar-bottom .nav-link{margin-bottom:var(--ds-space-025)}
.account-card{display:flex;align-items:center;gap:var(--ds-space-100);min-height:48px;margin-top:var(--ds-space-050);padding:var(--ds-space-075) var(--ds-space-100);border-radius:var(--ds-border-radius-050);background:var(--ds-background-neutral)}
.account-card>.icon{color:var(--ds-icon)}
.account-card a{min-width:0;color:var(--ds-text)}
.account-card a:hover{text-decoration:none}
.account-card strong,.account-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-card strong{font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.account-card small{font:var(--ds-font-body-small);color:var(--ds-text-subtle)}
.sidebar-signout{width:100%;justify-content:flex-start;padding:0 var(--ds-space-100)}

.nav-backdrop{position:fixed;inset:calc(var(--app-banner-height) + var(--app-topnav-height)) 0 0;z-index:240;background:var(--ds-blanket)}
.mobile-bar{display:none}

/* Public top navigation: mobile-first. */
.public-header{
  position:sticky;top:var(--app-banner-height);z-index:250;min-height:var(--app-topnav-height);
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--ds-space-100);
  padding:var(--ds-space-100) var(--ds-space-200);background:var(--ds-surface);border-bottom:1px solid var(--ds-border);box-shadow:var(--ds-shadow-overflow)
}
.public-header .brand{min-width:0}
.public-nav-toggle{display:inline-flex}
.public-header nav{display:none}
.public-nav-open .public-header nav{
  position:fixed;left:0;right:0;top:calc(var(--app-banner-height) + var(--app-topnav-height));bottom:0;z-index:245;
  display:flex;flex-direction:column;align-items:stretch;gap:var(--ds-space-025);padding:var(--ds-space-100) var(--ds-space-150) max(var(--ds-space-200),env(safe-area-inset-bottom));
  overflow:auto;background:var(--ds-surface);border-top:1px solid var(--ds-border)
}
.public-nav-open{overflow:hidden}
.public-header nav>a:not(.button),.public-header nav .text-button{display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:0 var(--ds-space-150);border-radius:var(--ds-border-radius-050);color:var(--ds-text-subtle);font-weight:var(--ds-font-weight-medium)}
.public-header nav>a:not(.button):hover,.public-header nav .text-button:hover{background:var(--ds-background-neutral);color:var(--ds-text);text-decoration:none}
.public-header nav>a[aria-current="page"]{background:var(--ds-background-selected);color:var(--ds-text);font-weight:var(--ds-font-weight-semibold)}
.public-header .public-staff-link{margin-top:var(--ds-space-100);min-height:44px}
.public-header .display-tools{position:relative;right:auto;bottom:auto;width:100%}
.public-header .display-tools-button{width:100%;min-height:44px;justify-content:flex-start;box-shadow:none}
.public-header .display-tools-panel{position:static;width:100%;margin-top:var(--ds-space-050)}
.public .workspace{max-width:none;margin:0}
.public main{width:100%;max-width:1360px;margin:0 auto;padding:var(--ds-space-200) var(--ds-space-200) var(--ds-space-400)}
@media (min-width:901px){
  .public-header{display:flex;justify-content:space-between;gap:var(--ds-space-300);padding-inline:max(var(--ds-space-300),calc((100% - 1360px)/2))}
  .public-nav-toggle{display:none}
  .public-header nav,.public-nav-open .public-header nav{position:static;display:flex;flex-direction:row;align-items:center;gap:var(--ds-space-025);padding:0;overflow:visible;background:transparent;border:0}
  .public-nav-open{overflow:auto}
  .public-header nav>a:not(.button),.public-header nav .text-button{min-height:36px;padding:0 var(--ds-space-100)}
  .public-header .public-staff-link{margin-top:0;min-height:32px}
  .public-header .display-tools{width:auto}
  .public-header .display-tools-button{width:auto;min-height:32px;padding-inline:var(--ds-space-100)}
  .public-header .display-tools-panel{position:absolute;right:0;top:40px;width:272px;margin:0}
  .public main{padding:var(--ds-space-300)}
}

/* Main content and recurring page structure. */
main{max-width:var(--app-content-max);min-width:0;min-height:75vh;margin:0 auto;padding:var(--ds-space-300) var(--app-page-gutter)}
.page-footer{display:grid;grid-template-columns:1fr;gap:var(--ds-space-250);padding:var(--ds-space-300) var(--app-page-gutter);border-top:1px solid var(--ds-border);background:var(--ds-surface);color:var(--ds-text-subtle);font:var(--ds-font-body)}
.page-footer-summary p{margin:var(--ds-space-100) 0 0}
.page-footer-brand{display:flex;align-items:center;gap:var(--ds-space-100);min-width:0}
.page-footer-brand strong,.page-footer-brand small{display:block}
.page-footer-brand strong{color:var(--ds-text);font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.page-footer-brand small{color:var(--ds-text-subtle)}
.page-footer-group{display:grid;align-content:start;gap:var(--ds-space-050)}
.page-footer-group>strong{margin-bottom:var(--ds-space-050);color:var(--ds-text);font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.page-footer-group>a,.page-footer-group>span{display:inline-flex;align-items:center;gap:var(--ds-space-050);min-height:28px;color:var(--ds-text-subtle)}
.page-footer-group>a:hover{color:var(--ds-text);text-decoration:underline}
.page-footer-group .icon{width:12px;height:12px}
@media (min-width:600px){.page-footer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.page-footer{grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(150px,.65fr));padding-inline:max(var(--ds-space-300),calc((100% - 1360px)/2))}}
.simulation-bar{padding:var(--ds-space-100) var(--app-page-gutter);display:flex;align-items:center;gap:var(--ds-space-100);flex-wrap:wrap;background:var(--ds-background-information);border-bottom:1px solid var(--ds-border);color:var(--ds-text-information);font:var(--ds-font-body)}

.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ds-space-300);margin-bottom:var(--ds-space-300);flex-wrap:wrap}
.page-heading>div:first-child{min-width:0;flex:1 1 320px}
.page-heading p:last-child{margin-bottom:0}
.record-heading-actions{display:flex;align-items:flex-end;flex-direction:column;gap:var(--ds-space-100)}
.back-link{display:inline-flex;align-items:center;gap:var(--ds-space-050);margin-bottom:var(--ds-space-100);font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.scope-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-150);flex-wrap:wrap;margin:var(--ds-space-200) 0}
.scope-row h2{margin:0}
.panel{min-width:0;padding:var(--ds-space-250);border:1px solid var(--ds-border);border-radius:var(--ds-border-radius-200);background:var(--ds-surface)}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-150);margin-bottom:var(--ds-space-200)}
.panel-heading h2{margin:0}
.two-column,.operations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-250);align-items:start}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:var(--ds-space-250);align-items:start;margin-top:var(--ds-space-250)}
.bottom-grid{margin-top:var(--ds-space-250)}
.operation-rail{display:flex;flex-direction:column;gap:var(--ds-space-200);min-width:0}
.narrow{max-width:760px}

.taluk-filter{display:flex;align-items:end;gap:var(--ds-space-100);flex-wrap:wrap}
.taluk-filter label{display:grid;gap:var(--ds-space-050);font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium);color:var(--ds-text-subtle)}
.taluk-filter label .icon{width:16px;height:16px}
.taluk-filter select{width:auto;min-width:168px}

.empty-state{display:grid;place-items:center;gap:var(--ds-space-100);min-height:170px;padding:var(--ds-space-300);border:1px dashed var(--ds-border-bold);border-radius:var(--ds-border-radius-200);background:var(--ds-background-subtle);text-align:center;color:var(--ds-text-subtle)}
.empty-state .icon{color:var(--ds-icon-subtle)}
.empty-state p{margin:0;max-width:520px}


/* Desktop Operations is a distinct application shell: identity lives in the
   persistent sidebar, while the top bar belongs to the current workspace. */
.mobile-operations-brand{display:none}
@media (min-width:901px){
  .staff-topbar{margin-left:var(--app-sidenav-width)}
  .staff-topbar-context{margin-left:0;padding-left:0;border-left:0}
  .sidebar{top:var(--app-banner-height)}
  .sidebar-head{min-height:var(--app-topnav-height)}
}
@media (max-width:900px){
  .mobile-operations-brand{display:flex;align-items:center;gap:var(--ds-space-075);color:var(--ds-text);text-decoration:none}
  .mobile-operations-brand strong{font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
}

/* Hideable operations navigation. The top-bar menu button remains available at every width. */
@media (min-width:901px){
  .staff-topbar .topbar-toggle{display:inline-flex!important}
  .sidebar-hidden .sidebar{transform:translateX(-101%);visibility:hidden;pointer-events:none}
  .sidebar-hidden.console .workspace{margin-left:0}
  .sidebar-hidden .staff-topbar{margin-left:0}
}

/* --------------------------------------------------------------------------
   Kaithuna identity + clearer Public / Operations separation
   -------------------------------------------------------------------------- */
.brand-logo{display:block;width:36px;height:36px;flex:0 0 auto;border-radius:var(--ds-border-radius-200);box-shadow:0 0 0 1px var(--ds-border)}
.mobile-operations-brand .brand-logo{width:32px;height:32px}
.sidebar-logo{width:36px;height:36px}
.brand-copy{min-width:0}
.portal-label{color:var(--ds-text-brand);font-weight:var(--ds-font-weight-semibold)}

/* Public portal is a light, content-first navigation bar. */
.public-header{display:block;min-height:64px;padding:0;background:var(--ds-surface);box-shadow:var(--ds-shadow-overflow)}
.public-header-inner{width:100%;max-width:1480px;min-height:64px;margin:0 auto;padding:0 var(--ds-space-250);display:grid;grid-template-columns:minmax(220px,auto) 1fr auto;align-items:center;gap:var(--ds-space-200)}
.public-header .brand{gap:var(--ds-space-100)}
.public-header .brand strong{font:var(--ds-font-body-large);font-weight:var(--ds-font-weight-semibold)}
.public-header .brand small{margin-top:0}
.public-header nav{min-width:0}
.public-nav-links,.public-nav-actions{display:flex;align-items:center;gap:var(--ds-space-025)}
.public-nav-links{justify-content:flex-end;min-width:0}
.public-nav-actions{padding-left:var(--ds-space-100);border-left:1px solid var(--ds-border)}
.public-nav-links>a{display:inline-flex;align-items:center;min-height:36px;padding:0 var(--ds-space-100);border-radius:var(--ds-border-radius-050);color:var(--ds-text-subtle);font-weight:var(--ds-font-weight-medium);white-space:nowrap}
.public-nav-links>a:hover{background:var(--ds-background-neutral);color:var(--ds-text);text-decoration:none}
.public-nav-links>a[aria-current="page"]{background:var(--ds-background-selected);color:var(--ds-text-brand)}
.header-icon-link,.topbar-icon-link{width:36px;height:36px;border-radius:var(--ds-border-radius-100);color:var(--ds-icon)}
.header-icon-link:hover,.topbar-icon-link:hover{background:var(--ds-background-neutral);color:var(--ds-text)}
.header-icon-link[aria-current="page"]{background:var(--ds-background-selected);color:var(--ds-icon-brand)}
.public-header .public-staff-link{min-height:36px;margin:0 0 0 var(--ds-space-050);padding-inline:var(--ds-space-125,var(--ds-space-100));background:var(--ds-background-brand-bold);color:var(--ds-text-inverse)}
.public-header .public-staff-link:hover{background:var(--ds-background-brand-bold-hovered);color:var(--ds-text-inverse);text-decoration:none}
.public-header .display-tools{position:relative;inset:auto;width:auto}
.public-header .display-tools-button{width:36px;min-height:36px;box-shadow:none}
.public-header .display-tools-panel{position:absolute;right:0;top:44px;width:292px;margin:0}
.public-nav-toggle{display:none}

/* Operations shell uses an explicit workspace identity, rather than looking like the public portal. */
.staff-topbar{background:var(--ds-surface);border-bottom-color:var(--ds-border);box-shadow:var(--ds-shadow-overflow)}
.staff-topbar-context{gap:var(--ds-space-100)}
.workspace-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--ds-space-075);border-radius:var(--ds-border-radius-050);background:var(--ds-background-selected);color:var(--ds-text-brand);font:var(--ds-font-body-small);font-weight:var(--ds-font-weight-bold);text-transform:uppercase;letter-spacing:.02em}
.staff-topbar .display-tools{position:relative;inset:auto;z-index:auto}
.staff-topbar .display-tools-panel{top:44px;bottom:auto}
.staff-account-link{width:36px;height:36px;min-height:36px;padding:0;justify-content:center;border-radius:var(--ds-border-radius-100)}
.staff-account-link span{display:none}
.sidebar{background:var(--ds-background-subtle)}
.sidebar-head,.sidebar-bottom{background:var(--ds-surface)}
.sidebar-scroll{background:var(--ds-background-subtle)}
.sidebar .nav-link{color:var(--ds-text-subtle)}
.sidebar .nav-link.active,.sidebar .nav-link[aria-current="page"]{background:var(--ds-background-selected);color:var(--ds-text-brand)}
.sidebar .nav-section-label{text-transform:uppercase;letter-spacing:.04em;font-weight:var(--ds-font-weight-bold)}

/* Compact footer: identity + useful links + credit, without a second navigation wall. */
.page-footer{display:block;padding:0;border-top:1px solid var(--ds-border);background:var(--ds-surface);color:var(--ds-text-subtle)}
.page-footer-inner{width:100%;max-width:1480px;margin:0 auto;padding:var(--ds-space-250);display:grid;grid-template-columns:minmax(300px,1fr) auto auto;align-items:center;gap:var(--ds-space-300)}
.page-footer-summary{display:flex;align-items:center;gap:var(--ds-space-200);min-width:0}
.page-footer-brand{display:flex;align-items:center;gap:var(--ds-space-100);min-width:0;color:var(--ds-text)}
.page-footer-brand:hover{text-decoration:none}
.page-footer-brand strong,.page-footer-brand small{display:block}
.page-footer-brand strong{font-weight:var(--ds-font-weight-semibold)}
.page-footer-brand small{margin-top:1px;font:var(--ds-font-body-small);color:var(--ds-text-subtle)}
.page-footer-place{padding-left:var(--ds-space-200);border-left:1px solid var(--ds-border);font:var(--ds-font-body-small);white-space:nowrap}
.page-footer-links{display:flex;align-items:center;gap:var(--ds-space-050);flex-wrap:wrap;justify-content:flex-end}
.page-footer-links a{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--ds-space-075);border-radius:var(--ds-border-radius-050);color:var(--ds-text-subtle);font-weight:var(--ds-font-weight-medium)}
.page-footer-links a:hover{background:var(--ds-background-neutral);color:var(--ds-text);text-decoration:none}
.page-footer-credit{display:inline-flex;align-items:center;gap:var(--ds-space-050);min-height:34px;padding:0 var(--ds-space-100);border:1px solid var(--ds-border);border-radius:var(--ds-border-radius-100);background:var(--ds-background-subtle);color:var(--ds-text);font-weight:var(--ds-font-weight-semibold);white-space:nowrap}
.page-footer-credit:hover{background:var(--ds-background-neutral);text-decoration:none}
.page-footer-credit .icon{width:13px;height:13px}

@media (max-width:1180px) and (min-width:901px){
  .public-header-inner{padding-inline:var(--ds-space-200);gap:var(--ds-space-100)}
  .public-header .brand small{display:none}
  .public-nav-links>a{padding-inline:var(--ds-space-075)}
  .public-header .public-staff-link span{display:none}
  .page-footer-inner{grid-template-columns:1fr auto}
  .page-footer-credit{grid-column:2;grid-row:1}
  .page-footer-links{grid-column:1/-1;justify-content:flex-start}
}

@media (max-width:900px){
  .public-header-inner{min-height:60px;padding:0 var(--ds-space-150);grid-template-columns:minmax(0,1fr) auto}
  .public-header .brand-logo{width:34px;height:34px}
  .public-nav-toggle{display:inline-flex;width:40px;height:40px}
  .public-header nav{display:none}
  .public-nav-open .public-header nav{position:fixed;left:0;right:0;top:calc(var(--app-banner-height) + 60px);bottom:0;z-index:245;display:flex;flex-direction:column;align-items:stretch;gap:var(--ds-space-200);padding:var(--ds-space-150) var(--ds-space-150) max(var(--ds-space-300),env(safe-area-inset-bottom));overflow:auto;background:var(--ds-surface);border-top:1px solid var(--ds-border)}
  .public-nav-links,.public-nav-actions{display:grid;grid-template-columns:1fr;gap:var(--ds-space-050);width:100%;justify-content:stretch}
  .public-nav-links>a{min-height:46px;padding:0 var(--ds-space-150);font:var(--ds-font-body-large);font-weight:var(--ds-font-weight-medium)}
  .public-nav-actions{grid-template-columns:repeat(3,44px) minmax(0,1fr);padding:var(--ds-space-150) 0 0;border-left:0;border-top:1px solid var(--ds-border)}
  .public-nav-actions>.icon-button,.public-nav-actions>.display-tools>.display-tools-button{width:44px;height:44px;min-height:44px;border:1px solid var(--ds-border);background:var(--ds-surface)}
  .public-header .display-tools{width:auto}
  .public-header .display-tools-panel{position:fixed;left:var(--ds-space-150);right:var(--ds-space-150);top:auto;bottom:max(var(--ds-space-150),env(safe-area-inset-bottom));width:auto;max-height:70vh;overflow:auto}
  .public-header .public-staff-link{min-height:44px;margin:0;justify-self:stretch}
  .page-footer-inner{display:grid;grid-template-columns:1fr;gap:var(--ds-space-200);padding:var(--ds-space-250) var(--ds-space-200)}
  .page-footer-summary{align-items:flex-start;flex-wrap:wrap;gap:var(--ds-space-100)}
  .page-footer-place{width:100%;padding-left:44px;border:0}
  .page-footer-links{justify-content:flex-start}
  .page-footer-credit{justify-self:start}
  .operations-live-indicator{display:none}
}

@media (max-width:520px){
  .public-header .brand small{display:none}
  .public-header .brand strong{font:var(--ds-font-body);font-weight:var(--ds-font-weight-semibold)}
  .page-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .page-footer-links a{padding:0}
}

/* --------------------------------------------------------------------------
   Final public shell polish — one stable header and one restrained footer.
   -------------------------------------------------------------------------- */
.public-header{
  min-height:var(--app-topnav-height);
  padding:0;
  background:var(--ds-surface);
  border-bottom:1px solid var(--ds-border);
  box-shadow:var(--ds-shadow-overflow);
}
.public-header-inner{
  width:100%;max-width:1480px;min-height:var(--app-topnav-height);margin:0 auto;
  padding:0 var(--ds-space-300);display:flex;align-items:center;gap:var(--ds-space-200)
}
.public-brand{flex:0 0 auto;gap:var(--ds-space-100)}
.public-header .brand-logo{width:38px;height:38px;border-radius:var(--ds-border-radius-200);box-shadow:none}
.public-brand .brand-copy{display:flex;align-items:center}
.public-brand .brand-copy strong{font:var(--ds-font-body-large);font-weight:var(--ds-font-weight-semibold);overflow:visible}
.public-header nav{min-width:0;margin-left:auto;display:flex;align-items:center;gap:var(--ds-space-100)}
.public-nav-links,.public-nav-actions{display:flex;align-items:center;gap:var(--ds-space-025)}
.public-nav-links{justify-content:flex-end;min-width:0}
.public-nav-actions{flex:0 0 auto;padding-left:var(--ds-space-100);border-left:1px solid var(--ds-border)}
.public-nav-links>a{min-height:36px;padding:0 var(--ds-space-100);font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.public-header .public-staff-link{min-height:36px;margin:0 0 0 var(--ds-space-050)}
.public-nav-toggle{display:none}

/* Footer mirrors the header rather than becoming a second navigation wall. */
.page-footer{display:block;padding:0;border-top:1px solid var(--ds-border);background:var(--ds-background-subtle)}
.page-footer-inner{
  width:100%;max-width:1480px;min-height:88px;margin:0 auto;padding:var(--ds-space-200) var(--ds-space-300);
  display:grid;grid-template-columns:minmax(360px,1fr) auto auto;align-items:center;gap:var(--ds-space-300)
}
.page-footer-identity{display:flex;align-items:center;gap:var(--ds-space-200);min-width:0}
.page-footer-brand{display:flex;align-items:center;gap:var(--ds-space-100);min-width:0;color:var(--ds-text);text-decoration:none}
.page-footer-brand:hover{text-decoration:none}
.page-footer-brand .brand-logo{width:36px;height:36px;box-shadow:none}
.page-footer-brand strong,.page-footer-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-footer-brand strong{font:var(--ds-font-body);font-weight:var(--ds-font-weight-semibold)}
.page-footer-brand small{margin-top:var(--ds-space-025);font:var(--ds-font-body-small);color:var(--ds-text-subtle)}
.page-footer-place{padding-left:var(--ds-space-200);border-left:1px solid var(--ds-border);font:var(--ds-font-body-small);color:var(--ds-text-subtle);white-space:nowrap}
.page-footer-links{display:flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-025);white-space:nowrap}
.page-footer-links a{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--ds-space-075);border-radius:var(--ds-border-radius-050);color:var(--ds-text-subtle);font:var(--ds-font-body);font-weight:var(--ds-font-weight-medium)}
.page-footer-links a:hover{background:var(--ds-background-neutral);color:var(--ds-text);text-decoration:none}
.page-footer-credit{display:inline-flex;align-items:center;gap:var(--ds-space-050);min-height:32px;padding:0;color:var(--ds-text-brand);font:var(--ds-font-body);font-weight:var(--ds-font-weight-semibold);white-space:nowrap}
.page-footer-credit:hover{text-decoration:underline;text-underline-offset:2px}
.page-footer-credit .icon{width:13px;height:13px}

@media (max-width:1240px) and (min-width:1081px){
  .public-header-inner{padding-inline:var(--ds-space-200);gap:var(--ds-space-100)}
  .public-nav-links>a{padding-inline:var(--ds-space-075)}
  .public-header .public-staff-link span{display:none}
  .page-footer-inner{grid-template-columns:minmax(300px,1fr) auto}
  .page-footer-links{grid-column:1/-1;grid-row:2;justify-content:flex-start}
  .page-footer-credit{grid-column:2;grid-row:1}
}

@media (max-width:1080px){
  .public-header-inner{min-height:60px;padding:0 var(--ds-space-200);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ds-space-100)}
  .public-brand{grid-column:1}
  .public-nav-toggle{grid-column:2;display:inline-flex;width:40px;height:40px;justify-self:end}
  .public-header nav{display:none}
  .public-nav-open .public-header nav{
    position:fixed;left:0;right:0;top:calc(var(--app-banner-height) + 60px);bottom:0;z-index:245;
    display:flex;flex-direction:column;align-items:stretch;gap:var(--ds-space-200);margin:0;
    padding:var(--ds-space-150) var(--ds-space-200) max(var(--ds-space-300),env(safe-area-inset-bottom));
    overflow:auto;background:var(--ds-surface);border-top:1px solid var(--ds-border)
  }
  .public-nav-links{display:grid;grid-template-columns:1fr;gap:var(--ds-space-025);width:100%;justify-content:stretch}
  .public-nav-links>a{min-height:46px;padding:0 var(--ds-space-150);font:var(--ds-font-body-large);font-weight:var(--ds-font-weight-medium)}
  .public-nav-actions{display:grid;grid-template-columns:repeat(3,44px) minmax(0,1fr);gap:var(--ds-space-100);width:100%;padding:var(--ds-space-150) 0 0;border-left:0;border-top:1px solid var(--ds-border)}
  .public-nav-actions>.icon-button,.public-nav-actions>.display-tools>.display-tools-button{width:44px;height:44px;min-height:44px;border:1px solid var(--ds-border);background:var(--ds-surface)}
  .public-header .public-staff-link{min-height:44px;margin:0;justify-self:stretch}

  .page-footer-inner{min-height:0;grid-template-columns:1fr auto;gap:var(--ds-space-150) var(--ds-space-250);padding:var(--ds-space-250) var(--ds-space-200)}
  .page-footer-identity{align-items:flex-start;flex-wrap:wrap;gap:var(--ds-space-100)}
  .page-footer-place{width:100%;padding-left:44px;border-left:0}
  .page-footer-links{grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:wrap}
  .page-footer-credit{grid-column:2;grid-row:1;align-self:start}
}

@media (max-width:600px){
  .public-header-inner{padding-inline:var(--ds-space-150)}
  .public-brand{grid-column:1}
  .public-brand .brand-copy strong{font:var(--ds-font-body);font-weight:var(--ds-font-weight-semibold)}
  .public-header .brand-logo{width:36px;height:36px}
  .page-footer-inner{display:flex;flex-direction:column;align-items:stretch;gap:var(--ds-space-150)}
  .page-footer-identity{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
  .page-footer-place{grid-column:2;width:auto;padding:0;border:0}
  .page-footer-links{display:flex;justify-content:flex-start;gap:var(--ds-space-050);overflow-x:auto;scrollbar-width:none}
  .page-footer-links::-webkit-scrollbar{display:none}
  .page-footer-credit{align-self:flex-start}
}
