/* Layout: encabezado, formulario en dos columnas que pasa a una en móvil */
:root{
  --bg:#f3f5f6; --surface:#ffffff; --ink:#16222a; --muted:#5b6b73; --line:#d9e0e3;
  --accent:#0b5d56; --accent-ink:#ffffff; --accent-soft:#e1f0ee;
  --warn:#9a4f12; --warn-soft:#fbeedd; --ok:#1f7a4d; --danger:#b3362b;
  --font-ui:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-data:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0f1619; --surface:#162126; --ink:#e6edf0; --muted:#93a5ad; --line:#26353c;
  --accent:#4fc2b4; --accent-ink:#05211e; --accent-soft:#16312f;
  --warn:#e8a363; --warn-soft:#33261a; --ok:#5cc58f; --danger:#f08a7e}}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.5;
  padding:28px max(16px,env(safe-area-inset-right)) 56px max(16px,env(safe-area-inset-left))}
.wrap{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
header{display:flex;flex-direction:column;gap:10px}
.eyebrow{font-family:var(--font-data);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
h1{font-size:28px;line-height:1.15;margin:0;font-weight:700;text-wrap:balance}
.lede{margin:0;color:var(--muted);max-width:65ch}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
.f.full{grid-column:1/-1}
label{font-weight:600;font-size:13.5px}
.hint{font-size:12.5px;color:var(--muted);margin:0}
.hint.warn{color:var(--warn);background:var(--warn-soft);padding:6px 10px;border-radius:6px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:9px 11px;width:100%;min-width:0}
textarea{resize:vertical;min-height:84px}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}
input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.group-title{grid-column:1/-1;font-family:var(--font-data);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.group-title.first{border-top:0;padding-top:0}
.actions{grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.btn{font:inherit;font-weight:600;border-radius:7px;padding:10px 18px;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.small{padding:6px 12px;font-size:13px}
.btn.danger{background:transparent;color:var(--danger);border-color:var(--danger)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.msg{font-size:13.5px}.msg.ok{color:var(--ok)}.msg.err{color:var(--danger)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tools input{flex:1 1 200px}.tools select{flex:0 1 220px}.tools .sp{flex:1 1 0}
.stats{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--font-data);font-size:12.5px}
.stats span{border:1px solid var(--line);background:var(--surface);padding:3px 10px;border-radius:999px;color:var(--muted)}
.list{display:flex;flex-direction:column;gap:8px}
details.row{border:1px solid var(--line);border-radius:8px;background:var(--surface)}
details.row summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 14px;align-items:center}
details.row summary::-webkit-details-marker{display:none}
.row-title{font-weight:600;min-width:0;overflow-wrap:anywhere}
.row-meta{font-family:var(--font-data);font-size:12px;color:var(--muted);grid-column:1/-1;display:flex;gap:6px 14px;flex-wrap:wrap}
.chip{font-family:var(--font-data);font-size:12px;background:var(--accent-soft);color:var(--accent);padding:2px 9px;border-radius:999px;white-space:nowrap}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;border-top:1px solid var(--line);padding:14px}
.detail h4{margin:0 0 3px;font-family:var(--font-data);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
.detail p{margin:0;overflow-wrap:anywhere}
.detail ul{margin:0;padding-left:18px}
.detail .full{grid-column:1/-1}
.empty{border:1px dashed var(--line);border-radius:10px;padding:28px;text-align:center;color:var(--muted)}
.empty b{display:block;color:var(--ink);margin-bottom:4px}
.note{font-size:13px;color:var(--muted);margin:0}
@media (max-width:620px){form,.detail{grid-template-columns:1fr}h1{font-size:23px}.panel{padding:16px}}

fieldset.f{border:0;padding:0;margin:0}
legend{font-weight:600;font-size:13.5px;padding:0;margin-bottom:8px}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.chk{display:flex;align-items:center;gap:8px;font-weight:500;border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:8px 11px;cursor:pointer}
.chk input{width:auto;margin:0;accent-color:var(--accent)}
.chk:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.chk:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.req,.f:has(:required)>label::after{color:var(--danger)}
.f:has(:required)>label::after{content:" *"}
