:root{--primary:#175a42;--primary-dark:#103f30;--bg:#f5f7f6;--border:#e0e8e3;--text:#172720;--muted:#60736a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Noto Sans Devanagari",sans-serif;line-height:1.5}
.container{width:min(100% - 28px,920px);margin:35px auto 28px}
.header{text-align:center;margin-bottom:24px}.header-icon{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 8px;background:#e7f2ec;border-radius:16px;font-size:28px}
.header h1{font-size:29px;margin:0;color:var(--primary-dark)}.header p{margin:4px 0;color:var(--muted);font-size:15px}
.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:25px;box-shadow:0 4px 20px rgba(16,50,33,.035)}
.search-panel h2{font-size:19px;margin:0 0 18px}.search-panel h2 span{font-size:14px;font-weight:normal;color:var(--muted);margin-left:5px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:13px;font-weight:700}
.field select,.field input{width:100%;height:45px;padding:0 12px;border:1px solid #cad7cf;background:#fff;border-radius:7px;color:var(--text);font:inherit;font-size:14px;outline:none}
.field select:focus,.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #e6f3eb}
.search-button,.print-button{cursor:pointer;font-weight:700;border-radius:7px;transition:background .15s}
.search-button{display:block;margin-top:18px;min-width:155px;padding:12px 19px;border:0;background:var(--primary);color:#fff;font-size:14px}.search-button:hover{background:var(--primary-dark)}
.message{margin:16px 0 0;border:1px solid #f0c7c7;border-radius:7px;background:#fff1f1;color:#9d2424;padding:10px 13px;font-size:14px}
.result-panel{margin-top:22px}.result-header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding-bottom:14px}
.result-header h2{margin:0;color:var(--primary-dark);font-size:21px}.muted{margin:3px 0 0;color:var(--muted);font-size:13px}
.print-button{background:#fff;border:1px solid var(--primary);padding:9px 15px;color:var(--primary);white-space:nowrap}.print-button:hover{background:#eff7f2}
.student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;padding:20px 0}.item small,.total-row small{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}.item strong{font-size:14px;word-break:break-word}
.result-panel h3{font-size:16px;margin:8px 0 12px}.table-scroll{width:100%;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;min-width:640px}th{background:#eff5f1;color:#284d3a;font-weight:700}td,th{border:1px solid var(--border);padding:10px 9px}tbody tr:nth-child(even){background:#fafcfb}td.num{text-align:center}td.total-cell{font-weight:700;color:var(--primary-dark)}
.total-row{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#f0f8f3;padding:17px;border-radius:8px;border:1px solid #d6e7dd}.total-row strong{font-size:22px;color:var(--primary-dark)}.total-row .pass{color:#177a42}.total-row .fail{color:#c0392b}
.result-note{font-size:12px;line-height:1.6;color:#8a5e14;background:#fff9eb;border:1px solid #f3e1b4;padding:10px 12px;border-radius:7px;margin:13px 0 0}
.footer{text-align:center;font-size:12px;color:#73837a;margin-top:18px}
[hidden]{display:none!important}
@media(max-width:620px){.container{margin:22px auto}.header h1{font-size:25px}.panel{padding:18px}.fields{grid-template-columns:1fr}.search-button{width:100%}.student-grid{grid-template-columns:1fr 1fr;gap:14px 10px}.item strong{font-size:13px}.result-header h2{font-size:18px}.print-button{font-size:12px;padding:8px}.total-row{gap:7px;padding:12px}.total-row strong{font-size:19px}}
@media print{body{background:#fff}.container{width:100%;margin:0}.header{display:none}.search-panel,.print-button,.footer{display:none!important}.panel{border:0;box-shadow:none;padding:0}.result-panel{margin:0}.table-scroll{overflow:visible}table{min-width:0}thead{display:table-header-group}.total-row{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
