/* HotClass: white surfaces, official red emphasis, neutral secondary content. */
:root{--brand:#d9000d;--green:var(--brand);--deep:#a9000a;--mint:#fff0f1;--cream:#fff;--line:#e5e5e5;--ink:#242424;--muted:#666;--orange:#945800;--shadow:none}
body{background:#fff;color:var(--ink)}
button{border-radius:6px;transition:background-color .15s;min-height:36px}
button:hover{transform:none;filter:brightness(.96)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.secondary{border-color:#d8d8d8}.quiet,.filter{color:#666}.danger{background:#fff0f1;color:#a9000a}
.tag{background:#f3f3f3;color:#525252;border-radius:4px}
.tag.orange{background:#fff6e8;color:#875000}.tag.gray{background:#f1f1f1;color:#666}.tag.success{background:#eef8f1;color:#176b45}
.eyebrow,.nav-label{color:#666;letter-spacing:1px}
.nav button{color:#555;border-radius:6px}.nav button.active{background:var(--mint);color:#ba000b}
.sidebar{border-color:var(--line)}.side-note{display:none}.side-bottom{margin-top:auto;padding-top:24px}
.avatar,.student .avatar,.student:nth-child(3n+2) .avatar,.student:nth-child(3n) .avatar{background:#f2f2f2;color:#555}
.topbar{background:#fff}.top-right{color:#666}.breadcrumb b{font-weight:600}
.hero,.hero-art,.login-art{display:none}
.stats{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;background:#fff}
.stat{border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:none;padding:18px 22px;background:transparent}
.stat:first-child{border-left:0}.stat strong{color:#252525}.stat-top,.stat strong small,.stat .sub{color:#666}.stat-top>span{display:none}
.panel{border:1px solid var(--line);border-radius:8px;box-shadow:none;background:#fff}
input,select,textarea{border-color:#d5d5d5;border-radius:6px;background:#fff}.search{background:#fff}
.student{border-color:#e3e3e3;border-radius:7px;box-shadow:none}.student:hover{border-color:#b7b7b7;box-shadow:none}.student.selected{border-color:var(--brand);background:#fff7f7}
.student-meta{display:none}.student-points strong{color:#262626}.student-points span{color:#666}
.score-buttons,.point-choices{grid-template-columns:repeat(4,minmax(0,1fr))}
.score-buttons button{background:#fff0f1;color:#b9000b;min-height:34px;font-size:13px}
.score-buttons button:nth-child(n+3){background:#f3f3f3;color:#444}
.student-footer{gap:8px}.rank-row{border-color:#e5e5e5;border-bottom-style:solid}.rank-num,.rank-row:first-child .rank-num{color:#666}.rank-row small{color:#666}
.notice{background:#fafafa;border-color:#e5e5e5;color:#606060;border-radius:6px}.mini-event{border-color:#dedede}.mini-event small{color:#666}
.gift{border-color:var(--line);border-radius:8px}.gift-visual,.gift:nth-child(2n) .gift-visual,.gift:nth-child(3n) .gift-visual{background:#fafafa;height:100px;font-size:44px;filter:grayscale(1)}
.gift-body{padding:18px}.gift-price{gap:8px}.gift-visual .tag{background:#fff;color:#555}.tabs button.active{background:var(--mint);color:#b9000b}
th{background:#f7f7f7;color:#555;font-weight:600}td{border-color:#e7e7e7}.package-address{background:#fafafa;color:#555;border-radius:6px}
.shipment-card{background:#fff;border-color:#e5e5e5;border-radius:6px;box-shadow:none}
.empty{background:#fff;border-color:#ddd}.empty b{color:#444}.field,.rule-list{color:#555}
dialog{border-radius:10px;background:#fff;box-shadow:0 12px 45px #0002}dialog::backdrop{background:#0005;backdrop-filter:none}
.choice-field legend{color:#555}.score-choice span{background:#fafafa;border-color:#d8d8d8;color:#444;border-radius:6px}
.score-choice input:checked+span,.score-choice.negative input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:none}
.score-choice input:focus-visible+span{outline:2px solid #890008;outline-offset:3px}.custom-tag{background:#fafafa;border-color:#ddd}.count-pill{color:#666}
#toast{background:#176b45;color:#fff;border-radius:6px;box-shadow:0 4px 16px #0002}#toast::before{content:'✓ ';font-weight:700}#toast.error{background:#a9000a}#toast.error::before{content:'! '}
.demo-banner{background:#f7f7f7;color:#666;border-bottom:1px solid #eee}
.login{align-items:start;gap:70px;margin:56px auto}.login>section:first-child{padding-top:42px}.login h1{letter-spacing:1px;font-weight:650;font-size:40px;line-height:1.45}.login h1 span{color:var(--brand)}
.login-box{border:0;border-left:1px solid #e5e5e5;border-radius:0;box-shadow:none;padding:0 0 0 36px}
.account{border-color:#e0e0e0;border-radius:7px;padding:14px}.account:hover{border-color:#df7b82;background:#fff7f7}.account .arrow{color:var(--brand)}
.login-footer,footer{color:#707070;letter-spacing:0}
.board{background:#fff;color:#222;padding:35px 5vw;border-top:6px solid var(--brand)}
.board-header{padding-bottom:25px;border-bottom:1px solid #e4e4e4}.board-header .brand-wide{padding:0;border-radius:0;background:#fff}
.board h1{font-weight:700}.board .subtitle{color:#555}.board button{background:var(--brand);color:#fff}
.board .podium{gap:22px}.podium-card,.podium-card:first-child{background:#fff;border:1px solid #e0e0e0;border-top:3px solid var(--brand);border-radius:6px;padding:26px 16px}
.podium-card .medal{display:none}.podium-card strong{color:var(--brand);font-size:54px}.podium-card h2{color:#222}.board-row{background:#fafafa;border-radius:4px;border:1px solid #ededed;color:#222}.board-row span{color:#666}.board-row b{color:#b9000b}.board-note{color:#666}
@media(max-width:850px){.stat{padding:15px}.login{gap:28px}.login h1{font-size:32px}}
@media(max-width:600px){.main>.stats{margin-top:8px}.stat{padding:14px 15px}.stat:nth-child(odd){border-left:0}.stat:nth-child(n+3){border-top:1px solid #e5e5e5}.sidebar{background:#fff}.score-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.score-buttons button{font-size:12px;min-height:34px}.point-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.login{margin:12px auto;padding:20px}.login>section:first-child{padding-top:10px}.login h1{font-size:30px;margin:24px 0 14px}.login-box{border:0;border-top:1px solid #e5e5e5;padding:24px 0 0;margin-top:24px}.gift-visual,.gift:nth-child(2n) .gift-visual,.gift:nth-child(3n) .gift-visual{height:90px;font-size:38px}.gift-body{padding:13px}.board{padding:24px 18px}.board-header{padding-bottom:18px}.board .podium{gap:8px}.podium-card,.podium-card:first-child{padding:18px 7px}.podium-card strong{font-size:34px}.board h1{font-size:27px}.board .subtitle{font-size:12px;letter-spacing:1px}}
@media print{body,.board,.panel,.shipment-card{background:white;color:#222;box-shadow:none}.stats{border-color:#ddd}.print-brand img{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Cross-class interest groups keep the existing scoring panel. */
.interest-context{display:flex;flex-wrap:wrap;gap:8px 18px;margin:-5px 0 20px;font-size:12px;color:#555}.interest-context b{color:#a9000a}
.student-original-class{display:block;font-size:11px;color:#666;font-weight:400;line-height:1.5;margin-top:4px;white-space:normal}
.score-source{display:block;font-size:11px;line-height:1.6;color:#666;font-weight:400;margin-top:3px}
dialog:has(.interest-editor){width:800px}.interest-editor section{margin:18px 0}.interest-editor h3{font-size:15px;margin:0}.interest-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:280px;overflow-y:auto;padding:4px;border:1px solid #eee;border-radius:6px}.interest-picker.teachers{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;max-height:170px}
.interest-option{display:flex;align-items:center;gap:9px;padding:9px 7px;font-size:13px;cursor:pointer;min-height:48px;border-radius:4px}.interest-option:has(input:checked){background:var(--mint)}.interest-option input,.interest-filter input{width:17px;height:17px;accent-color:var(--brand);flex:none;padding:0}.interest-option small{display:block;color:#666;font-size:11px}.interest-option span{min-width:0;overflow-wrap:anywhere}.interest-option b{font-weight:500}.interest-filter{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.interest-teacher-section>.muted{font-size:12px}.interest-editor .toolbar select{max-width:100%}
@media(max-width:600px){.interest-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.interest-picker.teachers{grid-template-columns:1fr}.interest-editor .toolbar .search{flex-basis:100%}.interest-editor .toolbar select{flex:1}.teacher-workbench .heading-actions select{max-width:100%;width:100%}.interest-context{display:block}.interest-context span{display:block;margin-top:5px}}

.site-lock-entry{width:100%;margin-top:14px}.site-lock{white-space:nowrap}@media(max-width:600px){.teacher-session .top-right{gap:3px}.teacher-session .top-right .site-lock{padding:6px 4px}.teacher-session .mobile-logo{width:110px}}
