:root{--bg-1: #eef3f7;--bg-2: #f8fbff;--card: #ffffff;--line: #c8d8e8;--text: #1a2530;--muted: #475b6d;--primary: #0b4f8a;--primary-soft: #e4f1ff;--success: #0a7f57;--warn: #a63f00;font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-2) 100%)}*{box-sizing:border-box}body{margin:0;min-height:100vh}.app-container{max-width:980px;margin:0 auto;padding:24px 16px 48px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 24px #0a2a4414;padding:22px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:16px}.form-grid label{display:grid;gap:6px;font-weight:600}input[type=text],input[type=number]{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:14px}.scale-legend{margin:14px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.scale-legend-item{display:grid;gap:3px;border:1px solid var(--line);background:#f6fbff;border-radius:8px;padding:8px}.scale-legend-item small{color:var(--muted)}.questions-list{padding-left:20px;display:grid;gap:14px}.question-card{background:#f9fcff;border:1px solid #d6e6f6;border-radius:10px;padding:14px}.question-card.missing{border-color:#d38c66;background:#fff8f2}.scale-grid{display:grid;gap:10px;margin-top:10px}.scale-grid label{display:flex;align-items:center;gap:8px;border:1px solid #e0ebf7;border-radius:8px;padding:7px 9px;background:#fff}.progress-wrapper{margin:16px 0}.progress-label{display:flex;justify-content:space-between;font-weight:600;margin-bottom:6px}.progress-track{width:100%;height:12px;background:#dbe8f5;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#0d6ab8,#1a9c72);transition:width .2s ease}.warning{color:var(--warn);font-weight:700}.primary-btn,.secondary-btn{border:none;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.primary-btn{background:var(--primary);color:#fff}.secondary-btn{background:var(--primary-soft);color:var(--primary)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.student-data,.totals,.summary{margin:12px 0}.result-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.result-subtitle{color:var(--muted);margin-top:4px}.grade-badge{min-width:144px;background:linear-gradient(145deg,#eff8ff,#e7f7ef);border:1px solid #c4dbe7;border-radius:12px;padding:10px;text-align:center}.grade-badge-label{display:block;font-size:12px;color:var(--muted)}.grade-badge strong{display:block;font-size:34px;line-height:1;color:var(--success);margin:3px 0}.grade-badge small{color:var(--muted)}.scoring-explanation{border:1px solid #d4e4f4;background:#f8fcff;border-radius:10px;padding:12px;margin:16px 0}.scoring-explanation h3{margin-top:0}.scoring-explanation ol{margin-top:8px;margin-bottom:8px}table{width:100%;border-collapse:collapse}th,td{border:1px solid #dbeafe;text-align:left;padding:8px}th{background:#eef6ff}@media (max-width: 640px){.app-container{padding:12px 10px 28px}.card{padding:14px}.result-header{flex-direction:column}.grade-badge{width:100%}}@media print{body{background:#fff}.actions{display:none}}
