@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&display=swap');

:root{
  --ink:#122744; --ink-soft:#4E6685;
  --paper:#F6F8FC; --card:#FFFFFF;
  --line:#E1E8F2; --line-strong:#C9D5E6;
  --blue:#1B4F87; --blue-dark:#123A66; --blue-light:#E7EFF8;
  --pink:#E5138E; --pink-dark:#A80E68; --pink-light:#FCE6F3;
  --gray-50:#F1EFE8; --gray-800:#444441;
  --teal-50:#E1F5EE; --teal-800:#085041;
  --amber-50:#FAEEDA; --amber-800:#633806;
  --red-50:#FCEBEB; --red-800:#791F1F;
  --radius:10px;
}
*{box-sizing:border-box;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Century Gothic','CenturyGothic','Poppins',sans-serif;
  position:relative;
}
/* marca de agua del logo, muy suave, no interfiere con la lectura */
body::before{
  content:"";
  position:fixed; inset:0;
  background-image:url('logo.jpg');
  background-repeat:no-repeat;
  background-position:center 40%;
  background-size:640px;
  opacity:0.045;
  filter:grayscale(15%);
  pointer-events:none;
  z-index:0;
}
.wrap{max-width:1180px;margin:0 auto;padding:24px 20px 60px;position:relative;z-index:1;}
.wrap.narrow{max-width:680px;}

.brandbar{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.brandbar img{height:68px;width:auto;display:block;mix-blend-mode:multiply;}
.brandbar .divider{width:1px;height:40px;background:var(--pink);}
.brandbar .name{font-size:12.5px;color:var(--ink-soft);letter-spacing:.02em;}

header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap;}
h1{font-weight:700;font-size:25px;margin:0 0 4px;color:var(--blue-dark);}
.sub{font-size:13px;color:var(--ink-soft);margin:0;}
.header-actions{display:flex;gap:8px;}

.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:6px;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;
      display:block;text-decoration:none;color:inherit;transition:border-color .15s, box-shadow .15s;}
.stat:hover{border-color:var(--pink);box-shadow:0 2px 10px rgba(229,19,142,0.12);}
.stat .n{font-size:23px;font-weight:700;color:var(--blue-dark);}
.stat .l{font-size:12px;color:var(--ink-soft);margin-top:2px;}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center;}
.toolbar input[type=text], .toolbar input[type=date], .toolbar select{
  font-family:inherit;font-size:13px;padding:9px 12px;border:1px solid var(--line-strong);
  border-radius:8px;background:var(--card);color:var(--ink);
}
.btn{font-family:inherit;font-size:13px;font-weight:600;padding:9px 16px;border-radius:8px;
     border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;}
.btn.primary{background:var(--pink);border-color:var(--pink);color:#fff;}
.btn.blue{background:var(--blue);border-color:var(--blue);color:#fff;}
.btn.ghost{border-color:transparent;color:var(--ink-soft);}
.btn:active{transform:scale(0.98);}
a.btn{display:inline-block;text-decoration:none;}

table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:13px;}
th{text-align:left;font-weight:600;color:var(--ink-soft);font-size:11px;text-transform:uppercase;letter-spacing:.03em;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--blue-light);}
td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
.guia{font-family:'IBM Plex Mono',monospace;font-size:12px;background:var(--pink-light);color:var(--pink-dark);
      padding:3px 8px;border-radius:5px;border:1px dashed var(--line-strong);display:inline-block;}
.guia-dup{background:var(--red-50);color:var(--red-800);border:1px solid var(--red-800);font-weight:600;}
.badge{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px;display:inline-block;}
.b-pendiente{background:var(--gray-50);color:var(--gray-800);}
.b-transito{background:var(--amber-50);color:var(--amber-800);}
.b-entregado{background:var(--teal-50);color:var(--teal-800);}
.b-demorado, .b-cancelado{background:var(--red-50);color:var(--red-800);}
.actions a{color:var(--ink-soft);font-size:12px;text-decoration:underline;margin-right:8px;}
.empty{text-align:center;padding:50px 20px;color:var(--ink-soft);}

.card-form{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.field{margin-bottom:12px;}
.field label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:5px;}
.field label .req{color:var(--pink);}
.field input, .field select, .field textarea{width:100%;font-family:inherit;font-size:13px;padding:9px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink);}
.field textarea{resize:vertical;min-height:60px;}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}

.error{background:var(--red-50);color:var(--red-800);padding:10px 14px;border-radius:8px;font-size:13px;}
.ok{background:var(--teal-50);color:var(--teal-800);padding:10px 14px;border-radius:8px;font-size:13px;}

.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;position:relative;z-index:1;}
.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px 32px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 24px rgba(18,58,102,0.08);}
.login-card .logo-wrap{text-align:center;margin-bottom:6px;}
.login-card .logo-wrap img{height:128px;width:auto;mix-blend-mode:multiply;}
.login-card h1{font-size:19px;margin:10px 0 0;text-align:center;color:var(--blue-dark);}
.login-card .sub{text-align:center;margin-bottom:8px;}
.login-card label{font-size:12px;color:var(--ink-soft);margin-top:6px;}
.login-card input{font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;}
.login-card .btn{margin-top:10px;}

@media(max-width:640px){.stats{grid-template-columns:repeat(2,1fr);}.grid2{grid-template-columns:1fr;}table{font-size:12px;}th,td{padding:8px 6px;}}

@media print{
  body::before{display:none;}
  .toolbar, .header-actions, .actions, .no-print{display:none !important;}
}
