:root{
  --bg:#f5f6f8; --card:#fff; --ink:#1c2128; --muted:#6b7280;
  --line:#e5e7eb; --brand:#2563eb; --ok:#16a34a; --err:#dc2626; --warn:#b45309;
  --radius:12px;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.5}
.topbar{display:flex;justify-content:space-between;align-items:center;
  background:var(--card);border-bottom:1px solid var(--line);padding:.8rem 1.2rem}
.brand{font-weight:700;color:var(--brand);text-decoration:none;font-size:1.1rem}
.topbar nav{display:flex;gap:1rem;align-items:center;font-size:.9rem}
.topbar .who{color:var(--muted)}
.topbar a{color:var(--ink);text-decoration:none}
.wrap{max-width:920px;margin:1.4rem auto;padding:0 1rem}
h1{font-size:1.4rem;margin:.2rem 0 1rem}
h2{font-size:1.1rem;margin:1.6rem 0 .6rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.2rem;margin-bottom:1.2rem}
.card.narrow{max-width:420px;margin:2rem auto}
label{display:block;margin:.6rem 0;font-size:.9rem;color:var(--muted)}
input,select{width:100%;padding:.55rem .7rem;margin-top:.25rem;border:1px solid var(--line);
  border-radius:8px;font-size:1rem;background:#fff;color:var(--ink)}
fieldset{border:1px solid var(--line);border-radius:8px;margin:.8rem 0;padding:.4rem .9rem .9rem}
legend{color:var(--muted);font-size:.85rem;padding:0 .4rem}
.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:8px;
  padding:.6rem 1.1rem;font-size:.95rem;cursor:pointer;text-decoration:none;margin-top:.6rem}
.btn.sm{padding:.4rem .8rem;font-size:.85rem;margin:0}
.btn.gray{background:#475569}
.muted{color:var(--muted);font-size:.9rem}
.alert{padding:.7rem .9rem;border-radius:8px;font-size:.9rem;margin:.6rem 0}
.alert.ok{background:#ecfdf5;color:var(--ok);border:1px solid #a7f3d0}
.alert.err{background:#fef2f2;color:var(--err);border:1px solid #fecaca}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}
.b-solicitado{background:#f1f5f9;color:#475569}
.b-asignado{background:#dbeafe;color:#1d4ed8}
.b-en_curso{background:#fef3c7;color:#b45309}
.b-finalizado{background:#dcfce7;color:#15803d}
.b-cancelado{background:#fee2e2;color:#b91c1c}
.pin{font-family:ui-monospace,Menlo,monospace;font-size:1.6rem;font-weight:700;
  letter-spacing:.35em;color:var(--brand);background:#eff6ff;border:1px dashed #93c5fd;
  border-radius:10px;padding:.5rem .9rem;display:inline-block}
.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.paradas-list{margin:.3rem 0;padding-left:1.1rem;color:var(--muted);font-size:.85rem}
@media(max-width:560px){table,thead,tbody,th,td,tr{display:block}
  th{display:none}td{border:0;padding:.25rem .5rem}
  .card tr{border-bottom:1px solid var(--line);padding:.6rem 0}}
