  :root{ --navy:#14213D; --orange:#F97316; --teal:#2EC4B6; }
  html{scroll-behavior:smooth;}
  html,body{margin:0;padding:0;background:#F6F7F9;}
  .ripple{position:relative;overflow:hidden;}
  .ripple-circle{position:absolute;border-radius:50%;transform:scale(0);animation:rippleAnim .6s ease-out;background:rgba(255,255,255,0.5);pointer-events:none;}
  @keyframes rippleAnim{ to{ transform:scale(3); opacity:0; } }
  .skeleton{background:linear-gradient(90deg,#eee 25%,#f5f5f5 37%,#eee 63%);background-size:400% 100%;animation:skeletonShine 1.4s ease infinite;}
  @keyframes skeletonShine{ 0%{background-position:100% 50%;} 100%{background-position:0 50%;} }
  .toast-item{animation:toastIn .25s ease both;}
  @keyframes toastIn{ from{opacity:0;transform:translateY(10px) translateX(-50%);} to{opacity:1;transform:translateY(0) translateX(-50%);} }
  mark.search-hl{background:rgba(249,115,22,0.25);color:inherit;border-radius:3px;padding:0 1px;}
  .font-display{font-family:'Baloo 2','Cairo',sans-serif;}
  .font-body{font-family:'Cairo',sans-serif;}
  .no-scrollbar::-webkit-scrollbar{display:none;}
  .no-scrollbar{-ms-overflow-style:none;scrollbar-width:none;}
  input,textarea,select{font-family:'Cairo',sans-serif;}
  .fade-in{animation:fadeIn .25s ease both;}
  @keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
  .line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .card-hover{transition:transform .18s ease, box-shadow .18s ease;}
  .card-hover:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,33,61,0.12);}
  .cat-link{position:relative;transition:color .15s ease, background-color .15s ease;}
  .cat-link:hover{background-color:rgba(255,255,255,0.08);}
  .cat-link::after{content:"";position:absolute;right:12px;left:12px;bottom:2px;height:2px;background:var(--orange);border-radius:2px;transform:scaleX(0);transition:transform .25s ease;transform-origin:center;}
  .cat-link:hover::after{transform:scaleX(1);}
  .cat-link.active{color:var(--orange);}
  .cat-link.active::after{transform:scaleX(1);}
  .hero-slider{position:relative;overflow:hidden;border-radius:1rem;}
  .marquee-track{display:inline-block;white-space:nowrap;padding-inline-end:2rem;}
  .marquee-track.is-scrolling{animation:marquee 16s linear infinite;}
  .marquee-track.is-static{white-space:normal;padding-inline-end:0;}
  @keyframes marquee{0%{transform:translateX(100%);}100%{transform:translateX(-100%);}}
  @keyframes drawCheck{ to{ stroke-dashoffset:0; } }
  .success-check{animation:popIn .4s cubic-bezier(.34,1.56,.64,1) both;}
  @keyframes popIn{ from{transform:scale(0.4);opacity:0;} to{transform:scale(1);opacity:1;} }
  @media print{
    body *{ visibility:hidden; }
    #printArea, #printArea *{ visibility:visible; }
    #printArea{ position:absolute; inset:0; width:100%; padding:16px; }
  }
