﻿/* Teachers Live — PHASE 11 FIX1
   Admin stability + Public home-theme parity. No DB migration. */
:root{
 --tl11-navy:#07182c;--tl11-green:#08745d;--tl11-green2:#0a9877;
 --tl11-gold:#c79a2b;--tl11-bg:#f3f6f2;--tl11-ink:#0b1830;
 --tl11-muted:#667587;--tl11-line:rgba(7,24,44,.09);
 --tl11-shadow:0 20px 60px rgba(7,24,44,.10)
}
/* Admin modal stacking */
body.tl-admin .modal,.tl-admin-shell .modal{z-index:3060!important}
body.tl-admin .modal-backdrop,.modal-backdrop.tl11-admin-backdrop{z-index:3050!important}
.modal.tl11-body-modal{position:fixed!important;inset:0!important}
.modal.tl11-body-modal .modal-dialog{pointer-events:auto}
body.modal-open{overflow:hidden!important}

/* Settings schedule range */
.tl11-schedule-window{position:relative;overflow:hidden}
.tl11-time-range{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:end}
.tl11-time-range-arrow{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eef7f3;color:var(--tl11-green);font-weight:900}
.tl11-settings-hint{color:var(--tl11-muted);font-size:.8rem;line-height:1.8}

/* Public = same navy/emerald/gold identity as Home */
.tl11-public-page{min-height:62vh;color:var(--tl11-ink)}
.tl11-public-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(64px,8vw,108px) 0 clamp(52px,6vw,86px);color:#fff;
 background:radial-gradient(circle at 14% 22%,rgba(199,154,43,.27),transparent 18rem),
 radial-gradient(circle at 88% 35%,rgba(10,152,119,.30),transparent 22rem),
 linear-gradient(135deg,#06172c 0%,#0a2d43 54%,#075a4d 100%)}
.tl11-public-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 1px,transparent 1px 18px),linear-gradient(100deg,rgba(0,0,0,.13),transparent 58%)}
.tl11-public-hero:after{content:"TEACHERS LIVE";position:absolute;inset:auto 3vw -30px auto;font-size:clamp(4rem,10vw,9rem);font-weight:900;letter-spacing:-.07em;white-space:nowrap;color:rgba(255,255,255,.035);pointer-events:none}
.tl11-public-hero .container-xl{position:relative;z-index:2}
.tl11-public-eyebrow{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem .8rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px);font-size:.82rem;font-weight:800}
.tl11-public-eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:#28d4a4;box-shadow:0 0 0 5px rgba(40,212,164,.12)}
.tl11-public-hero h1{max-width:900px;margin:.9rem 0 .8rem;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.08;font-weight:900;letter-spacing:-.045em}
.tl11-public-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.78);line-height:1.9;font-size:1.03rem}
.tl11-public-section{padding:clamp(44px,6vw,76px) 0;background:radial-gradient(circle at 8% 15%,rgba(199,154,43,.055),transparent 18rem),var(--tl11-bg)}
.tl11-public-section.alt{background:#fff}
.tl11-home-card,.tl11-legal-card,.tl11-contact-card,.tl11-error-card{border:1px solid var(--tl11-line);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:var(--tl11-shadow)}
.tl11-home-card{height:100%;padding:1.45rem}
.tl11-home-card h2,.tl11-home-card h3,.tl11-legal-card h2{color:var(--tl11-navy);font-weight:900}
.tl11-home-card p,.tl11-home-card li,.tl11-legal-card p{color:var(--tl11-muted);line-height:1.9}
.tl11-feature-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:1rem;border-radius:15px;background:linear-gradient(135deg,rgba(8,116,93,.11),rgba(199,154,43,.10));color:var(--tl11-green)}
.tl11-feature-icon svg{width:24px;height:24px}
.tl11-clean-list{display:grid;gap:.7rem;list-style:none;padding:0;margin:0}
.tl11-clean-list li{position:relative;padding:.78rem 2.6rem .78rem .8rem;border:1px solid var(--tl11-line);border-radius:14px;background:#fbfcfb}
.tl11-clean-list li:before{content:"✓";position:absolute;right:.9rem;top:.68rem;width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#eaf6f1;color:var(--tl11-green);font-weight:900}
.tl11-legal-card{max-width:980px;margin:0 auto;padding:clamp(1.2rem,3vw,2.2rem)}
.tl11-legal-card h2{font-size:1.08rem;margin:1.7rem 0 .45rem}.tl11-legal-card h2:first-child{margin-top:0}
.tl11-legal-card a{color:var(--tl11-green);font-weight:800}
.tl11-legal-note{display:flex;gap:.7rem;align-items:flex-start;max-width:980px;margin:0 auto 1rem;padding:1rem 1.1rem;border:1px solid rgba(199,154,43,.20);border-radius:16px;background:#fffaf0;color:#765a18}

/* Contact */
.tl11-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.tl11-contact-card{position:relative;overflow:hidden;padding:1.35rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.tl11-contact-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(7,24,44,.14);border-color:rgba(8,116,93,.20)}
.tl11-contact-card-primary{background:radial-gradient(circle at 90% 10%,rgba(199,154,43,.16),transparent 9rem),linear-gradient(145deg,#fff,#f4f9f6)}
.tl11-contact-card-top{display:flex;gap:.85rem;align-items:center;margin-bottom:1rem}
.tl11-social-icon{flex:0 0 auto;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--tl11-navy);color:#fff}
.tl11-social-icon svg{width:23px;height:23px}.tl11-contact-card span,.tl11-contact-card small{display:block;color:var(--tl11-muted)}
.tl11-contact-card strong{display:block;color:var(--tl11-navy);font-size:1.05rem}
.tl11-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.tl11-social-link{display:flex;gap:.75rem;align-items:center;min-height:78px;padding:.9rem;border:1px solid var(--tl11-line);border-radius:18px;background:#fff;text-decoration:none;transition:transform .22s,box-shadow .22s}
.tl11-social-link:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(7,24,44,.09)}
.tl11-social-link .tl11-social-icon{width:42px;height:42px;border-radius:13px;background:#eef7f3;color:var(--tl11-green)}
.tl11-social-link strong{display:block;color:var(--tl11-navy)}.tl11-social-link span{display:block;color:var(--tl11-muted);font-size:.75rem}

/* Errors */
.tl11-error-wrap{min-height:65vh;display:grid;place-items:center;padding:60px 0;background:radial-gradient(circle at 20% 10%,rgba(199,154,43,.10),transparent 20rem),radial-gradient(circle at 85% 70%,rgba(8,116,93,.10),transparent 22rem),var(--tl11-bg)}
.tl11-error-card{position:relative;overflow:hidden;max-width:760px;margin:auto;padding:clamp(1.4rem,4vw,3rem);text-align:center}
.tl11-error-code{display:inline-grid;place-items:center;min-width:112px;height:74px;padding:0 20px;margin-bottom:1.1rem;border-radius:22px;background:linear-gradient(135deg,var(--tl11-navy),#0a4a4c);color:#fff;font-size:2rem;font-weight:900;box-shadow:0 12px 32px rgba(7,24,44,.20)}
.tl11-error-card h1{color:var(--tl11-navy);font-weight:900}.tl11-error-card p{color:var(--tl11-muted);line-height:1.9}
@media(max-width:991.98px){.tl11-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.tl11-contact-grid{grid-template-columns:1fr}.tl11-public-hero{padding-top:54px}}
@media(max-width:575.98px){.tl11-social-grid{grid-template-columns:1fr}.tl11-time-range{grid-template-columns:1fr}.tl11-time-range-arrow{display:none}.tl11-public-hero h1{font-size:2.25rem}.tl11-public-section{padding:34px 0}.tl11-legal-card{border-radius:19px}}
