html,body,#root{height:100%;margin:0}.app-root{height:100dvh;overflow:hidden;display:flex}.sidebar{position:fixed;top:0;left:0;width:300px;height:100dvh;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;box-sizing:border-box;background:#1f1f1f;color:#fff;z-index:1050;transform:translate(0);transition:transform .25s ease;overflow:hidden}.sidebar.closed{transform:translate(-110%)}.sidebar-top{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.sidebar-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;padding-right:.25rem}.sidebar-bottom{flex:0 0 auto;margin-top:.5rem}.sidebar-toggle{position:fixed;top:12px;left:8px;z-index:1070;width:40px;height:40px;padding:0}.content{margin-left:300px;height:100dvh;width:100%;overflow:auto;-webkit-overflow-scrolling:touch;transition:margin-left .25s ease;box-sizing:border-box}@media(max-width:991px){.sidebar{width:80%;max-width:320px}.content{margin-left:0!important}}* Links del sidebar */ .sidebar .nav-link{transition:all .2s ease;border-radius:6px;padding:6px 10px}.sidebar .nav-link:hover{background-color:#3a3a3a;transform:translate(6px);box-shadow:inset 3px 0 #0dcaf0;border-radius:0 6px 6px 0}.sidebar .list-unstyled .nav-link{font-size:.95em}.sidebar a.nav-link[role=button]{transition:all .2s ease}.sidebar a.nav-link[role=button]:hover{background-color:#3a3a3a;transform:translate(6px)}.active{border-left:4px solid #0dcaf0}.funnel-display-h1{font-family:Funnel Display,sans-serif;font-optical-sizing:auto;font-weight:400;font-style:normal;font-size:x-large}.submenu{max-height:0;overflow:hidden;opacity:0;transition:all .35s ease}.submenu.open{max-height:500px;opacity:1}.arrow{display:inline-block;transition:transform .3s ease}.arrow.rotate{transform:rotate(180deg)}.submenu li{transform:translateY(-5px);opacity:0;transition:all .2s ease}.submenu.open li{transform:translateY(0);opacity:1}.clear-filters-btn{border:none;background:transparent;color:#dc3545;font-size:1.4rem;line-height:1;padding:6px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.clear-filters-btn:hover{background-color:#dc35451a;transform:scale(1.15)}.clear-filters-btn:focus{outline:none;box-shadow:0 0 0 3px #dc354580}@media(min-width:576px){.clear-filters-btn{margin-top:8px}}.dashboard-page{min-height:100%}.dashboard-intro{max-width:980px}.dashboard-title{font-size:clamp(2rem,2.5vw,2.8rem);font-weight:700}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.dashboard-card{background:#ffffffbf;border:1px solid rgba(255,255,255,.55);border-radius:22px;box-shadow:0 24px 60px #0f172a14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 32px 90px #0f172a24;border-color:#ffffffd9}.user-info{transition:transform .25s ease,box-shadow .25s ease!important}.user-info:hover{transform:translateY(-4px)!important;box-shadow:0 32px 90px #0f172a24!important}.widget-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.widget-badge{background:#0d6efd1a;color:#0d6efd;border-radius:999px;padding:.55rem .9rem;font-size:.85rem;font-weight:600}.widget-chart{min-height:260px}.widget-placeholder{min-height:260px;display:flex;align-items:center;justify-content:center;gap:.75rem;border-radius:18px;background:#f8f9fab8}.widget-content{flex:1;min-height:0;max-height:400px;overflow-y:auto;padding-right:4px}.no-scroll .widget-content{overflow:visible;max-height:none}.legend-item{padding:.85rem .9rem;border-radius:16px;background:#f8f9fab8}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.license-feed{max-height:420px;overflow:auto}.license-item{border-radius:18px;background:#f8f9fae6;margin-bottom:.5rem}.license-item:last-child{margin-bottom:0}.widget-wide{grid-column:span 2}.widget-tall{grid-row:span 2}@media(max-width:768px){.widget-wide{grid-column:span 1}}.next-trip-action-button{width:36px;height:36px;padding:0;transition:transform .2s ease,box-shadow .2s ease}.next-trip-action-button:hover{transform:translateY(-1px) scale(1.08);box-shadow:0 4px 12px #0000002e}
