:root{--ink:#111;--muted:#616161;--line:#cfcfcf;--soft:#fafafa;--paper:#fff;--accent:#552200;--ok:#1a6b43;--warning:#955f00;--danger:#8b1f1f}*{box-sizing:border-box}body{margin:0;padding:24px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.45}.page{max-width:960px;margin:0 auto}header{border:1px solid var(--line);padding:16px;border-radius:10px;margin-bottom:16px}header h1{margin:0 0 4px;font-size:20px;letter-spacing:.2px}header h2{margin:0;font-size:14px;color:var(--muted);font-weight:600}.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;font-size:13px}.field{border:1px solid var(--line);border-radius:8px;padding:8px;min-height:44px}.label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.field input,.field select{width:100%;padding:7px;border:1px solid #aaa;border-radius:5px;font:inherit}.instructions{border-left:4px solid var(--line);padding:12px 14px;margin:14px 0 18px;font-size:13px}.instructions ul{margin:8px 0 0 18px;padding:0}.exam{display:grid;gap:14px}.q{border:1px solid var(--line);border-radius:10px;padding:14px}.qhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.title{font-weight:700;font-size:14px}.points{font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap}.prompt{margin:0 0 10px;font-size:14px;line-height:1.5}.answer-wrap{position:relative}.answer{display:block;width:100%;border:1px dashed #bdbdbd;border-radius:8px;padding:10px;background-color:#fafafa;font:inherit;line-height:21px;resize:vertical;background-image:repeating-linear-gradient(to bottom,transparent,transparent 20px,rgba(0,0,0,.07) 21px)}.answer:focus{outline:3px solid rgba(85,34,0,.18);border-color:var(--accent);background-color:#fff}.counter{font-size:12px;color:var(--muted);text-align:right;margin-top:5px}.counter.over{color:var(--danger);font-weight:700}.footer{margin-top:16px;font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.button{appearance:none;border:0;border-radius:7px;padding:10px 14px;background:var(--accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.button:hover{filter:brightness(.92)}.button.secondary{background:#555}.button.danger{background:var(--danger)}.button.light{background:#e9e9e9;color:#222}.button[disabled]{opacity:.55;cursor:not-allowed}.notice{border-radius:8px;padding:12px 14px;margin:12px 0;border:1px solid var(--line);background:#f8f8f8}.notice.ok{border-color:#86c6a4;background:#f0fbf4}.notice.warning{border-color:#e3bb73;background:#fff9eb}.notice.error{border-color:#dd9999;background:#fff3f3}.timer{margin:14px 0;padding:10px 13px;border-radius:8px;border:1px solid #d6c4b5;background:#fffaf5;display:flex;justify-content:space-between;align-items:center;font-weight:700}.timer strong{font-variant-numeric:tabular-nums}.deadline-notice{position:sticky;top:12px;z-index:10;border:2px solid #e3bb73;background:#fff9eb;color:#563300;border-radius:8px;padding:11px 13px;margin:12px 0;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.08)}.deadline-notice.urgent{border-color:#bb4a3f;background:#fff0ee;color:#7b1d17}.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.muted{color:var(--muted)}.small{font-size:12px}.required{color:var(--danger)}.admin-shell{max-width:1200px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:10px;border-bottom:1px solid #e4e4e4;text-align:left;vertical-align:top}.table th{background:#f5f5f5;white-space:nowrap}.badge{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#eee}.badge.abierto{background:#dff4e7;color:#165d38}.badge.pendiente{background:#fff0cd;color:#785000}.badge.cerrado,.badge.inactivo{background:#eee;color:#555}.badge.entregado,.badge.auto-entregado{background:#dff4e7;color:#165d38}.badge.en-curso{background:#fff0cd;color:#785000}.badge.caducado{background:#f6dfdf;color:#821f1f}.admin-form{display:grid;gap:13px}.admin-form label{font-size:13px;font-weight:700}.admin-form input,.admin-form textarea,.admin-form select{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid #aaa;border-radius:6px;font:inherit}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.question-editor{border:1px solid var(--line);border-radius:8px;padding:12px;margin:12px 0;background:#fdfdfd}.question-editor-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.link{color:#552200;font-weight:700}.read-answer{white-space:pre-wrap;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fafafa;min-height:80px}@media(max-width:700px){body{padding:14px}.meta,.grid2,.grid3{grid-template-columns:1fr}.actions,.admin-header{align-items:flex-start;flex-direction:column}.timer{align-items:flex-start;flex-direction:column;gap:3px}}@media print{body{padding:0}.page{max-width:none}.no-print{display:none!important}.q{break-inside:avoid}a{color:inherit;text-decoration:none}}
