/* WAMS 3.1.0 — mobile-first attendance/results + v5 visual language */
.v310-kicker,.v310-priority-hero span,.v310-sheet-hero span,.v310-results-overview span{font-size:.73rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-accent)}
.v310-priority-hero,.v310-sheet-hero,.v310-results-overview{border-radius:24px;background:linear-gradient(135deg,#061a3c,#0a3471);color:#fff;box-shadow:0 18px 50px rgba(6,31,73,.16);padding:28px 30px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:24px}.v310-priority-hero h2,.v310-sheet-hero h1,.v310-results-overview h1{margin:5px 0 6px;color:#fff}.v310-priority-hero p,.v310-sheet-hero p,.v310-results-overview p{margin:0;color:#d9e7fa}.v310-priority-actions{display:flex;gap:8px}.v310-filter-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#fff;padding:16px;border:1px solid #e7edf5;border-radius:18px;margin-bottom:18px;box-shadow:0 7px 24px rgba(15,23,42,.04)}.v310-filter-card label{display:grid;gap:6px;font-weight:800;font-size:.78rem;color:#53647a}.v310-filter-card select,.v310-filter-card input{width:100%}
.v310-roster-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.v310-roster-head span,.v310-roster-head small{color:#76869a;font-size:.75rem}.v310-roster-head h2{margin:2px 0}.v310-roster-head>b{padding:8px 11px;background:#eff5ff;border-radius:999px;color:#0b3c78}.v310-attendance-list{display:grid;gap:9px}.v310-attendance-row{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(360px,2fr) minmax(150px,1fr);gap:12px;align-items:center;padding:13px;border:1px solid #e7edf4;border-radius:16px;background:#fff}.v310-student{display:flex;align-items:center;gap:11px}.v310-student>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eef4ff;color:#0c3a73;font-weight:900}.v310-student div{display:grid}.v310-student small{color:#8290a3}.v310-status-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.v310-status-choice label{cursor:pointer}.v310-status-choice input{position:absolute;opacity:0;pointer-events:none}.v310-status-choice span{display:block;text-align:center;border:1px solid #dce4ee;border-radius:10px;padding:9px 6px;font-size:.75rem;font-weight:850;background:#f8fafc}.v310-status-choice input:checked+span{box-shadow:inset 0 0 0 2px currentColor}.v310-status-choice .status-present input:checked+span{background:#eafaf0;color:#147a3f;border-color:#bfe8cf}.v310-status-choice .status-absent input:checked+span{background:#fff0f0;color:#b42318;border-color:#ffd0cc}.v310-status-choice .status-late input:checked+span{background:#fff8e6;color:#976400;border-color:#f5dea4}.v310-status-choice .status-leave input:checked+span{background:#eef4ff;color:#255aa8;border-color:#cadcff}.v310-att-remark{width:100%}.v310-sticky-save{position:sticky;bottom:12px;margin-top:18px;padding:12px 14px;border-radius:16px;background:rgba(6,31,73,.96);backdrop-filter:blur(12px);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 15px 45px rgba(6,31,73,.24);z-index:8}.v310-sticky-save div{display:grid}.v310-sticky-save small{color:#bcd0ea}
.v310-result-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 18px}.v310-result-tabs a,.v310-result-tabs button{white-space:nowrap;border:1px solid #dce5ef;background:#fff;color:#41546e;border-radius:999px;padding:9px 14px;font-weight:850;cursor:pointer}.v310-result-tabs .active{background:#071f49;color:#fff;border-color:#071f49}.v310-result-grid,.v310-student-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.v310-result-card,.v310-student-results article{background:#fff;border:1px solid #e4eaf2;border-radius:20px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.v310-result-card.published{border-color:#d8eadf}.v310-result-card-top,.v310-student-results article>div:first-child{display:flex;justify-content:space-between;align-items:center}.v310-result-card-top span,.v310-student-results [class^="type-"]{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.69rem;font-weight:900;text-transform:uppercase}.type-daily{background:#eaf3ff;color:#225ea8}.type-weekly{background:#fff6dc;color:#906200}.type-monthly{background:#ecf9ef;color:#237744}.v310-result-card h2,.v310-student-results h2{margin:14px 0 6px;font-size:1.05rem;color:#102a52}.v310-result-card p,.v310-student-results p{margin:0;color:#6c7c91}.v310-result-meta{display:flex;gap:16px;margin:14px 0;color:#66758a}.v310-card-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.v310-card-actions form{margin:0}.v310-subject-quick{display:flex;align-items:end;justify-content:space-between;gap:18px}.v310-subject-quick form{display:flex;gap:8px;flex-wrap:wrap}.v310-builder-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}.v310-builder-head h3{margin:2px 0}.v310-builder-columns{display:grid;gap:8px;margin-bottom:18px}.v310-builder-row{display:grid;grid-template-columns:1fr 140px 38px;gap:8px}.v310-builder-row button{border:0;border-radius:10px;background:#fff0f0;color:#b42318;font-size:1.25rem}.v310-sheet-total{min-width:130px;text-align:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px}.v310-sheet-total small,.v310-sheet-total span{display:block;color:#dbe7f8}.v310-sheet-total strong{display:block;font-size:2.1rem;color:#ffd45a}.v310-column-manager{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.v310-column-pills{display:flex;gap:7px;flex-wrap:wrap}.v310-column-pills>span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#eff5ff;color:#244e83;font-weight:800}.v310-column-pills form{display:inline;margin:0}.v310-column-pills button{border:0;background:transparent;color:#9c2c24;cursor:pointer}.v310-add-column-form{display:flex;gap:7px}.v310-add-column-form input{max-width:150px}.v310-marks-table-wrap{overflow:auto}.v310-marks-sheet table{min-width:920px}.v310-marks-sheet th small,.v310-marks-sheet td small{display:block;color:#8795a8}.v310-mark-input{width:90px;text-align:center}.v310-absent{cursor:pointer}.v310-absent input{display:none}.v310-absent span{padding:7px 9px;border-radius:8px;background:#f4f6f9;color:#78879a;font-weight:900}.v310-absent input:checked+span{background:#fff0f0;color:#b42318}.v310-publish-panel{display:flex;justify-content:space-between;align-items:center;gap:18px}.v310-publish-panel h2{margin:3px 0}.v310-result-score{display:grid!important;grid-template-columns:1fr auto auto;gap:8px;align-items:end!important;margin-top:16px!important}.v310-result-score strong{font-size:1.65rem;color:#0c2d5d}.v310-result-score strong small{font-size:.8rem;color:#8290a2}.v310-result-score>b{color:#47607f}.v310-result-score>span{padding:7px 10px;border-radius:10px;background:#071f49;color:#fff;font-weight:900}.v310-results-count{text-align:center;padding:14px 22px;background:rgba(255,255,255,.09);border-radius:16px}.v310-results-count strong{display:block;font-size:2rem;color:#ffd45a}.v310-results-count span{color:#fff;text-transform:none;letter-spacing:0}.v310-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.v310-settings-grid .span-2{grid-column:1/-1}
.v310-register-page,.v310-verify-page{max-width:900px}.v310-public-card,.v310-verify-card{background:#fff;border:1px solid #e4eaf2;border-radius:28px;padding:34px;box-shadow:0 22px 65px rgba(15,23,42,.08)}.v310-public-intro h1,.v310-verify-card h1{font-size:2.2rem;color:#0a2a58;margin:7px 0}.v310-public-intro p{color:#607188;max-width:680px}.v310-security-points{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 24px}.v310-security-points span{padding:8px 10px;border-radius:10px;background:#f3f7fd;color:#37577d;font-weight:750;font-size:.8rem}.v310-register-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.v310-register-form label{display:grid;gap:6px;font-weight:800;color:#33475f}.v310-register-form .span-2{grid-column:1/-1}.v310-resend-form{display:flex;align-items:end;gap:10px}.v310-resend-form label{display:grid;gap:5px;flex:1}.v310-login-link{text-align:center;margin-top:20px}.v310-login-link a{color:#0b56a1;font-weight:850}.v310-verify-card{text-align:center;max-width:620px;margin:35px auto}.v310-verify-icon{font-size:3rem;color:#1b8c4d}.v310-verify-card.failed .v310-verify-icon{color:#b42318}.v310-id-card{margin:22px auto;padding:18px;border-radius:18px;background:#061f49;color:#fff;max-width:360px}.v310-id-card small,.v310-id-card span{display:block;color:#bed0e8}.v310-id-card strong{display:block;color:#ffd45a;font-size:1.8rem;margin:5px}
@media(max-width:980px){.v310-result-grid,.v310-student-results{grid-template-columns:repeat(2,minmax(0,1fr))}.v310-attendance-row{grid-template-columns:1fr}.v310-column-manager{grid-template-columns:1fr}.v310-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.v310-priority-hero,.v310-sheet-hero,.v310-results-overview{padding:20px;border-radius:19px;align-items:flex-start;flex-direction:column}.v310-filter-card{grid-template-columns:1fr}.v310-result-grid,.v310-student-results,.v310-settings-grid{grid-template-columns:1fr}.v310-settings-grid .span-2{grid-column:auto}.v310-status-choice{grid-template-columns:repeat(2,1fr)}.v310-attendance-row{padding:11px}.v310-register-form{grid-template-columns:1fr}.v310-register-form .span-2{grid-column:auto}.v310-resend-form,.v310-subject-quick,.v310-publish-panel{align-items:stretch;flex-direction:column}.v310-builder-row{grid-template-columns:1fr 100px 38px}.v310-sticky-save{bottom:74px}.v310-public-card{padding:22px}}

.v310-attendance-row.is-saving{opacity:.7}.v310-attendance-row.is-saved{border-color:#8bd2a5;box-shadow:0 0 0 2px rgba(20,122,63,.08)}.v310-attendance-row.is-error{border-color:#ef9a92;background:#fffafa}

.role-checks{border:1px solid #dbe4f0;border-radius:14px;padding:12px;margin:8px 0;display:grid;gap:8px}.role-checks legend{font-weight:800;color:#061f49}.role-checks .check{display:flex;gap:8px;align-items:center}.form-note{display:block;color:#64748b;font-size:.83rem;margin-top:4px}

.multi-role-help-card{border-left:5px solid #d49308;background:#fffaf0}.multi-role-help-card b{display:block;color:#061f49;margin-bottom:4px}.multi-role-help-card p{margin:0;color:#53647a}.role-checks{border:1px solid #dbe4f0;border-radius:14px;padding:12px;margin:8px 0;display:grid;gap:8px}.role-checks legend{font-weight:800;color:#061f49}.role-checks .check{display:flex;gap:8px;align-items:center}.form-note{display:block;color:#64748b;font-size:.83rem;margin-top:4px}
