:root{
  --bg:#0d0d0f;
  --panel:#17171b;
  --panel2:#202026;
  --text:#f5f5f7;
  --muted:#a9a9b2;
  --line:#303038;
  --accent:#d91f32;
  --accent2:#b41627;
  --ok:#48b36b;
  --warn:#e7a638;
  --danger:#e55b66;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}
body{min-height:100vh}
.shell{max-width:1120px;margin:0 auto;padding:28px 20px 56px}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--accent);display:grid;place-items:center;font-weight:800}
.brand h1{font-size:20px;margin:0}.brand small{display:block;color:var(--muted);margin-top:2px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 16px 40px rgba(0,0,0,.18)}
.card+.card{margin-top:18px}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}}
h2,h3{margin-top:0}h2{font-size:26px}h3{font-size:18px}.muted{color:var(--muted)}
label{display:block;font-size:13px;color:#d8d8dc;margin:0 0 7px}.field{margin-bottom:16px}
input,select,textarea{width:100%;background:#111115;color:var(--text);border:1px solid #3a3a43;border-radius:10px;padding:12px 13px;font:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(217,31,50,.13)}
textarea{min-height:96px;resize:vertical}.help{font-size:12px;color:var(--muted);margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;background:var(--panel2);color:var(--text)}
.btn-primary{background:var(--accent)}.btn-primary:hover{background:var(--accent2)}.btn-danger{background:#6f2028}.btn-ghost{border:1px solid var(--line);background:transparent}.btn-sm{padding:8px 11px;font-size:13px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.actions.end{justify-content:flex-end}
.alert{padding:13px 15px;border-radius:11px;border:1px solid var(--line);margin:0 0 16px;background:#141419}.alert-ok{border-color:rgba(72,179,107,.5)}.alert-error{border-color:rgba(229,91,102,.55);color:#ffd8dc}.alert-warn{border-color:rgba(231,166,56,.5)}
.checklist{list-style:none;padding:0;margin:0}.checklist li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px}.checklist li:last-child{border-bottom:0}.status-ok{color:var(--ok)}.status-bad{color:var(--danger)}.status-warn{color:var(--warn)}
.steps{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.step{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.step.active{color:#fff;border-color:var(--accent);background:rgba(217,31,50,.12)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{padding:9px 11px;border-radius:9px;color:var(--muted)}.nav a:hover,.nav a.active{background:var(--panel);color:#fff}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.stat strong{display:block;font-size:28px;margin-top:8px}.stat span{color:var(--muted);font-size:13px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}th{color:var(--muted);font-weight:600}.table-wrap{overflow:auto}.badge{display:inline-block;padding:5px 8px;border-radius:999px;background:#28282f;font-size:12px}.badge-ok{background:rgba(72,179,107,.14);color:#8ce3a7}.badge-red{background:rgba(217,31,50,.15);color:#ff99a4}
.codebox{background:#0b0b0e;border:1px solid var(--line);padding:14px;border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}
hr{border:0;border-top:1px solid var(--line);margin:22px 0}
.right{text-align:right}.small{font-size:12px}.searchrow{display:flex;gap:10px;margin-bottom:16px}.searchrow input{flex:1}

/* V0.1.2 · Pruebas del motor */
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.test-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.rewrite-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rewrite-actions select{width:auto;min-width:150px}
.correction-list{display:grid;gap:10px}
.correction-item{display:flex;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#121216}
.correction-number{width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:#25252c;display:grid;place-items:center;font-weight:800;font-size:12px;color:var(--muted)}
.correction-main{min-width:0}
.correction-type{font-size:12px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}
.correction-change{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-weight:800;margin-bottom:5px}
.wrong{color:#ff9ba5;text-decoration:line-through;text-decoration-thickness:2px}.right-word{color:#8ce3a7}.arrow{color:var(--muted)}
.result-box{background:#101014;border:1px solid var(--line);border-radius:12px;padding:16px;line-height:1.55;min-height:58px;white-space:normal;overflow-wrap:anywhere}
.empty-state{border:1px dashed var(--line);border-radius:12px;padding:18px;color:var(--muted);text-align:center}
.test-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:18px}.test-meta-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.test-meta>div{background:#121216;border:1px solid var(--line);border-radius:10px;padding:11px}.test-meta span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.test-meta strong{display:block;font-size:13px;overflow-wrap:anywhere}
@media(max-width:900px){.test-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.section-head{flex-direction:column}.test-toolbar{align-items:stretch}.test-toolbar>.btn,.rewrite-actions,.rewrite-actions select,.rewrite-actions .btn{width:100%}.test-meta,.test-meta-3{grid-template-columns:1fr 1fr}}
