@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--pm-primary: #0d3b66;--pm-primary-dark: #082540;--pm-secondary: #1a5f7a;--pm-light: #e8f4f8;--pm-white: #fff;--pm-text: #1a1a2e;--pm-text-muted: #6b7280;--pm-border: #e5e7eb;--pm-danger: #dc2626;--pm-success: #059669;--pm-warning: #d97706;--pm-radius: 8px;--pm-shadow: 0 1px 3px rgba(0,0,0,.08)}body{font-family:DM Sans,system-ui,sans-serif;color:var(--pm-text);background:var(--pm-light);line-height:1.5}button,input,select,textarea{font-family:inherit;font-size:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--pm-radius);font-weight:500;border:none;cursor:pointer;transition:background .2s}.btn-primary{background:var(--pm-primary);color:#fff}.btn-primary:hover{background:var(--pm-primary-dark)}.btn-outline{background:transparent;border:2px solid var(--pm-primary);color:var(--pm-primary)}.btn-outline:hover{background:var(--pm-primary);color:#fff}.btn-sm{padding:.35rem .75rem;font-size:.875rem}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.35rem;font-weight:500}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--pm-border);border-radius:var(--pm-radius);background:var(--pm-white)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--pm-primary);box-shadow:0 0 0 3px #0d3b6626}.card{background:var(--pm-white);border-radius:var(--pm-radius);box-shadow:var(--pm-shadow);padding:1.25rem;margin-bottom:1rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--pm-border)}th{font-weight:600;color:var(--pm-primary);background:var(--pm-light)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500}.badge-success{background:#d1fae5;color:var(--pm-success)}.badge-warning{background:#fef3c7;color:var(--pm-warning)}.badge-danger{background:#fee2e2;color:var(--pm-danger)}.badge-info{background:#dbeafe;color:var(--pm-primary)}.muted{color:var(--pm-text-muted)}.error-msg{color:var(--pm-danger);font-size:.875rem;margin-top:.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a162866;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay .modal{border-radius:16px;box-shadow:0 24px 48px -12px #0003,0 0 0 1px #ffffff0d;padding:2rem 1.75rem;max-width:440px;width:100%;max-height:min(90vh,920px);overflow-y:auto;animation:modalSlideIn .25s ease-out}.modal-overlay .modal.modal--lg{max-width:min(36rem,calc(100vw - 2rem))}.modal-overlay .modal.modal--xl{max-width:min(48rem,calc(100vw - 2rem))}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.97) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-overlay .modal h3{font-size:1.25rem;font-weight:700;color:var(--pm-primary);margin-bottom:1.5rem;letter-spacing:-.02em}.modal-overlay .input-group{margin-bottom:1.25rem}.modal-overlay .input-group label{font-weight:600;font-size:.9rem;color:var(--pm-text);margin-bottom:.5rem;display:block}.modal-overlay .input-group input:not([type=checkbox]),.modal-overlay .input-group select,.modal-overlay .input-group textarea{width:100%;padding:.7rem 1rem;border:2px solid var(--pm-border);border-radius:10px;font-size:1rem;transition:border-color .2s,box-shadow .2s;background:var(--pm-white)}.modal-overlay .input-group input::placeholder,.modal-overlay .input-group textarea::placeholder{color:#9ca3af}.modal-overlay .input-group input:focus,.modal-overlay .input-group select:focus,.modal-overlay .input-group textarea:focus{outline:none;border-color:var(--pm-primary);box-shadow:0 0 0 4px #0d3b661f}.modal-overlay .input-group textarea{resize:vertical;min-height:80px}.modal-overlay .input-group input[type=checkbox]{width:auto;margin-right:.5rem;accent-color:var(--pm-primary);cursor:pointer}.modal-overlay .input-group label:has(input[type=checkbox]){display:flex;align-items:center;cursor:pointer;font-weight:500}.modal-overlay .modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--pm-border)}.modal-overlay .modal-actions .btn-primary{background:linear-gradient(135deg,var(--pm-primary),var(--pm-secondary));padding:.75rem 1.5rem;border-radius:10px;font-weight:600;min-height:44px;transition:transform .15s,box-shadow .2s}.modal-overlay .modal-actions .btn-primary:hover:not(:disabled){box-shadow:0 8px 20px -5px #0d3b6659;transform:translateY(-1px)}.modal-overlay .modal-actions .btn-outline{border-radius:10px;padding:.75rem 1.25rem;font-weight:600;min-height:44px;transition:background .2s,color .2s}.modal-overlay .error-msg{margin-bottom:.5rem;padding:.5rem .75rem;background:#fef2f2;border-radius:8px;border-left:3px solid var(--pm-danger)}.modal.card.modal--xl.uppv-modal h3,.modal.card.modal--lg.uppv-modal h3{margin:0 0 .25rem;font-size:1.3rem;font-weight:700;color:var(--pm-primary);letter-spacing:-.02em}.uppv-modal-head{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--pm-border)}.uppv-modal-lead{margin:.45rem 0 0;font-size:.9rem;line-height:1.45;color:var(--pm-text-muted);max-width:40rem}.uppv-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem;align-items:start}.uppv-form-grid>.input-group,.uppv-form-grid>.uppv-datetime-bundle{margin-bottom:1rem}.uppv-form-full,.uppv-datetime-bundle{grid-column:1 / -1}.uppv-datetime-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 .75rem}.uppv-datetime-grid .input-group{margin-bottom:0}.uppv-form-subrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem;grid-column:1 / -1}.uppv-form-subrow .input-group{margin-bottom:0}.uppv-form-actions.modal-actions{margin-top:.35rem;padding-top:1.15rem;border-top:1px solid var(--pm-border)}.uppv-checkbox-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;min-height:44px}.uppv-req{color:var(--pm-danger);font-weight:600}@media (max-width: 640px){.uppv-form-grid,.uppv-datetime-grid,.uppv-form-subrow{grid-template-columns:1fr}}.card.toolbar{border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.card.toolbar .btn-primary{background:linear-gradient(135deg,var(--pm-primary),var(--pm-secondary));padding:.6rem 1.25rem;border-radius:10px;font-weight:600;transition:transform .15s,box-shadow .2s}.card.toolbar .btn-primary:hover{box-shadow:0 6px 16px -4px #0d3b664d;transform:translateY(-1px)}.card.toolbar input[type=search],.card.toolbar input[type=text]{flex:1 1 12rem;min-width:0;min-height:42px;padding:.55rem 1rem;border:2px solid var(--pm-border);border-radius:10px;transition:border-color .2s,box-shadow .2s}.card.toolbar input[type=search]:focus,.card.toolbar input[type=text]:focus{outline:none;border-color:var(--pm-primary);box-shadow:0 0 0 3px #0d3b661f}.card.toolbar-act{border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:1rem 1.25rem}.card.toolbar-act .btn-primary{background:linear-gradient(135deg,var(--pm-primary),var(--pm-secondary));padding:.6rem 1.25rem;border-radius:10px;font-weight:600;transition:transform .15s,box-shadow .2s}.card.toolbar-act .btn-primary:hover{box-shadow:0 6px 16px -4px #0d3b664d;transform:translateY(-1px)}.toolbar-act__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.toolbar-act__title{margin:0;font-size:1rem;font-weight:600;color:var(--pm-primary)}.toolbar-act__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem 1rem;align-items:end}.filter-field label{display:block;font-size:.75rem;font-weight:600;color:var(--pm-text-muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.04em}.filter-field select,.filter-field input[type=search],.filter-field input[type=date]{width:100%;padding:.5rem .6rem;border-radius:var(--pm-radius);border:1px solid var(--pm-border);font-size:.9rem;min-height:40px;box-sizing:border-box;background:var(--pm-white)}.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--pm-border)}.filter-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem .25rem .65rem;background:#f1f5f9;border-radius:999px;font-size:.78rem;color:#475569}.filter-chip__x{border:none;background:transparent;cursor:pointer;padding:0 .2rem;font-size:1.1rem;line-height:1;color:#64748b;border-radius:4px}.filter-chip__x:hover{color:#0f172a;background:#e2e8f0}.card.act-list-card{min-height:120px}.act-empty{text-align:center;padding:2rem 1rem 2.5rem}.act-empty__title{margin:0 0 .5rem;font-size:1.05rem;font-weight:600;color:var(--pm-primary)}.act-empty__hint{margin:0 0 1.25rem;font-size:.9rem;color:var(--pm-text-muted);max-width:28rem;margin-left:auto;margin-right:auto;line-height:1.5}.act-empty__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.act-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--pm-border)}.act-pagination__info{font-size:.875rem;color:var(--pm-text-muted)}.act-pagination__nav{display:flex;gap:.5rem}.titulo{margin:0 0 .35rem;font-size:1.1rem;font-weight:600;color:var(--pm-primary)}.subtitulo{margin:0 0 1rem;font-size:.9rem;color:var(--pm-text-muted)}.table-reporte th{font-weight:600;color:var(--pm-text-muted);background:#f8fafc;font-size:.875rem}.table-reporte tbody tr:hover td{background:#0d3b660a}.page-stack{display:flex;flex-direction:column;gap:1rem}.crud-page{max-width:1200px;margin:0 auto;padding:0 .75rem 1.5rem;width:100%}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem 1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--pm-border);font-size:.9rem;color:var(--pm-text-muted)}.card:not(.toolbar):not(.modal):not(.mod-workspace){border-radius:12px;box-shadow:0 2px 10px #0000000f;padding:1.25rem 1.5rem}.crud-table-wrap{display:none!important}.crud-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 520px){.crud-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.crud-grid{grid-template-columns:repeat(3,1fr)}}.crud-card{background:var(--pm-white);border-radius:12px;border:1px solid var(--pm-border);box-shadow:var(--pm-shadow);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:box-shadow .2s ease,border-color .2s ease,transform .15s ease}.crud-card:hover{border-color:#0d3b6633;box-shadow:0 8px 24px -8px #0d3b6626;transform:translateY(-1px)}.crud-card-title{font-weight:600;font-size:1rem;color:var(--pm-primary);line-height:1.3}.crud-card-meta{font-size:.875rem;color:var(--pm-text-muted);display:flex;flex-direction:column;gap:.25rem}.crud-card-meta span{display:block}.crud-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--pm-border)}.crud-card-actions .btn{flex:1 1 auto;min-width:0}@media (max-width: 768px){body{font-size:15px}.card{padding:1rem;margin-bottom:.75rem}.topbar .page-title{font-size:1rem}th,td{padding:.5rem .4rem;font-size:.8125rem}.btn{min-height:44px;padding:.6rem 1rem}.btn-sm{min-height:36px;padding:.4rem .6rem}.input-group input,.input-group select,.input-group textarea{min-height:44px;padding:.6rem .75rem}.table-wrap{margin:0 -1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:560px}.toolbar{flex-wrap:wrap;gap:.5rem}.toolbar .btn,.toolbar input,.toolbar select{flex:1 1 auto;min-width:0}.modal-overlay{padding:1.5rem .75rem .75rem;align-items:flex-start;overflow-y:auto}.modal-overlay .modal{max-width:100%;max-height:85vh;overflow-y:auto;padding:1.5rem 1.25rem}.modal-actions{flex-wrap:wrap;gap:.5rem}.modal-actions .btn{flex:1 1 auto;min-width:120px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.pagination{flex-wrap:wrap;justify-content:center;gap:.5rem}.actions-cell{white-space:normal}.actions-cell .btn{margin-bottom:.25rem;margin-right:.25rem}.resumen-cards{flex-direction:column}.resumen-card{min-width:0}.crud-card{padding:1rem}.crud-card-actions .btn{min-width:100px}.toolbar-act__head{flex-direction:column;align-items:stretch}.toolbar-act__actions{justify-content:stretch}.toolbar-act__actions .btn{flex:1 1 auto}.act-pagination{flex-direction:column;align-items:stretch}.act-pagination__nav{justify-content:center}}@media (max-width: 480px){th,td{padding:.4rem .35rem;font-size:.75rem}.table-wrap table{min-width:480px}.toolbar{flex-direction:column}.toolbar .btn,.toolbar input,.toolbar select{width:100%}.stats-grid{grid-template-columns:1fr}.user-dropdown-menu{left:0;right:auto;min-width:100%}.pagination{flex-direction:column}.permisos-grid{grid-template-columns:1fr}.crud-card-actions{flex-direction:column}.crud-card-actions .btn{width:100%}.toolbar-act__actions{flex-direction:column}}.mod-topbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.85rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,var(--pm-primary),var(--pm-secondary, #1a5f7a));color:#fff}.mod-topbar__eyebrow{margin:0;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85}.mod-topbar__title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.mod-topbar__stats{display:flex;flex-wrap:wrap;gap:.4rem;flex:1 1 auto}.mod-stat{border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;border-radius:8px;padding:.35rem .65rem;font-size:.78rem;cursor:pointer;font-family:inherit}.mod-stat--static{cursor:default}.mod-stat strong{font-size:.95rem;margin-right:.2rem}.mod-stat--warn strong{color:#fde68a}.mod-topbar__links{display:flex;flex-wrap:wrap;gap:.5rem}.mod-link{color:#fff;font-size:.82rem;font-weight:600;text-decoration:none;padding:.35rem .65rem;border-radius:8px;border:1px solid rgba(255,255,255,.3)}.mod-link:hover{background:#ffffff26}.card.mod-workspace{padding:0;overflow:hidden;margin-bottom:0}.mod-capture{padding:1rem 1.1rem;background:linear-gradient(180deg,#f8fbff,#fff);border-bottom:1px solid var(--pm-border)}.mod-capture__row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.mod-capture__field{padding:.55rem .65rem;border-radius:10px;border:2px solid var(--pm-border);font-size:.88rem;background:#fff;font-family:inherit}.mod-capture__field:focus{outline:none;border-color:var(--pm-primary);box-shadow:0 0 0 3px #0d3b661a}.mod-capture__field--sm{flex:0 1 11rem;min-width:8rem}.mod-capture__field--grow{flex:1 1 12rem;min-width:10rem;font-size:.9rem;padding:.55rem .75rem}.mod-capture__extra{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.65rem}.mod-capture__submit{flex-shrink:0;min-height:40px;border-radius:10px;font-weight:600;padding:0 1.1rem}.mod-capture__foot{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.mod-capture__more{border:none;background:none;color:var(--pm-secondary, #1a5f7a);font-size:.8rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.mod-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;padding:.75rem 1.1rem;border-bottom:1px solid var(--pm-border);background:#fafbfc}.mod-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.mod-tab{border:1px solid var(--pm-border);background:#fff;color:#64748b;font-size:.78rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;cursor:pointer;font-family:inherit;transition:background .12s,color .12s,border-color .12s}.mod-tab.is-active{background:var(--pm-primary);border-color:var(--pm-primary);color:#fff}.mod-toolbar__right{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;flex:1 1 14rem;justify-content:flex-end}.mod-search{flex:1 1 10rem;max-width:16rem;padding:.45rem .7rem;border-radius:8px;border:1px solid var(--pm-border);font-size:.85rem}.mod-search:focus{outline:none;border-color:var(--pm-primary);box-shadow:0 0 0 3px #0d3b661a}.mod-filters-adv{padding:.85rem 1.1rem;border-bottom:1px solid var(--pm-border);background:#fff}.mod-filters-adv__actions{margin-top:.5rem;display:flex;justify-content:flex-end;gap:.5rem}.btn.is-active{border-color:var(--pm-primary);color:var(--pm-primary);background:#0d3b660f}.mod-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}.mod-form-grid--3{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.mod-form-field label,.mod-form-label{display:block;font-size:.78rem;font-weight:600;color:var(--pm-text-muted);margin-bottom:.3rem}.mod-form-field--full{grid-column:1 / -1}.mod-req{color:var(--pm-danger)}.mod-input{width:100%;padding:.55rem .7rem;border-radius:9px;border:1px solid var(--pm-border);font-size:.88rem;font-family:inherit;box-sizing:border-box;background:#fff}.mod-input:focus{outline:none;border-color:var(--pm-primary);box-shadow:0 0 0 3px #0d3b661a}textarea.mod-input{resize:vertical;min-height:72px}.mod-form-error{margin:.5rem 1.1rem 0;padding:.55rem .75rem;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.85rem;border-left:3px solid var(--pm-danger)}.mod-form-ok{margin:.5rem 1.1rem 0;padding:.55rem .75rem;border-radius:8px;background:#ecfdf5;color:#047857;font-size:.85rem;border-left:3px solid var(--pm-success)}.mod-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.mod-form-actions--modal{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--pm-border)}.mod-list{list-style:none;margin:0;padding:.65rem .75rem .85rem;display:flex;flex-direction:column;gap:.45rem}.mod-alert{margin:.75rem 1.1rem 0;padding:.6rem .8rem;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.88rem}.mod-skeleton-list{padding:.75rem;display:flex;flex-direction:column;gap:.45rem}.mod-skeleton-row{height:52px;border-radius:10px;background:linear-gradient(90deg,#e8eef3 25%,#f4f7fa,#e8eef3 75%);background-size:200% 100%;animation:mod-shimmer 1.2s ease-in-out infinite}@keyframes mod-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mod-empty{text-align:center;padding:2rem 1rem;color:var(--pm-text-muted)}.mod-empty__title{margin:0 0 .35rem;font-weight:600;color:var(--pm-primary)}.mod-empty__hint{margin:0;font-size:.88rem}.mod-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1.1rem;border-top:1px solid var(--pm-border);font-size:.82rem;color:var(--pm-text-muted)}.mod-pagination__nav{display:flex;gap:.35rem}.mod-panel{padding:1rem 1.1rem;border-bottom:1px solid var(--pm-border)}.mod-panel__title{margin:0 0 .75rem;font-size:.95rem;font-weight:700;color:var(--pm-primary)}.mod-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}.mod-kpi{border:1px solid var(--pm-border);border-radius:10px;padding:.75rem;background:#fff;text-align:center}.mod-kpi strong{display:block;font-size:1.35rem;color:var(--pm-primary);line-height:1.2}.mod-kpi span{font-size:.75rem;color:var(--pm-text-muted)}.mod-kpi--warn strong{color:var(--pm-warning)}.mod-kpi--ok strong{color:var(--pm-success)}.mod-kpi--danger strong{color:var(--pm-danger)}.mod-row{display:grid;grid-template-columns:4px 1fr auto auto;gap:0 .65rem;align-items:center;padding:.65rem .75rem .65rem 0;background:#fff;border:1px solid var(--pm-border);border-radius:10px;transition:border-color .15s,box-shadow .15s}.mod-row:hover{border-color:#0d3b662e;box-shadow:0 2px 10px #0d3b660f}.mod-row.pri--urgente .mod-row__accent{background:#dc2626}.mod-row.pri--alta .mod-row__accent{background:#ea580c}.mod-row.pri--normal .mod-row__accent{background:#2563eb}.mod-row.pri--baja .mod-row__accent{background:#94a3b8}.mod-row__accent{align-self:stretch;border-radius:10px 0 0 10px;min-height:100%;background:var(--pm-primary)}.mod-row__main{min-width:0;padding:.1rem 0}.mod-row__main--click{cursor:pointer}.mod-row__top{display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}.mod-row__id{font-size:.68rem;font-weight:700;color:#94a3b8;flex-shrink:0}.mod-row__title{margin:0;font-size:.92rem;font-weight:600;color:var(--pm-primary);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-row__time{font-size:.72rem;font-weight:600;color:#94a3b8;flex-shrink:0}.mod-row__preview{margin:.2rem 0 0;font-size:.8rem;color:#64748b;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mod-row__preview--open{white-space:normal;overflow:visible}.mod-row__meta{margin:.35rem 0 0;font-size:.72rem;color:#94a3b8}.mod-row__aside,.mod-row__actions{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}.mod-act{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;width:32px;height:32px;border-radius:8px;border:1px solid var(--pm-border);background:#fff;color:var(--pm-primary);cursor:pointer;text-decoration:none;transition:background .12s;font-family:inherit;padding:0}.mod-act--text{width:auto;min-width:auto;padding:0 .5rem;font-size:.78rem;font-weight:600}.mod-act:hover:not(:disabled){background:#f1f5f9}.mod-act--primary{background:var(--pm-primary);border-color:var(--pm-primary);color:#fff}.mod-act--primary:hover{filter:brightness(1.08)}.mod-act--sm{padding:.3rem .55rem;font-size:.75rem;min-height:28px}.mod-select-inline{font-size:.75rem;font-weight:600;padding:.35rem .45rem;border-radius:8px;border:1px solid var(--pm-border);background:#f8fafc;color:var(--pm-primary);max-width:9rem;cursor:pointer}.mod-crud-row{display:grid;grid-template-columns:1fr auto auto;gap:.65rem;align-items:center;padding:.7rem .85rem;background:#fff;border:1px solid var(--pm-border);border-radius:10px;transition:border-color .15s,box-shadow .15s}.mod-crud-row:hover{border-color:#0d3b662e;box-shadow:0 2px 10px #0d3b660f}.mod-crud-row__title{margin:0;font-size:.92rem;font-weight:600;color:var(--pm-primary)}.mod-crud-row__meta{margin:.2rem 0 0;font-size:.78rem;color:#64748b;display:flex;flex-wrap:wrap;gap:.35rem .75rem}.mod-crud-row__badges{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.mod-crud-row__actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.modal.mod-modal{position:relative;max-width:560px;width:100%;max-height:90vh;overflow-y:auto}.mod-modal-close{position:absolute;top:.75rem;right:.75rem;width:34px;height:34px;border:none;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:1.3rem;cursor:pointer;z-index:1;line-height:1}.mod-modal-head{margin-bottom:1rem;padding-bottom:.85rem;padding-right:2rem;border-bottom:1px solid var(--pm-border)}.mod-modal-head h3{margin:0 0 .25rem;font-size:1.1rem;color:var(--pm-primary)}.mod-modal-lead{margin:0;font-size:.85rem;color:var(--pm-text-muted)}.mod-workspace .table-wrap{padding:0 1.1rem 1rem}.mod-workspace .table-wrap table{font-size:.88rem}.mod-workspace .table-wrap th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.mod-act:disabled{opacity:.5;cursor:not-allowed}.mod-act__spin{width:12px;height:12px;border:2px solid rgba(13,59,102,.2);border-top-color:var(--pm-primary);border-radius:50%;animation:mod-spin .7s linear infinite}@keyframes mod-spin{to{transform:rotate(360deg)}}.mod-row__addr{color:#475569}@media (max-width: 768px){.mod-toolbar{flex-direction:column;align-items:stretch}.mod-toolbar__right{justify-content:stretch}.mod-search{max-width:none}.mod-form-grid{grid-template-columns:1fr}.mod-capture__row{flex-direction:column;align-items:stretch}.mod-capture__field--sm,.mod-capture__field--grow,.mod-capture__submit{width:100%;flex:none}.mod-capture__extra,.mod-crud-row{grid-template-columns:1fr}.mod-crud-row__actions{justify-content:stretch}.mod-crud-row__actions .btn{flex:1}}@media (max-width: 640px){.mod-row{grid-template-columns:4px 1fr auto;grid-template-rows:auto auto}.mod-row__aside{grid-column:2}.mod-row__actions{grid-column:3;grid-row:1 / 3;flex-direction:column}}.dashboard{display:flex;flex-direction:column;gap:1.75rem;max-width:1400px;margin:0 auto}.dash-date-chip{display:block;font-size:.875rem;font-weight:500;padding:.35rem .65rem;border-radius:8px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;text-transform:capitalize}.dash-meta-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:.55rem .85rem;border-radius:12px;background:#fff;border:1px solid var(--pm-border);box-shadow:0 1px 4px #0d3b660d}.dash-meta-bar__left{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;font-size:.78rem;color:var(--pm-text-muted)}.dash-auto-refresh{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none}.dash-auto-refresh input{accent-color:var(--pm-primary);cursor:pointer}.dash-updated{font-variant-numeric:tabular-nums}.dash-meta-bar__actions{display:flex;flex-wrap:wrap;gap:.4rem}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:1rem}.dash-kpi-link{display:flex;align-items:flex-start;gap:.85rem;padding:1.1rem 1.15rem;border-radius:12px;background:var(--pm-white);border:1px solid var(--pm-border);box-shadow:0 2px 8px #0d3b660f;transition:box-shadow .2s ease,transform .2s ease,border-color .2s;text-decoration:none;color:inherit;cursor:pointer;font-family:inherit;text-align:left;width:100%}.dash-kpi-link:hover{box-shadow:0 8px 24px #0d3b661a;transform:translateY(-1px);border-color:#0d3b662e}.dash-kpi-link--static{cursor:default}.dash-kpi-link--static:hover{transform:none;box-shadow:0 2px 8px #0d3b660f}.dash-kpi-link__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--pm-primary);background:#0d3b6614}.dash-kpi-link--pendientes .dash-kpi-link__icon{color:var(--pm-warning);background:#d977061f}.dash-kpi-link--flota .dash-kpi-link__icon{color:#2563eb;background:#2563eb1a}.dash-kpi-link--efectivos .dash-kpi-link__icon{color:var(--pm-success);background:#0596691a}.dash-kpi-link--denuncias .dash-kpi-link__icon{color:var(--pm-secondary, #1a5f7a);background:#1a5f7a1a}.dash-kpi-link__body{min-width:0;display:flex;flex-direction:column;gap:.15rem}.dash-kpi-link__value-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}.dash-kpi-link__value{font-size:1.5rem;font-weight:700;color:var(--pm-primary);line-height:1.15;letter-spacing:-.02em}.dash-kpi-link__delta{font-size:.72rem;font-weight:700;padding:.12rem .4rem;border-radius:999px}.dash-kpi-link__delta--up{background:#fee2e2;color:#b91c1c}.dash-kpi-link__delta--down{background:#ecfdf5;color:#047857}.dash-kpi-link__delta--flat{background:#f1f5f9;color:#64748b}.dash-kpi-link__label{font-size:.8rem;font-weight:500;color:var(--pm-text-muted);line-height:1.3}.dash-loading{display:flex;flex-direction:column;gap:1.25rem}.dash-skeleton{border-radius:14px;background:linear-gradient(90deg,#e8eef3,#f4f7fa,#e8eef3);background-size:200% 100%;animation:dashShimmer 1.2s ease-in-out infinite;min-height:120px}.dash-skeleton--stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;min-height:0;background:transparent;animation:none}.dash-skeleton-card{height:96px;border-radius:12px;background:linear-gradient(90deg,#e8eef3,#f4f7fa,#e8eef3);background-size:200% 100%;animation:dashShimmer 1.2s ease-in-out infinite}.dash-skeleton--short{min-height:80px}@keyframes dashShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-section{display:flex;flex-direction:column;gap:1.15rem}.dash-section-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding:0 .15rem .75rem 0;border-bottom:1px solid var(--pm-border)}.dash-section-head__main{flex:1 1 12rem;min-width:0}.dash-section-badge{display:inline-block;margin-bottom:.35rem;padding:.2rem .55rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;background:#0d3b661a;color:var(--pm-primary)}.dash-section-badge--muted{background:#6b72801f;color:var(--pm-text-muted)}.dash-section-badge--legal{background:#1a365d1f;color:#1a365d}.dash-section-title{margin:0;font-size:1.2rem;font-weight:700;color:var(--pm-primary);letter-spacing:-.02em}.dash-section-desc{margin:.4rem 0 0;font-size:.875rem;color:var(--pm-text-muted);line-height:1.5;max-width:52rem}.dash-period-tabs{display:flex;flex-wrap:wrap;gap:.35rem;flex-shrink:0}.dash-period-tab{border:1px solid var(--pm-border);background:#fff;color:#64748b;font-size:.78rem;font-weight:600;padding:.35rem .7rem;border-radius:999px;cursor:pointer;font-family:inherit;transition:background .12s,color .12s,border-color .12s}.dash-period-tab.is-active{background:var(--pm-primary);border-color:var(--pm-primary);color:#fff}.dash-kpi-hint{margin:0;font-size:.82rem;color:var(--pm-text-muted);padding:.5rem .75rem;background:#fafbfc;border-radius:8px;border:1px solid var(--pm-border)}.dash-kpi-hint strong{color:var(--pm-primary)}.dash-charts-board{padding:0;overflow:hidden;display:flex;flex-direction:column}.dash-charts-board--secondary{gap:0}.dash-charts-board--legal-two{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:stretch}.dash-charts-board--legal-two .dash-charts-block{border-right:1px solid var(--pm-border)}.dash-charts-board--legal-two .dash-charts-block:last-child{border-right:none}.dash-charts-board__strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;padding:.55rem 1.1rem;font-size:.82rem;color:var(--pm-text-muted);background:#fafbfc;border-bottom:1px solid var(--pm-border)}.dash-charts-board__strip strong{color:var(--pm-primary);font-size:.95rem}.dash-charts-board__strip-muted{font-size:.75rem;opacity:.85}.dash-charts-block{padding:1rem 1.1rem 1.15rem;border-bottom:1px solid var(--pm-border)}.dash-charts-block:last-child{border-bottom:none}.dash-charts-block__head{margin-bottom:.75rem}.dash-charts-block__head--full{grid-column:1 / -1}.dash-charts-block__title{margin:0;font-size:.95rem;font-weight:700;color:var(--pm-primary);letter-spacing:-.01em}.dash-charts-block__hint{margin:.25rem 0 0;font-size:.78rem;color:var(--pm-text-muted);line-height:1.35}.dash-charts-block--wide .dash-chart-panel--bar :deep(.pm-chart-hbar),.dash-charts-block--wide .dash-chart-panel--vbar :deep(.pm-chart-wrap){min-height:240px}.dash-chart-panel--line :deep(.pm-chart-wrap){height:260px}.dash-charts-block--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem 1rem;background:linear-gradient(180deg,#fafbfc,#fff)}.dash-chart-panel{background:#fff;border:1px solid rgba(13,59,102,.1);border-radius:12px;padding:.85rem .95rem 1rem;min-width:0}.dash-charts-block--grid .dash-chart-panel{box-shadow:0 1px 6px #0d3b660a}.dash-chart-subtitle{margin:0 0 .35rem;font-size:.82rem;font-weight:600;color:var(--pm-secondary, #1a5f7a)}.dash-chart-panel__meta{margin:0 0 .5rem;font-size:.72rem;color:var(--pm-text-muted)}.dash-chart-panel--donut :deep(.pm-chart-wrap){height:200px}.dash-chart-panel--donut :deep(.pm-chart-doughnut){max-width:100%;margin:0 auto}@media (max-width: 1100px){.dash-charts-block--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-charts-block--grid .dash-chart-panel:last-child{grid-column:1 / -1;max-width:420px;justify-self:center;width:100%}}@media (max-width: 768px){.dash-charts-block--grid{grid-template-columns:1fr}.dash-charts-block--grid .dash-chart-panel:last-child{grid-column:auto;max-width:none}.dash-charts-board--legal-two{grid-template-columns:1fr}.dash-charts-board--legal-two .dash-charts-block{border-right:none;border-bottom:1px solid var(--pm-border)}}@media (min-width: 769px){.dash-chart-panel--line :deep(.pm-chart-wrap){height:280px}}.dash-panel-card{border-radius:14px;border:1px solid rgba(13,59,102,.08);box-shadow:0 2px 12px #0d3b660f;transition:box-shadow .2s ease;padding:1.1rem 1.2rem 1.3rem;min-width:0}.dash-panel-card:hover{box-shadow:0 6px 20px #0d3b6617}.dash-chart-heading{margin:0 0 .2rem;font-size:1.02rem;font-weight:600;color:var(--pm-primary);letter-spacing:-.01em}.dash-card-hint{margin:0 0 .75rem;font-size:.78rem;color:var(--pm-text-muted);line-height:1.35}.dash-ultimas-wrap{gap:1rem;margin-bottom:0}.dash-ultimas__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding-bottom:.35rem;border-bottom:1px solid var(--pm-border)}.dash-ultimas__title{margin:0;font-size:1.15rem;font-weight:700;color:var(--pm-primary);letter-spacing:-.02em}.dash-ultimas__hint{margin:.3rem 0 0;font-size:.85rem;color:var(--pm-text-muted)}.dash-ultimas-list.card.mod-workspace{padding:0;overflow:hidden}@media (max-width: 991px){.dashboard{gap:1.5rem}}#app{min-height:100vh}
