:root{
  --iws-navy: #0A1440;
  --iws-navy-2: #122159;
  --iws-blue: #1751F2;
  --iws-blue-dark: #0F3DBF;
  --iws-teal: #00C2A8;
  --iws-bg: #F5F7FB;
  --iws-surface: #FFFFFF;
  --iws-text: #1B2436;
  --iws-muted: #6B7688;
  --iws-border: #E4E8F0;
  --radius: 10px;

  --iws-nav-bg: #FFFFFF;
  --iws-nav-border: #E4E8F0;
  --iws-nav-text: #4A5468;
  --iws-nav-text-strong: #0A1440;
  --iws-sidebar-bg: #FFFFFF;
  --iws-sidebar-text: #4A5468;
  --iws-sidebar-active-bg: #EEF3FF;
  --iws-footer-bg: #F0F3FA;
  --iws-footer-border: #E4E8F0;
  --iws-footer-text: #4A5468;
  --iws-footer-heading: #0A1440;
  --iws-hero-bg-1: #EAF0FF;
  --iws-hero-bg-2: #F5F7FB;
  --iws-hero-text: #0A1440;
  --iws-hero-muted: #4A5468;
}

[data-theme="dark"]{
  --iws-bg: #0B1220;
  --iws-surface: #141B2E;
  --iws-text: #E6EAF2;
  --iws-muted: #98A2B8;
  --iws-border: #232B42;

  --iws-nav-bg: #0A1440;
  --iws-nav-border: #1E2A50;
  --iws-nav-text: #C7D0E0;
  --iws-nav-text-strong: #FFFFFF;
  --iws-sidebar-bg: #0A1440;
  --iws-sidebar-text: #C7D0E0;
  --iws-sidebar-active-bg: rgba(255,255,255,.08);
  --iws-footer-bg: #060B24;
  --iws-footer-border: #1E2A50;
  --iws-footer-text: #AFC0DE;
  --iws-footer-heading: #FFFFFF;
  --iws-hero-bg-1: var(--iws-navy-2);
  --iws-hero-bg-2: var(--iws-navy);
  --iws-hero-text: #FFFFFF;
  --iws-hero-muted: #AFC0DE;
}
[data-theme="dark"] body{background:var(--iws-bg); color:var(--iws-text);}
[data-theme="dark"] .iws-card, [data-theme="dark"] .iws-stat-card, [data-theme="dark"] .invoice-box, [data-theme="dark"] .plan-card{
  background:var(--iws-surface); border-color:var(--iws-border); color:var(--iws-text);
}
[data-theme="dark"] .plan-card-header{background:#1A2340;}
[data-theme="dark"] .table-iws{color:var(--iws-text);}
[data-theme="dark"] .table-iws tbody tr{background:var(--iws-surface); border-color:var(--iws-border);}
[data-theme="dark"] .form-control, [data-theme="dark"] .form-select{
  background:var(--iws-surface); border-color:var(--iws-border); color:var(--iws-text);
}
[data-theme="dark"] .form-control:focus, [data-theme="dark"] .form-select:focus{background:var(--iws-surface); color:var(--iws-text);}
[data-theme="dark"] .dropdown-menu{background:var(--iws-surface); border-color:var(--iws-border);}
[data-theme="dark"] .dropdown-item{color:var(--iws-text);}
[data-theme="dark"] .dropdown-item:hover{background:var(--iws-navy-2); color:#fff;}
[data-theme="dark"] .chat-window{background:#0D1530; border-color:var(--iws-border);}
[data-theme="dark"] .chat-bubble.them{background:var(--iws-surface); border-color:var(--iws-border); color:var(--iws-text);}
[data-theme="dark"] .text-dark{color:var(--iws-text) !important;}
[data-theme="dark"] .text-muted{color:var(--iws-muted) !important;}
[data-theme="dark"] .payment-box{background:var(--iws-surface);}
[data-theme="dark"] .copy-field{background:var(--iws-navy-2); color:var(--iws-text); border-color:var(--iws-border);}
[data-theme="dark"] section[style*="background:#fff"]{background:var(--iws-surface) !important;}
[data-theme="dark"] .navbar-toggler-icon{filter:invert(1);}
[data-theme="dark"] .iws-promo-badge{background:var(--iws-surface); color:var(--iws-text); border-color:var(--iws-border);}
[data-theme="dark"] .btn-close{filter:invert(1);}
[data-theme="dark"] .iws-pricing-card, [data-theme="dark"] .iws-pricing-select-wrap select{background:var(--iws-surface); border-color:var(--iws-border); color:var(--iws-text);}
[data-theme="dark"] .iws-pricing-hero{background:linear-gradient(180deg, var(--iws-navy-2), var(--iws-bg));}

*{box-sizing:border-box;}
html{overflow-x:hidden; width:100%;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--iws-bg);
  color:var(--iws-text);
  -webkit-tap-highlight-color:transparent;
  overflow-x:hidden; width:100%; position:relative;
}
button, a, .navbar-toggler, .iws-theme-toggle{-webkit-tap-highlight-color:transparent;}
h1,h2,h3,h4,h5,h6{font-weight:700; letter-spacing:-0.01em;}
a{text-decoration:none;}

/* Navbar */
.iws-navbar{
  background:var(--iws-nav-bg);
  border-bottom:1px solid var(--iws-nav-border);
  padding:.7rem 0;
}
.iws-navbar .navbar-brand{
  color:var(--iws-nav-text-strong); font-weight:800; font-size:1.15rem; letter-spacing:-0.01em;
  display:flex; align-items:center; gap:.55rem; white-space:nowrap; flex-shrink:0; overflow:visible;
}
.iws-navbar .navbar-brand-logo{
  width:34px; height:34px; border-radius:50%; object-fit:cover; flex-shrink:0;
}
@media (max-width:991.98px){
  .iws-theme-toggle, .iws-quote-icon-btn{width:34px; height:34px; flex-shrink:0;}
}
.iws-navbar .navbar-toggler,
.iws-navbar .navbar-toggler:hover,
.iws-navbar .navbar-toggler:focus,
.iws-navbar .navbar-toggler:active,
.iws-navbar .navbar-toggler:focus-visible,
.iws-navbar .navbar-toggler.show{
  --bs-navbar-toggler-focus-width: 0px;
  border:1px solid var(--iws-nav-border) !important;
  box-shadow:none !important;
  outline:none !important;
  background-color:transparent !important;
  padding:.3rem .5rem;
  -webkit-tap-highlight-color:transparent;
}
.iws-navbar .navbar-brand span{color:var(--iws-blue);}
.iws-navbar .nav-link{color:var(--iws-nav-text) !important; font-weight:500; padding:.5rem .85rem !important;}
.iws-navbar .nav-link:hover, .iws-navbar .nav-link.active{color:var(--iws-blue) !important;}
.iws-icon-btn{
  color:var(--iws-nav-text); position:relative; font-size:1.2rem; margin-left:.5rem; background:none; border:none; cursor:pointer;
}
.iws-icon-btn:hover{color:var(--iws-blue);}
.iws-icon-btn.dropdown-toggle::after{display:none;}
.iws-theme-toggle{
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--iws-bg); border:1px solid var(--iws-border); color:var(--iws-nav-text-strong);
  font-size:1rem; margin-left:.5rem; cursor:pointer; transition:.2s;
}
.iws-theme-toggle:hover{background:var(--iws-blue); color:#fff; border-color:var(--iws-blue); transform:rotate(15deg);}
.iws-theme-toggle:focus, .iws-theme-toggle:active{outline:none !important; box-shadow:none !important;}
.iws-quote-icon-btn{
  background:#FF6A3D; border-color:#FF6A3D; color:#fff;
  animation:iwsQuotePulse 2s ease-in-out infinite;
}
.iws-quote-icon-btn:hover{background:#FF5722; border-color:#FF5722; color:#fff; transform:scale(1.1) rotate(0deg); animation-play-state:paused;}
@keyframes iwsQuotePulse{
  0%, 100%{box-shadow:0 0 0 0 rgba(255,106,61,.5); transform:scale(1);}
  50%{box-shadow:0 0 0 6px rgba(255,106,61,0); transform:scale(1.08);}
}
.iws-chat-sound-toggle{
  width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--iws-bg); border:1px solid var(--iws-border); color:var(--iws-blue);
  font-size:.95rem; cursor:pointer; flex-shrink:0; transition:.15s;
}
.iws-chat-sound-toggle:hover{background:var(--iws-blue); color:#fff; border-color:var(--iws-blue);}
.iws-chat-sound-toggle.muted{color:var(--iws-muted);}
.iws-chat-sound-toggle-light{background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.3); color:#fff;}
.iws-chat-sound-toggle-light:hover{background:rgba(255,255,255,.3);}
.iws-chat-sound-toggle-light.muted{color:rgba(255,255,255,.6);}
.iws-badge{
  position:absolute; top:-6px; right:-8px; background:var(--iws-teal);
  color:#04241f; font-size:.65rem; font-weight:700; border-radius:50px;
  padding:1px 5px; line-height:1.3;
}
.dropdown-item.active, .dropdown-item:active{background-color:var(--iws-blue) !important; color:#fff !important;}
.iws-notif-item{border-bottom:1px solid var(--iws-border);}
.iws-notif-item:last-child{border-bottom:none;}
.iws-notif-close{
  background:none; border:none; color:var(--iws-muted); font-size:1rem; line-height:1;
  padding:.4rem; flex-shrink:0; cursor:pointer; border-radius:6px;
}
.iws-notif-close:hover{background:#F0F3FA; color:#842029;}

/* Buttons */
.btn-iws{
  background:linear-gradient(135deg, var(--iws-blue), var(--iws-teal));
  color:#fff; border:none; font-weight:600; border-radius:8px;
  padding:.6rem 1.4rem; transition:.2s;
}
.btn-iws:hover{filter:brightness(1.08); color:#fff;}
.btn-outline-iws{
  border:1.5px solid var(--iws-blue); color:var(--iws-blue); font-weight:600;
  border-radius:8px; background:transparent; padding:.55rem 1.3rem;
}
.btn-outline-iws:hover{background:var(--iws-blue); color:#fff;}

.iws-kb-marquee{
  display:flex; align-items:center; background:var(--iws-navy); color:#fff;
  border-bottom:1px solid rgba(255,255,255,.1);
  width:100%; max-width:100vw; overflow:hidden; box-sizing:border-box;
}
.iws-kb-marquee-label{
  flex-shrink:0; background:var(--iws-teal); color:#04241f; font-weight:700; font-size:.78rem;
  padding:.6rem 1rem; white-space:nowrap;
}
.iws-kb-marquee-track{overflow:hidden; flex-grow:1; min-width:0; padding:.6rem 0;}
.iws-kb-marquee-content{display:inline-flex; gap:2.5rem; white-space:nowrap; animation:iwsMarqueeScroll 30s linear infinite; padding-left:100%;}
.iws-kb-marquee-content a{color:#fff; font-size:.85rem; text-decoration:none;}
.iws-kb-marquee-content a:hover{text-decoration:none; color:var(--iws-teal);}
.iws-kb-marquee:hover .iws-kb-marquee-content{animation-play-state:paused;}
@keyframes iwsMarqueeScroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}

/* Hero */
.iws-hero{
  background:radial-gradient(circle at 20% 20%, var(--iws-hero-bg-1) 0%, var(--iws-hero-bg-2) 60%);
  color:var(--iws-hero-text); padding:5rem 0 6rem;
  position:relative; overflow:hidden; transition:background .2s, color .2s;
}
.iws-top-banner-strip + .iws-hero,
.iws-strip-banner + .iws-hero{
  padding-top:2rem;
}
.iws-hero .eyebrow{
  color:var(--iws-blue); letter-spacing:.14em; font-size:.78rem; font-weight:700; text-transform:uppercase;
}
.iws-hero h1{font-size:2.75rem; color:var(--iws-hero-text);}
.iws-hero p.lead{color:var(--iws-hero-muted);}
.iws-hero .text-white-50{color:var(--iws-hero-muted) !important;}
.iws-search-box{
  background:var(--iws-surface); border-radius:12px; padding:.4rem; display:flex; gap:.4rem; flex-wrap:wrap;
  box-shadow:0 20px 40px rgba(10,20,60,.12);
}
.iws-search-box input{border:none; flex:1; min-width:180px; padding:.7rem 1rem; border-radius:8px; outline:none; background:transparent; color:var(--iws-text);}
.iws-hero-search-input{
  padding:.9rem 1.2rem; border-radius:12px; border:1px solid var(--iws-border); background:var(--iws-surface);
  box-shadow:0 20px 40px rgba(10,20,60,.12); color:var(--iws-text);
}
.iws-hero-search-input:focus{outline:none; border-color:var(--iws-blue); box-shadow:0 0 0 3px rgba(23,81,242,.15);}

/* Hero showcase (animated, admin-managed image/icon cycler) */
.hero-showcase{position:relative; height:calc(var(--hero-showcase-size, 180px) + 160px); perspective:1200px;}
.hero-showcase-item{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  opacity:0; pointer-events:none; transition:opacity .6s ease, transform .6s ease;
}
.hero-showcase-item.active{opacity:1; pointer-events:auto;}

/* Motion: fade & scale (default) */
.hero-showcase[data-motion="fade"] .hero-showcase-item{transform:scale(.88) translateY(10px);}
.hero-showcase[data-motion="fade"] .hero-showcase-item.active{transform:scale(1) translateY(0);}

/* Motion: slide */
.hero-showcase[data-motion="slide"] .hero-showcase-item{transform:translateX(60px);}
.hero-showcase[data-motion="slide"] .hero-showcase-item.active{transform:translateX(0);}

/* Motion: zoom pop */
.hero-showcase[data-motion="zoom"] .hero-showcase-item{transform:scale(.4);}
.hero-showcase[data-motion="zoom"] .hero-showcase-item.active{transform:scale(1);}

/* Motion: 3D flip */
.hero-showcase[data-motion="flip"] .hero-showcase-item{transform:rotateY(90deg); transition:opacity .5s ease, transform .5s ease;}
.hero-showcase[data-motion="flip"] .hero-showcase-item.active{transform:rotateY(0deg);}

.hero-showcase-icon{
  width:var(--hero-showcase-size, 180px); height:var(--hero-showcase-size, 180px); border-radius:50%;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.9), rgba(255,255,255,.4) 60%), rgba(0,194,168,.12);
  border:2px solid rgba(0,194,168,.35); font-size:calc(var(--hero-showcase-size, 180px) * 0.42); color:var(--iws-teal); margin-bottom:1.2rem;
  box-shadow:0 20px 50px rgba(11,30,60,.12);
}
.hero-showcase-icon img{width:100%; height:100%; object-fit:cover; border-radius:inherit;}

/* Shape: square (sharp-ish rounded corners) */
.hero-showcase[data-shape="square"] .hero-showcase-icon{border-radius:14px;}

/* Shape: rounded square (softer corners) */
.hero-showcase[data-shape="rounded"] .hero-showcase-icon{border-radius:calc(var(--hero-showcase-size, 180px) * 0.22);}

/* Shape: rectangle (wider than tall) */
.hero-showcase[data-shape="rectangle"] .hero-showcase-icon{
  width:calc(var(--hero-showcase-size, 180px) * 1.35); height:var(--hero-showcase-size, 180px); border-radius:16px;
}
.hero-showcase-label{font-size:1.15rem; font-weight:700; color:var(--iws-hero-text);}
.hero-showcase-dots{display:flex; justify-content:center; gap:.4rem; margin-top:.5rem;}
.hero-showcase-dot{width:8px; height:8px; border-radius:50%; background:rgba(10,20,64,.15); transition:.3s;}
.hero-showcase-dot.active{background:var(--iws-teal); width:22px; border-radius:5px;}

/* Cards */
.iws-card{
  background:#fff; border:1px solid var(--iws-border); border-radius:var(--radius);
  padding:1.5rem; transition:.2s;
}
.iws-card.d-flex{height:100%;}
.iws-card:hover{box-shadow:0 12px 30px rgba(11,30,60,.08); transform:translateY(-3px);}
.iws-card .icon-wrap{
  width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:rgba(46,107,255,.1); color:var(--iws-blue); font-size:1.4rem; margin-bottom:1rem;
}
.iws-category-card-img{border-radius:12px; object-fit:cover; flex-shrink:0;}
.iws-price{font-size:1.9rem; font-weight:800; color:var(--iws-blue);}
.iws-price small{font-size:.9rem; font-weight:500; color:var(--iws-muted);}
.feature-list{list-style:none; padding:0; margin:1rem 0;}
.iws-pricing-hero{background:linear-gradient(180deg, var(--iws-hero-bg-1), var(--iws-bg)); padding:3.5rem 0 2rem; border-bottom:1px solid var(--iws-border);}
.iws-pricing-select-wrap{
  max-width:420px; margin:0 auto; position:relative; display:flex; align-items:center;
}
.iws-pricing-select-wrap i{position:absolute; left:1rem; color:var(--iws-blue); font-size:1.1rem; pointer-events:none; z-index:2;}
.iws-pricing-select-wrap select{
  width:100%; padding:.85rem 1.2rem .85rem 2.8rem; border-radius:50px; border:1px solid var(--iws-border);
  background:var(--iws-surface); color:var(--iws-text); font-weight:600; font-size:.95rem;
  box-shadow:0 10px 30px rgba(10,20,60,.08); appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%234A5468' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1.2rem center;
}
.iws-pricing-select-wrap select:focus{outline:none; border-color:var(--iws-blue); box-shadow:0 0 0 3px rgba(23,81,242,.15);}

.iws-pricing-card{
  background:var(--iws-surface); border:1px solid var(--iws-border); border-radius:16px; padding:2rem 1.75rem;
  position:relative; transition:.2s; overflow:hidden;
}
.iws-pricing-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(10,20,60,.1);}
.iws-pricing-card.popular{border:2px solid var(--iws-blue); box-shadow:0 20px 45px rgba(23,81,242,.15);}
.iws-pricing-ribbon{
  position:absolute; top:18px; right:-38px; width:160px; background:var(--iws-blue); color:#fff; font-size:.7rem; font-weight:700;
  padding:.4rem 0; transform:rotate(45deg); letter-spacing:.03em; text-align:center;
}
.iws-pricing-card-name{font-size:1.15rem; font-weight:700; color:var(--iws-text); margin-bottom:.35rem;}
.iws-pricing-card-desc{color:var(--iws-muted); font-size:.85rem; min-height:2.2em; margin-bottom:1.25rem;}
.iws-pricing-card-price{font-size:2.1rem; font-weight:800; color:var(--iws-blue); margin-bottom:1.25rem; line-height:1;}
.iws-pricing-card-price span{font-size:.85rem; font-weight:500; color:var(--iws-muted);}
.iws-pricing-card-feats{list-style:none; padding:0; margin:0;}
.iws-pricing-card-feats li{display:flex; align-items:flex-start; gap:.55rem; padding:.5rem 0; border-bottom:1px dashed var(--iws-border); font-size:.88rem; color:var(--iws-text);}
.iws-pricing-card-feats li:last-child{border-bottom:none;}
.iws-pricing-card-feats li i{color:var(--iws-teal); margin-top:.2rem; flex-shrink:0;}
.iws-nav-item-row.dragging{opacity:.4;}
.iws-nav-drag-handle{cursor:grab; color:var(--iws-muted); font-size:1.1rem;}
.iws-nav-drag-handle:active{cursor:grabbing;}
.iws-nav-sub-list{border-left:2px dashed var(--iws-border); padding-left:.5rem;}
.iws-strip-banner{width:100%; max-height:var(--sb-height, 110px); overflow:hidden; position:relative; background:var(--iws-navy);}
.iws-strip-banner .carousel-item{position:relative;}
.iws-strip-banner .carousel-item img{width:100%; height:var(--sb-height, 110px); object-fit:cover; display:block;}
@media (max-width:768px){
  .iws-strip-banner{max-height:calc(var(--sb-height, 110px) * 0.65);}
  .iws-strip-banner .carousel-item img{height:calc(var(--sb-height, 110px) * 0.65);}
}
.iws-project-card{background:var(--iws-surface); border:1px solid var(--iws-border); border-radius:14px; overflow:hidden; transition:.2s;}
.iws-project-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(10,20,60,.1);}
.iws-project-img{position:relative; aspect-ratio:16/10; background:var(--iws-bg); overflow:hidden;}
.iws-project-img img{width:100%; height:100%; object-fit:cover;}
.iws-project-img-placeholder{width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:2.5rem; color:var(--iws-muted);}
.iws-project-badge{position:absolute; top:10px; right:10px; font-size:.7rem; font-weight:700; padding:.3rem .7rem; border-radius:50px; color:#fff;}
.iws-project-badge.completed{background:var(--iws-teal);}
.iws-project-badge.upcoming{background:#FF6A3D;}
.iws-top-banner-strip{width:100%; line-height:0; position:relative; min-height:var(--tb-height, 180px); background:var(--iws-navy); display:flex; align-items:center; justify-content:center;}
.iws-top-banner-strip img{width:100%; height:var(--tb-height, 180px); object-fit:cover; display:block;}
.iws-top-banner-strip a{display:block; width:100%; position:relative;}
.iws-top-banner-text{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2;
  color:#fff; font-weight:700; font-size:clamp(.75rem, 2.6vw, 1.1rem); text-align:center; line-height:1.3;
  text-shadow:0 2px 8px rgba(0,0,0,.5); padding:0 1rem; width:100%;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
@media (max-width:576px){
  .iws-top-banner-strip{min-height:calc(var(--tb-height, 180px) * 0.55);}
  .iws-top-banner-strip img{height:calc(var(--tb-height, 180px) * 0.55);}
  .iws-top-banner-text{padding:0 .5rem;}
}
.iws-app-promo{
  background:linear-gradient(120deg, var(--iws-navy), var(--iws-blue-dark)); border-radius:20px;
  padding:3rem; overflow:hidden; position:relative;
}
.iws-app-promo-icon{font-size:9rem; color:rgba(255,255,255,.15);}
.iws-app-promo-imgwrap{display:inline-block; animation:iwsFloat 3.5s ease-in-out infinite;}
.iws-app-promo-imgwrap img{
  width:100%; max-width:var(--app-promo-size, 340px); aspect-ratio:4/3; object-fit:cover; border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.15);
}
@keyframes iwsFloat{
  0%, 100%{transform:translateY(0px);}
  50%{transform:translateY(-14px);}
}
.iws-playstore-btn{
  display:inline-flex; align-items:center; gap:.7rem; background:#000; color:#fff; border-radius:10px;
  padding:.65rem 1.3rem; text-decoration:none; transition:.15s; border:1px solid rgba(255,255,255,.2);
}
.iws-playstore-btn:hover{background:#1a1a1a; color:#fff; transform:translateY(-2px);}
.iws-playstore-btn i{font-size:1.8rem;}
.iws-playstore-btn small{display:block; font-size:.65rem; letter-spacing:.03em; color:rgba(255,255,255,.75); line-height:1.2;}
.iws-playstore-btn strong{display:block; font-size:1.05rem; line-height:1.2;}
.iws-section-divider{border-top:1px dashed var(--iws-border); margin:0 auto;}
.feature-list li{padding:.3rem 0; color:var(--iws-text); font-size:.92rem;}
.feature-list li i{color:var(--iws-teal); margin-right:.5rem;}

/* Plan card (product/hosting plan tiles) */
.plan-card{
  background:#fff; border:1px solid var(--iws-border); border-radius:var(--radius);
  overflow:hidden; transition:.2s;
}
.plan-card.d-flex{height:100%;}
.plan-card:hover{box-shadow:0 12px 30px rgba(11,30,60,.08); transform:translateY(-3px);}
.plan-card-header{
  background:#F4F6FA; border-bottom:1px solid var(--iws-border); padding:1rem 1.5rem;
}
.plan-card-header h5{margin:0; color:var(--iws-nav-text-strong); font-size:1.05rem;}
.plan-card-body{padding:1.5rem;}
.plan-card .feature-list li{color:#B8790D; font-weight:500; font-size:.88rem;}
.plan-card .feature-list li i{color:#B8790D;}
.btn-order{
  background:#28A745; color:#fff; border:none; font-weight:600; border-radius:8px;
  padding:.6rem 1.4rem; transition:.2s;
}
.btn-order:hover{background:#218838; color:#fff;}
.plan-filter-btn{
  border:1.5px solid var(--iws-border); background:#fff; color:var(--iws-muted); font-weight:600;
  border-radius:50px; padding:.5rem 1.4rem; transition:.15s;
}
.plan-filter-btn:hover{border-color:var(--iws-blue); color:var(--iws-blue);}
.plan-filter-btn.active{background:var(--iws-blue); border-color:var(--iws-blue); color:#fff;}

.badge-featured{
  background:var(--iws-teal); color:#04241f; font-weight:700; font-size:.68rem;
  padding:.3rem .6rem; border-radius:50px; text-transform:uppercase; letter-spacing:.05em;
}
.badge-featured-star{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:50%; background:#28A745; color:#fff; font-size:.8rem; flex-shrink:0;
}

/* Section title */
.section-eyebrow{color:var(--iws-blue); font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em;}

/* Mobile dashboard menu (dropdown replaces sidebar below lg) */
.iws-mobile-menu-bar{
  display:flex; justify-content:flex-end; align-items:center;
  padding:.75rem 1rem; background:var(--iws-surface); border-bottom:1px solid var(--iws-border);
}
.iws-mobile-menu-bar .dropdown-menu{max-height:70vh; overflow-y:auto;}

/* Ensure dashboard content column takes full width below the lg breakpoint,
   since it only defines md/lg column classes (sidebar collapses into the
   dropdown above instead of stacking below the content). */
@media (max-width: 991.98px){
  .row.g-0 > .col-lg-9.col-md-8,
  .row.g-0 > .col-lg-10.col-md-9{
    flex:0 0 100%;
    max-width:100%;
    width:100%;
  }
}

/* Dashboard */
.iws-sidebar{
  background:var(--iws-sidebar-bg); min-height:calc(100vh - 64px); color:var(--iws-sidebar-text); padding:1.5rem 0;
  border-right:1px solid var(--iws-border); transition:background .2s;
}
.iws-sidebar a{
  display:flex; align-items:center; gap:.7rem; color:var(--iws-sidebar-text); padding:.7rem 1.4rem; font-weight:500; font-size:.93rem;
}
.iws-sidebar a:hover, .iws-sidebar a.active{background:var(--iws-sidebar-active-bg); color:var(--iws-blue); border-right:3px solid var(--iws-blue);}
.iws-sidebar-group-toggle{
  display:flex; align-items:center; justify-content:space-between; width:100%; background:transparent; border:none;
  color:var(--iws-sidebar-text); padding:.7rem 1.4rem; font-size:.93rem; text-align:left; cursor:pointer;
}
.iws-sidebar-group-toggle:hover, .iws-sidebar-group-toggle.open{background:transparent; color:var(--iws-blue);}
.iws-sidebar-group-toggle span{display:flex; align-items:center; gap:.7rem;}
.iws-sidebar-caret{transition:transform .2s; font-size:.7rem; opacity:.6;}
.iws-sidebar-group-toggle[aria-expanded="true"] .iws-sidebar-caret, .iws-sidebar-group-toggle.open .iws-sidebar-caret{transform:rotate(180deg);}
.iws-sidebar-sub{
  display:flex; align-items:center; gap:.7rem; color:var(--iws-sidebar-text); padding:.5rem 1.4rem .5rem 2.6rem;
  font-weight:400; font-size:.86rem; opacity:.85;
}
.iws-sidebar-sub:hover, .iws-sidebar-sub.active{background:transparent; color:var(--iws-blue); border-right:none; opacity:1;}
.iws-stat-card{
  background:var(--iws-surface); border-radius:var(--radius); border:1px solid var(--iws-border); padding:1.4rem;
}
.iws-stat-card .num{font-size:1.8rem; font-weight:800; color:var(--iws-text);}
.iws-stat-card .icon{
  width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.2rem;
}
.iws-dash-stats-row .iws-stat-card{padding:1rem .9rem;}
.iws-dash-stats-row .iws-stat-card .num{font-size:1.3rem;}
.iws-dash-stats-row .iws-stat-card small{font-size:.72rem;}
.iws-dash-stats-row .iws-stat-card .icon{width:34px; height:34px; font-size:.95rem; flex-shrink:0;}

/* Chat widget */
.chat-window{
  height:460px; overflow-y:auto; background:#F8FAFD; border-radius:10px; padding:1rem; border:1px solid var(--iws-border);
}
.chat-date-divider{text-align:center; margin:1rem 0; position:relative;}
.chat-date-divider span{background:var(--iws-bg); color:var(--iws-muted); font-size:.72rem; font-weight:600; padding:.25rem .8rem; border-radius:50px; border:1px solid var(--iws-border);}
.chat-bubble{
  max-width:75%; padding:.55rem .9rem; border-radius:14px; margin-bottom:.6rem; font-size:.92rem; line-height:1.4;
}
.chat-bubble.me{
  background:var(--iws-blue); color:#fff; margin-left:auto; border-bottom-right-radius:3px;
}
.chat-bubble.them{
  background:#fff; border:1px solid var(--iws-border); margin-right:auto; border-bottom-left-radius:3px;
}
.chat-time{font-size:.68rem; color:#000; margin-top:2px;}
.chat-bubble.me .chat-time{color:#fff;}
.chat-attachment-img{max-width:200px; max-height:200px; border-radius:8px; display:block; margin-top:.4rem; cursor:pointer;}
.chat-attachment-file{
  display:flex; align-items:center; gap:.4rem; margin-top:.4rem; padding:.4rem .7rem; border-radius:8px;
  background:rgba(255,255,255,.15); color:inherit; font-size:.82rem; text-decoration:none;
}
.chat-bubble.them .chat-attachment-file{background:#F0F3FA;}
.chat-attach-preview{
  display:flex; align-items:center; gap:.5rem; background:#F0F3FA; border-radius:8px; padding:.4rem .7rem;
  margin-bottom:.5rem; font-size:.82rem;
}
.chat-attach-preview span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px;}

/* Tables */
.table-iws thead{background:var(--iws-navy); color:#fff;}
.table-iws td, .table-iws th{vertical-align:middle;}

/* Footer */
.iws-footer{background:var(--iws-footer-bg); color:var(--iws-footer-text); padding:3rem 0 0; margin-top:4rem; border-top:1px solid var(--iws-footer-border); position:relative; z-index:2; clear:both;}
.iws-footer h6{color:var(--iws-footer-heading); font-weight:700; margin-bottom:1rem;}
.iws-footer a{color:var(--iws-footer-text);}
.iws-footer a:hover{color:var(--iws-blue);}
.iws-footer hr{border-color:var(--iws-footer-border) !important;}
.iws-footer-bottom{
  background:#DCE2EE; padding:1rem 0; margin-top:2rem;
  border-top:1px solid var(--iws-footer-border);
}
.iws-footer-bottom a{color:var(--iws-footer-text);}
.iws-footer-bottom a:hover{color:var(--iws-blue);}
.iws-promo-badges-row{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:.75rem; width:100%;
}
.iws-promo-badges-row .iws-promo-badge{width:100%; justify-content:center;}
@media (max-width:576px){
  .iws-promo-badges-row{grid-template-columns:1fr;}
}
.iws-promo-badge{
  display:inline-flex; align-items:center; background:#F7F8FA; color:var(--iws-nav-text-strong);
  font-weight:700; font-size:var(--pb-size, .78rem); text-transform:uppercase; letter-spacing:.02em;
  padding:calc(var(--pb-size, .78rem) * .9) calc(var(--pb-size, .78rem) * 1.8); border-radius:50px; box-shadow:0 2px 6px rgba(11,30,60,.08);
  border:1px solid var(--iws-border); text-decoration:none; transition:.15s;
}
.iws-promo-badge.badge-theme-whatsapp{background:#DCF8C6; color:#1F7A3D; border-color:#B9E8A8;}
.iws-promo-badge.badge-theme-telegram{background:#D6ECFB; color:#1B6FA8; border-color:#B7DDF5;}
.iws-promo-badge.badge-theme-google{background:#D9E8FD; color:#2A56C6; border-color:#C0D9FA;}
.iws-promo-badge.badge-theme-instagram{background:#FCE0EC; color:#C22A7A; border-color:#F8C7DE;}
.iws-promo-badge.badge-theme-facebook{background:#DCE7FB; color:#2951A3; border-color:#C4D8F7;}
.iws-promo-badge.badge-theme-youtube{background:#FCDCDC; color:#C6302E; border-color:#F8C2C2;}
.iws-promo-badge.badge-theme-linkedin{background:#D6E9F8; color:#1B5C8A; border-color:#B9DBF2;}
.iws-promo-badge.badge-theme-twitter{background:#E1EFFB; color:#2E3D47; border-color:#CBE1F5;}
.iws-promo-badge.badge-theme-star{background:#FDF1D2; color:#9A6B00; border-color:#FBE4A8;}
[data-theme="dark"] .iws-promo-badge.badge-theme-whatsapp,
[data-theme="dark"] .iws-promo-badge.badge-theme-telegram,
[data-theme="dark"] .iws-promo-badge.badge-theme-google,
[data-theme="dark"] .iws-promo-badge.badge-theme-instagram,
[data-theme="dark"] .iws-promo-badge.badge-theme-facebook,
[data-theme="dark"] .iws-promo-badge.badge-theme-youtube,
[data-theme="dark"] .iws-promo-badge.badge-theme-linkedin,
[data-theme="dark"] .iws-promo-badge.badge-theme-twitter,
[data-theme="dark"] .iws-promo-badge.badge-theme-star{filter:brightness(.85) saturate(1.3);}
a.iws-promo-badge:hover{box-shadow:0 6px 16px rgba(11,30,60,.14); transform:translateY(-2px); color:var(--iws-nav-text-strong);}

/* Testimonials */
.iws-testimonial-card{background:#fff; border:1px solid var(--iws-border); border-radius:16px; padding:2.5rem;}
.iws-testimonial-stars{color:#F5A623; font-size:1.3rem; letter-spacing:.15em;}
.iws-testimonial-quote{font-size:1.15rem; font-style:italic; color:var(--iws-text); margin-bottom:1.2rem; line-height:1.6;}
.iws-carousel-arrow{
  width:42px; height:42px; border-radius:50%; background:#fff; border:1px solid var(--iws-border);
  display:flex; align-items:center; justify-content:center; color:var(--iws-blue); box-shadow:0 4px 10px rgba(11,30,60,.08);
}
#testimonialCarousel .carousel-control-prev, #testimonialCarousel .carousel-control-next{width:5%; opacity:1;}
#testimonialCarousel .carousel-indicators [data-bs-target]{background-color:var(--iws-blue);}

/* Offer/festival popup */
.iws-offer-popup-content{border:none; border-radius:14px; overflow:hidden; position:relative;}
.iws-offer-popup-content img{display:block; border-radius:14px;}
.iws-offer-popup-close{
  position:absolute; top:.6rem; right:.6rem; z-index:5; background-color:#fff; opacity:1;
  border-radius:50%; width:32px; height:32px; padding:0; box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.iws-social-links{margin-top:1rem;}
.iws-social-links a{
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--iws-surface); border:1px solid var(--iws-footer-border); color:var(--iws-footer-text) !important;
  font-size:.95rem; transition:.15s;
}
.iws-social-links a:hover{background:var(--iws-blue); border-color:var(--iws-blue); color:#fff !important;}

.iws-online-dot{
  display:inline-block; width:9px; height:9px; border-radius:50%; background:#22C55E;
  margin-right:6px; position:relative; box-shadow:0 0 0 rgba(34,197,94,.6); animation:iwsOnlinePulse 1.8s infinite;
}
@keyframes iwsOnlinePulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.6);}
  70%{box-shadow:0 0 0 6px rgba(34,197,94,0);}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0);}
}
.iws-offline-dot{
  display:inline-block; width:9px; height:9px; border-radius:50%; background:#DC3545;
  margin-right:6px; opacity:.6;
}
.status-pill{padding:.35rem .8rem; border-radius:50px; font-size:.75rem; font-weight:700; text-transform:capitalize; display:inline-flex; align-items:center; line-height:1; gap:.3rem;}
.status-pending{background:#FFF3CD; color:#856404;}
.status-processing{background:#CFE2FF; color:#084298;}
.status-completed{background:#D1F5EA; color:#0B6B57;}
.status-cancelled{background:#F8D7DA; color:#842029;}
.status-paid{background:#D1F5EA; color:#0B6B57;}
.status-unpaid{background:#F8D7DA; color:#842029;}
.status-open{background:#FFF3CD; color:#856404;}
.status-answered{background:#CFE2FF; color:#084298;}
.status-closed{background:#E4E8F0; color:#4A5468;}
.status-low{background:#E4E8F0; color:#4A5468;}
.status-medium{background:#FFE8CC; color:#8A4B08;}
.status-high{background:#F8D7DA; color:#842029;}
.status-expiring{background:#FFE8CC; color:#8A4B08;}
.status-expired{background:#F8D7DA; color:#842029;}
.status-active-plan{background:#D1F5EA; color:#0B6B57;}

/* Payment / QR box */
.payment-box{background:#F8FAFD; border:1px dashed var(--iws-border); border-radius:12px; padding:1.25rem;}
.payment-box img{max-width:180px; border-radius:8px; border:1px solid var(--iws-border);}
.copy-field{
  display:flex; align-items:center; justify-content:space-between; background:#fff; border:1px solid var(--iws-border);
  border-radius:8px; padding:.5rem .8rem; font-family:monospace; font-size:.88rem;
}

/* Avatar */
.avatar-circle{border-radius:50%; object-fit:cover;}
.avatar-upload-wrap{position:relative; width:110px; height:110px; margin:0 auto;}
.avatar-upload-wrap img{width:110px; height:110px; border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:0 4px 14px rgba(0,0,0,.15);}
.avatar-upload-wrap label{
  position:absolute; bottom:0; right:0; background:var(--iws-blue); color:#fff; width:32px; height:32px;
  border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; border:2px solid #fff;
}

/* Referral */
.referral-code-box{
  background:linear-gradient(135deg, var(--iws-navy), var(--iws-navy-2)); color:#fff; border-radius:12px; padding:1.5rem;
}
.referral-code-box .code{
  font-family:monospace; font-size:1.4rem; font-weight:800; letter-spacing:.08em; background:rgba(255,255,255,.12);
  padding:.6rem 1rem; border-radius:8px; display:inline-block;
}

/* Floating live chat widget */
.iws-chat-fab{
  position:fixed; bottom:24px; right:24px; width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg, var(--iws-blue), var(--iws-teal)); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; cursor:pointer; box-shadow:0 10px 25px rgba(11,30,60,.35); z-index:1050;
}
.iws-live-dot{
  position:absolute; top:2px; right:2px; width:14px; height:14px; background:#2ED47A; border:2px solid #fff; border-radius:50%;
  animation: iwsPulse 1.6s infinite;
}
.iws-live-dot-sm{
  width:8px; height:8px; background:#2ED47A; border-radius:50%; display:inline-block; animation: iwsPulse 1.6s infinite;
}
@keyframes iwsPulse{
  0%{box-shadow:0 0 0 0 rgba(46,212,122,.6);}
  70%{box-shadow:0 0 0 9px rgba(46,212,122,0);}
  100%{box-shadow:0 0 0 0 rgba(46,212,122,0);}
}
.iws-chat-panel{
  position:fixed; bottom:96px; right:24px; width:340px; max-width:90vw; background:#fff; border-radius:14px;
  box-shadow:0 20px 50px rgba(0,0,0,.25); z-index:1050; display:none; flex-direction:column; overflow:hidden;
}
.iws-chat-panel.open{display:flex;}
.iws-chat-panel-header{
  background:var(--iws-navy); color:#fff; padding:.9rem 1rem; display:flex; justify-content:space-between; align-items:center;
}

/* Invoice print */
.invoice-box{background:#fff; border-radius:12px; padding:2.5rem; max-width:800px; margin:0 auto; border:1px solid var(--iws-border);}
@media (max-width:576px){
  .invoice-box{padding:1.25rem .9rem; font-size:.88rem;}
  .invoice-box h4{font-size:1.15rem;}
  .invoice-box h5{font-size:1rem;}
}
.invoice-a4{
  background:#fff; padding:0; max-width:210mm; min-height:auto; margin:0 auto;
  border:1px solid var(--iws-border); border-radius:8px; box-shadow:0 2px 16px rgba(10,20,60,.07); color:#1a1a1a;
  font-size:14px; overflow:hidden; position:relative; padding-left:10px;
  -webkit-print-color-adjust:exact; print-color-adjust:exact; color-adjust:exact;
}
.invoice-a4::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:10px;
  background:linear-gradient(180deg, var(--iws-navy), var(--iws-blue));
}
.invoice-a4-inner{padding:10mm 12mm;}
@media (max-width:576px){
  .invoice-a4-inner{padding:6mm 4mm; font-size:.85rem;}
  .invoice-a4 .invoice-summary-table, .invoice-a4 .invoice-totals{min-width:0;}
}
/* Print-only invoice template (hidden on screen, shown only when printing) */
.invoice-print-only, .invoice-print-only *{box-sizing:border-box;}
.invoice-print-only{display:none;}

@media print{
  *{-webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; color-adjust:exact !important;}
  .iws-navbar, .iws-footer, .no-print, .iws-chat-fab, .iws-chat-panel{display:none !important;}
  body{background:#fff;}
  .container{max-width:100% !important; width:100% !important; padding:0 !important; margin:0 !important;}
  .invoice-box{border:none; box-shadow:none; padding:0;}
  .invoice-a4{display:none !important;}
  .invoice-box{display:none !important;}
  .invoice-print-only{display:block !important;}
  @page{size:A4; margin:0;}
}

.ipo-topbar{height:14px; background:var(--iws-navy);}
.ipo-bottombar{height:14px; background:var(--iws-navy); width:100vw; position:relative; left:50%; margin-left:-50vw;}
/* This table + tfoot combo is the standard cross-browser way to get a footer that
   repeats at the bottom of EVERY printed page — including page 2, 3, etc. if the invoice
   grows long enough. tfoot is a native HTML/CSS printing feature made exactly for this. */
.ipo-page-table{width:190mm; margin:0 auto; border-collapse:collapse; height:277mm; table-layout:fixed;}
.ipo-page-table > tbody > tr > td{vertical-align:top;}
.ipo-page-table > tfoot > tr > td{vertical-align:bottom; padding:0;}
@media screen{
  .ipo-page-table{height:auto;}
}
.ipo-page{padding:16mm 10mm 0; font-family:inherit; color:#222; box-sizing:border-box; width:100%; max-width:100%; overflow-x:hidden; overflow-wrap:break-word;}
.ipo-header{display:table; width:100%; table-layout:fixed;}
.ipo-header > .ipo-brand{display:table-cell; vertical-align:top; width:65%;}
.ipo-logo{vertical-align:middle;}
.ipo-brand > div{display:inline-block; vertical-align:middle; margin-left:.4rem;}
.ipo-header > .ipo-invoice-word{display:table-cell; vertical-align:top; width:35%;}
.ipo-logo{width:46px; height:46px; border-radius:50%; object-fit:cover;}
.ipo-brand-name{font-weight:800; font-size:1.05rem; color:var(--iws-navy); letter-spacing:.02em;}
.ipo-brand-tag{font-size:.75rem; color:#8A93A6;}
.ipo-invoice-word{font-size:1.9rem; font-weight:800; font-style:italic; color:var(--iws-navy); letter-spacing:0; line-height:1; padding-right:0; text-align:right;}
.ipo-brand-underline{height:3px; width:130px; background:var(--iws-blue); margin:.5rem 0 1rem;}

.ipo-label{font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--iws-blue); margin-bottom:.25rem;}
.ipo-small{font-size:.8rem; color:#4B5563; line-height:1.5;}
.ipo-meta-row{display:table; width:100%; table-layout:fixed;}
.ipo-bill-to{display:table-cell; vertical-align:top; width:60%; padding-right:1rem;}
.ipo-invoice-details{display:table-cell; vertical-align:top; width:40%;}
.ipo-client-name{font-weight:700; font-size:.95rem; margin-bottom:.15rem;}
.ipo-invoice-details{text-align:right;}
.ipo-status-word{font-size:1.8rem; font-weight:800; letter-spacing:.06em; margin-top:.35rem; padding-bottom:.2rem; border-bottom:3px solid currentColor; display:inline-block;}
.ipo-status-word.paid{color:#0B8A4A;}
.ipo-status-word.unpaid{color:#DC3545;}
.ipo-status-word.neutral{color:#B8860B;}

.ipo-divider{border:none; border-top:1px solid #E3E7EF; margin:1rem 0;}

.ipo-table{width:100%; border-collapse:collapse; font-size:.82rem;}
.ipo-table thead th{background:var(--iws-navy); color:#fff; font-weight:700; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; padding:.55rem .7rem; text-align:left;}
.ipo-table thead th.text-end{text-align:right;}
.ipo-table tbody td{padding:.5rem .7rem;}
.ipo-table tbody tr:nth-child(odd){background:#F2F3F6;}

.ipo-summary-row{display:table; width:100%; table-layout:fixed; margin-top:1.25rem; background:#F2F3F6; border-radius:4px;}
.ipo-account-details{display:table-cell; vertical-align:top; width:55%; padding:1rem;}
.ipo-totals-cell{display:table-cell; vertical-align:top; width:45%; padding:1rem;}
.ipo-totals{font-size:.85rem; width:100%;}
.ipo-totals td{padding:.2rem 0; text-align:right;}
.ipo-totals td:first-child{text-align:left; color:#4B5563; padding-right:1.5rem;}
.ipo-total-final td{font-weight:800; font-size:1.05rem; color:var(--iws-navy); padding-top:.4rem; border-top:2px solid var(--iws-navy);}

.ipo-thanks-row{display:table; width:100%; table-layout:fixed; margin-top:1.5rem;}
.ipo-thanks-row > *{display:table-cell; vertical-align:middle;}
.ipo-thanks{text-align:right;}
.ipo-qr{width:88px; height:88px;}
.ipo-thanks{font-size:1.8rem; font-weight:800; font-style:italic; color:var(--iws-navy);}

.ipo-terms p{font-size:.72rem; color:#6B7280; line-height:1.5; margin-bottom:.4rem;}

.ipo-footer-bar{display:flex; justify-content:space-between; flex-wrap:nowrap; gap:.3rem; font-size:.72rem; color:#4B5563; padding:0 14mm 1rem;}
.ipo-footer-bar span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex-shrink:1;}
@media(max-width:576px){
  .ipo-footer-bar{font-size:.55rem; padding:0 4mm 1rem; gap:.2rem;}
}
.ipo-footer-bar i{color:var(--iws-blue); margin-right:.3rem;}

.invoice-watermark-print{
  display:none;
}
.invoice-a4 .table{font-size:14px; margin-bottom:0;}

.invoice-items-table{width:100%; border-collapse:collapse;}
.invoice-items-table-mobile .col-qty{width:70px;}
.invoice-items-table-mobile .col-price{width:85px;}
.invoice-items-table-mobile .col-total{width:95px;}
.invoice-items-table-mobile td, .invoice-items-table-mobile th{white-space:nowrap;}
.invoice-items-table-mobile td:first-child, .invoice-items-table-mobile th:first-child{white-space:normal;}
@media (max-width:576px){
  .invoice-items-table-mobile{font-size:.78rem;}
  .invoice-items-table-mobile .col-qty{width:40px;}
  .invoice-items-table-mobile .col-price{width:65px;}
  .invoice-items-table-mobile .col-total{width:70px;}
  .invoice-items-table-mobile td, .invoice-items-table-mobile th{padding:.4rem .3rem;}
}
.invoice-items-table thead th{
  background:var(--iws-navy); color:#fff; font-weight:600; font-size:.78rem; text-transform:uppercase;
  letter-spacing:.04em; padding:.55rem .65rem; text-align:left; border:none;
}
.invoice-items-table thead th.text-end{text-align:right;}
.invoice-items-table tbody td{padding:.5rem .65rem; border-bottom:1px solid #EEF1F6;}
.invoice-items-table tbody tr:nth-child(even){background:#FAFBFD;}

.invoice-summary-table{width:100%;}
.invoice-summary-table td{padding:.3rem 0; font-size:.9rem; color:#4B5563;}

.invoice-balance-box{
  display:flex; justify-content:space-between; align-items:center;
  background:var(--iws-navy); color:#fff; padding:.65rem 1rem; border-radius:6px; font-size:1.05rem;
}
.invoice-balance-box strong{font-size:1.2rem;}

@media(max-width:768px){
  .iws-hero h1{font-size:2rem;}
  .iws-sidebar{min-height:auto;}
}
