/* Paleta inspirada en el logo del proveedor; identidad visible del cliente. */
:root{--tecsa-teal:#147582;--tecsa-teal-dark:#105c66;--tecsa-teal-light:#f3f9fa;--tecsa-green:#237a41;--tecsa-yellow:#efc134;--tecsa-light-blue:#e6f2f3;--tecsa-gray:#5d7178;--tecsa-danger:#ad2831;--brand-turquoise:#2fa1ae;--brand-lime:#a1c038;--brand-yellow:var(--tecsa-yellow);--brand-sky:#a7d0dc;--ink:#293d43;--teal:var(--tecsa-teal);--muted:var(--tecsa-gray);--bs-primary:var(--tecsa-teal);--bs-primary-rgb:20,117,130;--bs-success-rgb:35,122,65;--bs-link-color:var(--tecsa-teal);--bs-link-hover-color:var(--tecsa-teal-dark);--bs-success-bg-subtle:#eef5db;--bs-success-text-emphasis:#486718;--bs-warning-bg-subtle:#fff5cf}
body{background:#f5f8f9;color:var(--ink)}
#sidebar{background:#155963;color:#d4e9ed;overflow-y:auto}
.brand{font-size:19px;line-height:1.4;margin-bottom:32px;letter-spacing:-.4px}
.brand-icon{background:var(--brand-turquoise);color:white;box-shadow:0 3px 0 var(--brand-yellow);font-size:16px;width:35px;height:35px;margin-right:6px}
.brand-sub{color:#d4e9ed;letter-spacing:.8px;font-size:12px;margin-top:15px}
nav a{color:#e0eef0;border-left:3px solid transparent}
nav a:hover{background:#206b76;color:white}
nav a.active{background:#237783;border-left-color:var(--brand-yellow);color:white;box-shadow:0 4px 14px #123e441a}
.aside-bottom{position:static;margin-top:35px;color:#e0eef0}.online{background:var(--brand-lime)}
header{border-bottom:1px solid #d9e6e9;box-shadow:0 2px 10px #15596305}
.card{border-color:#dfe8ea;box-shadow:0 4px 16px #15596306}
.eyebrow,a,.card-arrow{color:var(--teal)}a:hover{color:#105c66}
.dashboard-link{border-top:3px solid var(--brand-turquoise)}
.row>div:nth-child(2) .dashboard-link{border-top-color:var(--brand-lime)}
.row>div:nth-child(3) .dashboard-link{border-top-color:var(--brand-yellow)}
.row>div:nth-child(4) .dashboard-link{border-top-color:var(--brand-sky)}
.dashboard-link:hover{color:var(--ink);border-color:var(--brand-turquoise);box-shadow:0 9px 25px #15596318}
.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#147582;--bs-btn-border-color:#147582;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#105c66;--bs-btn-hover-border-color:#105c66;--bs-btn-active-bg:#0f535c;--bs-btn-active-border-color:#0f535c;--bs-btn-disabled-bg:#147582;--bs-btn-disabled-border-color:#147582;--bs-btn-focus-shadow-rgb:47,161,174}
.btn-outline-secondary{--bs-btn-color:#147582;--bs-btn-border-color:#76aeb7;--bs-btn-hover-bg:#e9f5f7;--bs-btn-hover-color:#105c66;--bs-btn-hover-border-color:#147582;--bs-btn-active-bg:#d7edf0;--bs-btn-active-color:#105c66}
.btn-light{--bs-btn-bg:#edf5f6;--bs-btn-border-color:#edf5f6;--bs-btn-color:#225e67;--bs-btn-hover-bg:#dceef1;--bs-btn-hover-color:#174c54}
.tag{background:#eef5db;color:#486718;border:1px solid #d9e6b1}
.tag.warn{background:#fff5cf;color:#755506;border-color:#eed78e}
.tag.danger{background:#fcebe8;color:#a13930;border-color:#edc6c1}
.notice{background:#fff9e4;border-color:#efdda0;border-left:4px solid var(--brand-yellow);color:#735a17}
.avatar{background:#e5f2f5;color:#276776}
.table th{background:#eff6f7;color:#536c74}.table>:not(caption)>*>*{border-color:#e5edef}
.bar-chart>div{background:var(--brand-sky)}.bar-chart>div:last-child{background:var(--brand-turquoise)}
.nav-tabs .nav-link.active{border-top:3px solid var(--brand-turquoise);color:var(--teal)}
.gps-panel{background:#edf7f8;border-color:#bedfe5;border-left:4px solid var(--brand-turquoise)}
.task{border-left-color:var(--brand-turquoise)}
.port{background:#eef5db;border-color:#c8da8c;color:#486718}.port:hover{border-color:#7d9b27;box-shadow:0 0 0 2px #a1c03833}.port.free{background:#f5f8f9;border-color:#bfcfd3;color:#5d7178}
.network{background-color:#f0f7f8;background-image:radial-gradient(#c4dfe5 1px,transparent 1px)}
.network svg>g:first-child{stroke:#2fa1ae}.network svg>g:nth-child(2){stroke:#a7d0dc}.network svg>g:last-child{fill:#225e67}
.form-control:focus,.form-select:focus{border-color:#2fa1ae;box-shadow:0 0 0 .22rem #2fa1ae25}
input[type=checkbox]{accent-color:#147582}:focus-visible{outline-color:#147582}nav a:focus-visible{outline-color:#efc134}
dialog::backdrop{background:#143e4880}.about-button{border:0;background:none;color:#147582;text-decoration:underline;padding:4px 0;margin-right:12px}
@media(max-width:700px){.brand{font-size:19px}.aside-bottom{margin-top:24px}}
.brand-heading{display:flex;align-items:center;gap:12px}.brand-heading>span{flex:1;min-width:0}.brand-logo{width:58px;height:62px;object-fit:contain;background:white;padding:5px;border-radius:10px;flex-shrink:0}.brand-sub{line-height:1.6}
.brand-product{display:flex;flex-direction:column;line-height:1.1}.brand-product strong{font-size:22px}.brand-product span{font-family:Georgia,serif;font-size:20px;font-weight:400;letter-spacing:0}.brand-company{display:block;margin-top:13px;padding-top:12px;border-top:1px solid #ffffff38;color:#fff;font-size:14px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.sidebar-about{display:block;color:#d4e9ed;text-decoration:none;font-size:13px;padding:12px 10px;margin-top:12px}.sidebar-about:hover,.sidebar-about.active{background:#206b76;color:#fff}.btn-outline-primary{--bs-btn-color:#147582;--bs-btn-border-color:#147582;--bs-btn-hover-bg:#147582;--bs-btn-hover-border-color:#147582;--bs-btn-active-bg:#105c66;--bs-btn-active-border-color:#105c66;--bs-btn-focus-shadow-rgb:47,161,174}
.brand-heading .brand-product{display:block;min-width:0}.brand-product strong,.brand-product span{display:block;white-space:nowrap}.brand-product strong{font-family:inherit}.brand-product span{margin-top:3px}.brand-product span::before{content:"";display:block;width:100%;max-width:90px;border-top:1px solid #d4e9ed;margin:7px 0 6px}
.workspace .tab-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #d9e6e9}.workspace .tab-nav a{min-height:44px;padding:10px 16px;border:0;border-bottom:3px solid transparent;border-radius:6px 6px 0 0;background:transparent;color:var(--tecsa-teal);font-family:inherit;font-weight:400;text-decoration:none;box-shadow:none}.workspace .tab-nav a:hover{background:var(--tecsa-teal-light);color:var(--tecsa-teal-dark)}.workspace .tab-nav a.active,.workspace .tab-nav a.active:hover{background:var(--tecsa-light-blue);border-bottom-color:var(--tecsa-teal);color:var(--tecsa-teal-dark);font-weight:600;box-shadow:none}.workspace .tab-nav a:focus-visible{outline:2px solid var(--tecsa-teal);outline-offset:2px}
.page-link{color:var(--tecsa-teal)}.page-link:hover{color:#105c66;background:var(--tecsa-light-blue)}.active>.page-link,.page-link.active,.list-group-item.active{background:var(--tecsa-teal);border-color:var(--tecsa-teal)}.form-check-input:checked{background-color:var(--tecsa-teal);border-color:var(--tecsa-teal)}.form-check-input:focus{border-color:var(--tecsa-teal);box-shadow:0 0 0 .22rem #2fa1ae25}
.history-detail summary{cursor:pointer;color:var(--tecsa-teal);font-weight:600}.history-detail-content{min-width:min(65vw,650px);padding:12px;background:var(--tecsa-light-blue);border-radius:6px}.history-detail pre{max-width:100%;max-height:18rem;overflow:auto;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere}

.brand:hover,
.brand:hover .brand-product,
.brand:hover .brand-product strong,
.brand:hover .brand-product span,
.brand:hover .brand-sub,
.brand:hover .brand-company{
    color:#fff !important;
    text-decoration:none;
}
