:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:#f7f7f8;color:#111}.container{max-width:1100px;margin:24px auto;padding:0 16px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.topbarLeft{display:flex;align-items:center;gap:10px;min-width:0}.topbarMeta{display:flex;flex-direction:column;gap:2px}.topbarRight{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbarEmail{font-size:12px;white-space:nowrap}.topbarEmail span{font-weight:600}.topbarChange{font-size:12px}.topbarLogo{height:70px}.title{font-size:18px;font-weight:800}.row{display:flex;gap:12px;margin-top:7px;align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:10px}.card,.card2,.miniCard{border:1px solid #e7e7ea;border-radius:10px}.card{background:#fff;padding:14px;border-radius:10px}.card2{background:#a0d4ed;padding:14px;position:relative;z-index:1;margin-top:0!important;border-radius:0}.miniCard{background:#fff;padding:12px;border-radius:10px}label,.controlLabel{display:block;font-size:12px;margin-bottom:6px;color:#333}input,select{width:100%;padding:8px;border:1px solid #ddd;border-radius:8px}button{border:1px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer}button.primary{background:#111;color:#fff}button.secondary{background:#fff;border-color:#ddd}button.danger{background:#fff;border-color:#f0c9c9;color:#a40000}.rowTight{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:0}.controlSelect,.controlInput,.controlButton{height:36px;padding:8px;border-radius:8px}.controlSelect,.controlInput{border:1px solid #ddd}.controlFixed{width:auto!important}.muted{color:#666;font-size:13px}.link{font-size:13px;text-decoration:none;color:#0b57d0}.error{background:#ffe8e8;border:1px solid #f5b5b5;padding:10px;border-radius:10px;margin-top:10px}.info{background:#eef6ff;border:1px solid #c9e2ff;padding:10px;border-radius:10px;margin-top:10px}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e7e7ea;border-radius:10px;overflow:hidden}.table th,.table td{padding:10px;border-bottom:1px solid #eee;vertical-align:top}.table th{text-align:left;font-size:12px;color:#444}.offeringsScroll{max-height:420px;overflow:auto;-webkit-overflow-scrolling:touch;padding-right:6px}.weekGrid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px;margin-top:10px}.dayCol{background:#fff;border:1px solid #e7e7ea;border-radius:10px;padding:10px;min-height:220px}.dayHeader{font-weight:800;margin-bottom:8px}.sectionLabel{font-size:12px;color:#666;margin:8px 0 6px}.chip{position:relative;border:1px solid #eee;border-radius:10px;padding:8px;margin-bottom:8px;background:#fafafa}.chipProgram{background:#eef1ff;border-color:#d8ddff}.chipConflict{border-color:#e54848;background:#fff0f0}.chipConflict .muted{color:#a40000}.chipRemove{position:absolute;bottom:2px;right:2px;border:none;background:transparent;font-size:16px;line-height:1;cursor:pointer;color:#888}.chipRemove:hover{color:#a40000}.tabsBar{display:flex;gap:6px;align-items:flex-end;margin-top:14px;margin-bottom:-1px;overflow-x:auto;padding-bottom:0}.tab{position:relative;min-width:140px;padding:10px 34px 10px 12px;background:#f3f4f6;border:1px solid #dcdce1;border-bottom:none;border-radius:10px 10px 0 0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease}.tabActive{background:#a0d4ed;border-color:#a0d4ed;border-bottom:1px solid white;z-index:2}.tab:not(.tabActive):hover{background:#e9ebef}.tabTitle{font-weight:800}.tabMeta{font-size:12px;color:#666;margin-top:2px}.tabClose{position:absolute;right:8px;top:8px;border:none;background:transparent;cursor:pointer;font-size:16px;color:#888}.tabClose:hover{color:#a40000}.tabAdd{background:transparent;border:1px dashed #d0d0d5;border-bottom:none;color:#444;font-weight:700}@media(max-width:720px){.container{margin:16px auto;padding:12px}.row{flex-direction:column;align-items:stretch;gap:10px}.card,.card2,.miniCard{padding:12px}.weekGrid{display:flex;flex-direction:column;gap:10px}.offeringsScroll .table{min-width:860px}.offeringsScroll{max-height:60vh}.tabsBar{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{flex:0 0 auto}}.authPage{min-height:calc(100vh - 48px);display:grid;place-items:center;padding:24px 16px}.authCard{width:100%;max-width:420px;padding:18px}.authHeader{display:grid;justify-items:center;gap:10px;margin-bottom:10px}.authLogo{height:72px;width:auto}.authTitle{font-size:20px;font-weight:900;margin:0}.authSub{margin:0;text-align:center}.authForm{margin-top:12px;display:grid;gap:10px}.authActions{display:grid;gap:10px;margin-top:8px}.authLinkRow{margin-top:12px;text-align:center}.authHint{font-size:12px;color:#666;text-align:center;margin-top:8px}.authForm input{padding:10px}.authForm button{padding:10px 12px}.accountBar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px}.accountLeft{display:flex;flex-direction:column;line-height:1.2}.accountRight{flex-shrink:0}.inviteRow{margin-top:8px}button.small{padding:6px 10px;font-size:13px}@media(max-width:600px){.accountBar{flex-direction:column;align-items:stretch}.accountRight{align-self:flex-start}}
