:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#6e7889;--line:#e5e9f0;--primary:#184f7d;--primary-dark:#103a5f;--primary-soft:#edf4fa;--success:#16794a;--danger:#b42318;--warning:#9a6700;--shadow:0 12px 34px rgba(20,37,63,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.container{max-width:1180px;margin:auto;padding:28px}.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar .inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:14px 28px}.brand{display:flex;gap:12px;align-items:center}.brand img{height:50px;max-width:155px;object-fit:contain}.brand-mark{width:44px;height:44px;border-radius:13px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}.brand-mark.small{width:38px;height:38px}.brand h2{font-size:16px;margin:0}.brand small{color:var(--muted)}.parent-label{font-size:12px;font-weight:800;padding:7px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary)}.hero{padding:38px 0 18px}.compact-hero{padding-bottom:10px}.hero h1{font-size:36px;letter-spacing:-.03em;margin:3px 0 10px}.hero p{color:var(--muted);margin:0;max-width:760px;font-size:15px}.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--primary);margin-bottom:6px}.muted{color:var(--muted);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--primary);color:#fff;border-radius:10px;padding:11px 16px;font-weight:750;cursor:pointer;transition:.15s}.btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn.secondary{background:#edf2f7;color:var(--primary)}.btn.danger{background:#fff0ef;color:var(--danger)}.btn.full{width:100%;margin-top:10px}.btn-lg{padding:13px 20px}.parent-filter,.filter-card,.card,.auth-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.parent-filter{display:grid;grid-template-columns:1fr 1.25fr 1fr auto;gap:12px;padding:16px;align-items:end;margin:16px 0 18px}.filter-card{padding:18px;margin:20px 0}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}label{display:block;font-size:12px;font-weight:800;margin:0 0 7px;color:#445064}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ccd5e2;border-radius:10px;background:#fff;font:inherit;color:var(--text)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(24,79,125,.1);border-color:var(--primary)}.my-class-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(120deg,#eef5fb,#fff);border:1px solid #dce8f2;border-radius:16px;padding:15px 17px;margin-bottom:14px}.my-class-banner span:first-child{display:block;font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--muted)}.my-class-banner strong{display:block;font-size:20px;margin-top:3px}.portal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:24px 0 20px}.portal-tabs a,.portal-tabs span{padding:10px 15px;font-weight:700;font-size:13px;color:#7a8595}.portal-tabs a.active{color:var(--primary);border-bottom:3px solid var(--primary)}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);position:relative}.plan-card.latest-card{border-color:#bfd5e8;box-shadow:0 12px 34px rgba(24,79,125,.1)}.card-topline{display:flex;justify-content:space-between;gap:10px;align-items:center}.week{display:inline-block;padding:6px 9px;border-radius:20px;background:#eaf1f8;color:var(--primary);font-weight:800;font-size:12px}.latest-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#e9f8ef;color:#137447;font-size:11px;font-weight:900;letter-spacing:.04em}.latest-badge.small{font-size:10px;padding:5px 8px}.plan-card h3{margin:14px 0 6px;font-size:18px}.plan-card .meta{font-size:13px;color:var(--muted);margin-bottom:16px}.empty{padding:40px;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:16px;color:var(--muted)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 22px}.page-head h1{margin:0;font-size:30px;letter-spacing:-.025em}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:28px 0 12px}.section-head h2{font-size:18px;margin:0 0 3px}.section-head p{margin:0}.section-head>a{font-size:13px;font-weight:800;color:var(--primary)}.parent-section{margin-top:16px}.admin-body{background:#f4f6fa}.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:#102c44;color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:5px 7px 19px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:16px}.sidebar-brand img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:11px;padding:4px}.sidebar-brand strong{display:block;font-size:13px}.sidebar-brand span{display:block;font-size:10px;color:#aebdca;margin-top:3px}.nav-label{font-size:9px;letter-spacing:.15em;color:#7f9aaf;margin:14px 9px 5px;font-weight:900}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;margin:3px 0;color:#d6e0e8;font-size:13px;font-weight:650}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.nav-icon{width:20px;text-align:center;opacity:.9}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:15px 8px 4px;display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#b7c5d0}.sidebar-footer a{color:#fff;font-weight:700}.admin-main{padding:24px 28px 40px;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 15px;margin-bottom:24px}.admin-top strong{display:block;font-size:14px}.admin-top .eyebrow{font-size:9px;margin:0 0 2px}.admin-top-actions{display:flex;gap:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stats-5{grid-template-columns:repeat(5,1fr)}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 4px 18px rgba(20,37,63,.025)}.stat strong{display:block;font-size:27px;margin:6px 0 3px}.stat span{color:var(--muted);font-size:12px;font-weight:700}.stat small{color:#98a2b3;font-size:10px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.action-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;box-shadow:var(--shadow)}.action-card:hover{border-color:#c9d9e7}.action-card strong{font-size:14px}.action-card p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.action-icon{width:42px;height:42px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:20px;font-weight:800}.action-card>b{color:var(--primary)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;white-space:nowrap}.table th{background:#fafbfc;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#697586}.week-mini{font-weight:800;color:var(--primary)}.badge{padding:5px 8px;border-radius:20px;font-size:10px;font-weight:800}.badge.on{background:#e9f7ef;color:#177646}.badge.off{background:#f2f4f7;color:#667085}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.success{background:#e9f7ef;color:#12663c}.alert.danger{background:#fff0ef;color:#a51d15}.auth-bg{display:grid;place-items:center;min-height:100vh;padding:20px}.auth-card{width:min(460px,100%);padding:28px}.auth-card h1{margin-top:0}.form-card{padding:18px;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.drop-zone{border:2px dashed #c7d3df;border-radius:16px;padding:34px 20px;text-align:center;background:#fafcfe;position:relative;cursor:pointer;transition:.15s}.drop-zone.compact{margin-top:18px;padding:27px}.drop-zone.dragging{border-color:var(--primary);background:#f0f6fb}.drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-zone strong{display:block;font-size:15px}.drop-zone p{margin:5px 0;color:var(--muted);font-size:12px}.drop-zone small{color:#98a2b3}.drop-icon{width:46px;height:46px;border-radius:13px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;margin:0 auto 10px;font-size:20px;font-weight:900}.hidden{display:none!important}.batch-summary{display:flex;justify-content:space-between;gap:15px;padding:12px 2px 5px;font-size:12px}.batch-summary span{color:var(--muted)}.smart-upload-row{display:grid;grid-template-columns:1.35fr .65fr .5fr .8fr 1.2fr;gap:10px;align-items:end;padding:13px 0;border-top:1px solid var(--line)}.smart-upload-row .file-name{align-self:center;overflow:hidden}.smart-upload-row .file-name strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-upload-row label{font-size:9px}.detected{color:var(--success);font-weight:800}.review{color:var(--warning);font-weight:800}.sticky-submit{position:sticky;bottom:14px;z-index:15;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:0 10px 35px rgba(20,37,63,.12);border-radius:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px}.switch-row{display:flex;align-items:center;gap:9px;margin:0;font-size:12px}.switch-row input{width:auto}.info-strip{display:flex;gap:13px;align-items:center;background:#edf5fb;border:1px solid #d5e5f2;border-radius:13px;padding:13px 15px;margin-bottom:16px}.info-strip strong{font-size:12px}.info-strip span{font-size:11px;color:var(--muted)}.scan-state{display:flex;align-items:center;gap:12px;margin-top:15px;padding:12px 14px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.scan-state strong,.scan-state small{display:block}.scan-state small{font-size:11px;color:var(--muted);margin-top:2px}.spinner{width:20px;height:20px;border:3px solid #dce6ef;border-top-color:var(--primary);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.scan-complete{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8f7ef;color:var(--success);font-weight:900}.scan-error{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff0ef;color:var(--danger);font-weight:900}@keyframes spin{to{transform:rotate(360deg)}}.mapping-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:14px}.mapping-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px}.mapping-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mapping-head>span:first-child{font-size:11px;font-weight:900}.detected-pill,.review-pill{font-size:9px;font-weight:900;padding:4px 7px;border-radius:999px}.detected-pill{background:#e9f7ef;color:var(--success)}.review-pill{background:#fff6df;color:var(--warning)}.mapping-card p{font-size:10px;line-height:1.4;color:#9aa4b2;margin:8px 0 0;max-height:42px;overflow:hidden}.file-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.file-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow)}.file-card-top{display:flex;justify-content:space-between;align-items:center}.file-icon{width:38px;height:38px;border-radius:10px;background:#fff0ef;color:#b42318;display:grid;place-items:center;font-size:10px;font-weight:900}.file-card h3{margin:13px 0 4px;font-size:15px}.file-card p{margin:0 0 8px;color:var(--muted);font-size:11px}.file-card small{display:block;color:#98a2b3;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions{display:flex;gap:7px;margin-top:13px}.card-actions form{margin:0}.back-link{display:inline-block;margin:0 0 15px;color:var(--primary);font-weight:750;font-size:13px}.pdf-frame{width:100%;height:78vh;border:1px solid var(--line);border-radius:14px;background:#fff}.timetable-title{margin-top:0}.timetable-canvas-wrap{min-height:520px;background:#e7ebef;border:1px solid #d4dbe3;border-radius:16px;padding:16px;display:flex;align-items:center;justify-content:center;overflow:auto;position:relative}.timetable-canvas-wrap canvas{display:block;background:#fff;box-shadow:0 12px 36px rgba(0,0,0,.13);max-width:100%;height:auto}.viewer-loading{position:absolute;display:flex;gap:9px;align-items:center;color:var(--muted);font-size:13px}.privacy-note{text-align:center;color:var(--muted);font-size:11px;margin:12px}.auth-card input{margin-bottom:10px}@media(max-width:1100px){.stats-5{grid-template-columns:repeat(3,1fr)}.mapping-grid{grid-template-columns:repeat(2,1fr)}.smart-upload-row{grid-template-columns:1fr 1fr 1fr}.smart-upload-row .file-name{grid-column:1/-1}.file-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{display:flex;flex-wrap:wrap;gap:4px}.sidebar nav a{display:inline-flex}.sidebar-footer,.nav-label{display:none}.admin-main{padding:18px}.parent-filter{grid-template-columns:1fr 1fr}.plan-grid,.stats,.stats-5{grid-template-columns:repeat(2,1fr)}.action-grid{grid-template-columns:1fr}.admin-top{align-items:flex-start}.admin-top-actions{flex-wrap:wrap}.file-card-grid{grid-template-columns:1fr}}@media(max-width:650px){.container,.admin-main{padding:16px}.topbar .inner{padding:12px 16px}.hero h1{font-size:29px}.parent-filter,.plan-grid,.stats,.stats-5,.form-grid,.mapping-grid{grid-template-columns:1fr}.parent-filter .btn{width:100%}.page-head,.my-class-banner,.sticky-submit,.admin-top{align-items:stretch;flex-direction:column}.admin-top-actions .btn{flex:1}.smart-upload-row{grid-template-columns:1fr}.smart-upload-row .file-name{grid-column:auto}.info-strip{align-items:flex-start;flex-direction:column}.timetable-canvas-wrap{padding:8px;min-height:420px}.parent-label{display:none}}@media print{.topbar,.back-link,.page-head .btn,.privacy-note{display:none!important}.container{max-width:none;padding:0}.timetable-canvas-wrap{border:0;background:#fff;padding:0;overflow:visible}.timetable-canvas-wrap canvas{box-shadow:none;width:100%!important;height:auto!important}}

/* FIX 3 — compact parent UI, safe logo sizing and simpler timetable view */
.topbar{position:relative;top:auto;z-index:10}
.compact-topbar .inner{padding-top:10px;padding-bottom:10px;min-height:58px}
.brand img{height:var(--school-logo-size,34px);width:auto;max-width:132px;object-fit:contain;flex:0 0 auto}
.brand h2{line-height:1.15}.brand small{display:block;margin-top:3px}
.sidebar-brand img{width:auto;height:min(var(--school-logo-size,34px),42px);max-width:44px;object-fit:contain}
.simple-parent{padding-top:20px}
.simple-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:4px 0 14px}
.simple-intro h1{font-size:28px;letter-spacing:-.025em;margin:2px 0 5px}.simple-intro p{margin:0;color:var(--muted);font-size:13px;max-width:720px}
.simple-filter{margin-top:10px}
.parent-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 24px}
.quick-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.quick-icon{width:42px;height:42px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:16px;font-weight:900}
.quick-copy{min-width:0}.quick-label{font-size:9px;font-weight:900;letter-spacing:.1em;color:var(--muted)}.quick-copy h2{font-size:17px;margin:4px 0 4px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.quick-copy p{font-size:12px;color:var(--muted);margin:0;line-height:1.4}
.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:999px;font-size:10px;font-weight:800}.muted-pill{background:#f2f4f7;color:#7a8595}
.plans-section{margin-top:4px}.compact-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}.simple-empty{margin-top:16px}
.field-help{display:block;color:#8c96a5;font-size:10px;margin-top:5px}.logo-preview{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.logo-preview span{font-size:11px;color:var(--muted);font-weight:700}.logo-preview img{width:auto;max-width:160px;object-fit:contain}
.timetable-page{padding-top:18px}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.viewer-toolbar .back-link{margin:0}.timetable-heading{margin:4px 0 14px}.timetable-heading h1{margin:2px 0 3px;font-size:25px}.timetable-heading p{margin:0}.timetable-canvas-wrap{min-height:300px;padding:10px;border-radius:12px}.timetable-canvas-wrap canvas{max-width:100%;height:auto}

@media(max-width:900px){.parent-quick-grid{grid-template-columns:1fr}.compact-plan-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){
 .compact-topbar .inner{padding:8px 14px;min-height:50px}.brand{gap:9px}.brand img{height:var(--school-logo-mobile-size,30px);max-width:92px}.brand h2{font-size:14px}.brand small{font-size:10px}.simple-parent{padding-top:14px}.simple-intro h1{font-size:23px}.simple-intro p{font-size:12px}.simple-filter{grid-template-columns:1fr!important;padding:13px}.parent-quick-grid{gap:10px;margin-top:12px}.quick-card{grid-template-columns:auto 1fr;padding:13px;gap:10px}.quick-card>.btn,.quick-card>.status-pill{grid-column:1/-1;width:100%}.quick-copy h2{font-size:16px}.compact-plan-grid{grid-template-columns:1fr}.section-head.parent-section{align-items:flex-start}.section-head.parent-section .latest-badge{margin-top:4px}.timetable-page{padding:12px}.timetable-heading h1{font-size:22px}.timetable-canvas-wrap{padding:4px;min-height:220px}.viewer-toolbar .btn{padding:9px 12px}
}
.card-actions{flex-wrap:wrap}.card-actions>a,.card-actions button{white-space:nowrap}

/* FIX 4 — clickable timetable section + timetable option inside Week dropdown */
.parent-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:22px 0 18px;padding:0 2px}
.parent-tabs a{padding:11px 2px 10px;color:var(--muted);font-size:13px;font-weight:800;border-bottom:3px solid transparent;margin-bottom:-1px}
.parent-tabs a:hover{color:var(--primary)}
.parent-tabs a.active{color:var(--primary);border-bottom-color:var(--primary)}
.timetable-list-section{margin-top:0}
.small-btn{padding:9px 12px;font-size:12px}
.timetable-single-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;box-shadow:var(--shadow)}
.timetable-single-card h3{margin:3px 0 2px;font-size:22px}.timetable-single-card p{margin:0;color:var(--muted);font-size:12px}
.tt-class-badge,.tt-mini-icon{display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:900;border-radius:12px}
.tt-class-badge{width:48px;height:48px;font-size:20px}.tt-mini-icon{width:38px;height:38px;font-size:15px;flex:none}
.timetable-class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.timetable-class-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:center;gap:11px;transition:.15s;box-shadow:0 4px 18px rgba(20,37,63,.025)}
.timetable-class-card:hover{border-color:#bfd2e1;transform:translateY(-1px);box-shadow:var(--shadow)}
.timetable-class-card div{min-width:0;flex:1}.timetable-class-card strong{display:block;font-size:14px}.timetable-class-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.timetable-class-card b{color:var(--primary);font-size:11px;white-space:nowrap}
@media(max-width:900px){.timetable-class-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.parent-tabs{margin:15px 0 13px;gap:16px}.parent-tabs a{font-size:12px}.timetable-class-grid{grid-template-columns:1fr}.timetable-single-card{grid-template-columns:auto 1fr}.timetable-single-card .btn{grid-column:1/-1;width:100%}}

/* FIX 5 — All Classes overview shows BOTH timetables and weekly plans */
.overview-summary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.overview-summary span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);font-size:11px}.overview-summary strong{color:var(--text)}
.weekly-plans-section{margin-top:28px;padding-top:4px;border-top:1px solid var(--line)}
.all-plan-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.all-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.overview-summary{gap:6px}.overview-summary span{width:100%;border-radius:12px}.all-plan-grid{grid-template-columns:1fr}}

/* FIX 7 — aligned 3-column parent cards + editable admin content */
#plans .parent-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%;max-width:none}
#plans .parent-plan-grid .plan-card{display:flex;flex-direction:column;min-width:0;min-height:190px;height:100%}
#plans .parent-plan-grid .plan-card h3{min-height:22px}
#plans .parent-plan-grid .plan-card .meta{min-height:38px;line-height:1.45}
#plans .parent-plan-grid .plan-card .btn{margin-top:auto;align-self:flex-start}
.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.row-actions form{margin:0}.row-actions .btn{padding:8px 11px;font-size:11px;white-space:nowrap}
.edit-form-card{max-width:980px}.replace-box{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fafcfe;display:grid;grid-template-columns:1fr minmax(250px,420px);align-items:center;gap:18px}.replace-box.prominent{border-color:#cfdeea;background:#f6fafe}.replace-box strong{display:block;font-size:14px}.replace-box p{margin:5px 0 0}.edit-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.responsive-admin-table td:last-child{min-width:180px}
@media(max-width:900px){#plans .parent-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.replace-box{grid-template-columns:1fr}.edit-form-card{max-width:none}}
@media(max-width:650px){
 #plans .parent-plan-grid{grid-template-columns:1fr;gap:11px}#plans .parent-plan-grid .plan-card{min-height:auto;padding:15px}#plans .parent-plan-grid .plan-card .meta{min-height:0;margin-bottom:12px}#plans .parent-plan-grid .plan-card .btn{width:100%}
 .edit-actions{align-items:stretch;flex-direction:column}.edit-actions .btn{width:100%}.replace-box{padding:13px;gap:12px}
 .responsive-admin-table thead{display:none}.responsive-admin-table,.responsive-admin-table tbody,.responsive-admin-table tr,.responsive-admin-table td{display:block;width:100%}.responsive-admin-table tr{padding:10px 12px;border-bottom:1px solid var(--line)}.responsive-admin-table td{border:0;padding:6px 0;white-space:normal;display:grid;grid-template-columns:95px 1fr;gap:8px;align-items:start}.responsive-admin-table td:before{content:attr(data-label);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.responsive-admin-table td:last-child{min-width:0;display:block}.responsive-admin-table td:last-child:before{display:block;margin-bottom:7px}.responsive-admin-table .row-actions{display:grid;grid-template-columns:1fr 1fr}.responsive-admin-table .row-actions .btn{width:100%}
 .file-card-grid{grid-template-columns:1fr}.card-actions{display:grid;grid-template-columns:1fr 1fr}.card-actions>a,.card-actions form,.card-actions button{width:100%}
}


/* FIX 8 — combined view uses tabs instead of stacking 60+ timetables above weekly plans */
.overview-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 8px}
.overview-tab{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 16px;min-height:68px;color:var(--text);box-shadow:0 4px 16px rgba(20,37,63,.025);transition:.15s}
.overview-tab:hover{border-color:#bfd2e1;transform:translateY(-1px);box-shadow:var(--shadow)}
.overview-tab.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(21,92,145,.08)}
.overview-tab-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-size:14px;font-weight:900;flex:none}
.overview-tab strong{display:block;font-size:14px;line-height:1.25}.overview-tab small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.overview-tab.active strong{color:var(--primary)}
.overview-hint{margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.5}
/* In combined mode the active content starts immediately below the tabs. */
.overview-switch + .overview-hint + .plans-section{margin-top:0}
@media(max-width:650px){
 .overview-switch{grid-template-columns:1fr;gap:8px;margin-top:12px}.overview-tab{min-height:60px;padding:11px 13px;border-radius:13px}.overview-tab-icon{width:36px;height:36px}.overview-hint{font-size:10px;margin-bottom:13px}
}
