
@font-face{font-family:"Nimbus Sans D OT Bold Extended";src:url("/assets/fonts/nimbus-sans-d-ot-bold-extended.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap;}
:root{--bg:#fafafa;--panel:#fff;--text:#18181b;--muted:#71717a;--line:#e4e4e7;--soft:#f4f4f5;--brand:#1a3868;--brand-secondary:#00adbd;--focus:#00adbd;--faculty-color:#1a3868;--radius:28px;--shadow:0 20px 60px rgba(26,56,104,.10)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);scroll-behavior:smooth}body{margin:0;min-height:100vh}.skip-link{position:absolute;left:1rem;top:1rem;z-index:1000;transform:translateY(-200%);background:#fff;color:var(--text);padding:.8rem 1rem;border-radius:14px;box-shadow:var(--shadow)}.skip-link:focus{transform:none}a{color:inherit}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;min-width:0}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--brand-secondary));color:white;font-weight:800}.brand strong{display:block;line-height:1.1}.brand small{display:block;color:var(--muted);margin-top:.15rem}.header-actions{display:flex;align-items:center;gap:.5rem}.primary-button,.ghost-button{border:0;border-radius:999px;padding:.8rem 1.05rem;font-weight:750;cursor:pointer;min-height:44px}.primary-button{background:var(--brand);color:#fff}.primary-button:hover{background:#132b51}.ghost-button:hover{border-color:var(--brand);color:var(--brand)}.ghost-button{background:#fff;color:var(--text);border:1px solid var(--line)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid rgba(0,173,189,.28);outline-offset:2px}.hero{padding:clamp(3rem,7vw,7rem) clamp(1rem,4vw,4rem) 2rem;background:linear-gradient(180deg,#fff 0%,#fafafa 100%)}.hero-inner{width:100%;max-width:none;margin:0}.eyebrow{display:inline-flex;margin:0 0 1rem;padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;color:var(--brand);font-size:.9rem;font-weight:700;background:white}.hero h1{max-width:920px;margin:0;font-size:clamp(2.6rem,7vw,6rem);line-height:.96;letter-spacing:-.07em}.hero p.lead{max-width:720px;margin:1.3rem 0 0;color:#52525b;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65}.search-card{margin-top:2rem;max-width:760px;display:flex;gap:.65rem;padding:.55rem;background:white;border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow)}.search-card input{flex:1;border:0;background:transparent;padding:0 1rem;font-size:1rem;min-height:48px;outline:none}.search-results{max-width:760px;margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem}.search-results a{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:18px;background:white;text-decoration:none}.section{width:100%;max-width:none;margin:0;padding:2rem clamp(1rem,4vw,4rem)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:.25rem 0}.faculty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.faculty-card{display:flex;flex-direction:column;min-height:250px;padding:1.15rem;border:1px solid var(--line);border-top:7px solid var(--faculty-color);border-radius:var(--radius);background:white;text-decoration:none;box-shadow:0 1px 0 rgba(0,0,0,.03);transition:.18s ease}.faculty-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--faculty-color)}.faculty-logo{height:112px;display:grid;place-items:center;margin-bottom:1rem;border-radius:22px;background:color-mix(in srgb,var(--faculty-color) 12%,white);overflow:hidden}.faculty-logo img{max-width:100%;max-height:100%;object-fit:contain}.faculty-card h2,.faculty-card h3{margin:auto 0 .5rem;font-size:1.28rem;line-height:1.2}.faculty-card p{margin:0;color:var(--faculty-color);font-weight:850}.crumbs{display:flex;flex-wrap:wrap;gap:.4rem;color:var(--muted);font-size:.95rem;margin-bottom:1.2rem}.crumbs a{text-decoration:none}.faculty-hero{padding:2rem;border:1px solid var(--line);border-top:9px solid var(--faculty-color);border-radius:34px;background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--faculty-color) 8%,white) 100%);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}.faculty-eyebrow{background:var(--faculty-color);border-color:var(--faculty-color);color:#fff}.faculty-hero img{width:190px;max-height:100px;object-fit:contain}.programme-group{margin-top:1.5rem}.programme-group h2{font-size:1.5rem;border-left:8px solid var(--faculty-color);padding-left:.75rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:24px;background:white}.programmes-table{width:100%;border-collapse:collapse;min-width:760px}.programmes-table th,.programmes-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.programmes-table th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#1a3868;background:color-mix(in srgb,var(--faculty-color) 8%,#f8fafc)}.programmes-table tr:last-child td{border-bottom:0}.programmes-table a{font-weight:750;text-decoration:none;color:var(--brand)}.programmes-table a:hover{text-decoration:underline}.tag-list{display:flex;gap:.35rem;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;border-radius:999px;background:color-mix(in srgb,var(--brand-secondary) 12%,white);color:var(--brand);padding:.25rem .55rem;font-size:.85rem;font-weight:700}.empty{padding:2rem;border:1px dashed #cbd5e1;border-radius:24px;background:white;color:#52525b}.admin-panel{background:var(--brand);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.admin-inner{width:100%;max-width:none;margin:0;padding:1.25rem clamp(1rem,4vw,4rem)}.admin-inner h2{margin:.1rem 0}.admin-inner p{color:rgba(255,255,255,.7)}.sync-form{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:.75rem;margin-top:1rem}.sync-form label{display:grid;gap:.35rem;font-size:.85rem;color:rgba(255,255,255,.75);font-weight:700}.sync-form select{min-height:44px;border-radius:15px;border:1px solid rgba(255,255,255,.18);padding:.65rem;background:white;color:#111827}.sync-status{min-height:1.5rem}.site-footer{padding:2rem clamp(1rem,4vw,3rem);border-top:1px solid var(--line);color:var(--muted);text-align:center}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.35rem .65rem;background:white;color:var(--muted);font-size:.9rem}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:780px){.site-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;justify-content:space-between}.search-card{border-radius:26px;flex-direction:column}.sync-form{grid-template-columns:1fr}.faculty-hero{grid-template-columns:1fr}.faculty-hero img{width:150px}.hero h1{letter-spacing:-.045em}}

@media(min-width:1280px){.faculty-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.faculty-card{min-height:270px}.hero h1{max-width:1100px}.hero p.lead{max-width:860px}}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-top:1.5rem}.info-card{padding:1.25rem;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.03)}.info-card h2{font-size:1.35rem;margin:0 0 1rem}.info-card dl{display:grid;grid-template-columns:minmax(130px,.35fr) 1fr;gap:.75rem 1rem;margin:0}.info-card dt{font-weight:800;color:#52525b}.info-card dd{margin:0;min-width:0;word-break:break-word}.teacher-list{display:flex;flex-wrap:wrap;gap:.35rem}.teacher-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.3rem .65rem;background:#fff;text-decoration:none;font-size:.9rem;font-weight:750}.teacher-chip:hover{border-color:#94a3b8;background:#f8fafc}.teacher-chip.muted,.muted{color:var(--muted)}.subjects-table td:last-child{min-width:240px}@media(max-width:680px){.info-card dl{grid-template-columns:1fr}.info-card dt{margin-top:.5rem}}
.sync-progress{display:grid;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none}.sync-progress li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.82);font-size:.92rem}.sync-progress .state{font-weight:800}.sync-progress li.running{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12)}.sync-progress li.done .state{color:#86efac}.sync-progress li.error .state{color:#fca5a5}.study-plan-part{margin-top:1.25rem}.study-plan-part h3{margin:0 0 .75rem;font-size:1.22rem}.study-plan-part + .study-plan-part{margin-top:2rem}.sync-form{grid-template-columns:repeat(6,minmax(140px,1fr))}@media(max-width:1100px){.sync-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:780px){.sync-form{grid-template-columns:1fr}}
.study-plan-type{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:24px;background:#fff}.study-plan-type h4{margin:0 0 .9rem;font-size:1.05rem}.study-plan-type h4 span{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;margin-right:.45rem;border-radius:999px;background:var(--faculty-color);color:#fff;font-size:.85rem}.study-plan-block{margin-top:1rem}.study-plan-block h5{margin:0 0 .65rem;font-size:1rem;color:#52525b}.study-plan-block + .study-plan-block{margin-top:1.25rem}
.xml-panel{margin-top:2rem}.xml-viewer{display:grid;gap:.75rem;margin-top:1rem}.xml-source{border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden}.xml-source>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;cursor:pointer;font-weight:850}.xml-source>summary small{font-weight:600;color:var(--muted);word-break:break-all;text-align:right}.xml-loading{padding:1rem;color:var(--muted)}.xml-actions{padding:.75rem 1.15rem;border-top:1px solid var(--line);background:#f8fafc}.xml-actions a{font-weight:800;text-decoration:none}.xml-tree{padding:1rem;background:#fbfbfc;border-top:1px solid var(--line);max-height:70vh;overflow:auto}.xml-node{margin:.35rem 0 .35rem .75rem;border-left:2px solid #e2e8f0;padding-left:.65rem}.xml-node>summary{display:flex;align-items:center;gap:.65rem;cursor:pointer;min-height:2rem}.xml-node>summary span{color:#475569;font-size:.9rem}.xml-node code,.xml-leaf code,.xml-close code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;color:#0f172a;background:#eef2ff;border-radius:8px;padding:.12rem .32rem;white-space:pre-wrap;word-break:break-word}.xml-children{margin:.35rem 0}.xml-leaf{display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-start;margin:.3rem 0 .3rem 1.4rem;line-height:1.6}.xml-leaf span{white-space:pre-wrap;word-break:break-word;color:#334155}.xml-text{margin:.35rem 0;color:#334155;white-space:pre-wrap;word-break:break-word}.xml-close{margin:.25rem 0 .4rem}.subjects-table{min-width:1180px}.subjects-table th:nth-child(2),.subjects-table td:nth-child(2){min-width:260px}.subjects-table th:last-child,.subjects-table td:last-child{min-width:260px}
@media(max-width:780px){.xml-source>summary{align-items:flex-start;flex-direction:column}.xml-source>summary small{text-align:left}.xml-tree{max-height:60vh}.xml-leaf{margin-left:.4rem}}
.xml-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.xml-actions button{appearance:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.45rem .75rem;font-weight:800;cursor:pointer}.xml-actions button:focus-visible{outline:3px solid rgba(15,23,42,.25);outline-offset:2px}.xml-raw{border-top:1px solid var(--line);background:#fff}.xml-raw>summary{padding:.85rem 1.15rem;cursor:pointer;font-weight:850}.xml-raw pre{margin:0;max-height:70vh;overflow:auto;padding:1rem;background:#0f172a;color:#e2e8f0;white-space:pre-wrap;word-break:break-word}.xml-raw code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.82rem;line-height:1.6}

/* v17 admin controls for individual programme visibility and sync */
.programme-admin-actions{display:flex;flex-wrap:wrap;gap:.5rem;min-width:220px}
.mini-button{border:1px solid #d7d7d7;background:#fff;border-radius:999px;padding:.45rem .7rem;font-size:.85rem;font-weight:700;cursor:pointer;color:#151515;transition:background .15s,border-color .15s,transform .15s}
.mini-button:hover{border-color:#151515;transform:translateY(-1px)}
.mini-button:focus-visible{outline:3px solid #111;outline-offset:2px}
.mini-button.is-off{background:#111;color:#fff;border-color:#111}
.visibility-badge{display:inline-flex;margin-left:.6rem;border-radius:999px;background:#111;color:#fff;padding:.18rem .5rem;font-size:.75rem;font-weight:800;vertical-align:middle}
.is-hidden-programme{background:repeating-linear-gradient(-45deg,#fff,#fff 10px,#f5f5f5 10px,#f5f5f5 20px)}
.is-hidden-programme td{color:#595959}


/* v22 responsive main menu and language switcher */
.site-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}
.main-menu{display:flex;align-items:center;justify-content:center;gap:.35rem;min-width:0}
.main-menu a{display:inline-flex;align-items:center;min-height:42px;padding:.55rem .85rem;border-radius:999px;text-decoration:none;font-weight:800;color:#111827}
.main-menu a:hover{background:color-mix(in srgb,var(--brand-secondary) 12%,white);color:var(--brand)}
.menu-toggle{display:none;appearance:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .8rem;font-weight:850;cursor:pointer}
.language-switcher{min-height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:.45rem .75rem;font-weight:850;color:#111827}
.cards-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem;margin-top:1rem}.list-card{display:grid;gap:.3rem;border:1px solid var(--line);border-radius:22px;background:#fff;padding:1rem;text-decoration:none}.list-card:hover{border-color:#94a3b8;background:#f8fafc}.list-card small{color:var(--muted)}
@media(max-width:1023px){.site-header{grid-template-columns:1fr auto;align-items:start}.brand{min-width:0}.menu-toggle{display:inline-flex;justify-self:end}.main-menu{grid-column:1 / -1;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;border:1px solid var(--line);border-radius:22px;background:#fff;padding:.5rem}.main-menu.is-open{display:flex}.main-menu a{justify-content:flex-start}.header-actions{grid-column:1 / -1;width:100%;justify-content:flex-start;flex-wrap:wrap}.language-switcher{min-width:84px}}

.admin-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.admin-links .ghost-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* v24 admin subject teacher visibility + SEO redirects */
.check-icon{display:inline;font-weight:900;line-height:1;color:var(--brand-secondary)}
.admin-box{margin-top:1.25rem;padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.06)}
.admin-box h3{margin:.1rem 0 .4rem;color:#fff}.admin-box p{margin:.2rem 0 1rem;color:rgba(255,255,255,.7)}
.redirect-form{display:grid;grid-template-columns:1.4fr 1.4fr .7fr auto;gap:.75rem;align-items:end}.redirect-form label{display:grid;gap:.35rem;font-size:.85rem;color:rgba(255,255,255,.75);font-weight:700}.redirect-form input,.redirect-form select{min-height:44px;border-radius:15px;border:1px solid rgba(255,255,255,.18);padding:.65rem;background:white;color:#111827}.redirect-list{display:grid;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none}.redirect-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.82);font-size:.92rem}.redirect-list code{background:rgba(255,255,255,.12);border-radius:6px;padding:.05rem .25rem}@media(max-width:1000px){.redirect-form{grid-template-columns:1fr 1fr}.redirect-form button{grid-column:1 / -1}}@media(max-width:680px){.redirect-form{grid-template-columns:1fr}.redirect-list li{align-items:flex-start;flex-direction:column}}


/* v25 standalone dashboard */
.dashboard-page{background:#f8fafc}.dashboard-hero{padding:2rem;border:1px solid var(--line);border-radius:34px;background:#fff;box-shadow:var(--shadow);margin-bottom:1.25rem}.dashboard-hero h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;margin:.1rem 0}.dashboard-grid{display:grid;grid-template-columns:260px 1fr;gap:1rem;align-items:start}.dashboard-nav{position:sticky;top:96px;display:grid;gap:.45rem;padding:1rem;border:1px solid var(--line);border-radius:24px;background:#fff}.dashboard-nav a{padding:.75rem .85rem;border-radius:16px;text-decoration:none;font-weight:750;color:#334155}.dashboard-nav a:hover,.dashboard-nav a.is-active,.dashboard-nav a[aria-current="page"]{background:#f1f5f9;color:var(--brand)}.dashboard-main{display:grid;gap:1rem}.dashboard-card{padding:1.25rem;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.03)}.dashboard-card .sync-form label,.dashboard-card .redirect-form label{color:#334155}.dashboard-card .sync-form select,.dashboard-card .redirect-form input,.dashboard-card .redirect-form select{border:1px solid var(--line);background:#fff;color:#111827}.dashboard-card .sync-progress li{border:1px solid var(--line);background:#f8fafc;color:#334155}.dashboard-card .sync-progress li.running{border-color:#94a3b8;background:#f1f5f9}.dashboard-card .redirect-list li{border:1px solid var(--line);background:#f8fafc;color:#334155}.diagnostic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.diagnostic-grid div{padding:1rem;border:1px solid var(--line);border-radius:20px;background:#f8fafc}.diagnostic-grid strong{display:block;font-size:2rem;line-height:1}.diagnostic-grid span{display:block;color:var(--muted);margin-top:.25rem}.muted{color:var(--muted)}
@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.dashboard-nav{position:static;grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dashboard-nav{grid-template-columns:1fr}.dashboard-card{padding:1rem}}

/* v26 dashboard subpage: subject teacher visibility */
.inline-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;width:max-content;margin-top:1rem}
.teacher-visibility-filters{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}
.teacher-visibility-filters input{height:44px;border:1px solid var(--border);border-radius:14px;padding:0 .9rem;background:#fff;font:inherit;outline:none}
.teacher-visibility-filters input:focus{border-color:#111;box-shadow:0 0 0 4px rgba(17,17,17,.08)}
@media (max-width: 900px){.teacher-visibility-filters{grid-template-columns:1fr}.inline-button{width:100%}}


/* v27 corporate and faculty color system */
:where(.section,.programme-group,.faculty-card,.faculty-hero){--faculty-color:var(--faculty-color,#1a3868)}
.dashboard-hero{border-top:8px solid var(--brand-secondary)}
.dashboard-nav a:hover,.dashboard-nav a.is-active,.dashboard-nav a[aria-current="page"]{background:color-mix(in srgb,var(--brand-secondary) 12%,white);color:var(--brand)}
.mini-button:hover{border-color:var(--brand);color:var(--brand)}
.mini-button.is-off{background:var(--brand);color:#fff;border-color:var(--brand)}
.visibility-badge{background:var(--brand);color:#fff}


/* v28 admin login/logout */
.login-page { min-height: 70vh; display: grid; place-items: center; }
.login-card { width: min(100%, 520px); background: #fff; border: 1px solid rgba(26,56,104,.14); border-radius: 28px; padding: clamp(1.25rem, 3vw, 2rem); box-shadow: 0 24px 70px rgba(26,56,104,.12); }
.login-card h1 { margin: .25rem 0 .75rem; color: var(--euba-primary, #1a3868); }
.login-form { margin-top: 1.25rem; }
.login-form input { width: 100%; }
.status.error { background: #fff1f1; color: #9b1c1c; border: 1px solid #f3b4b4; border-radius: 16px; padding: .8rem 1rem; margin: 1rem 0; }
.small-text { font-size: .9rem; }
.nav-logout { width: 100%; text-align: left; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.08); color: inherit; border-radius: 16px; padding: .75rem .9rem; cursor: pointer; font: inherit; }
.nav-logout:hover, .nav-logout:focus-visible { background: rgba(0,173,189,.16); outline: 3px solid rgba(0,173,189,.28); }

/* v29: compact subject tags on staff profile */
.subject-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.subject-tag{display:inline-flex;align-items:center;min-height:2.35rem;border:1px solid var(--border,#d7dee8);background:#fff;border-radius:999px;padding:.45rem .85rem;color:var(--primary,#1a3868);font-weight:700;text-decoration:none;box-shadow:0 6px 16px rgba(26,56,104,.06)}
.subject-tag:hover,.subject-tag:focus{border-color:var(--secondary,#00adbd);box-shadow:0 0 0 3px rgba(0,173,189,.16);outline:0}


/* v30: EUBA 2026 logo in header */
.brand-logo-wrap{display:flex;align-items:center;justify-content:center;min-width:168px;max-width:230px;height:48px}
.brand-logo{display:block;width:100%;max-width:220px;height:auto;max-height:48px;object-fit:contain}
.brand-text{display:block;min-width:0}
.brand-mark{display:none}
@media(max-width:1023px){.brand{align-items:flex-start}.brand-logo-wrap{min-width:132px;max-width:170px;height:42px}.brand-logo{max-height:42px}.brand-text strong{font-size:.95rem}.brand-text small{font-size:.78rem}}
@media(max-width:520px){.brand-logo-wrap{min-width:112px;max-width:142px}.brand-text small{display:none}}


/* v31: admin avatar, account settings, polished login and select fields */
:root{--field-bg:#fff;--field-border:#cbd5e1;--field-focus:rgba(0,173,189,.26)}
select,input[type="text"],input[type="password"],input[type="search"],input[type="email"],input[type="url"]{font:inherit}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#1a3868 50%),linear-gradient(135deg,#1a3868 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.4rem!important}
.dashboard-form label,.redirect-form label,.login-form label,.account-form label{display:grid;gap:.42rem;font-weight:750;color:#334155}
.dashboard-form input,.dashboard-form select,.redirect-form input,.redirect-form select,.login-form input,.account-form input{min-height:46px;border:1px solid var(--field-border);border-radius:16px;background-color:var(--field-bg);padding:.75rem .9rem;color:#0f172a;outline:0;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.dashboard-form input:focus,.dashboard-form select:focus,.redirect-form input:focus,.redirect-form select:focus,.login-form input:focus,.account-form input:focus{border-color:var(--brand-secondary,#00adbd);box-shadow:0 0 0 4px var(--field-focus)}
.admin-account-slot{display:flex;align-items:center;position:relative}
.admin-account{position:relative}
.admin-avatar-button{display:flex;align-items:center;gap:.7rem;min-height:44px;border:1px solid var(--line,#e5e7eb);border-radius:999px;background:#fff;padding:.25rem .8rem .25rem .25rem;cursor:pointer;color:#0f172a;box-shadow:0 6px 18px rgba(26,56,104,.06)}
.admin-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand,#1a3868);color:#fff;font-weight:900;letter-spacing:.03em}
.admin-avatar-text{display:grid;line-height:1.05;text-align:left}.admin-avatar-text strong{font-size:.9rem}.admin-avatar-text small{font-size:.74rem;color:#64748b;margin-top:.16rem}
.admin-account-menu{position:absolute;right:0;top:calc(100% + .55rem);z-index:80;min-width:230px;padding:.45rem;border:1px solid var(--line,#e5e7eb);border-radius:20px;background:#fff;box-shadow:0 24px 60px rgba(15,23,42,.16)}
.admin-account-menu a,.admin-account-menu button{display:flex;width:100%;align-items:center;border:0;background:transparent;border-radius:14px;padding:.78rem .85rem;text-align:left;text-decoration:none;color:#0f172a;font:inherit;font-weight:750;cursor:pointer}
.admin-account-menu a:hover,.admin-account-menu button:hover,.admin-account-menu a:focus-visible,.admin-account-menu button:focus-visible{background:color-mix(in srgb,var(--brand-secondary,#00adbd) 12%,white);outline:0;color:var(--brand,#1a3868)}
.login-page{min-height:calc(100vh - 160px);place-items:center;background:radial-gradient(circle at 15% 10%,rgba(0,173,189,.16),transparent 28%),linear-gradient(135deg,#f8fafc 0%,#eef5fb 100%)}
.login-shell{width:min(100%,560px);display:grid;gap:1.1rem}.login-brand{display:flex;justify-content:center}.login-brand img{width:min(290px,78vw);height:auto}.login-card{border-top:8px solid var(--brand-secondary,#00adbd)}.login-card h1{font-size:clamp(2.1rem,5vw,3.6rem);line-height:1;margin:.2rem 0 .5rem;color:var(--brand,#1a3868);letter-spacing:-.05em}.login-lead{color:#475569;line-height:1.65}.login-submit{width:100%;min-height:50px}.account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.account-form label:last-of-type{grid-column:1 / -1}.account-form button{grid-column:1 / -1;justify-self:start}.sync-status:not(:empty){padding:.8rem 1rem;border-radius:16px;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}
@media(max-width:900px){.admin-account-slot{width:100%}.admin-avatar-button{width:100%;justify-content:flex-start}.admin-account{width:100%}.admin-account-menu{left:0;right:auto;width:min(100%,280px)}.account-form{grid-template-columns:1fr}}
@media(max-width:520px){.admin-avatar-text small{display:none}.admin-avatar-button{padding-right:.5rem}.login-card{border-radius:24px}}

/* v32 SEO static export */
.seo-static .site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,2.5rem);background:#fff;border-bottom:1px solid rgba(26,56,104,.12)}
.seo-static .brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:#1a3868;font-weight:800;letter-spacing:-.02em}
.seo-static .university-logo{height:42px;width:auto;max-width:220px}
.seo-static .main-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.seo-static .main-nav a{padding:.65rem .85rem;border-radius:999px;text-decoration:none;color:#1a3868;font-weight:700}
.seo-static .main-nav a:hover,.seo-static .main-nav a:focus{background:rgba(0,173,189,.12);outline:2px solid transparent}
.seo-static .seo-page{max-width:none;width:100%;padding:clamp(1rem,3vw,2.5rem)}
.seo-static h1{font-size:clamp(2rem,5vw,4.25rem);line-height:1;margin:0 0 1rem;color:#1a3868;letter-spacing:-.05em}
.seo-static h2{margin-top:2rem;color:#1a3868}
.seo-static .lead{max-width:72ch;color:#334155;font-size:1.125rem;line-height:1.7}
.seo-static .faculty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}
.seo-static .faculty-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid rgba(26,56,104,.15);border-radius:1.5rem;background:#fff;text-decoration:none;color:#1a3868;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.seo-static .faculty-card img{height:48px;width:48px;object-fit:contain}
.seo-static .detail-grid{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:.75rem 1rem;max-width:900px;background:#fff;border:1px solid rgba(26,56,104,.12);border-radius:1.25rem;padding:1rem}
.seo-static .detail-grid dt{font-weight:800;color:#1a3868}.seo-static .detail-grid dd{margin:0;color:#334155}
.seo-static .tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.seo-static .subject-tag{display:inline-flex;padding:.5rem .75rem;border:1px solid rgba(26,56,104,.15);border-radius:999px;text-decoration:none;color:#1a3868;background:#fff;font-weight:700}
.seo-static .site-footer{padding:2rem clamp(1rem,3vw,2.5rem);border-top:1px solid rgba(26,56,104,.12);color:#64748b}
@media (max-width:720px){.seo-static .site-header{align-items:flex-start;flex-direction:column}.seo-static .main-nav{width:100%}.seo-static .main-nav a{background:#f8fafc}.seo-static .detail-grid{grid-template-columns:1fr}.seo-static .university-logo{height:36px}}

/* v35 faculty cards: full faculty-color background with white content */
.faculty-card{
  background:var(--faculty-color);
  color:#fff;
  border-color:var(--faculty-color);
  border-top-color:var(--faculty-color);
  box-shadow:0 16px 42px rgba(15,23,42,.10);
}
.faculty-card:hover{
  border-color:var(--faculty-color);
  box-shadow:0 22px 60px color-mix(in srgb,var(--faculty-color) 32%,rgba(15,23,42,.18));
}
.faculty-card h2,
.faculty-card h3,
.faculty-card p,
.faculty-card small,
.faculty-card strong{
  color:#fff;
}
.faculty-card p{
  color:#fff;
  opacity:.92;
}
.faculty-card .faculty-logo{
  background:transparent;
  border-radius:0;
  box-shadow:none;
  margin-bottom:1.15rem;
}
.faculty-card .faculty-logo img{
  filter:none;
}
.faculty-card:focus-visible{
  outline:4px solid color-mix(in srgb,var(--faculty-color) 18%,#fff);
  outline-offset:3px;
}

/* v39: centered SVG faculty logos, max height 50px */
.faculty-card .faculty-logo{
  height:74px;
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.faculty-card .faculty-logo img{
  display:block;
  width:auto;
  height:auto;
  max-height:50px;
  max-width:min(100%, 260px);
  object-fit:contain;
  margin-inline:auto;
}
.faculty-hero img,
.faculty-detail-logo{
  display:block;
  width:auto;
  height:auto;
  max-height:50px;
  max-width:min(100%, 280px);
  object-fit:contain;
  margin-inline:auto;
}
@media(max-width:720px){
  .faculty-card .faculty-logo{height:68px;min-height:68px}
  .faculty-card .faculty-logo img{max-height:50px;max-width:min(100%, 230px)}
  .faculty-hero img,.faculty-detail-logo{max-height:50px;max-width:min(100%, 240px)}
}


/* v39: faculty SVG logo sizing + footer admin login */
.faculty-card{align-items:center;text-align:center;}
.faculty-logo{height:50px;width:100%;display:flex;align-items:center;justify-content:center;margin:0 0 1.25rem;background:transparent!important;border-radius:0;overflow:visible;}
.faculty-logo img{display:block;width:auto!important;height:auto!important;max-height:50px!important;max-width:82%!important;object-fit:contain;object-position:center center;}
.faculty-card h2,.faculty-card h3,.faculty-card p{width:100%;}
.faculty-hero img{display:block;width:auto!important;height:auto!important;max-height:50px!important;max-width:260px!important;object-fit:contain;object-position:center center;justify-self:center;align-self:center;}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;}
.footer-admin-slot{margin-left:auto;display:flex;justify-content:flex-end;align-items:center;}
.footer-admin-slot .ghost-button{font-size:.9rem;padding:.65rem .9rem;min-height:40px;}
.site-header .admin-account-slot:empty{display:none;}
@media(max-width:780px){.site-footer{flex-direction:column;align-items:flex-start}.footer-admin-slot{width:100%;justify-content:flex-end}.faculty-logo{height:50px}.faculty-logo img{max-height:50px!important}.faculty-hero img{max-height:50px!important;justify-self:start}}

/* v40: only public Admin login is in footer; authenticated avatar remains in header */
.header-admin-slot:empty{display:none!important;}
.footer-admin-slot:empty{display:none!important;}
.site-header .header-admin-slot{margin-left:.25rem;}


/* v44: vertically centered faculty cards and no faculty abbreviations on cards */
.faculty-card{
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  gap:1rem;
  padding-block:2rem!important;
}
.faculty-card .faculty-logo{
  margin:0!important;
  flex:0 0 auto;
}
.faculty-card h3{
  margin:0!important;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:3.2em;
}
.faculty-card p{display:none!important;}

/* v45: faculty code badge in dashboard programme list */
.programme-title-cell{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.programme-faculty-badge{display:inline-flex;align-items:center;justify-content:center;min-width:3.1rem;min-height:1.85rem;padding:.25rem .6rem;border-radius:999px;background:var(--badge-color,var(--faculty-color));color:#fff;font-weight:900;font-size:.82rem;letter-spacing:.04em;line-height:1;box-shadow:0 8px 18px color-mix(in srgb,var(--badge-color,var(--faculty-color)) 22%,transparent)}

/* v46: Dashboard programmes SEO reload controls */
.seo-inline-form {
  align-items: end;
  grid-template-columns: minmax(220px, 1fr) auto;
}
.programme-admin-actions .mini-button[data-programme-seo] {
  border-color: var(--secondary, #00adbd);
  color: var(--primary, #1a3868);
}
@media (max-width: 720px) {
  .seo-inline-form {
    grid-template-columns: 1fr;
  }
}

/* v50: readable sync error diagnostics in dashboard */
.sync-debug {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--primary, #1a3868) 18%, transparent);
  border-left: .35rem solid var(--secondary, #00adbd);
  border-radius: 1rem;
  background: #fff;
  color: #172033;
  box-shadow: 0 10px 28px rgba(26, 56, 104, .08);
}
.sync-debug[hidden] { display: none !important; }
.sync-debug h3 { margin: 0 0 .55rem; font-size: 1rem; color: var(--primary, #1a3868); }
.sync-debug ul, .sync-debug ol { margin: 0 0 1rem 1.25rem; padding: 0; }
.sync-debug li { margin: .45rem 0; line-height: 1.45; overflow-wrap: anywhere; }
.sync-debug li.error { color: #a31616; }
.sync-debug li.ok, .sync-debug li.done { color: #146c2e; }
.sync-debug li div { margin-top: .25rem; display: flex; gap: .5rem; flex-wrap: wrap; color: #516070; font-size: .88rem; }

/* v52: dashboard programme grouping by study level and faculty */
.admin-programme-level-block {
  display: grid;
  gap: 1rem;
  margin: 1.25rem 0 2rem;
}
.admin-programme-level-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--line, #e5e7eb);
  padding-bottom: .8rem;
}
.admin-programme-level-head h2 { margin: .15rem 0 0; }
.admin-programme-faculty-block {
  border-left: 5px solid var(--faculty-color, var(--primary, #1a3868));
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
  padding: 1rem;
}
.admin-programme-faculty-block > h3 {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 .85rem;
  font-size: 1.05rem;
}
.admin-programme-faculty-block > h3 span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.1rem;
  border-radius: 999px;
  background: var(--faculty-color, var(--primary, #1a3868));
  color: #fff;
  padding: .3rem .65rem;
  font-size: .82rem;
  font-weight: 800;
}
.admin-programme-faculty-block .programme-group {
  margin: 0;
  box-shadow: none;
  padding: 0;
  border: 0;
}

/* v53: stable programme PDF links */
.programme-title-actions {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-left: .65rem;
  vertical-align: middle;
}
.programme-pdf-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.85rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--primary) 22%, transparent);
  background: color-mix(in srgb, var(--secondary) 12%, white);
  color: var(--primary);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}
.programme-pdf-link:hover,
.programme-pdf-link:focus-visible {
  background: var(--secondary);
  color: white;
  outline: none;
}
@media (max-width: 720px) {
  .programme-title-actions {
    display: flex;
    margin-left: 0;
    margin-top: .45rem;
  }
}

/* v54 background sync controls */
.sync-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.danger-button{border-color:#c62828!important;color:#c62828!important;background:#fff!important}
.danger-button:hover:not(:disabled){background:#fff2f2!important}
.danger-button:disabled{opacity:.45;cursor:not-allowed}
.sync-progress li.stopped{border-left-color:#777;background:#f4f4f5}

/* v55 - PDF link only on programme detail */
.programme-title-actions{display:none!important}
.programme-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:clamp(1rem,2vw,1.5rem);align-items:stretch;margin-bottom:1.25rem}
.programme-hero-grid>.faculty-hero{margin:0;height:100%}
.programme-pdf-card{display:flex;align-items:center;gap:1rem;min-height:100%;padding:clamp(1.2rem,2vw,1.75rem);border-radius:var(--radius-lg,28px);background:#fff;border:1px solid rgba(26,56,104,.16);box-shadow:var(--shadow,0 12px 30px rgba(0,0,0,.08));text-decoration:none;color:#1a3868;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.programme-pdf-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(26,56,104,.15);border-color:#00adbd}
.programme-pdf-card.is-disabled{opacity:.55;pointer-events:none}
.programme-pdf-icon{display:grid;place-items:center;flex:0 0 68px;width:68px;height:68px;border-radius:20px;background:#1a3868;color:#fff;font-weight:800;letter-spacing:.04em;font-size:1rem}
.programme-pdf-card strong{display:block;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.25;color:#1a3868}
.programme-pdf-card small{display:block;margin-top:.35rem;font-size:.88rem;line-height:1.35;color:#5d6d85}
@media (max-width:780px){.programme-hero-grid{grid-template-columns:1fr}.programme-pdf-card{min-height:140px}.programme-pdf-icon{width:58px;height:58px;flex-basis:58px;border-radius:18px}}

/* v59 import activity */
.activity-panel{margin-top:1.5rem;border-top:1px solid var(--border,#e6e8ed);padding-top:1.25rem}
.sync-activity-list{display:grid;gap:.65rem;max-height:520px;overflow:auto;padding-right:.25rem}
.sync-activity-item{border:1px solid #e3e7ef;border-left:5px solid #8a94a6;background:#fff;border-radius:16px;padding:.8rem .9rem;box-shadow:0 6px 18px rgba(26,56,104,.05)}
.sync-activity-item.ok{border-left-color:#28b065}.sync-activity-item.error{border-left-color:#e6251e}.sync-activity-item.warning{border-left-color:#f26539}.sync-activity-item.running{border-left-color:#00adbd}
.sync-activity-head{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.sync-activity-head strong{color:#1a3868}.sync-activity-head small{color:#667085;margin-left:auto}.sync-activity-status{text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.05em;background:#f2f5f9;border-radius:999px;padding:.2rem .5rem;color:#1a3868}.sync-activity-meta{margin-top:.35rem;font-size:.85rem;color:#475467}.sync-activity-detail{margin-top:.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;white-space:normal;overflow-wrap:anywhere;color:#344054;background:#f8fafc;border-radius:10px;padding:.5rem}

/* v60: programme metadata below programme title */
.programme-facts{
  display:grid;
  gap:.45rem;
  margin:1rem 0 1.25rem;
  max-width:900px;
}
.programme-fact-row{
  display:grid;
  grid-template-columns:minmax(170px, 280px) 1fr;
  gap:.6rem;
  align-items:start;
  color:rgba(255,255,255,.92);
  line-height:1.45;
}
.programme-fact-row strong{
  font-weight:800;
  color:#fff;
}
.programme-fact-row span{
  min-width:0;
}
.programme-fact-row .teacher-chip{
  display:inline-flex;
  margin:.05rem .25rem .05rem 0;
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.32);
  color:#fff;
}
.programme-fact-row .teacher-chip:hover{
  background:#fff;
  color:#1a3868;
}
@media (max-width:720px){
  .programme-fact-row{grid-template-columns:1fr; gap:.15rem;}
}


/* v62: programme metadata is readable on the programme detail hero */
.programme-facts{
  background:#fff;
  border:1px solid rgba(26,56,104,.14);
  border-radius:22px;
  padding:1rem;
  color:#18181b!important;
}
.programme-fact-row{color:#18181b!important;}
.programme-fact-row strong{color:#1a3868!important;}
.programme-fact-row .teacher-chip{
  background:#f8fafc!important;
  border-color:#d8dee8!important;
  color:#1a3868!important;
}
.programme-fact-row .teacher-chip:hover{
  background:#eaf7f9!important;
  border-color:#00adbd!important;
}
.admin-only-detail{margin-top:1rem;}

/* v63: programme detail resource cards */
.programme-download-stack{display:grid;gap:1rem;align-self:stretch}
.programme-xml-card{border-color:rgba(0,173,189,.28)}
.programme-xml-card:hover{border-color:#00adbd}
.programme-xml-icon{background:#00adbd;color:#fff}
@media (max-width:780px){.programme-download-stack{grid-template-columns:1fr}}

/* v65: clearer admin sync action buttons */
.sync-actions{gap:1rem;align-items:stretch;margin-top:1rem}
.sync-actions .primary-button,
.sync-actions .secondary-button{min-height:48px;border-radius:16px;font-weight:800;box-shadow:0 10px 24px rgba(26,56,104,.10)}
#clear-cache-button{border:1px solid rgba(0,173,189,.40);background:rgba(0,173,189,.10);color:#1a3868}
#clear-cache-button:hover{background:rgba(0,173,189,.18);border-color:#00adbd;transform:translateY(-1px)}
#sync-stop-button{border:1px solid rgba(198,40,40,.35)!important;background:#fff5f5!important;color:#a30f0f!important}
#sync-stop-button:hover:not(:disabled){background:#ffe5e5!important;border-color:#c62828!important;transform:translateY(-1px)}
#sync-stop-button:disabled{opacity:.48;filter:saturate(.6);transform:none;box-shadow:none}
@media (max-width:720px){.sync-actions .primary-button,.sync-actions .secondary-button{width:100%;justify-content:center}}

/* v67: visual progress bar for background synchronisation */
.sync-progressbar-card{
  margin:.9rem 0 1rem;
  padding:1rem;
  border:1px solid var(--line,#e5e7eb);
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}
.sync-progressbar-card[hidden]{display:none!important}
.sync-progressbar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.65rem;
  color:#0f172a;
}
.sync-progressbar-top strong{font-weight:850;color:var(--brand,#1a3868)}
#sync-progressbar-percent{font-weight:900;color:var(--brand-secondary,#00adbd)}
.sync-progressbar{
  position:relative;
  height:14px;
  overflow:hidden;
  border-radius:999px;
  background:#e2e8f0;
}
.sync-progressbar span{
  position:absolute;
  inset:0 auto 0 0;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand,#1a3868),var(--brand-secondary,#00adbd));
  transition:width .35s ease;
}
.sync-progressbar-meta{
  margin-top:.55rem;
  color:#64748b;
  font-size:.92rem;
  font-weight:650;
}
.dashboard-card .sync-progressbar-card{background:#f8fafc}
.dashboard-card .sync-progressbar{background:#dbe3ee}
@media(max-width:640px){.sync-progressbar-top{align-items:flex-start;flex-direction:column;gap:.25rem}.sync-progressbar-card{padding:.85rem}}

/* v71: subject table filtering and sorting */
.subjects-table thead th{vertical-align:middle}
.subjects-table .table-sort-button{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;color:var(--brand);font:inherit;font-weight:850;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;padding:0}
.subjects-table .table-sort-button:hover span:first-child{text-decoration:underline}
.subjects-table .sort-icon{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#fff;border:1px solid color-mix(in srgb,var(--faculty-color) 20%,var(--line));font-size:.85rem;line-height:1;color:var(--faculty-color)}
.subjects-table .table-filter-row th{background:#fff;text-transform:none;letter-spacing:0;padding:.55rem .75rem;border-bottom:2px solid color-mix(in srgb,var(--faculty-color) 20%,var(--line))}
.subjects-table .table-filter{width:100%;min-width:90px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);padding:.55rem .65rem;font-size:.88rem;outline:none}
.subjects-table .table-filter:focus{border-color:var(--faculty-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--faculty-color) 14%,transparent)}
.table-filter-label{display:block}
.table-reset-button{white-space:nowrap}
.subjects-table tr[hidden]{display:none!important}

/* v77: reduce list/table typography below 1500px */
@media (max-width: 1500px) {
  .programmes-table,
  .subjects-table,
  .cards-list,
  .list-card,
  .sync-activity-list,
  .redirect-list,
  .dashboard-programme-list,
  .programme-admin-list,
  .teacher-visibility-table,
  .dashboard-card .table-wrap {
    font-size: calc(1rem - 2pt);
  }

  .programmes-table th,
  .programmes-table td,
  .subjects-table th,
  .subjects-table td {
    font-size: inherit;
  }

  .programmes-table th,
  .subjects-table th,
  .subjects-table .table-sort-button {
    font-size: calc(.85rem - 2pt);
  }

  .tag,
  .teacher-chip,
  .pill,
  .programme-faculty-badge,
  .sync-activity-meta,
  .sync-activity-detail {
    font-size: calc(.85rem - 2pt);
  }
}

/* v89: programme and subject lists use the active faculty color, not the corporate blue fallback */
.programme-group .table-wrap{
  border:1px solid color-mix(in srgb, var(--faculty-color) 42%, var(--line));
  border-top:5px solid var(--faculty-color);
  box-shadow:0 18px 45px color-mix(in srgb,var(--faculty-color) 20%,transparent);
  background:linear-gradient(180deg,#fff 0%,#fff 70%,color-mix(in srgb,var(--faculty-color) 5%,#fff) 100%);
}
.programme-group h2{
  color:var(--faculty-color);
  display:flex;
  align-items:center;
  gap:.65rem;
}
.programme-group h2::before{
  content:"";
  width:.75rem;
  height:.75rem;
  border-radius:999px;
  background:var(--faculty-color);
  box-shadow:0 0 0 .38rem color-mix(in srgb,var(--faculty-color) 16%,transparent);
}
.programmes-table th{
  color:#fff;
  background:linear-gradient(135deg,var(--faculty-color) 0%,color-mix(in srgb,var(--faculty-color) 74%,#fff) 100%);
  border-bottom:0;
}
.programmes-table tbody tr{
  transition:background .16s ease, box-shadow .16s ease;
}
.programmes-table tbody tr:hover{
  background:color-mix(in srgb,var(--faculty-color) 7%,#fff);
}
.programmes-table tbody td:first-child{
  font-weight:850;
  color:var(--faculty-color);
}
.programmes-table tbody td:nth-child(2) a{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--faculty-color);
}
.programmes-table tbody td:nth-child(2) a::before{
  content:"";
  width:.45rem;
  height:1.35rem;
  border-radius:999px;
  background:var(--faculty-color,var(--brand-secondary));
  flex:0 0 auto;
}
.programmes-table .tag,
.programmes-table .pill{
  border:1px solid color-mix(in srgb,var(--faculty-color) 24%,transparent);
  background:color-mix(in srgb,var(--faculty-color) 10%,#fff);
  color:var(--faculty-color);
}
@media(max-width:780px){
  .programme-group .table-wrap{border-top-width:4px;border-radius:20px}
  .programmes-table tbody td:nth-child(2) a::before{height:1.1rem}
}

/* v79: responsive lists/tables without horizontal scrollbar */
.table-wrap{
  overflow-x:visible!important;
  max-width:100%;
}
.programmes-table,
.subjects-table{
  width:100%;
  min-width:0!important;
  table-layout:fixed;
}
.programmes-table th,
.programmes-table td,
.subjects-table th,
.subjects-table td{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.programmes-table th:nth-child(1),
.programmes-table td:nth-child(1){width:12%;}
.programmes-table th:nth-child(2),
.programmes-table td:nth-child(2){width:34%;}
.programmes-table th:nth-child(3),
.programmes-table td:nth-child(3){width:20%;}
.programmes-table th:nth-child(4),
.programmes-table td:nth-child(4){width:14%;}
.programmes-table th:nth-child(5),
.programmes-table td:nth-child(5){width:12%;}
.programmes-table th:nth-child(6),
.programmes-table td:nth-child(6){width:28%;}
.subjects-table th:nth-child(1),.subjects-table td:nth-child(1){width:10%;}
.subjects-table th:nth-child(2),.subjects-table td:nth-child(2){width:22%;min-width:0!important;}
.subjects-table th:nth-child(3),.subjects-table td:nth-child(3){width:7%;}
.subjects-table th:nth-child(4),.subjects-table td:nth-child(4){width:9%;}
.subjects-table th:nth-child(5),.subjects-table td:nth-child(5){width:10%;}
.subjects-table th:nth-child(6),.subjects-table td:nth-child(6){width:8%;}
.subjects-table th:nth-child(7),.subjects-table td:nth-child(7){width:8%;}
.subjects-table th:nth-child(8),.subjects-table td:nth-child(8){width:10%;}
.subjects-table th:nth-child(9),.subjects-table td:nth-child(9){width:16%;min-width:0!important;}
.subjects-table th:nth-child(10),.subjects-table td:nth-child(10){width:13%;}
.subjects-table .teacher-list,
.programme-admin-actions{
  min-width:0;
  max-width:100%;
}
.subjects-table .teacher-chip{
  max-width:100%;
}

@media (max-width: 1280px){
  .programmes-table th,.programmes-table td,
  .subjects-table th,.subjects-table td{padding:.7rem .55rem;}
  .subjects-table .table-filter{min-width:0;padding:.45rem .5rem;}
  .subjects-table .table-sort-button{gap:.25rem;}
  .subjects-table .sort-icon{width:1.1rem;height:1.1rem;font-size:.72rem;}
}

@media (max-width: 980px){
  .programmes-table,
  .programmes-table thead,
  .programmes-table tbody,
  .programmes-table tr,
  .programmes-table th,
  .programmes-table td,
  .subjects-table,
  .subjects-table thead,
  .subjects-table tbody,
  .subjects-table tr,
  .subjects-table th,
  .subjects-table td{
    display:block;
    width:100%!important;
    min-width:0!important;
  }
  .programmes-table thead,
  .subjects-table thead{display:none;}
  .programmes-table tbody,
  .subjects-table tbody{display:grid;gap:.75rem;padding:.75rem;}
  .programmes-table tr,
  .subjects-table tr{
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    overflow:hidden;
  }
  .programmes-table td,
  .subjects-table td{
    display:grid;
    grid-template-columns:minmax(8rem,36%) minmax(0,1fr);
    gap:.75rem;
    align-items:start;
    border-bottom:1px solid var(--line);
    padding:.75rem .85rem;
  }
  .programmes-table td:last-child,
  .subjects-table td:last-child{border-bottom:0;}
  .programmes-table td::before,
  .subjects-table td::before{
    font-weight:850;
    color:var(--brand);
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  .programmes-table td:nth-child(1)::before{content:"Skratka";}
  .programmes-table td:nth-child(2)::before{content:"Program";}
  .programmes-table td:nth-child(3)::before{content:"Typ štúdia";}
  .programmes-table td:nth-child(4)::before{content:"Forma";}
  .programmes-table td:nth-child(5)::before{content:"Jazyky štúdia";}
  .programmes-table td:nth-child(6)::before{content:"Admin";}
  .subjects-table td:nth-child(1)::before{content:"Skratka";}
  .subjects-table td:nth-child(2)::before{content:"Názov";}
  .subjects-table td:nth-child(3)::before{content:"Kredit";}
  .subjects-table td:nth-child(4)::before{content:"Rozsah";}
  .subjects-table td:nth-child(5)::before{content:"Ukonč.";}
  .subjects-table td:nth-child(6)::before{content:"Roč.";}
  .subjects-table td:nth-child(7)::before{content:"Sem.";}
  .subjects-table td:nth-child(8)::before{content:"PP";}
  .subjects-table td:nth-child(9)::before{content:"Vyučujúci";}
  .subjects-table td:nth-child(10)::before{content:"Admin";}
  .programme-admin-actions{justify-content:flex-start;}
}

@media (max-width: 560px){
  .programmes-table tbody,
  .subjects-table tbody{padding:.5rem;gap:.6rem;}
  .programmes-table td,
  .subjects-table td{grid-template-columns:1fr;gap:.25rem;padding:.7rem;}
}

/* v80: restore neutral subject-list table header */
.subjects-table thead th{
  background:#f8fafc!important;
  color:#475569!important;
  border-bottom:1px solid var(--line)!important;
}
.subjects-table .table-sort-button{
  color:#475569!important;
}
.subjects-table .sort-icon{
  background:#fff!important;
  border-color:var(--line)!important;
  color:#64748b!important;
}
.subjects-table .table-filter-row th{
  background:#fff!important;
  border-bottom:1px solid var(--line)!important;
}
.subjects-table .table-filter:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 4px rgba(26,56,104,.12)!important;
}

/* v81: compact list typography; keep item names readable */
.programmes-table th,
.subjects-table th,
.programmes-table td,
.subjects-table td,
.dashboard-card .list-card,
.sync-activity-list li,
.redirect-list li,
.teacher-visibility-table th,
.teacher-visibility-table td {
  font-size: calc(1rem - 2pt);
}

.programmes-table th,
.subjects-table th,
.subjects-table .table-sort-button,
.programmes-table td::before,
.subjects-table td::before {
  font-size: calc(.85rem - 2pt) !important;
}

.programmes-table td:nth-child(2),
.programmes-table td:nth-child(2) a,
.subjects-table td:nth-child(2),
.subjects-table td:nth-child(2) a {
  font-size: 1rem;
}

.programmes-table .tag,
.programmes-table .pill,
.subjects-table .tag,
.subjects-table .pill,
.subjects-table .teacher-chip,
.programme-faculty-badge,
.programme-admin-actions .mini-button,
.subject-admin-actions .mini-button {
  font-size: calc(.85rem - 2pt);
}

@media (max-width: 1500px) {
  .programmes-table td:nth-child(2),
  .programmes-table td:nth-child(2) a,
  .subjects-table td:nth-child(2),
  .subjects-table td:nth-child(2) a {
    font-size: 1rem;
  }
}


.subject-legend{
  margin:10px 0 0;
  color:#4b5563;
  font-size:0.875rem;
}
.subject-legend strong{
  color:#111827;
}

/* v86: restore neutral programme-list table header */
.programmes-table thead th{
  color:#1a3868!important;
  background:color-mix(in srgb,var(--faculty-color) 8%,#f8fafc)!important;
  border-bottom:1px solid var(--line)!important;
}

/* v87: faculty-colored headers and borders for programme and subject lists */
.table-wrap,
.subjects-list,
.programmes-list,
.study-plan-type,
.study-plan-block {
  border-color: color-mix(in srgb, var(--faculty-color, #1a3868) 45%, var(--line, #e4e4e7)) !important;
}

.table-wrap {
  box-shadow: 0 12px 34px color-mix(in srgb, var(--faculty-color, #1a3868) 10%, transparent);
}

.programmes-table thead th,
.subjects-table thead th {
  background: var(--faculty-color, #1a3868) !important;
  color: #fff !important;
  border-bottom-color: var(--faculty-color, #1a3868) !important;
}

.programmes-table thead th a,
.subjects-table thead th a,
.programmes-table thead th button,
.subjects-table thead th button,
.subjects-table .table-sort-button {
  color: #fff !important;
}

.subjects-table .sort-icon {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.45) !important;
  color: #fff !important;
}

.subjects-table .table-filter-row th {
  background: color-mix(in srgb, var(--faculty-color, #1a3868) 9%, #fff) !important;
  color: var(--text, #18181b) !important;
  border-bottom: 2px solid color-mix(in srgb, var(--faculty-color, #1a3868) 36%, var(--line, #e4e4e7)) !important;
}

.programmes-table tbody tr:hover,
.subjects-table tbody tr:hover {
  background: color-mix(in srgb, var(--faculty-color, #1a3868) 5%, #fff);
}

.programme-group h2,
.study-plan-type h4,
.study-plan-block h5 {
  border-color: var(--faculty-color, #1a3868);
}

@media (max-width: 900px) {
  .programmes-table,
  .subjects-table {
    border-color: var(--faculty-color, #1a3868) !important;
  }
  .programmes-table tr,
  .subjects-table tr {
    border-left: 4px solid var(--faculty-color, #1a3868);
  }
}


/* v88: explicit faculty-colored table headers, borders and shadows */
.faculty-table-wrap{
  border:2px solid var(--faculty-color,#1a3868)!important;
  border-radius:24px!important;
  background:#fff;
  box-shadow:0 18px 42px color-mix(in srgb,var(--faculty-color,#1a3868) 28%,transparent)!important;
  overflow:hidden!important;
}
.faculty-table-wrap .programmes-table thead tr:first-child th,
.faculty-table-wrap .subjects-table thead tr:first-child th{
  background:linear-gradient(180deg,color-mix(in srgb,var(--faculty-color,#1a3868) 92%,#fff),var(--faculty-color,#1a3868))!important;
  color:#fff!important;
  border-bottom:0!important;
}
.faculty-table-wrap .programmes-table thead tr:first-child th a,
.faculty-table-wrap .subjects-table thead tr:first-child th a,
.faculty-table-wrap .subjects-table thead tr:first-child th button,
.faculty-table-wrap .subjects-table .table-sort-button{
  color:#fff!important;
}
.faculty-table-wrap .subjects-table .sort-icon{
  background:rgba(255,255,255,.22)!important;
  border-color:rgba(255,255,255,.5)!important;
  color:#fff!important;
}
.faculty-table-wrap .subjects-table .table-filter-row th{
  background:color-mix(in srgb,var(--faculty-color,#1a3868) 11%,#fff)!important;
  border-bottom:2px solid color-mix(in srgb,var(--faculty-color,#1a3868) 38%,#e4e4e7)!important;
}
.faculty-table-wrap tbody tr:hover{
  background:color-mix(in srgb,var(--faculty-color,#1a3868) 6%,#fff)!important;
}
@media(max-width:900px){
  .faculty-table-wrap .programmes-table tr,
  .faculty-table-wrap .subjects-table tr{
    border-left:5px solid var(--faculty-color,#1a3868)!important;
  }
}

/* v91: faculty color only in table header rows, not in list names/headings/rows */
.programme-group h2,
.study-plan-part h3,
.study-plan-type h4,
.study-plan-block h5{
  border-left:0!important;
  border-color:var(--line,#e4e4e7)!important;
  color:var(--text,#18181b)!important;
}
.study-plan-type h4 span{
  background:#f4f4f5!important;
  color:#18181b!important;
  box-shadow:none!important;
}
.faculty-table-wrap,
.table-wrap,
.subjects-list,
.programmes-list,
.study-plan-type,
.study-plan-block{
  border-color:var(--line,#e4e4e7)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.06)!important;
}
.faculty-table-wrap .programmes-table thead tr:first-child th,
.faculty-table-wrap .subjects-table thead tr:first-child th,
.programmes-table thead tr:first-child th,
.subjects-table thead tr:first-child th{
  background:var(--faculty-color,#1a3868)!important;
  color:#fff!important;
  border-bottom:0!important;
}
.faculty-table-wrap .subjects-table .table-filter-row th,
.subjects-table .table-filter-row th{
  background:#fff!important;
  color:var(--text,#18181b)!important;
  border-bottom:1px solid var(--line,#e4e4e7)!important;
}
.programmes-table tbody tr:hover,
.subjects-table tbody tr:hover,
.faculty-table-wrap tbody tr:hover{
  background:#f8fafc!important;
}
@media(max-width:900px){
  .faculty-table-wrap .programmes-table tr,
  .faculty-table-wrap .subjects-table tr,
  .programmes-table tr,
  .subjects-table tr{
    border-left:0!important;
  }
}

/* v92: keep programme list labels/titles black; faculty color only in table headers */
.programme-group h2,
.admin-programme-level-head h2,
.admin-programme-faculty-block > h3,
.programmes-table tbody td:first-child,
.programmes-table tbody td:nth-child(2),
.programmes-table tbody td:nth-child(2) a,
.programme-title-cell a{
  color:#18181b!important;
}
.programme-group h2::before,
.admin-programme-level-head h2::before,
.admin-programme-faculty-block > h3::before,
.programmes-table tbody td:nth-child(2) a::before,
.programme-title-cell a::before{
  display:none!important;
  content:none!important;
}
.programmes-table tbody td:first-child strong,
.programmes-table tbody td:first-child a,
.programmes-table tbody td:nth-child(2) strong{
  color:#18181b!important;
}
.programmes-table .tag,
.programmes-table .pill{
  color:#18181b!important;
  background:#f4f4f5!important;
  border-color:#e4e4e7!important;
}
.programmes-table tbody tr:hover,
.faculty-table-wrap tbody tr:hover{
  background:#f8fafc!important;
}


.subject-info-sheet-sections{margin-top:1.5rem;}
.subject-info-section-list{display:grid;gap:1rem;}
.subject-info-section{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:1rem 1.1rem;box-shadow:0 10px 28px rgba(15,23,42,.05);}
.subject-info-section h3{margin:0 0 .55rem;font-size:1rem;color:#111827;}
.subject-info-section .rich-text{font-size:.95rem;line-height:1.65;color:#1f2937;white-space:normal;overflow-wrap:anywhere;}
@media (max-width:1500px){.subject-info-section h3{font-size:calc(1rem - 2pt)}.subject-info-section .rich-text{font-size:calc(.95rem - 2pt)}}
.footer-version{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.85rem;font-weight:700;padding:.55rem .8rem;min-height:40px}


/* v99: detailed sync progress */
.sync-progress li{padding:14px 16px;}
.sync-step-main{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.sync-step-action,.sync-step-summary,.sync-step-meta,.sync-step-warnings{margin-top:8px;font-size:0.875rem;line-height:1.45;color:#475569;}
.sync-step-action{font-weight:600;color:#1a3868;}
.sync-step-summary{color:#0f172a;}
.sync-step-meta{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:0.78rem;color:#64748b;}
.sync-step-warnings{color:#92400e;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:8px 10px;}
.sync-step-debug{margin-top:8px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:8px 10px;font-size:0.82rem;}
.sync-step-debug summary{cursor:pointer;font-weight:700;color:#1a3868;}
.sync-step-debug ul{margin:8px 0 0 18px;padding:0;}
.sync-step-debug code{white-space:normal;overflow-wrap:anywhere;}
.sync-progress li.running{border-left:5px solid #00adbd;background:linear-gradient(90deg, rgba(0,173,189,.10), rgba(255,255,255,0));}
.sync-progress li.stopping,.sync-progress li.stopped{border-left:5px solid #f59e0b;background:#fffbeb;}

/* v100 sync current file */
.sync-step-current-file{margin:.45rem 0 0;padding:.55rem .7rem;border-radius:12px;background:#f8fafc;border:1px solid #e5e7eb;font-size:.86rem;color:#111827}.sync-step-current-file code{font-weight:700}.sync-step-current-file small{display:block;margin-top:.2rem;color:#64748b;word-break:break-all}

/* v105: programme detail header cleanup */
.programme-hero-grid .programme-hero-card{
  display:block;
}
.programme-hero-grid .programme-hero-card > div{
  width:100%;
}
.programme-hero-grid .programme-hero-card h1{
  font-size:clamp(2.6rem,5vw,5rem);
  line-height:1;
  letter-spacing:-.055em;
  margin:0 0 1rem;
  max-width:100%;
}
.programme-hero-grid .programme-facts{
  width:100%;
  max-width:none!important;
  box-sizing:border-box;
}
.programme-hero-grid .programme-fact-row{
  grid-template-columns:minmax(190px,320px) minmax(0,1fr);
}
@media(max-width:720px){
  .programme-hero-grid .programme-hero-card h1{font-size:clamp(2.1rem,10vw,3.4rem)}
  .programme-hero-grid .programme-fact-row{grid-template-columns:1fr}
}

/* v106: unified hero title sizing, page-level PP legend, programme description card */
.section .faculty-hero h1,
.programme-hero-grid .programme-hero-card h1{
  font-size:clamp(2.6rem,5vw,5rem)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  margin:0 0 1rem!important;
  max-width:100%!important;
}
.subject-legend{
  margin:1.25rem 0 0!important;
  padding:.75rem 1rem;
  border:1px solid var(--line,#e4e4e7);
  border-radius:16px;
  background:#fff;
  color:#4b5563;
  font-size:.875rem;
}
.programme-description-card{border-color:rgba(26,56,104,.20)}
.programme-description-card:hover{border-color:#1a3868}
.programme-description-icon{background:#1a3868;color:#fff;font-size:.82rem;letter-spacing:.02em}
@media(max-width:720px){
  .section .faculty-hero h1,
  .programme-hero-grid .programme-hero-card h1{font-size:clamp(2.1rem,10vw,3.4rem)!important}
}

/* v107: simplified homepage and square faculty cards */
.home-hero{padding-bottom:clamp(1.5rem,3vw,3rem)}
.home-hero .hero-inner{display:grid;justify-items:start;gap:1.35rem}
.home-hero h1{max-width:1120px}
.home-hero .search-card{margin-top:.25rem;width:min(100%,860px)}
.home-faculties{padding-top:clamp(1rem,2vw,2rem)}
.faculty-grid-home{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.faculty-grid-home .faculty-card{aspect-ratio:1/1;min-height:0;height:auto;display:flex;align-items:center;justify-content:center;text-align:center;padding:clamp(1rem,2vw,1.6rem)}
.faculty-grid-home .faculty-card .faculty-logo{height:auto;min-height:0;margin:0 0 1rem;display:flex;align-items:center;justify-content:center;background:transparent!important;border-radius:0;overflow:visible}
.faculty-grid-home .faculty-card .faculty-logo img{max-height:50px!important;width:auto!important;max-width:min(100%,240px);object-fit:contain;display:block;margin:0 auto}
.faculty-grid-home .faculty-card h2,.faculty-grid-home .faculty-card h3{margin:0;width:100%;color:#fff;font-size:clamp(1rem,1.45vw,1.32rem);line-height:1.18}
@media(max-width:1180px){.faculty-grid-home{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.faculty-grid-home{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.faculty-grid-home{grid-template-columns:1fr}.faculty-grid-home .faculty-card{aspect-ratio:1.15/1}}

/* v111: Flag Icons library in language switcher */
.language-switcher-wrap{position:relative;display:inline-flex;align-items:center}
.language-flag{position:absolute;left:.72rem;top:50%;transform:translateY(-50%);width:24px!important;height:18px!important;border-radius:3px;box-shadow:0 0 0 1px rgba(15,23,42,.18);z-index:1;pointer-events:none;background-size:cover}
.language-switcher-wrap .language-switcher{padding-left:2.7rem!important;min-width:92px}
@media(max-width:900px){.language-switcher-wrap .language-switcher{min-width:96px}}

.faculty-grid-home .faculty-card{
  aspect-ratio:1.55/1!important;
  min-height:190px;
}
@media(max-width:1180px){.faculty-grid-home .faculty-card{aspect-ratio:1.45/1!important}}
@media(max-width:820px){.faculty-grid-home .faculty-card{aspect-ratio:1.35/1!important}}
@media(max-width:520px){.faculty-grid-home .faculty-card{aspect-ratio:1.65/1!important;min-height:170px}}

/* v110: center homepage faculty tiles, including the shorter second row */
.faculty-grid-home{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:1rem;
}
.faculty-grid-home .faculty-card{
  flex:0 1 calc((100% - 3rem) / 4);
  max-width:calc((100% - 3rem) / 4);
}
@media(max-width:1180px){
  .faculty-grid-home .faculty-card{
    flex-basis:calc((100% - 2rem) / 3);
    max-width:calc((100% - 2rem) / 3);
  }
}
@media(max-width:820px){
  .faculty-grid-home .faculty-card{
    flex-basis:calc((100% - 1rem) / 2);
    max-width:calc((100% - 1rem) / 2);
  }
}
@media(max-width:520px){
  .faculty-grid-home .faculty-card{
    flex-basis:100%;
    max-width:100%;
  }
}


/* v118: homepage search-only hero */
.home-hero{
  padding-top:clamp(3rem,8vw,5rem)!important;
  padding-bottom:clamp(2rem,4vw,2rem)!important;
}
.home-hero .hero-inner{
  justify-items:center!important;
  text-align:center;
}
.home-hero .home-search-card,
.home-hero .search-card{
  width:min(100%,1040px)!important;
  max-width:1040px!important;
  margin:0 auto!important;
  padding:.75rem!important;
  box-shadow:0 24px 70px rgba(26,56,104,.14)!important;
}
.home-hero .search-card input{
  min-height:64px!important;
  font-size:clamp(1.15rem,1.6vw,1.45rem)!important;
  padding:0 1.25rem!important;
}
.home-hero .search-card .primary-button{
  min-height:64px!important;
  padding:0 1.6rem!important;
  font-size:1rem!important;
}
.home-hero .search-results{
  width:min(100%,1040px)!important;
  max-width:1040px!important;
  margin:.9rem auto 0!important;
  text-align:left;
}
@media(max-width:720px){
  .home-hero .search-card{border-radius:28px!important}
  .home-hero .search-card input{min-height:54px!important;font-size:1.05rem!important}
  .home-hero .search-card .primary-button{min-height:52px!important;width:100%}
}

/* v121: faculty detail refinements */
.faculty-hero .faculty-page-title{
  color:var(--faculty-color)!important;
}

/* v122: faculty subpage SVG logo fixed height */
.faculty-hero img,
.faculty-detail-logo{
  height:150px!important;
  max-height:150px!important;
  width:auto!important;
  max-width:min(100%,360px)!important;
  object-fit:contain;
}
@media(max-width:780px){
  .faculty-hero img,
  .faculty-detail-logo{
    height:110px!important;
    max-height:110px!important;
    max-width:100%!important;
  }
}


/* v123: faculty logo variants */
.faculty-card .faculty-logo img{filter:none!important;}
.faculty-hero img{filter:none!important;}

/* v124: faculty subpage logo height */
.faculty-hero img,
.faculty-detail-logo{
  height:75px!important;
  max-height:75px!important;
}
@media(max-width:780px){
  .faculty-hero img,
  .faculty-detail-logo{
    height:75px!important;
    max-height:75px!important;
  }
}

/* v133: compact subject-list metadata columns */
.subjects-table-compact{
  table-layout:fixed;
}
.subjects-table-compact .subject-col-shortcut{width:8.5rem;}
.subjects-table-compact .subject-col-name{width:auto;}
.subjects-table-compact .subject-col-credits{width:4.7rem;}
.subjects-table-compact .subject-col-range{width:5.8rem;}
.subjects-table-compact .subject-col-completion{width:6.2rem;}
.subjects-table-compact .subject-col-year{width:4.8rem;}
.subjects-table-compact .subject-col-semester{width:5.3rem;}
.subjects-table-compact .subject-col-profile{width:3.4rem;}
.subjects-table-compact .subject-col-teachers{width:15rem;}
.subjects-table-compact .subject-col-admin{width:9rem;}
.subjects-table-compact th:nth-child(3),
.subjects-table-compact td:nth-child(3),
.subjects-table-compact th:nth-child(4),
.subjects-table-compact td:nth-child(4),
.subjects-table-compact th:nth-child(5),
.subjects-table-compact td:nth-child(5),
.subjects-table-compact th:nth-child(6),
.subjects-table-compact td:nth-child(6),
.subjects-table-compact th:nth-child(7),
.subjects-table-compact td:nth-child(7),
.subjects-table-compact th:nth-child(8),
.subjects-table-compact td:nth-child(8){
  width:auto!important;
  white-space:nowrap;
  text-align:center;
  padding-left:.45rem;
  padding-right:.45rem;
}
.subjects-table-compact th:nth-child(3) .table-sort-button,
.subjects-table-compact th:nth-child(5) .table-sort-button,
.subjects-table-compact th:nth-child(6) .table-sort-button,
.subjects-table-compact th:nth-child(7) .table-sort-button{
  justify-content:center;
  gap:.25rem;
}
.subjects-table-compact th:nth-child(2),
.subjects-table-compact td:nth-child(2){
  width:auto!important;
  min-width:0!important;
}
.subjects-table-compact th:nth-child(9),
.subjects-table-compact td:nth-child(9){
  width:auto!important;
  min-width:0!important;
}
@media(max-width:900px){
  .subjects-table-compact colgroup{display:none;}
  .subjects-table-compact th,
  .subjects-table-compact td{
    white-space:normal;
    text-align:left;
  }
}
.dashboard-form textarea{width:100%;min-height:150px;border:1px solid var(--field-border);border-radius:16px;background-color:var(--field-bg);padding:.75rem .9rem;color:#0f172a;outline:0;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem;line-height:1.45}.dashboard-form textarea:focus{border-color:var(--brand-secondary,#00adbd);box-shadow:0 0 0 4px var(--field-focus)}.analytics-form{grid-template-columns:1fr}.analytics-form .checkbox-label{display:flex;align-items:center;gap:.55rem}.analytics-form .checkbox-label input{min-height:auto;width:18px;height:18px}
.employee-hero .eyebrow,.employee-hero .lead{display:none!important}.employee-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .8rem;margin:1rem 0 0;color:#475569;line-height:1.55}.employee-hero-meta span{display:inline-flex;align-items:center;gap:.25rem}.employee-hero-meta span+span:before{content:'·';margin-right:.8rem;color:#94a3b8}.employee-hero-meta a{color:var(--brand);font-weight:750;text-decoration:none}.employee-hero-meta a:hover{text-decoration:underline}@media(max-width:700px){.employee-hero-meta{display:grid;gap:.35rem}.employee-hero-meta span+span:before{content:none;margin:0}}

/* v138: employee profile sections from popisOsoby */
.employee-profile-section{margin-top:1.5rem;}
.employee-profile-content{display:grid;gap:1rem;}
.employee-profile-content dl,
.employee-profile-group dl{margin:0;display:grid;gap:.7rem;}
.employee-profile-row{display:grid;grid-template-columns:minmax(180px,30%) 1fr;gap:.75rem 1.25rem;padding:.8rem 0;border-bottom:1px solid rgba(15,23,42,.08);}
.employee-profile-row dt{font-weight:800;color:#334155;}
.employee-profile-row dd{margin:0;color:#0f172a;line-height:1.65;}
.employee-profile-row dd p{margin:.2rem 0 .65rem;}
.employee-profile-text{line-height:1.7;padding:.8rem 0;border-bottom:1px solid rgba(15,23,42,.08);}
.employee-profile-subtitle{font-size:1rem;margin:1rem 0 .25rem;color:#0f172a;}
.employee-profile-groups{display:grid;gap:.9rem;}
.employee-profile-group{border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:.95rem 1rem;background:rgba(255,255,255,.72);}
@media(max-width:760px){.employee-profile-row{grid-template-columns:1fr;gap:.35rem}.employee-profile-group{padding:.85rem}}

/* v139: Employee profile visibility controls */
.employee-visibility-form details{border:1px solid rgba(26,56,104,.14);border-radius:14px;padding:12px 14px;background:#fff;margin:10px 0}
.employee-visibility-form summary{cursor:pointer;font-weight:700;color:#1a3868}
.employee-visibility-list{display:grid;gap:8px;margin-top:12px;max-height:360px;overflow:auto;padding-right:4px}
.employee-visibility-row{align-items:flex-start;gap:10px;padding:8px 10px;border:1px solid rgba(26,56,104,.10);border-radius:10px;background:#fafcff}
.employee-visibility-row span{font-weight:600}
.employee-visibility-row small{display:block;color:#667085;margin-top:2px;line-height:1.35}

/* v147: employee profile section cards and compact grouped content */
.employee-profile-section{
  margin-top:1.5rem;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.94));
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.employee-profile-section h2{margin-bottom:1rem;}
.employee-profile-simple-list{display:grid;gap:.9rem;}
.employee-profile-simple-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  padding:1rem 1.1rem;
  background:rgba(255,255,255,.82);
  line-height:1.65;
}
.employee-profile-simple-card p{margin:.12rem 0;color:#0f172a;}
.employee-profile-simple-card p:first-child{font-weight:800;color:#0f172a;}
.employee-profile-numbered-list{
  margin:.25rem 0 0;
  padding-left:1.45rem;
  display:grid;
  gap:.9rem;
  line-height:1.7;
}
.employee-profile-numbered-list li{
  padding:.95rem 1rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:rgba(255,255,255,.82);
}
.employee-profile-numbered-list li::marker{font-weight:800;color:var(--faculty-color,#0f172a);}
@media(max-width:760px){
  .employee-profile-simple-card,.employee-profile-numbered-list li{padding:.85rem .9rem;border-radius:16px;}
}

/* v148: compact education profile formatting */
.employee-profile-education-list{display:grid;gap:1rem;}
.employee-profile-education-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  padding:1rem 1.1rem;
  background:rgba(255,255,255,.82);
  line-height:1.65;
}
.employee-profile-education-card h3{margin:0 0 .45rem;font-size:1rem;color:#0f172a;}
.employee-profile-education-card p{margin:0;color:#0f172a;}
.employee-profile-education-card strong{font-weight:800;color:#334155;}
@media(max-width:760px){.employee-profile-education-card{padding:.85rem .9rem;border-radius:16px;}}

/* v150: cleaner employee profile rendering, hide empty fragments and refine cards */
.employee-profile-section{
  padding:1.35rem;
  border-radius:24px;
}
.employee-profile-section h2{
  margin:0 0 1.05rem;
  font-size:clamp(1.25rem,2vw,1.65rem);
  letter-spacing:-.02em;
}
.employee-profile-content:empty{display:none;}
.employee-profile-row:empty,
.employee-profile-text:empty,
.employee-profile-group:empty{display:none!important;}
.employee-profile-simple-list,
.employee-profile-education-list{gap:.85rem;}
.employee-profile-simple-card,
.employee-profile-education-card,
.employee-profile-numbered-list li{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86));
  border-color:rgba(15,23,42,.09);
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.employee-profile-simple-card{
  position:relative;
  padding:1.05rem 1.15rem 1.05rem 1.35rem;
}
.employee-profile-simple-card:before{
  content:'';
  position:absolute;
  left:.75rem;
  top:1.05rem;
  bottom:1.05rem;
  width:3px;
  border-radius:99px;
  background:var(--faculty-color,#1a3868);
  opacity:.75;
}
.employee-profile-simple-title{font-weight:850;color:#0f172a;margin:0 0 .18rem!important;}
.employee-profile-simple-line{color:#475569;margin:.08rem 0!important;}
.employee-profile-education-card h3{
  font-size:1.05rem;
  letter-spacing:-.01em;
}
.employee-profile-education-card p{line-height:1.65;}
.employee-profile-numbered-list{counter-reset:item;list-style-position:outside;}
.employee-profile-numbered-list li{padding:1rem 1.1rem;}
@media(max-width:760px){
  .employee-profile-section{padding:1rem;border-radius:20px;}
}


/* v152: cleaner employee profile internals without bordered simple cards */
.employee-profile-content{gap:1rem;}
.employee-profile-simple-card,
.employee-profile-education-card,
.employee-profile-group,
.employee-profile-numbered-list li{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.employee-profile-simple-card,
.employee-profile-education-card{
  padding:.25rem 0 .25rem 1rem;
  border-radius:0;
}
.employee-profile-simple-card:before{
  left:0;
  top:.35rem;
  bottom:.35rem;
  width:3px;
  opacity:.85;
}
.employee-profile-education-card{
  border-left:3px solid var(--faculty-color,#1a3868)!important;
}
.employee-profile-education-card h3{margin-bottom:.3rem;}
.employee-profile-row{border-bottom:0;padding:.35rem 0;}
.employee-profile-text{border-bottom:0;padding:.35rem 0;}
.employee-profile-groups{gap:1rem;}
.employee-profile-group{padding:.25rem 0 .25rem 1rem;border-left:3px solid var(--faculty-color,#1a3868)!important;border-radius:0;}
.employee-profile-accent-list{display:grid;gap:1rem;margin:.25rem 0 0;}
.employee-profile-accent-item{
  padding:.1rem 0 .1rem 1rem;
  border-left:3px solid var(--faculty-color,#1a3868);
  color:#0f172a;
  line-height:1.7;
}
.employee-profile-numbered-list{list-style:none;padding-left:0;}
.employee-profile-numbered-list li{padding:.1rem 0 .1rem 1rem;border-left:3px solid var(--faculty-color,#1a3868)!important;border-radius:0;}
.employee-profile-numbered-list li::marker{content:'';}
@media(max-width:760px){
  .employee-profile-simple-card,.employee-profile-education-card,.employee-profile-accent-item{padding-left:.85rem;}
}


/* v153: faculty listing page uses the same 4 + 3 responsive layout as homepage */
.faculty-grid-faculties-page{
  margin-top:1.25rem;
}
.faculty-grid-faculties-page .faculty-card{
  text-decoration:none;
}

/* v155: compact employee pedagogical and creative overview metrics */
.employee-profile-metric-block{display:grid;gap:.7rem;margin:.15rem 0 0;}
.employee-profile-metric-block h3{margin:0 0 .15rem;font-size:1.05rem;color:#0f172a;letter-spacing:-.01em;}
.employee-profile-metric-row{padding:.15rem 0 .15rem 1rem;border-left:3px solid var(--faculty-color,#1a3868);line-height:1.65;color:#0f172a;}
.employee-profile-metric-row strong{font-weight:850;color:#0f172a;}
.employee-profile-metric-row span{color:#334155;}
@media(max-width:760px){.employee-profile-metric-row{padding-left:.85rem;}}

/* v158: compact homepage search spacing */
.home-hero .home-search-card,
.home-hero .search-card{
  padding:.42rem!important;
}
.home-hero .search-card input{
  min-height:56px!important;
  padding:0 1rem!important;
}
.home-hero .search-card .primary-button{
  min-height:56px!important;
  padding:0 1.25rem!important;
}
@media(max-width:720px){
  .home-hero .search-card{padding:.38rem!important}
  .home-hero .search-card input{min-height:48px!important;padding:0 .85rem!important}
  .home-hero .search-card .primary-button{min-height:48px!important}
}

/* v160: extra compact homepage search spacing */
.home-hero .home-search-card,
.home-hero .search-card{
  padding:.24rem!important;
}
.home-hero .search-card input{
  min-height:50px!important;
  padding:0 .85rem!important;
}
.home-hero .search-card .primary-button{
  min-height:50px!important;
  padding:0 1rem!important;
}
@media(max-width:720px){
  .home-hero .search-card{padding:.2rem!important}
  .home-hero .search-card input{min-height:44px!important;padding:0 .7rem!important}
  .home-hero .search-card .primary-button{min-height:44px!important;padding:0 .9rem!important}
}


/* v161: requested homepage hero spacing */
.home-hero {
  padding-top: clamp(3rem, 8vw, 5rem) !important;
  padding-bottom: clamp(2rem, 4vw, 2rem) !important;
}

/* v162: accessibility appearance controls */
:root{
  --user-font-scale:1;
  --accessibility-control-bg:#fff;
  --accessibility-control-text:#18181b;
  --accessibility-control-border:#d4d4d8;
}
html{font-size:calc(100% * var(--user-font-scale,1));}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0f172a;
  --panel:#111827;
  --text:#f8fafc;
  --muted:#cbd5e1;
  --line:#334155;
  --soft:#1e293b;
  --brand:#7dd3fc;
  --brand-secondary:#22d3ee;
  --focus:#67e8f9;
  --shadow:0 20px 60px rgba(0,0,0,.42);
  --field-bg:#0f172a;
  --field-border:#475569;
  --accessibility-control-bg:#111827;
  --accessibility-control-text:#f8fafc;
  --accessibility-control-border:#475569;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .hero,
html[data-theme="dark"] .section{background:var(--bg);color:var(--text);}
html[data-theme="dark"] .site-header{background:rgba(15,23,42,.9);border-bottom-color:var(--line);}
html[data-theme="dark"] .site-footer{background:#0b1120;border-top-color:var(--line);}
html[data-theme="dark"] .faculty-card,
html[data-theme="dark"] .search-card,
html[data-theme="dark"] .search-results a,
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .empty,
html[data-theme="dark"] .dashboard-card,
html[data-theme="dark"] .programme-detail-card,
html[data-theme="dark"] .employee-profile-section,
html[data-theme="dark"] .ghost-button,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .pill{background:var(--panel);color:var(--text);border-color:var(--line);}
html[data-theme="dark"] .hero p.lead,
html[data-theme="dark"] .muted,
html[data-theme="dark"] .brand small,
html[data-theme="dark"] .site-footer,
html[data-theme="dark"] .faculty-card p{color:var(--muted);}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{background:var(--field-bg);color:var(--text);border-color:var(--field-border);}
html[data-theme="dark"] .primary-button{background:#38bdf8;color:#082f49;}
html[data-theme="dark"] .programmes-table th,
html[data-theme="dark"] .subjects-table th{background:#172033;color:#e0f2fe;}
html[data-contrast="mono"]{
  --brand:#111827;
  --brand-secondary:#52525b;
  --faculty-color:#111827;
  --focus:#111827;
}
html[data-contrast="mono"] img,
html[data-contrast="mono"] video,
html[data-contrast="mono"] canvas,
html[data-contrast="mono"] svg{filter:grayscale(1)!important;}
.accessibility-controls{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;margin-right:.25rem;}
.accessibility-button{min-height:38px;border:1px solid var(--accessibility-control-border);border-radius:999px;background:var(--accessibility-control-bg);color:var(--accessibility-control-text);padding:.45rem .65rem;font-weight:800;font-size:.82rem;cursor:pointer;line-height:1;}
.accessibility-button:hover,.accessibility-button.is-active{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--accessibility-control-bg));color:var(--brand);}
.accessibility-button:focus-visible{outline:4px solid rgba(0,173,189,.28);outline-offset:2px;}
.header-admin-slot{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;}
@media(max-width:980px){
  .header-actions{flex-wrap:wrap;align-items:flex-start;}
  .accessibility-controls{order:3;width:100%;margin-top:.35rem;}
}
@media(max-width:560px){
  .accessibility-button{min-height:36px;padding:.4rem .55rem;font-size:.78rem;}
}

/* v163: Admin Open Graph image settings */
.og-logo-preview{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1rem;border-radius:1rem;background:rgba(26,56,104,.06)}
.og-logo-preview img{max-width:180px;max-height:70px;object-fit:contain;background:#1a3868;border-radius:.75rem;padding:.5rem}

/* v167: predmet má detailné údaje priamo v hero bloku */
.subject-hero{grid-template-columns:1fr;align-items:start;}
.subject-hero .programme-facts{margin-top:1.15rem;max-width:920px;background:rgba(255,255,255,.82);border:1px solid color-mix(in srgb,var(--faculty-color) 18%,#e5e7eb);border-radius:22px;padding:1rem 1.15rem;box-shadow:none;}
.subject-hero .programme-fact-row{grid-template-columns:minmax(150px,240px) 1fr;}
.subject-admin-source-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}
.subject-admin-source-links a{display:inline-flex;align-items:center;min-height:38px;padding:.55rem .85rem;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;font-weight:750;color:var(--brand);}
.og-image-form{grid-template-columns:1fr;}
.og-image-form .checkbox-label{display:flex;align-items:center;gap:.55rem;}
.og-image-form .checkbox-label input{min-height:auto;width:18px;height:18px;}
.og-image-preview{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:18px;background:#f8fafc;border:1px solid var(--line);}
.og-image-preview img{max-width:180px;max-height:72px;object-fit:contain;background:#1a3868;border-radius:12px;padding:.5rem;}
@media(max-width:780px){.subject-hero .programme-fact-row{grid-template-columns:1fr;}.subject-hero .programme-facts{padding:.9rem;}}


/* v287: no blocking fullscreen loader. Header, accessibility and initial content stay visible immediately. */
html.js body:not(.app-ready) #main{opacity:1;pointer-events:auto;}
html.js body:not(.app-ready)::before{
  content:"";
  position:fixed;
  left:0;
  top:0;
  z-index:9998;
  width:var(--loading-width, 0%);
  height:3px;
  background:var(--brand,#1a3868);
  transition:width .25s ease;
}
html.js body:not(.app-ready)::after{content:none;}
html.js[data-loading-progress] body:not(.app-ready)::before{width:var(--loading-width, 0%);}
body[data-loading-progress="100%"]::before{display:none;}


/* v176: SEO/static faculty cards keep per-card faculty colors after hard refresh and hydration */
.seo-static .faculty-grid-home .faculty-card,
.seo-static .faculty-grid-faculties-page .faculty-card,
.seo-static .home-faculties .faculty-card {
  background: var(--faculty-color) !important;
  color: #fff !important;
  border-color: var(--faculty-color) !important;
  border-top-color: var(--faculty-color) !important;
}
.seo-static .faculty-grid-home .faculty-card h2,
.seo-static .faculty-grid-home .faculty-card h3,
.seo-static .faculty-grid-faculties-page .faculty-card h3,
.seo-static .home-faculties .faculty-card h2,
.seo-static .home-faculties .faculty-card h3 {
  color: #fff !important;
}
.seo-static .faculty-grid-home .faculty-card .faculty-logo,
.seo-static .faculty-grid-faculties-page .faculty-card .faculty-logo,
.seo-static .home-faculties .faculty-card .faculty-logo {
  background: transparent !important;
}

/* v189: clickable programme links in subject detail */
.subject-programme-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .45rem;
}
.subject-programme-links a {
  font-weight: 700;
  text-decoration: none;
  color: var(--faculty-color, var(--brand-blue));
}
.subject-programme-links a:hover { text-decoration: underline; }


/* v190: subject list table header vertically centered */
.subjects-table thead th{vertical-align:middle!important;}
.subjects-table thead .table-sort-button{align-items:center;}

/* v192: align subject section headings and style included programmes as faculty tags */
.subject-info-section > h2{
  margin:0 0 .65rem!important;
  padding-left:0!important;
  font-size:1.15rem;
  line-height:1.25;
  color:#111827;
}
.subject-info-section .rich-text{padding-left:0!important;}
.subject-programme-links{
  display:flex!important;
  flex-wrap:wrap;
  gap:.55rem;
}
.subject-programme-links li{
  margin:0;
  padding:0;
}
.subject-programme-links a{
  display:inline-flex;
  align-items:center;
  min-height:2.1rem;
  padding:.42rem .78rem;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--faculty-color,#1a3868) 26%,transparent);
  background:color-mix(in srgb,var(--faculty-color,#1a3868) 10%,#fff);
  color:var(--faculty-color,#1a3868)!important;
  font-weight:850;
  line-height:1.2;
  text-decoration:none!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--faculty-color,#1a3868) 10%,transparent);
}
.subject-programme-links a:hover,
.subject-programme-links a:focus{
  background:var(--faculty-color,#1a3868);
  color:#fff!important;
  border-color:var(--faculty-color,#1a3868);
  outline:0;
}
@media (max-width:680px){
  .subject-info-section > h2{font-size:1.05rem;}
  .subject-programme-links{gap:.45rem;}
  .subject-programme-links a{min-height:2rem;padding:.38rem .68rem;font-size:.92rem;}
}


/* v194: subject hero metadata and full-width teachers */
.subject-hero .subject-hero-meta{
  max-width:920px;
}
.subject-hero .subject-hero-facts{
  max-width:none!important;
  width:100%;
}
.subject-faculty-row{
  display:block!important;
  grid-template-columns:1fr!important;
  font-weight:850;
  color:#1a3868!important;
}
.subject-teachers-wide{
  width:100%;
  max-width:none;
}
.subject-teachers-wide h2{
  margin-bottom:.75rem;
}
.subject-teacher-list-wide{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  width:100%;
}
.subject-teacher-list-wide .teacher-chip{
  margin:0;
}

/* v202: dark mode fixes for programme/subject tables and subject detail sections */
html[data-theme="dark"] .programmes-table tbody td:first-child,
html[data-theme="dark"] .programmes-table tbody td:first-child strong,
html[data-theme="dark"] .programmes-table tbody td:first-child a,
html[data-theme="dark"] .programmes-table tbody td:nth-child(2),
html[data-theme="dark"] .programmes-table tbody td:nth-child(2) strong,
html[data-theme="dark"] .programmes-table tbody td:nth-child(2) a,
html[data-theme="dark"] .programme-title-cell a,
html[data-theme="dark"] .subjects-table tbody td:first-child,
html[data-theme="dark"] .subjects-table tbody td:first-child strong,
html[data-theme="dark"] .subjects-table tbody td:first-child a,
html[data-theme="dark"] .subjects-table tbody td:nth-child(2),
html[data-theme="dark"] .subjects-table tbody td:nth-child(2) a{
  color:#f8fafc!important;
}
html[data-theme="dark"] .faculty-table-wrap,
html[data-theme="dark"] .subject-info-section,
html[data-theme="dark"] .subject-teachers-wide{
  background:var(--panel)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
}
html[data-theme="dark"] .subject-info-section .rich-text,
html[data-theme="dark"] .subject-info-section h2,
html[data-theme="dark"] .subject-info-section h3{
  color:var(--text)!important;
}
html[data-theme="dark"] .subject-teachers-wide .teacher-chip,
html[data-theme="dark"] .subjects-table .teacher-chip{
  background:#fff!important;
  color:#111827!important;
  border-color:#e5e7eb!important;
}
html[data-theme="dark"] .faculty-table-wrap tbody tr:hover,
html[data-theme="dark"] .programmes-table tbody tr:hover,
html[data-theme="dark"] .subjects-table tbody tr:hover{
  background:color-mix(in srgb,var(--faculty-color,#1a3868) 18%,var(--panel))!important;
}
.subject-teachers-wide{padding:1.25rem 1.35rem;border-radius:24px;background:color-mix(in srgb,var(--faculty-color,#1a3868) 7%,#fff);border:1px solid color-mix(in srgb,var(--faculty-color,#1a3868) 28%,var(--line,#e4e4e7));}
.subject-info-section h2{margin:0 0 .55rem!important;padding-left:0!important;border-left:0!important;font-size:1.35rem;color:#111827;}
.subject-info-section h2::before{display:none!important;content:none!important;}
.subject-info-section{border-left:5px solid var(--faculty-color,#1a3868)!important;}

/* v203: dark mode EUBA white logo + language-aware brand claim */
.brand-logo-dark{display:none;}
html[data-theme="dark"] .brand-logo-light{display:none;}
html[data-theme="dark"] .brand-logo-dark{display:block;}
.login-logo-dark{display:none;}
html[data-theme="dark"] .login-logo-light{display:none;}
html[data-theme="dark"] .login-logo-dark{display:block;}
@media (prefers-color-scheme: dark){
  html[data-theme="system"] .brand-logo-light{display:none;}
  html[data-theme="system"] .brand-logo-dark{display:block;}
  html[data-theme="system"] .login-logo-light{display:none;}
  html[data-theme="system"] .login-logo-dark{display:block;}
}


/* v206: faculty dropdown in main menu */
.main-menu-dropdown{position:relative;display:inline-flex;align-items:center;min-height:42px;border-radius:999px;}
.main-menu .main-menu-link{display:inline-flex;align-items:center;min-height:42px;padding:.55rem .85rem;border-radius:999px;text-decoration:none;font-weight:800;color:#111827;}
.main-menu-dropdown-label{padding-right:.35rem!important;}
.main-menu-dropdown-label[aria-hidden="true"]{cursor:default;user-select:none;}

.main-menu-dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:-.25rem;border:0;border-radius:999px;background:transparent;color:#111827;font-weight:900;cursor:pointer;line-height:1;}
.main-menu-dropdown:hover,.main-menu-dropdown:focus-within{background:color-mix(in srgb,var(--brand-secondary) 12%,white);}
.main-menu-dropdown:hover .main-menu-link,.main-menu-dropdown:focus-within .main-menu-link,.main-menu-dropdown:hover .main-menu-dropdown-toggle,.main-menu-dropdown:focus-within .main-menu-dropdown-toggle{color:var(--brand);}
.main-menu-dropdown-panel{position:absolute;top:100%;left:0;z-index:80;min-width:360px;display:none;padding:.65rem .55rem .55rem;border:1px solid var(--line);border-radius:0 0 22px 22px;background:#fff;box-shadow:var(--shadow);}
.main-menu-dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:.75rem;z-index:79;}
.main-menu-dropdown:hover .main-menu-dropdown-panel,.main-menu-dropdown:focus-within .main-menu-dropdown-panel,.main-menu-dropdown.is-open .main-menu-dropdown-panel{display:grid;gap:.25rem;}
.main-menu-dropdown-item{display:flex!important;align-items:center;gap:.65rem;min-height:42px;padding:.62rem .75rem!important;border-radius:16px!important;text-decoration:none;font-weight:800;color:#111827!important;white-space:normal;line-height:1.2;}
.main-menu-dropdown-item:hover,.main-menu-dropdown-item:focus-visible{background:color-mix(in srgb,var(--faculty-color,var(--brand-secondary)) 13%,white)!important;color:var(--brand)!important;text-decoration:none;}
.menu-faculty-dot{width:.7rem;height:.7rem;border-radius:999px;background:var(--faculty-color,var(--brand-secondary));flex:0 0 auto;}
.main-menu-dropdown-all{border-bottom:1px solid var(--line);margin-bottom:.25rem;color:var(--brand)!important;}
@media(max-width:1023px){.main-menu-dropdown{display:grid;width:100%;border-radius:16px}.main-menu-dropdown-label{justify-content:flex-start}.main-menu-dropdown-toggle{position:absolute;right:.35rem;top:.25rem}.main-menu-dropdown-panel{position:static;min-width:0;width:100%;box-shadow:none;border-radius:16px;margin:.2rem 0 0}.main-menu-dropdown:hover .main-menu-dropdown-panel:not(:focus-within){display:none}.main-menu-dropdown.is-open .main-menu-dropdown-panel,.main-menu-dropdown:focus-within .main-menu-dropdown-panel{display:grid}.main-menu .main-menu-link{justify-content:flex-start}}
html[data-theme="dark"] .main-menu-dropdown-panel{background:#111827;border-color:#334155;}
html[data-theme="dark"] .main-menu .main-menu-link,html[data-theme="dark"] .main-menu-dropdown-toggle,html[data-theme="dark"] .main-menu-dropdown-item{color:#f8fafc!important;}
html[data-theme="dark"] .main-menu-dropdown:hover,html[data-theme="dark"] .main-menu-dropdown:focus-within{background:rgba(255,255,255,.08);}
html[data-theme="dark"] .main-menu-dropdown-item:hover,html[data-theme="dark"] .main-menu-dropdown-item:focus-visible{background:rgba(255,255,255,.08)!important;color:#fff!important;}



/* v208: remove hover gap between Faculties menu item and dropdown */
.main-menu-dropdown:hover .main-menu-dropdown-panel,
.main-menu-dropdown:focus-within .main-menu-dropdown-panel,
.main-menu-dropdown.is-open .main-menu-dropdown-panel{margin-top:0;}
@media(min-width:1024px){.main-menu-dropdown-panel{transform:translateY(0);}.main-menu-dropdown:hover::after,.main-menu-dropdown:focus-within::after,.main-menu-dropdown.is-open::after{display:block;}}

/* v209: allow narrow subject columns to wrap instead of bleeding into neighbours */
.subjects-table,
.subjects-table-compact{
  table-layout:fixed;
}
.subjects-table th,
.subjects-table td,
.subjects-table-compact th,
.subjects-table-compact td{
  min-width:0!important;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  white-space:normal!important;
  vertical-align:middle;
}
.subjects-table-compact th:nth-child(3),
.subjects-table-compact td:nth-child(3),
.subjects-table-compact th:nth-child(4),
.subjects-table-compact td:nth-child(4),
.subjects-table-compact th:nth-child(5),
.subjects-table-compact td:nth-child(5),
.subjects-table-compact th:nth-child(6),
.subjects-table-compact td:nth-child(6),
.subjects-table-compact th:nth-child(7),
.subjects-table-compact td:nth-child(7),
.subjects-table-compact th:nth-child(8),
.subjects-table-compact td:nth-child(8){
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
  text-align:center;
}
.subjects-table-compact th:nth-child(5),
.subjects-table-compact td:nth-child(5){
  min-width:4.5rem!important;
}
.subjects-table .table-sort-button,
.subjects-table-compact .table-sort-button{
  white-space:normal!important;
  line-height:1.15;
  justify-content:center;
}

/* v211: programme group headings are readable in dark mode */
html[data-theme="dark"] .programme-group h2,
html[data-theme="dark"] .study-plan-part h3,
html[data-theme="dark"] .study-plan-type h4,
html[data-theme="dark"] .study-plan-block h5{
  color:#f8fafc!important;
}
html[data-theme="dark"] .programme-group h2 span,
html[data-theme="dark"] .study-plan-part h3 span,
html[data-theme="dark"] .study-plan-type h4 span,
html[data-theme="dark"] .study-plan-block h5 span{
  color:#f8fafc!important;
}


/* v212: programme detail typography and cleaner study plan tables */
.programme-hero-grid .programme-group h2,
.programme-group > h2{
  font-size:clamp(2rem,3.5vw,3rem)!important;
  line-height:1.12;
}
.study-plan-part h3{
  font-size:clamp(1.55rem,2.4vw,2.25rem)!important;
  line-height:1.18;
}
.study-plan-type{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.study-plan-type h4{
  margin:1rem 0 .75rem!important;
}
.faculty-table-wrap{
  box-shadow:none!important;
}
@media(max-width:780px){
  .programme-hero-grid .programme-group h2,
  .programme-group > h2{font-size:clamp(1.65rem,7vw,2.15rem)!important;}
  .study-plan-part h3{font-size:clamp(1.35rem,6vw,1.75rem)!important;}
}

/* v213: keep study plan type number badge readable in dark mode */
html[data-theme="dark"] .study-plan-type h4 span{
  color:#000!important;
}

/* v214: stable, unified subject table column layout across all study-plan tables */
.programmes-table.subjects-table,
.subjects-table.subjects-table-compact{
  table-layout:fixed!important;
  width:100%!important;
}
.subjects-table col.subject-col-shortcut{width:11%;}
.subjects-table col.subject-col-name{width:30%;}
.subjects-table col.subject-col-credits{width:7%;}
.subjects-table col.subject-col-range{width:11%;}
.subjects-table col.subject-col-completion{width:12%;}
.subjects-table col.subject-col-year{width:7%;}
.subjects-table col.subject-col-semester{width:8%;}
.subjects-table col.subject-col-profile{width:6%;}
.subjects-table col.subject-col-teachers{width:8%;}
.subjects-table col.subject-col-admin{width:10%;}
.subjects-table th,
.subjects-table td{
  min-width:0!important;
  max-width:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  vertical-align:middle!important;
}
.subjects-table td:nth-child(2) a,
.subjects-table td:nth-child(5),
.subjects-table td:nth-child(9){
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.subjects-table .teacher-list{width:100%;}
.subjects-table .teacher-chip{max-width:100%;white-space:normal!important;}
@media (min-width:901px){
  .subjects-table:not(:has(col.subject-col-admin)) col.subject-col-name{width:32%;}
  .subjects-table:not(:has(col.subject-col-admin)) col.subject-col-teachers{width:12%;}
}
@media (max-width:1180px) and (min-width:901px){
  .subjects-table col.subject-col-name{width:28%;}
  .subjects-table col.subject-col-completion{width:13%;}
  .subjects-table col.subject-col-range{width:12%;}
}

/* v216: programme and subject detail visual refinements */
.subject-hero{
  width:100%;
  max-width:none!important;
  text-align:center;
}
.subject-hero > div{
  width:100%;
  max-width:none!important;
}
.subject-hero h1{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.subject-hero .subject-hero-meta,
.subject-hero .programme-facts.subject-hero-meta{
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.35rem .65rem;
  width:100%!important;
  max-width:none!important;
  margin:1rem auto 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.subject-hero .subject-hero-meta .programme-fact-row{
  display:inline-flex!important;
  grid-template-columns:none!important;
  align-items:center;
  gap:.25rem;
  color:#1a3868!important;
  font-size:clamp(.95rem,1.2vw,1.05rem);
  line-height:1.45;
}
.subject-hero .subject-hero-meta .programme-fact-row:not(:last-child)::after{
  content:"|";
  margin-left:.65rem;
  color:color-mix(in srgb,var(--faculty-color,#1a3868) 52%,#64748b);
  font-weight:700;
}
.subject-hero .subject-hero-meta .programme-fact-row strong,
.subject-hero .subject-hero-meta .programme-fact-row span{
  color:#1a3868!important;
}
.subject-hero .subject-hero-meta .subject-faculty-row{
  font-weight:850;
}
.subject-teachers-wide{
  background:color-mix(in srgb,var(--faculty-color,#1a3868) 6%,#fff);
  border-top:5px solid var(--faculty-color,#1a3868);
  padding:1.25rem clamp(1rem,2vw,1.5rem);
}
.programme-hero-grid .programme-facts{
  padding-left:0!important;
  padding-right:0!important;
}
.programme-hero-grid + .programme-group{
  border-top:5px solid var(--faculty-color,#1a3868);
  margin-top:1.5rem!important;
  padding-top:1.5rem!important;
}
.programme-hero-grid + .programme-group > h2{
  padding-left:0!important;
  padding-right:0!important;
  border-left:0!important;
}
.programme-group .table-wrap,
.faculty-table-wrap,
.programmes-table,
.subjects-table{
  border-radius:0!important;
}
@media(max-width:680px){
  .subject-hero .subject-hero-meta{gap:.25rem .45rem;}
  .subject-hero .subject-hero-meta .programme-fact-row{font-size:.92rem;}
  .subject-hero .subject-hero-meta .programme-fact-row:not(:last-child)::after{margin-left:.45rem;}
  .programme-hero-grid + .programme-group{padding-top:1.15rem!important;margin-top:1.15rem!important;}
}

/* v217: split SEO export buttons */
.seo-export-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.seo-export-actions .primary-button{white-space:normal;text-align:center}
@media (max-width:720px){.seo-export-actions{flex-direction:column;align-items:stretch}.seo-export-actions .primary-button{width:100%}}

/* v218: kompaktné admin XML odkazy pri názve bez samostatnej XML sekcie */
.admin-title-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin:.75rem 0 0;}
.admin-title-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.5rem .85rem;border-radius:999px;background:#fff;border:1px solid rgba(26,56,104,.18);color:#1a3868;text-decoration:none;font-weight:800;font-size:.88rem;box-shadow:0 8px 20px rgba(0,0,0,.06);}
.admin-title-actions a:hover{transform:translateY(-1px);border-color:var(--faculty-color,#1a3868);box-shadow:0 12px 26px rgba(0,0,0,.1);}
html[data-theme="dark"] .admin-title-actions a{background:#fff;color:#1a3868;border-color:rgba(255,255,255,.35);}


/* v219: custom 404 page */
.not-found-page{min-height:calc(100vh - 220px);display:flex;align-items:center;padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3rem,7vw,6rem)}
.not-found-grid{width:100%;display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.not-found-copy h1{font-size:clamp(2.35rem,5vw,5rem);line-height:.98;margin:.25rem 0 1rem;color:var(--text,#12213a);max-width:12ch;letter-spacing:-.04em}
.not-found-copy p:not(.eyebrow){font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.65;max-width:54ch;color:var(--muted,#536071)}
.not-found-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.8rem}.not-found-actions .ghost-button{background:#fff}
.not-found-visual{width:100%;background:linear-gradient(135deg,rgba(26,56,104,.08),rgba(26,56,104,.02));border-radius:32px;padding:clamp(1rem,3vw,2.25rem);overflow:hidden}
.not-found-cable{width:100%;height:auto;display:block}.nf-server{fill:url(#nfServer)}.nf-server-slot{fill:rgba(255,255,255,.28)}.nf-led{fill:#d92424;filter:drop-shadow(0 0 10px rgba(217,36,36,.55))}.nf-cable-left,.nf-cable-right{fill:none;stroke:#1a3868;stroke-width:18;stroke-linecap:round}.nf-plug-left rect,.nf-plug-right rect{fill:#fff;stroke:#1a3868;stroke-width:8}.nf-plug-left line,.nf-plug-right line{stroke:#1a3868;stroke-width:8;stroke-linecap:round}.nf-spark{fill:none;stroke:#f6b600;stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.nf-code{font:800 64px/1 Arial,sans-serif;fill:rgba(255,255,255,.88);letter-spacing:.04em}
html[data-theme="dark"] .not-found-copy h1{color:#fff}html[data-theme="dark"] .not-found-copy p:not(.eyebrow){color:rgba(255,255,255,.78)}html[data-theme="dark"] .not-found-visual{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}html[data-theme="dark"] .nf-cable-left,html[data-theme="dark"] .nf-cable-right{stroke:#dbe8ff}html[data-theme="dark"] .nf-plug-left rect,html[data-theme="dark"] .nf-plug-right rect{stroke:#dbe8ff;fill:#0f1c33}html[data-theme="dark"] .nf-plug-left line,html[data-theme="dark"] .nf-plug-right line{stroke:#dbe8ff}
@media(max-width:850px){.not-found-grid{grid-template-columns:1fr}.not-found-copy{text-align:center}.not-found-copy h1,.not-found-copy p:not(.eyebrow){margin-left:auto;margin-right:auto}.not-found-actions{justify-content:center}.not-found-visual{order:-1}}

/* v221: partial SEO export progress */
.seo-progress {
  margin: 1rem 0;
  width: 100%;
}
.seo-progress-bar {
  width: 100%;
  height: 12px;
  border-radius: 999px;
  background: rgba(26, 56, 104, 0.12);
  overflow: hidden;
}
.seo-progress-bar span {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: var(--faculty-color, #1a3868);
  transition: width 180ms ease;
}
.seo-progress-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .45rem;
  font-size: .9rem;
  color: var(--muted, #5d6678);
}
html[data-theme="dark"] .seo-progress-bar {
  background: rgba(255,255,255,.16);
}
html[data-theme="dark"] .seo-progress-meta {
  color: rgba(255,255,255,.72);
}


/* v222: minimalistické chybové stránky bez hlavičky a admin prvkov */
body.error-route .site-header,
body.error-route #footer-admin-login-slot,
body.error-static-page .site-header,
body.error-static-page #footer-admin-login-slot{display:none!important;}
body.error-route .site-footer,
body.error-static-page .site-footer{justify-content:center;text-align:center;}
body.error-route .footer-copy,
body.error-static-page .footer-copy{width:100%;text-align:center;}
.not-found-page-minimal{min-height:calc(100vh - 96px);}
.not-found-page-minimal .not-found-grid{grid-template-columns:minmax(260px,.75fr) minmax(320px,1.25fr);}
.not-found-page-minimal .not-found-copy p:not(.eyebrow){display:none!important;}
.not-found-page-minimal .not-found-actions{display:none!important;}
@media(max-width:850px){.not-found-page-minimal .not-found-grid{grid-template-columns:1fr;}.not-found-page-minimal .not-found-visual{order:0;}}


/* v224: Admin central error log */
.error-log-filters {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(240px, 1fr) auto;
  align-items: end;
  gap: 1rem;
}
.error-log-results {
  display: grid;
  gap: 0.9rem;
  margin-top: 1rem;
}
.error-log-card {
  border: 1px solid var(--border, rgba(26,56,104,.18));
  border-radius: 18px;
  padding: 1rem;
  background: var(--card-bg, #fff);
  box-shadow: 0 10px 30px rgba(26,56,104,.06);
}
.error-log-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.error-log-card-head strong {
  color: #9b1c1c;
  overflow-wrap: anywhere;
}
.error-log-card-head time {
  color: var(--muted, #667085);
  white-space: nowrap;
  font-size: 0.9rem;
}
.error-log-meta {
  display: grid;
  gap: 0.55rem;
  margin: 0;
}
.error-log-meta div {
  display: grid;
  grid-template-columns: minmax(120px, 180px) 1fr;
  gap: 0.75rem;
}
.error-log-meta dt {
  margin: 0;
  color: var(--muted, #667085);
  font-weight: 700;
}
.error-log-meta dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.error-log-card details {
  margin-top: 0.75rem;
}
.error-log-card pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-height: 320px;
  overflow: auto;
  border-radius: 12px;
  padding: 0.75rem;
  background: rgba(26,56,104,.06);
}
@media (max-width: 800px) {
  .error-log-filters,
  .error-log-meta div {
    grid-template-columns: 1fr;
  }
}

/* v225: employee profile dark mode readability and accessible faculty dropdown */
html[data-theme="dark"] .employee-hero-meta,
html[data-theme="dark"] .employee-profile-row dt,
html[data-theme="dark"] .employee-profile-row dd,
html[data-theme="dark"] .employee-profile-row dd p,
html[data-theme="dark"] .employee-profile-text,
html[data-theme="dark"] .employee-profile-subtitle,
html[data-theme="dark"] .employee-profile-simple-card,
html[data-theme="dark"] .employee-profile-simple-card p,
html[data-theme="dark"] .employee-profile-simple-card p:first-child,
html[data-theme="dark"] .employee-profile-simple-title,
html[data-theme="dark"] .employee-profile-simple-line,
html[data-theme="dark"] .employee-profile-education-card,
html[data-theme="dark"] .employee-profile-education-card h3,
html[data-theme="dark"] .employee-profile-education-card p,
html[data-theme="dark"] .employee-profile-education-card strong,
html[data-theme="dark"] .employee-profile-accent-item,
html[data-theme="dark"] .employee-profile-numbered-list li,
html[data-theme="dark"] .employee-profile-metric-block h3,
html[data-theme="dark"] .employee-profile-metric-row,
html[data-theme="dark"] .employee-profile-metric-row strong,
html[data-theme="dark"] .employee-profile-metric-row span,
html[data-theme="dark"] .employee-profile-group,
html[data-theme="dark"] .employee-profile-group dl,
html[data-theme="dark"] .employee-profile-content dl{
  color:var(--text)!important;
}
html[data-theme="dark"] .employee-profile-simple-line,
html[data-theme="dark"] .employee-profile-row dt,
html[data-theme="dark"] .employee-profile-education-card strong,
html[data-theme="dark"] .employee-profile-metric-row span,
html[data-theme="dark"] .employee-hero-meta{
  color:var(--muted)!important;
}
html[data-theme="dark"] .employee-profile-section{
  background:var(--panel)!important;
  border-color:var(--line)!important;
}
html[data-theme="dark"] .employee-profile-row,
html[data-theme="dark"] .employee-profile-text{
  border-bottom-color:var(--line)!important;
}
html[data-theme="dark"] .employee-profile-simple-card,
html[data-theme="dark"] .employee-profile-education-card,
html[data-theme="dark"] .employee-profile-group,
html[data-theme="dark"] .employee-profile-numbered-list li{
  background:transparent!important;
  border-color:var(--line)!important;
}
.main-menu-dropdown-toggle:focus-visible,
.main-menu-dropdown-item:focus-visible{
  outline:4px solid rgba(0,173,189,.32);
  outline-offset:2px;
}

/* v227: programme detail hero/facts visual cleanup */
.faculty-hero.programme-hero-card{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.programme-hero-grid .programme-facts{
  background:transparent!important;
  border:0!important;
}


/* v228: Open Graph admin previews */
.faculty-og-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;margin:.5rem 0 1rem}
.faculty-og-list>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--border);border-radius:12px;padding:.65rem .8rem;background:var(--surface-muted)}
.og-image-preview img{max-width:260px;aspect-ratio:1200/630;object-fit:cover;border-radius:12px;border:1px solid var(--border)}

.og-faculty-language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;}
.faculty-og-list div{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;}

/* v239: programme facts remain readable in dark mode */
html[data-theme="dark"] .programme-hero-grid .programme-facts,
html[data-theme="dark"] .programme-hero-grid .programme-facts *{
  color:#fff!important;
}
html[data-theme="dark"] .programme-hero-grid .programme-fact-row,
html[data-theme="dark"] .programme-hero-grid .programme-fact-row strong,
html[data-theme="dark"] .programme-hero-grid .programme-fact-row span,
html[data-theme="dark"] .programme-hero-grid .programme-fact-row a{
  color:#fff!important;
}
html[data-theme="dark"] .programme-hero-grid .programme-fact-row .teacher-chip{
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.34)!important;
}
html[data-theme="dark"] .programme-hero-grid .programme-fact-row .teacher-chip:hover,
html[data-theme="dark"] .programme-hero-grid .programme-fact-row .teacher-chip:focus-visible{
  color:#0f172a!important;
  background:#fff!important;
  border-color:#fff!important;
}

/* v240: subject hero facts remain readable in dark mode */
html[data-theme="dark"] .subject-hero .subject-hero-meta,
html[data-theme="dark"] .subject-hero .subject-hero-meta *{
  color:#fff!important;
}
html[data-theme="dark"] .subject-hero .subject-hero-meta .programme-fact-row,
html[data-theme="dark"] .subject-hero .subject-hero-meta .programme-fact-row strong,
html[data-theme="dark"] .subject-hero .subject-hero-meta .programme-fact-row span,
html[data-theme="dark"] .subject-hero .subject-hero-meta .programme-fact-row a{
  color:#fff!important;
}
html[data-theme="dark"] .subject-hero .subject-hero-meta .programme-fact-row:not(:last-child)::after{
  color:rgba(255,255,255,.7)!important;
}


/* v242: removed black-and-white switch; homepage visible H1; programme/staff responsibility UI */
.home-page-title{
  max-width:980px;
  margin:0 0 1.35rem;
  color:var(--brand);
  font-size:clamp(2.1rem,5vw,4.6rem);
  line-height:1.02;
  letter-spacing:-.055em;
}
.programme-responsibility-control{
  display:grid;
  gap:.25rem;
  min-width:min(100%,18rem);
  font-size:.78rem;
  font-weight:800;
  color:var(--muted);
}
.programme-responsibility-control select,
.programme-responsibility-control input{
  width:100%;
  min-height:38px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:.45rem .55rem;
  background:#fff;
  color:#111827;
  font-weight:700;
}
.employee-profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:1.5rem;
  align-items:start;
  margin-top:1.5rem;
}
.employee-profile-main{min-width:0;}
.employee-profile-sidebar{
  display:grid;
  gap:1rem;
  position:sticky;
  top:6rem;
}
.employee-sidebar-card{
  padding:1.15rem;
  border:1px solid color-mix(in srgb,var(--faculty-color) 32%,var(--line));
  border-top:5px solid var(--faculty-color);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px color-mix(in srgb,var(--faculty-color) 14%,transparent);
}
.employee-sidebar-card h2{
  margin:.1rem 0 .85rem;
  font-size:1.15rem;
  color:var(--faculty-color);
}
@media(max-width:1100px){
  .employee-profile-layout{grid-template-columns:1fr;}
  .employee-profile-sidebar{position:static;}
}

/* v242: programme detail stacks below 1200px */
@media(max-width:1200px){
  .programme-hero-grid{grid-template-columns:1fr!important;}
  .programme-download-stack{display:grid;grid-template-columns:1fr;}
}

/* v242: subject table teacher column is content-aware and teacher names do not break */
.programmes-table.subjects-table,
.subjects-table.subjects-table-compact{
  table-layout:auto!important;
}
.subjects-table col.subject-col-teachers{width:auto!important;}
.subjects-table th:nth-child(9),
.subjects-table td:nth-child(9){width:auto!important;min-width:max-content!important;}
.subjects-table td:nth-child(9) .teacher-list{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem;}
.subjects-table td:nth-child(9) .teacher-chip{white-space:nowrap!important;max-width:none!important;}
@media(max-width:980px){
  .subjects-table td,
  .subjects-table th,
  .subjects-table td:nth-child(3),
  .subjects-table td:nth-child(4),
  .subjects-table td:nth-child(5),
  .subjects-table td:nth-child(6),
  .subjects-table td:nth-child(7),
  .subjects-table td:nth-child(8),
  .subjects-table td:nth-child(9){
    text-align:left!important;
    justify-items:start!important;
  }
  .subjects-table td:nth-child(9){min-width:0!important;}
}

/* v242: mobile faculties dropdown opens only by the button state, not hover emulation */
@media(max-width:1023px){
  .main-menu-dropdown:hover .main-menu-dropdown-panel,
  .main-menu-dropdown:focus-within .main-menu-dropdown-panel{display:none!important;}
  .main-menu-dropdown.is-open .main-menu-dropdown-panel{display:grid!important;}
}
html[data-theme="dark"] .programme-responsibility-control select,
html[data-theme="dark"] .programme-responsibility-control input,
html[data-theme="dark"] .employee-sidebar-card{background:#111827;color:#f8fafc;border-color:#334155;}
html[data-theme="dark"] .employee-sidebar-card h2{color:#fff;}

/* v245: larger homepage faculty card H2 titles */
.faculty-grid-home .faculty-card h2,
.faculty-grid-home .faculty-card h3{
  font-size:clamp(1.22rem, 1.85vw, 1.75rem);
  line-height:1.15;
}
@media(max-width:820px){
  .faculty-grid-home .faculty-card h2,
  .faculty-grid-home .faculty-card h3{
    font-size:clamp(1.15rem, 4.1vw, 1.55rem);
  }
}
@media(max-width:520px){
  .faculty-grid-home .faculty-card h2,
  .faculty-grid-home .faculty-card h3{
    font-size:clamp(1.08rem, 5vw, 1.35rem);
  }
}
/* v246: keep skip-to-content button readable in dark mode */
html[data-theme="dark"] .skip-link{background:#fff!important;color:#000!important;border:1px solid #fff!important;}
html[data-theme="dark"] .skip-link:focus-visible{outline-color:rgba(255,255,255,.75);}

/* v247: homepage title and search button contrast in dark mode */
html[data-theme="dark"] .home-page-title{
  color:#fff!important;
}
html[data-theme="dark"] .home-hero .search-card .primary-button{
  background:#fff!important;
  color:#000!important;
  border:1px solid #fff!important;
}
html[data-theme="dark"] .home-hero .search-card .primary-button:hover,
html[data-theme="dark"] .home-hero .search-card .primary-button:focus-visible{
  background:#f8fafc!important;
  color:#000!important;
}

/* v248: stack faculty cards into one column below 600px on homepage and faculties page */
@media(max-width:600px){
  .home-faculties .faculty-grid,
  .faculty-grid-home,
  .faculty-grid-faculties-page,
  .seo-page .faculty-grid{
    grid-template-columns:1fr!important;
  }
  .home-faculties .faculty-card,
  .faculty-grid-faculties-page .faculty-card,
  .seo-page .faculty-grid .faculty-card{
    min-height:220px;
  }
}


/* v249: mobile menu contrast, wider mobile faculty stacking, centered footer, icon-only theme switch */
html[data-theme="dark"] .menu-toggle{
  background:#fff!important;
  color:#000!important;
  border-color:#fff!important;
}
.theme-icon-button{
  width:38px;
  min-width:38px;
  padding:.45rem!important;
  font-size:1rem!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.theme-icon-button.is-active{
  background:var(--brand)!important;
  color:#fff!important;
  border-color:var(--brand)!important;
}
html[data-theme="dark"] .theme-icon-button.is-active{
  background:#fff!important;
  color:#000!important;
  border-color:#fff!important;
}
@media(max-width:767px){
  .home-faculties .faculty-grid,
  .faculty-grid-home,
  .faculty-grid-faculties-page,
  .seo-page .faculty-grid{
    grid-template-columns:1fr!important;
  }
  .faculty-grid-home{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .faculty-grid-home .faculty-card,
  .home-faculties .faculty-card,
  .faculty-grid-faculties-page .faculty-card,
  .seo-page .faculty-grid .faculty-card{
    flex-basis:100%!important;
    max-width:100%!important;
    width:100%!important;
    min-height:220px;
  }
  .site-footer,
  .seo-static .site-footer{
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .footer-admin-slot{
    width:100%;
    justify-content:center!important;
    margin-left:0!important;
  }
  .footer-copy,
  .footer-version{
    text-align:center;
  }
}


/* v250: mobile dark menu button without background + remove faculty color dots */
html[data-theme="dark"] .menu-toggle{
  background:transparent!important;
  color:#000!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .menu-toggle:hover,
html[data-theme="dark"] .menu-toggle:focus-visible{
  background:transparent!important;
  color:#000!important;
}
.menu-faculty-dot{display:none!important;}
.main-menu-dropdown-item{gap:0!important;}
.main-menu-dropdown-item[style*="--faculty-color"]{--faculty-color:var(--brand-secondary)!important;}

/* v251: mobile header language placement + faculty card title size */
@media(max-width:767px){
  .site-header{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
    gap:.65rem!important;
    flex-direction:initial!important;
  }
  .site-header .brand{
    grid-column:1!important;
    grid-row:1!important;
    align-items:center!important;
    min-width:0!important;
  }
  .site-header .brand-text{
    display:none!important;
  }
  .site-header .header-actions{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    justify-content:flex-end!important;
    justify-self:end!important;
    flex-wrap:nowrap!important;
    gap:.4rem!important;
  }
  .site-header .menu-toggle{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    color:#000!important;
  }
  .site-header .main-menu{
    grid-column:1 / -1!important;
    grid-row:2!important;
  }
  .site-header .admin-account-slot:empty{
    display:none!important;
  }
}
.faculty-grid-home .faculty-card h2,
.faculty-grid-home .faculty-card h3,
.faculty-grid-faculties-page .faculty-card h2,
.faculty-grid-faculties-page .faculty-card h3{
  font-size:clamp(1.16rem, 1.65vw, 1.6rem)!important;
  line-height:1.15;
}
@media(max-width:767px){
  .faculty-grid-home .faculty-card h2,
  .faculty-grid-home .faculty-card h3,
  .faculty-grid-faculties-page .faculty-card h2,
  .faculty-grid-faculties-page .faculty-card h3{
    font-size:clamp(1.18rem, 5vw, 1.6rem)!important;
  }
}

/* v252: accreditation strip before footer */
.accreditations-section{padding:2.5rem clamp(1rem,4vw,4rem);background:var(--bg);border-top:1px solid var(--line)}
.accreditations-inner{max-width:1180px;margin:0 auto;text-align:center;display:grid;gap:1.4rem}
.accreditations-inner h2{margin:0;color:var(--text);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.2}
.accreditations-list{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap}
.accreditation-logo-card{display:flex;align-items:center;justify-content:center;min-width:150px;height:104px;padding:1rem;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.03);box-sizing:border-box}
.accreditation-logo-card img{display:block;max-width:180px;max-height:72px;width:auto;height:auto;object-fit:contain}
.accreditation-admin-list{display:grid;gap:.75rem;margin-top:1rem}
.accreditation-admin-item{display:grid;grid-template-columns:112px 1fr auto;gap:1rem;align-items:center;padding:.85rem;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:104px}
.accreditation-admin-item img{width:96px;height:64px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:.4rem;box-sizing:border-box}
.accreditation-admin-item div{display:grid;gap:.15rem;text-align:left}
.accreditation-admin-item span{color:var(--muted);font-size:.9rem}
.accreditation-admin-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.accreditation-admin-actions .ghost-button{padding:.45rem .7rem}
html[data-theme="dark"] .accreditations-section{background:#0b1120;border-top-color:var(--line)}
html[data-theme="dark"] .accreditation-logo-card,
html[data-theme="dark"] .accreditation-admin-item{background:#fff;color:#111827;border-color:#e5e7eb}
@media(max-width:767px){
  .accreditations-section{padding:2rem 1rem}
  .accreditations-list{gap:.8rem}
  .accreditation-logo-card{width:100%;height:96px}
  .accreditation-logo-card img{max-width:220px;max-height:64px}
  .accreditation-admin-item{grid-template-columns:1fr;text-align:center;justify-items:center}
  .accreditation-admin-item div{text-align:center}
  .accreditation-admin-actions{justify-content:center}
}

/* v253: mobile accessibility bar above header + dark mobile menu cleanup */
.mobile-accessibility-bar{display:none;}
@media(max-width:767px){
  .mobile-accessibility-bar{
    position:sticky;
    top:0;
    z-index:45;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:.45rem .75rem;
    background:rgba(255,255,255,.94);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(18px);
  }
  .mobile-accessibility-bar .accessibility-controls{
    width:100%;
    justify-content:center;
    margin:0;
  }
  .site-header .admin-account-slot .accessibility-controls{
    display:none!important;
  }
  .site-header{
    top:48px!important;
  }
  html[data-theme="dark"] .mobile-accessibility-bar{
    background:rgba(15,23,42,.94);
    border-bottom-color:#334155;
  }
  html[data-theme="dark"] .site-header .menu-toggle,
  html[data-theme="dark"] .menu-toggle{
    background:transparent!important;
    color:#fff!important;
    border-color:#fff!important;
    box-shadow:none!important;
  }
  html[data-theme="dark"] .site-header .menu-toggle:hover,
  html[data-theme="dark"] .site-header .menu-toggle:focus-visible,
  html[data-theme="dark"] .menu-toggle:hover,
  html[data-theme="dark"] .menu-toggle:focus-visible{
    background:transparent!important;
    color:#fff!important;
    border-color:#fff!important;
  }
  html[data-theme="dark"] .site-header .main-menu,
  html[data-theme="dark"] .main-menu,
  html[data-theme="dark"] .main-menu-dropdown-panel{
    background:transparent!important;
  }
  html[data-theme="dark"] .main-menu-dropdown:hover,
  html[data-theme="dark"] .main-menu-dropdown:focus-within,
  html[data-theme="dark"] .main-menu-dropdown-item:hover,
  html[data-theme="dark"] .main-menu-dropdown-item:focus-visible{
    background:transparent!important;
  }
}

/* v254: keep the whole website usable below 320px by allowing horizontal scroll */
html,
body{
  min-width:320px;
  overflow-x:auto;
}

/* v260: university name next to logo */
.brand-text strong{display:block;max-width:22rem;color:#1a3868;font-family:"Nimbus Sans D OT Bold Extended",Inter,ui-sans-serif,system-ui,sans-serif;font-weight:800;line-height:1.08;letter-spacing:.01em;white-space:normal;}
html[data-theme="dark"] .brand-text strong{color:#fff;}


/* v262: mobile menu/header layout starts at 1023px and below */
@media(max-width:1023px){
  .site-header{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
    gap:.65rem!important;
    flex-direction:initial!important;
  }
  .site-header .brand{
    grid-column:1!important;
    grid-row:1!important;
    align-items:center!important;
    min-width:0!important;
  }
  .site-header .brand-text{
    display:none!important;
  }
  .site-header .header-actions{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    justify-content:flex-end!important;
    justify-self:end!important;
    flex-wrap:nowrap!important;
    gap:.4rem!important;
  }
  .site-header .menu-toggle{
    display:inline-flex!important;
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
  }
  .site-header .main-menu{
    grid-column:1 / -1!important;
    grid-row:2!important;
  }
  .site-header .admin-account-slot:empty{
    display:none!important;
  }
  .mobile-accessibility-bar{
    position:sticky;
    top:0;
    z-index:45;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:.45rem .75rem;
    background:rgba(255,255,255,.94);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(18px);
  }
  .mobile-accessibility-bar .accessibility-controls{
    width:100%;
    justify-content:center;
    margin:0;
  }
  .site-header .admin-account-slot .accessibility-controls{
    display:none!important;
  }
  .site-header{
    top:48px!important;
  }
  html[data-theme="dark"] .mobile-accessibility-bar{
    background:rgba(15,23,42,.94);
    border-bottom-color:#334155;
  }
  html[data-theme="dark"] .site-header .menu-toggle,
  html[data-theme="dark"] .menu-toggle{
    background:transparent!important;
    color:#fff!important;
    border-color:#fff!important;
    box-shadow:none!important;
  }
  html[data-theme="dark"] .site-header .menu-toggle:hover,
  html[data-theme="dark"] .site-header .menu-toggle:focus-visible,
  html[data-theme="dark"] .menu-toggle:hover,
  html[data-theme="dark"] .menu-toggle:focus-visible{
    background:transparent!important;
    color:#fff!important;
    border-color:#fff!important;
  }
  html[data-theme="dark"] .site-header .main-menu,
  html[data-theme="dark"] .main-menu,
  html[data-theme="dark"] .main-menu-dropdown-panel{
    background:transparent!important;
  }
  html[data-theme="dark"] .main-menu-dropdown:hover,
  html[data-theme="dark"] .main-menu-dropdown:focus-within,
  html[data-theme="dark"] .main-menu-dropdown-item:hover,
  html[data-theme="dark"] .main-menu-dropdown-item:focus-visible{
    background:transparent!important;
  }
}
@media(min-width:1024px){
  .mobile-accessibility-bar{display:none!important;}
}

/* v263: searchable programme primary responsibility selector */
.programme-responsibility-search{
  width:100%;
  min-height:38px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:.45rem .55rem;
  background:#fff;
  color:#111827;
  font-weight:700;
}
.programme-responsibility-search::placeholder{color:#64748b;font-weight:700;}
html[data-theme="dark"] .programme-responsibility-search::placeholder{color:#cbd5e1;}


/* v267: primary study programme responsibility in employee sidebar uses faculty color */
.employee-sidebar-card-primary{
  background:var(--faculty-color);
  border-color:var(--faculty-color);
  border-top-color:var(--faculty-color);
  color:#fff;
  box-shadow:0 16px 38px color-mix(in srgb,var(--faculty-color) 26%,transparent);
}
.employee-sidebar-card-primary h2{color:#fff;}
.employee-sidebar-card-primary .subject-tags{gap:.55rem;}
.employee-sidebar-card-primary .subject-tag{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.38);
  color:#fff;
}
.employee-sidebar-card-primary .subject-tag:hover,
.employee-sidebar-card-primary .subject-tag:focus-visible{
  background:#fff;
  color:var(--faculty-color);
}
html[data-theme="dark"] .employee-sidebar-card-primary{
  background:var(--faculty-color);
  border-color:var(--faculty-color);
  color:#fff;
}
html[data-theme="dark"] .employee-sidebar-card-primary h2,
html[data-theme="dark"] .employee-sidebar-card-primary .subject-tag{color:#fff;}
html[data-theme="dark"] .employee-sidebar-card-primary .subject-tag:hover,
html[data-theme="dark"] .employee-sidebar-card-primary .subject-tag:focus-visible{color:var(--faculty-color);background:#fff;}

/* v268: programme dashboard tabs by study level */
.admin-programme-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 1rem 0 1.25rem;
}
.admin-programme-tab {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 2.75rem;
  border: 1px solid color-mix(in srgb, var(--primary, #1a3868) 20%, #d7deea);
  border-radius: 999px;
  background: #fff;
  color: var(--primary, #1a3868);
  padding: .55rem .95rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-programme-tab strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--primary, #1a3868) 10%, #fff);
  color: inherit;
  font-size: .85rem;
}
.admin-programme-tab:hover,
.admin-programme-tab:focus-visible,
.admin-programme-tab.is-active {
  background: var(--primary, #1a3868);
  border-color: var(--primary, #1a3868);
  color: #fff;
}
.admin-programme-tab.is-active strong,
.admin-programme-tab:hover strong,
.admin-programme-tab:focus-visible strong {
  background: rgba(255,255,255,.18);
  color: #fff;
}
[data-theme="dark"] .admin-programme-tab {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.45);
}
[data-theme="dark"] .admin-programme-tab strong {
  background: rgba(255,255,255,.12);
  color: #fff;
}
[data-theme="dark"] .admin-programme-tab:hover,
[data-theme="dark"] .admin-programme-tab:focus-visible,
[data-theme="dark"] .admin-programme-tab.is-active {
  background: #fff;
  border-color: #fff;
  color: #111827;
}
[data-theme="dark"] .admin-programme-tab:hover strong,
[data-theme="dark"] .admin-programme-tab:focus-visible strong,
[data-theme="dark"] .admin-programme-tab.is-active strong {
  background: rgba(17,24,39,.1);
  color: #111827;
}
@media (max-width: 767px) {
  .admin-programme-tabs { display: grid; grid-template-columns: 1fr; }
  .admin-programme-tab { width: 100%; border-radius: .95rem; }
}

/* v272: SMTP settings in admin profile + admin dark-mode title readability */
.admin-fieldset{border:1px solid var(--line);border-radius:20px;padding:1rem;margin:.75rem 0;display:grid;gap:.75rem;background:#f8fafc}
.admin-fieldset legend{padding:0 .35rem;font-weight:850;color:#111827}
.form-row.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media(max-width:640px){.form-row.two-cols{grid-template-columns:1fr}}
html[data-theme="dark"] .dashboard-page .dashboard-hero,
html[data-theme="dark"] .dashboard-page .dashboard-card{background:#fff;color:#111827;border-color:#e4e4e7}
html[data-theme="dark"] .dashboard-page .dashboard-hero h1,
html[data-theme="dark"] .dashboard-page .dashboard-card .section-head h1,
html[data-theme="dark"] .dashboard-page .dashboard-card .section-head h2,
html[data-theme="dark"] .dashboard-page .dashboard-card .section-head h3{color:#111827}
html[data-theme="dark"] .dashboard-page .dashboard-card .muted{color:#52525b}
html[data-theme="dark"] .dashboard-page .dashboard-card input,
html[data-theme="dark"] .dashboard-page .dashboard-card select,
html[data-theme="dark"] .dashboard-page .dashboard-card textarea{background:#fff;color:#111827;border-color:#cbd5e1}
html[data-theme="dark"] .dashboard-page .admin-fieldset{background:#f8fafc;border-color:#e4e4e7;color:#111827}
html[data-theme="dark"] .dashboard-page .admin-fieldset legend{color:#111827}
