:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#15263e;background:#f4f8fc}*{box-sizing:border-box}body{margin:0}header{background:#102b52;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;gap:16px}.brand{font-size:22px;font-weight:850;letter-spacing:.5px}.brand em{font-style:normal;color:#64cf99}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#c2d8ef;margin-top:4px}.symbol{color:#64cf99}.account{display:flex;align-items:center;gap:12px;font-size:13px}.layout{display:flex;min-height:calc(100vh - 80px)}nav{width:245px;background:#fff;border-right:1px solid #e1e9f2;padding:25px 15px;flex-shrink:0}nav a{display:block;padding:13px 12px;border-radius:9px;color:#365271;text-decoration:none;font-weight:600;margin-bottom:8px}nav a:hover{background:#e9f5fc;color:#1266b0}main{width:100%;padding:34px;max-width:1500px;margin:auto}h1{font-size:30px;margin:0 0 10px}h2{font-size:19px;margin:0 0 17px}h3{font-size:15px;margin-top:23px}.muted{color:#6c7e91}.cards{display:flex;gap:18px;margin:26px 0;flex-wrap:wrap}.card{background:#fff;border:1px solid #e4edf5;border-radius:16px;padding:24px;box-shadow:0 5px 24px #1a3e6810;margin-bottom:18px}.stat{min-width:230px;flex:1;color:#54718e;text-decoration:none}.stat strong{display:block;color:#123b71;font-size:27px;margin-bottom:10px}.grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.4fr);gap:20px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:13px 9px;text-align:left;border-bottom:1px solid #edf1f5;vertical-align:top}th{color:#64809a;font-size:12px;text-transform:uppercase;letter-spacing:.5px}a{color:#1671b9}label{display:block;font-size:13px;font-weight:650;color:#526b82;margin-bottom:14px}input,select,textarea{width:100%;display:block;margin-top:6px;border:1px solid #d6e1ed;border-radius:8px;padding:11px 12px;font:inherit;background:#fff;color:#183651}textarea{min-height:80px}button,.button{display:inline-block;border:0;border-radius:9px;padding:12px 18px;background:#13815f;color:white;text-decoration:none;font-weight:700;cursor:pointer;font-size:13px}button:hover,.button:hover{background:#0d664a;color:white}.textbutton{background:transparent;border:1px solid #aac7e4;padding:7px 12px}.tag{display:inline-block;background:#e8f4f7;color:#1d7286;border-radius:99px;padding:5px 9px;font-size:12px}.auth{max-width:460px;margin:80px auto}.alert{background:#e8f8ef;border:1px solid #9ddbb8;padding:13px;border-radius:10px;margin-bottom:16px}.alert.error{background:#fff0f0;border-color:#f3aaaa}.userline{padding:12px 0;border-bottom:1px solid #edf1f5}.userline form{display:flex;gap:8px;align-items:end;margin-top:8px}.userline input{max-width:250px}.check input{width:auto;display:inline}.check{display:flex;gap:9px;align-items:center}footer{color:#98a7b6;font-size:12px;margin-top:40px}@media(max-width:850px){.layout{display:block}nav{width:100%;display:flex;overflow:auto;padding:8px}nav a{white-space:nowrap;margin:0}main{padding:18px}.grid{grid-template-columns:1fr}header{padding:15px}.brand{font-size:17px}.card{padding:16px}table{display:block;overflow:auto}}

.tabs{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.tabs a{padding:10px 14px;background:#e9f4fa;border-radius:8px;text-decoration:none}.tabs a:hover{background:#d1eaf4}section[id]{scroll-margin-top:15px}

.company-section{margin:14px 0}.company-section summary{font-size:1.13rem;font-weight:700;cursor:pointer;padding:8px 0;color:#123963}.company-section[open] summary{border-bottom:1px solid #e0e7ee;margin-bottom:18px}.navgroup summary{cursor:pointer;padding:12px 16px}.navgroup a{display:block;padding-left:28px}.navgroup{margin:0}.cards a.card{text-decoration:none;color:inherit}.cards a.card:hover{outline:2px solid #16866a}

.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:15px;margin-top:15px}.photo-grid img{width:100%;height:150px;object-fit:cover;border-radius:8px}.photo-grid p{font-size:.85rem;overflow-wrap:anywhere}table{display:table;width:100%}@media(max-width:700px){table{font-size:.8rem}}

.photo-item{min-width:0}.delete-photo{background:#a52d35;padding:7px 12px}.delete-photo:hover{background:#84232b}#photos-preview{margin-bottom:15px}#photos-preview:empty{display:none}

.notification-bell{display:inline-flex;align-items:center;font-size:1.55rem;padding:.25rem .65rem;border-radius:12px;background:#eff6ff;text-decoration:none;position:relative}.notification-count{background:#d92332;color:white;border-radius:30px;padding:2px 7px;font:bold 13px sans-serif;min-width:18px;text-align:center}.notification-list{max-width:900px}.notification-item{padding:18px 22px;margin:12px 0;border-left:5px solid #a5b4c7}.notification-new{border-left-color:#dc2626;background:#fff8f8}.notification-badge{font-weight:700}.userline{margin:10px 0;padding:12px;border:1px solid #ddd;border-radius:8px}.userline summary{cursor:pointer}
/* Acciones separadas y jerarquía visual para operaciones destructivas */
.btn-danger,button.btn-danger{background:#b42332;color:#fff}
.btn-danger:hover,button.btn-danger:hover{background:#8f1926;color:#fff}
.card form+form{margin-top:14px}
.card form button+button,.card form .button+.button{margin-left:12px}
.device-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid #e4edf5;padding:12px 0}
.device-entry form{margin:0}
.device-entry .btn-danger{padding:9px 13px}
@media(max-width:600px){.device-entry{align-items:flex-start;flex-direction:column}.card form button+button{margin-left:0;margin-top:10px}}

/* Acciones consistentes: rechazo y eliminación siempre en rojo. */
button.btn-danger,.btn-danger,button.danger,.danger,button.delete,.delete{background:#b42332!important;color:white!important;border:1px solid #b42332!important}
button.btn-danger:hover,.btn-danger:hover,button.danger:hover,.danger:hover{background:#8f1926!important;border-color:#8f1926!important}
.notification-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.notification-actions form{display:inline-flex;margin:0!important}
.notification-actions button,.notification-actions .button{margin:0!important;white-space:normal}
.notification-item h3{line-height:1.5;margin:16px 0 4px}
.activity-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px 18px}
.activity-filters label{margin:0}.activity-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}
.activity-filters .activity-controls{grid-column:1/-1;margin:4px 0}.secondary{background:#e8f1fa!important;color:#123b71!important;border:1px solid #cadced!important}
.activity-group{border:1px solid #e2eaf2;border-radius:12px;margin-bottom:12px;overflow:hidden}
.activity-group summary{font-weight:700;cursor:pointer;padding:14px;background:#f1f6fb;color:#123b71}
.activity-group .table-scroll{overflow-x:auto;padding:0 12px}.activity-group table{min-width:680px}
.device-entry .btn-danger{background:#b42332!important;color:#fff!important}
@media(max-width:600px){.notification-actions{gap:12px}.notification-actions form,.notification-actions .button{max-width:100%}.activity-filters{grid-template-columns:1fr}}

/* Actualización consolidada: botones por intención y paneles desplegables */
.btn-view,.button.btn-view,button.btn-view{background:#1769aa!important;color:#fff!important;border-color:#1769aa!important}
.btn-view:hover,.button.btn-view:hover,button.btn-view:hover{background:#104c7e!important;color:#fff!important}
.btn-warning,button.btn-warning{background:#b86a13!important;color:#fff!important}
.settings-section>summary{font-size:19px;font-weight:750;cursor:pointer;color:#123b71;list-style-position:inside;padding:4px 0 10px}
.settings-section[open]>summary{border-bottom:1px solid #e1eaf3;margin-bottom:16px}
.settings-section-content{min-width:0;overflow-x:auto;padding-top:4px}
#email-history table{min-width:720px}
#email-history td{overflow-wrap:anywhere}
#email-history td form{margin:0!important}
#email-history .btn-view{padding:8px 11px}
@media(max-width:650px){.settings-section>summary{font-size:17px}#email-history .settings-section-content{overflow-x:auto}}

/* Centro de reportes */
.report-list{display:grid;gap:12px}.report-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid #e5edf5;padding:13px 0}.report-buttons{display:flex;flex-wrap:wrap;gap:9px}.report-buttons .button{padding:9px 13px}@media(max-width:650px){.report-row{align-items:flex-start;flex-direction:column}}

.report-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:12px 0 20px}.report-checks label{display:flex;gap:9px;align-items:center;padding:12px;background:#f3f7fb;border-radius:8px}.report-checks input{width:auto;margin:0}#custom-dates[hidden]{display:none!important}

/* Secciones desplegables de órdenes de servicio */
.uv-accordion > summary.uv-accordion-title { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:1.13rem; font-weight:700; list-style:none; user-select:none; }
.uv-accordion > summary.uv-accordion-title::-webkit-details-marker { display:none; }
.uv-accordion > summary.uv-accordion-title:focus-visible { outline:3px solid #24a879; outline-offset:4px; border-radius:4px; }
.uv-accordion > summary .uv-accordion-chevron { transition:transform .2s ease; font-size:1.1rem; }
.uv-accordion[open] > summary .uv-accordion-chevron { transform:rotate(180deg); }
.uv-accordion[open] > summary.uv-accordion-title { margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid #e3e9ef; }

/* Comprobantes de pago: diseño alineado al panel corporativo. */
.uv-payments-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 12px}
.uv-payments-heading h3{margin:0;color:#102b50}
.uv-payments-caption{font-size:.83rem;color:#5b7393}
.uv-payments-scroll{width:100%;overflow-x:auto;border:1px solid #e0e9f3;border-radius:12px;background:#fff}
.uv-payments-table{width:100%;border-collapse:collapse;margin:0}
.uv-payments-table thead{background:#f1f6fb}
.uv-payments-table th{color:#4c6a91;font-size:.77rem;text-transform:uppercase;letter-spacing:.045em;font-weight:700;padding:15px 14px;text-align:left;white-space:nowrap}
.uv-payments-table td{padding:14px;border-top:1px solid #e9eff6;vertical-align:middle;color:#193655}
.uv-payments-table tbody tr:hover{background:#f8fbfe}
.uv-payment-amount{color:#103a67;font-weight:750;white-space:nowrap}
.uv-payment-method{display:inline-block;background:#e9f5ef;color:#13744f;border-radius:20px;padding:5px 11px;font-size:.83rem;font-weight:650}
.uv-receipt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.uv-receipt-form{display:inline-flex;margin:0;padding:0}
.uv-receipt-btn,.uv-receipt-form .uv-receipt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:37px;padding:8px 12px;border-radius:8px;border:1px solid transparent;font-size:.86rem;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background-color .15s ease,transform .15s ease}
.uv-receipt-btn:hover{transform:translateY(-1px);text-decoration:none}
.uv-receipt-btn:focus-visible{outline:3px solid #2bb58d;outline-offset:2px}
.uv-receipt-pdf{background:#eaf2fd;color:#155eaa;border-color:#d4e5fa}
.uv-receipt-pdf:hover{background:#dceafd;color:#124d89}
.uv-receipt-print{background:#eff3f8;color:#294e77;border-color:#dce6f0}
.uv-receipt-print:hover{background:#e2eaf3;color:#193d65}
.uv-receipt-email,.uv-receipt-form .uv-receipt-email{background:#11875f;color:white;border-color:#11875f}
.uv-receipt-email:hover,.uv-receipt-form .uv-receipt-email:hover{background:#0d704e;color:white}
.uv-payment-empty{text-align:center;padding:24px!important;color:#617a99!important}
@media(max-width:680px){.uv-payments-scroll{overflow:visible}.uv-payments-table thead{display:none}.uv-payments-table,.uv-payments-table tbody,.uv-payments-table tr,.uv-payments-table td{display:block;width:100%}.uv-payments-table tr{padding:10px 12px;border-bottom:1px solid #e4edf5}.uv-payments-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 2px;border:0}.uv-payments-table td:before{content:attr(data-label);font-size:.8rem;font-weight:700;color:#547095}.uv-payments-table td[data-label="Comprobante"]{display:block}.uv-payments-table td[data-label="Comprobante"]:before{display:block;margin-bottom:9px}.uv-receipt-actions{justify-content:flex-start}}

/* Unlock Vallarta — menú lateral corporativo moderno, aislado del resto de módulos. */
.uv-modern-ui .uv-topbar{min-height:66px;padding:11px 26px;background:#07192b;border-bottom:1px solid #173552;position:relative;z-index:12}
.uv-modern-ui .uv-topbar .brand{font-size:19px}.uv-modern-ui .uv-topbar .brand em{color:#27a9f0}.uv-modern-ui .uv-topbar .brand small{font-size:9px;letter-spacing:1.5px}
.uv-modern-ui .uv-app-layout{min-height:calc(100vh - 66px);align-items:stretch}
.uv-modern-ui .uv-sidebar{width:274px;min-width:274px;flex-shrink:0;background:linear-gradient(160deg,#06192b 0%,#0a2036 70%,#08182a 100%);color:#d5e8fb;border-right:1px solid #1c3954;padding:0;display:flex;flex-direction:column;position:sticky;top:0;height:calc(100vh - 66px);overflow:hidden;transition:width .22s ease,min-width .22s ease;z-index:11}
.uv-modern-ui .uv-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 17px 14px;border-bottom:1px solid #1d3750;min-height:89px}
.uv-modern-ui .uv-sidebar-logo{width:170px;max-height:54px;object-fit:contain;object-position:left center;min-width:0}
.uv-modern-ui .uv-collapse{padding:7px;background:#16344e;border:1px solid #294b68;border-radius:8px;color:#9ec6e8;white-space:nowrap;font-size:12px}
.uv-modern-ui .uv-collapse:hover{background:#245071}
.uv-modern-ui .uv-nav-scroll{overflow-y:auto;overflow-x:hidden;flex:1;padding:13px 11px;scrollbar-width:thin;scrollbar-color:#32516b transparent}
.uv-modern-ui .uv-nav-link,.uv-modern-ui .uv-nav-group>summary{display:flex;align-items:center;gap:12px;width:100%;min-height:47px;padding:11px 12px;margin:3px 0 5px;border-radius:10px;color:#c6ddf4;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;list-style:none;white-space:nowrap}
.uv-modern-ui .uv-nav-group>summary::-webkit-details-marker{display:none}
.uv-modern-ui .uv-nav-link:hover,.uv-modern-ui .uv-nav-group>summary:hover{background:#173b5b;color:#fff}
.uv-modern-ui .uv-nav-link.uv-active,.uv-modern-ui .uv-nav-children a.uv-active{background:linear-gradient(100deg,#075bd8,#098bea);color:#fff}
.uv-modern-ui .uv-nav-icon{width:25px;min-width:25px;text-align:center;font-size:19px;color:#66bdf5}
.uv-modern-ui .uv-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
.uv-modern-ui .uv-nav-chevron{margin-left:auto;font-size:20px;transition:transform .18s ease;color:#90b7d8}
.uv-modern-ui .uv-nav-group[open]>summary .uv-nav-chevron{transform:rotate(180deg)}
.uv-modern-ui .uv-nav-children{padding:0 0 8px 37px;border-bottom:1px solid #17334d;margin-bottom:8px}
.uv-modern-ui .uv-nav-children a{display:block;margin:3px 0;padding:10px 10px;color:#b6d0e7;font-size:12.5px;font-weight:550;border-radius:8px;text-decoration:none;line-height:1.4;white-space:normal}
.uv-modern-ui .uv-nav-children a:hover{background:#173b5b;color:#fff}
.uv-modern-ui .uv-sidebar-footer{display:flex;gap:12px;align-items:center;padding:16px 18px;border-top:1px solid #26445f;min-height:76px}
.uv-modern-ui .uv-avatar{display:grid;place-items:center;width:38px;height:38px;min-width:38px;background:#087cda;border-radius:50%;font-size:19px}
.uv-modern-ui .uv-sidebar-footer strong,.uv-modern-ui .uv-sidebar-footer small{display:block;line-height:1.5}.uv-modern-ui .uv-sidebar-footer small{font-size:11px;color:#90b6d5}
.uv-modern-ui .uv-main{flex:1;min-width:0;width:auto;max-width:none;margin:0;padding:30px clamp(18px,3vw,45px)}
.uv-modern-ui.uv-sidebar-collapsed .uv-sidebar{width:76px;min-width:76px}
.uv-modern-ui.uv-sidebar-collapsed .uv-sidebar-heading{padding:14px 10px;justify-content:center;flex-direction:column;gap:5px}
.uv-modern-ui.uv-sidebar-collapsed .uv-sidebar-logo{width:46px;max-height:36px;object-fit:contain}
.uv-modern-ui.uv-sidebar-collapsed .uv-nav-scroll{padding:12px 8px}
.uv-modern-ui.uv-sidebar-collapsed .uv-nav-link,.uv-modern-ui.uv-sidebar-collapsed .uv-nav-group>summary{justify-content:center;padding:12px 4px}
.uv-modern-ui.uv-sidebar-collapsed .uv-nav-label,.uv-modern-ui.uv-sidebar-collapsed .uv-nav-chevron,.uv-modern-ui.uv-sidebar-collapsed .uv-nav-children{display:none}
.uv-modern-ui.uv-sidebar-collapsed .uv-sidebar-footer{justify-content:center;padding:12px 4px}
.uv-modern-ui .uv-mobile-menu{display:none}.uv-modern-ui .uv-sidebar-overlay{display:none}
@media(max-width:850px){
 .uv-modern-ui .uv-topbar{padding:12px 14px}.uv-modern-ui .uv-account-name{display:none}
 .uv-modern-ui .uv-app-layout{display:block}
 .uv-modern-ui .uv-mobile-menu{display:block;position:relative;z-index:9;margin:12px 14px 0;background:#0b3c69;color:#fff}
 .uv-modern-ui .uv-sidebar,.uv-modern-ui.uv-sidebar-collapsed .uv-sidebar{position:fixed;top:0;bottom:0;left:0;width:min(85vw,310px);min-width:0;height:100dvh;transform:translateX(-110%);transition:transform .22s ease;z-index:31}
 .uv-modern-ui.uv-mobile-open .uv-sidebar{transform:translateX(0)}
 .uv-modern-ui.uv-mobile-open .uv-sidebar-overlay{display:block;position:fixed;inset:0;background:#061626a6;z-index:30}
 .uv-modern-ui .uv-main{padding:20px 14px}
 .uv-modern-ui.uv-sidebar-collapsed .uv-nav-label,.uv-modern-ui.uv-sidebar-collapsed .uv-nav-chevron{display:initial}
 .uv-modern-ui.uv-sidebar-collapsed .uv-sidebar-heading{flex-direction:row;justify-content:space-between}
 .uv-modern-ui.uv-sidebar-collapsed .uv-sidebar-logo{width:170px;max-height:54px}
 .uv-modern-ui.uv-sidebar-collapsed .uv-nav-link,.uv-modern-ui.uv-sidebar-collapsed .uv-nav-group>summary{justify-content:flex-start;padding:11px 12px}
 .uv-modern-ui.uv-sidebar-collapsed .uv-nav-group[open] .uv-nav-children{display:block}
 .uv-modern-ui.uv-sidebar-collapsed .uv-sidebar-footer{justify-content:flex-start}
}
