/* Shared header and online classroom: quiet surfaces, consistent controls. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.topbar{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:18px!important;padding:18px 28px!important;min-height:78px!important;background:#fff!important;border-bottom:1px solid #e9e6e1!important;box-shadow:none!important}
.topbar .search-box{flex:1 1 240px!important;width:auto!important;min-width:120px!important;max-width:440px!important;height:42px!important;margin:0!important;background:#f2f5fa!important;border:1px solid #ecebe7!important;border-radius:10px!important;box-shadow:none!important}
.topbar .search-box input{min-width:0!important;width:100%!important;font-size:12px!important;background:transparent!important}
.topbar .search-box kbd{display:none}
.topbar-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:8px!important;margin-left:auto!important;min-width:0!important}
.topbar .demo-data-badge{display:none!important}
.topbar .role-switch{display:flex!important;align-items:center!important;gap:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.topbar .role-switch select{width:158px!important;min-width:0!important;height:42px!important;padding:0 26px 0 12px!important;border:1px solid #ced9ea!important;border-radius:10px!important;background-color:#fff!important;color:#203c66!important;font-family:inherit!important;font-weight:600!important;font-size:12px!important;box-shadow:none!important}
.topbar .account-top-button,.topbar #topAddLead{height:42px!important;min-height:42px!important;flex-shrink:0!important;padding:0 13px!important;display:inline-flex;align-items:center!important;justify-content:center!important;gap:7px!important;border-radius:10px!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;box-shadow:none!important}
.topbar .account-top-button{background:#fff!important;color:#213e69!important;border:1px solid #ced9ea!important}
.topbar .account-top-button:hover,.topbar .account-top-active{background:#ecf0f7!important;border-color:#9cb2d3!important}
.topbar .account-top-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.topbar #topLogout{width:42px!important;padding:0!important;order:2}
.topbar #openUserProfile{order:1}
.topbar .role-switch{order:0}
.topbar #topAddLead{width:auto!important;order:3;background:#1f3a63!important;border:1px solid #1f3a63!important;color:#fff!important}
.topbar #topAddLead:hover{background:#182d4c!important}
.topbar #topAddLead span{color:inherit!important;font-size:12px!important;line-height:1!important}.topbar #topAddLead>span[aria-hidden]{font-size:20px!important;font-weight:400!important}
.topbar [hidden]{display:none!important}
.profile-save-status{font-size:12px;color:#2f5895;margin:0 0 16px}.profile-save-status .server-save-status{max-width:none!important;white-space:normal!important}
#onlineClass .page-heading{align-items:flex-end;gap:20px;margin-bottom:26px}
#onlineClass .heading-note{max-width:530px;line-height:1.65;color:#486ca1}
#onlineClass h1{letter-spacing:-.035em}
.online-page-actions{flex-wrap:nowrap;gap:9px}.online-page-actions button{min-height:43px;border-radius:10px;white-space:nowrap;font-size:12px}
#onlineInstantCreate{background:#1f3a63;border-color:#1f3a63;color:#fff;box-shadow:none}
.online-layout{grid-template-columns:minmax(235px,270px) minmax(0,1fr);gap:22px}
.online-list-panel{padding:18px;border-color:#d7e0ee;border-radius:15px;box-shadow:0 4px 20px #182c4b04}
.online-search{font-size:11px;letter-spacing:.03em}.online-search input{margin-top:2px;background:#f4f7fb;font-size:12px;font-weight:400}
.online-class-list{gap:7px;margin-top:18px}.online-list-item{border-color:transparent;background:transparent;padding:15px 12px;border-radius:10px;gap:8px}
.online-list-item.active{background:#e6ecf5;border-color:#c4d1e6;box-shadow:inset 3px 0 #325e9f}.online-list-item:hover{background:#eef2f8;border-color:#d2dcec}
.online-list-item strong{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.online-list-item span,.online-list-item small{font-size:10px;line-height:1.5}
.online-detail{gap:18px}.online-detail>.panel,.online-panels>.panel{border:1px solid #d7e0ee;border-radius:15px;box-shadow:0 4px 20px #182c4b04}
.online-hero{display:block;padding:26px;background:#fff;color:#182e4e;border-top:3px solid #98afd1!important}
.online-hero .eyebrow{color:#45679b;font-size:10px;letter-spacing:.09em}.online-hero h2{font-family:inherit;font-weight:600;font-size:24px;letter-spacing:-.035em;margin:12px 0;overflow-wrap:anywhere}
.online-hero p{color:#4a6ea4;font-size:12px;line-height:1.7;margin-bottom:0}.online-hero-actions{margin-top:22px;padding-top:19px;border-top:1px solid #e3e9f3;gap:10px;justify-content:space-between}
.online-hero-actions .primary-button{background:#1f3a63;border-color:#1f3a63;color:#fff;min-height:42px;font-size:12px;border-radius:10px;box-shadow:none}
.online-more{position:relative;font-size:12px}.online-more>summary{list-style:none;cursor:pointer;padding:12px 14px;border:1px solid #d5dfed;border-radius:10px;color:#2c528b;background:#fff;display:flex;gap:14px;align-items:center}
.online-more>summary::-webkit-details-marker,.online-invite-panel>summary::-webkit-details-marker{display:none}.online-more[open]>summary{background:#eef2f8}
.online-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;padding:6px;min-width:190px;background:#fff;border:1px solid #d5dfed;border-radius:12px;box-shadow:0 12px 30px #13233c1a;display:grid;gap:3px}
.online-more-menu .secondary-button{width:100%;border:0;background:transparent;justify-content:flex-start;color:#264677;font-size:12px;min-height:40px;text-align:left}.online-more-menu .secondary-button:hover{background:#eef2f8}.online-more-menu .online-danger{color:#a13d39}
.online-invite-panel{padding:0!important}.online-invite-panel>summary{padding:20px 22px;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;list-style:none}.online-invite-panel>summary strong{font-size:14px;font-weight:600}.online-invite-panel>summary small{display:block;margin-top:5px;font-size:11px;color:#4d73ab}.online-invite-panel[open]>summary{border-bottom:1px solid #e3e9f3}.online-invite-body{padding:20px 22px}
.online-panels{grid-template-columns:1fr;gap:18px}.online-panels>.panel{padding:23px}.online-panels .panel-heading h2{font-size:17px;font-family:inherit;letter-spacing:-.02em}.online-panels .eyebrow{color:#4d73ab;font-size:9px}.online-panels .extra-help,.online-invite-body .extra-help{font-size:11px;line-height:1.7}
.online-upload{border-color:#c5d2e6;background:#edf1f7;color:#284a7e;border-radius:9px;font-size:11px;font-weight:600}.online-empty-note{padding:12px 0;font-size:12px}
.online-panels table{min-width:620px}.online-panels .table-wrap{max-width:100%;overflow:auto}.online-panels th{background:#eff3f8;color:#2f5895}.online-panels td,.online-panels th{font-size:11px;padding:12px}
.online-detail button:focus-visible,.online-detail summary:focus-visible,.topbar button:focus-visible{outline:2px solid #496ca1;outline-offset:3px}
@media(max-width:1200px){.topbar{padding:14px 22px!important;gap:10px!important}.topbar .search-box{min-width:90px!important}.topbar .search-box input{font-size:11px!important}.topbar .account-top-label{display:none}.topbar #openUserProfile{width:42px!important;padding:0!important}.online-layout{grid-template-columns:235px minmax(0,1fr)}#onlineClass .page-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:1000px){.online-layout{grid-template-columns:1fr}.online-list-panel{position:static;max-height:300px}.online-class-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}
@media(max-width:980px){.topbar{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:12px 9px!important;padding:14px 18px!important}.topbar .mobile-menu{display:block!important;grid-row:1;grid-column:1}.topbar-actions{grid-row:1;grid-column:2;width:100%;gap:6px!important}.topbar .search-box{grid-row:2;grid-column:1/-1;max-width:none!important;width:100%!important;height:40px!important}.topbar .role-switch{margin-right:auto!important}.topbar .role-switch select{width:132px!important;font-size:11px!important;height:38px!important;padding-left:9px!important}.topbar .account-top-button,.topbar #topAddLead{height:38px!important;min-height:38px!important;width:36px!important;min-width:36px!important;padding:0!important}.topbar #openUserProfile,.topbar #topLogout{width:36px!important}.topbar #topAddLead .top-add-label{display:none}.online-hero{padding:22px}.online-hero h2{font-size:22px}.online-invite-form{grid-template-columns:1fr}.online-page-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.online-panels>.panel{padding:19px}.online-invite-panel>summary,.online-invite-body{padding:18px}.online-hero-actions .primary-button{white-space:normal}.online-layout{gap:16px}}
@media(max-width:370px){.topbar{padding:12px!important;gap:10px 5px!important}.topbar-actions{gap:4px!important}.topbar .role-switch select{width:115px!important}.online-hero-actions{align-items:stretch;flex-direction:column}.online-more>summary{justify-content:space-between}}
