@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@400;500;600;700&display=swap');
:root{--primary:#1463d6;--dark:#0c2f63;--soft:#eef5ff}*{font-family:'Sarabun',sans-serif}body{background:#f4f7fb;color:#203047}.ea-navbar{background:linear-gradient(135deg,var(--dark),var(--primary));box-shadow:0 4px 18px rgba(18,60,120,.2)}.ea-menu{background:#fff;border-bottom:1px solid #e5ebf3}.ea-menu a{display:inline-block;padding:12px 18px;color:#31445f;font-weight:600}.ea-menu a:hover{text-decoration:none;color:var(--primary);background:var(--soft)}.page-head h1{font-size:1.7rem;font-weight:700}.card{border:0;border-radius:16px}.stat-card{background:#fff;border-radius:16px;padding:22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 24px rgba(18,60,120,.08);margin-bottom:18px}.stat-card small{display:block;color:#74859c}.stat-card strong{font-size:2rem}.stat-card i{font-size:2.3rem;color:var(--primary);opacity:.75}.table thead th{border-top:0;background:#f6f9fd}.room-grid{display:flex;flex-wrap:wrap;gap:10px}.room-check input{display:none}.room-check span{display:block;padding:9px 14px;border:1px solid #cfd9e8;border-radius:10px;background:#fff}.room-check input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary)}.answer-key-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.key-item{background:#fff;border:1px solid #dfe7f2;border-radius:14px;padding:0 10px 12px;overflow:hidden;box-shadow:0 5px 16px rgba(18,60,120,.07);transition:transform .15s ease,box-shadow .15s ease}.key-item:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(18,60,120,.12)}.key-item-head{background:linear-gradient(135deg,var(--dark),var(--primary));color:#fff;margin:0 -10px 11px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;min-height:42px}.key-item-head b{display:block;margin:0}.copy-prev-answer{border:0;background:rgba(255,255,255,.18);color:#fff;border-radius:7px;padding:3px 7px;font-size:.72rem;line-height:1.2}.copy-prev-answer:hover{background:#fff;color:var(--primary)}.answer-key-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#f5f8fc;border:1px solid #e0e8f2;border-radius:12px;padding:10px 12px}.answer-key-tools-label{font-weight:700;color:#34465e}.answer-key-bulk-buttons{display:flex;flex-wrap:wrap;gap:6px}.key-choices{display:flex;gap:4px}.key-choices label{flex:1}.key-choices input{display:none}.key-choices span{display:flex;width:34px;height:34px;align-items:center;justify-content:center;margin:0 auto;border:2px solid #d6dfec;border-radius:50%;background:#fff;font-weight:700;line-height:1;transition:all .15s ease}.key-choices input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 3px 9px rgba(20,99,214,.25);transform:scale(1.06)}.student-profile{background:linear-gradient(135deg,#0d3d81,#2185e8);color:#fff;border-radius:18px;padding:22px;display:flex;gap:18px;align-items:center}.student-profile>div{font-size:3rem}.exam-card{background:#fff;border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(18,60,120,.09);margin-bottom:22px;height:calc(100% - 22px)}.exam-card-head{display:flex;justify-content:space-between}.exam-card h3{font-size:1.25rem;margin-top:16px}.exam-card h5{color:#64748b}.score-box{background:#eaf8ef;color:#13753b;padding:10px;border-radius:10px;text-align:center;font-weight:700;margin-bottom:14px}.empty-state{text-align:center;background:#fff;padding:60px;border-radius:18px}.empty-state i{font-size:4rem;color:#b9c5d6}.answer-top{background:#fff;border-radius:16px;padding:18px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px 20px rgba(18,60,120,.07)}.answer-progress{background:var(--soft);color:var(--primary);padding:10px 14px;border-radius:12px;font-weight:700}.mobile-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.question-row{background:#fff;border-radius:14px;padding:12px;display:flex;align-items:center;box-shadow:0 5px 16px rgba(18,60,120,.06)}.question-no{width:38px;height:38px;border-radius:50%;background:#edf3fb;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:10px}.choices{display:flex;flex:1;gap:5px}.choices label{flex:1;margin:0;display:flex;justify-content:center}.choices input{display:none}.choices span{display:flex;width:40px;height:40px;min-width:40px;align-items:center;justify-content:center;border:2px solid #cbd6e5;border-radius:50%;font-size:1.05rem;font-weight:700;line-height:1;background:#fff;transition:all .15s ease}.choices input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 3px 9px rgba(20,99,214,.3);transform:scale(1.05)}.sticky-submit{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:14px;margin:20px -15px -24px;display:flex;gap:10px;justify-content:center;box-shadow:0 -5px 18px rgba(0,0,0,.08);z-index:10}.login-body{min-height:100vh;background:linear-gradient(135deg,#092955,#1977dd);display:flex;align-items:center;justify-content:center;padding:20px}.login-wrap{width:100%;max-width:470px}.login-brand{text-align:center;color:#fff;margin-bottom:22px}.brand-icon{font-size:3rem}.login-brand h1{font-size:1.8rem;font-weight:700}.login-card{box-shadow:0 20px 60px rgba(0,0,0,.25)}.login-type{display:grid;grid-template-columns:1fr 1fr;gap:10px}.login-type input{display:none}.login-type span{display:block;text-align:center;padding:14px;border:1px solid #d5deea;border-radius:12px}.login-type input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary)}@media(max-width:767px){main.container-fluid{padding-left:10px;padding-right:10px}.ea-navbar .navbar-brand{font-size:1rem}.page-head h1{font-size:1.35rem}.mobile-answer-grid{grid-template-columns:1fr}.question-row{padding:10px}.choices span{width:44px;height:44px;min-width:44px;font-size:1.1rem}.sticky-submit .btn{flex:1}.answer-top{align-items:flex-start}.student-profile{padding:16px}.student-profile>div{font-size:2.3rem}}

/* Student access selector */
.student-access-list{max-height:430px;overflow-y:auto;border:1px solid #dfe7f1;border-radius:12px;padding:8px;background:#f8fafc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-access-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e5eaf0;border-radius:10px;padding:10px 12px;margin:0;cursor:pointer;transition:.18s}.student-access-item:hover{border-color:#80aef3;box-shadow:0 2px 8px rgba(20,80,160,.08)}.student-access-item input{position:absolute;opacity:0;pointer-events:none}.student-access-check{width:26px;height:26px;min-width:26px;border:2px solid #aebdce;border-radius:50%;display:flex;align-items:center;justify-content:center;color:transparent}.student-access-item input:checked+.student-access-check{background:#1769d2;border-color:#1769d2;color:#fff}.student-access-info{min-width:0;display:flex;flex-direction:column}.student-access-info b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-access-info small{color:#6c757d}.student-access-item.is-hidden{display:none}@media(max-width:767.98px){.student-access-list{grid-template-columns:1fr;max-height:480px}.student-access-item{padding:12px 10px}}

@media(max-width:1199.98px) and (min-width:768px){.answer-key-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767.98px){.answer-key-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.key-item{padding-left:7px;padding-right:7px}.key-item-head{margin-left:-7px;margin-right:-7px;padding-left:8px;padding-right:8px}.key-choices span{width:32px;height:32px}.copy-prev-answer{font-size:.65rem;padding:3px 5px}.answer-key-tools{align-items:flex-start}.answer-key-tools-label{width:100%}}
