:root{
  --ink:#172033;
  --muted:#667085;
  --line:#d8dee8;
  --panel:#ffffff;
  --page:#f5f7fb;
  --brand:#116a7b;
  --brand-dark:#0a3f4b;
  --accent:#b87333;
  --success:#16794c;
  --danger:#b42318;
  --shadow:0 20px 60px rgba(23,32,51,.14);
}
*{box-sizing:border-box}
body{
  margin:0;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    linear-gradient(135deg,rgba(17,106,123,.08),transparent 38%),
    linear-gradient(315deg,rgba(184,115,51,.10),transparent 34%),
    var(--page);
}
main{min-height:100vh;padding:32px}
h1,h2,p{margin-top:0}
h1{font-size:clamp(2rem,5vw,4.8rem);line-height:1.02;margin-bottom:20px;letter-spacing:0}
h2{font-size:1.25rem;line-height:1.2;margin-bottom:0}
a{color:var(--brand-dark);font-weight:700;text-decoration:none}
a:hover{text-decoration:underline}
label{display:block;margin:16px 0 8px;font-size:.88rem;font-weight:700;color:#344054}
input,select,textarea,button{
  width:100%;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:8px;
  font:inherit;
}
input,select,textarea{background:var(--theme-input-background,var(--panel));color:var(--theme-ink,var(--ink));padding:11px 12px;border-color:var(--theme-line,var(--line))}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid rgba(17,106,123,.18);outline-offset:2px;border-color:var(--brand)}
button{cursor:pointer;padding:11px 16px;background:var(--brand);color:white;border-color:var(--brand);font-weight:800}
button:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.auth-shell{
  max-width:1180px;
  min-height:calc(100vh - 64px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);
  align-items:center;
  gap:36px;
}
.brand-panel{padding:24px 8px}
.brand-mark{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin-bottom:26px;
  border-radius:8px;
  background:var(--brand-dark);
  color:white;
  font-weight:900;
  font-size:1.5rem;
  box-shadow:0 12px 34px rgba(10,63,75,.24);
}
.brand-mark svg,
.brand-mark img{
  width:78%;
  height:78%;
  display:block;
  overflow:visible;
}
.core-brand-mark.brand-mark{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  color:inherit;
}
.core-brand-mark.brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.core-logo-shield{
  fill:url("#core-logo-shell");
}
.core-logo-left{
  fill:rgba(130,210,255,.84);
}
.core-logo-right{
  fill:rgba(36,124,190,.92);
}
.core-logo-ridge{
  fill:rgba(142,226,255,.92);
}
.core-logo-line{
  fill:none;
  stroke:rgba(255,255,255,.78);
  stroke-width:3.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.core-logo-core{
  fill:var(--accent);
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.28));
}
.eyebrow{
  margin-bottom:10px;
  color:var(--brand-dark);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.lead{max-width:700px;color:#475467;font-size:1.08rem;line-height:1.7;margin-bottom:34px}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:780px}
.proof-grid div,.auth-card,.management-panel,.table-panel{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(216,222,232,.85);
  border-radius:8px;
  box-shadow:0 12px 30px rgba(23,32,51,.08);
}
.proof-grid div{padding:18px}
.proof-grid strong,.proof-grid span{display:block}
.proof-grid strong{margin-bottom:6px}
.proof-grid span{color:var(--muted);font-size:.9rem;line-height:1.45}
.auth-card{padding:10px;box-shadow:var(--shadow)}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px;padding:4px;background:#eef3f6;border-radius:8px}
.utility-tab{display:none}
.utility-tab.active{display:block}
.tab-button{
  min-height:40px;
  background:transparent;
  border:0;
  color:#475467;
  border-radius:6px;
}
.tab-button:hover,.tab-button.active{background:white;color:var(--brand-dark);box-shadow:0 4px 14px rgba(23,32,51,.08)}
.auth-panel{display:none;padding:24px}
.auth-panel.active{display:block}
.panel-heading{margin-bottom:18px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tenant-detail-fields{grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:start}
.primary-action{margin-top:20px;background:var(--brand-dark);border-color:var(--brand-dark)}
.primary-action:hover{background:#082f39;border-color:#082f39}
.secondary-form-action{margin-top:12px;background:white;color:var(--brand-dark);border-color:#b9c6d2}
.secondary-form-action:hover{background:#eef6f8;color:var(--brand-dark);border-color:#8fb0b9}
.secondary-action{width:auto;background:white;color:var(--brand-dark);border-color:#b9c6d2}
.secondary-action:hover{background:#eef6f8;color:var(--brand-dark);border-color:#8fb0b9}
.link-button{
  width:auto;
  min-height:0;
  padding:0;
  background:transparent;
  border:0;
  color:var(--brand-dark);
  font-weight:800;
}
.link-button:hover{background:transparent;text-decoration:underline;color:var(--brand-dark)}
.form-footer{display:flex;justify-content:space-between;gap:16px;margin-top:18px;font-size:.92rem}
.microcopy{margin:14px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}
.divider{height:1px;background:var(--line);margin:22px 0 4px}
.result{
  display:none;
  margin:16px 0 0;
  padding:14px;
  overflow:auto;
  max-height:180px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:8px;
  color:#344054;
  white-space:pre-wrap;
}
.result:not(:empty){display:block}
.inline-status{
  display:none;
  margin:16px 0 0;
  padding:12px 14px;
  border:1px solid rgba(22,121,76,.22);
  border-radius:8px;
  background:rgba(22,121,76,.08);
  color:#0f5132;
  font-size:.92rem;
  font-weight:700;
  line-height:1.45;
}
.inline-status:not(:empty){display:block}
.toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:10;
  max-width:min(420px,calc(100vw - 48px));
  padding:0;
  border-radius:8px;
  box-shadow:var(--shadow);
  color:white;
  background:var(--danger);
  font-weight:700;
}
.toast:not(:empty){padding:14px 16px}
.toast.success{background:var(--success)}
.workspace-shell{max-width:1180px;margin:0 auto}
.landing-shell{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:calc(100vh - 64px);
  margin:-32px;
  background:var(--theme-brand-dark,#0a3f4b);
}
.landing-shell::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    var(--theme-page-overlay,linear-gradient(180deg,rgba(10,32,48,.72) 0%,rgba(17,74,96,.48) 36%,rgba(248,250,252,.72) 100%)),
    var(--theme-header-photo,var(--theme-header-image,linear-gradient(180deg,#f8fafc,#eef3f6)));
  background-repeat:no-repeat;
  background-position:var(--theme-header-position,center center);
  background-size:cover;
  opacity:var(--theme-page-opacity,1);
}
.landing-header{
  position:sticky;
  top:0;
  z-index:1000;
  display:grid;
  grid-template-columns:1fr minmax(260px,420px) 1fr;
  align-items:center;
  min-height:72px;
  padding:12px 24px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(12px);
}
.landing-header::before{
  display:none !important;
}
.landing-header > *{
  position:relative;
  z-index:1;
}
.launcher-wrap,.profile-wrap{position:relative}
.profile-wrap{justify-self:end}
.launcher-control{
  display:inline-flex;
  align-items:center;
}
.logo-button,.profile-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:auto;
  min-height:44px;
  background:white;
  color:var(--ink);
  border-color:#d0d7e2;
}
.profile-button{
  background:color-mix(in srgb,var(--panel) 50%,transparent) !important;
  min-height:40px;
  padding:6px 10px;
}
.logo-button:hover,.profile-button:hover{background:#f3f7f8;color:var(--ink);border-color:#afbdc9}
.logo-button{
  justify-content:center;
  min-width:62px;
  min-height:54px;
  padding:4px;
  background:transparent;
  border-color:transparent;
  border-radius:6px;
  box-shadow:none;
}
.logo-button:hover,.logo-button:focus-visible{
  background:color-mix(in srgb,var(--brand) 18%,rgba(255,255,255,.08));
  border-color:color-mix(in srgb,var(--accent) 38%,rgba(255,255,255,.08));
  color:white;
  filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.brand-mark.small{
  width:45px;
  height:45px;
  margin:0;
  font-size:1rem;
  box-shadow:none;
}
.brand-mark.small svg,
.brand-mark.small img{
  width:45px;
  height:45px;
}
.tenant-switcher{
  justify-self:center;
  width:min(420px,100%);
}
.tenant-switcher label{
  margin:0 0 4px;
  text-align:center;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tenant-switcher select{min-height:40px;text-align:center}
.tenant-picker{position:relative;min-width:0}
.tenant-picker-trigger{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:44px;
  padding:5px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel);
  color:var(--ink);
  box-shadow:none;
  text-align:left;
}
.tenant-picker-trigger:hover,.tenant-picker-trigger:focus-visible{
  background:color-mix(in srgb,var(--panel) 88%,var(--brand) 12%);
  border-color:var(--brand);
  color:var(--ink);
}
.tenant-picker-label{
  min-width:0;
  overflow:hidden;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tenant-picker-chevron{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .16s ease;
}
.tenant-picker-trigger[aria-expanded="true"] .tenant-picker-chevron{transform:rotate(180deg)}
.tenant-picker-menu{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  z-index:1200;
  display:grid;
  gap:4px;
  width:100%;
  max-height:320px;
  overflow:auto;
  padding:6px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
  box-shadow:0 16px 30px -10px rgba(0,0,0,.46);
}
.tenant-picker-menu[hidden]{display:none}
.tenant-picker-option{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
  min-height:44px;
  padding:5px 8px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:var(--ink);
  font-weight:400;
  box-shadow:none;
  text-align:left;
}
.tenant-picker-option:hover,.tenant-picker-option:focus-visible,.tenant-picker-option[aria-selected="true"]{
  background:color-mix(in srgb,var(--brand) 14%,var(--panel));
  border-color:color-mix(in srgb,var(--brand) 44%,transparent);
  color:var(--ink);
}
.tenant-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  overflow:hidden;
  color:currentColor;
}
.tenant-icon svg,.tenant-icon img{display:block;width:100%;height:100%;object-fit:contain}
.tenant-icon[data-tenant-icon-preset]::before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
}
.tenant-icon[data-tenant-icon-preset="personal"]::before{-webkit-mask-image:url("/assets/tenant-icons/personal.svg");mask-image:url("/assets/tenant-icons/personal.svg")}
.tenant-icon[data-tenant-icon-preset="family"]::before{-webkit-mask-image:url("/assets/tenant-icons/family.svg");mask-image:url("/assets/tenant-icons/family.svg")}
.tenant-icon[data-tenant-icon-preset="organisation"]::before{-webkit-mask-image:url("/assets/tenant-icons/organisation.svg");mask-image:url("/assets/tenant-icons/organisation.svg")}
.tenant-icon[data-tenant-icon-preset="team"]::before{-webkit-mask-image:url("/assets/tenant-icons/team.svg");mask-image:url("/assets/tenant-icons/team.svg")}
.tenant-icon[data-tenant-icon-preset="partnership"]::before{-webkit-mask-image:url("/assets/tenant-icons/partnership.svg");mask-image:url("/assets/tenant-icons/partnership.svg")}
.tenant-icon[data-tenant-icon-preset="department"]::before{-webkit-mask-image:url("/assets/tenant-icons/department.svg");mask-image:url("/assets/tenant-icons/department.svg")}
.tenant-icon[data-tenant-icon-preset="ideas"]::before{-webkit-mask-image:url("/assets/tenant-icons/ideas.svg");mask-image:url("/assets/tenant-icons/ideas.svg")}
.tenant-icon[data-tenant-icon-preset="design"]::before{-webkit-mask-image:url("/assets/tenant-icons/design.svg");mask-image:url("/assets/tenant-icons/design.svg")}
.tenant-icon[data-tenant-icon-preset="testing"]::before{-webkit-mask-image:url("/assets/tenant-icons/testing.svg");mask-image:url("/assets/tenant-icons/testing.svg")}
.tenant-icon-picker,.tenant-icon-option{width:32px;height:32px}
.application-launcher-panel{
  display:flex;
  align-items:center;
  gap:4px;
  min-height:44px;
  min-width:0;
  max-width:min(760px,100%);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.application-launcher-panel .logo-button{
  display:grid;
  place-items:center;
  width:54px;
  min-width:54px;
  min-height:54px;
  padding:4px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:var(--theme-toolbar-color,var(--brand-dark));
  box-shadow:none;
}
.application-launcher-panel .logo-button:hover,
.application-launcher-panel .logo-button:focus-visible{
  background:color-mix(in srgb,var(--brand) 18%,rgba(255,255,255,.08));
  border-color:color-mix(in srgb,var(--accent) 38%,rgba(255,255,255,.08));
  color:white;
  filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.application-icon-list{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:2px;
  flex:1 1 auto;
  min-width:0;
  max-width:100%;
  min-height:42px;
  padding:2px 4px;
  border:0;
  border-radius:999px;
  background:color-mix(in srgb,var(--panel) 68%,rgba(255,255,255,.38));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 6px 18px rgba(23,32,51,.06);
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  backdrop-filter:blur(10px);
}
.application-icon-list::-webkit-scrollbar{
  display:none;
}
.application-icon-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1px;
  flex:0 0 auto;
  width:100px;
  min-height:38px;
  padding:5px 3px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--brand-dark);
  box-shadow:none;
}
.application-icon-button:hover,
.application-icon-button:focus-visible,
.application-icon-button.active,
.application-launcher-panel .home-action:hover,
.application-launcher-panel .home-action:focus-visible,
.application-launcher-panel .home-action.active{
  background:color-mix(in srgb,var(--brand) 18%,rgba(255,255,255,.08));
  color:white;
  filter:none;
  box-shadow:none;
}
.application-icon-button.active,
.application-launcher-panel .home-action.active{
  background:var(--theme-app-active-background,color-mix(in srgb,var(--brand) 72%,white)) !important;
  border:1px solid var(--theme-app-active-border,color-mix(in srgb,var(--accent) 72%,white)) !important;
  color:var(--theme-app-active-color,var(--brand-dark)) !important;
  box-shadow:var(--theme-app-active-shadow,0 0 20px color-mix(in srgb,var(--brand) 38%,transparent)) !important;
  text-shadow:none;
}
.application-icon-button.active .application-icon-label,
.application-launcher-panel .home-action.active .home-label{
  font-weight:700;
}
.app-icon.toolbar{
  width:32px;
  height:32px;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  box-shadow:none;
}
.application-icon-button:hover .app-icon.toolbar,
.application-icon-button:focus-visible .app-icon.toolbar,
.application-icon-button.active .app-icon.toolbar{
  background:transparent;
}
.app-icon.toolbar svg{
  width:32px;
  height:32px;
  filter:none;
}
.app-icon.toolbar .app-icon-stroke{
  fill:color-mix(in srgb,currentColor 8%,transparent);
  stroke:currentColor;
  stroke-width:2.1;
}
.app-icon.toolbar .app-icon-line{
  stroke:currentColor;
  stroke-width:2.1;
}
.application-icon-fallback{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:0;
  background:transparent;
  color:currentColor;
  font-weight:900;
  font-size:.85rem;
}
.application-icon-button:hover .application-icon-fallback,
.application-icon-button:focus-visible .application-icon-fallback,
.application-icon-button.active .application-icon-fallback{
  background:transparent;
}
.application-icon-label{
  display:-webkit-box;
  min-width:0;
  overflow:hidden;
  color:inherit;
  font-size:.9rem;
  font-weight:400;
  line-height:1.12;
  text-align:left;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.application-icon-empty{
  display:grid;
  place-items:center;
  min-height:44px;
  padding:0 12px;
  border:1px solid #d0d7e2;
  border-radius:8px;
  background:white;
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}
.tenant-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.icon-action,.home-action{
  width:auto;
  min-height:40px;
  padding:8px 12px;
  background:white;
  color:var(--brand-dark);
  border-color:#b9c6d2;
}
.application-launcher-panel .home-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1px;
  flex:0 0 auto;
  width:100px;
  min-width:100px;
  min-height:38px;
  padding:5px 3px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--brand-dark);
  border-color:transparent;
  text-align:left;
  line-height:1;
  box-shadow:none;
}
.home-icon.toolbar{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.home-action:hover .home-icon.toolbar,
.home-action:focus-visible .home-icon.toolbar{
  background:transparent;
}
.home-icon.toolbar svg{
  width:32px;
  height:32px;
  filter:none;
}
.home-icon.toolbar .app-icon-stroke{
  fill:color-mix(in srgb,currentColor 8%,transparent);
  stroke:currentColor;
  stroke-width:2.1;
}
.home-icon.toolbar .app-icon-line{
  stroke:currentColor;
  stroke-width:2.1;
}
.home-label{
  overflow:hidden;
  color:inherit;
  font-size:.9rem;
  font-weight:400;
  line-height:1.12;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.icon-action:hover{background:#eef6f8;color:var(--brand-dark);border-color:#8fb0b9}
.tenant-layers-icon{
  display:block;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.avatar{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--brand-dark);
  background-size:cover;
  background-position:center;
  color:white;
  font-weight:900;
  overflow:hidden;
}
.avatar.has-photo{
  color:transparent;
  text-indent:-999px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.profile-photo-editor{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin-top:16px;
}
.profile-photo-preview{
  width:62px;
  height:62px;
  font-size:1.25rem;
}
.profile-photo-editor label{
  margin-top:0;
}
.profile-photo-editor input{
  margin-bottom:8px;
}
.profile-button .avatar{
  width:36px;
  height:36px;
  flex:0 0 36px;
  font-size:1rem;
}
.profile-button{flex-direction:row-reverse}
.profile-copy{display:grid;text-align:right;line-height:1.2;font-weight:400}
.profile-copy strong{font-weight:400}
.profile-copy small{color:var(--muted);font-size:.78rem;font-weight:400}
.profile-menu{
  position:absolute;
  top:calc(100% + 10px);
  z-index:1001;
  min-width:280px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--theme-panel,var(--panel,#fff)) !important;
  box-shadow:var(--shadow);
}
.profile-menu{right:0;width:240px}
.menu-heading{padding:6px 8px 10px;border-bottom:1px solid #eef2f6;margin-bottom:8px}
.menu-heading strong{display:block}
.profile-menu-heading{
  display:grid;
  place-items:center;
  padding:6px 0 14px;
  margin-bottom:8px;
}
.profile-transparency-control{
  display:block;
  width:100%;
  margin:0 0 10px;
  padding:0;
}
.profile-transparency-control input{
  display:block;
  width:100% !important;
  min-width:0;
  min-height:30px;
  padding:0;
  accent-color:var(--brand-dark);
}
.profile-menu-avatar{
  width:88px;
  height:88px;
  font-size:1.8rem;
}
.profile-menu button{
  display:flex;
  align-items:center;
  width:100%;
  justify-content:flex-start;
  margin:6px 0 0;
  min-height:42px;
  padding:10px 12px;
  background:var(--theme-panel,var(--panel,#fff)) !important;
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:6px;
  font-weight:400;
  text-align:left;
  box-shadow:0 1px 2px rgba(23,32,51,.08);
}
.profile-menu button:hover{background:color-mix(in srgb,var(--theme-panel,var(--panel,#fff)) 88%,var(--brand)) !important;color:var(--ink);border-color:var(--brand)}
.profile-menu button:focus-visible{box-shadow:0 0 0 3px rgba(17,106,123,.18),0 1px 2px rgba(23,32,51,.08)}
.landing-content{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  padding:34px 24px 56px;
}
.landing-shell.application-open .landing-content{
  max-width:none;
  margin:0;
}
.content-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:22px;
}
.content-heading h1{font-size:2.2rem;margin-bottom:0}
.core-about{
  display:grid;
  gap:14px;
}
.core-about[hidden]{display:none}
.core-about-hero{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(320px,.8fr);
  gap:18px;
  align-items:stretch;
}
.core-about-copy,
.core-about-rings,
.core-scenario-card,
.core-about-card{
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(23,32,51,.06);
}
.core-about-copy{
  display:grid;
  align-content:center;
}
.core-about-copy h1{
  max-width:820px;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.04;
}
.core-about-lede{
  max-width:760px;
  margin:16px 0 0;
  color:var(--muted);
  font-size:1.03rem;
  line-height:1.6;
}
.core-about-rings,
.core-tenant-grid,
.core-app-chain{
  display:grid;
  gap:8px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:color-mix(in srgb,var(--panel) 82%,transparent);
}
.core-about-rings{
  place-items:center;
  min-height:420px;
  overflow:hidden;
  padding:0;
  background:#030712;
}
.core-about-rings img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  display:block;
}
.core-tenant-grid span,
.core-tenant-grid b,
.core-tenant-grid small,
.core-app-chain span,
.core-app-chain strong{
  padding:9px 10px;
  border:1px solid color-mix(in srgb,var(--brand) 24%,var(--line));
  border-radius:6px;
  background:color-mix(in srgb,var(--panel) 86%,white 14%);
  font-weight:400;
}
.core-about-scenarios{
  display:grid;
  gap:14px;
}
.core-scenario-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);
  gap:18px;
  align-items:center;
}
.core-scenario-access{
  grid-template-columns:90px minmax(0,1fr) minmax(220px,.6fr);
}
.core-scenario-card h2,
.core-about-card h2{
  margin:0;
}
.core-scenario-card p:not(.eyebrow),
.core-about-card p{
  margin:10px 0 0;
  color:var(--muted);
  line-height:1.55;
}
.core-scenario-icon{
  position:relative;
  width:78px;
  height:78px;
  border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line));
  border-radius:50%;
  background:
    linear-gradient(90deg,transparent 47%,color-mix(in srgb,var(--brand) 36%,transparent) 48% 52%,transparent 53%),
    linear-gradient(0deg,transparent 47%,color-mix(in srgb,var(--brand) 36%,transparent) 48% 52%,transparent 53%),
    color-mix(in srgb,var(--brand) 10%,var(--panel));
}
.core-scenario-icon span{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--brand);
}
.core-scenario-icon span:nth-child(1){left:18px;top:20px}
.core-scenario-icon span:nth-child(2){right:17px;top:34px}
.core-scenario-icon span:nth-child(3){left:35px;bottom:16px}
.core-scenario-stack{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.core-scenario-stack li{
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:6px;
  background:color-mix(in srgb,var(--panel) 78%,transparent);
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.core-tenant-grid{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr)}
.core-tenant-grid span{color:var(--brand);font-weight:900}
.core-tenant-grid small{color:var(--muted)}
.core-app-chain{grid-template-columns:repeat(4,minmax(0,1fr))}
.core-app-chain strong{
  grid-column:1 / -1;
  background:color-mix(in srgb,var(--brand) 12%,var(--panel));
  text-align:center;
}
.core-about-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.app-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:8px;
  background:#e7f2f4;
  color:var(--brand-dark);
  font-weight:900;
}
.app-icon svg{
  display:block;
  width:28px;
  height:28px;
}
.app-icon.small{width:88px;height:88px}
.app-icon.small svg{width:64px;height:64px}
.app-icon-stroke{
  fill:rgba(255,255,255,.62);
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.app-icon-line{
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.app-icon-letter{
  fill:currentColor;
  font-size:17px;
  font-weight:900;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.application-home-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px;
}
.home-collection{display:grid;gap:10px}
.home-collection+.home-collection{margin-top:22px}
.home-collection-heading{
  margin:0;
  color:var(--theme-home-heading-color,var(--ink));
  font-size:.82rem;
  font-weight:500;
  text-transform:uppercase;
}
.tenant-icon-tile{
  width:88px;
  height:88px;
  padding:12px;
  border-radius:8px;
  background:color-mix(in srgb,var(--panel) 88%,white 12%);
}
.current-tenant-banner{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
  padding:16px 20px;
  border:1px solid var(--brand);
  border-radius:8px;
  color:var(--theme-ink,var(--ink));
}
.tenant-icon-current{
  width:48px;
  height:48px;
  padding:6px;
  border-radius:8px;
  background:color-mix(in srgb,var(--panel) 88%,var(--brand) 12%);
  flex-shrink:0;
}
.tenant-home-list{
  grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));
  gap:10px;
}
.tenant-home-list .tenant-home-item{
  min-height:56px;
  padding:10px;
  gap:10px;
  align-items:center;
}
.tenant-home-item .tenant-icon-tile{
  width:32px;
  height:32px;
  padding:4px;
}
.tenant-home-item .application-home-copy strong{
  font-size:.88rem;
}
.tenant-home-item .application-home-copy,
.current-tenant-banner .application-home-copy{
  min-width:0;
  overflow-wrap:anywhere;
}
.application-home-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:start;
  min-height:86px;
  padding:14px;
  background:white;
  color:var(--ink);
  border-color:var(--line);
  text-align:left;
  box-shadow:var(--theme-application-card-shadow,
    0 2px 3px rgba(0,0,0,.34),
    0 16px 24px -9px color-mix(in srgb,var(--theme-brand,var(--brand)) 24%,rgba(0,0,0,.76))) !important;
}
.application-home-item.without-icon{
  grid-template-columns:1fr;
}
.application-home-item:hover{
  background:#f3f7f8;
  color:var(--ink);
  border-color:#9db7c0;
  box-shadow:var(--theme-application-card-hover-shadow,
    0 3px 4px rgba(0,0,0,.38),
    0 20px 28px -9px color-mix(in srgb,var(--theme-brand,var(--brand)) 28%,rgba(0,0,0,.8))) !important;
}
#landing-home{
  --home-tile-background:color-mix(in srgb,var(--theme-panel,var(--panel)) 45%,transparent);
  --home-tile-hover-background:color-mix(in srgb,var(--theme-panel,var(--panel)) 55%,transparent);
  --home-tile-backdrop:blur(3px);
}
#landing-home .current-tenant-banner,
#landing-home .application-home-item{
  background:var(--home-tile-background);
  backdrop-filter:var(--home-tile-backdrop);
}
#landing-home .application-home-item:hover{
  background:var(--home-tile-hover-background);
  backdrop-filter:var(--home-tile-backdrop);
}
.application-home-copy{
  display:grid;
  gap:5px;
}
.application-home-copy strong{
  font-size:1rem;
  font-weight:500;
}
.tenant-home-description{
  display:-webkit-box;
  overflow:hidden;
  color:var(--ink);
  font-size:.88rem;
  font-weight:400;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.application-home-copy small{
  color:var(--muted);
  font-size:.88rem;
  font-weight:400;
  line-height:1.35;
}
.empty-state{
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
  color:var(--muted);
}
.dialog-card{
  width:min(460px,calc(100vw - 36px));
  border:1px solid var(--line);
  border-radius:8px;
  padding:24px;
  color:var(--ink);
  box-shadow:var(--shadow);
}
.dialog-card::backdrop{background:rgba(15,23,42,.34)}
.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.primary-action.compact{margin-top:0}
.application-workspace{
  display:grid;
  grid-template-rows:auto minmax(540px,calc(100vh - 190px));
  gap:14px;
}
.application-workspace[hidden]{display:none}
.workspace-toolbar{
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  gap:16px;
}
.workspace-toolbar h1{
  margin-bottom:0;
  font-size:1.65rem;
}
#active-application-title{
  color:#fff;
}
.application-title-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
}
.panel-transparency-control{
  display:inline-grid;
  grid-template-columns:120px 44px;
  gap:8px;
  align-items:center;
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
}
.panel-transparency-control input{
  min-height:30px;
  padding:0;
  accent-color:var(--brand-dark);
}
.panel-transparency-control span{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.profile-menu .profile-transparency-control{
  display:block !important;
  width:100% !important;
  grid-template-columns:none;
}
.profile-menu .profile-transparency-control input{
  display:block;
  width:100% !important;
  min-width:0;
}
.landing-shell.panels-glass .application-frame{
  background:transparent;
  backdrop-filter:blur(14px);
}
.workspace-toolbar .secondary-action{
  min-width:140px;
}
.application-frame{
  width:100%;
  height:100%;
  min-height:540px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
  box-shadow:0 8px 24px rgba(23,32,51,.06);
}
.tenant-management{
  display:grid;
  gap:14px;
}
.tenant-management[hidden]{display:none}
.tenant-management-grid{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.tenant-list-panel,.tenant-detail-panel{
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
  box-shadow:0 8px 24px rgba(23,32,51,.06);
}
.inline-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.square-action{
  display:grid;
  place-items:center;
  width:38px;
  min-height:38px;
  padding:0;
  border-color:var(--brand-dark);
  border-radius:8px;
  background:var(--brand-dark);
  color:white;
  font-size:1.25rem;
  line-height:1;
}
.square-action:hover{background:#082f39;border-color:#082f39}
.new-tenant-panel[hidden]{display:none}
.tenant-grid-panel{
  position:relative;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
  box-shadow:0 8px 24px rgba(23,32,51,.06);
}
.tenant-new-grid{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(260px,1.2fr) auto;
  gap:12px;
  align-items:end;
  margin:12px 0 18px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafc;
}
.tenant-new-grid label{margin-top:0}
.tenant-new-grid .primary-action{margin-top:0}
.tenant-icon-editor{
  display:grid;
  grid-template-columns:80px minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.tenant-icon-preview{
  width:80px;
  height:80px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
}
.tenant-icon-editor-controls{display:grid;gap:7px;min-width:0}
.tenant-icon-editor-controls label{margin:0}
.tenant-icon-editor-controls input[type="file"]{min-width:0;padding:8px}
.tenant-icon-editor-controls .secondary-form-action{width:max-content;margin:0}
.tenant-icon-editor-label{font-size:.88rem;font-weight:700;color:#344054}
.tenant-icon-preset-grid{
  display:grid;
  grid-template-columns:repeat(9,46px);
  gap:0;
  overflow-x:auto;
  padding-bottom:2px;
}
.tenant-icon-preset-option{
  display:grid;
  justify-items:center;
  align-items:center;
  gap:6px;
  min-width:0;
  width:46px;
  height:46px;
  min-height:0;
  padding:5px;
  border:1px solid var(--line);
  border-radius:2px;
  background:var(--panel);
  color:var(--ink);
}
.tenant-icon-preset-option:hover,.tenant-icon-preset-option:focus-visible{
  background:color-mix(in srgb,var(--panel) 88%,var(--brand) 12%);
  border-color:var(--brand);
  color:var(--ink);
}
.tenant-icon-preset-option.selected{
  background:color-mix(in srgb,var(--panel) 76%,var(--brand) 24%);
  border-color:var(--brand);
  color:var(--ink);
  box-shadow:none;
}
.tenant-icon-preset-glyph{width:28px;height:28px}
.tenant-icon-custom-upload{display:grid;gap:5px}
.tenant-icon-custom-state{color:var(--brand-dark);font-weight:500}
.tenant-icon-editor-new{grid-column:1 / -1}
.tenant-setup-grid{
  display:grid;
  gap:0;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
}
.tenant-grid-row{
  display:grid;
  grid-template-columns:38px minmax(280px,1.25fr) 96px minmax(220px,1.05fr) 86px;
  gap:12px;
  align-items:center;
  min-width:820px;
  padding:12px 14px;
  border-bottom:1px solid #eaecf0;
}
.tenant-grid-row.selected{
  background:#f3f7f8;
}
.tenant-grid-head,.tenant-child-head{
  color:#667085;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:#f8fafc;
}
.tenant-grid-row:last-child{border-bottom:0}
.grid-expand{
  display:grid;
  place-items:center;
  width:26px;
  min-height:26px;
  padding:0;
  border:0;
  border-radius:6px;
  background:#eef1f5;
  color:#667085;
  font-weight:700;
}
.grid-expand:hover{background:#e2e7ee;color:#475467}
.grid-text-input{min-height:38px}
.tenant-name-cell{
  display:grid;
  gap:4px;
  min-width:0;
}
.tenant-name-summary{
  min-width:0;
  overflow:hidden;
  color:var(--ink);
  font-size:.92rem;
  font-weight:500;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tenant-id-footnote{
  color:var(--muted);
  font-size:.68rem;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tenant-summary-text{
  min-width:0;
  overflow:hidden;
  color:#475467;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tenant-edit-panel{
  position:fixed;
  inset:0;
  margin:auto;
  display:grid;
  gap:12px;
  width:min(860px,calc(100% - 36px));
  max-height:calc(100dvh - 36px);
  overflow:auto;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--theme-panel-background,var(--panel));
  color:var(--ink);
  box-shadow:var(--theme-shadow,var(--shadow));
  backdrop-filter:blur(10px);
}
.tenant-edit-panel::backdrop{background:var(--theme-backdrop-background,rgba(15,23,42,.45))}
body:has(.tenant-edit-panel[open]){overflow:hidden}
.tenant-edit-panel[hidden]{display:none}
.tenant-edit-panel h2{
  margin:0;
  padding-right:34px;
  font-size:1rem;
  font-weight:500;
}
.tenant-edit-panel .tenant-panel-close{
  position:absolute;
  top:10px;
  right:10px;
  display:grid;
  place-items:center;
  width:30px;
  min-width:30px;
  min-height:30px;
  padding:0;
  border-color:var(--line);
  background:var(--theme-panel-soft,var(--panel));
  color:var(--ink);
  font-size:1rem;
  font-weight:400;
  line-height:1;
}
.tenant-edit-panel .tenant-panel-close:hover{
  background:var(--theme-secondary-hover-background,var(--panel));
  color:var(--theme-link-color,var(--brand));
  border-color:var(--brand);
}
.tenant-editor-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  border-bottom:1px solid var(--line);
}
.tenant-edit-panel .tenant-editor-tab{
  width:auto;
  min-height:36px;
  padding:8px 10px;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-weight:400;
}
.tenant-edit-panel .tenant-editor-tab:hover,.tenant-edit-panel .tenant-editor-tab.active{
  background:var(--theme-panel-soft,var(--panel));
  border-bottom-color:var(--theme-link-color,var(--brand));
  color:var(--theme-link-color,var(--brand));
}
.tenant-editor-body{
  min-width:0;
  overflow:auto;
  scrollbar-width:thin;
}
.tenant-editor-form{
  display:grid;
  gap:12px;
}
.tenant-editor-form label{
  display:grid;
  gap:6px;
  margin-top:0;
}
.tenant-editor-form textarea{min-height:150px}
.tenant-editor-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.tenant-editor-status span{
  color:var(--muted);
  font-size:.86rem;
}
.tenant-editor-actions{
  display:flex;
  justify-content:flex-start;
  gap:10px;
  padding-top:4px;
}
/* Shared tenant modal: consume the active palette without altering theme files. */
.tenant-edit-panel input,.tenant-edit-panel select,.tenant-edit-panel textarea{
  background:var(--theme-panel-soft,var(--panel));
  color:var(--ink);
  border-color:var(--line);
}
.tenant-edit-panel input::placeholder,.tenant-edit-panel textarea::placeholder{
  color:var(--muted);
  opacity:1;
}
.tenant-edit-panel input:focus,.tenant-edit-panel select:focus,.tenant-edit-panel textarea:focus,
.tenant-edit-panel button:focus-visible{
  outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent);
  border-color:var(--brand);
}
.tenant-edit-panel .tenant-editor-tab,.tenant-edit-panel .tenant-panel-close,
.tenant-edit-panel .tenant-icon-preset-option{box-shadow:none}
.tenant-edit-panel .tenant-editor-tab:disabled{
  color:var(--muted);
  background:transparent;
  border-bottom-color:transparent;
  opacity:.6;
  cursor:not-allowed;
}
.tenant-edit-panel .tenant-icon-editor-label{color:var(--muted)}
.tenant-edit-panel .tenant-icon-custom-state{color:var(--theme-link-color,var(--brand))}
.tenant-edit-panel .tenant-icon-preview,.tenant-edit-panel .tenant-icon-preset-option{
  background:var(--theme-panel-soft,var(--panel));
  color:var(--ink);
  border-color:var(--line);
}
.tenant-edit-panel .tenant-icon-preset-option:hover,
.tenant-edit-panel .tenant-icon-preset-option:focus-visible,
.tenant-edit-panel .tenant-icon-preset-option.selected{
  background:color-mix(in srgb,var(--theme-panel-soft,var(--panel)) 80%,var(--brand));
  color:var(--ink);
  border-color:var(--brand);
}
.tenant-edit-panel .tenant-user-grid,.tenant-edit-panel .tenant-application-grid,
.tenant-edit-panel .tenant-application-users,.tenant-edit-panel .new-grid-row{
  background:var(--theme-panel-soft,var(--panel));
  color:var(--ink);
  border-color:var(--line);
  box-shadow:none;
}
.tenant-edit-panel .tenant-child-row,.tenant-edit-panel .tenant-app-user-row{border-color:var(--line)}
.tenant-edit-panel .status-toggle{
  background:var(--line);
  color:transparent;
  box-shadow:none;
}
.tenant-edit-panel .status-toggle.is-active{background:var(--brand)}
.tenant-edit-panel .status-toggle::before{background:var(--ink)}
.tenant-grid-expanded{
  min-width:820px;
  padding:14px;
  border-bottom:1px solid #eaecf0;
  background:#fbfcfe;
}
.tenant-grid-tabs{
  display:flex;
  gap:6px;
  margin-bottom:12px;
  padding:4px;
  border-radius:8px;
  background:#eef3f6;
}
.tenant-grid-tab{
  width:auto;
  min-height:38px;
  padding:8px 16px;
  border:0;
  background:transparent;
  color:#475467;
}
.tenant-grid-tab:hover,.tenant-grid-tab.active{
  background:white;
  color:var(--brand-dark);
  box-shadow:0 4px 14px rgba(23,32,51,.08);
}
.tenant-child-grid-wrap{
  display:grid;
  gap:10px;
}
.tenant-user-grid,.tenant-application-grid{
  display:grid;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
  scrollbar-width:thin;
}
.tenant-user-grid{
  min-width:720px;
}
.tenant-application-grid{
  min-width:760px;
}
.tenant-child-row{
  display:grid;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid #eaecf0;
}
.tenant-user-grid .tenant-child-row{
  grid-template-columns:minmax(260px,1fr) 220px 96px 92px;
}
.tenant-application-grid .tenant-child-row{
  grid-template-columns:38px minmax(260px,1fr) minmax(180px,.55fr) 96px 80px;
}
.tenant-child-row:last-child{border-bottom:0}
.tenant-child-row input,.tenant-child-row select{
  min-height:38px;
}
.tenant-application-users{
  display:grid;
  margin:0 12px 12px 50px;
  min-width:650px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafc;
  scrollbar-width:thin;
}
.tenant-app-user-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 220px 96px;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid #eaecf0;
}
.tenant-app-user-row:last-child{border-bottom:0}
.add-grid-button{
  display:grid;
  place-items:center;
  width:38px;
  min-height:38px;
  padding:0;
  border-radius:8px;
  background:var(--brand-dark);
  border-color:var(--brand-dark);
  color:white;
  font-size:1.2rem;
  line-height:1;
}
.add-grid-button:disabled{opacity:.45;cursor:not-allowed}
.new-grid-row{background:#fbfcfe}
.inline-actions{
  display:flex;
  gap:8px;
  align-items:center;
}
.inline-actions .table-action{
  margin:0;
}
.tenant-list{
  display:grid;
  gap:8px;
}
.tenant-list-item{
  display:grid;
  gap:0;
  width:100%;
  min-height:50px;
  padding:12px;
  background:white;
  color:var(--ink);
  border-color:var(--line);
  text-align:left;
}
.tenant-list-item:hover,.tenant-list-item.active{
  background:#f3f7f8;
  color:var(--ink);
  border-color:#9db7c0;
}
.tenant-detail-panel{
  display:grid;
  gap:18px;
}
.tenant-detail-header,.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:14px;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border:1px solid rgba(17,106,123,.22);
  border-radius:999px;
  background:#eef6f8;
  color:var(--brand-dark);
  font-size:.82rem;
  font-weight:900;
}
.status-toggle{
  position:relative;
  display:inline-block;
  width:54px;
  min-height:28px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:999px;
  background:#d8dee8;
  color:transparent;
  font-size:0;
  box-shadow:inset 0 2px 5px rgba(23,32,51,.16);
}
.status-toggle::before{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  border-radius:999px;
  background:white;
  box-shadow:0 3px 10px rgba(23,32,51,.24);
  transition:transform .18s ease;
}
.status-toggle.is-active{
  background:#8792a3;
  color:transparent;
}
.status-toggle.is-active::before{transform:translateX(26px)}
.status-toggle:hover{
  filter:brightness(1.02);
}
.status-toggle:disabled{
  cursor:not-allowed;
  opacity:.62;
}
.tenant-save-action{width:auto;margin-top:18px}
.tenant-tabs{
  display:flex;
  gap:6px;
  margin-top:24px;
  padding:4px;
  border-radius:8px;
  background:#eef3f6;
}
.tenant-tab{
  width:auto;
  min-height:38px;
  background:transparent;
  border:0;
  color:#475467;
}
.tenant-tab:hover,.tenant-tab.active{
  background:white;
  color:var(--brand-dark);
  box-shadow:0 4px 14px rgba(23,32,51,.08);
}
.tenant-tab-panel{
  display:none;
  padding-top:18px;
}
.tenant-tab-panel.active{display:block}
.management-section{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.table-action{
  width:auto;
  min-height:34px;
  margin:0 6px 0 0;
  padding:6px 10px;
  white-space:nowrap;
}
.assignment-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:10px;
}
.assignment-item{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafc;
}
.assignment-item input{
  width:18px;
  min-height:18px;
  padding:0;
}
.assignment-item span{display:grid;gap:4px}
.assignment-item small{color:var(--muted);font-weight:700}
.workspace-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:24px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}
.workspace-header h1{font-size:2.1rem;margin-bottom:8px}
.session-user{color:var(--muted);margin-bottom:0}
.management-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin-bottom:18px}
.management-panel,.table-panel{padding:22px}
.inline-control{display:grid;grid-template-columns:1fr auto;gap:10px}
.inline-control button,.member-form button{width:auto}
.member-form{display:grid;grid-template-columns:1fr 220px auto;gap:10px}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:white}
th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #eaecf0}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#667085;background:#f8fafc}
td{color:#344054}
.app-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.app-links a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
}
@media (max-width:900px){
  main{padding:18px}
  .landing-shell{margin:-18px;min-height:calc(100vh - 36px)}
  .landing-header{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    position:relative;
    padding:12px;
  }
  .launcher-wrap,.launcher-control,.tenant-switcher,.tenant-control{display:contents}
  .logo-button{grid-column:1 / 2}
  .application-launcher-panel{grid-column:1 / -1;max-width:none}
  .tenant-picker{grid-column:1 / 3;grid-row:2;min-width:0}
  .icon-action{grid-column:3 / 4;grid-row:2;width:auto;min-width:42px}
  .launcher-wrap,.profile-wrap,.tenant-switcher{justify-self:stretch;width:100%}
  .logo-button{width:62px;justify-content:center}
  .profile-button{width:100%;justify-content:flex-end}
  .profile-wrap{grid-column:1 / -1}
  .profile-menu{position:static;width:100%;margin-top:8px}
  .content-heading{display:block}
  .core-about-hero,.core-scenario-card,.core-scenario-access,.core-tenant-grid,.core-app-chain{grid-template-columns:1fr}
  .workspace-toolbar{grid-template-columns:1fr}
  .workspace-toolbar .secondary-action{width:100%}
  .application-workspace{grid-template-rows:auto minmax(520px,calc(100vh - 220px))}
  .tenant-management-grid{grid-template-columns:1fr}
  .tenant-edit-panel{
    width:calc(100% - 24px);
    max-height:calc(100dvh - 24px);
  }
  .auth-shell{grid-template-columns:1fr;align-items:start;gap:18px;min-height:auto}
  .brand-panel{padding-top:8px}
  .proof-grid{grid-template-columns:1fr}
  .management-grid,.member-form{grid-template-columns:1fr}
  .tenant-new-grid{grid-template-columns:1fr}
  .inline-control{grid-template-columns:1fr}
  .inline-control button,.member-form button,.secondary-action{width:100%}
  .workspace-header{display:block}
  .workspace-header .secondary-action{margin-top:18px}
}
@media (max-width:560px){
  h1{font-size:2.25rem}
  .landing-content{padding:24px 16px 40px}
  .dialog-actions{grid-template-columns:1fr}
  .auth-card{padding:8px}
  .auth-panel{padding:18px 14px}
  .field-grid{grid-template-columns:1fr}
  .tabs{grid-template-columns:1fr 1fr}
  .form-footer{display:block}
  .form-footer .link-button{margin-top:12px}
}
