:root{
    --sidebar:#12324a;
    --sidebar-2:#0d2537;
    --accent:#1d6fa5;
    --bg:#f4f7fb;
    --card:#ffffff;
    --text:#22303c;
    --muted:#6c7a86;
    --border:#e5ebf2;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:280px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}
.brand-wrap{display:flex;gap:14px;align-items:center;padding:8px 10px;border-radius:18px;background:rgba(255,255,255,.06)}
.brand-icon{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:24px}
.brand-title{font-size:1.1rem;font-weight:700;line-height:1.2}
.brand-subtitle{font-size:.84rem;color:rgba(255,255,255,.75)}
.sidebar-nav .nav-link{color:rgba(255,255,255,.86);padding:12px 14px;border-radius:14px;display:flex;gap:10px;align-items:center;font-weight:500;text-decoration:none}
.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{background:rgba(255,255,255,.1);color:#fff}
.sidebar-user{padding:16px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}
.sidebar-user-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.58);margin-bottom:8px}
.sidebar-user-name{font-size:1rem;font-weight:700;line-height:1.25;color:#fff;margin-bottom:4px}
.sidebar-user-email{font-size:.88rem;line-height:1.35;color:rgba(255,255,255,.78);overflow-wrap:anywhere;word-break:break-word;min-height:20px}
.sidebar-user-actions{display:grid;gap:10px;margin-top:14px}
.sidebar-user .btn{border-radius:12px;font-weight:600}
.sidebar-user .btn-light{background:#fff;color:#12324a;border-color:#fff}
.sidebar-user .btn-outline-light{border-color:rgba(255,255,255,.75);color:#fff}
.main-content{flex:1;padding:28px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.page-title{font-size:1.75rem;font-weight:700;margin:0}
.page-subtitle{color:var(--muted);margin-top:4px}
.card-soft{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 25px rgba(24,48,77,.06)}
.card-kpi{padding:18px 20px;height:100%}
.card-kpi .kpi-title{font-size:.9rem;color:var(--muted);margin-bottom:8px}
.card-kpi .kpi-value{font-size:2rem;font-weight:700;line-height:1}
.card-kpi .kpi-icon{width:46px;height:46px;border-radius:14px;background:#edf4fa;display:grid;place-items:center;font-size:1.2rem;color:var(--accent)}
.section-card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:0 8px 25px rgba(24,48,77,.06)}
.table thead th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#556371;background:#f8fbff;border-bottom:1px solid var(--border)}
.table td,.table th{vertical-align:middle}
.badge-state{font-size:.78rem;padding:.55em .8em;border-radius:999px}
.form-label{font-weight:600;color:#334250}
.form-control,.form-select{border-radius:14px;border-color:#d8e1eb;padding:.7rem .9rem}
.btn{border-radius:12px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eff5fb,#f8fbfe)}
.login-card{width:min(980px,100%);background:#fff;border:1px solid var(--border);border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 20px 50px rgba(24,48,77,.08)}
.login-side{background:linear-gradient(180deg,#12324a,#1d6fa5);color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:center}
.login-form{padding:42px}
.panel-title{font-size:1.2rem;font-weight:700;margin-bottom:2px}
.panel-subtitle{color:var(--muted);margin-bottom:24px}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.detail-grid-single{grid-template-columns:1fr}
.detail-item{background:#f8fbff;border:1px solid var(--border);border-radius:16px;padding:14px}
.detail-item .label{font-size:.8rem;color:var(--muted)}
.detail-item .value{font-weight:600;margin-top:4px}
.equipo-photo{width:100%;max-height:280px;object-fit:cover;border-radius:18px;border:1px solid var(--border);background:#fff}
.print-area{background:#fff;color:#000}
.label-ticket{border:2px dashed #333;border-radius:16px;padding:18px;max-width:420px;background:#fff}
.label-qr{display:block;max-width:150px;margin:0 auto}
.signature-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fbfdff}
.signature-header{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:10px}
.signature-title{font-weight:700}
.signature-note{font-size:.85rem;color:var(--muted)}
.signature-pad{width:100%;height:220px;background:#fff;border:1px dashed #b8c7d6;border-radius:14px;touch-action:none;cursor:crosshair}
.signature-preview-wrap{min-height:96px;display:flex;align-items:end;justify-content:center}
.signature-preview{max-width:100%;max-height:90px;object-fit:contain}
.signature-placeholder{height:90px;border-bottom:1px solid #adb5bd}
.evidencia-preview-print{width:100%;max-width:420px;border:1px solid var(--border);border-radius:16px}
@media print{
  .no-print,.sidebar,.topbar,.btn{display:none!important}
  body{background:#fff}
  .main-content,.container{padding:0!important}
  .section-card{box-shadow:none;border:0;padding:0}
}
@media (max-width: 992px){
  .sidebar{position:relative;width:100%;height:auto}
  .app-shell{flex-direction:column}
  .main-content{padding:18px}
  .login-card{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
}


.audit-meta{font-size:.85rem;color:var(--muted)}
.audit-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;background:#f1f5f9;border:1px solid var(--border);font-size:.8rem;font-weight:600}
.table-compact td,.table-compact th{padding:.72rem .75rem}
.report-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}
.report-brand{font-size:1.4rem;font-weight:700}
.report-note{font-size:.9rem;color:#5b6773}
.print-table th{background:#eef4f9}
@media print{
  .report-header{margin-bottom:18px}
  .print-table th{background:#eef4f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.import-columns-box{background:#f8fbff;border:1px solid var(--border);border-radius:18px;padding:16px;min-height:100%}
.import-rules li{margin-bottom:.55rem}

.document-page{max-width:1200px}
.document-card{padding:28px}
.document-header-block{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding-bottom:18px;border-bottom:2px solid #dbe7f2;margin-bottom:22px}
.document-brand-mark{width:72px;height:72px;border-radius:18px;background:linear-gradient(180deg,var(--sidebar),var(--accent));color:#fff;display:grid;place-items:center;font-size:1.45rem;font-weight:800;letter-spacing:.06em}
.document-brand-logo-wrap{width:172px;min-height:86px;border:1px solid var(--border);border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px 14px}
.document-brand-logo{display:block;max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.document-brand-title{font-size:1.28rem;font-weight:800;color:#10273a;line-height:1.2}
.document-brand-subtitle{font-size:.96rem;color:#466175;font-weight:600;margin-top:2px}
.document-brand-meta{font-size:.84rem;color:#6d7c8a;margin-top:4px}
.document-ref-box{min-width:180px;background:#f8fbff;border:1px solid var(--border);border-radius:16px;padding:12px 14px}
.document-ref-label{font-size:.76rem;color:#6b7a88;text-transform:uppercase;letter-spacing:.08em}
.document-ref-value{font-size:1rem;font-weight:800;color:#163147;margin:3px 0}
.document-ref-date{font-size:.8rem;color:#6d7c8a}
.document-title-wrap{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}
.document-main-title{font-size:1.45rem;font-weight:800;margin:0;color:#10273a}
.document-main-subtitle{font-size:.95rem;color:#677785;margin-top:4px}
.document-meta-stack{display:grid;gap:8px;min-width:220px}
.document-meta-item{display:flex;justify-content:space-between;gap:12px;background:#f8fbff;border:1px solid var(--border);border-radius:14px;padding:10px 12px;font-size:.88rem}
.document-meta-item span{color:#6c7b88}
.document-meta-item strong{color:#10273a;font-weight:700}
.document-section-title{font-size:.95rem;font-weight:800;color:#10273a;text-transform:uppercase;letter-spacing:.05em;margin:22px 0 10px}
.document-hero-grid{display:grid;grid-template-columns:320px 1fr;gap:20px;align-items:start;margin-bottom:18px}
.document-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .82rem;border-radius:999px;background:#f4f8fc;border:1px solid var(--border);font-size:.82rem;font-weight:700;color:#17324a}
.document-footer-block{padding-top:14px;border-top:1px solid #dde8f1;color:#536575;font-size:.92rem}
.label-ticket-corporate{border:1px solid #cad9e6;border-radius:22px;padding:20px;max-width:430px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 16px 30px rgba(16,39,58,.08)}
.label-header{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px dashed #b9ccda;padding-bottom:12px;margin-bottom:14px}
.label-brand-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#eef5fb;color:#12324a;font-weight:700;font-size:.82rem}
.label-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;font-size:.9rem}
.label-field{background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px 12px}
.label-field .label{display:block;color:#738290;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.quick-links{display:flex;gap:10px;flex-wrap:wrap}
.quick-link-card{flex:1 1 220px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px 18px;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(24,48,77,.06)}
.quick-link-card:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(24,48,77,.08)}
@media print{
  .document-card{padding:0;border:0;box-shadow:none}
  .document-header-block{padding-bottom:14px;margin-bottom:16px}
  .document-ref-box{background:#f8fbff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .document-meta-item{background:#f8fbff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media (max-width: 992px){
  .document-header-block,.document-title-wrap,.document-hero-grid{grid-template-columns:1fr;display:grid}
  .document-ref-box,.document-meta-stack{min-width:0}
  .document-brand-logo-wrap{width:100%;max-width:220px}
}

.sidebar{display:flex;flex-direction:column;gap:14px}
.sidebar-scroll{display:grid;gap:14px;overflow:auto;padding-right:2px}
.sidebar-section{display:grid;gap:8px}
.sidebar-section-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.52);padding:0 6px}
.sidebar-nav{gap:6px}
.sidebar-nav .nav-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;color:rgba(255,255,255,.86);font-weight:600;transition:.18s ease;text-decoration:none}
.sidebar-nav .nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar-nav .nav-link.active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.sidebar-nav .nav-link i{font-size:1rem;opacity:.95}
.sidebar-user{padding:16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.sidebar-user-top{display:flex;align-items:flex-start;gap:12px}
.session-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08));display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:.04em;flex:0 0 auto}
.sidebar-user-actions{display:grid;gap:10px;margin-top:14px}
.filters-form .form-label{margin-bottom:.4rem}
.filters-actions{display:flex;gap:10px;flex-wrap:wrap}
.list-header,.list-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.table-pagination-nav .pagination{gap:6px}
.table-pagination-nav .page-link{border-radius:10px;border-color:#d6e1ec;color:#1d4466;padding:.45rem .8rem;min-width:40px;text-align:center}
.table-pagination-nav .page-item.active .page-link{background:#1d6fa5;border-color:#1d6fa5;color:#fff}
.table-pagination-nav .page-item.disabled .page-link{background:#f6f9fc;color:#93a0ac}
.table td .btn-group-sm>.btn,.table td .btn-sm{border-radius:10px}
.section-card .table-responsive{border-radius:16px}
.topbar{gap:16px}
.page-subtitle{max-width:820px}
@media (max-width: 992px){
  .filters-actions{justify-content:flex-start!important}
  .list-header,.list-footer{align-items:flex-start}
}


.label-sheet{max-width:520px}
.operational-doc-wrap{max-width:1120px}
.operational-doc{padding:26px 30px}
.op-doc-title{font-weight:800;text-align:center;font-size:1.15rem;letter-spacing:.04em;margin-bottom:20px;text-transform:uppercase}
.op-doc-subtitle{font-weight:800;text-align:center;font-size:1rem;letter-spacing:.04em;margin:20px 0 14px;text-transform:uppercase}
.op-table{width:100%;border-collapse:collapse;font-size:.92rem}
.op-table td{border:1px solid #222;padding:8px 10px;vertical-align:top}
.op-table .section-head{background:#f3f4f6;font-weight:800;text-transform:uppercase}
.op-table .label{font-weight:700;background:#fafafa}
.op-table .mini-head{text-align:center;font-weight:800;background:#fafafa;width:48px}
.op-sign-table{width:100%;border-collapse:collapse}
.op-sign-table td{border:1px solid #222;padding:10px}
.op-sign-table .sign-box{height:120px;vertical-align:bottom}
.sign-img{max-width:100%;max-height:96px;object-fit:contain;display:block;margin:0 auto}
.op-paragraph{font-size:.95rem;line-height:1.55;text-align:justify;margin-bottom:12px}
.signature-line-wide{min-height:110px;border-bottom:1px solid #222;display:flex;align-items:flex-end;justify-content:center}
@media print{
  .operational-doc{padding:10px!important;border:0!important;box-shadow:none!important}
  .op-table .section-head,.op-table .label,.op-table .mini-head{background:#f3f4f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.preview-embed-body{background:#fff;margin:0;padding:0}
.preview-embed-body .print-area{padding:0!important}
.preview-embed-wrap{padding:18px;background:#fff}
.doc-preview-frame{width:100%;height:78vh;border:0;background:#fff;display:block}
.doc-preview-modal .modal-dialog{max-width:min(1200px,95vw)}
.doc-preview-modal .modal-content{border:0;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(16,39,58,.18)}
.doc-preview-modal .modal-header{border-bottom:1px solid #e6edf5;padding:14px 18px}
.doc-preview-modal .modal-body{padding:0;background:#eef3f8}
.doc-preview-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.label-qr-wrap{display:flex;justify-content:center;align-items:center;min-height:170px}
.label-qr{display:block;max-width:160px;max-height:160px;margin:0 auto}
.label-qr-fallback{font-size:.85rem;color:#64748b;text-align:center}
.label-qr-notes{font-size:.8rem;line-height:1.45;color:#475569;text-align:center}
.label-logo{display:block;width:100%;max-width:180px;height:auto;margin:0 auto 12px auto}

.operational-doc-wrap{max-width:880px}
.operational-doc.op-pdf-shell{padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;background:#fff}
.op-doc-head{display:grid;grid-template-columns:180px 1fr 180px;align-items:center;min-height:72px;margin:0 12px;border:1px solid #111;background:#fff;overflow:hidden}
.op-doc-logo-wrap{display:flex;align-items:center;justify-content:flex-start;padding:8px 10px 8px 12px;height:100%}
.op-doc-logo{display:block;width:150px;max-width:100%;height:auto;object-fit:contain}
.op-doc-head-title{padding:0 10px;text-align:center;font-size:1.14rem;font-weight:800;letter-spacing:.01em;color:#111;text-transform:uppercase;line-height:1.05}
.op-doc-head-spacer{height:100%}
.op-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.76rem}
.op-table td,.op-table th{border:1px solid #111;padding:4px 6px;vertical-align:middle;line-height:1.12}
.op-table .section-head{background:#d9ebfb;font-weight:800;text-align:center}
.op-table .label{background:#d9ebfb;font-weight:700}
.op-table .mini-head{background:#d9ebfb;font-weight:800;text-align:center}
.op-content-pad{padding:0}
.op-block{padding:0 12px 0}
.op-block + .op-block{margin-top:8px}
.op-sign-table{width:100%;border-collapse:collapse;table-layout:fixed}
.op-sign-table td,.op-sign-table th{border:1px solid #111;padding:4px 6px}
.op-sign-table col{width:50%}
.op-sign-table .label{background:#d9ebfb;font-weight:700;text-align:center}
.op-sign-table .sign-box{height:74px;vertical-align:bottom;position:relative;padding-bottom:18px}
.op-sign-table .sign-footer{background:#d9ebfb;font-weight:700;text-align:center}
.sign-img{max-width:100%;max-height:42px;object-fit:contain;display:block;margin:0 auto}
.signatory-name{position:absolute;left:6px;right:6px;bottom:4px;text-align:center;font-size:.7rem;font-weight:600}
.op-letter-box{margin:10px 12px 0;border:1px solid #111;padding:10px 12px 8px;min-height:238px;display:flex;flex-direction:column}
.op-letter-title{text-align:center;font-size:.88rem;font-weight:800;text-transform:uppercase;margin-bottom:10px;color:#111}
.op-paragraph{font-size:.77rem;line-height:1.34;text-align:justify;margin:0 0 8px;color:#111}
.op-date{margin-top:auto;padding-top:8px;text-align:right;font-size:.76rem;font-weight:700}
.op-letter-sign{display:flex;justify-content:flex-end;align-items:flex-end;margin-top:14px}
.op-letter-sign-inner{width:40%;min-width:180px;text-align:center}
.signature-line-wide{min-height:46px;border-bottom:1px solid #111;display:flex;align-items:flex-end;justify-content:center}
.op-form-code{text-align:center;font-size:.74rem;margin:6px 0 2px;color:#111}
.op-caption-inline{font-size:.72rem;color:#475569;margin-top:4px}
.op-mini-note{padding:4px 12px 0;font-size:.72rem;color:#475569}
.op-table .empty-row td{height:12px}
.evidencia-preview-print{width:100%;max-width:135px;border:1px solid #cbd5e1;border-radius:0;margin-top:6px}

@page{size:A4 portrait;margin:8mm}
@media print{
  .doc-preview-modal,.modal,.modal-backdrop{display:none!important}
  .preview-embed-wrap{padding:0!important}
  .print-area,.operational-doc-wrap{padding:0!important;max-width:none!important;width:100%!important}
  .operational-doc.op-pdf-shell{border:0!important}
  .operational-doc,.op-block,.op-letter-box,.op-sign-table{page-break-inside:avoid}
  .op-table .section-head,.op-table .label,.op-table .mini-head,.op-sign-table .label,.op-sign-table .sign-footer{background:#d9ebfb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

@media (max-width: 992px){
  .document-header-block,.document-title-wrap,.document-hero-grid{grid-template-columns:1fr;display:grid}
  .document-ref-box,.document-meta-stack{min-width:0}
  .document-brand-logo-wrap{width:100%;max-width:220px}
  .doc-preview-frame{height:70vh}
  .op-doc-head{grid-template-columns:128px 1fr 128px;min-height:62px;margin:0 8px}
  .op-doc-logo-wrap{padding:8px}
  .op-doc-logo{width:110px}
  .op-doc-head-title{font-size:1rem}
  .op-letter-sign{justify-content:center}
  .op-letter-sign-inner{width:100%}
}
