/* BEC — Classes & Schedule */
#classesSection{--cls-g:#176b49;--cls-line:#d7e2db;--cls-bg:#f4f8f5}
#classesSection .cls-head h2{margin:14px 0 6px;color:var(--cls-g)}
#classesSection .cls-head p{color:#5b6b62;font-size:14px;line-height:1.8;margin:0 0 14px}
.cls-msg{min-height:0;margin:8px 0;font-weight:700}
.cls-msg.ok{padding:10px 14px;border-radius:10px;background:#d1e7dd;color:#0f5132}
.cls-msg.err{padding:10px 14px;border-radius:10px;background:#f8d7da;color:#842029}
.cls-box{border:1px solid var(--cls-line);border-radius:14px;background:#fff;margin:14px 0;padding:0 14px}
.cls-box>summary{cursor:pointer;font-weight:800;padding:12px 0;color:var(--cls-g)}
.cls-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:6px 0 16px}
.cls-form label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:14px}
.cls-form input[type=text],.cls-form input[type=time],.cls-form input[type=number],.cls-form select,.cls-form textarea{padding:9px 10px;border:1px solid #b9c8bf;border-radius:9px;font:inherit;background:#fff;width:100%;box-sizing:border-box}
.cls-form .cls-check{flex-direction:row;align-items:center;gap:8px;align-self:end}
.cls-wide,.cls-days-wrap{grid-column:1/-1}
.cls-days{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.cls-day{flex-direction:row!important;align-items:center;gap:0!important;cursor:pointer}
.cls-day input{position:absolute;opacity:0;pointer-events:none}
.cls-day span{padding:7px 14px;border-radius:999px;border:1px solid #b9c8bf;background:#fff;font-weight:700;transition:all .15s}
.cls-day input:checked+span{background:var(--cls-g);border-color:var(--cls-g);color:#fff}
.cls-day input:focus-visible+span{outline:2px solid #34d399;outline-offset:2px}
.cls-actions{display:flex;gap:10px;flex-wrap:wrap}
.cls-tabs{display:flex;gap:8px;margin:16px 0 10px;flex-wrap:wrap}
.cls-tab{padding:9px 18px;border-radius:999px;border:1px solid var(--cls-line);background:#fff;font:inherit;font-weight:800;cursor:pointer}
.cls-tab.active{background:var(--cls-g);color:#fff;border-color:var(--cls-g)}
.cls-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cls-filter input,.cls-filter select{padding:9px 10px;border:1px solid #b9c8bf;border-radius:9px;font:inherit;background:#fff;min-width:150px}
.cls-filter input{flex:1 1 200px}
.cls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;align-items:start}
.cls-card{border:1px solid var(--cls-line);border-radius:16px;background:#fff;padding:14px;box-shadow:0 4px 14px rgba(23,107,73,.06)}
.cls-card.off{opacity:.7}
.cls-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cls-card h3{margin:0;font-size:17px;color:#10392a}
.cls-badge{font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px}
.cls-badge.off{background:#e9ecef;color:#495057}
.cls-badge.full{background:#fde2e2;color:#a61e1e}
.cls-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0;color:#34493e;font-size:14px}
.cls-chips{display:flex;flex-wrap:wrap;gap:5px}
.cls-chip{background:#e7f4ec;color:#176b49;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}
.cls-fill{margin:12px 0}
.cls-bar{height:8px;border-radius:99px;background:#e6ede8;overflow:hidden;margin-bottom:4px}
.cls-bar i{display:block;height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:inherit}
.cls-bar i.full{background:linear-gradient(90deg,#f59e0b,#ef4444)}
.cls-btns{display:flex;flex-wrap:wrap;gap:6px}
.cls-roster{margin-top:12px;padding:12px;border-radius:12px;background:var(--cls-bg);border:1px solid var(--cls-line)}
.cls-roster-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.cls-roster-list{margin:0;padding:0;list-style:none;max-height:260px;overflow:auto}
.cls-roster-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 4px;border-bottom:1px dashed #cbdad1;font-size:14px}
.cls-x{border:0;background:#fde2e2;color:#a61e1e;border-radius:8px;cursor:pointer;padding:3px 8px;font-weight:800}
.cls-add{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.cls-add select{flex:1 1 180px;padding:8px;border:1px solid #b9c8bf;border-radius:9px;font:inherit;min-width:0}
.cls-hint{display:block;margin-top:6px;color:#6b7a72}
.cls-more{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:16px 0;color:#5b6b62;font-weight:700}
.cls-empty{padding:28px;text-align:center;color:#6b7a72;background:var(--cls-bg);border-radius:14px}
.cls-table{width:100%;border-collapse:collapse;background:#fff}
.cls-table th,.cls-table td{border:1px solid var(--cls-line);padding:10px;vertical-align:top}
.cls-table th{background:#edf4ef;width:110px;text-align:center;color:#10392a}
.cls-table th small{display:block;color:#6b7a72;font-weight:600}
.cls-slot{display:inline-flex;flex-direction:column;gap:2px;margin:3px;padding:8px 12px;border-radius:10px;border:1px solid #cfe3d7;background:#f6faf7;min-width:150px;vertical-align:top}
.cls-slot b{color:var(--cls-g);font-size:13px}
.cls-slot small{color:#5b6b62}
.cls-slot.bad{border-color:#ef4444;background:#fff1f1}
.cls-slot em{font-style:normal;color:#b91c1c;font-size:12px;font-weight:800}
.cls-free{color:#9aa8a0}
@media (max-width:640px){.cls-grid{grid-template-columns:1fr}.cls-table th{width:74px;font-size:13px}.cls-slot{min-width:0;width:100%;box-sizing:border-box}}
