/* ============================================================
   Noah's Pressure Washing — Main Stylesheet v3
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --blue:#1a5fa8;--blue-dark:#0e3f73;--blue-accent:#2d8fe8;--blue-light:#e8f1fb;
  --g1:#f0f4f8;--g2:#dce4ed;--g5:#6b7c93;--g7:#3d4f63;--text:#1c2b3a;
  --green:#1a7f4b;--amber:#b06010;--red:#a32020;
  --font:"Barlow",sans-serif;
  --hdr-h:62px;
}
body{font-family:var(--font);color:var(--text);font-size:14px;line-height:1.55;-webkit-tap-highlight-color:transparent;}
a{color:var(--blue);}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
input,select,textarea,button{font-family:var(--font);font-size:14px;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue-accent) !important;}

/* ── SHARED BADGES ────────────────────────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 8px;border-radius:20px;}
.b-open{background:#dbeafe;color:#1e40af;}.b-done{background:#d1fae5;color:#065f46;}
.b-inv{background:#fef3c7;color:#92400e;}.b-np{background:#fee2e2;color:#991b1b;}
.b-new{background:#dbeafe;color:#1e40af;}.b-cont{background:#fef3c7;color:#92400e;}
.b-conv{background:#d1fae5;color:#065f46;}.b-paid{background:#d1fae5;color:#065f46;}.b-draft{background:#f3f4f6;color:#374151;}
.alert{border-radius:8px;padding:11px 14px;font-size:13px;margin-bottom:12px;line-height:1.5;}
.alert-success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;}
.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;}
.alert-danger{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}
.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd;}
.alert-amber{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;}

/* ── BUTTONS ─────────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:.15s;white-space:nowrap;}
.btn:hover{text-decoration:none;filter:brightness(.92);}
.btn-primary{background:var(--blue);color:#fff;}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-white{background:#fff;color:var(--blue-dark);}
.btn-full{width:100%;justify-content:center;}

/* ══════════════════════════════════════════════════════════════
   WEBSITE
══════════════════════════════════════════════════════════════ */

/* ── SITE HEADER ─────────────────────────────────────────────────────────── */
.site-header{
  background:var(--blue-dark);
  height:var(--hdr-h);
  display:flex;align-items:center;
  padding:0 20px;
  position:sticky;top:0;z-index:200;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  transition:box-shadow .2s;
}
.site-header.scrolled{box-shadow:0 3px 18px rgba(0,0,0,.3);}
.header-inner{display:flex;align-items:center;gap:12px;width:100%;max-width:1140px;margin:0 auto;}
.logo-link{display:flex;align-items:center;flex-shrink:0;}
.logo-img{height:42px;width:auto;border-radius:5px;object-fit:contain;}
.main-nav{margin-left:auto;}
.main-nav ul{display:flex;list-style:none;gap:2px;align-items:center;}
.main-nav ul li a{
  color:rgba(255,255,255,.8);font-size:13px;font-weight:500;
  padding:7px 10px;border-radius:6px;
  display:block;white-space:nowrap;text-decoration:none;transition:.12s;
}
.main-nav ul li a:hover,.main-nav ul li a.active{background:rgba(255,255,255,.15);color:#fff;}
.header-cta{flex-shrink:0;padding:8px 16px;font-size:13px;margin-left:6px;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:5px;flex-shrink:0;margin-left:auto;}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;margin:4px 0;transition:.2s;}
.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}
/* Dropdown */
.has-drop{position:relative;}
.drop-menu{
  display:none;position:absolute;top:calc(100% + 4px);left:0;
  background:#fff;border:1px solid var(--g2);border-radius:10px;
  min-width:210px;box-shadow:0 6px 24px rgba(0,0,0,.12);
  z-index:300;list-style:none;padding:6px;
}
.has-drop:hover .drop-menu,.has-drop:focus-within .drop-menu{display:block;}
.drop-menu li a{color:var(--text) !important;padding:9px 13px !important;border-radius:6px;font-size:13px;font-weight:500;}
.drop-menu li a:hover{background:var(--g1) !important;}
/* Nav overlay */
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:190;}
.nav-overlay.open{display:block;}
/* Mobile nav */
@media(max-width:960px){
  .main-nav{
    position:fixed;top:0;right:-280px;width:280px;height:100dvh;
    background:var(--blue-dark);z-index:195;transition:right .24s ease;
    overflow-y:auto;padding:var(--hdr-h) 14px 24px;
  }
  .main-nav.open{right:0;}
  .main-nav ul{flex-direction:column;gap:1px;}
  .main-nav ul li a{padding:12px 14px;font-size:15px;}
  .has-drop .drop-menu{position:static;box-shadow:none;background:rgba(255,255,255,.07);border:none;border-radius:7px;padding:4px 0 4px 14px;display:block;}
  .drop-menu li a{color:rgba(255,255,255,.75) !important;font-size:14px;padding:9px 10px !important;}
  .drop-menu li a:hover{background:rgba(255,255,255,.1) !important;}
  .nav-toggle{display:block;}
  .header-cta{display:none;}
}

/* ── HERO ─────────────────────────────────────────────────────────────────── */
.hero{
  position:relative;
  min-height:500px;
  background:linear-gradient(135deg,#081e3f 0%,var(--blue-dark) 55%,var(--blue) 100%);
  background-size:cover;background-position:center top;
  display:flex;align-items:center;
  overflow:hidden;
}
.hero-bg-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  opacity:.22;
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,30,63,.9) 0%,rgba(14,63,115,.75) 60%,rgba(26,95,168,.6) 100%);}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:center;padding:56px 0;}
.hero-text{color:#fff;}
.hero-eyebrow{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:5px 16px;font-size:12px;font-weight:600;color:rgba(255,255,255,.9);margin-bottom:16px;}
.hero h1{font-size:clamp(28px,4.5vw,50px);font-weight:800;line-height:1.1;margin-bottom:14px;}
.hero-accent{color:#7ec8f8;}
.hero-sub{font-size:15px;opacity:.9;margin-bottom:24px;line-height:1.7;max-width:480px;}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
.hero-chips{display:flex;gap:7px;flex-wrap:wrap;}
.hero-chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:5px;padding:4px 10px;font-size:11px;font-weight:500;color:rgba(255,255,255,.88);}
/* Quick estimate card in hero */
.hero-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.22);}
.hero-card h3{font-size:14px;font-weight:700;color:var(--blue-dark);margin-bottom:3px;}
.hero-card p{font-size:12px;color:var(--g5);margin-bottom:12px;}
.hcf-row{margin-bottom:8px;}
.hcf-row input,.hcf-row select{width:100%;border:1.5px solid var(--g2);border-radius:7px;padding:9px 10px;font-size:13px;color:var(--text);}
.hcf-btn{width:100%;background:var(--blue);color:#fff;border:none;border-radius:7px;padding:10px;font-size:14px;font-weight:700;cursor:pointer;margin-top:2px;}
.hcf-note{text-align:center;font-size:11px;color:var(--g5);margin-top:5px;}
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;padding:40px 0 36px;}
  .hero-card{display:none;}
  .hero-sub{max-width:100%;}
}

/* ── TRUST BAR ────────────────────────────────────────────────────────────── */
.trust-bar{background:#0a2d54;padding:12px 0;}
.trust-bar-inner{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.trust-item{font-size:12px;font-weight:600;color:rgba(255,255,255,.82);}

/* ── LAYOUT ───────────────────────────────────────────────────────────────── */
.section{padding:62px 0;}
.section-alt{background:var(--g1);}
.container{max-width:1140px;margin:0 auto;padding:0 22px;}
.section-hdr{text-align:center;margin-bottom:40px;}
.eyebrow{display:inline-block;background:var(--blue-light);color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding:4px 14px;border-radius:20px;margin-bottom:10px;}
.section-hdr h2{font-size:clamp(24px,3.5vw,36px);font-weight:800;color:var(--blue-dark);margin-bottom:8px;line-height:1.12;}
.section-hdr p{font-size:15px;color:var(--g5);max-width:500px;margin:0 auto;}

/* ── SERVICE CARDS ────────────────────────────────────────────────────────── */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.svc-card{background:#fff;border:1.5px solid var(--g2);border-radius:12px;overflow:hidden;display:block;color:var(--text);text-decoration:none;transition:all .18s;}
.svc-card:hover{border-color:var(--blue-accent);box-shadow:0 6px 24px rgba(26,95,168,.14);transform:translateY(-3px);text-decoration:none;}
.svc-card-img{width:100%;height:180px;object-fit:cover;display:block;}
.svc-card-body{padding:16px;}
.svc-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:3px 9px;border-radius:20px;margin-bottom:7px;}
.tag-res{background:var(--blue-light);color:var(--blue-dark);}
.tag-soft{background:#e0f7f0;color:#0b6b50;}
.tag-com{background:#eef0f8;color:#0e3f73;}
.svc-card h3{font-size:17px;font-weight:700;margin-bottom:6px;}
.svc-card p{font-size:13px;color:var(--g5);line-height:1.65;margin-bottom:10px;}
.svc-price{font-size:13px;font-weight:600;color:var(--blue);}

/* ── BEFORE/AFTER ─────────────────────────────────────────────────────────── */
.ba-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.ba-card{border-radius:11px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.1);}
.ba-slider{position:relative;height:200px;overflow:hidden;user-select:none;cursor:col-resize;touch-action:none;}
.ba-after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ba-before-wrap{position:absolute;top:0;left:0;height:100%;overflow:hidden;}
.ba-before{width:100vw;max-width:700px;height:200px;object-fit:cover;}
.ba-handle{position:absolute;top:0;height:100%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;pointer-events:none;}
.ba-handle-line{width:2px;height:100%;background:#fff;box-shadow:0 0 4px rgba(0,0,0,.4);}
.ba-handle-circle{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,.25);color:var(--blue-dark);font-weight:700;pointer-events:none;}
.ba-label-before,.ba-label-after{position:absolute;bottom:8px;font-size:11px;font-weight:700;background:rgba(0,0,0,.55);color:#fff;padding:3px 8px;border-radius:4px;pointer-events:none;}
.ba-label-before{left:8px;}.ba-label-after{right:8px;}
.ba-caption{background:#fff;padding:10px 13px;font-size:13px;font-weight:500;}
.ba-tag{color:var(--blue);font-weight:600;}

/* ── TESTIMONIALS ─────────────────────────────────────────────────────────── */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.testi-card{background:#fff;border:1.5px solid var(--g2);border-radius:12px;padding:20px;}
.testi-stars{color:#f59e0b;font-size:14px;margin-bottom:9px;letter-spacing:2px;}
.testi-text{font-size:13px;color:var(--g7);line-height:1.7;margin-bottom:13px;font-style:italic;}
.testi-author{display:flex;align-items:center;gap:9px;}
.testi-av{width:36px;height:36px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--blue-dark);flex-shrink:0;overflow:hidden;}
.testi-av img{width:100%;height:100%;object-fit:cover;}
.testi-name{font-size:13px;font-weight:700;}
.testi-loc{font-size:11px;color:var(--g5);}

/* ── AREAS ────────────────────────────────────────────────────────────────── */
.areas-chips-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.area-chip{background:#fff;border:1.5px solid var(--g2);border-radius:7px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--g7);display:inline-flex;align-items:center;gap:5px;text-decoration:none;transition:.12s;}
.area-chip:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light);text-decoration:none;}

/* ── SERVICE DETAIL HERO ──────────────────────────────────────────────────── */
.svc-hero{background:linear-gradient(135deg,var(--blue-dark),var(--blue));padding:46px 0 38px;position:relative;overflow:hidden;}
.svc-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.2;}
.svc-hero .container{position:relative;z-index:2;}
.breadcrumb{font-size:12px;color:rgba(255,255,255,.6);margin-bottom:8px;}
.breadcrumb a{color:rgba(255,255,255,.72);text-decoration:none;}
.breadcrumb a:hover{color:#fff;}
.svc-hero h1{font-size:clamp(26px,4vw,44px);font-weight:800;color:#fff;margin-bottom:10px;line-height:1.1;}
.svc-hero p{font-size:15px;color:rgba(255,255,255,.88);max-width:560px;}

/* ── FAQ ──────────────────────────────────────────────────────────────────── */
.faq-list{max-width:740px;margin:0 auto;}
.faq-item{background:#fff;border:1.5px solid var(--g2);border-radius:10px;margin-bottom:8px;overflow:hidden;}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;cursor:pointer;font-size:14px;font-weight:600;transition:.12s;}
.faq-q:hover{background:var(--blue-light);}
.faq-arrow{flex-shrink:0;font-size:11px;color:var(--g5);transition:transform .2s;}
.faq-item.open .faq-arrow{transform:rotate(180deg);color:var(--blue);}
.faq-item.open .faq-q{color:var(--blue-dark);}
.faq-a{display:none;padding:0 18px 15px;font-size:13px;color:var(--g7);line-height:1.8;}
.faq-item.open .faq-a{display:block;}

/* ── CTA BANNER ───────────────────────────────────────────────────────────── */
.cta-banner{background:linear-gradient(135deg,var(--blue-dark),var(--blue) 55%,var(--blue-accent));padding:56px 0;}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cta-inner h2{font-size:clamp(20px,3vw,32px);font-weight:800;color:#fff;margin-bottom:5px;}
.cta-inner p{font-size:14px;color:rgba(255,255,255,.85);}
.cta-btns{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0;}
@media(max-width:700px){.cta-inner{flex-direction:column;text-align:center;}}

/* ── CONTACT PAGE ─────────────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start;}
.contact-form-card{background:#fff;border:1.5px solid var(--g2);border-radius:13px;padding:28px;}
.form-title{font-size:18px;font-weight:700;color:var(--blue-dark);margin-bottom:3px;}
.form-sub{font-size:13px;color:var(--g5);margin-bottom:18px;}
.form-row{margin-bottom:14px;}
.form-row label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--g7);margin-bottom:4px;}
.form-row input,.form-row select,.form-row textarea{width:100%;border:1.5px solid var(--g2);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--text);background:#fff;transition:border-color .15s;}
.form-row textarea{min-height:100px;resize:vertical;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.contact-info-sidebar{display:flex;flex-direction:column;gap:14px;position:sticky;top:80px;}
.contact-info-card{background:var(--blue-dark);border-radius:13px;padding:22px;}
.contact-logo{height:48px;border-radius:6px;margin-bottom:14px;}
.contact-info-card h3{font-size:16px;font-weight:700;color:#fff;margin-bottom:16px;}
.ci-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;}
.ci-icon{font-size:17px;line-height:1.5;flex-shrink:0;}
.ci-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:rgba(255,255,255,.5);margin-bottom:1px;}
.ci-val{font-size:13px;color:rgba(255,255,255,.9);}
.ci-val a{color:rgba(255,255,255,.9);text-decoration:none;}
.ci-val a:hover{color:#fff;}
.ci-sms{border-top:1px solid rgba(255,255,255,.12);padding-top:14px;margin-top:4px;}
.ci-sms p{font-size:12px;color:rgba(255,255,255,.55);margin-bottom:9px;}
.ci-sms small{display:block;font-size:10px;color:rgba(255,255,255,.35);margin-top:5px;}
.btn-sms-big{display:flex;align-items:center;justify-content:center;gap:7px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:11px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:.15s;}
.btn-sms-big:hover{background:rgba(255,255,255,.22);text-decoration:none;color:#fff;}
.contact-why-card{background:#fff;border:1.5px solid var(--g2);border-radius:12px;padding:18px;}
.contact-why-card h4{font-size:13px;font-weight:700;color:var(--blue-dark);margin-bottom:10px;}
.contact-why-card ul{list-style:none;}
.contact-why-card ul li{font-size:13px;color:var(--g7);padding:4px 0;border-bottom:1px solid var(--g2);}
.contact-why-card ul li:last-child{border-bottom:none;}
@media(max-width:768px){
  .contact-grid{grid-template-columns:1fr;}
  .contact-info-sidebar{position:static;}
  .form-row-2{grid-template-columns:1fr;}
}

/* ── QUOTE CALCULATOR ─────────────────────────────────────────────────────── */
.quote-card{background:#fff;border:1.5px solid var(--g2);border-radius:13px;padding:30px;max-width:580px;margin:0 auto;}
.quote-card h3{font-size:20px;font-weight:700;color:var(--blue-dark);margin-bottom:5px;}
.quote-card>p{font-size:14px;color:var(--g5);margin-bottom:20px;}
.q-row{margin-bottom:13px;}
.q-row label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--g7);margin-bottom:4px;}
.q-row select,.q-row input{width:100%;border:1.5px solid var(--g2);border-radius:8px;padding:10px 12px;}
.q-btn{width:100%;background:var(--blue);color:#fff;border:none;border-radius:8px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;}
.q-result{background:var(--blue-light);border-radius:10px;padding:22px;text-align:center;margin-top:20px;}
.q-result-range{font-size:32px;font-weight:800;color:var(--blue-dark);margin-bottom:5px;}
.q-disclaimer{font-size:11px;color:var(--g5);margin-top:8px;font-style:italic;}

/* ── FOOTER ───────────────────────────────────────────────────────────────── */
.site-footer{background:#0a2d54;color:rgba(255,255,255,.7);padding:50px 0 0;}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:32px;padding-bottom:36px;}
.footer-brand p{font-size:13px;line-height:1.75;max-width:220px;margin-top:10px;}
.footer-col h4{color:#fff;font-size:11px;font-weight:700;margin-bottom:11px;text-transform:uppercase;letter-spacing:.5px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:6px;}
.footer-col ul li a,.footer-col p a{font-size:13px;color:rgba(255,255,255,.6);text-decoration:none;}
.footer-col ul li a:hover,.footer-col p a:hover{color:#fff;}
.footer-col p{font-size:13px;margin-bottom:5px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:14px 0;}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.4);text-align:center;}
@media(max-width:768px){.footer-inner{grid-template-columns:1fr 1fr;gap:24px;}}
@media(max-width:480px){.footer-inner{grid-template-columns:1fr;}}

/* ── ABOUT ────────────────────────────────────────────────────────────────── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:60px 0;}
.about-img{width:100%;height:400px;object-fit:cover;border-radius:12px;}
.about-text h2{font-size:clamp(22px,3vw,32px);font-weight:800;color:var(--blue-dark);margin-bottom:13px;}
.about-text p{font-size:14px;color:var(--g7);margin-bottom:12px;line-height:1.75;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;}
.val-card{background:#fff;border:1.5px solid var(--g2);border-radius:11px;padding:18px;text-align:center;}
.val-icon{font-size:26px;margin-bottom:8px;}
.val-card h3{font-size:13px;font-weight:700;margin-bottom:5px;}
.val-card p{font-size:12px;color:var(--g5);line-height:1.65;}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;}.values-grid{grid-template-columns:1fr 1fr;}}

/* ══════════════════════════════════════════════════════════════
   CRM
══════════════════════════════════════════════════════════════ */
.crm-body{background:var(--g1);min-height:100dvh;}

/* ── CRM HEADER ───────────────────────────────────────────────────────────── */
.crm-hdr{
  background:var(--blue-dark);height:54px;
  display:flex;align-items:center;padding:0 16px;gap:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  position:sticky;top:0;z-index:200;
}
.crm-hdr-title{color:#fff;font-size:14px;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.crm-logout{background:rgba(163,32,32,.85);color:#fff;border:none;border-radius:6px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;flex-shrink:0;}
.crm-logout:hover{background:rgba(163,32,32,1);text-decoration:none;}
.crm-site-link{color:rgba(255,255,255,.65);font-size:18px;text-decoration:none;flex-shrink:0;line-height:1;}
.crm-site-link:hover{color:#fff;text-decoration:none;}
.crm-hamburger{background:none;border:none;cursor:pointer;padding:4px;display:flex;flex-direction:column;gap:4px;flex-shrink:0;}
.crm-hamburger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:.2s;}
.crm-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.crm-hamburger.open span:nth-child(2){opacity:0;}
.crm-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}

/* ── CRM NAV DRAWER ───────────────────────────────────────────────────────── */
#mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:210;}
#mob-overlay.open{display:block;}
#crm-drawer{
  position:fixed;top:0;left:-230px;width:230px;height:100dvh;
  background:var(--blue-dark);z-index:220;
  transition:left .24s ease;overflow-y:auto;padding:10px 8px;
}
#crm-drawer.open{left:0;}
.crm-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 14px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:8px;}
.crm-drawer-close{background:none;border:none;color:rgba(255,255,255,.7);font-size:20px;cursor:pointer;line-height:1;}
.sb-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.35);padding:0 8px;margin:8px 0 4px;display:block;}
.sb-item{display:flex;align-items:center;gap:9px;padding:10px 10px;color:rgba(255,255,255,.75);font-size:13px;font-weight:500;border-radius:7px;cursor:pointer;transition:.12s;border:none;background:none;width:100%;text-align:left;text-decoration:none;}
.sb-item:hover,.sb-item:active{background:rgba(255,255,255,.1);color:#fff;text-decoration:none;}
.sb-item.active{background:rgba(255,255,255,.16);color:#fff;}
.sb-item svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.sb-badge{margin-left:auto;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:700;}
.sb-badge.blue{background:rgba(45,143,232,.35);color:#7ec8f8;}
.sb-badge.amber{background:rgba(176,96,16,.4);color:#fcd34d;}
.sb-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:8px 0;}
.crm-page-wrap{padding:18px;min-height:calc(100dvh - 54px);}

/* ── CRM COMPONENTS ───────────────────────────────────────────────────────── */
.pg-hdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:8px;}
.pg-hdr h1{font-size:18px;font-weight:700;color:var(--blue-dark);}
.pg-hdr p{font-size:12px;color:var(--g5);margin-top:1px;}
.btn-add{background:var(--blue);color:#fff;border:none;border-radius:7px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;text-decoration:none;display:inline-flex;align-items:center;gap:4px;}
.btn-add:hover{background:var(--blue-dark);text-decoration:none;color:#fff;}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
@media(min-width:600px){.stats{grid-template-columns:repeat(4,1fr);}}
.stat{background:#fff;border:1px solid var(--g2);border-radius:10px;padding:12px 14px;}
.stat-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--g5);margin-bottom:3px;}
.stat-num{font-size:22px;font-weight:800;}
.stat-num.blue{color:var(--blue);}.stat-num.green{color:var(--green);}.stat-num.amber{color:var(--amber);}.stat-num.red{color:var(--red);}
.stat-sub{font-size:11px;color:var(--g5);margin-top:2px;}
.rev-card{background:#fff;border:1px solid var(--g2);border-radius:10px;padding:12px 14px;margin-bottom:12px;border-left:4px solid var(--blue);}
.section-title{font-size:13px;font-weight:700;color:var(--blue-dark);margin:13px 0 8px;text-transform:uppercase;letter-spacing:.4px;}
.mob-card{background:#fff;border:1px solid var(--g2);border-radius:10px;padding:13px;margin-bottom:9px;}
.lead-card{border-left:3px solid var(--blue-accent);}
.mob-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:7px;}
.mob-card-name{font-size:14px;font-weight:700;}
.mob-card-row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--g2);font-size:13px;}
.mob-card-lbl{font-size:10px;font-weight:600;color:var(--g5);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;margin-right:8px;}
.mob-card-amt{font-weight:700;color:var(--blue);}
.mob-card-acts{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid var(--g2);}
.empty-state{text-align:center;padding:28px;color:var(--g5);font-size:14px;}
.ab{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--g2);background:#fff;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:600;cursor:pointer;color:var(--text);text-decoration:none;min-height:32px;transition:.12s;}
.ab:hover{background:var(--blue-light);text-decoration:none;}
.ab.sms{color:var(--green);border-color:var(--green);background:#f0fdf4;}
.ab.em{color:var(--blue);border-color:var(--blue);background:#eff6ff;}
.ab.iv{color:var(--amber);border-color:#d97706;background:#fffbeb;}
.ab.dl{color:var(--red);border-color:#fca5a5;background:#fff5f5;}
.ab.dl:hover{background:#fee2e2;}
.big-tap{flex:1;justify-content:center;font-size:12px;padding:9px 12px;min-height:40px;}
.filters{display:flex;gap:5px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:11px;padding-bottom:2px;scrollbar-width:none;}
.filters::-webkit-scrollbar{display:none;}
.ftab{background:#fff;border:1px solid var(--g2);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;color:var(--g5);white-space:nowrap;min-height:32px;text-decoration:none;display:inline-flex;align-items:center;}
.ftab.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.ftab:hover{border-color:var(--blue);color:var(--blue);text-decoration:none;}
.search-row{display:flex;gap:7px;margin-bottom:11px;}
.search-inp{flex:1;border:1.5px solid var(--g2);border-radius:8px;padding:8px 11px;font-size:13px;color:var(--text);}
.cust-grid{display:grid;grid-template-columns:1fr;gap:10px;}
@media(min-width:600px){.cust-grid{grid-template-columns:repeat(2,1fr);}}
.cust-card{background:#fff;border:1px solid var(--g2);border-radius:10px;padding:14px;}
.cust-av{width:38px;height:38px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--blue-dark);}
.cust-name{font-size:14px;font-weight:700;margin-bottom:2px;}
.cust-det{font-size:12px;color:var(--g5);margin-bottom:2px;}
.cust-acts{display:flex;gap:5px;margin-top:9px;flex-wrap:wrap;}

/* CRM FORMS */
.inv-form-card{background:#fff;border:1px solid var(--g2);border-radius:10px;padding:16px;margin-bottom:12px;}
.inv-form-card h3{font-size:14px;font-weight:700;color:var(--blue-dark);margin-bottom:12px;}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.ff{grid-column:1/-1;}
.fl{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--g7);margin-bottom:3px;}
.fi{width:100%;border:1.5px solid var(--g2);border-radius:7px;padding:8px 10px;font-size:13px;color:var(--text);background:#fff;}
.inv-box{background:#fff;border:1px solid var(--g2);border-radius:10px;padding:22px;}
.inv-hd{display:flex;justify-content:space-between;margin-bottom:16px;gap:12px;}
.inv-co{font-size:14px;font-weight:700;color:var(--blue-dark);}
.inv-co-sub{font-size:11px;color:var(--g5);margin-top:1px;}
.inv-bill{margin-bottom:14px;}
.inv-bill-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--g5);margin-bottom:3px;}
.inv-tbl{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:10px;}
.inv-tbl th{text-align:left;font-size:10px;color:var(--g5);padding:4px 0;border-bottom:1px solid var(--g2);text-transform:uppercase;}
.inv-tbl td{padding:7px 0;border-bottom:1px solid var(--g2);}
.inv-total{text-align:right;font-size:16px;font-weight:800;color:var(--blue-dark);margin-bottom:10px;}
.inv-note{font-size:12px;color:var(--g5);font-style:italic;padding-top:9px;border-top:1px solid var(--g2);margin-bottom:12px;}
.inv-acts{display:flex;gap:7px;flex-wrap:wrap;}
.inv-btn{display:inline-flex;align-items:center;gap:5px;border-radius:7px;padding:9px 13px;font-size:13px;font-weight:600;cursor:pointer;border:1.5px solid var(--g2);background:#fff;color:var(--text);min-height:40px;text-decoration:none;}
.inv-btn:hover{text-decoration:none;}
.inv-btn.pr{background:var(--blue);color:#fff;border-color:var(--blue);}
.inv-btn.gr{background:#d1fae5;color:#065f46;border-color:#6ee7b7;}

/* CRM MODAL */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:400;align-items:flex-end;justify-content:center;}
.modal-bg.open{display:flex;}
.modal{background:#fff;border-radius:16px 16px 0 0;padding:20px 18px;width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;}
.modal h2{font-size:16px;font-weight:700;color:var(--blue-dark);margin-bottom:14px;}
.modal-ft{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--g2);}
.btn-cancel{background:#fff;border:1.5px solid var(--g2);border-radius:8px;padding:9px 15px;font-size:14px;cursor:pointer;}
.btn-sv{background:var(--blue);color:#fff;border:none;border-radius:8px;padding:9px 15px;font-size:14px;font-weight:700;cursor:pointer;}
@media(min-width:600px){.modal-bg{align-items:center;}.modal{border-radius:14px;width:480px;}}

/* CRM CALENDAR */
.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.cal-nav h2{font-size:16px;font-weight:700;color:var(--blue-dark);}
.cal-nav-btn{background:#fff;border:1px solid var(--g2);border-radius:7px;padding:6px 14px;font-size:14px;font-weight:600;cursor:pointer;color:var(--text);text-decoration:none;}
.cal-nav-btn:hover{background:var(--blue-light);text-decoration:none;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--g2);border-radius:10px;overflow:hidden;margin-bottom:14px;}
.cal-day-hdr{background:#fafbfc;text-align:center;font-size:11px;font-weight:700;color:var(--g5);text-transform:uppercase;letter-spacing:.4px;padding:7px 0;}
.cal-cell{background:#fff;min-height:68px;padding:5px;cursor:pointer;transition:.12s;}
.cal-cell:hover{background:var(--blue-light);}
.cal-empty{background:#fafbfc;cursor:default;}
.cal-today{background:#eff6ff;outline:2px solid var(--blue-accent);outline-offset:-2px;}
.cal-date-num{font-size:12px;font-weight:600;color:var(--text);margin-bottom:2px;}
.cal-today .cal-date-num{color:var(--blue);font-weight:800;}

/* CONTENT MANAGER */
.cm-nav-scroll{display:flex;gap:5px;overflow-x:auto;margin-bottom:12px;padding-bottom:2px;scrollbar-width:none;}
.cm-nav-scroll::-webkit-scrollbar{display:none;}
.cm-nav-btn{background:#fff;border:1px solid var(--g2);border-radius:20px;padding:6px 13px;font-size:12px;font-weight:600;cursor:pointer;color:var(--g7);white-space:nowrap;min-height:32px;text-decoration:none;display:inline-flex;align-items:center;}
.cm-nav-btn.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.cm-nav-btn:hover{border-color:var(--blue);color:var(--blue);text-decoration:none;}
.cm-body{background:#fff;border:1px solid var(--g2);border-radius:10px;padding:16px;}
.fgrp{margin-bottom:13px;}
.flbl{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.flbl label{font-size:10px;font-weight:700;color:var(--g7);text-transform:uppercase;letter-spacing:.5px;}
.ftype{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;}
.ft-text{background:var(--blue-light);color:var(--blue);}.ft-ta{background:#eef0f8;color:var(--blue-dark);}.ft-img{background:#e0f7f0;color:#0b6b50;}.ft-meta{background:#fef3c7;color:#92400e;}
.cm-inp{width:100%;border:1.5px solid var(--g2);border-radius:7px;padding:8px 10px;font-size:13px;color:var(--text);background:#fff;}
.cm-ta{min-height:80px;resize:vertical;line-height:1.6;}
.cm-meta{background:#fffbeb;border-color:#fcd34d;}
.ctr{font-size:11px;color:var(--g5);text-align:right;margin-top:2px;}
.ctr.warn{color:var(--amber);}.ctr.bad{color:var(--red);}
.img-field{border:1.5px dashed var(--g2);border-radius:8px;padding:11px;}
.img-prev{width:100%;max-height:130px;object-fit:cover;border-radius:6px;margin-bottom:7px;}
.img-ph{height:65px;background:var(--g1);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--g5);margin-bottom:7px;}
.img-row{display:flex;gap:5px;flex-wrap:wrap;align-items:center;}
.img-path{flex:1;min-width:110px;border:1.5px solid var(--g2);border-radius:6px;padding:7px 9px;font-size:11px;font-family:monospace;color:var(--text);}
.btn-lib{background:var(--g1);color:var(--g7);border:1.5px solid var(--g2);border-radius:6px;padding:7px 11px;font-size:11px;font-weight:500;cursor:pointer;}
.btn-upl{background:var(--blue);color:#fff;border:none;border-radius:6px;padding:7px 11px;font-size:11px;font-weight:600;cursor:pointer;}
.save-bar{background:#fff;border-top:2px solid var(--g2);padding:12px 0 0;display:flex;align-items:center;justify-content:space-between;margin-top:8px;}
.save-bar p{font-size:11px;color:var(--g5);}
.btn-save-pg{background:var(--blue);color:#fff;border:none;border-radius:7px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer;}
.saved-msg{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;border-radius:7px;padding:8px 12px;font-size:13px;margin-bottom:10px;display:none;}

/* CRM LOGIN */
.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-dark),var(--blue));padding:20px;}
.login-card{background:#fff;border-radius:14px;padding:34px;width:100%;max-width:340px;box-shadow:0 8px 40px rgba(0,0,0,.2);}
.login-card img{height:52px;width:auto;border-radius:7px;margin:0 auto 18px;display:block;object-fit:contain;}
.login-card h2{font-size:20px;font-weight:700;color:var(--blue-dark);text-align:center;margin-bottom:3px;}
.login-card p{font-size:13px;color:var(--g5);text-align:center;margin-bottom:20px;}
.login-field{margin-bottom:13px;}
.login-field label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--g7);margin-bottom:4px;}
.login-field input{width:100%;border:1.5px solid var(--g2);border-radius:8px;padding:10px 12px;font-size:14px;}
.pw-wrap{position:relative;}
.pw-wrap input{padding-right:42px;}
.pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:var(--g5);padding:2px;}
.pw-strength{font-size:12px;font-weight:600;margin-top:4px;min-height:16px;}
.login-btn{width:100%;background:var(--blue);color:#fff;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:700;cursor:pointer;margin-top:6px;}
.login-btn:hover{background:var(--blue-dark);}
.login-footer{text-align:center;margin-top:14px;font-size:13px;}
.login-footer a{color:var(--blue);}
.login-error{background:#fee2e2;color:#991b1b;border-radius:7px;padding:9px 12px;font-size:13px;margin-bottom:12px;border:1px solid #fca5a5;}
.login-info{background:#d1fae5;color:#065f46;border-radius:7px;padding:9px 12px;font-size:13px;margin-bottom:12px;border:1px solid #6ee7b7;}
