:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f1b33;background:#f4f7fc;-webkit-font-smoothing:antialiased;font-synthesis:none;--primary: #2f6fed;--ink: #0f1b33;--muted: #64748b;--border: #dce6f5}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{border:1px solid transparent;background:var(--primary);color:#fff;border-radius:9px;padding:.85rem 1.2rem;font-size:.88rem;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#2459c7}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #2459c7;outline-offset:4px}button.secondary{background:#fff;border-color:var(--border);color:var(--primary)}button.secondary:hover:not(:disabled){background:#eaf1ff}button.text-button{background:none;color:var(--primary);padding:.5rem;border-radius:4px}button.text-button:hover:not(:disabled){background:#eaf1ff}button.danger{color:#b91c1c}button.danger-button{background:#b91c1c}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.02em}h1{font-weight:700;line-height:1.25;font-size:1.75rem;max-width:710px;margin-bottom:1rem}h2{font-size:1.35rem;font-weight:620;margin-bottom:.5rem}h3{font-size:1rem;margin-bottom:.5rem}p{line-height:1.6}.portal-shell{min-height:100dvh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{padding:2rem 1.4rem 1rem;background:#fff;display:flex;flex-direction:column;border-right:1px solid var(--border);height:100dvh;position:sticky;top:0}.brand{display:flex;gap:.75rem;align-items:center;text-decoration:none;font-size:1.15rem;font-weight:700;line-height:1}.brand-mark{height:36px;width:36px;object-fit:contain;display:grid;place-items:center;border-radius:11px;background:#fff;font-family:system-ui;font-size:1.9rem;color:#fff;font-weight:400}.brand-sub{font:9px/1.5 system-ui;letter-spacing:.14em;display:block;margin-top:.5rem}.navigation-label{font-size:.59rem;font-weight:700;letter-spacing:.12em;color:#64748b;margin:3rem .7rem .9rem}.sidebar nav{display:flex;flex-direction:column;gap:.5rem}.sidebar nav button{display:flex;gap:.8rem;align-items:center;text-align:left;background:transparent;color:#64748b;border-radius:8px;font-size:.85rem;font-weight:550;padding:1rem}.sidebar nav button[aria-current]{background:#eaf1ff;color:var(--primary);font-weight:700}.sidebar nav button:hover{background:#eaf1ff}.sidebar nav button span{font-size:1.25rem;line-height:1}.sidebar-note{margin-top:auto;padding:1.5rem 1rem;background:#f8fafd;border:1px solid #dce6f5;border-radius:12px}.sidebar-note>span{font-size:2rem;color:#2f6fed}.sidebar-note p{font-size:.9rem;font-weight:600;line-height:1.5;margin:.8rem 0}.sidebar-note small{font-size:.72rem;line-height:1.7;color:#64748b;display:block}.sidebar-footer{font-size:.65rem;color:#64748b;padding:1.3rem .5rem 0}.topbar{height:64px;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border-bottom:1px solid var(--border);padding:0 clamp(1.25rem,3.5vw,3.5rem);font-size:.75rem}.crumb{color:#64748b}.account{display:flex;align-items:center;gap:1rem}.connection{color:#b45309;font-size:.7rem;white-space:nowrap}.connection:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:.45rem}.connection.online{color:#15803d}.workspace main{max-width:1400px;margin:auto;padding:2.75rem clamp(1.25rem,3.5vw,3.5rem) 1rem}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2.5rem}.eyebrow{font-size:.62rem;letter-spacing:.17em;font-weight:750;color:#2459c7;margin-bottom:.9rem}.intro{color:var(--muted);font-size:.88rem;margin:0;max-width:650px}.date-stamp{border:1px solid var(--border);border-radius:10px;background:#fff;min-width:80px;text-align:center;padding:.9rem;font-size:.95rem;color:#0f1b33;white-space:nowrap}.date-stamp span{display:block;font-size:.52rem;letter-spacing:.15em;color:#64748b;margin-bottom:.4rem}.banner{padding:1rem 1.2rem;margin:0 0 1.5rem;border:1px solid;border-radius:9px;font-size:.85rem;line-height:1.6}.banner.warning{border-color:#f5d6aa;background:#fff4e5;color:#92400e}.banner.error{border-color:#fecaca;background:#fdecec;color:#b91c1c}.banner.success{border-color:#bbdfc8;background:#e8f7ee;color:#166534}.booking-panel,.slots-panel,.reservations-panel,.access-card{padding:1.65rem;border:1px solid var(--border);border-radius:12px;background:#fff;margin-bottom:1.5rem;box-shadow:0 1px 3px #0f1b330d}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem}.section-heading .eyebrow{margin-bottom:.5rem}.section-heading h2{margin:0}.section-heading p.muted{margin:.5rem 0 0}.filters{display:flex;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.5rem}.filters label{width:min(100%,270px)}label{display:block;font-size:.75rem;color:#0f1b33;font-weight:600}input,textarea{display:block;margin-top:.5rem;padding:.8rem 1rem;border:1px solid #dce6f5;border-radius:8px;background:#fff;color:#0f1b33;min-height:45px;width:100%;font-size:.85rem}textarea{resize:vertical;min-height:100px}fieldset{border:0;padding:0;margin:0;min-width:0}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.resource-card{position:relative;display:flex;flex-direction:column;text-align:left;border:1px solid var(--border);background:#fff;color:var(--ink);padding:1.3rem;min-height:195px;gap:.5rem;max-width:370px;box-shadow:none}.resource-card:hover:not(:disabled){background:#f8fafd;border-color:#b9cbea}.resource-card.selected{border-color:var(--primary);background:#eaf1ff;box-shadow:0 0 0 1px var(--primary)}.resource-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#eaf1ff;font-size:1.45rem;font-weight:400;color:#2459c7;margin-bottom:.5rem}.resource-card.selected .resource-icon{background:#dce6f5}.resource-location{font-size:.59rem!important;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.resource-card strong{font-size:1rem;font-weight:650}.resource-card>span:not(.resource-icon){font-size:.7rem;font-weight:400;line-height:1.5}.resource-card .resource-select{margin-top:auto;padding-top:1.1rem;font-size:.65rem!important;color:var(--primary);font-weight:650!important}.search-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #edf2fa;margin-top:1.5rem;padding-top:1.4rem}.search-row p{margin:0;font-size:.75rem}.muted{color:var(--muted);font-size:.8rem}.pill{border:1px solid #dce6f5;color:#2459c7;background:#eaf1ff;padding:.5rem .8rem;font-size:.65rem;white-space:nowrap;border-radius:20px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.65rem}.slot{background:#fff;color:#2459c7;border:1px solid #dce6f5;display:flex;align-items:center;flex-direction:column;padding:.9rem .4rem;font-size:1rem;font-weight:600}.slot:hover:not(:disabled){background:#eaf1ff;border-color:#b9cbea}.slot.selected{background:#2f6fed;color:#fff;border-color:#2f6fed}.slot small{margin-top:.4rem;font-size:.61rem;font-weight:400}.review-panel{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;border:1px solid #b9cbea;background:#eaf1ff;border-radius:12px;padding:1.75rem;margin:1.5rem 0}.review-panel p{font-size:.85rem;margin-bottom:.6rem}.review-panel small{color:#64748b;font-size:.72rem}.review-panel button{flex-shrink:0}.tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border);margin-bottom:1.4rem}.tabs button{background:transparent;color:#64748b;border-radius:0;border-bottom:2px solid transparent;font-size:.8rem;padding:.8rem 1rem}.tabs button[aria-pressed=true]{color:var(--primary);border-bottom-color:var(--primary)}.tabs button:hover{background:#f8fafd}.empty{padding:2rem;text-align:center;color:#64748b;font-size:.85rem;background:#f8fafd;border-radius:8px}.reservation-list{display:flex;flex-direction:column;gap:1rem}.reservation-card{display:flex;align-items:center;gap:1.25rem;padding:1.3rem;border:1px solid var(--border);border-radius:10px}.reservation-date{background:#eaf1ff;border-radius:9px;min-width:65px;padding:.75rem;text-align:center;display:flex;flex-direction:column;gap:.2rem;color:#2459c7}.reservation-date strong{font-size:1.5rem;font-weight:700}.reservation-date span{font-size:.65rem}.reservation-details{flex:1;min-width:0}.reservation-details h3{font-size:.95rem;margin:.5rem 0}.reservation-details p{margin:0;font-size:.72rem;color:#64748b}.status{font-size:.58rem;padding:.3rem .5rem;background:#e8f7ee;color:#166534;border-radius:4px}.status.cancelled{background:#edf2fa;color:#64748b}.reservation-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.reservation-actions button{font-size:.68rem;padding:.6rem}.cancel-panel{padding:1.5rem;background:#f8fafd;border:1px solid #dce6f5;border-radius:10px;margin-top:1.5rem}.cancel-panel p{font-size:.8rem;color:#64748b}.button-row{display:flex;gap:.7rem;margin-top:1rem;flex-wrap:wrap}.uncertain-panel{padding:1.5rem;border:1px solid #f5d6aa;background:#fff4e5;border-radius:10px;margin-bottom:1.5rem;color:#92400e}.uncertain-panel p{font-size:.8rem}.uncertain-panel button{margin-right:.5rem}.access-card{max-width:660px;padding:3rem}.access-card h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.access-card p{font-size:.88rem;color:#64748b}.access-card .muted{font-size:.75rem;margin-top:1.3rem;margin-bottom:0}.access-symbol{font-size:2rem;border:1px solid #dce6f5;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;color:#2459c7;margin-bottom:2rem}.page-footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;font-size:.62rem;color:#64748b;padding:1.4rem 0;margin-top:2.5rem}@media(min-width:1450px){.resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1050px){.portal-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:1.7rem 1rem 1rem}.sidebar-note{padding:1rem}.reservation-actions{flex-direction:column;align-items:flex-end}.date-stamp{display:none}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portal-shell{display:block}.sidebar{height:auto;position:static;padding:1rem 1.25rem;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:1.4rem}.brand-mark{width:35px;height:35px;font-size:1.5rem}.brand-sub{font-size:8px}.navigation-label,.sidebar-note,.sidebar-footer{display:none}.sidebar nav{flex-wrap:wrap;flex-direction:row;margin-top:1.25rem;gap:.5rem}.sidebar nav button{padding:.7rem .8rem;flex:1;font-size:.8rem}.topbar{padding:0 1.25rem;height:60px;font-size:.65rem}.crumb{display:none}.account{gap:.5rem;font-size:.6rem}.workspace main{padding-top:1.8rem}.page-heading{margin-bottom:1.75rem}h1{font-size:1.75rem}.intro{font-size:.8rem}.booking-panel,.slots-panel,.reservations-panel{padding:1.1rem}.resource-grid{gap:.6rem}.resource-card{padding:1rem;min-height:185px}.resource-card strong{font-size:.9rem}.filters label{width:100%}.search-row,.review-panel{flex-direction:column;align-items:stretch}.search-row button{width:100%}.section-heading{align-items:flex-start}.pill{font-size:.58rem;padding:.4rem}.reservation-card{flex-wrap:wrap;padding:1rem;gap:1rem}.reservation-actions{flex-direction:row;width:100%;justify-content:flex-end}.reservation-date{min-width:53px}.review-panel{padding:1.3rem}.page-footer{font-size:.55rem}.access-card{padding:1.6rem}.tabs button{font-size:.72rem;padding:.8rem}.uncertain-panel button{margin-bottom:.5rem;width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.resource-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#eaf1ff;border:1px solid #b9cbea;border-radius:10px;padding:1.25rem}.resource-summary .eyebrow{display:block;margin-bottom:.6rem}.resource-summary h3{margin-bottom:.4rem}.slot.selected:hover:not(:disabled){background:#2f6fed;color:#fff;border-color:#2f6fed}.resource-card.selected:hover:not(:disabled){background:#eaf1ff;border-color:#2f6fed}@media(max-width:760px){.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slot{font-size:.9rem}.slot small{font-size:.56rem}.resource-summary{padding:1rem}.resource-summary .muted{font-size:.7rem}.resource-summary button{font-size:.7rem;padding:.65rem}}.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}.catalog-layout>*{min-width:0}.catalog-layout fieldset{display:grid;gap:1rem;border:0;padding:0;margin:0;min-width:0}.catalog-layout select,.schedule-panel select{display:block;width:100%;max-width:100%;min-width:0;margin-top:.5rem;padding:.8rem 1rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font:inherit}.catalog-layout select:focus-visible,.schedule-panel select:focus-visible{outline:3px solid #2459c7;outline-offset:4px}.catalog-list{list-style:none;padding:0}.catalog-list li{margin-bottom:.65rem}.catalog-list button{overflow-wrap:anywhere;width:100%;text-align:left}.catalog-list button[aria-pressed=true]{outline:2px solid var(--primary, #1d4872)}@media(max-width:850px){.catalog-layout{grid-template-columns:minmax(0,1fr)}}.homolog-banner{padding:.8rem 1.5rem;background:#fff3d6;color:#624300;border-bottom:1px solid #d8b669;text-align:center}.homolog-login{max-width:680px;padding:2rem 1rem;margin:auto}.homolog-login label{margin:1rem 0}.homolog-login h1{font-size:2rem}.schedule-panel{overflow-wrap:anywhere}.schedule-panel fieldset{display:grid;gap:1rem}.schedule-panel form{margin-top:1.5rem}.schedule-panel .schedule-window{border:1px solid var(--border);padding:1rem;border-radius:8px}.schedule-window legend{font-weight:600;padding:0 .4rem}.policy-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}.policy-list li{margin:1rem 0}.policy-list dl{margin:.5rem 0 1rem}.policy-list dd{margin:0 0 .5rem;font-weight:600}
