:root{--maroon:#64152d;--maroon2:#7d2440;--gold:#c9a13a;--cream:#f7f3eb;--ink:#26313a;--muted:#6e7780;--line:#e3ddd3;--green:#28755a;--red:#b53b43;--blue:#2d587e;--shadow:0 10px 28px rgba(42,31,25,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#f3f0ea}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:flex}.sidebar{width:278px;background:linear-gradient(180deg,#4b0d22 0%,#64152d 48%,#741b38 100%);color:#fff;padding:20px 14px 18px;position:fixed;inset:0 auto 0 0;z-index:5;display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(33,8,18,.14)}.brand{display:flex;align-items:center;gap:12px;padding:5px 9px 8px}.brand-mark{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,#d9b95b,#9b6e1d);display:grid;place-items:center;font-weight:900;color:#fff;box-shadow:0 6px 16px rgba(25,4,12,.35);font-size:15px;letter-spacing:1px}.brand-copy b{font-size:25px;letter-spacing:1.8px;display:block;line-height:1}.brand-copy span{font-size:11px;letter-spacing:2.2px;color:#ead9a0;display:block;margin-top:4px;font-weight:700}.brand-sub{font-size:8.5px;line-height:1.5;letter-spacing:1.3px;opacity:.72;padding:9px 11px 13px;border-bottom:1px solid rgba(255,255,255,.13)}.brand-sub strong{font-size:9px;color:#f0d98e}.side-status{margin:12px 5px 7px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:9px;display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:.9px;color:#f5e9dd}.side-status b{margin-left:auto;color:#d9b95b;font-size:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:#69b88b;box-shadow:0 0 0 3px rgba(105,184,139,.13)}nav{padding-top:4px;overflow:auto;flex:1}nav::-webkit-scrollbar{width:4px}nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:5px}.nav-section{font-size:8px;font-weight:900;letter-spacing:1.6px;color:#d9b95b;padding:12px 10px 6px}nav button{width:100%;border:1px solid transparent;background:transparent;color:#f8e9e8;text-align:left;padding:10px 10px;border-radius:9px;margin:2px 0;display:flex;align-items:center;gap:11px;font-size:12px;min-height:38px;transition:background .16s,transform .16s,color .16s}nav button span:last-child{flex:1}nav button .nav-icon{width:25px;height:25px;display:grid;place-items:center;color:#e0c76d;font-size:15px;flex:0 0 25px;border-radius:7px;background:rgba(255,255,255,.045)}nav button:hover{background:rgba(255,255,255,.08);transform:translateX(2px)}nav button.active{background:#f6ead8;color:var(--maroon);font-weight:900;box-shadow:0 5px 14px rgba(24,4,12,.18)}nav button.active .nav-icon{background:#ead6a9;color:var(--maroon)}.sidebar-foot{position:static;margin:10px 5px 0;padding:13px 9px 2px;border-top:1px solid rgba(255,255,255,.12);font-size:8px;letter-spacing:1.1px;color:#ead9a0;line-height:1.8}.sidebar-foot small{color:#fff;opacity:.62;font-size:9px}.side-version{margin-top:8px;color:rgba(255,255,255,.45);font-size:7.5px;letter-spacing:1px}.main{margin-left:278px;width:calc(100% - 278px);min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:4}.topbar strong{font-size:14px;color:var(--maroon);letter-spacing:1px;display:block}.topbar span{font-size:11px;color:var(--muted)}.top-right{display:flex;align-items:center;gap:18px}.user-pill{background:#f2eadc;color:var(--maroon);padding:9px 14px;border-radius:20px;font-weight:700;font-size:12px}.main>footer{padding:20px 30px;color:#8b8c8d;font-size:10px;text-align:center}.main>footer span{float:right}.page{padding:28px 30px}.hero{position:relative;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 40%,rgba(255,255,255,.48) 62%,rgba(255,255,255,.06) 100%),url("borrego-cimarron.jpg") right center/cover no-repeat;border:1px solid #e8dfd1;border-radius:18px;padding:32px;display:flex;justify-content:space-between;gap:25px;box-shadow:var(--shadow);overflow:hidden;min-height:270px}.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:linear-gradient(90deg,var(--maroon),var(--gold));opacity:.95}.hero>div{position:relative;z-index:1}.hero h1{margin:0;color:var(--maroon);font-size:35px;text-shadow:0 1px 0 rgba(255,255,255,.7)}.hero h1{margin:0;color:var(--maroon);font-size:35px}.hero h1 em{font-style:normal;color:var(--gold)}.hero p{color:var(--muted);margin:8px 0 0}.hero .tagline{text-align:right;font-weight:900;color:var(--maroon);line-height:1.5;letter-spacing:1.5px;background:rgba(255,250,241,.72);backdrop-filter:blur(2px);padding:12px 15px;border-radius:12px;align-self:flex-start;box-shadow:0 4px 16px rgba(42,31,25,.08)}.goldline{height:4px;background:var(--gold);width:90px;margin-top:14px;border-radius:9px}.features{display:flex;gap:20px;margin-top:20px;flex-wrap:wrap}.feature{font-size:10px;font-weight:800;color:#59616a}.feature b{color:var(--maroon);margin-right:5px}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:18px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow);position:relative}.kpi .n{font-size:30px;font-weight:900}.kpi .l{font-size:11px;color:var(--muted);margin-top:4px}.kpi.maroon{background:var(--maroon);color:#fff}.kpi.maroon .l{color:#f2dfe4}.kpi.gold{border-top:4px solid var(--gold)}.kpi.green{border-top:4px solid var(--green)}.kpi.red{border-top:4px solid var(--red)}.kpi.blue{border-top:4px solid var(--blue)}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1.6fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.card h2,.card h3{margin:0 0 15px;color:var(--maroon);font-size:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.btn{border:0;border-radius:9px;padding:10px 14px;font-weight:800;font-size:12px}.btn.primary{background:var(--maroon);color:#fff}.btn.gold{background:#d7b452;color:#fff}.btn.light{background:#f1ece3;color:var(--maroon)}.btn.green{background:var(--green);color:#fff}.btn.blue{background:var(--blue);color:#fff}.btn.danger{background:#b53b43;color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:8px;flex-wrap:wrap}.mapbox{height:315px;border-radius:13px;background:radial-gradient(circle at 70% 25%,#d9ead7 0 12%,transparent 13%),linear-gradient(145deg,#e8efe8,#d8e1dd);position:relative;overflow:hidden}.mapbox:before{content:"";position:absolute;inset:10% 43% 8% 23%;background:#efe7d2;clip-path:polygon(50% 0,72% 12%,83% 32%,78% 50%,90% 70%,74% 90%,49% 100%,34% 78%,12% 62%,20% 39%,8% 22%,29% 9%);box-shadow:0 0 0 2px #b8c7bc}.maplabel{position:absolute;font-weight:900;color:#68756f;font-size:12px}.marker{position:absolute;width:14px;height:14px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px #0004}.m1{background:#b53b43;left:31%;top:27%}.m2{background:#c79e38;left:42%;top:43%}.m3{background:#28755a;left:35%;top:62%}.m4{background:#b53b43;left:54%;top:19%}.m5{background:#c79e38;left:50%;top:70%}.legend{position:absolute;bottom:10px;left:10px;background:#fffddf;padding:9px 11px;border-radius:9px;font-size:9px;box-shadow:0 3px 10px #0002}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.bar{margin:13px 0}.bar-top{display:flex;justify-content:space-between;font-size:11px}.track{height:9px;background:#eee9e2;border-radius:9px;overflow:hidden;margin-top:5px}.fill{height:100%;background:var(--maroon);border-radius:9px}.recent{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #eee}.recent:last-child{border-bottom:0}.badge{font-size:9px;font-weight:900;padding:4px 7px;border-radius:10px}.p1{background:#f8dfe1;color:#a12c35}.p2{background:#f5e8c6;color:#8b6b14}.p3{background:#e0eee8;color:#27694f}.p4{background:#e8edf0;color:#526675}.recent b{font-size:11px;display:block}.recent small{font-size:9px;color:#8b8e91}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:11px}.table th{background:#f4eee4;color:var(--maroon);text-align:left;padding:10px;white-space:nowrap}.table td{padding:10px;border-bottom:1px solid #eee}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:900;color:#5f666c;text-transform:uppercase;letter-spacing:.4px}.field input,.field select,.field textarea{border:1px solid #d9d5ce;border-radius:9px;padding:10px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a13a22}.field textarea{min-height:85px;resize:vertical}.form-actions{margin-top:18px;display:flex;gap:8px;justify-content:flex-end}.notice{padding:12px 14px;background:#f8f1df;border-left:4px solid var(--gold);font-size:11px;margin-bottom:15px;border-radius:7px}.score{font-size:34px;font-weight:900;color:var(--maroon)}.priority-box{display:flex;align-items:center;justify-content:space-between;background:#f8f4ec;padding:14px;border-radius:12px}.empty{padding:35px;text-align:center;color:#8b8f92;font-size:12px}.toast{position:fixed;right:25px;bottom:25px;background:#222;color:#fff;padding:12px 16px;border-radius:10px;font-size:12px;z-index:99;opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1100px){.sidebar{width:230px}.main{margin-left:230px;width:calc(100% - 230px)}.kpis{grid-template-columns:repeat(3,1fr)}.grid.two,.grid.three{grid-template-columns:1fr}.form-grid,.form-grid.three{grid-template-columns:1fr}}@media(max-width:750px){.sidebar{position:relative;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%}.sidebar-foot{display:none}.main .topbar{position:relative}.kpis{grid-template-columns:1fr 1fr}.hero{display:block}.hero .tagline{text-align:left;margin-top:20px}nav{display:grid;grid-template-columns:1fr 1fr}}

/* EDAN CAMPO BC v3.0 — institutional layout override */
:root{--sidebar-w:272px;--maroon:#67152f;--maroon2:#822444;--gold:#c5a04a;--cream:#f7f3eb}
body{background:#f1eee8}
.sidebar{width:var(--sidebar-w);padding:18px 14px 14px}
.main{margin-left:var(--sidebar-w);width:calc(100% - var(--sidebar-w))}
.brand{padding:4px 10px 10px;gap:11px}
.brand-mark{width:44px;height:44px;border-radius:12px}
.brand-copy b{font-size:23px}
nav button{min-height:42px;padding:9px 10px;font-size:12px}
.nav-section{padding-top:14px}
.main .topbar{height:68px;padding:0 28px}
.page{padding:22px 28px 10px}
.hero{min-height:235px;padding:0;display:grid;grid-template-columns:64% 36%;gap:0;background:#fff;border-radius:18px;position:relative}
.hero-copy{padding:26px 28px 24px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.eyebrow{font-size:9px;font-weight:900;letter-spacing:1.5px;color:#8b6e2b;margin-bottom:9px}
.hero h1{font-size:42px;letter-spacing:-1px;line-height:1.05}
.hero p{font-size:14px;color:#5e666d;margin-top:10px;max-width:470px}
.goldline{height:5px;width:82px;margin-top:16px}
.features{gap:9px 16px;margin-top:22px}
.feature{font-size:9px;min-width:145px}
.hero-photo{position:relative;overflow:hidden;min-height:235px;background:#b5a99a}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(103,21,47,.08) 0%,rgba(103,21,47,0) 38%,rgba(0,0,0,.18) 100%)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 54%;display:block;transform:scale(.94)}
.photo-caption{position:absolute;left:20px;bottom:18px;z-index:3;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.55);display:flex;flex-direction:column;gap:3px}
.photo-caption strong{font-size:17px;letter-spacing:1.2px}.photo-caption span{font-size:9px;letter-spacing:.5px}
.hero-motto{position:absolute;right:20px;top:20px;z-index:3;text-align:right;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.55);display:flex;flex-direction:column;gap:2px;font-size:15px;letter-spacing:1.2px}.hero-motto small{font-size:8px;margin-top:6px;letter-spacing:1.5px;color:#f3df9a}
.hero:after{height:5px}
.kpis{gap:13px;margin:16px 0}
.kpi{min-height:108px;padding:16px}
.kpi .n{font-size:29px}
.grid.two{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{padding:18px}
.mapbox{height:305px}
.main>footer{padding:18px 28px}
.sidebar-foot{padding-bottom:4px}
@media(max-width:1200px){.hero{grid-template-columns:62% 38%;min-height:220px}.hero-photo{min-height:220px}.kpis{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:1fr}}
@media(max-width:850px){.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}.kpis{grid-template-columns:1fr 1fr}.hero h1{font-size:34px}}
@media(max-width:650px){.sidebar{position:relative;width:100%;height:auto}.main{margin-left:0;width:100%}.hero{display:block}.hero-photo{height:210px}.kpis{grid-template-columns:1fr}}

/* =========================================================
   EDAN CAMPO BC — IMPRESION PROFESIONAL DE SITREP
   ========================================================= */
@page {
  size: Letter;
  margin: 12mm 12mm 15mm 12mm;
}

@media print {

  html,
  body {
    width: 100%;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  /* Ocultar absolutamente toda la interfaz */
  body * {
    visibility: hidden !important;
  }

  /* Mostrar únicamente el documento SITREP */
  .sitrep-document,
  .sitrep-document * {
    visibility: visible !important;
  }

  /* El SITREP ocupa toda la hoja */
  .sitrep-document {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  /* Quitar tarjetas/contenedores de la aplicación */
  #content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Evitar cortes feos dentro de tablas y secciones */
  .sitrep-document table {
    page-break-inside: auto;
    break-inside: auto;
  }

  .sitrep-document tr,
  .sitrep-document h3,
  .sitrep-document p {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .sitrep-document h3 {
    page-break-after: avoid;
    break-after: avoid;
  }

  /* El encabezado del SITREP no debe quedar separado */
  .sitrep-document > div:first-child {
    page-break-after: avoid;
    break-after: avoid;
  }

  /* No imprimir elementos interactivos */
  button,
  input,
  select,
  textarea,
  .form-actions {
    display: none !important;
  }

  /* Texto ligeramente más cómodo para documento */
  .sitrep-document {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .sitrep-document h3 {
    font-size: 13px !important;
    margin-top: 14px !important;
  }

  /* Evitar sombras y adornos de la aplicación */
  * {
    box-shadow: none !important;
  }
}

/* HEADER INSTITUCIONAL EDAN CAMPO BC */
.topbar-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.topbar-brand img{
  height:46px;
  width:auto;
  max-width:260px;
  object-fit:contain;
  display:block;
}

.topbar-brand strong{
  font-size:14px;
  color:var(--maroon);
  letter-spacing:1px;
  display:block;
}

.topbar-brand span{
  font-size:11px;
  color:var(--muted);
  display:block;
  margin-top:3px;
}

@media(max-width:750px){
  .topbar{
    height:auto !important;
    min-height:72px;
    padding:10px 16px !important;
  }

  .topbar-brand img{
    height:38px;
    max-width:190px;
  }

  .topbar-brand{
    gap:9px;
  }

  .topbar-brand strong{
    font-size:11px;
  }

  .topbar-brand span{
    font-size:9px;
  }

  .top-right{
    gap:8px;
  }
}

@media print{
  .topbar-brand img{
    display:block !important;
  }
}

/* =========================================================
   EDAN CAMPO BC — INICIO INSTITUCIONAL
   Diseño limpio sin imagen de portada
   ========================================================= */

.edan-home{
  background:#fff;
  border:1px solid #e8dfd1;
  border-radius:18px;
  padding:38px 40px 40px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}

.edan-home:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  background:linear-gradient(90deg,var(--maroon),var(--gold));
}

.edan-home-title{
  padding-bottom:8px;
}

.edan-home-title .eyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:1.7px;
  color:#8b6e2b;
  margin:0;
}

.edan-home-title .goldline{
  margin-top:14px;
  width:82px;
  height:5px;
}

.edan-features{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  margin-top:32px;
}

.edan-feature{
  min-height:220px;
  border-radius:15px;
  padding:25px 22px 22px;
  position:relative;
  transition:transform .18s ease,box-shadow .18s ease;
}

.edan-feature:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 25px rgba(42,31,25,.10);
}

.edan-feature h3{
  margin:20px 0 10px;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.3px;
}

.edan-feature p{
  margin:0;
  font-size:11px;
  line-height:1.55;
  color:#4e5962;
}

.edan-icon{
  width:52px;
  height:52px;
  border-radius:13px;
  display:grid;
  place-items:center;
  font-size:27px;
  font-weight:900;
}

.edan-maroon{
  background:#f8edef;
}

.edan-maroon .edan-icon{
  background:#f0d5dc;
  color:var(--maroon);
}

.edan-maroon h3{
  color:var(--maroon);
}

.edan-gold{
  background:#fbf6e9;
}

.edan-gold .edan-icon{
  background:#f4e4b8;
  color:#a47712;
}

.edan-gold h3{
  color:#a47712;
}

.edan-green{
  background:#edf6f1;
}

.edan-green .edan-icon{
  background:#d4e9dd;
  color:var(--green);
}

.edan-green h3{
  color:#315e4e;
}

.edan-red{
  background:#f9edef;
}

.edan-red .edan-icon{
  background:#efd5dc;
  color:#a12c45;
}

.edan-red h3{
  color:#8e1d38;
}

.edan-blue{
  background:#edf4fa;
}

.edan-blue .edan-icon{
  background:#d8e8f5;
  color:#347da9;
}

.edan-blue h3{
  color:#315c73;
}

/* El Inicio ya no utiliza la portada anterior */
.hero-photo,
.hero-motto,
.photo-caption{
  display:none !important;
}

@media(max-width:1200px){
  .edan-features{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:850px){
  .edan-home{
    padding:28px 24px 32px;
  }

  .edan-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:600px){
  .edan-home{
    padding:24px 18px 28px;
  }

  .edan-features{
    grid-template-columns:1fr;
  }

  .edan-feature{
    min-height:160px;
  }
}

/* HEADER INSTITUCIONAL — AJUSTE FINAL */
.main .topbar{
  height:88px !important;
  padding:0 32px !important;
}

.topbar-brand{
  gap:18px !important;
}

.topbar-brand img{
  height:62px !important;
  max-width:350px !important;
}

.topbar-brand strong{
  font-size:18px !important;
  letter-spacing:1.2px;
}

.topbar-brand span{
  font-size:13px !important;
  margin-top:5px;
}

.top-right{
  gap:22px;
}

#clock{
  font-size:12px !important;
}

.user-pill{
  padding:11px 17px !important;
  font-size:13px !important;
}

@media(max-width:750px){
  .main .topbar{
    min-height:82px;
    height:auto !important;
    padding:10px 16px !important;
  }

  .topbar-brand img{
    height:48px !important;
    max-width:220px !important;
  }

  .topbar-brand strong{
    font-size:13px !important;
  }

  .topbar-brand span{
    font-size:10px !important;
  }
}
