/* Quest Guilders — öğretmen paneli */
body.teacher{ overflow:auto; background:radial-gradient(100% 70% at 50% 0%,#3a2410,#120b05 70%) fixed; min-height:100%; }
.t-head{ position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:10px 22px; background:rgba(18,11,5,.88); backdrop-filter:blur(8px); border-bottom:2px solid #2a1706; }
.t-head img{ height:54px; }
.t-head .ttl{ font:800 1.15rem var(--qg-head); }
.t-head .sp{ flex:1; }
.t-main{ max-width:1180px; margin:0 auto; padding:22px 16px 60px; }
.t-card{ padding:16px 18px; margin-bottom:16px; }
.t-card h2, .t-card h3{ margin:0 0 10px; font-family:var(--qg-head); }
.class-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:14px; }
.class-card{ padding:14px 16px; cursor:pointer; transition:transform .12s, border-color .12s; text-align:left; color:inherit; font:inherit; width:100%; }
.class-card:hover{ transform:translateY(-3px); border-color:var(--qg-gold2); }
.class-card .nm{ font:800 1.2rem var(--qg-head); }
.code-pill{ display:inline-block; padding:3px 12px; border-radius:999px; background:#2b1a0a; border:1px dashed var(--qg-gold2); font:800 1.05rem 'Inter',monospace; letter-spacing:.18em; color:#ffe08a; }
.row-flex{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.t-tabs{ display:flex; gap:6px; flex-wrap:wrap; margin:6px 0 14px; }
.t-tabs button{ padding:9px 16px; border-radius:12px 12px 0 0; border:2px solid #2a1706; border-bottom:0; background:rgba(0,0,0,.35); color:var(--qg-muted); font:700 .9rem var(--qg-body); cursor:pointer; }
.t-tabs button.on{ background:linear-gradient(180deg,#8a5a22,#5a3919); color:#fff3d1; }
.tbl-wrap{ overflow:auto; border-radius:12px; border:2px solid #2a1706; background:rgba(0,0,0,.25); }
table.t-tbl{ width:100%; border-collapse:collapse; font-size:.88rem; min-width:860px; }
table.t-tbl th{ position:sticky; top:0; background:#2b1a0a; padding:9px 10px; text-align:left; font:800 .72rem var(--qg-body); letter-spacing:.05em; text-transform:uppercase; color:var(--qg-muted); white-space:nowrap; }
table.t-tbl td{ padding:8px 10px; border-top:1px solid rgba(255,255,255,.08); vertical-align:middle; }
table.t-tbl tr:hover td{ background:rgba(255,255,255,.04); }
.sel{ padding:5px 8px; border-radius:8px; border:2px solid #2a1706; background:#fbf1d3; color:var(--qg-ink); font:600 .82rem var(--qg-body); }
.mini-bar{ width:90px; }
.pw{ font:700 .85rem monospace; letter-spacing:.06em; }
.flex-form{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px; align-items:end; }
.hint-box{ padding:10px 14px; border-radius:12px; background:rgba(227,179,65,.12); border:1px dashed var(--qg-gold2); font-size:.86rem; line-height:1.5; }
.badge{ display:inline-block; min-width:20px; padding:1px 7px; border-radius:999px; background:var(--qg-danger); color:#fff; font:800 .72rem var(--qg-body); text-align:center; }
.q-item{ display:flex; gap:10px; align-items:flex-start; padding:10px 12px; margin-bottom:8px; border-radius:12px; background:rgba(0,0,0,.28); border:2px solid #2a1706; }
.q-item .grow{ flex:1; min-width:0; }
.q-item b{ font-weight:800; }
.q-item.off{ opacity:.55; }
.ta{ width:100%; min-height:90px; padding:10px 12px; border-radius:10px; border:2px solid #2a1706; background:#fbf1d3; color:var(--qg-ink); font:600 .95rem var(--qg-body); resize:vertical; }
.step{ display:flex; gap:12px; align-items:flex-start; margin-bottom:10px; }
.step .n{ flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--qg-gold); color:#2b1a0a; font:800 .95rem var(--qg-body); display:grid; place-items:center; }
.login-wrap{ min-height:100vh; display:grid; place-items:center; padding:18px; }
.award-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.award-grid label{ display:block; font:700 .72rem var(--qg-body); letter-spacing:.05em; text-transform:uppercase; color:var(--qg-muted); margin-bottom:4px; }
.chip-row{ display:flex; gap:6px; flex-wrap:wrap; margin:8px 0; }
.chip-row button{ padding:5px 11px; border-radius:999px; border:2px solid #2a1706; background:rgba(0,0,0,.35); color:var(--qg-text); font:700 .78rem var(--qg-body); cursor:pointer; }
.chip-row button:hover{ border-color:var(--qg-gold2); }
@media (max-width:640px){ .t-head{ padding:8px 12px; } .award-grid{ grid-template-columns:1fr; } }
