@import"https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";:root{--primary-navy:#1e3a8a;--primary-blue:#2563eb;--secondary-yellow:#facc15;--accent-yellow:#eab308;--accent-light:#fef08a;--bg-color:#f1f5f9;--card-bg:#fff;--text-dark:#1e293b;--text-light:#f8fafc;--text-muted:#64748b;--border-color:#cbd5e1;--success-color:#10b981;--danger-color:#ef4444;--warning-color:#f97316;--shadow-sm:0 1px 3px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.04);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-flat:4px 4px 0px rgba(30,58,138,.15);--shadow-button:0 2px 4px rgba(30,58,138,.1);--shadow-button-hover:0 4px 8px rgba(30,58,138,.2);--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--border-width:1.5px;--flat-border:var(--border-width) solid var(--primary-navy)}html{overflow-y:scroll;overflow-x:hidden;width:100%}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:Sarabun,sans-serif;background-color:var(--bg-color);color:var(--text-dark);line-height:1.6;font-size:13px;font-weight:300;overflow-x:hidden}#__nuxt,body{min-height:100vh;width:100%}#__nuxt{display:flex;justify-content:center}::placeholder,a,body,button,div,h1,h2,h3,h4,h5,h6,input,input[type=file]::-webkit-file-upload-button,input[type=file]::file-selector-button,label,p,select,span,textarea{font-family:Sarabun,sans-serif!important;font-weight:300!important}.fa,.fa-brands,.fa-light,.fa-regular,.fa-solid,.fab,.fad,.fal,.far,.fas,[class*=" fa-"],[class^=fa-]{font-weight:900!important}.app-container{width:100%;max-width:1000px;background:var(--bg-color);min-height:100vh;position:relative;box-shadow:0 0 40px #0000000d;margin:0 auto;overflow-x:hidden}.app-container,header{display:flex;flex-direction:column}header{background:linear-gradient(135deg,var(--primary-navy) 0,var(--primary-blue) 100%);color:var(--text-light);padding:16px 24px;border-bottom:4px solid var(--accent-yellow);align-items:center;gap:12px;position:sticky;top:0;z-index:100}.header-main{display:flex;align-items:center;gap:16px;width:100%;justify-content:center}.school-logo{width:45px;height:45px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.2))}.header-text{text-align:left}header h1{font-size:15px;font-weight:300;letter-spacing:.5px;text-shadow:1px 1px 2px rgba(0,0,0,.3)}header p{font-size:10px;color:var(--secondary-yellow);font-weight:300;margin-top:2px}.nav-menu{justify-content:space-between;width:100%;border-top:1px solid hsla(0,0%,100%,.15);padding-top:10px;margin-top:4px;position:relative}.nav-link,.nav-menu{display:flex;align-items:center}.nav-link{gap:6px;color:#ffffffd9;text-decoration:none;font-size:13px;padding:6px 10px;border-bottom:2px solid transparent;transition:all .2s ease;white-space:nowrap}.nav-link i{font-size:14px}.nav-link:hover{color:var(--secondary-yellow)}.hamburger-btn{background:none;border:none;color:#ffffffd9;font-size:18px;cursor:pointer;padding:6px 12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:999}.hamburger-btn:hover{color:var(--secondary-yellow);transform:scale(1.05)}.dropdown-menu{position:absolute;top:100%;right:0;background-color:var(--card-bg);border:var(--flat-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:6px 0;display:flex;flex-direction:column;min-width:160px;margin-top:8px;z-index:999;animation:slideDown .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-link{display:flex;align-items:center;gap:10px;color:var(--text-dark);text-decoration:none;font-size:13px;padding:10px 16px;transition:background-color .15s ease,color .15s ease;white-space:nowrap}.dropdown-link i{font-size:14px;width:16px;text-align:center;color:var(--primary-blue)}.dropdown-link:hover{background-color:var(--bg-color);color:var(--primary-navy)}.dropdown-link.router-link-exact-active{background-color:var(--accent-light);color:var(--primary-navy)!important;font-weight:500!important}.dropdown-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:998;background:transparent}@media(max-width:600px){.header-main{gap:10px}.nav-menu{justify-content:space-between;padding:8px 0 4px}.nav-link{font-size:12px;padding:4px 6px}.hamburger-btn{font-size:18px;padding:4px 8px}header{padding:12px 16px}.view{padding:8px 6px}.card{padding:12px;border-radius:var(--radius-sm);margin-bottom:10px}.member-row{flex-wrap:wrap;gap:4px}.admin-scoring-controls{flex-wrap:wrap;gap:6px}.admin-checkin-btn,.admin-rank-select{flex:1 1 120px;justify-content:center}}.view{padding:14px;animation:fadeIn .3s ease;flex:1;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background-color:var(--card-bg);border:var(--flat-border);border-radius:var(--radius-md);box-shadow:var(--shadow-flat);margin-bottom:16px;padding:14px;position:relative;overflow:hidden;width:100%}.card-title{font-size:14px;font-weight:300;color:var(--primary-navy);margin-bottom:10px;display:flex;align-items:center;gap:8px;border-bottom:2px dashed var(--border-color);padding-bottom:6px}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;font-weight:300;color:var(--primary-navy);margin-bottom:4px}.form-control{width:100%;padding:10px 14px;font-size:13px;font-family:inherit;color:var(--text-dark);background-color:var(--bg-color);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);outline:none;transition:all .2s ease}.form-control:focus{border-color:var(--primary-navy);background-color:#fff;box-shadow:0 0 0 3px #2563eb26}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:300;font-family:inherit;border-radius:var(--radius-sm);border:var(--flat-border);cursor:pointer;transition:all .15s ease;width:100%;text-align:center;text-decoration:none;box-shadow:2px 2px #1e3a8a26}.btn:active{transform:translate(2px,2px);box-shadow:0 0 0 transparent}.btn-primary{background-color:var(--secondary-yellow);color:var(--primary-navy)}.btn-primary:hover{background-color:var(--accent-yellow)}.btn-secondary{background-color:#fff;color:var(--primary-navy)}.btn-secondary:hover{background-color:var(--bg-color)}.btn-danger{background-color:var(--danger-color);color:#fff;border-color:#991b1b}.btn-danger:hover{background-color:#dc2626}.btn-success{background-color:var(--success-color);color:#fff;border-color:#065f46}.btn-success:hover{background-color:#059669}.btn-outline-success{background-color:transparent;color:var(--success-color);border-color:var(--success-color)}.btn-outline-success:hover{background-color:var(--success-color);color:#fff}.badge{display:inline-flex;align-items:center;padding:3px 6px;font-size:10px;font-weight:300;border-radius:6px;border:1px solid var(--primary-navy);margin-right:4px;margin-bottom:4px}.badge-level{background-color:#dbeafe;color:#1e40af}.badge-type{background-color:#fef9c3;color:#854d0e}.badge-slots{background-color:#fee2e2;color:#991b1b}.badge-success{background-color:#d1fae5;color:#065f46;border-color:#059669}.badge-honorable{background-color:#f3e8ff;color:#6b21a8;border-color:#c084fc}.badge-rank{font-size:11px;padding:4px 8px;border:2px solid var(--primary-navy);border-radius:12px}.badge-rank-1{background-color:#fef08a;color:#854d0e}.badge-rank-2{background-color:#e2e8f0;color:#475569}.badge-rank-3{background-color:#fed7aa;color:#c2410c}.student-info-badge{background-color:#eff6ff;border:1.5px solid var(--primary-blue);border-radius:var(--radius-sm);padding:10px;margin-bottom:10px;display:flex;align-items:center;gap:12px}.student-info-badge i{font-size:20px;color:var(--primary-blue)}.student-info-badge div{font-size:12px;color:var(--primary-navy);font-weight:300}.challenge-item{border:var(--flat-border);border-radius:var(--radius-md);background-color:#fff;padding:12px;margin-bottom:12px;box-shadow:var(--shadow-sm);position:relative}.challenge-item:hover{box-shadow:var(--shadow-md)}.challenge-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.challenge-title{font-size:14px;font-weight:300;color:var(--primary-navy)}.challenge-meta{font-size:11px;color:var(--text-muted);margin-top:6px;display:grid;grid-template-columns:1fr;gap:4px}.challenge-meta span{display:flex;align-items:center;gap:6px}.challenge-meta i{color:var(--primary-blue)}.accordion-header{background-color:#fff;border:var(--flat-border);border-radius:var(--radius-sm);padding:10px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:8px;font-weight:300;color:var(--primary-navy)}.accordion-content{background-color:#fff;border:var(--flat-border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:12px;margin-top:-10px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.team-item{border-bottom:1.5px solid var(--border-color);padding:10px 0}.team-item:last-child{border-bottom:none}.team-name{font-weight:300;color:var(--primary-navy);font-size:13px;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center}.member-list{padding-left:12px;font-size:12px;color:var(--text-muted)}.member-row{display:flex;justify-content:space-between;margin-bottom:2px}.spinner{width:32px;height:32px;border:3px solid rgba(30,58,138,.1);border-left:3px solid var(--primary-navy);border-radius:50%;animation:spin 1s linear infinite;margin:16px auto}@keyframes spin{to{transform:rotate(1turn)}}.modal{position:fixed;top:0;left:0;height:100%;background-color:#1e3a8a99;z-index:1000;display:flex;align-items:center;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal,.modal-content{width:100%;padding:16px}.modal-content{background-color:#fff;border:var(--flat-border);border-radius:var(--radius-md);max-width:440px;box-shadow:var(--shadow-lg);text-align:center;animation:scaleUp .3s cubic-bezier(.175,.885,.32,1.275);margin:auto}.modal-content.modal-content--cert{max-width:800px}@keyframes scaleUp{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.certificate-canvas{display:block;width:100%;height:auto;aspect-ratio:3508/2480;max-width:100%;border:1px solid var(--border-color);border-radius:var(--radius-sm);margin:0 auto 12px;box-shadow:var(--shadow-sm)}@media(max-width:600px){.modal{padding:8px;align-items:flex-start}.modal-content.modal-content--cert{width:100%;max-width:100%;border-radius:var(--radius-sm);padding:10px;margin-top:8px}}.admin-tab-bar{display:flex;border:var(--flat-border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:14px}.admin-tab{flex:1;text-align:center;padding:8px 4px;font-size:11px;font-weight:300;background-color:#fff;color:var(--primary-navy);border-right:1.5px solid var(--primary-navy);cursor:pointer;transition:all .2s ease}.admin-tab:last-child{border-right:none}.admin-tab.active{background-color:var(--primary-navy);color:#fff}.admin-student-row{border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:8px;margin-bottom:8px;background-color:#fff}.admin-student-name{font-weight:300;font-size:12px;margin-bottom:6px;color:var(--primary-navy)}.admin-scoring-controls{display:flex;gap:10px;align-items:center}.admin-score-input{width:70px;padding:6px;font-size:12px;text-align:center}.admin-checkin-btn,.admin-score-input{border:1.5px solid var(--border-color);border-radius:4px}.admin-checkin-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:11px;background-color:#fff;cursor:pointer;font-weight:300}.admin-checkin-btn.present{background-color:var(--success-color);color:#fff;border-color:#065f46}.admin-rank-select{padding:6px;border:1.5px solid var(--border-color);border-radius:4px;font-size:11px;font-weight:300;font-family:inherit}.certificate-item{border:var(--flat-border);border-radius:var(--radius-md);background:linear-gradient(135deg,#fffbeb,#fff);padding:14px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.certificate-header{font-weight:300;font-size:14px;color:var(--accent-yellow);text-shadow:.5px .5px 0 var(--primary-navy);margin-bottom:6px}.certificate-details{font-size:11px;color:var(--text-muted);margin-bottom:10px}.page-enter-active,.page-leave-active{transition:opacity .25s ease,transform .25s ease}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0;transform:translateY(-10px)}.admin-actions-group{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px;width:100%}.admin-actions-btn{font-size:12px!important;padding:8px 12px!important;box-shadow:none!important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;white-space:nowrap}@media(max-width:850px){.admin-actions-group{display:grid;grid-template-columns:repeat(2,1fr)}.admin-actions-btn{width:100%}}@media(max-width:520px){.admin-actions-group{display:grid;grid-template-columns:1fr}.admin-actions-btn{width:100%}}
