:root{
  --ink:#05435C;
  --ink-soft:#3A6170;
  --muted:#5E7580;
  --paper:#FFFFFF;
  --surface:#FFFFFF;
  --green:#187C4A;
  --green-deep:#05435C;
  --green-hover:#14663C;
  --ochre:#A37541;
  --ochre-soft:#F3EBE3;
  --line:#D7E1E5;
  --line-soft:#EBF0F2;
  --soft-green:#E6F5ED;
  --soft-navy:#E8EEF1;
  --danger:#9B2C2C;
  --ok:#187C4A;
  --r:10px;
  --display:"Alexandria",system-ui,sans-serif;
  --body:"Alexandria",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
html:has(body.viewer-board){overflow:hidden}
body.admin{
  background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:15px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;margin:0}
a{color:inherit;text-decoration:none}
.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.sidebar{
  background:var(--green-deep);color:#D7E4EA;padding:22px 16px;
  display:flex;flex-direction:column;gap:18px;
  min-height:100vh;max-height:100vh;overflow:hidden;position:sticky;top:0;
}
.brand{padding:10px 8px 16px;border-bottom:1px solid #0A5470}
.sidebar-logo{display:block;width:100%;height:auto;margin-bottom:12px;object-fit:contain}
.brand small{display:block;opacity:.7;font-size:12px;margin-bottom:6px}
.brand b{font-family:var(--display);color:#fff;font-size:16px;font-weight:500;line-height:1.5}
.nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding-inline-end:4px;margin-inline-end:-4px}
.nav-label{
  display:block;margin:12px 4px 4px;padding:0 8px;
  font-size:11px;font-weight:600;letter-spacing:.04em;color:#8AA3AE;
}
.nav-label:first-child{margin-top:4px}
.nav a{
  display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;
  color:#C5D6DD;font-size:14px;
}
.nav a:hover{background:#0A5470;color:#fff}
.nav a.active{background:#fff;color:var(--green-deep);font-weight:600}
.nav a .count{
  margin-inline-start:auto;background:#A37541;color:#fff;font-size:11px;
  min-width:18px;height:18px;border-radius:999px;display:inline-flex;
  align-items:center;justify-content:center;padding:0 5px;
}
.login-card.register-card{width:min(720px,100%)}
.login-card .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.login-card .field{margin-bottom:12px}
.pw-hint{font-size:12.5px;color:var(--muted);line-height:1.65;margin:0 0 12px}
.badge.active{background:var(--soft-green);color:var(--green)}
.badge.entity{background:var(--ochre-soft);color:var(--ochre)}
.sidebar .foot{margin-top:auto;padding:10px;font-size:12px;opacity:.7}
.main{min-width:0}
.top{
  background:var(--surface);border-bottom:1px solid var(--line);
  padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.top h1{font-size:20px}
.top-start{display:flex;align-items:center;gap:12px;min-width:0}
.top-logo{height:42px;width:auto;max-width:220px;object-fit:contain;display:block;flex-shrink:0}
.top .who{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:12px}
.who-name{max-width:min(280px,36vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-menu{position:relative}
.user-menu-btn{
  list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  padding:0;border:0;background:transparent;border-radius:50%;
}
.user-menu-btn::-webkit-details-marker,.user-menu-btn::marker{display:none}
.user-menu-btn:hover .user-avatar,.user-menu[open] .user-avatar{border-color:var(--ink-soft);background:#fff}
.user-avatar{
  width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--soft-navy);color:var(--ink);border:1px solid var(--line);
}
.user-avatar svg{width:20px;height:20px;display:block}
.user-avatar.sm{width:28px;height:28px}
.user-avatar.sm svg{width:15px;height:15px}
.user-name-cell{display:flex;align-items:center;gap:10px}
.user-menu-panel{
  position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:50;
  width:236px;padding:8px;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:0 14px 36px rgba(5,67,92,.14);
}
.user-menu-head{padding:10px 12px 12px;margin-bottom:4px;border-bottom:1px solid var(--line-soft)}
.user-menu-head strong{display:block;color:var(--ink);font-size:14px;font-weight:600}
.user-menu-head small{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.5}
.user-menu-panel a,.user-menu-panel button{
  width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;
  border:0;border-radius:10px;background:transparent;color:var(--ink);
  font-family:inherit;font-size:14px;text-align:start;cursor:pointer;
}
.user-menu-panel a:hover,.user-menu-panel button:hover{background:var(--line-soft)}
.user-menu-panel svg{width:16px;height:16px;flex-shrink:0}
.user-menu-panel button{color:#9B2C2C}
.content{padding:24px}
.btn{
  font-family:var(--body);font-size:14px;font-weight:500;cursor:pointer;
  padding:9px 16px;border-radius:10px;border:1px solid transparent;
  display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;
}
.btn:hover{background:var(--green-hover)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--line-soft)}
.icon-btn{
  width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);
}
.icon-btn:hover{background:var(--line-soft)}
.icon-btn svg{width:20px;height:20px;display:block}
.icon-btn svg[hidden],.icon-btn .fs-exit{display:none}
.icon-btn[aria-pressed="true"] .fs-enter{display:none}
.icon-btn[aria-pressed="true"] .fs-exit{display:block}
.icon-btn[aria-pressed="true"]{background:var(--soft-navy);border-color:var(--ink-soft)}
.viewer-board{overflow:hidden}
.viewer-board .shell{grid-template-columns:1fr;height:100dvh;min-height:100vh;overflow:hidden}
.viewer-board .main{display:flex;flex-direction:column;height:100%;min-height:0}
.viewer-board .top{flex:0 0 auto;padding:10px 16px}
.viewer-board .top h1{font-size:18px}
.viewer-board .top-logo{height:44px;max-width:240px}
.viewer-board .content{flex:1;min-height:0;overflow:hidden;padding:10px 14px;display:flex;flex-direction:column}
.viewer-dash{flex:1;min-height:0;display:grid;grid-template-rows:auto 1fr;gap:10px}
.viewer-dash .kpis{margin:0;gap:8px}
.viewer-dash .kpi{padding:10px 12px}
.viewer-dash .kpi span{margin-bottom:4px;font-size:12px}
.viewer-dash .kpi b{font-size:20px}
.viewer-dash .kpi em{margin-top:2px;font-size:11px}
.charts-fit{
  min-height:0;display:grid;gap:8px;
  grid-template-columns:1.15fr .85fr 1fr;
  grid-template-rows:1fr 1fr;
}
.charts-fit .panel{min-height:0;padding:10px 12px;display:flex;flex-direction:column}
.charts-fit .panel h2{font-size:13px;margin-bottom:6px}
.charts-fit .chart-box{flex:1;min-height:0;height:auto}
.chart-split{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.kpi{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;
}
.kpi span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:8px}
.kpi b{display:block;font-family:var(--display);font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}
.kpi em{display:block;margin-top:6px;font-style:normal;font-size:12px;color:var(--ochre)}
.charts{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:14px}
.charts.eq{grid-template-columns:1fr 1fr}
.panel{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;
}
.panel h2{font-size:16px;margin-bottom:4px}
.panel p.hint{font-size:13px;color:var(--muted);margin:0 0 14px}
.chart-box{position:relative;height:320px;overflow:visible}
.chart-box.sm{height:240px}
.tablewrap{overflow-x:auto}
table a{color:var(--green)}
td small{color:var(--muted)}
.btn-danger-text{color:var(--danger)!important}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:start;padding:11px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{font-family:var(--display);font-size:13px;font-weight:500;color:var(--muted)}
tr:last-child td{border-bottom:0}
.badge{
  display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:12px;
  background:var(--ochre-soft);color:var(--ochre);white-space:nowrap;
}
.badge.pending{background:var(--ochre-soft);color:var(--ochre)}
.badge.reviewing{background:var(--soft-navy);color:var(--ink)}
.badge.approved{background:var(--soft-green);color:var(--green)}
.badge.deferred{background:var(--line-soft);color:var(--muted)}
.badge.suspended{background:var(--line-soft);color:var(--muted)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.filters input,.filters select{
  font-family:var(--body);font-size:14px;border:1px solid var(--line);border-radius:10px;
  padding:9px 12px;background:#fff;color:var(--ink);
}
.filters input{min-width:220px}
.filters.filter-bar{align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.filters.filter-bar input[type="search"]{flex:1;min-width:240px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.toolbar-count{margin:0;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
th.sortable a{color:var(--muted)}
th.sortable a:hover,th.sortable a.is-sorted{color:var(--green)}
.pager-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.pager-meta{margin:0;color:var(--muted);font-size:13.5px;font-variant-numeric:tabular-nums}
.flash{background:var(--soft-green);color:var(--green-deep);border-radius:10px;padding:12px 14px;margin-bottom:16px}
.flash-err{background:#F3E2E2;color:var(--danger)}
.s-actions{display:flex;gap:6px;align-items:center}
.badge.admin{background:var(--soft-green);color:var(--green)}
.badge.sysadmin{background:var(--soft-navy);color:var(--ink)}
.badge.viewer{background:var(--line-soft);color:var(--muted)}
.pager{display:flex;gap:6px;margin-top:0;flex-wrap:wrap;align-items:center}
.pager a,.pager span{
  min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;
  display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;
}
.pager a:hover{background:var(--line-soft)}
.pager .active{background:var(--green);color:#fff;border-color:var(--green)}
.pager .pager-nav{min-width:auto;padding:0 12px}
.pager .pager-gap{border:0;min-width:20px;color:var(--muted)}
.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;font-size:14.5px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:500}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}
.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px}
.login-card.register-card{width:min(720px,100%)}
.login-card .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pw-hint{font-size:12.5px;color:var(--muted);line-height:1.65;margin:0 0 14px}
.badge.active{background:var(--soft-green);color:var(--green)}
.badge.entity{background:var(--ochre-soft);color:var(--ochre)}
.login-logo{display:block;width:min(300px,100%);height:auto;margin:0 auto 18px;object-fit:contain}
.login-card h1{font-size:22px;margin:8px 0 6px}
.login-card p{color:var(--muted);font-size:14px;margin:0 0 22px}
.field{margin-bottom:14px}
.field label{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;font-size:13.5px;margin-bottom:6px}
.field-help{font-weight:400;color:var(--muted);font-size:12px}
.field input,textarea,select{
  width:100%;font-family:var(--body);font-size:15px;border:1px solid var(--line);
  border-radius:10px;padding:11px 12px;background:#fff;
}
.field input[type=checkbox]{width:auto;padding:0}
.field .hint,.hint{font-size:13px;color:var(--muted);margin-top:6px}
.check{display:flex;align-items:center;gap:8px;font-size:14px;margin:8px 0 0}
.logo-block{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:18px;background:var(--paper)}
.logo-block h3{font-size:16px;margin:0 0 6px}
.logo-block .hint{margin-bottom:12px}
.logo-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px;display:inline-block}
.logo-preview{height:var(--logo-h,36px);width:auto;max-width:min(280px,calc(var(--logo-h,36px) * 5));object-fit:contain;display:block}
.range-row{display:flex;align-items:center;gap:12px}
.range-row span{font-size:12px;color:var(--muted);white-space:nowrap}
.range-row input[type=range]{flex:1;width:auto;padding:0;height:28px;accent-color:var(--green)}
.partner-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.partner-admin-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}
.partner-admin-card .logo-box{
  width:100%;height:88px;display:flex;align-items:center;justify-content:center;
  margin-bottom:8px;background:transparent;border:0;padding:0;
}
.partner-admin-card img{width:100%;height:100%;object-fit:contain;object-position:center;filter:grayscale(1);transition:filter .25s ease}
.partner-admin-card:hover img{filter:none}
.partner-admin-card b{display:block;margin-top:10px;font-family:var(--display);font-size:14px}
.partner-admin-card span{display:block;font-size:12px;color:var(--muted)}
.formnav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media (max-width:800px){.form-grid{grid-template-columns:1fr}}
.err{color:var(--danger);font-size:13px;margin-top:8px}
.empty{color:var(--muted);padding:24px;text-align:center}
.opp-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--paper)}
.opp-card a{color:var(--green)}
.cms-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.cms-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;position:sticky;top:0;z-index:4;background:var(--paper);padding:8px 0}
.cms-tab{
  font-family:var(--body);font-size:13px;padding:8px 14px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:#fff;color:var(--ink);
}
.cms-tab:hover{background:var(--line-soft)}
.cms-tab.on{background:var(--green);color:#fff;border-color:var(--green)}
.cms-label{font-size:14px;margin:18px 0 10px;color:var(--muted);font-weight:500}
.cms-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px}
.cms-cards-3{grid-template-columns:repeat(3,1fr)}
.cms-card{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--surface)}
.cms-num{display:inline-block;font-size:12px;color:var(--ochre);background:var(--ochre-soft);border-radius:999px;padding:2px 10px;margin-bottom:10px}
.cms-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.cms-card-top .cms-num{margin-bottom:0}
.editor-savebar{
  position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:var(--surface);border-top:1px solid var(--line);margin:18px -24px 0;padding:12px 24px;
}
@media (max-width:900px){
  .cms-cards,.cms-cards-3,.login-card .form-grid{grid-template-columns:1fr}
}
.editor-block>summary{cursor:pointer;padding:14px 18px;font-family:var(--display);font-size:16px;list-style:none}
.editor-block>summary::-webkit-details-marker{display:none}
.editor-block[open]>summary{border-bottom:1px solid var(--line-soft);margin-bottom:14px}
.editor-block .block-body{padding:0 18px 18px}
.repeat{border:1px dashed var(--line);border-radius:10px;padding:12px;margin-bottom:10px;background:var(--paper)}
.repeat b{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}
@media (max-width:980px){
  .shell{grid-template-columns:1fr}
  .kpis,.charts,.charts.eq{grid-template-columns:1fr}
  .viewer-board .kpis{grid-template-columns:repeat(2,1fr)}
  .charts-fit{grid-template-columns:1fr 1fr}
  .who-name{display:none}
}
.btn-small{padding:6px 10px;font-size:13px}
.req{color:var(--danger);margin-inline-start:4px}
.fb-add-form{margin-top:12px}
.fb-list,.fb-hidden{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fb-item,.fb-hidden li{
  border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;
}
.fb-item{display:flex;flex-direction:column;gap:10px}
.fb-row{
  display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;width:100%;
}
.fb-hidden li{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.fb-item.is-dragging{opacity:.45}
.fb-item.is-over{border-color:var(--green);box-shadow:0 0 0 3px var(--soft-green)}
.fb-handle{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;color:var(--muted);cursor:grab;background:var(--line-soft);
}
.fb-handle:active{cursor:grabbing}
.fb-handle svg{width:18px;height:18px;display:block}
.fb-meta b{display:block;font-size:15px}
.fb-meta span{display:block;font-size:12.5px;color:var(--muted)}
.fb-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fb-req{display:flex;align-items:center;gap:8px;margin:0}
.fb-req small{color:var(--muted);font-size:12.5px;min-width:3.5rem}
.fb-editor{border-top:1px solid var(--line-soft);padding-top:10px}
.fb-editor>summary{cursor:pointer;color:var(--green);font-size:13.5px;width:fit-content;margin-bottom:8px}
.fb-edit-form{margin-top:4px}
.switch{position:relative;width:44px;height:26px;display:inline-block;flex-shrink:0}
.switch input{opacity:0;width:0;height:0;position:absolute}
.switch span{
  position:absolute;inset:0;background:var(--line);border-radius:999px;cursor:pointer;transition:.2s;
}
.switch span:before{
  content:"";position:absolute;width:20px;height:20px;top:3px;inset-inline-start:3px;
  background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(5,67,92,.18);
}
.switch input:checked + span{background:var(--green)}
.switch input:checked + span:before{inset-inline-start:auto;inset-inline-end:3px}
.opp-form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0 16px}
.opp-form-grid .field-span-6{grid-column:span 6}
.opp-form-grid .field-span-3{grid-column:span 3}
.opp-form-grid .field-span-2{grid-column:span 2}
.seg-form{margin:0}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.seg-btn{
  font-family:var(--body);font-size:12px;font-weight:500;min-width:36px;padding:6px 10px;
  border:0;border-inline-start:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;
}
.seg-btn:first-child{border-inline-start:0}
.seg-btn:hover{background:var(--line-soft);color:var(--ink)}
.seg-btn.on{background:var(--green);color:#fff}
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hub-card{
  display:block;border:1px solid var(--line);border-radius:16px;padding:18px 20px;
  background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s;
}
.hub-card:hover{
  border-color:var(--green);box-shadow:0 10px 28px rgba(5,67,92,.08);transform:translateY(-1px);
}
.hub-kicker{
  display:inline-block;font-size:11px;color:var(--ochre);background:var(--ochre-soft);
  border-radius:999px;padding:2px 10px;margin-bottom:8px;
}
.hub-card strong{display:block;font-size:17px;margin-bottom:6px;font-family:var(--display);font-weight:600}
.hub-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.65}
@media (max-width:800px){
  .hub-grid,.opp-form-grid{grid-template-columns:1fr}
  .opp-form-grid .field-span-6,.opp-form-grid .field-span-3,.opp-form-grid .field-span-2{grid-column:auto}
}
@media (max-width:720px){
  .fb-row{grid-template-columns:36px 1fr}
  .fb-actions{grid-column:1/-1;justify-content:flex-end}
}
.chamber-login-body{
  margin:0;min-height:100dvh;background:#eef3f7;
  font-family:var(--body);color:var(--ink);
  -webkit-text-size-adjust:100%;text-size-adjust:100%;
  overflow-x:hidden;
}
.chamber-login-page{min-height:100dvh;display:flex;align-items:stretch}
.chamber-login-shell{
  display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(360px,.95fr);
  width:100%;min-height:100dvh;
}
.chamber-login-brand{
  position:relative;display:flex;align-items:center;justify-content:center;
  padding:3rem 2rem;color:#fff;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.22) 100%),
    url("../images/login-panel-bg.jpg") center / cover no-repeat;
}
.chamber-login-brand-inner{position:relative;z-index:1;max-width:560px;text-align:center}
.chamber-login-brand-logo{
  width:min(380px,82vw);height:auto;margin:0 auto;display:block;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.22));
}
.chamber-login-panel{
  display:flex;flex-direction:column;justify-content:center;
  padding:2rem;background:#f7fafc;
}
.chamber-login-panel-inner{
  width:min(420px,100%);margin:0 auto;background:#fff;
  border:1px solid rgba(15,53,87,.08);border-radius:18px;
  box-shadow:0 18px 48px rgba(15,53,87,.08);overflow:hidden;
}
.chamber-login-panel-head{
  padding:2rem 2rem 1.25rem;text-align:center;
  border-bottom:1px solid rgba(15,53,87,.08);
}
.chamber-login-panel-logo{display:none}
.chamber-login-panel-head h1{
  margin:0 0 .35rem;font-size:1.45rem;font-weight:800;color:#043348;
}
.chamber-login-panel-head p{margin:0;font-size:.92rem;color:#5b6777}
.chamber-login-form{padding:1.5rem 2rem 1.75rem;display:flex;flex-direction:column;gap:1rem}
.login-field{display:flex;flex-direction:column;gap:.35rem;margin:0}
.login-field span{font-size:.82rem;font-weight:600;color:#334155}
.login-input{
  width:100%;padding:.7rem .85rem;border:1px solid #d7e0ea;border-radius:10px;
  font-family:inherit;font-size:.95rem;background:#fbfdff;color:var(--ink);
}
.login-input:focus{
  outline:none;border-color:#0f5b7a;box-shadow:0 0 0 3px rgba(15,91,122,.12);
}
.chamber-login-submit{
  width:100%;margin-top:.25rem;padding:.75rem 1rem;border:0;border-radius:14px;
  background:linear-gradient(180deg,#0f5b7a 0%,#043348 100%);
  color:#fff;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;
}
.chamber-login-submit:hover{background:linear-gradient(180deg,#136786 0%,#043348 100%)}
.chamber-login-back{
  padding:0 2rem 1.5rem;margin:0;text-align:center;font-size:.88rem;
}
.chamber-login-back-alt{padding-top:0;padding-bottom:1.35rem;margin-top:-10px}
.chamber-login-back a{color:#0f5b7a;font-weight:600;text-decoration:none}
.chamber-login-back a:hover{text-decoration:underline}
.chamber-login-footer{
  margin-top:1.5rem;text-align:center;font-size:.82rem;color:#64748b;
  display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;
}
.chamber-login-footer a{color:#0f5b7a;text-decoration:none}
@media (max-width:900px){
  .chamber-login-page,.chamber-login-shell{min-height:100svh;min-height:100dvh}
  .chamber-login-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .chamber-login-brand{
    min-height:0;
    padding:calc(.9rem + env(safe-area-inset-top,0px)) 1.25rem .85rem;
  }
  .chamber-login-brand-logo{margin-bottom:0;width:min(220px,68vw)}
  .chamber-login-panel{
    justify-content:flex-start;
    padding:0 1rem calc(1.15rem + env(safe-area-inset-bottom,0px));
  }
  .chamber-login-panel-inner{width:100%;border-radius:16px}
  .chamber-login-panel-logo{display:none}
  .chamber-login-panel-head{padding:1.2rem 1.2rem .9rem}
  .chamber-login-panel-head h1{font-size:1.22rem}
  .chamber-login-panel-head p{font-size:.86rem}
  .chamber-login-form{padding:1.1rem 1.2rem 1.15rem;gap:.85rem}
  .login-input,.chamber-login-submit{
    font-size:16px;min-height:48px;border-radius:12px;
  }
  .chamber-login-submit{padding:.85rem 1rem}
  .chamber-login-back{padding:0 1.2rem .7rem;font-size:.9rem}
  .chamber-login-back-alt{padding-bottom:1.1rem;margin-top:0}
  .chamber-login-back a{display:inline-block;padding:.25rem .4rem}
  .chamber-login-footer{margin-top:1rem;font-size:.78rem}
  .login-wrap{
    align-content:start;
    padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));
  }
  .login-card{padding:20px 16px}
  .login-logo{width:min(220px,72vw);margin-bottom:12px}
  .field input:not([type=checkbox]),.field textarea,.field select,.login-card input:not([type=checkbox]),.login-card select,.login-card textarea{
    font-size:16px;min-height:46px;
  }
}
@media (max-width:900px) and (max-height:740px){
  .chamber-login-brand{padding-top:calc(.65rem + env(safe-area-inset-top,0px));padding-bottom:.6rem}
  .chamber-login-brand-logo{width:min(176px,58vw)}
  .chamber-login-panel-head{padding-top:1rem}
}
@media (max-width:900px) and (orientation:landscape){
  .chamber-login-shell{
    grid-template-columns:minmax(160px,.38fr) minmax(280px,1fr);
    grid-template-rows:none;
  }
  .chamber-login-brand{min-height:100%;padding:1rem}
  .chamber-login-brand-logo{width:min(200px,42vw)}
  .chamber-login-panel{
    justify-content:center;padding:1rem;overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}
