:root{--brand:#0b5ed7;--brand2:#06418f;--bg:#f4f7fb}body{background:var(--bg);color:#172033}.navbar{background:linear-gradient(100deg,var(--brand2),var(--brand))}.card{border:0;border-radius:18px;box-shadow:0 8px 28px rgba(25,55,95,.08)}.btn{border-radius:10px}.form-control,.form-select{border-radius:10px}.stat{font-size:1.9rem;font-weight:800}.table thead th{white-space:nowrap}.qr-box{max-width:380px;margin:auto;background:#fff;padding:24px;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.08)}#reader{max-width:640px;margin:auto;border-radius:16px;overflow:hidden}.badge-soft{background:#eaf2ff;color:#0b5ed7}.nav-pills .nav-link{border-radius:12px}.camera-controls{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.scan-result{font-size:1.05rem}.sticky-actions{position:sticky;bottom:0;background:rgba(244,247,251,.95);padding:12px 0}.login-card{max-width:440px;margin:7vh auto}.hero-title{font-weight:800;letter-spacing:-.5px}
.program-checks{max-height:230px;overflow:auto;border:1px solid #dee2e6;border-radius:12px;padding:12px;background:#fff}.admin-shortcuts{overflow-x:auto}.admin-shortcuts .btn{white-space:nowrap}.table td{vertical-align:middle}

/* ===== V3: escáner general estilo tótem ===== */
.scan-kiosk-body{margin:0;min-height:100vh;background:#174c77;color:#fff;overflow-x:hidden}.scan-kiosk-page{min-height:100vh;padding:14px 14px 72px}.scan-brand{max-width:560px;margin:0 auto 12px}.scan-logo{width:66px;height:66px;margin:0 auto 7px;border-radius:13px;background:#fff;color:#174c77;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.35rem;box-shadow:0 4px 14px rgba(0,0,0,.15)}.scan-name{font-weight:700;font-size:1rem}.scan-clock{font-weight:900;font-size:2rem;line-height:1.15;margin-top:4px}.scan-date{font-weight:600;font-size:.82rem;opacity:.9}.scan-panel{max-width:520px;margin:0 auto;background:#fff;color:#172033;border-radius:16px;padding:12px;box-shadow:0 12px 30px rgba(0,0,0,.2)}.scan-instruction{background:#174c77;color:#fff;border-radius:7px;padding:9px 12px;font-weight:700;text-align:center;font-size:.82rem}.scan-config-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:8px;margin-top:10px}.camera-stage{height:330px;background:#000;border-radius:9px;position:relative;overflow:hidden}.camera-stage #reader{width:100%;height:100%;max-width:none;border-radius:0}.camera-stage #reader video{width:100%!important;height:100%!important;object-fit:cover!important}.camera-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:#000;text-align:center;padding:20px;font-size:.9rem}.scan-corners{position:absolute;inset:0;pointer-events:none}.scan-corners .corner{position:absolute;width:38px;height:38px;border-color:#fff;border-style:solid;border-width:0}.scan-corners .tl{left:21%;top:22%;border-left-width:5px;border-top-width:5px}.scan-corners .tr{right:21%;top:22%;border-right-width:5px;border-top-width:5px}.scan-corners .bl{left:21%;bottom:22%;border-left-width:5px;border-bottom-width:5px}.scan-corners .br{right:21%;bottom:22%;border-right-width:5px;border-bottom-width:5px}.scan-feedback{min-height:52px;margin-top:9px;border-radius:9px;padding:9px 12px;text-align:center;background:#eef2f6;color:#3d4a59;font-size:.88rem}.scan-feedback.ok{background:#d1e7dd;color:#0f5132}.scan-feedback.bad{background:#f8d7da;color:#842029}.scan-feedback.working{background:#cff4fc;color:#055160}.manual-scan{display:flex}.manual-scan .form-control{border-radius:7px 0 0 7px}.manual-scan .btn{width:48px;border-radius:0 7px 7px 0}.totem-bar{position:fixed;z-index:1050;left:0;right:0;bottom:0;min-height:58px;background:#082f4f;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px}.totem-state{font-size:.78rem;font-weight:700}.totem-active{overscroll-behavior:none}.totem-active .scan-kiosk-page{user-select:none}.scanner-card{outline:2px solid rgba(11,94,215,.15)}
@media(max-width:576px){.scan-kiosk-page{padding:8px 8px 70px}.scan-panel{border-radius:13px;padding:10px}.scan-logo{width:54px;height:54px}.scan-clock{font-size:1.65rem}.camera-stage{height:305px}.scan-config-grid{grid-template-columns:1fr}.scan-corners .tl,.scan-corners .bl{left:16%}.scan-corners .tr,.scan-corners .br{right:16%}}

/* ===== V4: identidad institucional y registro auxiliar ===== */
.navbar-brand{display:flex;align-items:center;gap:.65rem}.brand-insignia{width:38px;height:42px;object-fit:contain;background:#fff;border-radius:8px;padding:2px;box-shadow:0 2px 8px rgba(0,0,0,.16)}.brand-copy{line-height:1.05}.brand-copy small{display:block;font-size:.66rem;font-weight:600;opacity:.8;letter-spacing:.05em}.login-brand{display:flex;justify-content:center;margin-bottom:14px}.login-brand img{width:92px;height:108px;object-fit:contain;background:#fff;border-radius:16px;padding:6px;box-shadow:0 8px 24px rgba(13,55,105,.12)}
.academic-sheet{background:#fff;border:1px solid #d9e1ec;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(25,55,95,.08)}.academic-heading{display:flex;align-items:center;gap:18px;padding:18px 22px;background:linear-gradient(100deg,#063a7a,#0b5ed7);color:#fff}.academic-logo-wrap{width:82px;height:88px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;padding:5px;flex:0 0 auto}.academic-logo{width:100%;height:100%;object-fit:contain}.academic-heading-text h2{font-size:1.18rem;font-weight:900;letter-spacing:.02em;margin:2px 0 1px}.academic-kicker{font-size:.78rem;font-weight:800;letter-spacing:.13em;opacity:.85}.academic-subtitle{font-size:.82rem;opacity:.85}.academic-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e4eaf2}.academic-meta-grid>div{padding:11px 15px;border-right:1px solid #e4eaf2;border-bottom:1px solid #e4eaf2}.academic-meta-grid>div:nth-child(3n){border-right:0}.academic-meta-grid span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7788;font-weight:700;margin-bottom:2px}.academic-meta-grid strong{font-size:.86rem;color:#172033}.register-card{overflow:hidden;border-radius:16px}.register-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;background:#f8fafc;border-bottom:1px solid #dfe6ef}.register-section-title strong{display:block;font-size:.98rem}.register-section-title small{display:block;color:#6b7788;font-size:.74rem;margin-top:2px}.register-scroll{overflow:auto;max-width:100%}.register-table{font-size:.72rem;min-width:max-content}.register-table th,.register-table td{padding:.34rem .42rem;text-align:center;vertical-align:middle;border-color:#cfd8e5}.register-table thead th{background:#edf3fa;color:#16314f;font-weight:800}.register-table .sticky-col{position:sticky;z-index:2;background:#fff}.register-table thead .sticky-col{z-index:4;background:#e7eef8}.register-table .num-col{left:0;min-width:44px;width:44px}.register-table .name-col{left:44px;min-width:235px;max-width:285px;text-align:left}.date-head{min-width:62px;max-width:72px}.date-head span{display:block;font-size:.72rem}.date-head small{display:block;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#6b7788}.att-mark{font-weight:900;font-size:.83rem;min-width:36px}.att-p{color:#0b5ed7;background:#f5f9ff}.att-t{color:#8a5a00;background:#fff9e8}.att-f{color:#d10000;background:#fff4f4}.att-j{color:#087990;background:#effbff}.att-empty{color:#a0a8b3}.summary-head{background:#dce9f8!important}.sum-cell,.summary-num{min-width:48px}.summary-num{font-weight:700}.group-units{background:#dbeafe!important}.group-experiences{background:#e6f4ea!important}.eval-head{min-width:105px;max-width:145px}.eval-head span{display:block;white-space:normal}.eval-head small{display:block;font-size:.62rem;font-weight:500;color:#6b7788}.grade-cell{font-weight:800;font-size:.82rem}.average-head,.grade-average{background:#fff5d6!important;font-weight:900;min-width:62px}.student-actions{display:flex;flex-wrap:wrap;gap:.35rem}.student-actions .btn{white-space:nowrap}.student-avatar{width:34px;height:34px;border-radius:50%;background:#eaf2ff;color:#0b5ed7;display:inline-flex;align-items:center;justify-content:center;font-weight:800;margin-right:8px}.empty-state{padding:2.2rem;text-align:center;color:#738095}
@media(max-width:768px){.academic-heading{padding:14px;gap:12px}.academic-logo-wrap{width:66px;height:72px}.academic-heading-text h2{font-size:1rem}.academic-meta-grid{grid-template-columns:1fr 1fr}.academic-meta-grid>div:nth-child(3n){border-right:1px solid #e4eaf2}.academic-meta-grid>div:nth-child(2n){border-right:0}.register-table .name-col{min-width:190px;max-width:220px}}
@media(max-width:480px){.academic-meta-grid{grid-template-columns:1fr}.academic-meta-grid>div{border-right:0!important}.brand-copy small{display:none}.brand-insignia{width:34px;height:38px}}
.scan-logo img{width:100%;height:100%;object-fit:contain}.scan-logo{padding:4px;overflow:hidden}
@media print{.navbar,footer,.no-print,.alert{display:none!important}body{background:#fff!important}.container{max-width:none!important;width:100%!important;padding:0!important}.academic-sheet,.register-card{box-shadow:none!important;border-color:#999!important}.register-scroll{overflow:visible!important}.register-table{font-size:7pt!important;min-width:100%!important}.register-table .sticky-col{position:static!important}@page{size:landscape;margin:8mm}}

/* ======================================================================
   V6 · TEMA PROFESIONAL RESPONSIVO CETPRO CONTAMANA
   Diseño institucional unificado para administrador, docente y estudiante
   ====================================================================== */
:root{
  --brand:#0b5fc7;
  --brand2:#073b82;
  --brand3:#0a2f66;
  --brand-soft:#eaf3ff;
  --accent:#f2bd2b;
  --accent-soft:#fff7dd;
  --surface:#ffffff;
  --surface-2:#f7faff;
  --surface-3:#edf4fc;
  --text:#152238;
  --muted:#69778c;
  --line:#dce5f0;
  --success:#11865d;
  --danger:#dc3545;
  --warning:#b97800;
  --shadow-sm:0 6px 18px rgba(15,51,94,.07);
  --shadow-md:0 14px 36px rgba(15,51,94,.10);
  --shadow-lg:0 22px 54px rgba(7,42,89,.14);
  --radius:18px;
  --radius-sm:12px;
}

@media screen{
  html{scroll-behavior:smooth;background:#edf4fc}
  body.app-body{
    min-height:100vh;
    margin:0;
    color:var(--text);
    font-family:"Segoe UI Variable","Segoe UI","Aptos","Helvetica Neue",Arial,sans-serif;
    font-size:15px;
    line-height:1.52;
    letter-spacing:.002em;
    background:
      radial-gradient(circle at 7% -8%,rgba(18,109,219,.15),transparent 29rem),
      radial-gradient(circle at 100% 15%,rgba(242,189,43,.10),transparent 24rem),
      linear-gradient(180deg,#f8fbff 0%,#eef4fb 45%,#f6f9fd 100%);
    background-attachment:fixed;
  }
  body.app-body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    opacity:.28;
    background-image:
      linear-gradient(rgba(9,70,145,.035) 1px,transparent 1px),
      linear-gradient(90deg,rgba(9,70,145,.035) 1px,transparent 1px);
    background-size:34px 34px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 72%);
  }

  /* Cabecera institucional */
  .app-navbar{
    position:sticky;
    top:0;
    z-index:1030;
    min-height:68px;
    padding:.55rem 0;
    background:linear-gradient(110deg,#072e64 0%,#0b4fa9 44%,#0b68d7 100%)!important;
    border-top:4px solid rgba(242,189,43,.9);
    border-bottom:1px solid rgba(255,255,255,.16);
    box-shadow:0 8px 26px rgba(3,32,71,.18)!important;
  }
  .app-navbar .container{max-width:1320px}
  .navbar-brand{gap:.72rem!important;min-width:0}
  .brand-insignia{
    width:43px!important;
    height:47px!important;
    border-radius:10px!important;
    padding:3px!important;
    border:1px solid rgba(255,255,255,.65);
    box-shadow:0 4px 14px rgba(1,25,58,.26)!important;
  }
  .brand-copy{
    font-weight:800;
    font-size:1.02rem;
    letter-spacing:.015em;
    text-shadow:0 1px 1px rgba(0,0,0,.12);
  }
  .brand-copy small{
    margin-top:3px;
    font-size:.61rem!important;
    letter-spacing:.09em!important;
    font-weight:700!important;
    color:rgba(255,255,255,.78);
  }
  .app-navbar .btn-light{
    background:rgba(255,255,255,.96);
    color:var(--brand2);
    border:0;
    font-weight:700;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
  }

  /* Área principal */
  main.container{
    max-width:1320px;
    padding-top:1.75rem!important;
    padding-bottom:2rem!important;
  }
  h1,h2,h3,h4,h5,h6{color:#10213a;letter-spacing:-.018em}
  .hero-title,
  h1.h3{
    font-weight:800!important;
    color:#10213a;
  }
  .text-muted{color:var(--muted)!important}
  a{transition:color .18s ease,opacity .18s ease}

  /* Paneles / tarjetas */
  .card{
    position:relative;
    border:1px solid rgba(191,207,226,.72)!important;
    border-radius:var(--radius)!important;
    background:linear-gradient(155deg,rgba(255,255,255,.99) 0%,rgba(247,250,255,.99) 100%)!important;
    box-shadow:var(--shadow-md)!important;
    overflow:hidden;
  }
  .card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(90deg,var(--brand2),var(--brand),var(--accent));
    opacity:.88;
  }
  .card-body{padding:1.28rem 1.35rem}
  .card-body>h2.h5,
  .card-body>h3.h5,
  .card-body>h5{
    font-weight:750;
    color:#12305a;
    margin-bottom:.55rem;
  }
  .card-body>.text-muted{font-size:.91rem}
  .stat{
    margin-top:.18rem;
    font-size:2rem!important;
    line-height:1.05;
    font-weight:850!important;
    color:var(--brand2);
    letter-spacing:-.045em;
  }
  .row.g-3>div>a.card,
  .row.g-3>div>.card.h-100{
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .row.g-3>div>a.card:hover{
    transform:translateY(-3px);
    border-color:rgba(11,95,199,.32)!important;
    box-shadow:var(--shadow-lg)!important;
  }
  .scanner-card{
    background:linear-gradient(145deg,#f8fbff 0%,#eaf4ff 100%)!important;
    outline:0!important;
  }
  .scanner-card::after{
    content:"QR";
    position:absolute;
    right:17px;
    top:15px;
    min-width:34px;
    padding:5px 8px;
    border-radius:10px;
    background:var(--brand-soft);
    color:var(--brand);
    font-size:.68rem;
    font-weight:850;
    letter-spacing:.08em;
    text-align:center;
  }

  /* Botones */
  .btn{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    border-radius:11px!important;
    padding:.48rem .92rem;
    font-weight:650;
    letter-spacing:.002em;
    box-shadow:0 3px 8px rgba(13,55,105,.06);
    transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease;
  }
  .btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(13,55,105,.12)}
  .btn:active{transform:translateY(0)}
  .btn-sm{min-height:34px;padding:.33rem .7rem;font-size:.82rem}
  .btn-primary{
    border-color:#0a5cc6!important;
    background:linear-gradient(135deg,#0b57b8,#1375e8)!important;
    color:#fff!important;
  }
  .btn-primary:hover{background:linear-gradient(135deg,#084a9d,#0d66ce)!important}
  .btn-outline-primary{
    color:#0a5ecb!important;
    border-color:#4b92e8!important;
    background:rgba(255,255,255,.72)!important;
  }
  .btn-outline-primary:hover{background:#eaf3ff!important;color:#084c9f!important;border-color:#0b69d7!important}
  .btn-outline-secondary{
    color:#53647a!important;
    border-color:#aab8ca!important;
    background:rgba(255,255,255,.74)!important;
  }
  .btn-outline-secondary:hover{background:#edf2f8!important;color:#20364f!important;border-color:#8191a6!important}
  .btn-danger,.btn-outline-danger:hover{box-shadow:0 4px 12px rgba(220,53,69,.12)}

  /* Formularios */
  label,.form-label{
    margin-bottom:.34rem;
    color:#213650;
    font-weight:650;
    font-size:.9rem;
  }
  .form-control,.form-select{
    min-height:42px;
    border:1px solid #cbd8e7!important;
    border-radius:11px!important;
    background-color:rgba(251,253,255,.96)!important;
    color:#17283f;
    font-size:.94rem;
    box-shadow:inset 0 1px 1px rgba(14,45,81,.025);
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
  }
  .form-control:hover,.form-select:hover{border-color:#a8bfd9!important}
  .form-control:focus,.form-select:focus{
    border-color:#4d91e7!important;
    background:#fff!important;
    box-shadow:0 0 0 .22rem rgba(11,95,199,.12)!important;
  }
  .form-control::placeholder{color:#98a6b8;opacity:1}
  .form-text{color:#758398!important;font-size:.79rem}
  .input-group>.form-control:first-child{border-radius:11px 0 0 11px!important}
  .input-group>.btn:last-child{border-radius:0 11px 11px 0!important}

  /* Tablas */
  .table-responsive{
    border-radius:14px;
    scrollbar-color:#afc4dc #edf3f9;
    -webkit-overflow-scrolling:touch;
  }
  .table{
    --bs-table-bg:transparent;
    --bs-table-color:var(--text);
    margin-bottom:0;
    font-size:.9rem;
  }
  .table thead th{
    padding:.76rem .72rem;
    background:linear-gradient(180deg,#eef5fe,#e7f0fb);
    color:#23405f;
    border-bottom:1px solid #cbd8e7;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.025em;
    text-transform:none;
  }
  .table tbody td{
    padding:.76rem .72rem;
    border-color:#e1e8f0;
    color:#213249;
  }
  .table tbody tr{transition:background-color .14s ease}
  .table tbody tr:hover{background:rgba(232,242,255,.58)}
  .table tbody strong{color:#142b49}

  /* Insignias, mensajes y etiquetas */
  .badge{border-radius:8px;padding:.42em .62em;font-weight:750;letter-spacing:.01em}
  .alert{
    border:1px solid transparent;
    border-radius:14px!important;
    box-shadow:var(--shadow-sm);
    font-size:.9rem;
  }
  .alert-success{border-color:#b7dfcf}
  .alert-danger{border-color:#f1bec4}
  .alert-warning{border-color:#f3d891}
  .alert-info{border-color:#b7d8ee}

  /* Login */
  .login-card{
    max-width:460px!important;
    margin:6.5vh auto!important;
    border:1px solid rgba(161,189,221,.75)!important;
    box-shadow:0 28px 70px rgba(7,43,91,.17)!important;
  }
  .login-card::before{height:5px;background:linear-gradient(90deg,var(--brand2),var(--brand) 70%,var(--accent))}
  .login-brand img{
    width:94px!important;
    height:110px!important;
    border:1px solid #d7e3f0;
    box-shadow:0 12px 30px rgba(13,55,105,.14)!important;
  }

  /* Registro auxiliar */
  .academic-sheet{
    border-color:#cbd8e7!important;
    box-shadow:var(--shadow-md)!important;
  }
  .academic-heading{
    background:linear-gradient(110deg,#07356f 0%,#0b55b6 58%,#0e69d6 100%)!important;
    border-bottom:3px solid var(--accent);
  }
  .academic-meta-grid>div{background:rgba(249,252,255,.9)}
  .register-card{border:1px solid #d7e1ed;background:#fff;box-shadow:var(--shadow-sm)}
  .register-section-title{background:linear-gradient(180deg,#f8fbff,#eff5fc)!important}

  /* Pie */
  .app-footer{
    margin-top:1rem;
    padding:1.25rem 1rem 1.8rem!important;
    color:#7a8799!important;
    font-size:.76rem!important;
    letter-spacing:.01em;
  }

  /* Escáner general / tótem */
  body.scan-kiosk-body{
    font-family:"Segoe UI Variable","Segoe UI","Aptos","Helvetica Neue",Arial,sans-serif;
    background:
      radial-gradient(circle at 50% -10%,rgba(24,124,224,.42),transparent 28rem),
      linear-gradient(150deg,#082e54 0%,#0d4f7d 58%,#14668e 100%)!important;
  }
  .scan-panel{
    border:1px solid rgba(255,255,255,.58);
    border-radius:20px!important;
    box-shadow:0 24px 55px rgba(0,19,41,.30)!important;
  }
  .scan-instruction{
    border-radius:10px!important;
    background:linear-gradient(100deg,#0b4a79,#15628f)!important;
    letter-spacing:.005em;
  }
  .camera-stage{border-radius:14px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
  .scan-feedback{border-radius:12px!important}
  .totem-bar{background:rgba(5,36,62,.96)!important;backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.12)}

  /* Responsive real */
  @media (max-width:991.98px){
    main.container{padding-left:18px!important;padding-right:18px!important}
    .card-body{padding:1.1rem 1.15rem}
    .stat{font-size:1.8rem!important}
    .table{font-size:.86rem}
  }
  @media (max-width:767.98px){
    body.app-body{font-size:14px;background-attachment:scroll}
    .app-navbar{min-height:62px;padding:.42rem 0;border-top-width:3px}
    .app-navbar .container{padding-left:14px;padding-right:14px}
    .brand-insignia{width:38px!important;height:42px!important}
    .brand-copy{font-size:.91rem}
    main.container{padding:1.15rem 13px 1.5rem!important}
    h1.h3,.hero-title{font-size:1.45rem!important;line-height:1.18}
    .card{border-radius:15px!important}
    .card-body{padding:1rem}
    .btn{min-height:38px;padding:.44rem .78rem}
    .form-control,.form-select{min-height:40px;font-size:.92rem}
    .table{font-size:.81rem}
    .table thead th,.table tbody td{padding:.62rem .58rem}
    .student-actions{gap:.28rem}
    .student-actions .btn{font-size:.76rem;min-height:32px;padding:.28rem .56rem}
    .login-card{margin:3.5vh auto!important}
    .academic-sheet{border-radius:14px!important}
  }
  @media (max-width:575.98px){
    .brand-copy small{display:block!important;font-size:.55rem!important}
    .app-navbar .d-flex{gap:.4rem!important}
    main.container{padding-left:10px!important;padding-right:10px!important}
    .row.g-3,.row.g-4{--bs-gutter-x:.72rem;--bs-gutter-y:.72rem}
    .card-body{padding:.92rem}
    .stat{font-size:1.62rem!important}
    .btn-sm{font-size:.78rem}
    .alert{font-size:.84rem;padding:.72rem .82rem}
    .login-card .card-body{padding:1.25rem!important}
    .login-brand img{width:82px!important;height:96px!important}
  }
}

/* La impresión del registro auxiliar mantiene su formato institucional. */
@media print{
  body{font-family:"Segoe UI","Arial",sans-serif!important}
  .app-navbar,.app-footer{display:none!important}
}
