/* Portal de clientes DIMSA — estilos. Limpio, profesional, marca guinda + verde. */
:root{
  --guinda:#7d1635; --guinda-d:#5e0f28; --verde:#2e7d32;
  --ink:#1a1a1a; --muted:#6b7280; --line:#e5e7eb; --bg:#f7f7f8; --card:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--guinda);text-decoration:none}
a:hover{color:var(--guinda-d)}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}

/* Topbar */
.topbar{background:var(--card);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
.brandbox{display:flex;align-items:baseline;gap:10px}
.brand{font-weight:800;font-size:1.25rem;letter-spacing:.02em;color:var(--guinda)}
.brand-lg{font-size:1.6rem}
.sub{color:var(--muted);font-size:.85rem}
.user{display:flex;align-items:center;gap:14px}
.cli{color:#374151;font-size:.9rem}
.logout{margin:0}
.link{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;padding:0}
.link:hover{color:var(--guinda)}

/* Main */
main.wrap{padding-top:36px;padding-bottom:48px}
.page-title{font-size:1.6rem;font-weight:800;margin:0;letter-spacing:-.01em}
.page-sub{color:var(--muted);margin:.35rem 0 0}
.section{font-size:1.1rem;font-weight:700;margin:2.4rem 0 .8rem}
.muted{color:var(--muted)} .small{font-size:.8rem}
.empty{margin-top:2.4rem;border:1px dashed var(--line);border-radius:8px;padding:48px 24px;text-align:center;color:var(--muted)}

/* Card / tabla */
.card{background:var(--card);border:1px solid var(--line);border-radius:10px}
.table-wrap{margin-top:24px;overflow:hidden}
table{width:100%;border-collapse:collapse;font-size:.92rem}
thead{background:#fafafa;color:var(--muted)}
th,td{text-align:left;padding:12px 16px}
th{font-weight:600;font-size:.82rem}
tbody tr{border-top:1px solid #f0f0f1}
tbody tr:hover{background:#fafafa}
.folio{font-weight:600}
.right{text-align:right}
.ver{font-weight:600}

/* Badges */
.badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:600}
.badge-amber{background:#fef3c7;color:#92400e}
.badge-blue{background:#dbeafe;color:#1e40af}
.badge-indigo{background:#e0e7ff;color:#3730a3}
.badge-green{background:#dcfce7;color:#166534}
.badge-red{background:#fee2e2;color:#991b1b}
.badge-gray{background:#f3f4f6;color:#374151}

/* Detalle */
.back-link{display:inline-block;color:var(--muted);font-size:.9rem;font-weight:600}
.detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}
.grid{display:grid;grid-template-columns:1fr;gap:14px;margin:22px 0 0}
@media(min-width:620px){.grid{grid-template-columns:1fr 1fr}}
.cell{padding:14px 16px;margin:0}
.cell dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}
.cell dd{margin:.3rem 0 0;color:var(--ink)}

/* Timeline */
.timeline{list-style:none;margin:16px 0 0;padding:0 0 0 24px;border-left:2px solid var(--line)}
.timeline li{position:relative;padding-bottom:18px}
.timeline .dot{position:absolute;left:-31px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--verde)}
.tl-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tl-estado{font-weight:600}
.tl-nota{margin:.25rem 0 0;font-size:.9rem;color:#4b5563}

/* Login */
.login-body{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:380px}
.login-head{text-align:center;margin-bottom:26px}
.login-head h1{font-size:1.5rem;margin:18px 0 6px}
.login-head p{color:var(--muted);font-size:.9rem;margin:0}
.login-form{display:flex;flex-direction:column;gap:6px}
.login-form label{font-size:.85rem;font-weight:600;color:#374151;margin-top:8px}
.login-form input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit}
.login-form input:focus{outline:none;border-color:var(--guinda);box-shadow:0 0 0 3px rgba(125,22,53,.12)}
.btn{margin-top:16px;background:var(--guinda);color:#fff;border:0;border-radius:8px;padding:11px;font:inherit;font-weight:600;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--guinda-d)}
.form-error{color:#b91c1c;font-size:.88rem;margin:8px 0 0}
.back{display:block;text-align:center;margin-top:22px;color:#9ca3af;font-size:.85rem}
.foot{border-top:1px solid var(--line);background:var(--card)}
.foot .wrap{padding:20px;color:#9ca3af;font-size:.85rem}
