:root {
  --bg: #f4f6fb;
  --panel: #ffffff;
  --text: #101b3d;
  --muted: #69748c;
  --line: #e3e8f2;
  --primary: #080e49;
  --primary2: #111c67;
}
html, body, #root { min-height:100%; }
body { margin:0; background:#f4f6fb; color:#101b3d; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button, input, select, textarea { font:inherit; }
button { transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease; }
button:hover { transform:translateY(-1px); }
.brand-mark {
  background-color:#fff !important;
  background-image:url("./assets/comstech-logo.png");
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  font-size:0 !important;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 5px 18px rgba(5,12,67,.18);
}
aside { box-shadow: 8px 0 30px rgba(8,14,73,.06); }
aside a[aria-current="page"] {
  background:linear-gradient(135deg,#17236f,#080e49) !important;
  box-shadow:0 7px 18px rgba(8,14,73,.18) !important;
}
header {
  backdrop-filter: blur(14px);
  box-shadow:0 4px 18px rgba(16,27,61,.025);
}
main { scroll-behavior:smooth; }
main > div { animation:comstech-enter .24s ease-out both; }
@keyframes comstech-enter { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
input:focus, textarea:focus, select:focus {
  outline:none;
  border-color:#17236f !important;
  box-shadow:0 0 0 3px rgba(23,35,111,.10);
}
@media (max-width: 900px) {
  aside { width:76px !important; }
  aside > div:first-child { justify-content:center !important; padding-left:12px !important; padding-right:12px !important; }
  aside > div:first-child > div:last-child { display:none !important; }
  aside nav a { justify-content:center !important; padding-left:8px !important; padding-right:8px !important; }
  aside nav a span, aside nav a .nav-label { display:none !important; }
  aside nav a svg { flex-shrink:0; }
  aside > div:nth-child(2) > div > div:first-child { display:none !important; }
  aside > div:nth-child(2) { padding-left:8px !important; padding-right:8px !important; }
  .app-main, body #root > div > div { margin-left:76px !important; }
  .app-content { padding:20px !important; }
  header { padding-left:18px !important; padding-right:18px !important; }
}
@media (max-width: 560px) {
  aside { width:58px !important; }
  aside nav a { padding:10px 5px !important; }
  .app-main, body #root > div > div { margin-left:58px !important; }
  .app-content { padding:12px !important; }
  header { height:auto !important; min-height:64px; gap:10px; padding:12px !important; flex-wrap:wrap; }
  header > div:first-child { width:min(100%, 100%) !important; }
  header input { font-size:11px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
