/* Smart Route Pro V77 — resilient, local, high-contrast icon system */
:root{
  --sra-icon-blue:#5aa7ff;--sra-icon-cyan:#31d6d6;--sra-icon-teal:#34d399;
  --sra-icon-green:#54d881;--sra-icon-amber:#f6bd4f;--sra-icon-orange:#ff914d;
  --sra-icon-red:#ff6b73;--sra-icon-pink:#f472b6;--sra-icon-violet:#a78bfa;
  --sra-icon-indigo:#7c9cff;--sra-icon-slate:#9fb0c0;
}
/* Font Awesome is now served locally. These rules guarantee readable glyphs over every legacy layer. */
body i.fa,body i.fas,body i.fa-solid,body i.far,body i.fa-regular{
  opacity:1!important;visibility:visible!important;text-indent:0!important;
  font-style:normal!important;line-height:1!important;
}
body i.fa-school,body i.fa-map,body i.fa-map-marked-alt,body i.fa-location-dot,body i.fa-map-marker-alt{color:var(--sra-icon-blue)}
body i.fa-user-tie,body i.fa-user-clock{color:var(--sra-icon-teal)}
body i.fa-user-graduate,body i.fa-users,body i.fa-user,body i.fa-user-plus{color:var(--sra-icon-violet)}
body i.fa-bus,body i.fa-bus-alt,body i.fa-bus-simple{color:var(--sra-icon-orange)}
body i.fa-route,body i.fa-road,body i.fa-diamond-turn-right{color:var(--sra-icon-cyan)}
body i.fa-brain,body i.fa-robot,body i.fa-wand-magic-sparkles,body i.fa-magic{color:var(--sra-icon-violet)}
body i.fa-folder-open,body i.fa-database,body i.fa-floppy-disk,body i.fa-hard-drive{color:var(--sra-icon-amber)}
body i.fa-layer-group,body i.fa-object-group,body i.fa-table-columns,body i.fa-table-cells-large{color:var(--sra-icon-indigo)}
body i.fa-gauge-high,body i.fa-chart-line,body i.fa-diagram-project{color:var(--sra-icon-green)}
body i.fa-plug,body i.fa-plug-circle-check,body i.fa-server{color:var(--sra-icon-cyan)}
body i.fa-file-pdf,body i.fa-trash,body i.fa-circle-xmark,body i.fa-triangle-exclamation{color:var(--sra-icon-red)}
body i.fa-file-excel,body i.fa-file-export,body i.fa-file-arrow-down,body i.fa-download,body i.fa-upload{color:var(--sra-icon-green)}
body i.fa-pen,body i.fa-pen-ruler,body i.fa-feather-pointed{color:var(--sra-icon-pink)}
body i.fa-magnifying-glass,body i.fa-crosshairs,body i.fa-location-crosshairs{color:var(--sra-icon-blue)}
body i.fa-sun{color:#f6bd4f}body i.fa-moon{color:#8ea8ff}
body i.fa-check,body i.fa-circle-check{color:var(--sra-icon-green)}
body i.fa-circle-info,body i.fa-info-circle,body i.fa-lightbulb{color:var(--sra-icon-cyan)}
body i.fa-bolt,body i.fa-rocket{color:var(--sra-icon-orange)}

/* Sidebar category icons: vivid but controlled, identical in light/dark themes. */
body.sra-webapp-v71 #side .card-icon.menu-icon{
  border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 5px 13px rgba(0,0,0,.12)!important;
}
body.sra-webapp-v71 #side .card-icon.menu-icon i{color:#fff!important;font-size:13px!important;opacity:1!important;visibility:visible!important}
body.sra-webapp-v71 #side .mi-ai{background:linear-gradient(145deg,#7c3aed,#a855f7)!important}
body.sra-webapp-v71 #side .mi-plan{background:linear-gradient(145deg,#d97706,#f59e0b)!important}
body.sra-webapp-v71 #side .mi-school{background:linear-gradient(145deg,#2563eb,#38bdf8)!important}
body.sra-webapp-v71 #side .mi-supervisor{background:linear-gradient(145deg,#0f766e,#2dd4bf)!important}
body.sra-webapp-v71 #side .mi-students{background:linear-gradient(145deg,#7c3aed,#ec4899)!important}
body.sra-webapp-v71 #side .mi-bus{background:linear-gradient(145deg,#ea580c,#fbbf24)!important}
body.sra-webapp-v71 #side .mi-route{background:linear-gradient(145deg,#0284c7,#14b8a6)!important}
body.sra-webapp-v71 #side .mi-run{background:linear-gradient(145deg,#dc2626,#fb923c)!important}
body.sra-webapp-v71 #side .mi-links{background:linear-gradient(145deg,#4f46e5,#38bdf8)!important}
body.sra-webapp-v71 #side .mi-list{background:linear-gradient(145deg,#334155,#0ea5e9)!important}

/* Critical icon-only controls always remain visible. */
body.sra-webapp-v71 .icon-only i,
body.sra-webapp-v71 .header-btn i,
body.sra-webapp-v71 .theme-toggle i,
body.sra-webapp-v71 .sra-sidebar-toggle i{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  opacity:1!important;visibility:visible!important;text-indent:0!important;
}


/* V77 final icon layer — intentionally loaded last, after every legacy stylesheet. */
body.sra-webapp-v71 #side .card-icon.menu-icon{
  display:grid!important;place-items:center!important;visibility:visible!important;opacity:1!important;
  width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;
  border-radius:9px!important;overflow:visible!important;text-indent:0!important;font-size:14px!important;line-height:1!important;
  color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;
}
body.sra-webapp-v71 #side .card-icon.menu-icon i,
body.sra-webapp-v71 #side .card-icon.menu-icon i::before{
  display:inline-block!important;visibility:visible!important;opacity:1!important;color:#fff!important;
  font-size:14px!important;line-height:1!important;text-indent:0!important;font-family:"Font Awesome 6 Free"!important;font-weight:900!important;
}
body.sra-webapp-v71.sra-sidebar-collapsed #side>.card>.card-header>.card-title>.card-icon.menu-icon{
  display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;
  margin:0!important;border-radius:11px!important;visibility:visible!important;opacity:1!important;overflow:visible!important;text-indent:0!important;
}
body.sra-webapp-v71.sra-sidebar-collapsed #side>.card>.card-header>.card-title>.card-icon.menu-icon i,
body.sra-webapp-v71.sra-sidebar-collapsed #side>.card>.card-header>.card-title>.card-icon.menu-icon i::before{
  display:inline-block!important;visibility:visible!important;opacity:1!important;font-size:16px!important;line-height:1!important;color:#fff!important;text-indent:0!important;
}

/* Sidebar icons now use the same visual language as the map-layer rail: colored glyph + quiet surface. */
body.sra-webapp-v71 #side .card-icon.menu-icon{
  background:color-mix(in srgb,var(--sra-surface) 82%,transparent)!important;
  border:1px solid color-mix(in srgb,currentColor 20%,var(--sra-line))!important;
  box-shadow:none!important;
}
body.sra-webapp-v71 #side .card-icon.menu-icon i{color:currentColor!important}
body.sra-webapp-v71 #side .mi-ai{color:var(--sra-icon-violet)!important}
body.sra-webapp-v71 #side .mi-plan{color:var(--sra-icon-amber)!important}
body.sra-webapp-v71 #side .mi-school{color:var(--sra-icon-blue)!important}
body.sra-webapp-v71 #side .mi-supervisor{color:var(--sra-icon-teal)!important}
body.sra-webapp-v71 #side .mi-students{color:var(--sra-icon-violet)!important}
body.sra-webapp-v71 #side .mi-bus{color:var(--sra-icon-orange)!important}
body.sra-webapp-v71 #side .mi-route{color:var(--sra-icon-cyan)!important}
body.sra-webapp-v71 #side .mi-run{color:var(--sra-icon-red)!important}
body.sra-webapp-v71 #side .mi-links{color:var(--sra-icon-indigo)!important}
body.sra-webapp-v71 #side .mi-list{color:var(--sra-icon-slate)!important}
body.sra-webapp-v71 #side .card-icon.menu-icon i,
body.sra-webapp-v71.sra-sidebar-collapsed #side>.card>.card-header>.card-title>.card-icon.menu-icon i,
body.sra-webapp-v71 #side .card-icon.menu-icon i::before,
body.sra-webapp-v71.sra-sidebar-collapsed #side>.card>.card-header>.card-title>.card-icon.menu-icon i::before{
  color:currentColor!important;
}

/* ========================================================================== 
   Smart Route Pro V78 — sidebar icons use local SVG assets (no font dependency)
   ========================================================================== */
body.sra-webapp-v71 #side .card-icon.menu-icon{
  display:grid!important;
  place-items:center!important;
  width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;
  border-radius:10px!important;
  background-color:color-mix(in srgb,var(--sra-surface) 88%,transparent)!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:25px 25px!important;
  border:1px solid color-mix(in srgb,var(--sra-line) 88%,transparent)!important;
  box-shadow:none!important;
  visibility:visible!important;opacity:1!important;
  overflow:visible!important;
}
body.sra-webapp-v71 #side .card-icon.menu-icon>i{display:none!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-ai{background-image:url("../../../gis-icons/menu-ai.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-plan{background-image:url("../../../gis-icons/menu-plans.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-school{background-image:url("../../../gis-icons/menu-school.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-supervisor{background-image:url("../../../gis-icons/menu-supervisor.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-students{background-image:url("../../../gis-icons/menu-students.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-bus{background-image:url("../../../gis-icons/menu-bus-settings.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-route{background-image:url("../../../gis-icons/menu-route.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-run{background-image:url("../../../gis-icons/menu-run.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-links{background-image:url("../../../gis-icons/menu-links.svg")!important}
body.sra-webapp-v71 #side .card-icon.menu-icon.mi-list{background-image:url("../../../gis-icons/menu-list.svg")!important}
body.sra-webapp-v71.sra-sidebar-collapsed #side>.card>.card-header>.card-title>.card-icon.menu-icon{
  display:grid!important;place-items:center!important;
  width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;
  background-size:30px 30px!important;
  background-color:color-mix(in srgb,var(--sra-surface) 92%,transparent)!important;
  border-radius:12px!important;
  visibility:visible!important;opacity:1!important;
}
/* Keep title text intact when expanded; icon and text never fight for visibility. */
body.sra-webapp-v71:not(.sra-sidebar-collapsed) #side .card-title{
  display:flex!important;align-items:center!important;gap:9px!important;color:var(--sra-text)!important;
  font-size:inherit!important;line-height:1.3!important;text-indent:0!important;
}
