:root{color:#111827;background:#f3f7fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue: #1769e8;--blue-deep: #0c4ed4;--blue-soft: #eaf2ff;--cyan: #18a0fb;--green: #18a66a;--orange: #f59e0b;--red: #ef4444;--surface: #ffffff;--surface-2: #f6f9fd;--text-1: #111827;--text-2: #334155;--text-3: #64748b;--line: #dce5f1;--line-strong: #c7d3e1;--radius-sm: 6px;--radius-md: 8px;--shadow-sm: 0 10px 24px rgba(23, 43, 77, .06);--shadow-md: 0 18px 48px rgba(22, 55, 105, .11)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100dvh;margin:0;background:radial-gradient(circle at 72% 10%,rgba(23,105,232,.08),transparent 28%),linear-gradient(180deg,#fbfdff,#f3f7fc)}body:has(.detail-modal-backdrop){overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit}.portal-shell{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100dvh}.portal-sidebar{position:sticky;top:0;z-index:30;display:grid;align-content:start;gap:22px;height:100dvh;padding:20px 14px;border-right:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-frame{min-width:0}.brand-block{display:flex;align-items:center;min-width:0;gap:12px;padding:0 4px}.brand-mark{width:34px;height:34px;flex:0 0 auto;border-radius:8px;object-fit:contain;box-shadow:0 8px 18px #1565d838}.brand-block h1,.workspace-hero h2,.panel h2,.panel h3{margin:0;letter-spacing:0}.brand-block h1{color:var(--text-1);font-size:15px;line-height:1.15}.nav-tabs{display:grid;gap:8px;padding:0;border:0;background:transparent}.nav-tab{display:flex;align-items:center;gap:9px;min-height:42px;min-width:0;border:0;border-radius:var(--radius-md);padding:0 12px;color:var(--text-3);background:transparent;font-size:13px;font-weight:800}.nav-tab-icon{flex:0 0 auto}.nav-tab:hover,.nav-tab:focus-visible{color:var(--blue);background:#f2f7ff;outline:none}.nav-tab[aria-selected=true]{color:var(--blue);background:var(--blue-soft);box-shadow:inset 3px 0 0 var(--blue)}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;padding:12px 22px;border-bottom:1px solid var(--line);background:#ffffffe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-header-title{display:grid;gap:2px;min-width:0}.portal-header-title span{color:var(--text-1);font-size:15px;font-weight:900}.portal-header-title p{margin:0;color:var(--text-3);font-size:12px}.portal-header-actions,.identity-panel,.section-heading,.detail-modal-actions,.member-row-actions,.member-form-actions,.records-pagination{display:flex;align-items:center}.portal-header-actions{gap:10px;min-width:0}.header-icon-button{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--text-2);background:#fff}.identity-panel{min-width:0;max-width:min(360px,52vw);gap:8px;padding:5px 6px 5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.identity-avatar{display:inline-grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:999px;color:var(--blue);background:var(--blue-soft)}.identity-panel strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.logout-button,.primary-action,.secondary-action,.ghost-action{display:inline-flex;min-width:0;min-height:40px;align-items:center;justify-content:center;border-radius:var(--radius-sm);padding:10px 13px;font-weight:800;text-align:center;text-decoration:none;overflow-wrap:anywhere}.logout-button{gap:5px;min-height:28px;border:1px solid #d8e1ea;border-radius:999px;color:var(--text-2);background:#f8fbff;font-size:12px}.primary-action{grid-column:1 / -1;border:0;color:#fff;background:linear-gradient(180deg,#1f75f2,#0f58d8);box-shadow:0 10px 18px #1769e82e}.secondary-action{border:1px solid #d5deea;color:var(--blue-deep);background:#fff}.ghost-action{border:1px solid #f0b8ae;color:#8a1f11;background:#fff8f6}.main-content{width:min(1120px,100%);margin:0 auto;padding:24px}.tab-panel{min-width:0}.section-kicker,.identity-eyebrow,.metric-label,.panel-subtitle,.record-meta,.muted{color:var(--text-3)}.section-kicker{display:inline-block;margin-bottom:6px;color:var(--blue);font-size:11px;font-weight:800}.workspace-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,330px);gap:18px;min-height:184px;align-items:stretch;padding:26px;overflow:hidden;border:1px solid rgba(255,255,255,.42);border-radius:var(--radius-md);background:radial-gradient(circle at 78% 20%,rgba(255,255,255,.28),transparent 28%),linear-gradient(135deg,#115ee6,#2078f5,#39a8ff);box-shadow:var(--shadow-md)}.workspace-hero>div:first-child{display:grid;align-content:center}.workspace-hero .section-kicker,.workspace-hero h2,.workspace-hero p{color:#fff}.workspace-hero h2{max-width:620px;font-size:24px;line-height:1.35}.workspace-hero p{max-width:560px;margin:10px 0 0;color:#ffffffd1;font-size:14px;line-height:1.7}.hero-visual-card{position:relative;display:grid;min-height:132px;align-items:center;justify-items:center}.hero-illustration{position:relative;width:min(190px,100%);aspect-ratio:1.35}.hero-platform,.hero-building,.hero-cross{position:absolute;display:block}.hero-platform{inset:auto 8% 5%;height:34%;border-radius:20px;background:linear-gradient(135deg,#d7edfff0,#a0d5ffd1);transform:skew(-18deg);box-shadow:0 18px 30px #06327438}.hero-building{bottom:24%;border:2px solid rgba(255,255,255,.72);border-radius:8px;background:linear-gradient(180deg,#f8fbff,#cfe8ff);box-shadow:0 12px 24px #073e9633}.hero-building-main{left:32%;width:34%;height:55%}.hero-building-side{right:17%;width:26%;height:42%}.hero-building span{display:block;width:48%;height:8%;margin:16% auto 0;border-radius:2px;background:#7ebcff}.hero-cross{top:13%;left:42%;width:22px;height:22px;border-radius:7px;background:#ff6b7a;box-shadow:0 8px 16px #8018342e}.hero-cross:before,.hero-cross:after{position:absolute;content:"";inset:5px 10px;border-radius:999px;background:#fff}.hero-cross:after{inset:10px 5px}.hero-status-card{position:absolute;right:0;bottom:0;display:grid;width:min(210px,100%);gap:5px;padding:10px 12px;border-radius:var(--radius-md);background:#ffffff29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-status-card span,.hero-status-card small{color:#ffffffc7}.hero-status-card strong{color:#fff;font-size:15px;overflow-wrap:anywhere}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 16px}.metric-card,.panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.metric-card{display:grid;gap:8px;min-height:94px;padding:14px}.metric-card:before{width:28px;height:28px;border-radius:8px;background:var(--blue-soft);content:""}.metric-card.green:before{background:#e7f8ef}.metric-card.orange:before{background:#fff4df}.metric-card.red:before{background:#ffeceb}.metric-value{color:var(--text-1);font-size:26px;line-height:1}.panel{margin-bottom:16px;padding:18px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-subtitle{max-width:320px;text-align:right;font-size:13px;line-height:1.5}.loading-panel,.access-panel,.success-panel{display:flex;align-items:center;justify-content:space-between;gap:16px}.error-panel,.login-error,.member-action-error,.error-text{color:#8a1f11}.error-panel,.member-action-error{border-color:#f0b8ae;background:#fff4f2}.success-panel,.submit-result-panel{border-color:#b9ded8;background:#f1fbf8}.opening-form,.form-section,.member-form-list,.record-list,.member-list,.step-list,.submit-result-panel,.member-maintenance-form{display:grid}.opening-form{gap:18px}.opening-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:0;margin:0 0 2px;list-style:none}.opening-steps li{position:relative;display:grid;justify-items:center;gap:8px;min-width:0;color:var(--text-3);font-size:12px;font-weight:800;text-align:center}.opening-steps li:before{position:absolute;top:14px;right:50%;left:-50%;height:2px;background:var(--line);content:""}.opening-steps li:first-child:before{display:none}.opening-steps li span{z-index:1;display:grid;width:30px;height:30px;place-items:center;border-radius:999px;color:var(--text-3);background:#eaf0f7}.opening-steps li.active{color:var(--blue)}.opening-steps li.done{color:#16826f}.opening-steps li.done:before,.opening-steps li.active:before{background:#b9ded8}.opening-steps li.active span{color:#fff;background:var(--blue);box-shadow:0 8px 16px #1769e83d}.opening-steps li.done span{color:#fff;background:#18a085}.form-actions{display:flex;grid-column:1 / -1;flex-wrap:wrap;gap:10px;justify-content:flex-end}.form-actions .primary-action,.form-actions .secondary-action{min-width:132px}.form-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfdff}.form-section-title,.wide-field,.full-width{grid-column:1 / -1}.form-section-title{color:var(--text-2);font-size:14px;font-weight:800}.field-label-text{display:inline-flex;min-width:0;align-items:baseline;gap:2px}.required-mark{color:var(--red);font-weight:900}.optional-mark{color:var(--text-3);font-size:12px;font-weight:700}label{display:grid;gap:7px;color:#36454f;font-size:14px;font-weight:800}input,select,textarea{width:100%;min-height:42px;border:1px solid #d5deea;border-radius:var(--radius-sm);padding:10px 12px;color:#172026;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1565d81f}textarea{min-height:96px;resize:vertical}.field-hint{margin:-4px 0 0;font-size:12px}.search-results{display:grid;grid-column:1 / -1;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.search-result-item{min-height:40px;border:1px solid #dbe4ee;border-radius:var(--radius-sm);padding:10px 12px;color:#172026;background:#f8fbff;text-align:left}.section-heading{justify-content:space-between;gap:12px}.member-form-list,.record-list,.member-list,.step-list{gap:10px;padding:0;margin:0;list-style:none}.member-form-item,.record-list li,.member-list li,.step-list li{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.member-form-item{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;padding:14px}.member-form-item legend{padding:0 6px;color:var(--text-3);font-size:13px;font-weight:800}.submit-result-panel{grid-column:1 / -1;gap:12px;padding:14px;border:1px solid #b9ded8;border-radius:var(--radius-md)}.records-overview{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.records-overview span,.status-pill,.role-badge{display:inline-flex;width:fit-content;max-width:100%;align-items:center;white-space:nowrap}.records-overview span{min-height:30px;border-radius:999px;padding:6px 12px;color:var(--text-3);background:#f3f7fb;font-size:12px;font-weight:800}.records-overview .active{color:var(--blue);background:var(--blue-soft)}.record-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;box-shadow:0 8px 20px #172b4d0a}.record-list li div,.member-list li{display:grid;min-width:0;gap:5px}.record-list li>.record-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.record-actions .secondary-action{min-width:112px}.record-list strong,.member-list strong{overflow-wrap:anywhere}.record-meta{font-size:12px;overflow-wrap:anywhere}.records-pagination{justify-content:center;margin-top:14px}.status-pill,.role-badge{border-radius:999px;padding:6px 8px;color:#1250aa;background:#eaf2ff;font-size:12px;font-weight:800;line-height:1}.status-pill.green{background:#e8f5ef;color:#15764c}.status-pill.orange{background:#fff3df;color:#9a5b00}.status-pill.red{background:#fff1ee;color:#9d2c22}.detail-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#0f172a75}.detail-modal{position:relative;display:grid;width:min(940px,100%);max-height:min(760px,calc(100dvh - 48px));grid-template-rows:auto minmax(0,1fr);margin:0;padding:0;overflow:hidden}.detail-modal-header{align-items:center;margin:0;padding:18px;border-bottom:1px solid var(--line)}.detail-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.detail-modal-body{min-height:0;overflow:auto;padding:0 18px 18px}.detail-panel dl{display:grid;gap:8px;margin:14px 0 18px}.detail-panel dl div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5}.detail-panel dt{color:var(--text-3);font-weight:800}.detail-panel dd{min-width:0;margin:0;overflow-wrap:anywhere}.detail-info-list{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-fields-section{padding-top:2px}.detail-panel .detail-info-list{gap:10px;margin:0 0 18px}.detail-panel .detail-info-list div{grid-template-columns:112px minmax(0,1fr);align-items:center;min-height:52px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,#f8fbff)}.detail-panel h3{margin:0}.detail-section-heading{margin:18px 0 12px}.detail-members-section{margin-top:20px;padding-top:2px}.member-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.detail-panel .member-summary-grid div{grid-template-columns:1fr;gap:5px;min-height:76px;padding:13px 14px;border:1px solid #edf1f5;border-radius:var(--radius-md);background:#fbfdff}.member-summary-grid dt{color:#7b8798;font-size:12px;font-weight:800}.member-summary-grid dd{color:var(--text-1);font-size:22px;font-weight:900;line-height:1}.member-action-error{margin:0 0 12px;padding:10px 12px;border:1px solid #f0b8ae;border-radius:var(--radius-sm);font-weight:800}.member-role-description{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,#fbfdff,#f5f9ff)}.member-role-description strong{color:var(--text-2);font-size:13px}.member-role-description p{margin:-2px 0 8px;color:var(--text-3);font-size:12px;line-height:1.55}.member-role-description p:last-child{margin-bottom:0}.member-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:#fff}.member-table th,.member-table td{padding:12px;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:middle}.member-table th{color:var(--text-3);background:#f6f9fd;font-size:13px;font-weight:800}.member-table tr:last-child td{border-bottom:0}.member-empty-cell,.empty-state{color:var(--text-3);text-align:center}.empty-state{margin:0;padding:26px;border:1px dashed var(--line-strong);border-radius:var(--radius-md)}.member-qr-modal{width:min(860px,100%)}.member-qr-screen{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr)}.member-qr-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:18px;border-bottom:1px solid var(--line)}.member-qr-header h2{margin:2px 0 0;color:var(--text-1);font-size:20px}.member-qr-back{display:inline-flex;align-items:center;gap:6px}.member-qr-body{min-height:0;padding:22px;overflow:auto}.member-qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.member-qr-item{display:grid;justify-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.member-qr-canvas{width:min(240px,100%)}.member-qr-item canvas{display:block;width:100%;height:auto;aspect-ratio:1}.member-qr-item strong{color:var(--text-1);font-size:15px;text-align:center;overflow-wrap:anywhere}.member-qr-share{display:inline-flex;min-width:156px;align-items:center;justify-content:center;gap:7px}.member-qr-state{display:grid;min-height:280px;place-items:center;margin:0;color:var(--text-3);font-weight:800;text-align:center}.member-qr-error{align-content:center;gap:12px;color:var(--red)}.member-qr-error p{margin:0}.member-qr-notice{margin:16px 0 0;color:var(--text-2);font-size:13px;font-weight:800;text-align:center}@media(max-width:720px){.member-qr-modal{display:block}.member-qr-screen{min-height:100dvh}.member-qr-header{position:sticky;top:0;z-index:2;grid-template-columns:1fr;gap:10px;padding:12px 16px;background:#fffffff5}.member-qr-header h2{font-size:18px}.member-qr-back{justify-self:start}.member-qr-body{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}.member-qr-grid{grid-template-columns:minmax(0,1fr)}.member-qr-item{padding:16px}.member-qr-share{width:100%}}.institutions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.institutions-header h2{margin:0;color:var(--text-1);font-size:22px;font-weight:800}.institutions-header p{margin:4px 0 0;font-size:13px;color:var(--text-3)}.institutions-count{flex:0 0 auto;padding:4px 10px;border-radius:999px;color:var(--blue-deep);background:var(--blue-soft);font-size:12px;font-weight:700}.institutions-search-bar{margin:0 0 16px;display:flex;align-items:center;gap:10px;position:relative}.institutions-search-input-wrap{position:relative;flex:1 1 auto;display:flex;align-items:center}.institutions-search-icon{position:absolute;left:12px;color:var(--text-3);pointer-events:none}.institutions-search-input{width:100%;height:40px;padding:0 34px 0 36px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:13.5px;color:var(--text-1);transition:border-color .15s ease,box-shadow .15s ease}.institutions-search-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.institutions-search-clear{position:absolute;right:10px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:0;background:#f1f5f9;color:#64748b;cursor:pointer;padding:0;transition:all .15s ease}.institutions-search-clear:hover{background:#e2e8f0;color:#1e293b}.institutions-search-meta{font-size:12.5px;color:var(--text-3);white-space:nowrap}.search-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:36px 16px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:var(--radius-md);margin-bottom:16px}.search-empty-state p{margin:0;color:var(--text-2);font-size:14px;font-weight:600}.hospital-group{min-width:0;margin-bottom:16px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 2px 8px #0f172a0a}.hospital-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #edf1f5}.hospital-group-title-wrap{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 0}.hospital-group-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border-radius:8px;color:var(--blue);background:var(--blue-soft)}.hospital-group-text{display:flex;flex-direction:column;min-width:0;flex:1 1 0;gap:2px}.hospital-group-header h3{margin:0;color:var(--text-1);font-size:16px;font-weight:700;word-break:break-all}.hospital-group-header p{margin:0;font-size:12px;color:var(--text-3)}.hospital-group-count{flex:0 0 auto;padding:4px 8px;border-radius:6px;color:var(--blue-deep);background:var(--blue-soft);font-size:12px;font-weight:700}.organization-grid{display:grid;margin:12px 0 0;padding:0;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));list-style:none}.organization-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;box-shadow:0 1px 3px #0f172a0a;transition:border-color .15s ease,box-shadow .15s ease}.organization-card:hover{border-color:#cbd5e1;box-shadow:0 3px 8px #0f172a12}.organization-card.just-returned-active{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f640!important;animation:returnHighlightFade 2s ease forwards}@keyframes returnHighlightFade{0%{background:#eff6ff;border-color:#3b82f6}70%{background:#f8fafc;border-color:#93c5fd}to{background:#fff;border-color:var(--line)}}.organization-card-main{display:flex;align-items:flex-start;gap:10px;width:100%;min-width:0}.organization-card-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;border-radius:6px;color:var(--blue-deep);background:#eff6ff;border:1px solid #dbeafe}.organization-card-title{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;gap:4px}.organization-card-title strong{color:var(--text-1);font-size:14.5px;font-weight:700;line-height:1.4;word-break:break-word}.organization-card-title small{color:var(--text-3);font-size:12.5px;line-height:1.4;word-break:break-word}.organization-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%;padding-top:10px;border-top:1px dashed #f1f5f9}.organization-card .manage-beds-button{flex:0 0 auto!important;width:auto!important;max-width:fit-content;white-space:nowrap!important;display:inline-flex;align-items:center;gap:4px;min-height:32px;height:32px;padding:0 12px;font-size:12.5px;font-weight:600;border-radius:6px;border:1px solid #bfdbfe;color:#1d4ed8;background:#eff6ff;cursor:pointer;transition:all .15s ease}.organization-card .manage-beds-button:hover{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.bed-screen{display:grid;min-width:0;gap:12px}.bed-screen-header{display:grid;gap:10px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.bed-header-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.bed-back-button{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:32px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--text-2);background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.bed-back-button:hover{color:var(--blue-deep);border-color:var(--blue-soft);background:var(--blue-soft)}.bed-screen-title{display:grid;gap:4px;min-width:0}.bed-screen-title h2{margin:0;color:var(--text-1);font-size:20px;font-weight:800;letter-spacing:-.01em}.bed-organization-name{margin:0;color:var(--text-1);font-size:15px;font-weight:700;word-break:break-all}.bed-hospital-name{margin:0;color:var(--text-3);font-size:13px;word-break:break-all}.bed-header-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.bed-department-context{display:inline-flex;align-items:center;margin:0;padding:3px 8px;border-radius:4px;color:var(--blue-deep);background:var(--blue-soft);font-size:12px;font-weight:700;word-break:break-all}.bed-count{display:inline-flex;align-items:center;margin:0;padding:3px 8px;border-radius:4px;color:#0f6b4f;background:#eaf8f2;font-size:12px;font-weight:700}.bed-screen-actions{display:flex;gap:8px}.bed-screen-actions .primary-action,.bed-screen-actions .secondary-action{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;height:38px;padding:0 14px;font-size:13px;font-weight:700;border-radius:var(--radius-sm)}.bed-status-banner{margin:0;padding:10px 12px;border:1px solid #b9ded8;border-radius:var(--radius-sm);color:#0f6b4f;background:#f1fbf8;font-size:13px;font-weight:700;word-break:break-all}.bed-action-error{margin:0;padding:10px 12px;border:1px solid #f0b8ae;border-radius:var(--radius-sm);color:#8a1f11;background:#fff4f2;font-size:13px;font-weight:700;word-break:break-all}.bed-list-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.bed-list{display:grid;min-width:0;gap:6px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.bed-card{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 1px 2px #0f172a0a;transition:border-color .15s ease,box-shadow .15s ease}.bed-card:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0f172a0f}.bed-card-main{display:flex;align-items:center;gap:8px;min-width:0}.bed-card-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;border-radius:6px;color:var(--blue);background:var(--blue-soft)}.bed-card-meta{display:flex;align-items:baseline;gap:6px;min-width:0;flex-wrap:wrap}.bed-number{color:var(--text-1);font-size:14px;font-weight:700;letter-spacing:-.01em;word-break:break-all}.bed-order{color:var(--text-3);font-size:11px;font-weight:600;background:#f1f5f9;padding:1px 5px;border-radius:4px;white-space:nowrap}.bed-card-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.bed-card-action{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:auto;min-height:28px;height:28px;padding:0 8px;font-size:12px;font-weight:600;border-radius:5px}.bed-card-action.secondary-action{border:1px solid var(--line);color:var(--text-2);background:#fff}.bed-card-action.secondary-action:hover{color:var(--blue-deep);border-color:var(--blue-soft);background:var(--blue-soft)}.bed-card-action.ghost-action{border:1px solid transparent;color:#dc2626;background:transparent}.bed-card-action.ghost-action:hover{background:#fef2f2;border-color:#fecaca}.bed-delete-confirm{display:flex;flex-direction:column;gap:8px;grid-column:1 / -1;padding:10px 12px;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#991b1b;background:#fef2f2}.bed-delete-confirm-text{margin:0;color:#991b1b;font-size:13px;font-weight:700;line-height:1.4;word-break:break-all}.bed-delete-confirm-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px}.bed-delete-confirm button.ghost-action,.bed-delete-confirm button.secondary-action{width:auto!important;min-width:68px!important;min-height:30px!important;height:30px!important;padding:0 12px!important;font-size:12.5px!important;font-weight:700!important;white-space:nowrap!important;flex:0 0 auto!important;border-radius:6px!important;box-sizing:border-box!important;cursor:pointer}.bed-delete-confirm button.ghost-action{background:#dc2626!important;color:#fff!important;border:1px solid #dc2626!important}.bed-delete-confirm button.ghost-action:hover{background:#b91c1c!important;border-color:#b91c1c!important}.bed-delete-confirm button.secondary-action{background:#fff!important;color:#475569!important;border:1px solid #cbd5e1!important}.bed-delete-confirm button.secondary-action:hover{background:#f1f5f9!important;border-color:#94a3b8!important}.bed-editor-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}body:has(.bed-editor-backdrop){overflow:hidden}.bed-editor-modal{display:flex;flex-direction:column;width:min(460px,100%);max-height:min(680px,calc(100dvh - 48px));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:0 20px 60px #0f172a38}.bed-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #edf1f5;background:#fff}.bed-editor-header h3{margin:0;color:var(--text-1);font-size:17px;font-weight:800}.bed-editor-header-actions{display:flex;align-items:center;gap:8px}.bed-editor-close-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:6px;color:var(--text-3);background:transparent;cursor:pointer;transition:all .15s ease}.bed-editor-close-button:hover{color:var(--text-1);background:#f1f5f9}.bed-segments{display:inline-flex;padding:2px;border:1px solid #e2e8f0;border-radius:999px;background:#f1f5f9}.bed-segment{min-height:28px;height:28px;padding:0 12px;border:0;border-radius:999px;color:var(--text-3);background:transparent;font-size:12px;font-weight:700;cursor:pointer}.bed-segment[aria-pressed=true]{color:var(--blue-deep);background:#fff;box-shadow:0 1px 3px #0f172a1a}.bed-editor-form{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.bed-editor-fields{display:flex;flex-direction:column;gap:12px;padding:16px 18px;overflow-y:auto;overscroll-behavior:contain}.bed-editor-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.bed-editor-field{display:flex;flex-direction:column;gap:5px;min-width:0}.bed-editor-field label{color:#334155;font-size:13px;font-weight:700}.bed-editor-field input{width:100%;height:38px;min-height:38px;max-height:38px;padding:0 11px;border:1px solid #cbd5e1;border-radius:var(--radius-sm);color:var(--text-1);background:#fff;font-size:14px;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.bed-editor-field input:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #1769e824}.bed-editor-field input[aria-invalid=true]{border-color:#f87171;background:snow}.bed-field-error{margin:0;color:#b91c1c;font-size:12px;font-weight:600;line-height:1.3}.bed-field-hint{margin:0;font-size:12px;line-height:1.3;color:var(--text-3)}.bed-editor-error{margin:0;padding:8px 12px;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#991b1b;background:#fef2f2;font-size:13px;font-weight:600}.bed-bulk-preview{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid #dbeafe;border-radius:8px;background:#f0f7ff}.bed-bulk-preview strong{color:#1e40af;font-size:13px;font-weight:700}.bed-bulk-preview p{margin:0;font-size:12px}.bed-bulk-preview-numbers{display:flex;flex-wrap:wrap;gap:4px 12px;color:#334155;font-size:12px;font-weight:600}.bed-bulk-warning{color:#b45309;font-size:11px;font-weight:600;line-height:1.35}.bed-editor-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid #edf1f5;background:#fff}.bed-editor-actions .primary-action,.bed-editor-actions .secondary-action{width:auto;min-width:100px;min-height:38px;height:38px;padding:0 16px;font-size:13px;font-weight:700;border-radius:6px}@media(max-width:720px){.institutions-header{flex-direction:column;gap:8px}.hospital-group{padding:12px}.organization-grid{grid-template-columns:minmax(0,1fr)}.organization-card{padding:10px 12px}.organization-card-title strong{font-size:13.5px}.organization-card .manage-beds-button{width:auto!important;min-width:fit-content!important;max-width:fit-content!important;flex:0 0 auto!important;white-space:nowrap!important}.bed-screen-header{padding:12px;gap:8px}.bed-back-button{width:auto}.bed-screen-actions{flex-direction:row;gap:8px}.bed-screen-actions .primary-action,.bed-screen-actions .secondary-action{width:auto;min-width:0;flex:1 1 0}.bed-list{grid-template-columns:minmax(0,1fr);gap:6px}.bed-card{grid-template-columns:minmax(0,1fr) auto;padding:8px 10px;gap:8px}.bed-card-actions .bed-card-action{width:auto;flex:0 0 auto}.bed-card-actions{justify-content:flex-end}.bed-delete-confirm button.ghost-action,.bed-delete-confirm button.secondary-action{width:auto!important;min-width:68px!important;flex:0 0 auto!important;white-space:nowrap!important}.bed-editor-backdrop{align-items:flex-end;padding:0;background:#0f172a8c}.bed-editor-modal{width:100%;max-height:85dvh;border-radius:16px 16px 0 0;border:0;box-shadow:0 -10px 30px #0f172a33}.bed-editor-actions .primary-action,.bed-editor-actions .secondary-action{width:100%;min-width:0;flex:1 1 0}}.institutions-load-more-section{display:flex;justify-content:center;margin:16px 0 24px}.institutions-load-more-section .load-more-button{min-height:38px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px}.institutions-all-loaded-text{text-align:center;font-size:12.5px;color:var(--text-3, #94a3b8);margin:16px 0 24px}.spin-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.organization-card-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.organization-card .manage-members-button,.organization-card .manage-beds-button{flex:0 0 auto!important;width:auto!important;max-width:fit-content;white-space:nowrap!important;display:inline-flex;align-items:center;gap:5px;min-height:32px;height:32px;padding:0 12px;font-size:12.5px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s ease}.organization-card .manage-members-button{border:1px solid #cbd5e1;color:#334155;background:#f8fafc}.organization-card .manage-members-button:hover{background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.institution-subtabs{display:flex;gap:6px;margin-top:10px;padding:4px;background:#f1f5f9;border-radius:8px;border:1px solid #e2e8f0}.institution-subtab{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 12px;border:1px solid transparent;background:transparent;color:#64748b;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s ease}.institution-subtab:hover{color:#334155}.institution-subtab.active{background:#fff;color:#2563eb;border-color:#e2e8f0cc;box-shadow:0 1px 3px #0f172a14}.institution-member-summary{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 10px}.member-summary-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;font-size:12px;font-weight:600;color:#475569}.member-management-list{display:grid;gap:10px}.member-card{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 2px #0f172a0a;transition:all .15s ease}.member-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a0f}.member-card .bed-card-main{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.member-role-icon{width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.member-role-icon.role-manager{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.member-role-icon.role-member{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.member-card .bed-card-meta{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center;gap:4px;min-width:0;flex:1 1 auto}.member-name-wrap{display:flex;align-items:center;gap:8px;min-width:0;width:100%}.member-name-wrap .bed-number{color:#1e293b;font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-role-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:700;line-height:1.3;flex-shrink:0}.member-role-badge.badge-manager{background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe}.member-role-badge.badge-member{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.member-phone-text{font-size:12.5px;color:#64748b;font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1.2}.member-phone-text.muted{color:#94a3b8}.member-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px dashed #f1f5f9}.member-card-actions .bed-card-action{min-height:28px;height:28px;padding:0 9px;font-size:12px;gap:4px}.member-card-actions .member-qr-action{border-color:#a7f3d0;color:#047857;background:#ecfdf5}.member-card-actions .member-qr-action:hover{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.member-role-label{display:block;font-size:13px;font-weight:700;color:var(--text-2, #334155);margin-bottom:6px}.member-role-segments{display:grid;grid-template-columns:1fr 1fr;width:100%;padding:4px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;gap:4px}.member-role-segments .bed-segment{width:100%;min-height:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid transparent;font-size:13px;font-weight:600;color:#64748b;background:transparent;cursor:pointer;transition:all .15s ease}.member-role-segments .bed-segment:hover{color:#334155}.member-role-segments .bed-segment[aria-checked=true],.member-role-segments .bed-segment.active{color:#1d4ed8!important;background:#fff!important;font-weight:700!important;border-color:#cbd5e1cc!important;box-shadow:0 1px 4px #0f172a1f!important}@media(max-width:480px){.organization-card{flex-direction:column;align-items:stretch;gap:10px}.organization-card-actions{justify-content:flex-end}.organization-card .manage-members-button,.organization-card .manage-beds-button{flex:1 1 0!important;justify-content:center}.member-card-actions{width:100%;justify-content:flex-end}}@media(max-width:900px){.portal-shell{display:block}.portal-sidebar{position:static;display:block;height:auto;padding:0;border:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.portal-sidebar .brand-block{position:fixed;top:0;left:max(14px,env(safe-area-inset-left));z-index:51;height:68px;align-items:center;padding:0}.portal-header-title{display:none}.app-header{height:68px;min-height:68px;padding:10px 14px 10px 150px}.portal-header-actions{justify-content:flex-end;margin-left:auto}.main-content{padding:16px 16px calc(86px + env(safe-area-inset-bottom))}.portal-sidebar .nav-tabs{position:fixed;inset:auto 0 0;z-index:50;display:flex;justify-content:space-around;gap:0;padding:6px max(12px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));border-top:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-tab{flex:1 1 0;display:grid;justify-items:center;gap:3px;min-height:52px;padding:7px 4px;border-radius:var(--radius-sm);font-size:11px}.nav-tab[aria-selected=true]{box-shadow:none}.workspace-hero,.metric-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-form-item,.member-maintenance-form,.detail-summary-grid,.detail-info-list{grid-template-columns:1fr}.opening-steps{overflow-x:auto;grid-template-columns:repeat(5,86px);padding-bottom:2px}}@media(max-width:720px){.identity-panel{max-width:50vw}.logout-button span{display:none}.opening-steps{overflow-x:visible;grid-template-columns:repeat(5,minmax(0,1fr))}.opening-steps li{gap:6px;font-size:10px}.opening-steps li span{width:28px;height:28px}.workspace-hero,.form-section,.record-list li,.panel-header,.section-heading,.submit-result-panel>div:first-child,.loading-panel,.access-panel,.success-panel,.detail-panel dl div{grid-template-columns:1fr}.workspace-hero{padding:18px}.workspace-hero h2{font-size:20px}.hero-visual-card{min-height:148px}.hero-status-card,.record-list .secondary-action,.primary-action,.secondary-action,.ghost-action{width:100%}.records-overview{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.records-overview span{flex:0 0 auto}.panel-subtitle{text-align:left}.detail-modal-backdrop{display:block;padding:0;background:#fff}.detail-modal{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none}.mobile-detail-modal{display:block;overflow:hidden}.mobile-detail-modal .mobile-member-screen{height:100%;min-height:100%}.detail-modal-header{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:1fr;gap:12px;background:#fff}.detail-modal-actions,.member-form-actions{display:grid;grid-template-columns:1fr}.detail-modal-body{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.member-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-panel .member-summary-grid div{min-height:72px;padding:12px 10px}.member-summary-grid dd{font-size:20px}.member-editor-actions .primary-action,.member-editor-actions .secondary-action{width:100%;min-width:0}.mobile-member-topbar{grid-template-columns:68px minmax(0,1fr) 68px}.member-table{border:0;background:transparent}.member-table thead{display:none}.member-table,.member-table tbody,.member-table tr,.member-table td{display:block;width:100%}.member-table tr{margin-bottom:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.member-table td{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;border-bottom:1px solid #edf1f5}.member-table td:before{content:attr(data-label);color:var(--text-3);font-size:12px;font-weight:800}}
