
:root{--accent:#6f42c1;--accent-dark:#54299e;--accent-soft:#f1eafd;--bg:#f5f7fb;--surface:#fff;--text:#172033;--muted:#6b7280;--line:#e6e9f0;--sidebar:#172235;--sidebar-hover:#24324a;--danger:#c83b4d;--success:#23915b;--warning:#d58a12;--shadow:0 8px 26px rgba(27,37,62,.08);--radius:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.5 Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--accent)}button,input,select,textarea{font:inherit}.icon{width:20px;height:20px;display:block;flex:0 0 auto}
.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,#172235,#101929);color:#eef2f8;display:flex;flex-direction:column;z-index:30;box-shadow:8px 0 28px rgba(10,18,31,.12);transition:transform .25s ease}.brand{height:84px;background:#fff;display:flex;align-items:center;gap:10px;padding:12px 20px;border-right:1px solid var(--line)}.brand img{width:80px;height:52px;object-fit:contain}.brand span{font-weight:800;color:#2b2440;font-size:15px}.side-nav{padding:18px 12px;display:flex;flex-direction:column;gap:5px;overflow:auto}.side-nav a,.sidebar-logout{display:flex;align-items:center;gap:13px;color:#e8edf5;text-decoration:none;padding:11px 13px;border-radius:9px;font-weight:600;transition:.18s}.side-nav a:hover{background:var(--sidebar-hover)}.side-nav a.active{background:linear-gradient(90deg,var(--accent),#7c4dd1);color:#fff;box-shadow:0 7px 18px rgba(111,66,193,.25)}.sidebar-logout{margin:auto 12px 18px;color:#ff7c89}.sidebar-logout:hover{background:rgba(255,255,255,.07)}
.app-main{margin-left:250px;width:calc(100% - 250px);min-height:100vh;display:flex;flex-direction:column}.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 28px;position:sticky;top:0;z-index:20}.topbar-left,.topbar-right,.user-chip,.topbar-date{display:flex;align-items:center}.topbar-left{gap:16px}.menu-toggle{border:0;background:transparent;color:#1c2940;padding:8px;border-radius:8px;cursor:pointer}.menu-toggle:hover{background:#f1f3f7}.product-title{display:flex;align-items:baseline;gap:10px}.product-title strong{color:var(--accent);font-size:18px}.product-title span{color:var(--muted);font-size:13px}.topbar-right{gap:22px}.topbar-date{gap:8px;color:#526078;font-size:13px}.user-chip{gap:10px}.user-chip>.icon{width:37px;height:37px;background:var(--accent);color:#fff;padding:8px;border-radius:50%}.user-chip strong,.user-chip small{display:block}.user-chip small{font-size:12px;color:var(--muted)}
.content{width:100%;max-width:1480px;margin:0 auto;padding:28px;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.page-heading h1{margin:0;color:#172033;font-size:28px}.page-heading p{margin:3px 0 0;color:var(--muted)}
.dashboard-grid,.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.stat-card,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:20px;display:flex;align-items:center;gap:15px}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card strong{font-size:29px;line-height:1.1}.stat-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center}.stat-icon .icon{width:24px;height:24px}.stat-icon.violet{background:#efe6ff;color:#6d35c7}.stat-icon.green{background:#ddf7e8;color:#16834a}.stat-icon.orange{background:#fff0d5;color:#c57800}.stat-icon.blue{background:#e1efff;color:#2471c8}.stat-icon.red{background:#ffe5e9;color:#c53449}.card{padding:20px;margin-bottom:18px}.card h2{margin:0;color:#1d2840;font-size:19px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card-header p{margin:3px 0 0;color:var(--muted);font-size:13px}.quick-actions,.actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--accent),#7e4bc9);color:#fff;border:0;border-radius:9px;padding:10px 15px;text-decoration:none;font-weight:700;cursor:pointer;box-shadow:0 5px 14px rgba(111,66,193,.16);transition:transform .15s,box-shadow .15s}.btn:hover,button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(111,66,193,.22)}.btn.secondary{background:#5d687a}.btn.ghost{background:#fff;color:var(--accent);border:1px solid #d9c9f3;box-shadow:none}.btn.danger{background:#b83245}.btn.small{padding:7px 11px;font-size:13px}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#fafbfe;color:#506078;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover td{background:#fbf9ff}.table-wrap{width:100%;overflow-x:auto}.table-link{font-weight:750;text-decoration:none}.status-badge,.badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e9edf4;color:#49566b;font-size:12px;font-weight:700}.status-finalizada{background:#e8f7ed;color:#2e7d4f}.status-cerrada,.status-entregada,.operativo{background:#d6f2df;color:#116b3a}.status-en_reparacion,.status-diagnostico,.reparacion{background:#fff0c9;color:#966000}.status-cancelada{background:#eceff3;color:#596273}.fuera{background:#fbe1e5;color:#a5293d}.status-ingresada{background:#deecff;color:#2269b2}.status-esperando_repuestos,.observaciones{background:#fff1d6;color:#9e6500}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:700;color:#3a465c}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfd5e1;border-radius:9px;background:#fff;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(111,66,193,.12)}textarea{min-height:100px;resize:vertical}.alert{padding:12px 14px;border-radius:10px;margin:12px 0;background:#fff4d8;border:1px solid #efd287}.alert.ok{background:#e2f6e9;border-color:#9ed6b1}.danger-alert{background:#fde7ea;border-color:#efa6b0}.muted{color:var(--muted)}footer.app-footer{text-align:center;padding:18px;color:#7a8495;font-size:13px}.thumb{width:72px;height:56px;object-fit:cover;border-radius:8px}.tabs{display:flex;gap:8px;margin-bottom:14px}.print-only{display:none}.order-photo{display:block;width:auto;height:auto;max-width:420px;max-height:280px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;padding:4px}.edit-order-details{margin-top:18px}.inline-entry-form{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.order-totals{margin-top:14px}.mechanic-thumb{width:52px;height:52px;object-fit:cover;border-radius:50%;border:1px solid var(--line);background:#fff}.work-edit-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) 130px auto;gap:8px;align-items:end}.work-edit-form textarea{min-height:58px}.work-delete-form{margin-top:12px;padding-top:12px;border-top:1px solid #ddd}.permission-card{margin-top:16px}.permission-table th,.permission-table td{text-align:center}.permission-table th:first-child,.permission-table td:first-child{text-align:left}.permission-check{display:inline-flex;align-items:center;justify-content:center}.permission-check input{width:20px;height:20px}.user-access-card{margin:12px 0}
.sidebar-overlay{display:none}.login-page{min-height:100vh;background:radial-gradient(circle at 50% 0,#eee8fb 0,transparent 35%),linear-gradient(135deg,#f8faff,#eef2f8);display:grid;place-items:center}.login-shell{width:min(92vw,500px);text-align:center;padding:36px 0}.login-brand img{display:block;width:210px;height:112px;object-fit:contain;margin:0 auto -5px}.login-brand span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:#625c6d;margin-bottom:15px}.login-card{background:#fff;border:1px solid rgba(224,227,235,.9);border-radius:15px;padding:28px 32px;box-shadow:0 18px 45px rgba(41,49,76,.12);text-align:left}.login-title{text-align:center;margin-bottom:22px}.login-title h1{margin:0;font-size:24px}.login-title p{margin:5px 0 0;color:var(--muted);font-size:13px}.icon-field{margin-bottom:15px}.input-icon{position:relative}.input-icon>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;filter:grayscale(1)}.input-icon input{padding-left:38px;padding-right:42px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;background:transparent;color:#526078;box-shadow:none}.password-toggle:hover{transform:translateY(-50%);background:#f1f3f7;box-shadow:none}.login-button{width:100%;margin-top:7px;padding:12px}.login-footer{color:#737d8d;font-size:12px;margin-top:22px}
@media(max-width:960px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.app-main{margin-left:0;width:100%}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(14,23,39,.46);z-index:25}.product-title span{display:none}.topbar-date{display:none}.content{padding:20px}.work-edit-form{grid-template-columns:1fr}}
@media(max-width:620px){.topbar{padding:0 14px;height:70px}.product-title strong{font-size:16px}.user-chip div{display:none}.content{padding:16px}.page-heading h1{font-size:23px}.login-card{padding:23px 20px}.dashboard-grid,.grid{grid-template-columns:1fr}.card{padding:15px}.topbar-right{gap:8px}.order-photo{max-width:100%;max-height:220px}table{min-width:680px}}
@media print{.sidebar,.topbar,.quick-actions,.actions,.sidebar-overlay,button,.no-print{display:none!important}.app-main{margin:0;width:100%}.content{max-width:none;padding:0}.card{box-shadow:none}.print-only{display:block}body{background:#fff}}


/* AGO SIGFM - normalización global de casillas */
input[type="checkbox"],
input[type="radio"]{
    display:inline-block!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    padding:0!important;
    margin:0!important;
    flex:0 0 18px!important;
    box-shadow:none!important;
    vertical-align:middle;
}

.checkbox-field{
    align-items:flex-start;
}

.checkbox-inline{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    align-self:flex-start!important;
    gap:8px!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    cursor:pointer;
}

.checkbox-inline span{
    display:inline!important;
    width:auto!important;
    margin:0!important;
}

.checkbox-help{
    display:block;
    margin:4px 0 0 26px;
}


/* AGO SIGFM UI v4 Global - controles y alineación */
.form-check,
.checkbox-inline,
.print-history-option,
.field-checkbox{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    align-self:flex-start!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:auto!important;
    max-width:100%!important;
    min-height:36px;
    margin:0!important;
    padding:0!important;
    color:#3a465c;
    font-weight:700;
    cursor:pointer;
}

.form-check input[type="checkbox"],
.form-check input[type="radio"],
.checkbox-inline input[type="checkbox"],
.checkbox-inline input[type="radio"],
.print-history-option input[type="checkbox"],
.print-history-option input[type="radio"],
.field-checkbox input[type="checkbox"],
.field-checkbox input[type="radio"]{
    appearance:auto!important;
    display:inline-block!important;
    position:static!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    flex:0 0 18px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    box-shadow:none!important;
    vertical-align:middle!important;
}

.form-check-label,
.checkbox-inline > span,
.print-history-option > span,
.field-checkbox > span{
    display:inline-block!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    line-height:1.35;
}

.form-check-label small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-weight:400;
}

.form-grid > .form-check,
.form-grid > .field-checkbox{
    grid-column:1/-1;
}

.actions{
    align-items:center;
}

.actions .form-check,
.actions .print-history-option{
    min-height:40px;
}

input[readonly],
textarea[readonly],
select:disabled,
input:disabled{
    background:#f3f5f8;
    color:#667085;
    cursor:not-allowed;
}

.required-star{
    color:#c82032!important;
    font-weight:800;
    margin-left:3px;
}

@media(max-width:620px){
    .actions > .btn,
    .actions > button{
        width:100%;
    }
    .actions .form-check,
    .actions .print-history-option{
        width:100%!important;
    }
}

/* AGO SIGFM UI v4.1 - barras de acciones y filtros */
.page-toolbar{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin:18px 0;
}
.page-toolbar__actions,
.page-toolbar__summary,
.page-toolbar__exports{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}
.filters-inline{
    display:grid;
    grid-template-columns:minmax(260px,420px) minmax(190px,260px) auto auto;
    align-items:end;
    gap:9px;
    margin:0;
}
.filters-inline input,
.filters-inline select,
.filters-inline button,
.filters-inline .btn{
    margin:0;
}
.order-search-form{
    display:flex;
    align-items:flex-end;
    gap:9px;
    flex-wrap:wrap;
    margin:0;
}
.order-search-form input{
    width:min(380px,70vw);
}
.table-card{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}
.table-card table{
    margin:0;
}
@media(max-width:900px){
    .page-toolbar{
        align-items:stretch;
    }
    .filters-inline{
        width:100%;
        grid-template-columns:1fr 1fr;
    }
    .order-search-form{
        width:100%;
    }
    .order-search-form input{
        width:100%;
        flex:1 1 260px;
    }
}
@media(max-width:620px){
    .page-toolbar,
    .page-toolbar__actions,
    .page-toolbar__exports,
    .order-search-form{
        width:100%;
    }
    .page-toolbar__actions > .btn,
    .page-toolbar__exports > .btn,
    .order-search-form > button{
        width:100%;
    }
    .filters-inline{
        grid-template-columns:1fr;
    }
    .filters-inline button,
    .filters-inline .btn{
        width:100%;
    }
}

.service-row{background:#fff;box-shadow:inset 4px 0 0 transparent}.service-row.service-verde{background:#fff;box-shadow:inset 4px 0 0 #36a269}.service-row.service-amarillo{background:#fff;box-shadow:inset 4px 0 0 #d6a313}.service-row.service-rojo{background:#fff;box-shadow:inset 4px 0 0 #d84b4b}.service-row.service-sin_service{background:#fff;box-shadow:inset 4px 0 0 #7b3ff2}.service-badge{display:inline-block;padding:.35rem .6rem;border-radius:999px;font-weight:700;line-height:1.25}.service-badge.service-verde{background:#e8f7ed;color:#14532d}.service-badge.service-amarillo{background:#fff3c4;color:#713f12}.service-badge.service-rojo{background:#fde8e8;color:#7f1d1d}.service-badge.service-sin_service{background:#f0ebff;color:#6332bd}.service-alert{margin-top:12px}.service-alert.verde{background:#e8f7ed;border-color:#75b888}.service-alert.amarillo{background:#fff7d6;border-color:#d6aa24}.service-alert.rojo{background:#fde8e8;border-color:#d45a5a}

.service-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.service-kpi{display:flex;align-items:center;gap:14px;min-height:92px;padding:16px 18px;background:#fff;border:1px solid #e7e3ef;border-radius:16px;text-decoration:none;color:#29243a;box-shadow:0 8px 22px rgba(44,34,72,.06);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.service-kpi:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(44,34,72,.10)}.service-kpi.is-active{border-color:#7b3ff2;box-shadow:0 0 0 2px rgba(123,63,242,.10),0 10px 28px rgba(44,34,72,.10)}.service-kpi__icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:13px;font-weight:900;font-size:1.25rem}.service-kpi__svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-kpi small{display:block;font-weight:700;color:#6f687e;margin-bottom:4px}.service-kpi strong{display:block;font-size:1.75rem;line-height:1;color:#2c2738}.service-kpi-rojo .service-kpi__icon{background:#fde8e8;color:#a32626}.service-kpi-amarillo .service-kpi__icon{background:#fff3c4;color:#8a6300}.service-kpi-sin .service-kpi__icon{background:#f0ebff;color:#6b3bc4}.service-kpi-verde .service-kpi__icon{background:#e8f7ed;color:#217a49}.service-toolbar{margin-bottom:18px}.service-list-card{padding-top:18px}.service-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.service-list-head h2{margin:0 0 4px;font-size:1.05rem}.service-list-head p{margin:0;color:#756d82}.service-list-count{white-space:nowrap;background:#f2edff;color:#6332bd;font-weight:800;padding:.4rem .7rem;border-radius:999px;font-size:.85rem}
@media(max-width:900px){.service-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.service-dashboard{grid-template-columns:1fr}.service-kpi{min-height:78px}.service-list-head{display:block}.service-list-count{display:inline-block;margin-top:10px}}


/* AGO SIGFM V5.1 - Panel del Sistema */
.system-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:18px;border:1px solid var(--line);border-left:5px solid #198754;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.system-summary div{display:flex;flex-direction:column;gap:3px}.system-summary span{color:var(--muted)}.system-summary--advertencia{border-left-color:#d39e00}.system-summary--error{border-left-color:#c82032}.system-status-dot{width:14px;height:14px;border-radius:50%;background:#198754;box-shadow:0 0 0 5px rgba(25,135,84,.12)}.system-summary--advertencia .system-status-dot{background:#d39e00;box-shadow:0 0 0 5px rgba(211,158,0,.13)}.system-summary--error .system-status-dot{background:#c82032;box-shadow:0 0 0 5px rgba(200,32,50,.12)}
.system-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.system-kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:5px}.system-kpi>span,.system-kpi small{color:var(--muted)}.system-kpi strong{font-size:1.75rem;line-height:1.1;color:var(--text)}
.system-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.system-card{margin:0}.system-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.system-card__head h2{margin:0 0 4px}.system-card__head p{margin:0;color:var(--muted)}
.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.82rem;font-weight:800;background:#e8f7ed;color:#14532d}.status-pill--advertencia{background:#fff4cc;color:#713f12}.status-pill--error{background:#fde8e8;color:#7f1d1d}
.diagnostic-list{display:grid;gap:0}.diagnostic-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.diag{font-size:.84rem}.diag--ok{color:#157347}.diag--warn{color:#946c00}.diag--error{color:#b42336}.system-notes{margin-top:14px;padding:12px 14px;background:#fff8dc;border-radius:10px}.system-notes p{margin:4px 0}
.technical-list{margin:0;display:grid}.technical-list>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.technical-list dt{color:var(--muted)}.technical-list dd{margin:0;font-weight:650;overflow-wrap:anywhere}.technical-list code{font-size:.86rem}.technical-path{font-size:.86rem}.backup-state{line-height:1.55}.backup-state--warn{padding:12px 14px;background:#fff8dc;border-radius:10px}.system-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
@media(max-width:1000px){.system-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.system-layout{grid-template-columns:1fr}.technical-list>div{grid-template-columns:1fr;gap:3px}}@media(max-width:520px){.system-kpis{grid-template-columns:1fr}.system-summary{align-items:flex-start}.system-status-dot{flex:0 0 auto;margin-top:4px}.diagnostic-list>div{align-items:flex-start;flex-direction:column;gap:4px}}

.stock-low-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#fde4e7;color:#b42335;font-size:12px;font-weight:800}

/* AGO SIGFM V6.2 - menú lateral contraíble en escritorio */
@media(min-width:961px){
    .sidebar,.app-main{transition:transform .25s ease,margin-left .25s ease,width .25s ease}
    body.sidebar-collapsed .sidebar{transform:translateX(-100%)}
    body.sidebar-collapsed .app-main{margin-left:0;width:100%}
}

/* Aviso de integración de AGO Combustible */
.integration-preflight{
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(111,68,173,.24);
  background:linear-gradient(90deg,rgba(111,68,173,.10),rgba(111,68,173,.035));
  color:#51415f;
}
.integration-preflight strong{display:block;color:#5f3190;margin-bottom:5px}
.integration-preflight span{display:block;font-size:13px;line-height:1.45}
.integration-preflight small{display:block;margin-top:6px;color:#796a84}

/* Administración AGO - tarjetas visuales en la misma línea de AGO Combustible */
.admin-visual-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.admin-visual-card{
  position:relative;
  min-height:158px;
  display:flex;
  align-items:center;
  gap:22px;
  padding:18px 54px 18px 20px;
  border:1px solid rgba(112,67,178,.18);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(42,28,70,.035);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.admin-visual-card:hover{
  transform:translateY(-2px);
  border-color:rgba(112,67,178,.34);
  box-shadow:0 12px 28px rgba(76,43,126,.09);
}
.admin-card-art{
  flex:0 0 132px;
  width:132px;
  height:116px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.admin-card-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.admin-card-copy{min-width:0}
.admin-card-copy h2{
  margin:0 0 8px;
  color:#6530b5;
  font-size:17px;
}
.admin-card-copy p{
  margin:0;
  color:#687084;
  line-height:1.5;
  font-size:13px;
}
.admin-card-arrow{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:30px;height:30px;
  border-radius:50%;
  display:grid;place-items:center;
  color:#743bd0;
  background:#f3ecff;
  font-weight:700;
}
@media(max-width:900px){.admin-visual-grid{grid-template-columns:1fr}}
@media(max-width:560px){
 .admin-visual-card{gap:14px;padding-left:14px}
 .admin-card-art{flex-basis:96px;width:96px;height:92px}
}

/* Administración: Módulos visible pero bloqueado para Administradores */
.admin-visual-card--locked{
  cursor:default;
  filter:grayscale(.88);
  background:#f4f5f7;
  border-color:#d9dce2;
  box-shadow:none;
  opacity:.76;
}
.admin-visual-card--locked:hover{
  transform:none;
  border-color:#d9dce2;
  box-shadow:none;
}
.admin-visual-card--locked .admin-card-copy h2{color:#737782}
.admin-visual-card--locked .admin-card-copy p{color:#858a94}
.admin-card-status{
  display:inline-block;
  margin-top:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#e6e8ec;
  color:#6e737d;
  font-size:11px;
  font-weight:700;
}
.admin-card-lock{
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  font-size:18px;
  filter:grayscale(1);
  opacity:.65;
}

/* Usuarios: identificación visual por perfil */
.user-card-layout{
  display:grid;
  grid-template-columns:116px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.user-avatar-box{
  min-height:116px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
}
.user-avatar-box img{
  width:96px;
  height:96px;
  object-fit:contain;
  display:block;
}
.user-avatar-box span{
  max-width:112px;
  color:#7040b1;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  text-align:center;
}
.user-card-content{min-width:0}
.user-access-card--superadmin{
  background:#f1f2f4;
  border-color:#d8dbe0;
  box-shadow:none;
}
.user-access-card--superadmin .user-avatar-box img{
  filter:grayscale(.8);
  opacity:.76;
}
.user-access-card--superadmin .user-avatar-box span{color:#777c85}
.user-access-card--superadmin input:disabled,
.user-access-card--superadmin select:disabled{
  background:#e8eaed!important;
  color:#727780!important;
  border-color:#d5d8dd!important;
  cursor:not-allowed;
  opacity:1;
}
.superadmin-lock-note{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:10px;
  background:#e5e7ea;
  color:#676c75;
}
.superadmin-lock-note strong{display:block;color:#555a63;margin-bottom:2px}
.superadmin-lock-note span{font-size:12px}
@media(max-width:760px){
  .user-card-layout{grid-template-columns:1fr}
  .user-avatar-box{min-height:auto;flex-direction:row;justify-content:flex-start}
  .user-avatar-box img{width:68px;height:68px}
}

/* Avatar por perfil en la cabecera superior */
.user-chip--avatar{gap:9px}
.topbar-user-avatar{
  width:38px;
  height:38px;
  object-fit:contain;
  flex:0 0 38px;
  border-radius:50%;
  background:linear-gradient(145deg,#faf8ff,#eee6fb);
  border:1px solid rgba(111,68,173,.14);
}

/* Fallbacks visuales AGO para Mecánicos e Internos */
.interno-default-thumb{
  object-fit:contain!important;
  background:linear-gradient(145deg,#fbf9ff,#f0e9fb);
  border-radius:10px;
}
.interno-ficha-image{
  display:block;
  width:min(100%,320px);
  max-height:260px;
  object-fit:contain;
  margin:0 auto 14px;
  border-radius:14px;
  background:linear-gradient(145deg,#fbf9ff,#f0e9fb);
}

/* Gestión visual de foto en Alta / modificación de Internos */
.interno-photo-field{grid-column:span 2}
.interno-photo-editor{
  display:flex;
  align-items:center;
  gap:16px;
  padding:12px;
  border:1px solid #d9ddea;
  border-radius:12px;
  background:#fafbfe;
}
.interno-photo-preview{
  flex:0 0 116px;
  text-align:center;
}
.interno-photo-preview img{
  display:block;
  width:108px;
  height:88px;
  object-fit:contain;
  margin:0 auto 5px;
  border-radius:10px;
  background:linear-gradient(145deg,#fbf9ff,#f0e9fb);
}
.interno-photo-preview small{
  display:block;
  color:#746780;
  font-size:10px;
  line-height:1.25;
}
.interno-photo-controls{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.remove-photo-option{
  display:flex;
  align-items:center;
  gap:7px;
  color:#7a3fba;
  font-weight:700;
}
.interno-photo-controls>small{color:#747b88}
@media(max-width:760px){
 .interno-photo-field{grid-column:auto}
 .interno-photo-editor{align-items:stretch;flex-direction:column}
 .interno-photo-preview{flex-basis:auto}
}

/* Subtipo dinámico de Máquina vial */
#subtipo_maquina,#subtipo_texto{width:100%}

/* Imagen por defecto en listado de Obras */
.obra-thumb{object-fit:cover;background:#faf8ff}

/* V5 GLOBAL VISUAL · densidad del área operativa (referencia navegador 90%)
   Sidebar, topbar y botones conservan su escala original. */
@media(min-width:961px){
  .content{font-size:13.5px;padding:25px 28px}
  .content .page-heading{margin-bottom:18px}
  .content .page-heading h1{font-size:25px}
  .content .page-heading p{font-size:13px}
  .content .card{padding:18px;margin-bottom:16px}
  .content .card h2{font-size:17px}
  .content th,.content td{padding:10px 12px}
  .content th{font-size:11px}
  .content input,.content select,.content textarea{font-size:13.5px;padding:10px 11px}
  .content textarea{min-height:90px}
  .content .form-grid{gap:13px}
  .content .field{gap:5px}
  .content .actions,.content .quick-actions{margin:16px 0}
  .content .btn,.content button{font-size:15px;padding:10px 15px}
  .content .btn.small,.content button.small{font-size:13px;padding:7px 11px}
}

/* Repuestos · combo buscable con stock desacoplado visualmente */
.part-combobox{position:relative;min-width:0}
.part-search{padding-right:34px!important}
.part-options{
  display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:60;
  max-height:290px;overflow:auto;background:#fff;border:1px solid #d9dfea;
  border-radius:10px;box-shadow:0 12px 30px rgba(27,37,62,.15);padding:5px;
}
.part-options.open{display:block}
.part-option{
  width:100%;display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:18px!important;text-align:left!important;background:#fff!important;color:var(--text)!important;
  box-shadow:none!important;border-radius:7px!important;padding:9px 10px!important;font-size:13px!important;
}
.part-option:hover{background:var(--accent-soft)!important;transform:none!important;box-shadow:none!important}
.part-option[hidden]{display:none!important}
.part-main{display:flex;align-items:baseline;gap:8px;min-width:0;overflow:hidden}
.part-main strong{color:var(--accent);flex:0 0 auto}
.part-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.part-stock{
  margin-left:auto;flex:0 0 auto;min-width:78px;text-align:right;color:#667085;
  font-size:11px;font-weight:800;padding-left:12px;border-left:1px solid #ece8f2;
}
.part-options.empty:after{
  content:'Sin coincidencias';display:block;padding:12px;color:var(--muted);text-align:center;font-size:12px
}

/* V5 GLOBAL VISUAL · código de repuesto con peso normal */
.part-main .part-code{color:var(--accent);font-weight:400;flex:0 0 auto}

/* Services · Configuración de intervalos */
.service-interval-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 0 18px}.service-interval-head>div{display:flex;align-items:flex-start;gap:14px}.service-interval-head h1{margin:0 0 4px;font-size:28px;line-height:1.15;color:#101a33}.service-interval-head p{margin:0;color:#68738b}.service-interval-back{font-size:31px;line-height:1;text-decoration:none;color:#111b35;padding-top:1px}.service-interval-reset{white-space:nowrap;background:linear-gradient(135deg,#6934c9,#8248de);box-shadow:0 7px 16px rgba(111,68,173,.14)}
.service-interval-info{display:flex;align-items:center;gap:16px;padding:17px 20px;margin-bottom:18px;border:1px solid #e1d9f0;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(31,42,68,.05);color:#4e5b73}.service-interval-info strong{display:block;margin-top:3px;color:#673bc3}.service-interval-info__icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#7440d3;color:#fff;font-weight:800;font-size:22px;font-family:Georgia,serif}
.service-interval-card{padding:0;overflow:hidden}.service-interval-card h2{padding:23px 24px 14px;margin:0;color:#111b35}.service-interval-grid{display:grid;grid-template-columns:1.25fr .9fr .72fr .72fr .58fr .68fr;align-items:center;column-gap:26px;padding:15px 24px}.service-interval-grid--head{padding-top:12px;padding-bottom:12px;background:#fafafe;border-top:1px solid #f0edf5;border-bottom:1px solid #ece9f2;color:#4d5872;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.service-interval-row{border-bottom:1px solid #eceef3}.service-interval-row:last-child{border-bottom:0}.service-interval-vehicle{display:flex;align-items:center;gap:17px;color:#16213b}.service-interval-vehicle__icon{display:grid;place-items:center;width:92px;height:55px;overflow:hidden}.service-interval-vehicle__icon img{display:block;max-width:88px;max-height:52px;object-fit:contain}.service-interval-vehicle__icon img[src$="IconoMaquina.jpg"]{border-radius:10px}.service-interval-readonly,.service-interval-input{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:43px;padding:10px 13px;border:1px solid #d7ddea;border-radius:8px;background:#fff;color:#17213a;font-size:14px}.service-interval-readonly span{color:#15213a;font-size:14px}.service-interval-input{font-weight:600}.service-interval-unit{max-width:118px}.service-interval-save{background:#faf7ff;color:#6d3dcc;border:1px solid #c9acf5;box-shadow:none;white-space:nowrap}.service-interval-save:hover{background:#f2eaff}
.service-interval-warning{display:flex;gap:15px;margin-top:20px;padding:18px 22px;border:1px solid #efce78;border-radius:14px;background:#fffaf0;color:#3e3428}.service-interval-warning strong{display:block;margin-bottom:7px}.service-interval-warning ul{margin:0;padding-left:20px}.service-interval-warning li{margin:5px 0}.service-interval-warning__icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#f5a900;color:#fff;font-weight:900;font-size:22px}
@media(max-width:1050px){.service-interval-grid{grid-template-columns:1.15fr .82fr .7fr .7fr .52fr .65fr;column-gap:12px;padding-left:16px;padding-right:16px}.service-interval-vehicle__icon{width:70px}.service-interval-head{align-items:flex-start}.service-interval-head h1{font-size:24px}}
@media(max-width:780px){.service-interval-head{flex-direction:column}.service-interval-grid--head{display:none}.service-interval-row{grid-template-columns:1fr 1fr;row-gap:12px}.service-interval-vehicle{grid-column:1/-1}.service-interval-row>div:last-child{grid-column:1/-1}.service-interval-save{width:100%}.service-interval-unit{max-width:none}}

.service-warning-head{color:#b77900!important;background:#fff5cc;border-radius:7px;padding:7px 9px}.service-warning-input{background:#fffaf0!important;border-color:#efc85c!important;box-shadow:0 0 0 2px rgba(239,200,92,.08)}

/* Botón Atrás suave reutilizable */
.ago-back-soft{display:inline-flex;align-items:center;gap:5px;margin:0 0 16px;padding:8px 13px;border:1px solid #d8c8ef;border-radius:10px;background:#faf7ff;color:var(--accent);font-weight:800;text-decoration:none;box-shadow:0 2px 8px rgba(111,68,173,.06)}
.ago-back-soft:hover{background:#f3ecff;transform:none;box-shadow:0 2px 8px rgba(111,68,173,.08)}

/* Cursor AGO personalizado (archivos .cur provistos) */
body.ago-cursor-enabled{cursor:url('../cursors/cursor-comun.cur'),default}
body.ago-cursor-enabled a,body.ago-cursor-enabled button,body.ago-cursor-enabled select,body.ago-cursor-enabled summary,body.ago-cursor-enabled [role='button'],body.ago-cursor-enabled .btn,body.ago-cursor-enabled .menu-toggle,
body.ago-cursor-enabled input[type='button'],body.ago-cursor-enabled input[type='submit'],body.ago-cursor-enabled input[type='reset'],body.ago-cursor-enabled input[type='checkbox'],body.ago-cursor-enabled input[type='radio'],
body.ago-cursor-enabled label[for],body.ago-cursor-enabled *[onclick]{cursor:url('../cursors/cursor-link.cur'),pointer!important}
input:not([type]),input[type='text'],input[type='search'],input[type='email'],input[type='password'],input[type='number'],input[type='date'],input[type='datetime-local'],input[type='time'],input[type='tel'],input[type='url'],textarea,[contenteditable='true']{cursor:text!important}
button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled='true']{cursor:not-allowed!important}

/* Configuración · separación visual entre opciones */
.form-check{display:flex;align-items:flex-start;gap:9px;margin:10px 0}
.config-options-stack{display:flex;flex-direction:column;gap:16px;margin:10px 0 18px}
.config-option-row{display:flex;align-items:flex-start;gap:10px;line-height:1.3}
.config-option-row .form-check-input{margin-top:3px;flex:0 0 auto}
.config-option-row .form-check-label{display:block}
.config-option-row small{display:block;margin-top:3px;line-height:1.35}
.config-option-cursor{padding-top:14px;border-top:1px solid var(--line);margin-top:2px}

/* AGO SIGFM PLATAFORMA - interfaz específica del integrador satelital */
.platform-edition{--accent:#173d78;--platform-navy:#0b2345;--platform-blue:#173d78;--platform-yellow:#f2b61f;--platform-bg:#f3f6fa;background:var(--platform-bg)}
.platform-edition .sidebar{background:linear-gradient(180deg,#0b2345,#102c53)}
.platform-edition .brand{border-bottom-color:rgba(255,255,255,.12)}
.platform-edition .side-nav a.active{background:#fff;color:#173d78;border-left:4px solid var(--platform-yellow)}
.platform-edition .side-nav a:hover{background:rgba(255,255,255,.1)}
.platform-edition .topbar{background:#fff;border-bottom:1px solid #dce4ee;box-shadow:0 2px 10px rgba(15,35,65,.05)}
.platform-edition .btn:not(.secondary):not(.ghost):not(.danger),.platform-primary{background:#173d78!important;border-color:#173d78!important;color:#fff!important}
.platform-tabs{display:flex;gap:28px;border-bottom:1px solid #dbe3ec;margin:-4px 0 20px}.platform-tabs a{padding:12px 2px;text-decoration:none;color:#65758a;font-weight:700;border-bottom:3px solid transparent}.platform-tabs a.active{color:#173d78;border-color:#173d78}.platform-tabs b{background:#e8edf4;border-radius:999px;padding:2px 7px;margin-left:4px;font-size:11px}
.fleet-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px}.fleet-list{padding:0;overflow:hidden;align-self:start}.fleet-list-head{display:flex;justify-content:space-between;padding:16px 17px;border-bottom:1px solid #e3e8ef}.fleet-list-head span{background:#e9eef5;padding:2px 8px;border-radius:999px}.fleet-search{margin:12px;width:calc(100% - 24px)!important}.fleet-item{display:flex;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid #eef1f5;text-decoration:none;color:#24364d}.fleet-item:hover,.fleet-item.selected{background:#eaf1fb}.fleet-item.selected{box-shadow:inset 4px 0 #173d78}.fleet-dot{width:9px;height:9px;border-radius:50%;background:#22a06b;flex:0 0 auto}.fleet-item div{display:flex;flex-direction:column}.fleet-item small{color:#7a8797;margin-top:2px}.fleet-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.fleet-title-row h2{margin:0;color:#173d78}.fleet-title-row p{margin:5px 0 0;color:#77869a}.vehicle-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.vehicle-kpi{background:#fff;border:1px solid #dfe6ee;border-radius:12px;padding:17px;box-shadow:0 4px 14px rgba(15,35,65,.04)}.vehicle-kpi span,.vehicle-kpi small{display:block;color:#7b899a}.vehicle-kpi strong{display:block;color:#173d78;font-size:20px;margin:7px 0 3px}.platform-edition table thead th{background:#f0f4f9;color:#536579}.platform-edition .table-link{color:#173d78;font-weight:800}
@media(max-width:900px){.fleet-layout{grid-template-columns:1fr}.fleet-list{max-height:300px}.vehicle-kpis{grid-template-columns:1fr}.fleet-title-row{flex-direction:column}}

.mechanic-name-pill,.mechanic-specialty-pill{display:inline-flex;padding:7px 11px;border-radius:999px;font-weight:750}.mechanic-name-pill{background:#eaf1fb;color:#173d78}.mechanic-specialty-pill{background:#f2f4f7;color:#526174;border:1px solid #dfe5ec}
/* Plataforma 1.2 - densidad operativa y nueva OT */
.platform-edition .content{padding-top:24px}
.platform-edition .platform-tabs{margin-bottom:14px}
.platform-edition .platform-tabs a{padding:9px 2px}
.platform-edition .fleet-layout{gap:16px}
.platform-edition .fleet-list-head{padding:12px 14px}
.platform-edition .fleet-search{margin:9px 12px;padding:9px 10px}
.platform-edition .fleet-item{padding:9px 14px;gap:9px}
.platform-edition .fleet-item small{margin-top:0}
.platform-edition .fleet-title-row{margin-bottom:12px}
.platform-edition .vehicle-kpis{gap:12px;margin-bottom:12px}
.platform-edition .vehicle-kpi{padding:12px 14px}
.platform-edition .vehicle-kpi strong{font-size:18px;margin:4px 0 2px}
.platform-edition .dashboard-table .card-header{padding-top:12px;padding-bottom:10px}
.platform-edition .dashboard-table th,.platform-edition .dashboard-table td{padding-top:9px;padding-bottom:9px}
.platform-edition .dashboard-table .order-number-col{width:150px;min-width:150px}
.platform-edition .dashboard-table .order-number-cell,.platform-edition .dashboard-table .order-number-cell a{white-space:nowrap;word-break:normal}
.order-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}.order-page-head h1{margin:0 0 4px;color:#172a46;font-size:24px}.order-page-head p{margin:0;color:#758398}
.order-create-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.order-vehicle-panel{display:grid;gap:14px}.order-vehicle-card,.order-suggested-card,.order-form-main{padding:16px}.order-vehicle-card h3,.order-suggested-card h3{margin:0 0 14px;color:#173d78}.order-suggested-card h3 small{font-weight:500;color:#7c8998}.order-vehicle-identity{display:flex;gap:12px;align-items:center}.order-vehicle-photo{width:82px;height:66px;object-fit:cover;border-radius:9px;border:1px solid #dce4ed;background:#f5f7fa}.order-vehicle-identity div{display:flex;flex-direction:column;min-width:0}.order-vehicle-identity strong{font-size:18px;color:#173d78}.order-vehicle-identity span{font-weight:700;margin-top:3px}.order-vehicle-identity small{color:#77869a;margin-top:3px}.order-state-pill{display:inline-block;margin:12px 0 10px;padding:5px 9px;border-radius:999px;background:#fff0d2;color:#a86500;text-transform:capitalize;font-size:12px;font-weight:800}.order-reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-reading-grid>div{padding:10px;border:1px solid #dfe6ee;border-radius:9px;background:#f8fafc}.order-reading-grid span{display:block;color:#7a8797;font-size:12px}.order-reading-grid strong{display:block;color:#173d78;margin-top:4px}.order-suggested-card .field{margin-bottom:12px}.order-hint{font-size:12px;color:#77869a;margin:4px 0 0}.order-section-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid #e4e9f0}.order-section-title h2{margin:0;color:#173d78;font-size:18px}.order-section-title p{margin:4px 0 0;color:#7a8797;font-size:13px}.order-form-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.order-form-main input,.order-form-main select,.order-form-main textarea,.order-suggested-card input{padding:9px 10px;border-radius:7px}.order-form-main textarea{min-height:78px}.order-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.order-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #e4e9f0}.order-form-actions button,.order-section-title button{padding:10px 18px}
@media(max-width:1100px){.order-create-layout{grid-template-columns:1fr}.order-vehicle-panel{grid-template-columns:1fr 1fr}.order-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:720px){.order-vehicle-panel,.order-form-grid,.order-extra-grid{grid-template-columns:1fr}.order-page-head,.order-section-title{flex-direction:column}.order-section-title button{width:100%}}


/* Plataforma · Configuración 2.6 */
.config-page-card{background:#fff;border:1px solid #e3e9f0;border-radius:14px;box-shadow:0 8px 24px rgba(23,61,120,.06);margin-top:16px;overflow:hidden}
.config-section{padding:24px 28px;border-bottom:1px solid #e8edf3}.config-section-last{border-bottom:0}.config-section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.config-section-head h2{margin:0;color:#173d78;font-size:17px}.config-section-head p{margin:5px 0 0;color:#7a8797;font-size:12.5px}.config-general-grid{display:grid;grid-template-columns:1.25fr .9fr 1.25fr .8fr .9fr;gap:18px}.config-general-grid .field{gap:7px}.config-general-grid .field span{font-size:12.5px;font-weight:700;color:#35445a}.config-general-grid input{padding:10px 11px}
.config-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.config-switch-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid #e1e7ef;border-radius:11px;background:#fbfcfe;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.config-switch-row:hover{border-color:#cbd8e8;background:#fff;box-shadow:0 4px 12px rgba(23,61,120,.05)}.config-switch-copy{display:block;min-width:0}.config-switch-copy strong{display:block;color:#24364e;font-size:14px;margin-bottom:4px}.config-switch-copy small{display:block;color:#788698;font-size:11.5px;line-height:1.4}.config-switch{position:relative;flex:0 0 42px;width:42px;height:24px}.config-switch input{position:absolute;opacity:0;pointer-events:none}.config-switch i{position:absolute;inset:0;border-radius:999px;background:#cbd3dd;transition:.18s}.config-switch i:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:.18s}.config-switch input:checked+i{background:#245fa8}.config-switch input:checked+i:after{transform:translateX(18px)}.config-switch input:focus-visible+i{box-shadow:0 0 0 3px rgba(36,95,168,.18)}.config-save-bar{display:flex;justify-content:flex-end;padding:17px 28px;background:#f8fafc;border-top:1px solid #e8edf3}.config-save-bar button{min-width:150px}.config-saved{margin-top:14px}
@media(max-width:1150px){.config-general-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.config-option-list{grid-template-columns:1fr}.config-general-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.config-section{padding:20px}.config-general-grid{grid-template-columns:1fr}.config-save-bar{padding:15px 20px}.config-switch-row{align-items:flex-start}}

/* Plataforma 2.7 · Internos */
.internos-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px}.internos-head h1{margin:0 0 4px;color:#13213a;font-size:27px}.internos-head p{margin:0;color:#748197}.internos-head-actions{display:flex;gap:10px}.internos-head-actions .icon{width:18px;height:18px}.internos-new,.internos-location-admin{display:inline-flex;align-items:center;gap:8px}
.internos-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.internos-kpi{min-height:78px;display:flex;align-items:center;gap:13px;padding:13px 15px;background:#fff;border:1px solid #e1e7ef;border-radius:12px;box-shadow:0 4px 14px rgba(20,45,80,.04)}.internos-kpi-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:10px;font-size:22px;font-weight:800}.internos-kpi-icon .icon{width:22px;height:22px}.internos-kpi-icon.blue{background:#e9f1ff;color:#2463c7}.internos-kpi-icon.green{background:#e6f7eb;color:#159447}.internos-kpi-icon.amber{background:#fff2d2;color:#c27b00}.internos-kpi-icon.gray{background:#edf0f5;color:#718097}.internos-kpi-icon.violet{background:#f1eaff;color:#7542d1}.internos-kpi small{display:block;color:#66758b;font-weight:700}.internos-kpi strong{display:block;margin-top:3px;color:#17243c;font-size:21px}
.internos-filters{display:grid;grid-template-columns:minmax(300px,1fr) 210px auto auto auto;gap:10px;align-items:center;padding:10px;background:#fff;border:1px solid #e1e7ef;border-radius:12px;margin-bottom:12px}.internos-search{display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #d9e0e9;border-radius:8px;color:#738198}.internos-search input{border:0!important;box-shadow:none!important;padding:9px 0!important;width:100%;background:transparent}.internos-filters select{padding:10px}.internos-print{margin-left:auto;white-space:nowrap}
.internos-table-wrap{border-radius:12px;overflow:hidden}.internos-table th{font-size:11.5px;text-transform:uppercase;letter-spacing:.02em}.internos-table td{padding-top:9px!important;padding-bottom:9px!important;vertical-align:middle}.internos-table .thumb{width:54px;height:42px;object-fit:contain;border-radius:8px;background:#f6f2ff}.internos-table .entity-key{color:#173d78;font-size:14px}.unit-detail{display:block;color:#6f7c90;font-size:12px;margin-top:2px}.interno-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.interno-status-operativo,.interno-status-operativo_observaciones{background:#dcf5e5;color:#16773a}.interno-status-en_reparacion{background:#fff0c9;color:#a66a00}.interno-status-fuera_servicio,.interno-status-baja{background:#e9edf3;color:#536176}.interno-location{display:inline-flex;align-items:center;gap:6px;color:#34445a}.interno-location .icon{width:16px;height:16px;color:#6f44ad}.interno-location.is-disabled{color:#a1a9b5}.interno-location.is-disabled .icon{color:#b8bec8}.interno-actions{display:flex;align-items:center;gap:6px}.interno-actions a{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:#f3effc;border:1px solid #ebe3f8;color:#6940bd;text-decoration:none;font-size:17px;font-weight:700}.interno-actions a:hover{background:#eae1fb}.internos-actions-head{width:130px}.internos-foot{padding:10px 2px;color:#718096;font-size:12px}
.internos-location-dialog{width:min(760px,92vw);height:min(620px,82vh);padding:0;border:0;border-radius:16px;box-shadow:0 22px 60px rgba(14,31,58,.28);overflow:hidden}.internos-location-dialog::backdrop{background:rgba(12,27,50,.38)}.internos-dialog-head{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e4e9ef;background:#fff}.internos-dialog-head strong,.internos-dialog-head small{display:block}.internos-dialog-head strong{color:#173d78;font-size:16px}.internos-dialog-head small{margin-top:3px;color:#7a8798}.internos-dialog-head button{width:34px;height:34px;padding:0;border-radius:50%;background:#f3f5f8;color:#45546a;font-size:23px;box-shadow:none}.internos-location-dialog iframe{display:block;width:100%;height:calc(100% - 66px);border:0;background:#f4f7fb}
@media(max-width:1100px){.internos-kpis{grid-template-columns:repeat(3,1fr)}.internos-filters{grid-template-columns:1fr 190px auto}.internos-print{margin-left:0}}@media(max-width:760px){.internos-head{align-items:flex-start;flex-direction:column}.internos-kpis{grid-template-columns:1fr 1fr}.internos-filters{grid-template-columns:1fr}.internos-print{width:auto}.internos-table-wrap{overflow:auto}}

/* Plataforma 2.8 · Ajustes Internos y ubicación manual */
.interno-location-cell{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;width:100%}.interno-location{min-width:0}.interno-location-edit{justify-self:end}.interno-location-edit{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;padding:0;border:1px solid #e7def8;border-radius:8px;background:#f3effc;color:#6940bd;box-shadow:none}.interno-location-edit:hover{background:#e9e0fa}.interno-location-edit .icon{width:15px;height:15px}.interno-change-dialog{width:min(430px,92vw);padding:0;border:0;border-radius:15px;box-shadow:0 22px 60px rgba(14,31,58,.28);overflow:hidden}.interno-change-dialog::backdrop{background:rgba(12,27,50,.38)}.interno-change-form{margin:0}.interno-change-body{padding:20px;background:#fff}.interno-change-body label{display:block;font-size:12px;font-weight:700;color:#34445a;margin:0 0 7px}.interno-change-body select{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #d8e0e9;border-radius:8px;margin-bottom:2px}.interno-current-location{padding:10px 11px;margin-bottom:17px;border:1px solid #e3e8ef;border-radius:8px;background:#f7f9fb;color:#68768a}.interno-change-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid #e5eaf0;background:#f8fafc}.interno-change-actions button{margin:0}

/* Internos: ubicación manual */
.interno-change-body textarea{width:100%;box-sizing:border-box;min-height:86px;resize:vertical;padding:10px 11px;border:1px solid #d8e0e9;border-radius:8px;font:inherit;color:#26364d;background:#fff}.interno-motivo-label{margin-top:16px!important}.interno-motivo-count{text-align:right;font-size:11px;color:#7a8799;margin-top:5px}.required-mark{color:#c62828}.internos-toast{margin-bottom:14px;background:#eaf8ef!important;border-color:#bfe8cc!important;color:#176b37!important}

/* =========================================================
   AGO SIGFM Plataforma · estándar visual global 3.1
   Referencia de densidad: Órdenes de trabajo
   Referencia de acciones: Mecánicos
   ========================================================= */
:root{--ago-id:#075ac9;--ago-primary:#173d78;--ago-filter:#6541b8;--ago-secondary:#647084}
/* Densidad y tipografía de tablas */
main .card{box-shadow:0 8px 24px rgba(20,48,86,.05)}
main table th{font-size:10.5px;letter-spacing:.035em;color:#66758d;padding:10px 11px}
main table td{font-size:12px;padding:9px 11px}
/* Identificador principal de cada registro */
.entity-key,.table-link,.repuesto-code,.order-number,.mechanic-name{color:var(--ago-id)!important}
/* Pastillas de estado: suaves y sin negrita */
.status-badge,.badge,.status-pill,.interno-status,.repuesto-status{font-weight:400!important;padding:4px 9px!important;font-size:11px!important;line-height:1.2}
.status-ingresada{background:#eee9ff!important;color:#6944bc!important}
.status-en_reparacion,.reparacion{background:#fff0c9!important;color:#966000!important}
.status-cerrada,.status-entregada,.status-finalizada,.operativo{background:#e2f6e8!important;color:#168044!important}
.status-cancelada{background:#eef1f5!important;color:#687386!important}
/* Acciones compactas, patrón Mecánicos */
.ago-icon-action,.icon-action,.order-action,.repuesto-action{width:32px!important;height:32px!important;border:1px solid #dbe3ef!important;border-radius:8px!important;background:#fff!important;color:#25466f!important;display:inline-grid!important;place-items:center!important;text-decoration:none!important;box-shadow:none!important;padding:0!important}
.ago-icon-action:hover,.icon-action:hover,.order-action:hover,.repuesto-action:hover{background:#f4f8fd!important}
.ago-icon-action.danger,.icon-action.danger{color:#c23d4b!important}
/* Jerarquía de botones */
.btn.ago-primary,button.ago-primary{background:var(--ago-primary)!important;color:#fff!important}
.btn.ago-filter,button.ago-filter{background:linear-gradient(135deg,#344fa0,#7b3fc5)!important;color:#fff!important}
.btn.secondary,.btn.ago-secondary,button.secondary,button.ago-secondary{background:var(--ago-secondary)!important;color:#fff!important}
