:root{--ink:#172b3a;--muted:#5c6f7d;--navy:#102a43;--blue:#1f5f8b;--sky:#eaf4fb;--line:#dce6ed;--paper:#fff;--bg:#edf3f6;--green:#18714c;--green-soft:#e7f6ef;--amber:#a15c00;--amber-soft:#fff3dc;--red:#a33636;--red-soft:#fdecec;--shadow:0 18px 50px rgba(16,42,67,.10)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#e8f0f4 0,#f7f9fa 420px);color:var(--ink);min-height:100vh}.topbar{position:sticky;top:0;z-index:10;background:rgba(16,42,67,.96);backdrop-filter:blur(16px);color:#fff;padding:12px max(16px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 24px rgba(16,42,67,.18)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#4ba3c7,#23739a);font-size:.77rem;font-weight:900;letter-spacing:.05em}.topbar strong{display:block;font-size:1.02rem;letter-spacing:.01em}.topbar small{display:block;opacity:.7;margin-top:1px;font-size:.72rem}main{max-width:1040px;margin:28px auto;padding:0 16px}.panel{background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:clamp(18px,4vw,34px);box-shadow:var(--shadow)}.hidden{display:none!important}h1{margin:.1em 0 .35em;font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.08;letter-spacing:-.035em}h2{font-size:1.12rem;margin:0}.lede{color:var(--muted);font-size:1.02rem;line-height:1.55;margin:.25rem 0 1.2rem}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:850;font-size:.71rem;color:var(--blue);margin:0 0 8px}.stack{display:grid;gap:15px;max-width:520px}.auth-panel{max-width:620px;margin:8vh auto}.auth-panel .stack{margin-top:24px}label{display:grid;gap:7px;font-weight:720;font-size:.92rem}input,select,button{font:inherit;border-radius:12px;border:1px solid #b8c8d3;padding:13px 14px}input,select{background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:#3b82a6;box-shadow:0 0 0 4px rgba(59,130,166,.14)}button{border:0;background:var(--navy);color:#fff;font-weight:780;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,42,67,.16)}button:active{transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.primary-action{width:100%;min-height:54px;font-size:1.02rem;margin-top:8px;background:linear-gradient(135deg,#123e5d,#1f678d)}.ghost{background:transparent;border:1px solid currentColor;color:var(--navy);box-shadow:none}.ghost.light{color:#fff;padding:9px 12px}.secondary{background:var(--blue)}.danger{color:var(--red)}.compact{padding:9px 12px}.card-grid,.summary-grid,.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin:18px 0}.site-card,.mode,.summary-card{border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left;padding:18px;border-radius:18px;box-shadow:0 8px 24px rgba(16,42,67,.04)}.site-card,.mode{position:relative}.site-card.selected,.mode.selected{border-color:#2c759b;background:linear-gradient(145deg,#f5fbff,#e8f4fb);box-shadow:0 0 0 3px rgba(44,117,155,.10),0 10px 28px rgba(16,42,67,.08)}.site-card strong,.mode strong{display:block;font-size:1.08rem}.site-card span,.mode span{display:block;color:var(--muted);margin-top:6px;line-height:1.35}.mode-icon{display:inline-block!important;width:max-content;margin:0 0 14px!important;padding:5px 8px;border-radius:7px;background:var(--sky);color:var(--blue)!important;font-size:.68rem;font-weight:900;letter-spacing:.1em}.summary-card strong{display:block;font-size:2rem;color:var(--navy);letter-spacing:-.04em}.summary-card small{display:block;color:var(--muted);margin-top:7px;line-height:1.45}.row-between{display:flex;justify-content:space-between;align-items:center;gap:14px}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.scan-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.mode-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:16px;padding:15px 17px;margin:18px 0}.mode-banner span{font-size:.69rem;font-weight:900;letter-spacing:.11em}.mode-banner strong{font-size:.97rem;text-align:right}.mode-banner.occupied{background:var(--amber-soft);color:#714300;border:1px solid #efd39f}.mode-banner.available{background:var(--green-soft);color:#14593d;border:1px solid #bfe5d4}.scan-form{margin:18px 0 8px}.scan-row{display:grid;grid-template-columns:1fr auto;gap:9px}.scan-row input{font-size:1.35rem;text-transform:uppercase;letter-spacing:.04em;min-height:58px}.scan-row button{min-width:92px}.counter{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#eaf4fb,#f4f9fc);border:1px solid #d5e7f1;border-radius:18px;padding:17px 19px;margin:16px 0}.counter span{display:block;font-weight:800}.counter small{display:block;color:var(--muted);margin-top:3px}.counter strong{font-size:2.4rem;color:var(--navy);letter-spacing:-.05em}.recent-heading{display:flex;justify-content:space-between;align-items:end;margin:20px 0 9px}.recent-heading span{font-size:.78rem;color:var(--muted)}.scan-list{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:18px;background:#fff}.scan-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #edf1f4}.scan-item:last-child{border-bottom:0}.scan-item span{display:flex;flex-direction:column;gap:2px}.scan-item strong{font-size:1.08rem}.scan-item small{color:var(--muted)}.remove-scan{background:var(--red-soft);color:var(--red);padding:8px 11px;border:1px solid #f4caca;box-shadow:none}.empty-state{padding:22px;text-align:center;color:var(--muted)}.message{min-height:1.25em;color:#8a2d15}.message.ok{color:var(--green)}.report-identity{padding:3px 0 22px;border-bottom:1px solid var(--line);margin-bottom:20px}.report-identity h1{margin-bottom:6px}.report-identity h2{font-size:clamp(1.2rem,3vw,1.55rem);color:var(--blue)}.report-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;color:var(--muted);font-size:.86rem}.report-meta span{display:flex;align-items:center}.report-meta span:not(:last-child)::after{content:"";width:3px;height:3px;border-radius:50%;background:#9aabb6;margin-left:16px}.headline-grid{grid-template-columns:repeat(4,1fr);margin:0 0 30px}.summary-card.headline{padding:17px}.summary-card.headline span{font-size:.82rem;font-weight:800;color:var(--muted)}.summary-card.headline strong{font-size:clamp(1.8rem,4vw,2.7rem);margin-top:5px}.headline.occupied{border-top:4px solid #bf7a19}.headline.available{border-top:4px solid var(--green)}.headline.percentage{border-top:4px solid var(--blue)}.headline.capacity{border-top:4px solid var(--navy)}.report-section{margin:28px 0}.report-section h2{margin-bottom:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #e5ebef}th{background:#f3f7f9;color:#516572;font-size:.79rem;text-transform:uppercase;letter-spacing:.06em}.report-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}.report-table th:not(:first-child),.report-table td:not(:first-child){text-align:right}.report-table td:first-child{font-weight:690}.report-table tbody tr:nth-child(even){background:#f8fafb}.toolbar{display:grid;grid-template-columns:180px 1fr auto;gap:9px;margin:17px 0}.status-select{min-width:175px;padding:8px}dialog{border:0;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.28);width:min(520px,92vw)}dialog::backdrop{background:rgba(9,25,37,.55);backdrop-filter:blur(3px)}menu{display:flex;justify-content:flex-end;gap:8px;padding:0}footer{text-align:center;color:#6a7b87;padding:28px 16px;font-size:.79rem}
@media(max-width:760px){main{margin:16px auto;padding:0 10px}.panel{border-radius:20px}.headline-grid{grid-template-columns:repeat(2,1fr)}.report-meta{display:grid;gap:6px}.report-meta span:not(:last-child)::after{display:none}.toolbar{grid-template-columns:1fr}.row-between{align-items:flex-start}.scan-row{grid-template-columns:1fr auto}}
@media(max-width:520px){.topbar{padding-top:max(10px,env(safe-area-inset-top))}.brand-mark{width:34px;height:34px}.topbar strong{font-size:.94rem}.panel{padding:18px 15px}.card-grid,.mode-grid{grid-template-columns:1fr}.scan-header{align-items:flex-start}.scan-header .compact{font-size:.78rem}.mode-banner{display:block}.mode-banner strong{display:block;text-align:left;margin-top:5px}.scan-row{grid-template-columns:1fr}.scan-row button{min-height:50px}.headline-grid{gap:9px}.summary-card.headline{padding:13px}.counter small{max-width:210px}.report-section .table-wrap{overflow:visible}.report-table,.report-table tbody,.report-table tr,.report-table td{display:block;width:100%}.report-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.report-table{border:0;overflow:visible}.report-table tbody{display:grid;gap:10px}.report-table tbody tr{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 5px 14px rgba(16,42,67,.04)}.report-table tbody tr:nth-child(even){background:#fff}.report-table td{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 12px;text-align:right!important;border-bottom:1px solid #edf1f4}.report-table td:last-child{border-bottom:0}.report-table td::before{font-weight:700;color:var(--muted);text-align:left}.report-table td:first-child{display:block;background:#f3f7f9;text-align:left!important;font-weight:800;color:var(--ink);padding:11px 12px}.report-table td:first-child::before{content:none}.report-table td:nth-child(2)::before{content:"Capacity"}.report-table td:nth-child(3)::before{content:"Occupied"}.report-table td:nth-child(4)::before{content:"Available"}}
@media print{body{background:#fff}.topbar,footer,#newCountBtn{display:none!important}main{max-width:none;margin:0;padding:0}.panel{box-shadow:none;border:0;padding:0}.report-section{break-inside:avoid}.headline-grid{grid-template-columns:repeat(4,1fr)}}

/* v0.4 Capacity Administration */
.admin-space-list{display:grid;gap:11px;margin-top:16px}.admin-space-card{border:1px solid var(--line);border-radius:17px;padding:15px 16px;background:#fff;box-shadow:0 6px 18px rgba(16,42,67,.04)}.admin-space-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.admin-space-head strong{display:block;font-size:1.18rem;letter-spacing:.01em}.admin-space-head div>span{display:block;color:var(--muted);font-size:.86rem;margin-top:4px}.category-pill{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.category-pill.baseline{background:#e8f2f8;color:#245d7a}.category-pill.contingency{background:#fff1d8;color:#80520c}.admin-space-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:13px}.admin-space-controls label{font-size:.78rem;color:var(--muted)}.admin-space-controls select{color:var(--ink);font-weight:700}.dialog-note{margin:0;padding:12px 14px;border-radius:12px;background:#edf5f9;color:#405866;line-height:1.45;font-size:.88rem}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.code-preview{display:grid;gap:4px;padding:14px 15px;background:linear-gradient(135deg,#edf6fb,#f7fafc);border:1px solid #d7e8f1;border-radius:14px}.code-preview span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--blue)}.code-preview strong{font-size:1.18rem;color:var(--navy)}.code-preview small{color:var(--muted)}
@media(max-width:760px){.toolbar{grid-template-columns:1fr 1fr}.toolbar select,.toolbar input{grid-column:1/-1}.toolbar button{width:100%}}
@media(max-width:520px){.toolbar{grid-template-columns:1fr 1fr}.admin-space-card{padding:14px}.admin-space-head{display:block}.category-pill{display:inline-block;margin-top:9px}.admin-space-controls{grid-template-columns:1fr}.admin-space-controls button{width:100%;min-height:48px}.form-grid.two{grid-template-columns:1fr}dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);overflow:auto;padding:18px}dialog menu{position:sticky;bottom:-18px;background:#fff;margin:7px -18px -18px;padding:13px 18px;border-top:1px solid var(--line)}dialog menu button{flex:1}}

/* v0.4.1 whole-bank operational controls */
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:24px 0 12px}.section-heading .eyebrow{margin-bottom:5px}.section-heading small{max-width:460px;color:var(--muted);line-height:1.4;text-align:right}.bank-management-section{padding:18px 0 24px;border-bottom:1px solid var(--line)}.space-management-section{padding-top:4px}.bank-admin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.bank-admin-card{display:grid;gap:12px;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:18px;padding:16px;background:#fff;box-shadow:0 7px 20px rgba(16,42,67,.05)}.bank-admin-card.temporary_closure{border-left-color:#c98218;background:linear-gradient(145deg,#fff,#fff9ed)}.bank-admin-card.decommissioned{border-left-color:#9b4040;background:linear-gradient(145deg,#fff,#fff4f4)}.bank-card-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.bank-card-main>div{min-width:0}.bank-code{display:block;color:var(--blue);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.bank-card-main strong{display:block;font-size:1.06rem}.bank-card-main small{display:block;color:var(--muted);margin-top:5px;line-height:1.35}.bank-status-pill{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.65rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:var(--green-soft);color:var(--green)}.bank-status-pill.temporary_closure{background:var(--amber-soft);color:#7b4b00}.bank-status-pill.decommissioned{background:var(--red-soft);color:var(--red)}.bank-reason{margin:0;padding:10px 12px;border-radius:11px;background:rgba(16,42,67,.045);color:#425966;font-size:.84rem;line-height:1.45}.impact-panel{margin:0;padding:13px 14px;border-radius:13px;background:#fff4dc;border:1px solid #efd59f;color:#694611;line-height:1.45;font-size:.88rem}.optional{font-weight:500;color:var(--muted);font-size:.78rem}textarea{font:inherit;border-radius:12px;border:1px solid #b8c8d3;padding:13px 14px;resize:vertical;color:var(--ink)}textarea:focus{outline:none;border-color:#3b82a6;box-shadow:0 0 0 4px rgba(59,130,166,.14)}.admin-space-card.parent-closed{opacity:.76;background:#f8fafb}.parent-status{display:inline-block!important;margin-top:8px!important;padding:4px 7px;border-radius:7px;background:var(--amber-soft);color:#744700!important;font-weight:800}
@media(max-width:600px){.section-heading{display:block}.section-heading small{display:block;text-align:left;margin-top:7px}.bank-admin-list{grid-template-columns:1fr}.bank-card-main{display:block}.bank-status-pill{display:inline-block;margin-top:10px}.bank-admin-card button{width:100%;min-height:46px}}

/* v0.4.2 camera scanning */
.camera-scanner{margin:1.25rem 0;border:1px solid rgba(16,42,67,.13);border-radius:22px;background:linear-gradient(145deg,#f7fbff,#edf5fa);overflow:hidden}
.camera-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.15rem}
.camera-toolbar h2{margin:.1rem 0 .25rem;font-size:1.12rem}
.camera-help{margin:0;max-width:42rem;color:var(--muted,#526777);font-size:.92rem;line-height:1.45}
.camera-actions{display:flex;gap:.6rem;flex:0 0 auto}
.camera-viewport{position:relative;overflow:hidden;background:#07131d;aspect-ratio:4/3;max-height:62vh}
.camera-viewport video{display:block;width:100%;height:100%;object-fit:cover}
.camera-target{position:absolute;inset:14%;border:2px solid rgba(255,255,255,.92);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.22)}
.camera-target::before,.camera-target::after,.camera-target span::before,.camera-target span::after{content:"";position:absolute;width:34px;height:34px;border-color:#6ee7b7;border-style:solid}
.camera-target::before{left:-3px;top:-3px;border-width:4px 0 0 4px;border-radius:14px 0 0 0}
.camera-target::after{right:-3px;top:-3px;border-width:4px 4px 0 0;border-radius:0 14px 0 0}
.camera-target span::before{left:-3px;bottom:-3px;border-width:0 0 4px 4px;border-radius:0 0 0 14px}
.camera-target span::after{right:-3px;bottom:-3px;border-width:0 4px 4px 0;border-radius:0 0 14px 0}
.camera-status{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);width:max-content;max-width:calc(100% - 2rem);padding:.55rem .9rem;border-radius:999px;background:rgba(7,19,29,.82);color:#fff;font-size:.88rem;text-align:center;backdrop-filter:blur(8px)}
.manual-entry{margin:.9rem 0 1rem;border-top:1px solid rgba(16,42,67,.1);padding-top:.8rem}
.manual-entry summary{cursor:pointer;font-weight:700;color:var(--ink,#102a43);padding:.35rem 0}
.manual-entry[open] summary{margin-bottom:.8rem}
@media (max-width:640px){
 .camera-toolbar{align-items:stretch;flex-direction:column}
 .camera-actions{display:grid;grid-template-columns:1fr}
 .camera-actions button{width:100%;min-height:48px}
 .camera-viewport{aspect-ratio:3/4;max-height:65vh}
 .camera-target{inset:20% 9%}
}


/* v0.5 operational dashboard */
.home-actions,.report-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.dashboard-panel{max-width:1120px}.trust-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem;border-radius:20px;background:linear-gradient(135deg,#102a43,#1f5f7a);color:#fff;margin:1.25rem 0}.trust-summary h2{margin:.2rem 0;font-size:clamp(1.8rem,5vw,3rem)}.trust-summary p{margin:0;color:#d8eaf2}.dashboard-sites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dashboard-card{border:1px solid #d9e3ec;border-radius:20px;padding:1.2rem;background:#fff;box-shadow:0 12px 30px rgba(16,42,67,.08)}.dashboard-card.empty{display:flex;flex-direction:column;justify-content:center;min-height:260px}.dashboard-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.dashboard-card-head h2{margin:.1rem 0}.pressure-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.45rem .7rem;font-size:.76rem;font-weight:800;white-space:nowrap}.pressure-pill.green{background:#d9f7e8;color:#116149}.pressure-pill.amber{background:#fff0c2;color:#815b00}.pressure-pill.red{background:#ffe0e0;color:#9f1d1d}.pressure-pill.neutral{background:#e9eef3;color:#52667a}.occupancy-hero{display:flex;align-items:baseline;gap:.5rem;margin:1.4rem 0 .6rem}.occupancy-hero strong{font-size:clamp(3rem,9vw,5.4rem);line-height:.9;color:#102a43}.occupancy-hero span{font-weight:700;color:#627d98}.capacity-bar{height:14px;border-radius:999px;background:#e8eef3;overflow:hidden}.capacity-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d7f9d,#0f4c75)}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem}.metric-row div{padding:.8rem;border-radius:14px;background:#f4f7fa;text-align:center}.metric-row strong{display:block;font-size:1.45rem}.metric-row span{font-size:.78rem;color:#627d98}.comparison-note{margin:1rem 0 0;font-weight:700;color:#486581}.dashboard-section{margin-top:1.6rem}.event-list{display:grid;gap:.75rem}.event-card{border:1px solid #d9e3ec;border-radius:16px;padding:1rem;background:#fff}.event-card strong{display:block;margin:.35rem 0}.event-card p{margin:.2rem 0;color:#486581}.event-status{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.event-status.open{color:#9f1d1d}.event-status.monitoring{color:#815b00}@media(max-width:720px){.dashboard-sites{grid-template-columns:1fr}.trust-summary{align-items:flex-start;flex-direction:column}.dashboard-card-head{flex-direction:column}.report-actions>*{flex:1 1 100%}}
/* v0.6.0 report history and dynamic-estate additions */
.report-filter-bar{display:flex;gap:.75rem;align-items:center;margin:1rem 0 1.25rem}.report-filter-bar select{min-width:220px}.reports-list{display:grid;gap:1rem}.saved-report-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1.25rem;align-items:center;background:#fff;border:1px solid #dbe4ec;border-radius:18px;padding:1.15rem;box-shadow:0 8px 24px rgba(20,48,74,.06)}.saved-report-card h2,.saved-report-card p{margin:.15rem 0}.saved-report-metrics{display:flex;gap:1.2rem;align-items:center}.saved-report-metrics span{display:flex;flex-direction:column;color:#617386;font-size:.82rem}.saved-report-metrics strong{font-size:1.3rem;color:#172532}.dual-config{border:1px solid #bdd9e7;background:#f2f9fc;border-radius:15px;padding:1rem;display:grid;gap:.8rem}.dual-config p{margin:0}.bank-admin-card small{line-height:1.45}.home-actions{flex-wrap:wrap}
@media(max-width:700px){.saved-report-card{grid-template-columns:1fr}.saved-report-metrics{justify-content:space-between;border-top:1px solid #e4ebf1;padding-top:.8rem}.saved-report-card button{width:100%}.report-filter-bar{align-items:stretch;flex-direction:column}.report-filter-bar select,.report-filter-bar button{width:100%}}

/* v0.6.1 administration controls */
.bank-card-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem}
.bank-card-actions button{flex:1 1 12rem}
#bankConfigDialog{width:min(94vw,42rem)}
#bankConfigFunction:disabled{opacity:.65;cursor:not-allowed}
@media (max-width:560px){.bank-card-actions{display:grid;grid-template-columns:1fr}.bank-card-actions button{width:100%}}


/* v0.7 freezer demand and resilience analytics */
.freezer-demand-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.freezer-interpretation{margin-top:20px}.freezer-interpretation strong{display:block;margin-bottom:6px}.capacity-bar.contingency span{opacity:.72}.dashboard-section+.dashboard-section{margin-top:34px}
@media(max-width:620px){.freezer-demand-metrics{grid-template-columns:1fr}.freezer-demand-metrics .summary-card{display:flex;align-items:center;justify-content:space-between}.freezer-demand-metrics .summary-card strong{font-size:1.75rem}}

/* MorCap v0.7.1 identity and browser branding */
.brand-logo{width:40px;height:40px;border-radius:12px;display:block;box-shadow:0 5px 14px rgba(0,0,0,.18)}
.login-brand{display:flex;align-items:center;gap:18px;margin-bottom:12px}.login-brand>img{width:78px;height:78px;border-radius:22px;box-shadow:0 14px 30px rgba(16,42,67,.18)}.login-brand h1{margin:0;font-size:clamp(2.2rem,7vw,3.4rem)}.login-brand .eyebrow{margin-bottom:4px}.login-tagline{margin:5px 0 0;color:var(--blue);font-weight:750;letter-spacing:.01em}.auth-panel{position:relative;overflow:hidden}.auth-panel::before{content:"";position:absolute;width:260px;height:260px;right:-130px;top:-125px;border-radius:50%;background:radial-gradient(circle,rgba(16,168,160,.16),rgba(23,105,210,0));pointer-events:none}.auth-panel form button{background:linear-gradient(135deg,#1769d2,#108a93);min-height:52px}.auth-panel input{min-height:52px}
footer{display:flex;justify-content:center;align-items:center;gap:8px;padding:24px 16px 34px;color:#607585;font-size:.82rem}footer img{width:24px;height:24px;border-radius:7px}footer strong{color:#173d59}
@media(max-width:520px){.login-brand{align-items:flex-start}.login-brand>img{width:62px;height:62px;border-radius:18px}.topbar small{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-logo{width:36px;height:36px}}

/* MorCap v0.8.0 — operational context and configuration profiles */
.operational-context{margin-top:1.25rem}
.section-intro{margin-top:-.35rem;color:var(--muted)}
.context-group{margin-top:1rem}
.context-group h3{margin:0 0 .6rem;font-size:1rem}
.context-item{border:1px solid var(--line);border-radius:16px;padding:1rem;margin:.65rem 0;background:var(--paper)}
.context-item>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.context-item p{margin:.55rem 0 .35rem}
.context-item small{display:block;color:var(--muted);margin-top:.2rem}
.profile-status{display:block;color:var(--blue);margin-top:.25rem}
.admin-space-controls .bank-status-pill{align-self:center}
#bankProfileImpact,#spaceStatusImpact,#estatePreflightSummary{white-space:normal}
@media (max-width:600px){
 .context-item>div{align-items:flex-start;flex-direction:column}
 .admin-space-controls{align-items:stretch}
 .admin-space-controls button{width:100%}
}
