
:root{--ops-navy:#102a49;--ops-orange:#ec8a24;--ops-soft:#f6f8fb;--ops-line:#e5eaf0;--ops-green:#16794b;--ops-red:#b42318;--ops-yellow:#9a6700}
.ops-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.ops-head h1{margin:0 0 5px}.ops-head p{margin:0;color:var(--muted)}
.ops-actions{display:flex;gap:8px;flex-wrap:wrap}
.ops-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid var(--ops-line);border-radius:9px;background:#fff;color:var(--ops-navy);font-weight:700;text-decoration:none;cursor:pointer}
.ops-btn:hover{background:var(--ops-soft)}.ops-btn.primary{background:var(--ops-navy);color:#fff;border-color:var(--ops-navy)}.ops-btn.whatsapp{background:#18794e;color:#fff;border-color:#18794e}
.ops-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.ops-calendar-toolbar h2{margin:0;font-size:18px}
.ops-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--ops-line);border-radius:12px;overflow:hidden;background:#fff}
.ops-weekday{padding:10px 8px;text-align:center;font-size:11px;font-weight:800;color:var(--muted);background:var(--ops-soft);border-right:1px solid var(--ops-line)}
.ops-day{min-height:118px;padding:8px;border-top:1px solid var(--ops-line);border-right:1px solid var(--ops-line);background:#fff;min-width:0}
.ops-day.muted{background:#fafbfc}.ops-day.today{box-shadow:inset 0 0 0 2px var(--ops-orange)}
.ops-day-number{font-size:12px;font-weight:800;color:var(--ops-navy);margin-bottom:6px}
.ops-event{display:block;padding:6px 7px;margin-bottom:5px;border-radius:7px;background:#eef3f8;border-left:3px solid var(--ops-navy);text-decoration:none;color:#17324f;font-size:10px;line-height:1.25}
.ops-event strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}
.ops-event small{display:block;color:#5f7183;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-event.overdue{border-left-color:var(--ops-red);background:#fff2f0}.ops-event.completed{border-left-color:var(--ops-green);background:#eef9f3}
.ops-list-mobile{display:none}
.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.ops-metric{padding:16px}.ops-metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.ops-metric strong{font-size:25px;color:var(--ops-navy)}
.ops-table{width:100%;border-collapse:collapse}.ops-table th,.ops-table td{padding:11px 9px;border-bottom:1px solid var(--ops-line);text-align:left;vertical-align:middle}.ops-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.ops-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.ops-badge.active{background:#e9f7ef;color:var(--ops-green)}.ops-badge.warning{background:#fff7df;color:var(--ops-yellow)}.ops-badge.expired{background:#fff0ee;color:var(--ops-red)}
.ops-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ops-form-grid .full{grid-column:1/-1}
.ops-note{padding:11px 13px;border-radius:9px;background:#f5f8fb;color:#53667a;font-size:12px}
.ops-certificate{max-width:860px;margin:20px auto;background:#fff;border:1px solid #dde4ec;border-radius:16px;padding:34px;box-shadow:0 10px 35px rgba(16,42,73,.08)}
.ops-certificate-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:3px solid var(--doc-primary,#102a49);padding-bottom:22px}
.ops-certificate-logo{max-width:190px;max-height:80px;object-fit:contain}
.ops-certificate-title{text-align:right}.ops-certificate-title h1{margin:0;color:var(--doc-primary,#102a49);font-size:27px}.ops-certificate-title p{margin:5px 0 0;color:#68798a}
.ops-cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.ops-cert-item{padding:14px;border-radius:10px;background:#f7f9fb}.ops-cert-item span{display:block;color:#748394;font-size:11px;text-transform:uppercase}.ops-cert-item strong{display:block;margin-top:5px;color:#1b3149}
.ops-cert-status{display:inline-flex;padding:7px 12px;border-radius:999px;font-weight:800;background:#eaf7ef;color:#16794b}
.ops-cert-footer{margin-top:28px;padding-top:18px;border-top:1px solid #e2e7ed;color:#637487;font-size:12px}
@media(max-width:850px){
 .ops-head{flex-direction:column}.ops-actions{width:100%}.ops-actions .ops-btn{flex:1}
 .ops-calendar{display:grid}.ops-list-mobile{display:none}
 .ops-mobile-day{margin-bottom:13px}.ops-mobile-day h3{font-size:13px;margin:0 0 7px;color:var(--ops-navy)}
 .ops-mobile-event{display:block;padding:12px;margin-bottom:7px;border:1px solid var(--ops-line);border-radius:10px;text-decoration:none;color:inherit;background:#fff}
 .ops-mobile-event strong{display:block}.ops-mobile-event small{display:block;color:var(--muted);margin-top:4px}
 .ops-grid{grid-template-columns:1fr}.ops-form-grid{grid-template-columns:1fr}
 .ops-table thead{display:none}.ops-table,.ops-table tbody,.ops-table tr,.ops-table td{display:block;width:100%}.ops-table tr{padding:12px;border:1px solid var(--ops-line);border-radius:10px;margin-bottom:10px}.ops-table td{padding:5px 0;border:0}.ops-table td:before{content:attr(data-label);display:block;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;margin-bottom:2px}
 .ops-cert-grid{grid-template-columns:1fr}.ops-certificate{padding:20px;margin:10px}.ops-certificate-head{flex-direction:column}.ops-certificate-title{text-align:left}
}
@media print{
 .sidebar,.topbar,.ops-no-print{display:none!important}.main,.content{display:block!important;margin:0!important;padding:0!important}.ops-certificate{box-shadow:none;border:0;margin:0;max-width:none}
}


/* Agenda mobile completa */
.ops-calendar-scroll{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border-radius:12px;
}
@media(max-width:850px){
  .ops-calendar-scroll{
    padding-bottom:4px;
  }
  .ops-calendar{
    display:grid !important;
    min-width:760px;
  }
  .ops-list-mobile{
    display:none !important;
  }
  .ops-day{
    min-height:105px;
    padding:7px;
  }
  .ops-weekday{
    padding:9px 6px;
  }
  .ops-event{
    font-size:9px;
    padding:5px 6px;
  }
  .ops-event strong,
  .ops-event small{
    font-size:9px;
  }
}
