/* Tanári oldal, egy osztály (2026-10-18, Barnabás: „nem elég letisztult”): felül a kód, alatta három választás –
   Óra most · Házi · Ki hol tart. A választás alatta nyitja a saját részét; osztálynézetben a fiók-dobozok nem látszanak. */
.tc-back{margin-top:24px;font-size:14px}
.tc-head{display:grid;gap:14px;margin-top:10px}
.tc-title h2{margin-top:6px}
.tc-head .codebox{padding:18px 22px;gap:20px}
.tc-code-help{font-size:13px;margin-top:6px;max-width:46ch}
/* Élő csatlakozás-sor a kód alatt (2026-10-20): kicsi, halvány; ha nő a szám, a szám rövid arany kiemelést kap (a mozgáscsökkentést a site.css kezeli) */
.tc-joins{margin:6px 0 0;min-height:1.4em;font-size:13.5px;line-height:1.4;color:var(--muted);max-width:46ch}
.tc-joins #t-first-count{font-size:inherit;font-weight:600;color:var(--fg-2);border-radius:4px}  /* a site.css régi első-óra szabálya (20px, arany) itt nem kell */
.tc-joins #t-first-count.is-new{animation:tcJoinNew 2.4s ease-out}
@keyframes tcJoinNew{0%,35%{background:var(--gold-soft);box-shadow:0 0 0 4px var(--gold-soft);color:var(--gold)}100%{background:transparent;box-shadow:0 0 0 4px transparent}}
.tchoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:22px}
.tchoice{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--panel)}
.tchoice-main{border:2px solid var(--gold-line,var(--gold))}
.tchoice.on{border-color:var(--gold);background:var(--gold-soft,rgba(245,179,43,.08))}
.tc-step{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.tchoice h3{margin:0;font-size:22px}
.tchoice p.muted{margin:0;font-size:14px;line-height:1.45}
.tchoice .start-top{margin-top:auto;display:flex}
.tchoice .start-top .btn,.tchoice>.btn{width:100%;justify-content:center;text-align:center}
.tchoice>.btn{margin-top:auto}
.tc-sum{margin:0;min-height:1.3em;font-size:13px;color:var(--muted)}
.tc-sum.warn{color:var(--gold-hi,#ffcf7e)}
.tc-info{margin-top:18px}.tc-info p{margin:10px 0 0;line-height:1.55;font-size:14.5px;max-width:72ch}
/* Gépen a négy kártya gombjai egy vonalban (2026-10-20, Barnabás): a kártyák sorai közös rácson (subgrid) – lépés, cím, leírás, gomb, összegzés. */
@supports (grid-template-rows:subgrid){.tchoice{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:8px}.tchoice .start-top,.tchoice>.btn{margin-top:0;align-self:start}}
.tview{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.tview-h{font-size:24px;margin:0 0 6px}
.tc-settings{margin-top:28px}
#t-app.in-class .acct-head,#t-app.in-class #t-edit-form,#t-app.in-class #t-feedback,#t-app.in-class #t-lektor,#t-app.in-class .t-delete-panel{display:none}
/* Házi: négy lépés egymás alatt */
.hz-steps{display:grid;gap:12px;margin-top:12px}
.hz-step{display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.hz-step-h{font-weight:700;font-size:15px;color:var(--fg)}
.hz-step-h span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:var(--gold);color:var(--gold-ink,#1a1200);font-size:13px}
.hz-step .hz-row{margin:0}
.hz-list-h{margin-top:26px}
/* telefonon a QR és a link egy gomb mögött, hogy a három választás rögtön a kód alatt legyen */
.tc-qr-btn{display:none;margin-top:10px}
@media (max-width:760px){.tc-head .codelink{display:none}.tc-head .codebox.show-qr .codelink{display:block}.tc-qr-btn{display:inline-flex}}
body:has(#t-app.in-class) .pagehead{display:none}
/* Heti házi (2026-10-20): beállítás, teljesítési sáv (ez a hét), az elmúlt 6 hét tanulónként; alatta az egyszeri házi lenyitva */
.hzw{border:1px solid var(--gold-line);border-radius:14px;padding:14px 16px;margin-top:12px;background:var(--gold-soft)}
.hzw-h{margin:0;font-size:18px}
.hzw-intro{margin:4px 0 0;font-size:14px}
.hzw-head{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:baseline;margin-top:8px;font-size:14.5px}
.hzw-actions{display:flex;gap:14px}
.hzw-paused{color:var(--gold-hi)}
.hzw-week{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--panel)}
.hzw-week-h{font-size:14px}.hzw-week-h .linkbtn{margin-left:10px}
.hzw-bar{display:flex;height:14px;border-radius:7px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px}
.hzw-bar i{display:block;height:100%}
.hzw-kesz{background:var(--good)}.hzw-kesve{background:rgba(61,220,132,.5)}.hzw-elkezdte{background:var(--gold)}.hzw-nem{background:rgba(255,255,255,.22)}
.hzw-count{margin:8px 0 4px;font-size:14px}
.hzw-who{margin:4px 0;font-size:13.5px;color:var(--fg-2)}
.hzw-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:baseline}
.hzw-next{margin:10px 0 0;font-size:14px}
.hzw-six h5{margin:16px 0 6px;font-size:14px;font-weight:600}
.hzw-grid td,.hzw-grid th{padding:5px 8px;font-size:13px}.hzw-grid th small{font-size:11px;color:var(--gold)}
.hzw-grid tfoot td{color:var(--muted);border-top:1px solid var(--line)}
.hzw-c{font-weight:700}.hzw-c-kesz{color:var(--good)}.hzw-c-kesve{color:rgba(61,220,132,.6)}.hzw-c-elkezdte{color:var(--gold)}.hzw-c-nem{color:var(--bad);opacity:.75}.hzw-c-na{color:var(--dim)}
.hzw-legend{font-size:12.5px;margin:6px 0 0}
.hzw-check{display:flex!important;gap:10px;align-items:flex-start;font-size:13.5px!important;color:var(--fg-2)!important;line-height:1.45}
.hzw-check input{width:18px;height:18px;margin-top:2px;flex:none}
.hzw-soon{margin:0;font-size:13px}.hzw-weak{margin:0;font-size:13.5px}
.hzw-parent{margin-top:12px}.hzw-parent p{margin:0;font-size:13.5px}
.hzw-sample{margin-top:8px}.hzw-sample-h{margin:0 0 6px;font-size:13px}
.hzw-frame{width:100%;height:660px;border:1px solid var(--line);border-radius:10px;background:#f4f5f8}
.hz-once{margin-top:22px;border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.hz-once>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;justify-content:flex-start}
.hz-once>summary h4{display:inline;margin:0;font-size:18px}
.hz-once>summary span{font-size:13.5px}

/* Osztálynézet, kevesebb információ egyszerre (2026-10-27, Barnabás telefonról: „annyi infó ömlik a tanárokra, hogy elvesznek”):
   a GYIK-hez írt globális details-kártya ne ágyazódjon a panelekbe, a panelek lapos szakaszok legyenek egy keretben, telefonon
   kompakt kártyasorok és háromoszlopos tanulólista (a többi a névre koppintva nyílik). */
.tview details,.osszegzo details{background:none;border:0;border-radius:0;padding:0}
.tview details p,.osszegzo details p{padding-bottom:0;max-width:none}
.tview>.panel{background:none;border:0;border-radius:0;padding:14px 0 0;margin-top:16px;border-top:1px solid var(--line)}
.tview>.panel.after-lesson{border-top-color:#f5b32b66}
.tview>details.kset{margin-top:16px!important;padding-top:6px;border-top:1px solid var(--line)}
.osz-sum{color:var(--fg-2)}
.osz-tasks li{padding:10px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none}
.osz-tasks li:first-child{border-top:0}
.osz-more{margin-top:6px}
.m-extra{display:none}
@media (max-width:640px){
  .tc-step{display:none}
  .tchoices{gap:10px;margin-top:16px}
  .tchoice{padding:14px 16px;gap:6px}
  .tchoice:not(.tchoice-main){grid-row:auto;grid-template-rows:none;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;align-items:center}
  .tchoice:not(.tchoice-main) h3{grid-column:1;grid-row:1;font-size:19px}
  .tchoice:not(.tchoice-main) p.muted{grid-column:1/-1;grid-row:2}
  .tchoice:not(.tchoice-main)>.btn{grid-column:2;grid-row:1;width:auto;min-height:44px;padding-inline:12px;font-size:15px}
  .tchoice:not(.tchoice-main) .tc-sum{grid-column:1/-1;grid-row:3;min-height:0}
  .tchoice:not(.tchoice-main) .tc-sum:empty{display:none}
  .tview{padding:14px}
  #t-members .tbl .m-x{display:none}
  #t-members .m-extra{display:block;margin-top:10px;font-size:13.5px}
  #t-members .m-extra p{margin:4px 0}
}

/* Házi nézet és osztálylista (2026-10-27, ugyanaz az ok: kevesebb információ egyszerre) */
.tview .hzw{border:0;background:none;padding:0;margin-top:4px}
.tview .hz-step{border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0 0}
.tview .hz-steps>.hz-step:first-child{border-top:0;padding-top:0}
.tview .hzw-week{border:0;border-radius:0;background:none;padding:12px 0 0;margin-top:12px;border-top:1px solid var(--line)}
.tview details.hzw-six,.tview details.hz-closed,.tview details.hz-once{border:0;border-top:1px solid var(--line);border-radius:0;padding:0;margin-top:14px}
.tview details.hz-once{padding-top:0;margin-top:18px}
.hzw-six>summary,.hz-closed>summary,.hz-once>summary{cursor:pointer;padding:12px 0;font-size:14.5px;font-weight:600}
.tview details.hzw-done{margin:6px 0 0}
.hzw-done>summary{cursor:pointer;padding:6px 0;font-size:13.5px;font-weight:600;color:var(--muted)}
.tview .hazi-item{border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 0}
.hz-bank-hint{font-size:13px;margin-left:6px;font-weight:400}
.kc-line{margin:8px 0 0;font-size:14px;color:var(--muted)}
.newclass{margin-top:22px}
.newclass>summary{cursor:pointer;font-weight:700;color:var(--gold)}
.newclass form{margin:12px 0 18px}
.hz-bank>summary{font-size:16px;gap:8px}
@media (max-width:640px){
  .hz-once>summary .muted{display:none}
  .kid-card{padding:16px}
  .kid-card .kc-top{flex-wrap:nowrap;gap:12px}
  .kid-card .kc-top>div:first-child{min-width:0}
}
.tc-info ul{margin:10px 0 0;padding-left:20px;display:grid;gap:8px;font-size:14.5px;line-height:1.5;max-width:72ch}
/* Új fiók (2026-11-03): az első képernyőn csak e-mail, hozzájárulás és a gomb; a nem kötelező mezők lenyitva, a bevezető kimarad. */
.t-uj .t-lead{display:none}
.auth-box details.t-opt{margin:0 0 12px;padding:0;background:none;border:0;border-radius:0}
.auth-box details.t-opt>summary{min-height:44px;display:flex;align-items:center;padding:0;font-size:14.5px;font-weight:500;color:var(--muted);cursor:pointer}
.auth-box details.t-opt>label{margin-top:8px}
