/* Teacher Studio (R33) — on top of School Connect's look; V3 adds the glass and holographic finish */
.ts-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
.ts-tabs button[aria-selected=true]{background:linear-gradient(180deg,#fff2bf,#ffd15c 50%,#f0a400);color:#2a1700;border-color:#fff3c8}
.ts-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.ts-row>label{flex:1 1 180px}
.ts-list{list-style:none;padding:0;margin:8px 0}.ts-list li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid rgba(130,232,255,.35);border-radius:14px;background:rgba(6,20,56,.5)}
.ts-list li>span{flex:1 1 200px;min-width:0}.ts-list small{display:block;color:#b9d3f4}
.ts-block{border:1px dashed rgba(130,232,255,.5);border-radius:14px;padding:10px 12px;margin:10px 0}
.ts-block header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0}.ts-block header b{color:#91f4ff}
.ts-choice{display:flex;gap:8px;align-items:center;margin:6px 0}.ts-choice input[type=text]{flex:1}.ts-choice input[type=radio]{width:28px;height:28px;flex:none;margin:8px}
.ts-hint{color:#b9d3f4}.ts-ok{color:#5dffb1}.ts-bad{color:#ffb3b3}
.ts-work{border:1px solid rgba(130,232,255,.35);border-radius:14px;padding:12px;margin:10px 0;background:rgba(6,20,56,.5)}
.ts-work blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid #47c8ff;background:rgba(255,255,255,.04);white-space:pre-wrap}
.ts-table{width:100%;border-collapse:collapse;margin-top:8px}.ts-table th,.ts-table td{text-align:left;padding:8px;border-bottom:1px solid rgba(130,232,255,.25)}
fieldset{border:1px solid rgba(130,232,255,.4);border-radius:14px;padding:10px 12px}fieldset label{display:flex;gap:10px;align-items:center;margin:6px 0}fieldset input{width:24px;height:24px}
button.primary{background:linear-gradient(180deg,#fff2bf,#ffd15c 50%,#f0a400);color:#2a1700;border-color:#fff3c8}
button.danger{background:linear-gradient(135deg,#8a1f3a,#5a1a6a)}
.ts-check{display:flex!important;gap:10px;align-items:center}.ts-check input{width:24px;height:24px}
.ts-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:10px 0}.ts-kpi{border:1px solid rgba(130,232,255,.35);border-radius:14px;padding:10px;text-align:center;background:rgba(6,20,56,.5)}.ts-kpi b{display:block;font-size:1.6em;color:#7deeff}.ts-bars{display:flex;align-items:flex-end;gap:4px;height:90px;padding:6px;border-radius:12px;background:rgba(6,20,56,.45)}.ts-bars i{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#7deeff,#6738b8)}.ts-scroll{overflow-x:auto}.ts-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid #87f4ff;color:#fff;text-decoration:none}.fh-warn{border-left:4px solid #ffd15c;padding:6px 10px;background:rgba(255,209,92,.1)}.fh-code{font-size:1.2em;font-weight:800;color:#a5ffdf;overflow-wrap:anywhere}
.ts-radio{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex:none;cursor:pointer}
/* R41: app headers — links on one line, the page name on its own line below, and room on the right for the Sign out button */
body.ts-page>header,body.fh-page>header,body.oc-page>header{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 14px;padding-right:max(18px,128px)!important}
body.ts-page>header>h1,body.fh-page>header>h1,body.oc-page>header>h1,body.ts-page>header>p,body.fh-page>header>p,body.oc-page>header>p{flex:1 1 100%;margin:6px 0;text-align:left}
body.ts-page>header>a,body.fh-page>header>a,body.oc-page>header>a{display:inline-flex;align-items:center;min-height:44px}
body.ts-page main,body.fh-page main,body.oc-page main{padding-bottom:110px}
