/* ===================================================================
   Tema visual CalPort — versión definitiva (mezcla de las dos ideas).
   Misma técnica que calport-theme.css: capa que se carga al final y
   sobrescribe por cascada, sin tocar HTML/JS/PHP funcional.
   Base: sidebar que sigue el tema claro/oscuro y tarjetas "flotantes"
   solo con sombra. De la v1 se recuperó: la barra de color superior
   en las tarjetas de métricas, el encabezado de tabla con tinte suave,
   y botones con esquina redondeada moderada (no píldora completa).
   =================================================================== */
:root{
    --calport-primary:#1c1b17;--calport-primary-rgb:28,27,23;
    --calport-accent:#c7d92e;--calport-accent-rgb:199,217,46;--calport-accent-strong:#98a71c;
    --calport-surface:#f5f4ef;--calport-card:#ffffff;
    --calport-text:#1c1b17;--calport-text-muted:#726f63;
    --calport-border:rgba(28,27,23,.1);--calport-shadow:rgba(28,27,23,.1);
    --sidebar-width:250px;
}
body{background:var(--calport-surface);color:var(--calport-text);overflow:hidden}
[data-bs-theme=dark]{
    --calport-surface:#131210;--calport-card:#1c1b16;
    --calport-text:#f2f1e8;--calport-text-muted:#a6a496;
    --calport-border:rgba(255,255,255,.09);--calport-shadow:rgba(0,0,0,.5);
    --calport-accent:#d7ea3a;--calport-accent-rgb:215,234,58;
    --bs-body-bg:var(--calport-surface);--bs-body-color:var(--calport-text);
    --bs-tertiary-bg:#211f19;--bs-secondary-bg:#231f19;--bs-border-color:var(--calport-border);
    --bs-emphasis-color:#fff;color-scheme:dark;
}
[data-bs-theme=dark] body{background:var(--calport-surface);color:var(--calport-text)}
:root{
    --status-success:#16a34a;--status-success-rgb:22,163,74;
    --status-warning:#d97706;--status-warning-rgb:217,119,6;
    --status-danger:#dc2626;--status-danger-rgb:220,38,38;
    --status-neutral:#57554b;--status-neutral-rgb:87,85,75;
    --bs-primary:var(--calport-primary);--bs-primary-rgb:var(--calport-primary-rgb);
    --bs-info:#0f8b8d;--bs-info-rgb:15,139,141;
    --bs-success:var(--status-success);--bs-success-rgb:var(--status-success-rgb);
    --bs-warning:var(--status-warning);--bs-warning-rgb:var(--status-warning-rgb);
    --bs-danger:var(--status-danger);--bs-danger-rgb:var(--status-danger-rgb);
    --bs-secondary:var(--status-neutral);--bs-secondary-rgb:var(--status-neutral-rgb);
}
.text-bg-warning,.text-bg-info{color:#fff!important}
.card{background-color:var(--calport-card);border:0;border-radius:1.25rem;box-shadow:0 2px 10px var(--calport-shadow)!important}
.card.shadow-sm{box-shadow:0 10px 26px var(--calport-shadow)!important}
.badge{font-weight:600;padding:.4em .7em;border-radius:.6rem}
.table>thead{border-bottom:2px solid var(--calport-border)}
.table>thead th{background:rgba(var(--calport-primary-rgb),.035);color:var(--calport-text-muted);font-weight:700;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;padding-top:.65rem;padding-bottom:.65rem}
.table-striped>tbody>tr:nth-of-type(odd),.table>tbody>tr:nth-of-type(even){background:rgba(var(--calport-primary-rgb),.02)}
.table>tbody>tr:hover{background:rgba(var(--calport-accent-rgb),.12)}
[data-bs-theme=dark] .table>thead th{background:rgba(255,255,255,.045)}
[data-bs-theme=dark] .table-striped>tbody>tr:nth-of-type(odd),[data-bs-theme=dark] .table>tbody>tr:nth-of-type(even){background:rgba(255,255,255,.03)}
[data-bs-theme=dark] .table>tbody>tr:hover{background:rgba(var(--calport-accent-rgb),.16)}
[data-bs-theme=dark] .bg-white{background-color:var(--calport-card)!important;color:var(--calport-text)}
[data-bs-theme=dark] .bg-light,[data-bs-theme=dark] .text-bg-light{background-color:var(--bs-tertiary-bg)!important;color:var(--calport-text)!important}
#orders-table>tbody>tr{border-bottom:2px solid var(--calport-border)}
#orders-table>tbody>tr:last-child{border-bottom:none}
#orders-table>tbody>tr:nth-of-type(even){background:rgba(var(--calport-primary-rgb),.05)}
#orders-table>tbody>tr:hover{background:rgba(var(--calport-accent-rgb),.16)}
#orders-table>tbody>td{padding-top:1.1rem;padding-bottom:1.1rem}
[data-bs-theme=dark] #orders-table>tbody>tr:nth-of-type(even){background:rgba(255,255,255,.04)}
#zolutium-table>tbody>tr.zolutium-pedido-inicio{border-top:3px solid var(--calport-border)}
#zolutium-table>tbody>tr.zolutium-pedido-inicio:first-of-type{border-top:none}
#zolutium-table>tbody>tr.zolutium-pedido-inicio>td{padding-top:1.25rem}
#zolutium-table>tbody>tr.zolutium-pedido-a{background:rgba(var(--calport-primary-rgb),.045)}
#zolutium-table>tbody>tr.zolutium-pedido-a>td:first-child{border-left:3px solid var(--calport-primary)}
#zolutium-table>tbody>tr.zolutium-pedido-b{background:rgba(var(--calport-accent-rgb),.12)}
#zolutium-table>tbody>tr.zolutium-pedido-b>td:first-child{border-left:3px solid var(--calport-accent-strong)}
[data-bs-theme=dark] #zolutium-table>tbody>tr.zolutium-pedido-a{background:rgba(255,255,255,.04)}
[data-bs-theme=dark] #zolutium-table>tbody>tr.zolutium-pedido-b{background:rgba(var(--calport-accent-rgb),.14)}
.app-shell{display:flex;align-items:stretch;height:100vh;overflow-x:hidden;overflow-y:scroll}
.table-responsive{overflow-y:visible}
/* El sidebar sigue el tema en vez de quedar siempre oscuro */
.sidebar{background:var(--calport-card);border-right:1px solid var(--calport-border);box-sizing:border-box;color:var(--calport-text);flex:0 0 var(--sidebar-width);min-height:100%;padding:1.5rem 1.1rem;width:var(--sidebar-width);z-index:1040;transition:transform .2s}
.sidebar-brand,.auth-logo{align-items:center;color:var(--calport-text);display:flex;gap:.55rem;font-size:1.2rem;font-weight:800;letter-spacing:.02em;text-decoration:none}
.sidebar-brand img,.auth-logo img{height:36px;width:auto;border-radius:.4rem}
.sidebar-brand span,.auth-logo span{color:var(--calport-accent-strong)}
[data-bs-theme=dark] .sidebar-brand span,[data-bs-theme=dark] .auth-logo span{color:var(--calport-accent)}
.sidebar .nav-link{color:var(--calport-text-muted);border-radius:2rem;padding:.65rem 1rem;font-size:.93rem;transition:background .15s,color .15s}
.sidebar .nav-link.active{background:var(--calport-accent);color:#171610;font-weight:700}
.sidebar .nav-link:hover:not(.active){background:rgba(var(--calport-primary-rgb),.06);color:var(--calport-text)}
[data-bs-theme=dark] .sidebar .nav-link:hover:not(.active){background:rgba(255,255,255,.08)}
.sidebar-label{color:var(--calport-text-muted);font-size:.7rem;font-weight:700;letter-spacing:.09em;margin:1rem 1rem .3rem;text-transform:uppercase;opacity:.75}
.app-main{flex:1 1 auto;min-width:0;min-height:100vh}
.app-navbar{background:var(--calport-card)!important;border-bottom-color:var(--calport-border)!important}
.theme-toggle{align-items:center;background:transparent;border:1px solid var(--calport-border);border-radius:2rem;color:var(--calport-text);display:inline-flex;height:2.4rem;justify-content:center;width:2.4rem;transition:background .15s,border-color .15s}
.theme-toggle:hover{background:rgba(var(--calport-accent-rgb),.16);border-color:var(--calport-accent)}
.theme-toggle svg{height:18px;width:18px}
.theme-toggle .icon-moon{display:none}
[data-bs-theme=dark] .theme-toggle .icon-sun{display:none}
[data-bs-theme=dark] .theme-toggle .icon-moon{display:block}
.auth-body{background:radial-gradient(circle at 50% 0%,rgba(199,217,46,.28),transparent 55%),var(--calport-surface)}
.auth-shell{align-items:center;display:flex;justify-content:center;min-height:100vh}
.auth-card{max-width:440px;width:100%;border-radius:1.5rem}
.auth-logo{color:var(--calport-text)}
.btn{border-radius:.7rem;font-weight:600}
.btn-primary{background:var(--calport-accent);border-color:var(--calport-accent);color:#171610}
.btn-primary:hover,.btn-primary:focus{background:var(--calport-accent-strong);border-color:var(--calport-accent-strong);color:#171610}
.btn-outline-primary{--bs-btn-color:var(--calport-text);--bs-btn-border-color:var(--calport-border);--bs-btn-hover-bg:var(--calport-primary);--bs-btn-hover-border-color:var(--calport-primary)}
.form-control,.form-select{border-radius:.9rem}
.form-control:focus,.form-select:focus{border-color:var(--calport-accent-strong);box-shadow:0 0 0 .2rem rgba(var(--calport-accent-rgb),.28)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--calport-border);border-radius:6px}
@media(max-width:991.98px){.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;height:100vh;overflow-y:auto;transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.app-main{margin-left:0}}
/* ---- dashboard.css: sin barra superior de color, tarjetas planas ---- */
.dashboard-page{max-width:1500px;margin:0 auto}.dashboard-header{padding:.25rem 0}.dashboard-eyebrow{color:var(--calport-accent-strong);font-size:.72rem;font-weight:800;letter-spacing:.12em;margin-bottom:.45rem;text-transform:uppercase}[data-bs-theme=dark] .dashboard-eyebrow{color:var(--calport-accent)}.dashboard-filter{border-left:0!important}.dashboard-filter .form-control{min-width:155px}.section-heading{align-items:end;display:flex;justify-content:space-between}.metric-card{color:inherit;overflow:hidden;position:relative;transition:transform .18s ease,box-shadow .18s ease}.metric-card:hover{box-shadow:0 .75rem 1.5rem var(--calport-shadow)!important;color:inherit;transform:translateY(-3px)}.metric-accent{height:4px;left:1.25rem;right:1.25rem;top:0;border-radius:0 0 3px 3px;position:absolute}.metric-value{color:var(--calport-text);font-size:1.65rem;font-weight:750;letter-spacing:-.025em}.ranking-item{padding:.8rem 0}.ranking-item+.ranking-item{border-top:1px solid var(--calport-border)}.ranking-position{align-items:center;background:rgba(var(--calport-accent-rgb),.18);border-radius:50%;color:var(--calport-text);display:inline-flex;flex:0 0 2rem;font-size:.8rem;font-weight:800;height:2rem;justify-content:center}.ranking-track{background:var(--calport-border);border-radius:1rem;height:.35rem;overflow:hidden}.ranking-track span{background:var(--calport-accent);border-radius:inherit;display:block;height:100%}.min-w-0{min-width:0}.dashboard-empty{align-items:center;color:var(--calport-text-muted);display:flex;justify-content:center;min-height:180px;text-align:center}.summary-row{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1rem .25rem}.summary-row:first-child{padding-top:.35rem}.summary-row:last-child{padding-bottom:.35rem}.alert-card{border-left:0!important}.alert-count{align-items:center;background:rgba(var(--calport-primary-rgb),.07);border-radius:1rem;color:var(--calport-text-muted);display:inline-flex;font-size:1.35rem;font-weight:800;height:3rem;justify-content:center;min-width:3rem}.alert-count.has-alerts{background:rgba(var(--status-warning-rgb),.16);color:var(--status-warning)}[data-bs-theme=dark] .alert-count{background:rgba(255,255,255,.06)}[data-bs-theme=dark] .alert-count.has-alerts{background:rgba(var(--status-warning-rgb),.22);color:#ffb84d}@media(max-width:767.98px){.dashboard-filter .card-body{align-items:stretch!important}.dashboard-filter .me-auto{width:100%}.dashboard-filter .form-control{min-width:0}.dashboard-filter .btn{width:100%}}
