:root{
  --blue:#17345b;--blue2:#244c78;--gold:#d2a331;--gold2:#b8891f;--paper:#f8f7f2;
  --ink:#21313b;--muted:#687983;--line:#dce3e7;--ok:#27764b;--bad:#a8453a;--warn:#9a6b0e;
}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif}.container{max-width:1080px;margin:auto;padding:0 24px}
.top{background:var(--blue);color:#fff;padding:14px 0}.top-inner,.brand,.account,.services .container,.section-title,.actions,.filters,.password-row{display:flex;align-items:center}.top-inner{justify-content:space-between;gap:18px}.brand{gap:14px}.brand img{width:154px;height:48px;object-fit:contain;background:#fff;border-radius:6px;padding:4px}.brand strong{display:block;font-family:Lora,serif;font-size:18px}.brand small{display:block;color:#d7e1eb;font-size:11px}.account{gap:10px;font-size:12px}.services{background:#102945;border-bottom:3px solid var(--gold)}.services .container{gap:6px;flex-wrap:wrap}.services a{padding:10px 14px;color:#d9e3ee;text-decoration:none;font-size:13px}.services a.active,.services a:hover{background:var(--paper);color:var(--blue);font-weight:700;border-radius:7px 7px 0 0}
.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;padding:54px 0 36px}.hero h1{font-family:Lora,serif;color:var(--blue);font-size:clamp(30px,5vw,48px);line-height:1.08;margin:8px 0 14px}.hero p{color:var(--muted);line-height:1.7;max-width:700px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.3px;color:var(--gold2)}.hero-card,.section-card,.assignment-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(23,52,91,.06)}.hero-card{padding:24px}.hero-card img{width:100%;max-height:92px;object-fit:contain}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px;font-size:12px;color:var(--blue)}.btn{border:0;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer}.btn.primary{background:var(--gold);color:var(--blue)}.btn.primary:hover{background:var(--gold2)}.btn.outline{background:#fff;color:var(--blue);border:1px solid var(--line)}.btn.ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);padding:7px 10px}.btn.danger{background:#fff0ee;color:var(--bad);border:1px solid #ecc2bd}.btn.full{width:100%}.actions,.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.section-card{padding:24px;margin:20px 0}.section-card h2,.section-title h2,.modal-card h2{font-family:Lora,serif;color:var(--blue);margin:4px 0 8px}.section-title{justify-content:space-between;gap:16px;margin:34px 0 14px}.muted{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.form-grid label,.modal-card label{font-size:12px;font-weight:700;color:var(--blue)}label span{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(210,163,49,.45);border-color:var(--gold)}.close-inline,.modal-x{border:0;background:transparent;font-size:28px;color:var(--muted);cursor:pointer}.assignment-card{padding:20px;margin:12px 0}.assignment-top{display:flex;justify-content:space-between;gap:14px;align-items:start}.status{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800}.status.pendiente{background:#fff4d6;color:var(--warn)}.status.activo{background:#e8f6ee;color:var(--ok)}.status.completado{background:#e7effb;color:var(--blue)}.status.inactivo{background:#f0f1f2;color:#6a7176}.progress{height:13px;border-radius:999px;background:#e9edf0;overflow:hidden;margin:14px 0 6px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#f1ca69)}.assignment-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.metric{padding:10px;background:#f6f8fa;border-radius:8px}.metric strong{display:block;color:var(--blue);font-size:18px}.metric small{color:var(--muted)}.qr-grid{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0}.qr-box{text-align:center;border:1px solid var(--line);padding:10px;border-radius:9px;background:#fff}.qr-box img{width:130px;height:130px}.qr-box strong{display:block;font-size:11px;color:var(--blue)}.history{overflow:auto}.history table,.manager-table{width:100%;border-collapse:collapse;font-size:12px}.history th,.history td,.manager-table th,.manager-table td{border-bottom:1px solid var(--line);padding:8px;text-align:left;white-space:nowrap}.history th,.manager-table th{background:#f4f7f9;color:var(--blue)}.filters{gap:10px;justify-content:space-between;margin-bottom:14px}.filters input{max-width:420px;margin:0}.filters select{width:auto;margin:0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary{padding:16px;border-radius:12px;background:var(--blue);color:#fff}.summary strong{font-size:26px;font-family:Lora,serif;display:block}.summary small{color:#d6e2ee}.manager-actions{display:flex;gap:5px;flex-wrap:wrap}.manager-actions .btn{font-size:11px;padding:6px 8px}.form-msg{font-size:12px;font-weight:700}.form-msg.ok{color:var(--ok)}.form-msg.error{color:var(--bad)}
.toasts{position:fixed;top:14px;right:14px;z-index:99999;display:grid;gap:8px}.toast{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);padding:11px 14px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.12);font-size:12px;max-width:360px}.toast.ok{border-left-color:var(--ok)}.toast.error{border-left-color:var(--bad)}
.modal{position:fixed;inset:0;z-index:9999;background:rgba(7,20,34,.72);display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{position:relative;width:min(460px,100%);background:#fff;border-radius:16px;padding:26px;box-shadow:0 24px 80px rgba(0,0,0,.25)}.modal-x{position:absolute;right:14px;top:8px}.auth-brand{display:flex;gap:10px;align-items:center;margin-bottom:16px}.auth-brand img{width:90px;height:42px;object-fit:contain}.auth-brand strong,.auth-brand small{display:block}.auth-brand small{font-size:10px;color:var(--muted)}.auth-tabs{display:flex;background:#eef2f5;border-radius:9px;padding:3px;margin-bottom:18px}.auth-tabs button{flex:1;border:0;padding:8px;background:transparent;border-radius:7px;cursor:pointer;font-weight:700;color:var(--muted)}.auth-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 1px 5px rgba(0,0,0,.08)}.password-row{gap:7px}.password-row button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px}.link-btn{background:none;border:0;text-decoration:underline;color:var(--blue);padding:10px 0;cursor:pointer}
footer{margin-top:50px;background:var(--blue);color:#d8e2ec;padding:22px 0;font-size:12px}
.print-sheet{display:none}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:30px}.hero-card{display:none}.form-grid{grid-template-columns:1fr}.assignment-meta,.summary-grid{grid-template-columns:1fr 1fr}.top-inner{align-items:flex-start}.brand img{width:112px}.account{flex-direction:column;align-items:flex-end}.section-title{align-items:flex-start;flex-direction:column}.services a{padding:9px 8px;font-size:11px}}
@media print{
 body>*{display:none!important}.print-sheet{display:block!important;padding:10mm;color:#111;background:#fff;font-family:Arial,sans-serif}
 .r0520-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #222;padding-bottom:8px}.r0520-head img{width:180px}.r0520-head div{text-align:right}.r0520-head strong{display:block;font-size:18px}.r0520-head small{font-size:11px}
 .print-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;font-size:11px;margin:12px 0}.print-sheet table{width:100%;border-collapse:collapse;font-size:9px}.print-sheet th,.print-sheet td{border:1px solid #222;padding:5px;text-align:center}.print-sheet td.activity{text-align:left}.print-sheet td.signature{height:28px;min-width:90px}.print-total{text-align:right;font-weight:700;margin-top:10px;font-size:11px}
}

/* ============================================================
   PANEL DE CONTROL DE BECARIOS - supervisores por área
============================================================ */
.control-btn{background:var(--gold);color:var(--blue);border:1px solid rgba(255,255,255,.25)}
.control-btn:hover{background:#e5bd55}
.manager-heading{align-items:flex-start}
.dashboard-summary{grid-template-columns:repeat(6,1fr)}
.summary.alt{background:#234d73}
.compact-title{margin:0 0 12px}
.area-dashboard{border-top:4px solid var(--gold)}
.area-table-wrap{overflow:auto}
.area-table{width:100%;border-collapse:collapse;font-size:12px}
.area-table th,.area-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.area-table th{background:#f4f7f9;color:var(--blue);white-space:nowrap}
.supervisor-pill{display:block;width:max-content;max-width:260px;background:#eef4fb;color:var(--blue);border:1px solid #cfdbeb;border-radius:999px;padding:4px 8px;margin:3px 0;font-size:10.5px}
.manager-filters{display:grid;grid-template-columns:1.4fr .8fr .7fr;align-items:center}
.hours-cell{min-width:150px}.hours-cell strong{color:var(--blue)}
.mini-progress{height:7px;background:#e9edf0;border-radius:999px;overflow:hidden;margin:6px 0}
.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#f1ca69)}
.btn.mini{padding:5px 8px;font-size:10.5px}
.modal-wide{width:min(640px,100%)}
.modal-form-grid{margin-top:14px}
.modal-note{background:#f5f8fb;border-left:4px solid var(--gold);padding:11px 12px;border-radius:7px;color:var(--muted);font-size:12px;margin:8px 0 16px}
.access-card{text-align:center}.modal-icon{font-size:42px;margin-bottom:8px}
.supervisor-modal-card{max-height:88vh;overflow:auto}
.supervisor-list-wrap{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}
.supervisor-list-wrap h3{font-family:Lora,serif;color:var(--blue);margin:0 0 10px}
.supervisor-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:11px;margin:8px 0;background:#fafbfd}
.supervisor-row strong,.supervisor-row span{display:block}.supervisor-row span{color:var(--muted);font-size:11px;margin-top:3px}
.modal-card textarea{margin-top:6px}
@media(max-width:980px){.dashboard-summary{grid-template-columns:repeat(3,1fr)}.manager-filters{grid-template-columns:1fr 1fr}.manager-filters input{grid-column:1/-1;max-width:none}}
@media(max-width:620px){.dashboard-summary{grid-template-columns:1fr 1fr}.manager-filters{grid-template-columns:1fr}.manager-filters input{grid-column:auto}.supervisor-row{align-items:flex-start;flex-direction:column}.top-inner{gap:8px}.account{gap:6px}.control-btn{font-size:10px;padding:7px 8px}}


/* ============================================================
   R-0520: REGISTRO DIGITAL CON DISEÑO DE LA PLANILLA OFICIAL
============================================================ */
.r0520-register-card{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}
.r0520-form-sheet{
  border:2px solid #1c1c1c;
  background:#fff;
  color:#111;
  margin:18px 0;
  font-family:Arial,sans-serif;
}
.r0520-form-header{
  display:grid;
  grid-template-columns:250px 1fr;
  min-height:76px;
  border-bottom:2px solid #1c1c1c;
}
.r0520-form-logo{
  border-right:2px solid #1c1c1c;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
}
.r0520-form-logo img{
  max-width:210px;
  max-height:58px;
  object-fit:contain;
}
.r0520-form-title{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:14px;
  line-height:1.35;
}
.r0520-form-title strong{font-size:15px}
.r0520-form-row{
  margin:0;
  border-bottom:2px solid #1c1c1c;
}
.r0520-form-row.full{
  display:grid;
  grid-template-columns:330px 1fr;
  align-items:center;
}
.r0520-form-row.full > span{
  padding:10px 12px;
  font-size:13px;
  font-weight:700;
}
.r0520-form-row.full input{
  border:0;
  border-left:2px solid #1c1c1c;
  border-radius:0;
  height:42px;
  margin:0;
  padding:8px 10px;
}
.r0520-form-row.triple{
  display:grid;
  grid-template-columns:1.55fr .65fr 1.15fr;
}
.r0520-form-row.assignment-row{
  display:grid;
  grid-template-columns:1fr 1.7fr .65fr;
  border-bottom:0;
}
.r0520-form-row.triple label,
.r0520-form-row.assignment-row label{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  min-height:42px;
  border-right:2px solid #1c1c1c;
  padding:0;
  margin:0;
}
.r0520-form-row.triple label:last-child,
.r0520-form-row.assignment-row label:last-child{
  border-right:0;
}
.r0520-form-row.triple span,
.r0520-form-row.assignment-row span{
  padding:10px 10px;
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
}
.r0520-form-row.triple input,
.r0520-form-row.assignment-row input{
  margin:0;
  border:0;
  border-left:2px solid #1c1c1c;
  border-radius:0;
  height:100%;
  min-height:42px;
  padding:8px;
}
.r0520-register-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.r0520-register-actions small{color:var(--muted)}

@media(max-width:760px){
  .r0520-form-sheet{
    border-width:1px;
  }
  .r0520-form-header{
    grid-template-columns:1fr;
  }
  .r0520-form-logo{
    border-right:0;
    border-bottom:1px solid #1c1c1c;
  }
  .r0520-form-row.full,
  .r0520-form-row.triple,
  .r0520-form-row.assignment-row{
    grid-template-columns:1fr;
  }
  .r0520-form-row.full{
    padding:0;
  }
  .r0520-form-row.full > span{
    padding:8px 10px 4px;
  }
  .r0520-form-row.full input{
    border-left:0;
    border-top:1px solid #777;
  }
  .r0520-form-row.triple label,
  .r0520-form-row.assignment-row label{
    grid-template-columns:1fr;
    border-right:0;
    border-bottom:1px solid #777;
  }
  .r0520-form-row.triple label:last-child,
  .r0520-form-row.assignment-row label:last-child{
    border-bottom:0;
  }
  .r0520-form-row.triple input,
  .r0520-form-row.assignment-row input{
    border-left:0;
    border-top:1px solid #777;
  }
}

/* ============================================================
   R-0520: IMPRESIÓN EN EL MISMO FORMATO DE LA PLANILLA FÍSICA
============================================================ */
.print-sheet{display:none}

@media print{
  @page{
    size:A4 landscape;
    margin:7mm;
  }

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

  body>*{
    display:none !important;
  }

  .print-sheet{
    display:block !important;
    width:100%;
    color:#111;
    background:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:9.5pt;
  }

  .r0520-print-header{
    display:grid;
    grid-template-columns:25% 75%;
    height:58px;
    border:2px solid #111;
  }

  .r0520-print-logo{
    border-right:2px solid #111;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }

  .r0520-print-logo img{
    width:88%;
    height:48px;
    object-fit:contain;
  }

  .r0520-print-title{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1.3;
  }

  .r0520-print-title strong{
    font-size:11pt;
    font-weight:500;
  }

  .r0520-print-title span{
    font-size:10pt;
  }

  .r0520-meta-table,
  .r0520-attendance-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
  }

  .r0520-meta-table{
    margin-top:6px;
  }

  .r0520-meta-table td{
    border:2px solid #111;
    padding:5px 7px;
    height:25px;
    vertical-align:middle;
  }

  .r0520-meta-table strong{
    font-weight:500;
  }

  .r0520-attendance-table{
    margin-top:6px;
  }

  .r0520-attendance-table th,
  .r0520-attendance-table td{
    border:2px solid #111;
    text-align:center;
    vertical-align:middle;
    padding:3px 4px;
  }

  .r0520-attendance-table thead tr:first-child th{
    height:23px;
    font-weight:500;
  }

  .r0520-attendance-table thead tr:nth-child(2) th{
    height:20px;
    font-weight:500;
  }

  .r0520-attendance-table th:nth-child(1),
  .r0520-attendance-table td:nth-child(1){
    width:4%;
  }

  .r0520-attendance-table th:nth-child(2),
  .r0520-attendance-table td:nth-child(2){
    width:8%;
  }

  .r0520-attendance-table th:nth-child(3),
  .r0520-attendance-table td:nth-child(3),
  .r0520-attendance-table th:nth-child(4),
  .r0520-attendance-table td:nth-child(4){
    width:9%;
  }

  .r0520-attendance-table .hours-total-head{
    width:8%;
  }

  .r0520-attendance-table .activity-head{
    width:46%;
  }

  .r0520-attendance-table .signature-head{
    width:14%;
  }

  .r0520-attendance-table tbody tr{
    height:36px;
  }

  .r0520-attendance-table tbody td.activity{
    text-align:left;
    padding-left:7px;
    white-space:normal;
  }

  .r0520-attendance-table tbody td.signature{
    min-width:90px;
  }

  .r0520-attendance-table .blank-row{
    height:36px;
  }

  .r0520-total-label{
    text-align:left !important;
    font-weight:700;
    padding-left:8px !important;
    height:24px;
  }

  .r0520-total-hours{
    font-weight:700;
  }
}


/* Ajuste final R-0520: el diseño tipo planilla se usa SOLO al imprimir.
   El formulario de registro vuelve al diseño normal del sistema. */
@media print{
  .r0520-attendance-table th:nth-child(1),
  .r0520-attendance-table td:nth-child(1){
    width:5%;
  }

  .r0520-attendance-table th:nth-child(2),
  .r0520-attendance-table td:nth-child(2){
    width:7%;
    white-space:nowrap;
  }

  .r0520-attendance-table th:nth-child(3),
  .r0520-attendance-table td:nth-child(3),
  .r0520-attendance-table th:nth-child(4),
  .r0520-attendance-table td:nth-child(4){
    width:9%;
  }
}


/* ============================================================
   AJUSTE 18/09/2026 - BITÁCORA DEL BECARIO
============================================================ */
.student-activity-notice{background:#eef7fb;border:1px solid #cae1ec;border-left:4px solid var(--blue);padding:11px 12px;border-radius:9px;color:#3e5e70;font-size:12px;line-height:1.45;margin:12px 0}
.qr-helper{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f4f8fb;border:1px solid #dbe7ef;padding:10px 12px;border-radius:10px;margin-top:14px}.qr-helper strong{color:var(--blue);font-size:12px}.qr-helper span{color:var(--muted);font-size:11px;text-align:right}
.becario-journal{margin:18px 0 12px;border-radius:13px;padding:14px;border:1px solid var(--line)}
.becario-journal.pending{background:linear-gradient(135deg,#fff9eb,#fff);border-color:#ead7a2}.becario-journal.done{display:flex;gap:10px;align-items:center;background:#f0faf5;border-color:#cde5d8;color:#315f49}
.becario-journal.done strong,.becario-journal.done small{display:block}.becario-journal.done small{font-size:11px;color:#688075;margin-top:2px}
.journal-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(0,0,0,.07);flex:0 0 auto}
.journal-head>div{display:flex;gap:10px;align-items:center}.journal-head strong,.journal-head small{display:block}.journal-head strong{color:#755414}.journal-head small{font-size:11px;color:#7e7257;margin-top:2px}
.journal-list{display:grid;gap:8px;margin-top:12px}.journal-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e6dcc1;border-radius:10px;padding:10px}.journal-item strong,.journal-item span{display:block}.journal-item strong{font-size:12px;color:var(--blue)}.journal-item span{font-size:10.5px;color:var(--muted);margin-top:2px}
.journal-section-title{display:flex;justify-content:space-between;align-items:end;margin-top:18px}.journal-section-title h4{margin:2px 0 8px;font-family:Lora,serif;color:var(--blue)}
.activity-pending-btn{border:1px solid #e2c976;background:#fff9e8;color:#735615;padding:7px 9px;border-radius:8px;font-size:10.5px;font-weight:800;cursor:pointer}
.activity-cell{display:flex;align-items:flex-start;gap:7px;justify-content:space-between;min-width:200px}.activity-cell span{text-align:left;line-height:1.35}.activity-edit-btn{border:0;background:#eef4f8;color:var(--blue);font-size:9px;font-weight:800;padding:5px 7px;border-radius:6px;cursor:pointer;white-space:nowrap}
.activity-status{display:inline-block;border-radius:999px;padding:4px 7px;font-size:9.5px;font-weight:800}.progress-status{background:#edf3f8;color:#557083}
.activity-modal-card{width:min(620px,100%)}.activity-modal-tip{background:#f4f8fb;border-left:4px solid var(--gold);padding:11px 12px;border-radius:8px;font-size:11.5px;color:var(--muted);line-height:1.45;margin:12px 0}.activity-counter{text-align:right;color:var(--muted);font-size:10px;margin:-5px 0 10px}
@media(max-width:620px){.journal-item,.qr-helper{align-items:flex-start;flex-direction:column}.qr-helper span{text-align:left}.journal-item .btn{width:100%}.activity-cell{min-width:160px;flex-direction:column}}

/* ============================================================
   MEJORAS 22/09/2026 - CENTRALIZACIÓN, ACTIVIDADES, EXCEL Y LISTA
============================================================ */
.student-activities-panel{margin-top:20px}.becario-activities-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.becario-activity-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff;box-shadow:0 7px 22px rgba(28,54,72,.05)}
.becario-activity-card.closed{opacity:.78;background:#fafbfc}.activity-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.activity-card-head h3{margin:3px 0 5px;color:var(--blue);font-family:Lora,serif;font-size:18px}.activity-card-head p{margin:0;font-size:11px;color:var(--muted)}
.activity-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9.5px;font-weight:800;white-space:nowrap}.activity-badge.open{background:#eaf7ef;color:#286346}.activity-badge.full{background:#fff1dc;color:#875f14}.activity-badge.closed{background:#eef1f3;color:#647078}.activity-badge.enrolled{background:#e8f3fb;color:#1c5f82}
.activity-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:13px 0}.activity-meta-grid>div{background:#f6f9fb;border:1px solid #e5edf2;border-radius:9px;padding:8px}.activity-meta-grid strong,.activity-meta-grid small{display:block}.activity-meta-grid strong{font-size:11px;color:#365564}.activity-meta-grid small{font-size:9px;color:var(--muted);margin-top:2px}
.activity-card-actions{display:flex;gap:7px;flex-wrap:wrap}.activity-card-actions .btn{flex:1;min-width:130px}.activity-description{font-size:11px;color:#52666f;line-height:1.5;margin:10px 0}.activity-capacity{height:7px;border-radius:999px;background:#e9eff2;overflow:hidden;margin:7px 0}.activity-capacity span{display:block;height:100%;background:var(--blue)}
.central-control-card{margin-top:12px}.central-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.central-kpi{border:1px solid #dfe8ed;border-radius:12px;padding:12px;background:linear-gradient(145deg,#fff,#f8fbfd)}.central-kpi span{font-size:19px}.central-kpi strong{display:block;font-size:22px;color:var(--blue);margin:4px 0 1px}.central-kpi small{display:block;color:var(--muted);font-size:9px;line-height:1.25}
.manager-activities-card,.roster-card{margin-top:16px}.manager-activity-row{display:grid;grid-template-columns:1.35fr .9fr .8fr .8fr auto;gap:9px;align-items:center;border:1px solid #e1e9ed;border-radius:11px;padding:10px;margin:8px 0;background:#fff}.manager-activity-row strong,.manager-activity-row small{display:block}.manager-activity-row strong{color:#244b5b;font-size:11px}.manager-activity-row small{color:var(--muted);font-size:9px;margin-top:2px}.manager-activity-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.manager-activity-actions .btn{padding:6px 8px;font-size:9.5px}
.roster-toolbar{display:flex;gap:8px;margin-bottom:12px}.roster-toolbar select{flex:1}.roster-table-wrap{overflow:auto;border:1px solid #e3eaee;border-radius:11px}.roster-table{width:100%;border-collapse:collapse;min-width:850px}.roster-table th,.roster-table td{padding:9px;border-bottom:1px solid #edf1f3;text-align:left;font-size:10px}.roster-table th{background:#f4f8fa;color:#536d78;font-size:9px;text-transform:uppercase}.roster-actions{display:flex;gap:5px;flex-wrap:wrap}.roster-actions .btn{font-size:9px;padding:5px 7px}.attendance-dot{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800}.attendance-dot::before{content:'';width:7px;height:7px;border-radius:50%;background:#a9b5ba}.attendance-dot.in::before{background:#e9a321}.attendance-dot.done::before{background:#33a36b}
.scan-person-card{border:1px solid #dbe7ec;background:#f7fbfc;border-radius:12px;padding:12px;margin:10px 0}.scan-person-card .scan-name{font-size:18px;font-weight:800;color:var(--blue)}.scan-person-card .scan-meta{font-size:11px;color:var(--muted);margin-top:4px}.scan-person-card .scan-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.scan-person-card .scan-kpis div{background:#fff;border:1px solid #e4ecef;border-radius:8px;padding:7px}.scan-person-card .scan-kpis strong,.scan-person-card .scan-kpis small{display:block}.scan-person-card .scan-kpis strong{font-size:13px;color:#244b5b}.scan-person-card .scan-kpis small{font-size:8px;color:var(--muted)}
.import-modal-card{width:min(900px,96vw)}.import-actions-row{display:grid;grid-template-columns:1.4fr .6fr;gap:10px;margin:14px 0}.file-drop{min-height:90px;border:1.5px dashed #9fc2cf;border-radius:12px;background:#f7fbfc;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;color:#315d6b}.file-drop span{font-weight:800}.file-drop small{font-size:10px;color:var(--muted);margin-top:3px}.file-drop input{display:none}.import-required{font-size:10px;color:#65777f;background:#f6f8fa;border-left:4px solid var(--gold);padding:9px 11px;border-radius:8px}.import-preview{margin:12px 0;max-height:260px;overflow:auto}.import-preview table{width:100%;border-collapse:collapse;font-size:9px}.import-preview th,.import-preview td{padding:6px;border-bottom:1px solid #e7ecef;text-align:left;white-space:nowrap}.import-preview th{background:#f2f6f8;position:sticky;top:0}.import-progress{height:8px;background:#e9eff1;border-radius:999px;overflow:hidden;margin:10px 0}.import-progress span{display:block;height:100%;width:0;background:var(--blue);transition:width .2s ease}.import-result-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.import-result-cards div{border-radius:9px;padding:8px;background:#f5f8fa;border:1px solid #e4eaee}.import-result-cards strong,.import-result-cards small{display:block}.import-result-cards strong{font-size:16px;color:var(--blue)}.import-result-cards small{font-size:8px;color:var(--muted)}
.activity-manager-modal{width:min(820px,96vw)}.activity-form-grid .span-two{grid-column:span 2}.qr-activity-modal-card{width:min(570px,96vw)}
.assignment-imported-note{display:inline-flex;gap:5px;align-items:center;padding:4px 7px;border-radius:999px;background:#eef5fb;color:#41677d;font-size:9px;font-weight:700}
.report-print-only{display:none}
@media(max-width:1000px){.central-summary-grid{grid-template-columns:repeat(3,1fr)}.manager-activity-row{grid-template-columns:1fr 1fr}.manager-activity-actions{grid-column:1/-1;justify-content:flex-start}.becario-activities-grid{grid-template-columns:1fr}}
@media(max-width:680px){.central-summary-grid{grid-template-columns:1fr 1fr}.import-actions-row{grid-template-columns:1fr}.import-result-cards{grid-template-columns:1fr 1fr}.activity-form-grid .span-two{grid-column:auto}.roster-toolbar{flex-direction:column}.scan-person-card .scan-kpis{grid-template-columns:1fr}.manager-activity-row{grid-template-columns:1fr}.manager-activity-actions{grid-column:auto}}

@media print{
  body.print-becario-report>*{display:none!important}
  body.print-becario-report #becarioDynamicPrint{display:block!important}
  #becarioDynamicPrint{font-family:Arial,sans-serif;color:#111;background:#fff;width:100%}
  #becarioDynamicPrint .print-report-head{display:grid;grid-template-columns:180px 1fr;border:1.5px solid #111;min-height:62px}
  #becarioDynamicPrint .print-report-head img{width:160px;height:58px;object-fit:contain;padding:3px}
  #becarioDynamicPrint .print-report-title{display:grid;place-items:center;text-align:center;border-left:1.5px solid #111;font-size:13px}
  #becarioDynamicPrint .print-report-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1.5px solid #111;border-top:0}
  #becarioDynamicPrint .print-report-meta div{padding:5px;border-right:1px solid #111;font-size:8px}#becarioDynamicPrint .print-report-meta div:last-child{border-right:0}
  #becarioDynamicPrint table{width:100%;border-collapse:collapse;margin-top:6px;font-size:7.5px}#becarioDynamicPrint th,#becarioDynamicPrint td{border:1px solid #111;padding:4px;text-align:left}#becarioDynamicPrint th{background:#f2f2f2}
}

/* ============================================================
   SALIDA OLVIDADA / REGULARIZACIÓN DE JORNADA
============================================================ */
.forgotten-exit-card{
  margin:14px 0;padding:14px;border-radius:14px;
  border:1px solid #f0c98a;background:linear-gradient(180deg,#fffaf0,#fff);
  box-shadow:0 8px 22px rgba(141,92,10,.06)
}
.forgotten-exit-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:7px}
.forgotten-exit-head>span{font-size:22px;line-height:1}
.forgotten-exit-head strong,.forgotten-exit-head small{display:block}
.forgotten-exit-head strong{font-size:14px;color:#7a4d00}
.forgotten-exit-head small{font-size:12px;color:#6f777b;margin-top:3px}
.forgotten-exit-card p{margin:8px 0 12px;font-size:13px;line-height:1.45;color:#5e676b}
.forgotten-exit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.forgotten-exit-card label{font-size:12px;font-weight:800;color:#5c6265}
.forgotten-exit-card input,.forgotten-exit-card textarea{margin-top:5px}
.forgotten-exit-card textarea{resize:vertical}
@media(max-width:620px){
  .forgotten-exit-grid{grid-template-columns:1fr}
}


/* ================================================================
   24SEP · INTERFAZ DIFERENCIADA PARA BECARIOS / RESPONSABLES
   Tarjetas adaptativas: acciones accesibles en móvil, sin botones cortados.
================================================================ */
.control-dashboard24{--control-ink:#193b50;--control-blue:#165e79;--control-line:#dbe7ed}
.control-dashboard24 .manager-heading{align-items:flex-start;gap:16px}
.control-dashboard24 .manager-heading .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.control-dashboard24 .manager-heading .actions .btn{white-space:normal}
.control-dashboard24 .dashboard-summary{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}
.control-dashboard24 .central-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.becario-control-grid24{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}
.becario-control-card24{
  border:1px solid var(--control-line);border-radius:18px;background:#fff;
  box-shadow:0 10px 30px rgba(23,59,80,.045);padding:18px;min-width:0;
}
.bcc-head24{display:flex;align-items:start;justify-content:space-between;gap:12px}
.bcc-head24 strong{font-weight:800;color:#17364a;font-size:16px}
.bcc-head24 small{font-size:12px;color:#6c7f8a;display:block;margin-top:4px}
.bcc-head24 .status{flex:0 0 auto}
.bcc-unit24{color:#38596a;background:#f3f8fa;border-radius:10px;padding:9px 11px;margin:13px 0;font-size:12px;font-weight:650;line-height:1.4}
.bcc-unit24 small{font-weight:400;color:#6d8390}
.bcc-hours24{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bcc-hours24>div{border:1px solid #e6edf0;border-radius:10px;padding:10px 8px;min-width:0}
.bcc-hours24 b{display:block;color:#17455e;font-size:16px;overflow-wrap:anywhere}
.bcc-hours24 small{display:block;color:#7a8a93;font-size:10px;margin-top:3px}
.becario-control-card24>.progress{margin:11px 0 13px}
.bcc-open24{border-radius:10px;color:#88501a;background:#fff5e4;padding:9px 10px;margin-bottom:11px;font-size:11px}
.bcc-actions24{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bcc-actions24 .btn{min-width:0;min-height:42px;padding:9px 10px;white-space:normal;text-align:center;justify-content:center;font-size:11px;border-radius:10px;overflow-wrap:anywhere}
.bcc-actions24 .btn.primary{grid-column:1/-1}
.supervisor-workplace24{background:linear-gradient(120deg,#f9fcfe 0%,#fff 78%)}
.supervisor-workplace24 .summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.supervisor-roster24{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
.control-person24{background:#fff;border:1px solid #dce8ed;border-radius:12px;padding:14px;display:flex;gap:13px;justify-content:space-between;min-width:0}
.control-person24 strong{font-size:13px;color:#193b50}
.control-person24 small{display:block;color:#6f8390;font-size:11px;margin:5px 0;overflow-wrap:anywhere}
.control-tag24,.hours-mini24{display:inline-block;border-radius:9px;background:#edf9f2;color:#237147;padding:5px 7px;font-size:10px;font-weight:750;margin:2px 2px 2px 0}
.control-tag24.pending{background:#fff2e3;color:#a35e23}
.hours-mini24{background:#eef5fb;color:#155978}
.control-buttons24{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:6px;min-width:210px}
.control-buttons24 .btn{font-size:10px;white-space:normal;min-height:37px;padding:7px 8px}
.regularization-section24{border:1px solid #b9d9e1;background:linear-gradient(180deg,#f8fbfd,#fff)}
.regularization-layout24{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:14px}
.regularization-layout24>div{border:1px solid #dbe6ec;border-radius:14px;background:#fff;padding:15px;min-width:0}
.regularization-selector24>label{display:block;font-size:12px;font-weight:750;color:#385669}
.regularization-selector24 select{margin:6px 0 12px;width:100%;max-width:100%}
.regular-row24{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 0;border-bottom:1px solid #e9eff2}
.regular-row24 strong{display:block;color:#244456;font-size:12px}
.regular-row24 small{display:block;color:#6e838f;margin-top:3px;font-size:10px}
.regular-row24.pending strong{color:#9b611e}
.regular-row24 .btn{flex:0 0 auto}
.regularization-form24 h3{font-family:inherit;font-size:18px;margin:3px 0;color:#244456}
.regularization-form24>label{display:block;font-size:12px;font-weight:750;color:#385669;margin-top:10px}
.regularization-form24 input,.regularization-form24 select,.regularization-form24 textarea{width:100%;margin-top:5px}
.regularization-time-grid24{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.regularization-time-grid24 label{font-weight:750;color:#385669;font-size:11px}
.hours-preview24{padding:12px;border-radius:10px;background:#f0f5f7;color:#536e7a;font-size:12px;margin:12px 0}
.hours-preview24.ok{background:#eaf7ee;color:#187045}
.hours-preview24.error{background:#fff0ed;color:#a44934}
.field-hint{display:block;color:#6d8390;font-size:11px;line-height:1.45;margin-top:6px}
.editor-becario24 .form-grid{gap:12px}
.editor-becario24 .form-grid select{min-height:42px}
@media(max-width:1080px){
  .supervisor-roster24{grid-template-columns:1fr}
  .supervisor-workplace24 .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .regularization-layout24{grid-template-columns:1fr}
  .control-dashboard24 .manager-heading{flex-direction:column}
  .control-dashboard24 .manager-heading .actions{justify-content:flex-start;width:100%}
}
@media(max-width:600px){
  .becario-control-grid24{grid-template-columns:1fr}
  .becario-control-card24{padding:14px}
  .bcc-head24{flex-wrap:wrap}
  .bcc-actions24{grid-template-columns:repeat(2,minmax(0,1fr))}
  .control-person24{flex-direction:column}
  .control-buttons24{min-width:0;width:100%}
  .regularization-layout24>div{padding:12px}
  .regularization-time-grid24{grid-template-columns:1fr 1fr}
  .control-dashboard24 .manager-heading .actions .btn{flex:1 1 45%}
}


/* ================================================================
   19 · UNIDADES Y CORRECCIÓN · móvil primero
================================================================ */
.area-management19{border-top:4px solid #bd932f;scroll-margin-top:18px}
.area-manage-head19{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;justify-content:space-between}
.area-manage-head19 .btn{align-self:flex-start}
.unit-summary19{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.unit-summary19>div{background:#f2f7fa;border:1px solid #dae8ee;border-radius:12px;padding:14px;min-width:0}
.unit-summary19 strong{display:block;color:#173e56;font-size:26px}.unit-summary19 small{font-size:11px;color:#526d79}
.unit-canonical19{border:1px solid #b9ddcd;border-left:5px solid #2b946c;background:#f2fbf6;border-radius:12px;padding:14px;margin-bottom:13px}
.unit-canonical19 span,.unit-canonical19 strong,.unit-canonical19 small{display:block}
.unit-canonical19 span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#26704d;font-weight:850}
.unit-canonical19 strong{font-size:15px;color:#204637;margin:5px 0}.unit-canonical19 small{font-size:11px;color:#647b70}
.unit-management-toolbar19{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}
.unit-management-list19{display:grid;gap:9px}
.unit-row19{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #dce7ec;border-radius:12px;padding:14px;background:#fff;min-width:0}
.unit-row19.is-hidden19{background:#f8f9fa;border-style:dashed}
.unit-row19 strong,.unit-row19 small,.unit-counts19{display:block}
.unit-row19 strong{font-size:13px;color:#173e56;overflow-wrap:anywhere}.unit-row19 small{font-size:11px;color:#637d88;margin:4px 0}
.unit-counts19{font-size:10px;color:#557383;margin-top:7px}
.unit-row-actions19{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.unit-row-actions19 .btn{font-size:11px;white-space:normal}
.unit-official19{border-radius:999px;background:#e7f5ed;color:#297049;font-size:10px;font-weight:800;padding:7px 9px}
.unit-warning19{border:1px solid #e6c996;background:#fff7e9;padding:14px;border-radius:12px;margin:14px 0;font-size:12px;color:#825719}
.unit-warning19>div{padding:8px 0;border-bottom:1px solid #f0dbb5}
.unit-dialog19{max-width:580px;width:min(96vw,580px);max-height:92vh;overflow-y:auto;padding:24px}
.unit-student19{padding:13px;border-radius:11px;background:#eff6fa;border:1px solid #dce8ef;margin:14px 0}
.unit-student19 strong,.unit-student19 small{display:block;overflow-wrap:anywhere}
.unit-student19 strong{font-size:14px;color:#234659}.unit-student19 small{font-size:12px;color:#5e7987;margin-top:5px}
.unit-big-label19{display:block;font-size:13px;font-weight:850;color:#254557;margin:12px 0 4px}
.unit-dialog19 select,.unit-dialog19 textarea{width:100%;font-size:16px;min-height:51px;border-radius:10px;margin:8px 0 13px}
.unit-dialog19 textarea{min-height:86px}
.unit-safe-note19{border-radius:11px;background:#eef8f3;color:#2c6a4d;padding:12px;font-size:12px;line-height:1.5;margin-bottom:12px}
.bcc-actions24 .btn.unit-change19{grid-column:1/-1;background:#226a83;color:#fff;border:1px solid #226a83;font-weight:850}
.bcc-actions24 .btn.unit-change19:hover{background:#164b60}
.control-dashboard24 .manager-filters{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.68fr);gap:9px}
.control-dashboard24 .manager-filters input,.control-dashboard24 .manager-filters select{min-width:0;width:100%;max-width:none;margin:0;min-height:48px;font-size:15px}
#b-departamento,#editArea24,#supervisorArea,#bamArea{font-size:16px;min-height:48px}
@media(max-width:780px){
 .unit-summary19{grid-template-columns:repeat(2,minmax(0,1fr))}
 .control-dashboard24 .manager-filters{grid-template-columns:1fr 1fr}
 .control-dashboard24 .manager-filters input{grid-column:1/-1}
 .unit-row19{flex-direction:column;align-items:stretch}.unit-row-actions19{justify-content:stretch}
 .unit-row-actions19 .btn{flex:1 1 45%;min-height:44px}
}
@media(max-width:560px){
 .control-dashboard24 .manager-filters{grid-template-columns:1fr}
 .control-dashboard24 .manager-filters input{grid-column:auto}
 .control-dashboard24 .manager-filters select{white-space:nowrap;text-overflow:ellipsis}
 .area-management19,.control-dashboard24 #managerRecordsCard24{padding:15px}
 .unit-summary19{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .unit-summary19>div{padding:10px}.unit-summary19 strong{font-size:21px}
 .unit-dialog19{padding:18px;border-radius:16px}
 .unit-dialog19 .btn.full{min-height:50px;font-size:14px}
 .area-manage-head19 .btn,.unit-management-toolbar19 .btn{width:100%;min-height:43px}
 .unit-row-actions19{display:grid;grid-template-columns:1fr 1fr}
 .unit-row-actions19 .btn{min-height:44px}
}

.unit-full-name19{display:block;color:#1f6274;font-weight:750;font-size:12px;line-height:1.5;margin:-5px 0 13px;overflow-wrap:anywhere}

/* 20 - Distinción clara entre carrera cursada y destino de servicio */
.destination-field20{border:1px solid #d9e8ed;background:#f7fbfd;padding:13px;border-radius:12px;min-width:0}
.destination-field20 .destination-label20{display:block;font-weight:850;color:#17445a;font-size:14px;margin-bottom:5px}
.destination-field20 .field-hint{display:block;line-height:1.45;margin-bottom:8px;color:#5d7581}
.destination-search20{width:100%;min-height:48px;font-size:16px!important;border:1px solid #c7dbe5;border-radius:10px;margin:7px 0!important;padding:11px 12px}
.destination-field20 select{width:100%;min-width:0;min-height:52px;font-size:16px;margin:7px 0!important;white-space:nowrap;text-overflow:ellipsis}
.destination-badge20{display:inline-block;border-radius:999px;padding:4px 8px;background:#ebf5fa;color:#225367;font-size:10px;font-weight:800;margin-top:7px}
#changeUnitSearch20,#editAreaSearch20,#areaSearch20{box-sizing:border-box}
@media(max-width:600px){
  .destination-field20{padding:11px;grid-column:1/-1}
  .destination-field20 select,.destination-search20,#editArea24,#changeUnitTarget19{font-size:16px;min-height:52px;width:100%;max-width:100%}
  #addAreaModal24 .modal-card{width:min(96vw,520px)}
  .unit-summary19{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ============================================================
  21: PANEL EXCLUSIVO DE SUPERVISORES / SECRETARIAS
============================================================ */
.scope-units21{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 15px}
.scope-unit21{border:1px solid #bcdedc;background:#edf9f7;border-radius:13px;padding:10px 12px;min-width:165px;flex:1}
.scope-unit21 strong,.scope-unit21 small{display:block}.scope-unit21 strong{font-size:12px;color:#174c57;line-height:1.3}
.scope-unit21 small{font-size:10px;color:#56737e;margin-top:4px}
.supervisor-tools21{display:grid;grid-template-columns:1.4fr 1.1fr auto;align-items:end;gap:10px;margin:10px 0}
.supervisor-tools21 label{display:block;font-size:11px;font-weight:750;color:#244d5d;margin-bottom:5px}
.supervisor-tools21 input,.supervisor-tools21 select{display:block;width:100%;min-height:47px;margin:0;border-radius:11px;font-size:14px;padding:10px;border:1px solid #c5d9e2;background:#fff;color:#243d4c}
.supervisor-scan21{min-height:47px;white-space:nowrap}
.supervisor-help21{font-size:11px;color:#516a78;background:#f0f6fa;border-left:4px solid #226a81;border-radius:8px;padding:10px 12px;line-height:1.45}
.supervisor-roster24{display:grid;gap:11px}
.supervisor-person21{border:1px solid #d2dfe7;border-radius:16px;background:#fff;box-shadow:0 3px 10px rgba(27,55,77,.035);padding:15px}
.supervisor-person21 .person-head21{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.supervisor-person21 .person-head21 strong{font-size:16px;color:#203a4a}.supervisor-person21 .person-head21 small{display:block;color:#69808c;font-size:11px;margin-top:4px}
.supervisor-person21 .person-meta21{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}
.supervisor-person21 .person-meta21 span{background:#f1f6f9;border-radius:8px;padding:7px 9px;font-size:11px;color:#315568}
.supervisor-person21 .person-meta21 .pending21{background:#fff5db;color:#7d5207}.supervisor-person21 .person-meta21 .ready21{background:#e7f7ed;color:#1a6a48}
.supervisor-person21 .person-progress21{height:8px;border-radius:999px;background:#eaf0f4;overflow:hidden;margin:10px 0 5px}
.supervisor-person21 .person-progress21>span{display:block;height:100%;background:#168a85}
.supervisor-person21 .person-hours21{font-size:11px;color:#5c7180;display:block;margin-bottom:10px}
.supervisor-person21 .person-actions21{display:flex;gap:8px;flex-wrap:wrap}
.supervisor-person21 .person-actions21 .btn{font-size:12px;min-height:39px;padding:8px 12px}
.supervisor-count21{font-size:11px;color:#677b88;margin:8px 0 0}
.supervisor-row21{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid #dce5eb;border-radius:12px;padding:11px;margin:7px 0;background:#fff}
.supervisor-row21 .supervisor-email21{display:block;font-size:11px;color:#657b89;overflow-wrap:anywhere;margin-top:4px}
.supervisor-row21 .supervisor-count21{display:block;margin-top:4px}
.supervisor-row21 .supervisor-row-actions21{display:flex;flex-wrap:wrap;gap:5px}
.qr-reader-modal21{max-width:520px;width:min(94vw,520px)}
.qr-viewfinder21{position:relative;min-height:215px;background:#142d3e;border-radius:15px;overflow:hidden;margin:14px 0}
.qr-viewfinder21 video{display:block;width:100%;max-height:52vh;min-height:215px;object-fit:cover}
.qr-viewfinder21 span{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);background:#152f39cf;color:#fff;border-radius:99px;padding:8px 12px;white-space:nowrap;font-size:11px}
.qr-scanner-fallback21{background:#eff6fc;color:#35586c;padding:12px;border-radius:10px;font-size:11px;line-height:1.5;margin:12px 0}
@media(max-width:750px){.supervisor-tools21{grid-template-columns:1fr}.supervisor-scan21{width:100%}.scope-units21{display:grid;grid-template-columns:1fr}.supervisor-person21 .person-actions21{display:grid;grid-template-columns:1fr 1fr}.supervisor-person21 .person-actions21 .btn{width:100%}}
@media(max-width:450px){.supervisor-person21 .person-head21{flex-direction:column}.supervisor-person21 .person-actions21{grid-template-columns:1fr}.supervisor-row21{grid-template-columns:1fr}.supervisor-row21 .supervisor-row-actions21 .btn{flex:1}}


/* 22 · Dashboard por unidad y buscador de regularizaciones */
.area-help22{color:#60758a;font-size:13px;margin:0 0 12px}
.area-global-metrics22{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:12px 0 15px}
.area-global-metrics22>div{border-radius:12px;border:1px solid #dce6ef;background:#f7fbfd;padding:12px}
.area-global-metrics22 b,.area-global-metrics22 span{display:block}
.area-global-metrics22 b{font-size:21px;color:#153a54}
.area-global-metrics22 span{font-size:11px;color:#667d8d;margin-top:2px}
.area-table22 td{vertical-align:middle;min-width:74px}
.area-table22 td:first-child{min-width:190px}
.area-table22 td:nth-child(7){min-width:160px}
.area-table22 td small,.area-person22 small{display:block;color:#6d8090;font-size:10px;margin-top:4px}
.area-count22{display:inline-flex;border-radius:999px;padding:5px 10px;font-weight:800;font-size:12px}
.area-count22.active{background:#e7f6ec;color:#12693a}.area-count22.done{background:#eaf1ff;color:#234c88}
.area-person22{display:block;border:1px solid #d9e5f0;border-radius:9px;background:#f4f9ff;padding:7px 9px;margin:3px 0;font-size:11px}
.area-person22 strong{overflow-wrap:anywhere;color:#233d53}
.area-unassigned22{color:#936021;background:#fff4df;display:inline-block;border-radius:10px;padding:7px;font-size:11px}
.area-view22{white-space:nowrap}.area-footnote22{font-size:11px;color:#617789;margin:12px 0 0}
.regular-search-head22 strong,.regular-search-head22 small{display:block}
.regular-search-head22 strong{font-size:15px;color:#1e4057}.regular-search-head22 small{font-size:11px;color:#6b7d88;margin-top:5px}
.regular-search-controls22{display:grid;gap:10px;margin:12px 0}
.regular-search-controls22 label{font-size:12px;font-weight:700;color:#34536b}
.regular-search-controls22 input:not([type=checkbox]),.regular-search-controls22 select{width:100%;height:45px;border:1px solid #cad9e5;border-radius:9px;padding:10px;font-size:14px;background:#fff}
.regular-only-open22{display:flex;gap:8px;align-items:center;cursor:pointer}
.regular-only-open22 input{width:18px;height:18px;margin:0}
.regular-hidden-select22{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.regular-results-count22{font-size:11px;color:#516b7e;margin:8px 0}
.regular-person-list22{max-height:325px;overflow:auto;display:grid;gap:7px;padding-right:3px}
.regular-person22{width:100%;display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left;background:#fff;border:1px solid #dbe4ea;border-radius:10px;padding:11px;cursor:pointer;min-height:64px}
.regular-person22:hover,.regular-person22.chosen{border-color:#bb8b23;background:#fffbef;box-shadow:inset 3px 0 #c69b32}
.regular-person-id22 strong,.regular-person-id22 small{display:block;overflow-wrap:anywhere}
.regular-person-id22 strong{color:#223e54;font-size:12px}.regular-person-id22 small{font-size:10px;color:#63798a;margin-top:5px}
.regular-person-tag22{color:#436784;white-space:nowrap;font-size:10px;font-weight:750}
.regular-person-tag22.needs-exit{color:#9d591c;background:#fff2df;border-radius:7px;padding:6px}
.regular-selected22{border-left:4px solid #c79a2d;border-radius:9px;padding:11px;background:#f3f8fb;font-size:11px;color:#31526a;margin:12px 0}
.regular-selected22 strong,.regular-selected22 small{display:block}.regular-selected22 small{margin-top:4px;font-size:10px}
@media(max-width:880px){.area-global-metrics22{grid-template-columns:repeat(3,1fr)}.area-overview-wrap22{overflow:visible}.area-table22,.area-table22 tbody{display:block}.area-table22 thead{display:none}.area-table22 tr{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;border:1px solid #dce6ee;border-radius:13px;padding:13px;margin-bottom:10px;background:#fff}.area-table22 td,.area-table22 td:first-child,.area-table22 td:nth-child(7){display:block;min-width:0;width:auto;border:0;padding:6px 0}.area-table22 td:before{display:block;content:attr(data-label);font-size:10px;color:#6e8191;font-weight:750;margin-bottom:4px}.area-table22 td:first-child,.area-table22 td:nth-child(7),.area-table22 td:last-child{grid-column:1/-1}.area-view22{width:100%;min-height:43px}}
@media(max-width:540px){.area-global-metrics22{grid-template-columns:repeat(2,1fr)}.regular-search-controls22 input:not([type=checkbox]),.regular-search-controls22 select{font-size:16px}.regular-person22{align-items:flex-start;flex-direction:column}.regular-person-tag22{white-space:normal}}
