:root{--dark:#080b12;--navy:#0d1525;--gold:#d8a638;--gold2:#f5c85f;--muted:#687082;--line:#e9edf4;--soft:#f6f8fb;--white:#fff;--success:#17b26a;--danger:#ef4444;--info:#2f80ed;--shadow:0 16px 40px rgba(15,23,42,.10)}*{box-sizing:border-box}body{font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;margin:0;background:#fff;color:#141822}.navbar{transition:.25s}.navbar.glass{background:rgba(8,11,18,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:38px;height:38px;border:3px solid var(--gold);display:grid;place-items:center;position:relative}.brand-mark:after{content:'';width:18px;height:18px;border:2px solid #fff;position:absolute;right:-7px;bottom:-7px;background:var(--dark)}.brand-text{font-weight:900;line-height:1;letter-spacing:.3px}.brand-sub{font-size:10px;letter-spacing:4px;color:var(--gold)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));border:0;color:#171000;font-weight:800;border-radius:12px;padding:12px 20px;box-shadow:0 10px 25px rgba(216,166,56,.22)}.btn-outline-light2{border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:12px;padding:11px 20px;font-weight:700}.hero{min-height:650px;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.56),rgba(0,0,0,.22)),url('assets/img/sample/living-room-frame-wall.png') center/cover no-repeat;color:white;padding-top:110px;display:flex;align-items:center}.hero h1{font-size:clamp(42px,6vw,76px);font-weight:900;letter-spacing:-2px}.hero p{max-width:560px;color:#e4e8ef;font-size:18px}.feature-pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px 16px;color:#f6f6f6}.section{padding:75px 0}.section-title{font-weight:900;letter-spacing:-.8px}.section-sub{color:var(--muted);max-width:680px;margin:auto}.service-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:white;box-shadow:var(--shadow);height:100%;transition:.25s}.service-card:hover{transform:translateY(-6px)}.service-card img{height:210px;width:100%;object-fit:cover}.service-card .icon{width:54px;height:54px;margin-top:-35px;background:white;border:1px solid var(--line);border-radius:16px;display:grid;place-items:center;color:var(--gold);font-size:22px;box-shadow:0 10px 25px rgba(0,0,0,.08)}.mini-type{border:1px solid var(--line);border-radius:18px;padding:20px;text-align:center;background:white;height:100%;transition:.2s}.mini-type:hover{border-color:var(--gold);box-shadow:var(--shadow)}.mini-type i{font-size:28px;color:var(--gold);margin-bottom:10px}.dark-band{background:linear-gradient(90deg,#080b12,#151515),url('https://source.unsplash.com/1800x700/?frame,studio') center/cover fixed;color:white;position:relative}.dark-band:before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.62)}.dark-band .container{position:relative}.process-step{position:relative;text-align:center}.process-num{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--gold);color:var(--gold);font-weight:900;margin:0 auto 14px;background:white}.gallery-img{height:180px;width:100%;object-fit:cover;border-radius:16px;box-shadow:0 8px 25px rgba(0,0,0,.12)}.testimonial{border:1px solid var(--line);border-radius:18px;padding:22px;background:white;height:100%}.stars{color:var(--gold)}.quote-box{background:#0d1525;color:white;border-radius:30px;padding:38px;box-shadow:var(--shadow)}.form-control,.form-select{height:50px;border-radius:12px;border-color:#dfe4ec}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(216,166,56,.15);border-color:var(--gold)}footer{background:#080b12;color:#c8ced8;padding:45px 0}.whatsapp-float{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:white;font-size:28px;z-index:50;box-shadow:0 15px 30px rgba(37,211,102,.35);text-decoration:none}.admin-body{background:#f4f7fb}.sidebar{background:#08111f;color:white;min-height:100vh;position:fixed;left:0;top:0;width:270px;padding:24px 18px}.sidebar .nav-link{color:#cbd5e1;border-radius:12px;padding:12px 14px;margin:4px 0;font-weight:650}.sidebar .nav-link.active,.sidebar .nav-link:hover{background:rgba(255,255,255,.10);color:white}.admin-main{margin-left:270px;min-height:100vh}.topbar{height:74px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.content{padding:28px}.stat-card,.admin-card{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 25px rgba(15,23,42,.04)}.stat-card{padding:24px}.stat-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-size:24px;background:#eef5ff;color:#2f80ed}.table{vertical-align:middle}.badge-soft{border-radius:999px;padding:7px 10px;font-weight:800}.login-wrap{min-height:100vh;background:linear-gradient(135deg,#080b12,#162037);display:grid;place-items:center}.login-card{background:white;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.35);width:min(440px,92vw);padding:32px}@media(max-width:991px){.hero{min-height:620px;padding-top:95px}.sidebar{position:relative;width:100%;min-height:auto}.admin-main{margin-left:0}.topbar{padding:0 16px}.content{padding:18px}.navbar-collapse{background:rgba(0,0,0,.96);padding:16px;border-radius:14px;margin-top:12px}}@media(max-width:576px){.section{padding:52px 0}.hero h1{font-size:39px}.quote-box{padding:24px;border-radius:22px}.service-card img{height:170px}}


.brand-logo{display:block;width:auto;object-fit:contain}
.navbar-brand{padding:0;margin-right:1rem;display:flex;align-items:center}
.brand-logo.nav-logo{height:74px;max-width:170px}
.brand-logo.admin-logo{height:86px;max-width:210px}
.brand-logo.login-logo{height:120px;max-width:240px;margin-inline:auto}
.footer-logo{height:90px;max-width:220px;width:auto;object-fit:contain}
@media(max-width:991px){.brand-logo.nav-logo{height:64px;max-width:145px}}
@media(max-width:576px){.brand-logo.nav-logo{height:54px;max-width:120px}.footer-logo{height:74px;max-width:180px}.brand-logo.login-logo{height:96px;max-width:200px}}


/* v6 AJAX and professional dashboard updates */
.ajax-alert .alert{border-radius:16px;border:0;font-weight:700}.ajax-fade{animation:ajaxFade .25s ease}@keyframes ajaxFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.fw-black{font-weight:900}.dashboard-hero{background:radial-gradient(circle at top right,rgba(216,166,56,.28),transparent 32%),linear-gradient(135deg,#08111f,#121927);border-radius:24px;color:#fff;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 18px 45px rgba(8,17,31,.18)}.dash-eyebrow{display:inline-flex;background:rgba(216,166,56,.15);border:1px solid rgba(216,166,56,.35);color:#f5c85f;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px}.dash-actions{display:flex;flex-wrap:wrap;gap:10px}.stat-card-pro{display:block;color:#111827;border:1px solid #e8edf5;transition:.22s;position:relative;overflow:hidden}.stat-card-pro:before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:#2f80ed}.stat-card-pro.gold:before{background:#d8a638}.stat-card-pro.green:before{background:#17b26a}.stat-card-pro.purple:before{background:#7c3aed}.stat-card-pro:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(15,23,42,.10);color:#111827}.stat-card-pro .stat-icon{background:#eff6ff;color:#2f80ed}.stat-card-pro.gold .stat-icon{background:#fff7e6;color:#c17a00}.stat-card-pro.green .stat-icon{background:#ecfdf3;color:#079455}.stat-card-pro.purple .stat-icon{background:#f4f3ff;color:#6941c6}.stat-link-text{color:#2563eb}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.status-box{border:1px solid #e8edf5;border-radius:18px;padding:14px;text-align:center;color:#111827;background:#fbfcff;transition:.2s}.status-box:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.08);color:#111827}.status-box b{display:block;font-size:28px;line-height:1}.status-box small{color:#687082;font-weight:800}.status-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-bottom:8px;background:#2f80ed}.status-dot.progress-dot{background:#f79009}.status-dot.done{background:#17b26a}.progress-slim{height:9px;border-radius:999px;background:#edf2f7}.progress-slim .progress-bar{border-radius:999px}.dashboard-table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#687082;background:#f8fafc}.status-pill{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;background:#eaf2ff;color:#1d4ed8}.status-pill.in-progress{background:#fff4e5;color:#b54708}.status-pill.completed{background:#ecfdf3;color:#027a48}.status-pill.cancelled,.status-pill.canceled{background:#fef3f2;color:#b42318}.message-item{display:block;border-bottom:1px solid #edf2f7;padding:12px 0;color:#111827}.message-item:hover p,.message-item:hover b{color:#2563eb}@media(max-width:768px){.dashboard-hero{display:block}.dash-actions{margin-top:18px}.status-grid{grid-template-columns:1fr}.dashboard-table{min-width:780px}}

/* v7 professional admin dashboard polish */
.admin-body{background:#f3f5f9;color:#111827}.content{padding:32px}.topbar{height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(16,24,40,.06)}.sidebar{background:linear-gradient(180deg,#07101e 0%,#0a1424 58%,#050915 100%);box-shadow:16px 0 40px rgba(15,23,42,.10)}.sidebar .nav-link{display:flex;align-items:center;gap:6px;min-height:46px;margin:6px 0;border:1px solid transparent}.sidebar .nav-link.active{background:linear-gradient(135deg,rgba(216,166,56,.18),rgba(255,255,255,.08));border-color:rgba(216,166,56,.22)}.sidebar .nav-link:hover{border-color:rgba(255,255,255,.10)}
.bft-dashboard{max-width:1580px;margin:0 auto}.bft-hero-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 18%,rgba(245,200,95,.28),transparent 28%),linear-gradient(135deg,#07101e 0%,#101828 52%,#151515 100%);border-radius:30px;color:#fff;padding:34px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:28px;box-shadow:0 22px 55px rgba(8,17,31,.18)}.bft-hero-panel:before{content:'';position:absolute;inset:auto -80px -130px auto;width:360px;height:360px;background:rgba(216,166,56,.18);filter:blur(30px);border-radius:50%}.bft-hero-copy,.bft-hero-summary{position:relative}.bft-chip{display:inline-flex;align-items:center;border:1px solid rgba(216,166,56,.38);background:rgba(216,166,56,.13);color:#f7d176;border-radius:999px;padding:8px 14px;font-weight:900;font-size:12px;letter-spacing:.8px;text-transform:uppercase;margin-bottom:16px}.bft-hero-panel h1{font-size:clamp(30px,3vw,48px);font-weight:950;letter-spacing:-1.5px;margin:0 0 8px}.bft-hero-panel p{max-width:720px;color:rgba(255,255,255,.68);font-size:16px}.bft-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.bft-hero-summary{display:grid;gap:14px}.hero-mini-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);border-radius:22px;padding:18px;backdrop-filter:blur(12px)}.hero-mini-card small{display:block;color:#cbd5e1;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.hero-mini-card strong{display:block;font-size:34px;line-height:1;font-weight:950;color:#fff;margin:7px 0}.hero-mini-card span{color:rgba(255,255,255,.62);font-size:13px;font-weight:700}
.bft-kpi-card{height:100%;min-height:154px;background:#fff;border:1px solid #e6ebf2;border-radius:24px;padding:22px;display:flex;align-items:flex-start;gap:16px;text-decoration:none;color:#111827;box-shadow:0 14px 34px rgba(15,23,42,.055);transition:.24s;position:relative;overflow:hidden}.bft-kpi-card:after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:#2f80ed}.bft-kpi-card.gold:after{background:#d8a638}.bft-kpi-card.green:after{background:#17b26a}.bft-kpi-card.purple:after{background:#7c3aed}.bft-kpi-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(15,23,42,.10);color:#111827}.kpi-icon{width:58px;height:58px;flex:0 0 58px;border-radius:18px;display:grid;place-items:center;font-size:23px;background:#eff6ff;color:#2f80ed}.bft-kpi-card.gold .kpi-icon{background:#fff7e6;color:#b7791f}.bft-kpi-card.green .kpi-icon{background:#ecfdf3;color:#079455}.bft-kpi-card.purple .kpi-icon{background:#f4f3ff;color:#6941c6}.kpi-body small{display:block;color:#667085;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.55px}.kpi-body strong{display:block;font-size:36px;line-height:1.05;font-weight:950;letter-spacing:-1px;margin:6px 0}.kpi-body span{font-weight:850;font-size:13px;color:#2563eb}
.bft-card{background:#fff;border:1px solid #e6ebf2;border-radius:26px;padding:24px;box-shadow:0 14px 34px rgba(15,23,42,.052)}.bft-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.bft-card-head h5{font-weight:950;letter-spacing:-.3px;margin:0}.bft-card-head p{margin:3px 0 0;color:#667085;font-size:13px}.chart-wrap{height:360px}.pipeline-ring{display:flex;align-items:center;gap:18px}.ring{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d8a638 calc(var(--value)*1%),#edf2f7 0);position:relative;flex:0 0 118px}.ring:after{content:'';position:absolute;inset:12px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #edf2f7}.ring span{position:relative;z-index:2;font-size:24px;font-weight:950}.pipeline-list{display:grid;grid-template-columns:1fr;gap:12px}.pipeline-item{display:flex;align-items:center;gap:12px;background:#f8fafc;border:1px solid #edf2f7;border-radius:18px;padding:14px;text-decoration:none;color:#111827;transition:.2s}.pipeline-item:hover{background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06);color:#111827}.pipeline-item b{display:block;font-size:24px;line-height:1}.pipeline-item small{display:block;color:#667085;font-weight:800}.dot{width:14px;height:14px;border-radius:50%;display:inline-block}.dot.blue{background:#2f80ed}.dot.amber{background:#f79009}.dot.green{background:#17b26a}
.bft-table{min-width:820px}.bft-table thead th{font-size:11px;letter-spacing:.65px;text-transform:uppercase;color:#667085;background:#f8fafc;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;padding:14px}.bft-table tbody td{padding:16px 14px;border-bottom:1px solid #edf2f7}.customer-cell{display:flex;align-items:center;gap:12px}.customer-cell b{display:block}.customer-cell small{display:block;color:#667085}.avatar-dot{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#111827,#374151);color:#f7d176;font-weight:950}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.25px;background:#eaf2ff;color:#1d4ed8}.status-pill.in-progress{background:#fff4e5;color:#b54708}.status-pill.completed{background:#ecfdf3;color:#027a48}.status-pill.cancelled,.status-pill.canceled{background:#fef3f2;color:#b42318}.service-progress{margin-bottom:18px}.service-progress b,.service-progress span{font-size:13px}.service-progress .progress{height:10px;border-radius:999px;background:#edf2f7;margin-top:8px}.service-progress .progress-bar{background:linear-gradient(90deg,#d8a638,#f5c85f);border-radius:999px}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-grid a{min-height:92px;border:1px solid #edf2f7;border-radius:20px;background:#f8fafc;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#111827;font-weight:900;gap:9px;transition:.2s}.quick-grid a i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff;color:#b7791f;box-shadow:0 8px 20px rgba(15,23,42,.05)}.quick-grid a:hover{background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.07);transform:translateY(-3px)}.message-card{display:block;height:100%;border:1px solid #edf2f7;background:#f8fafc;border-radius:20px;padding:17px;text-decoration:none;color:#111827;transition:.2s}.message-card:hover{background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06);color:#111827}.message-card span{display:block;color:#b7791f;font-weight:900;font-size:12px;margin:6px 0}.message-card p{margin:0;color:#667085;font-size:13px;line-height:1.5}
@media(max-width:1200px){.bft-hero-panel{grid-template-columns:1fr}.bft-hero-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.content{padding:18px}.bft-hero-panel{padding:24px;border-radius:24px}.bft-hero-summary{grid-template-columns:1fr}.bft-card-head{display:block}.bft-card-head .btn{margin-top:12px}.chart-wrap{height:280px}.pipeline-ring{align-items:flex-start}.quick-grid{grid-template-columns:1fr}.bft-kpi-card{min-height:auto}.kpi-body strong{font-size:30px}}


/* v8 dashboard design closer to reference mockup */
.dashboard-pro-ref{max-width:1540px;margin:0 auto}
.ref-stat-card{display:block;background:#fff;border:1px solid #eaedf3;border-radius:20px;padding:22px;box-shadow:0 10px 26px rgba(15,23,42,.04);color:#101828;transition:.18s}
.ref-stat-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.08);color:#101828}
.ref-stat-head{font-size:12px;font-weight:800;color:#667085;margin-bottom:14px}
.ref-stat-body{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ref-stat-number{font-size:46px;line-height:1;font-weight:900;letter-spacing:-1.4px;color:#111827;margin-bottom:12px}
.ref-stat-link{font-size:13px;font-weight:700;color:#2563eb}
.ref-stat-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-size:24px;background:#eef4ff;color:#7aa2ff}
.ref-stat-card.gold .ref-stat-icon{background:#fff6e8;color:#f0b84a}
.ref-stat-card.orange .ref-stat-icon{background:#fff4eb;color:#f59e0b}
.ref-stat-card.green .ref-stat-icon{background:#ecfdf3;color:#22c55e}
.ref-card{background:#fff;border:1px solid #eaedf3;border-radius:20px;padding:22px;box-shadow:0 10px 26px rgba(15,23,42,.04)}
.ref-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.ref-card-head h5{margin:0;font-size:19px;font-weight:850;color:#111827}
.mini-filter{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:34px;padding:0 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#667085;font-size:12px;font-weight:700}
.ref-chart-lg{height:290px}
.ref-donut-wrap{display:flex;align-items:center;gap:24px;min-height:290px}
.ref-donut{width:230px;max-width:230px;height:230px;position:relative}
.ref-legend-list{flex:1;display:grid;gap:14px}
.ref-legend-item{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:10px;font-size:13px}
.legend-dot{width:10px;height:10px;border-radius:50%}
.legend-label{color:#475467;font-weight:700}
.legend-value{color:#111827;font-weight:800}
.ref-table thead th{background:#f8fafc;color:#667085;font-size:12px;text-transform:none;font-weight:800;border-bottom:1px solid #eaedf3;padding:14px}
.ref-table tbody td{padding:14px;border-bottom:1px solid #eef2f6;font-size:14px;color:#344054}
.ref-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;background:#eaf2ff;color:#2563eb}
.ref-badge.new{background:#eaf2ff;color:#2563eb}
.ref-badge.in-progress{background:#fff4e5;color:#f59e0b}
.ref-badge.completed{background:#ecfdf3;color:#16a34a}
.ref-progress-item{margin-bottom:18px}
.ref-progress-item span{font-size:14px;color:#344054;font-weight:700}
.ref-progress-item strong{font-size:13px;color:#111827}
.ref-progress{height:8px;border-radius:999px;background:#eef2f6}
.ref-progress .progress-bar{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:999px}
.ref-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ref-status-mini{background:#f8fafc;border:1px solid #eef2f6;border-radius:16px;padding:16px;text-align:center}
.ref-status-mini small{display:block;color:#667085;font-size:12px;font-weight:700;margin-bottom:8px}
.ref-status-mini strong{font-size:28px;font-weight:900;color:#2563eb;line-height:1}
.ref-status-mini.amber strong{color:#f59e0b}
.ref-status-mini.green strong{color:#16a34a}
.ref-message-item{padding:15px 0;border-bottom:1px solid #eef2f6}
.ref-message-item:last-child{border-bottom:0;padding-bottom:0}
.ref-message-item strong{font-size:14px;color:#111827}
@media(max-width:991px){.ref-donut-wrap{flex-direction:column;align-items:flex-start}.ref-donut{width:210px;height:210px;max-width:210px}}
@media(max-width:768px){.ref-stat-number{font-size:38px}.ref-chart-lg{height:250px}.ref-status-grid{grid-template-columns:1fr}.ref-card-head{flex-direction:column;align-items:flex-start}}


/* v9 responsive admin sidebar toggle */
.sidebar-toggle-btn{
  width:44px;height:44px;border:1px solid #e6ebf2;border-radius:14px;background:#fff;
  color:#101828;display:grid;place-items:center;font-size:18px;box-shadow:0 8px 18px rgba(15,23,42,.05);
  transition:.2s;flex:0 0 44px;
}
.sidebar-toggle-btn:hover{background:#f8fafc;color:#b7791f;transform:translateY(-1px)}
.sidebar-close-btn{
  position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);
  border-radius:12px;background:rgba(255,255,255,.08);color:#fff;display:none;place-items:center;z-index:5;
}
.sidebar-overlay{display:none}

/* Desktop collapsed sidebar */
@media(min-width:992px){
  .sidebar{transition:width .25s ease, transform .25s ease, padding .25s ease}
  .admin-main{transition:margin-left .25s ease}
  body.sidebar-collapsed .sidebar{width:88px;padding-left:12px;padding-right:12px}
  body.sidebar-collapsed .admin-main{margin-left:88px}
  body.sidebar-collapsed .sidebar .brand-logo.admin-logo{height:58px!important;max-width:58px!important;object-fit:cover!important}
  body.sidebar-collapsed .sidebar .nav-link{
    justify-content:center;padding:12px;margin:6px auto;width:52px;min-height:52px;border-radius:16px;
  }
  body.sidebar-collapsed .sidebar .nav-link i{margin-right:0!important}
  body.sidebar-collapsed .sidebar .nav-link{font-size:0}
  body.sidebar-collapsed .sidebar .nav-link i{font-size:17px}
  body.sidebar-collapsed .sidebar .nav-link.mt-4{margin-top:20px!important}
}

/* Mobile/tablet off-canvas sidebar */
@media(max-width:991px){
  .sidebar{
    position:fixed!important;left:0;top:0;width:285px!important;min-height:100vh!important;height:100vh;
    transform:translateX(-105%);z-index:1050;overflow-y:auto;transition:transform .25s ease;
  }
  body.sidebar-mobile-open .sidebar{transform:translateX(0)}
  .admin-main{margin-left:0!important}
  .sidebar-close-btn{display:grid}
  .sidebar-overlay{
    position:fixed;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(2px);z-index:1040;display:none;
  }
  body.sidebar-mobile-open .sidebar-overlay{display:block}
  body.sidebar-mobile-open{overflow:hidden}
  .topbar{gap:12px}
}




/* v11 fixed admin footer layout */
.admin-main{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.admin-main > .content{
  flex:1 0 auto;
}
.admin-page-footer{
  flex-shrink:0;
  background:#ffffff !important;
  border-top:1px solid #e6ebf2 !important;
  color:#667085 !important;
  padding:18px 28px !important;
  margin:0 !important;
  text-align:center !important;
  font-weight:700 !important;
  box-shadow:0 -1px 0 rgba(16,24,40,.02);
}
.admin-page-footer small{
  font-size:13px !important;
  color:#667085 !important;
}
@media(max-width:768px){
  .admin-page-footer{
    padding:16px 18px !important;
  }
}


/* v12 quote requests AJAX search and summary cards */
.quote-admin-page{max-width:1540px;margin:0 auto}
.quote-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.quote-summary-card{background:#fff;border:1px solid #e6ebf2;border-radius:20px;padding:18px;display:flex;align-items:center;gap:14px;text-decoration:none;color:#101828;box-shadow:0 10px 26px rgba(15,23,42,.045);transition:.2s}
.quote-summary-card:hover,.quote-summary-card.active{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,23,42,.09);color:#101828;border-color:rgba(216,166,56,.55)}
.summary-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:20px;flex:0 0 50px;background:#eef4ff;color:#2563eb}
.summary-icon.new{background:#eaf2ff;color:#2563eb}
.summary-icon.progress-i{background:#fff4e5;color:#f59e0b}
.summary-icon.completed{background:#ecfdf3;color:#16a34a}
.summary-icon.cancelled{background:#fef3f2;color:#dc2626}
.summary-icon.total{background:#f4f3ff;color:#7c3aed}
.quote-summary-card small{display:block;color:#667085;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
.quote-summary-card strong{display:block;font-size:30px;line-height:1;font-weight:950;margin:5px 0;color:#111827}
.quote-summary-card span{display:block;color:#667085;font-size:12px;font-weight:700}
.quote-search-card{padding:24px}
.quote-search-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.quote-search-head h5{margin:0;font-size:20px;font-weight:900}
.quote-search-head p{margin:5px 0 0;color:#667085}
.quote-result-count{background:#f8fafc;border:1px solid #e6ebf2;border-radius:999px;padding:8px 14px;color:#475467;font-weight:800;white-space:nowrap}
.search-input-wrap{position:relative}
.search-input-wrap i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#98a2b3}
.search-input-wrap .form-control{padding-left:44px}
.quote-search-status{display:inline-flex;align-items:center;color:#667085;font-weight:800;min-height:42px}
.quote-table{min-width:1180px}
.quote-customer{display:flex;align-items:center;gap:12px;min-width:210px}
.quote-customer span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#111827,#344054);color:#f5c85f;font-weight:950;flex:0 0 40px}
.quote-customer b{display:block;font-size:14px}
.quote-customer small{display:block;color:#667085;font-size:12px}
.quote-service-pill{display:inline-flex;background:#f8fafc;border:1px solid #e6ebf2;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:#344054;white-space:nowrap}
.quote-details{min-width:280px;font-size:13px;color:#344054}
.quote-details span{color:#98a2b3;margin:0 4px}
.quote-details p{margin:6px 0 0;color:#667085;max-width:420px;white-space:normal}
.quote-thumb img{width:82px;height:58px;object-fit:cover;border-radius:12px;border:1px solid #e6ebf2;box-shadow:0 6px 16px rgba(15,23,42,.08)}
.quote-status-wrap{display:grid;gap:8px;min-width:150px}
.quote-status-select{height:34px;border-radius:10px;font-weight:700;font-size:12px}
.table-loading{opacity:.45;pointer-events:none;transition:.2s}
@media(max-width:1300px){.quote-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.quote-summary-grid{grid-template-columns:1fr}.quote-search-head{display:block}.quote-result-count{display:inline-flex;margin-top:12px}.quote-search-card{padding:18px}}


/* v13 editable admin footer settings */
/* v39 settings page full-width admin layout */
.settings-admin-page{width:100%;max-width:none;margin:0}
.settings-card,.settings-preview-card{height:100%}
.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.settings-card-head h5,.settings-preview-card h5{margin:0;font-size:20px;font-weight:900;color:#111827}
.settings-card-head p{margin:5px 0 0;color:#667085}
.settings-divider{height:1px;background:#e6ebf2;margin:8px 0 4px}
.admin-footer-preview{
  background:#ffffff;
  border:1px solid #e6ebf2;
  border-radius:16px;
  padding:18px;
  text-align:center;
  color:#667085;
  font-weight:800;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}


/* v14 public service card polish: no floating icons + image hover preview */
.service-card-pro{border-radius:24px;overflow:hidden;position:relative}
.service-card-pro .icon{display:none!important}
.service-img-wrap{height:225px;overflow:hidden;position:relative;background:#111827;cursor:zoom-in}
.service-img-wrap img{height:100%!important;width:100%;object-fit:cover;transform:scale(1);transition:transform .55s ease, filter .55s ease}
.service-img-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.58));opacity:0;transition:opacity .35s ease}
.service-img-overlay span{background:rgba(255,255,255,.94);color:#111827;border-radius:999px;padding:10px 18px;font-weight:900;font-size:13px;box-shadow:0 12px 28px rgba(0,0,0,.20);transform:translateY(12px);transition:transform .35s ease}
.service-card-pro:hover{transform:translateY(-8px);box-shadow:0 24px 55px rgba(15,23,42,.16)}
.service-card-pro:hover .service-img-wrap img{transform:scale(1.18);filter:brightness(.82)}
.service-card-pro:hover .service-img-overlay{opacity:1}
.service-card-pro:hover .service-img-overlay span{transform:translateY(0)}
.service-card-pro h5{font-size:21px;letter-spacing:-.3px}
.service-card-pro .service-link{color:#b7861e}
.service-card-pro .service-link:hover{color:#8f650f}
@media(max-width:576px){.service-img-wrap{height:195px}.service-card-pro h5{font-size:19px}}


/* v15 hero right-side image */
.hero-visual{position:relative;border-radius:30px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.hero-visual img{display:block;width:100%;height:420px;object-fit:cover}
.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,24,39,.03),rgba(17,24,39,.28))}
.hero-visual-badge{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;display:flex;align-items:center;gap:12px;background:rgba(10,17,31,.76);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);color:#fff;padding:14px 16px;border-radius:18px;box-shadow:0 12px 28px rgba(0,0,0,.20)}
.hero-visual-badge i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1f1703;font-size:18px;flex:0 0 42px}
.hero-visual-badge span{font-weight:800;font-size:14px;letter-spacing:.2px}
@media(max-width:991px){.hero-visual{margin-top:10px}.hero-visual img{height:320px}}
@media(max-width:576px){.hero-visual img{height:260px}.hero-visual-badge{left:14px;right:14px;bottom:14px;padding:12px 14px}}


/* v19 testimonials admin cards */
.testimonial-admin-card{
  height:100%;
  background:#fff;
  border:1px solid #e6ebf2;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.testimonial-admin-card h6{
  font-weight:900;
  margin:0 0 4px;
}
.testimonial-admin-card p{
  color:#475467;
  line-height:1.55;
  margin:0 0 8px;
}


/* v20 topbar user dropdown + users page */
.admin-user-menu{position:relative}
.admin-user-trigger{border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:18px;transition:.2s}
.admin-user-trigger:hover{background:#f8fafc}
.admin-user-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#f4f6f9;color:#0f172a;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}
.admin-user-avatar.small{width:40px;height:40px;flex:0 0 40px;background:#111827;color:#f5c85f}
.admin-user-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:260px;background:#fff;border:1px solid #e6ebf2;border-radius:20px;box-shadow:0 22px 55px rgba(15,23,42,.16);padding:10px;z-index:1000;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}
.admin-user-menu:hover .admin-user-dropdown,.admin-user-menu:focus-within .admin-user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-user-head{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #eef2f6;margin-bottom:6px}
.dropdown-user-head b{display:block;color:#111827}
.dropdown-user-head small{display:block;color:#667085;font-size:12px}
.admin-user-dropdown a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#344054;font-weight:800;padding:11px 12px;border-radius:14px;transition:.16s}
.admin-user-dropdown a i{width:20px;color:#b7791f}
.admin-user-dropdown a:hover{background:#f8fafc;color:#111827}
.admin-user-dropdown a.logout-link{color:#dc2626}
.admin-user-dropdown a.logout-link i{color:#dc2626}
@media(max-width:576px){.admin-user-dropdown{right:-10px;width:245px}.admin-user-trigger{padding:4px}}


/* v21 users page improved layout */
.users-admin-layout{align-items:flex-start}
.users-list-card{min-height:360px}
.user-form-card{max-width:540px;margin-left:auto}
.users-add-btn{min-width:132px;white-space:nowrap}
.users-table-wrap{overflow-x:auto}
.users-table{min-width:760px}
.users-table .quote-customer{min-width:210px}
@media(min-width:1200px){
  .users-admin-layout .col-xl-8{width:68%}
  .users-admin-layout .col-xl-4{width:32%}
}
@media(max-width:1199px){
  .user-form-card{max-width:none;margin-left:0}
}
@media(max-width:768px){
  .users-add-btn{width:100%;margin-top:12px}
}


/* v23 company logo upload settings */
.company-logo-preview-box{
  min-height:150px;
  border:1px solid #e6ebf2;
  border-radius:18px;
  background:#f8fafc;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.company-logo-preview-box img{
  max-width:220px;
  max-height:130px;
  object-fit:contain;
  display:block;
}


/* v24 WhatsApp button in quote requests */
.quote-phone-cell{
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.quote-whatsapp-btn{
  width:34px;
  height:34px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  background:#25d366;
  color:#fff !important;
  text-decoration:none;
  font-size:18px;
  box-shadow:0 8px 18px rgba(37,211,102,.28);
  transition:.18s ease;
}
.quote-whatsapp-btn:hover{
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 12px 24px rgba(37,211,102,.36);
  background:#1ebe5d;
}


/* v25 invoice module */
.finance-workspace{
  font-size:13px;
  line-height:1.45;
  color:#253044;
}
.finance-workspace .ref-card{
  border-radius:14px;
}
.finance-workspace .ref-card-head h5,
.finance-workspace h5{
  font-size:17px;
  font-weight:850;
  letter-spacing:0;
}
.finance-workspace .ref-card-head p,
.finance-workspace p,
.finance-workspace small{
  font-size:12.5px;
}
.finance-workspace .form-label{
  font-size:12.5px;
  margin-bottom:6px;
}
.finance-workspace .form-control,
.finance-workspace .form-select{
  height:42px;
  border-radius:10px;
  font-size:13px;
}
.finance-workspace textarea.form-control{
  height:auto;
  min-height:42px;
}
.finance-workspace .btn{
  min-height:36px;
  border-radius:9px;
  font-size:12.5px;
  font-weight:800;
  padding:8px 13px;
}
.invoice-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:22px;
}
.invoice-tabs a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 15px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e6ebf2;
  color:#344054;
  text-decoration:none;
  font-size:13px;
  font-weight:850;
  box-shadow:0 8px 20px rgba(15,23,42,.035);
}
.invoice-tabs a.active,.invoice-tabs a:hover{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#111827;
  border-color:transparent;
}
.invoice-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.invoice-summary-card{
  background:#fff;
  border:1px solid #e6ebf2;
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 10px 26px rgba(15,23,42,.045);
}
.invoice-summary-card small{
  display:block;
  color:#667085;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.5px;
  font-size:10.5px;
}
.invoice-summary-card strong{
  display:block;
  font-size:27px;
  font-weight:950;
  line-height:1;
  margin-top:8px;
}
.invoice-status{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  font-size:10.5px;
  font-weight:950;
  text-transform:uppercase;
  background:#eef4ff;
  color:#2563eb;
}
.invoice-status.paid{background:#ecfdf3;color:#16a34a}
.invoice-status.partially-paid{background:#fff4e5;color:#f59e0b}
.invoice-status.unpaid,.invoice-status.sent,.invoice-status.draft{background:#eaf2ff;color:#2563eb}
.invoice-status.overdue{background:#fff1f2;color:#e11d48}
.invoice-status.cancelled{background:#fef3f2;color:#dc2626}
.invoice-table{min-width:1100px}
.invoice-reminder-btn{
  background:#fff4e5;
  border-color:#fedf89;
  color:#b54708;
}
.invoice-reminder-btn:hover{
  background:#f79009;
  border-color:#f79009;
  color:#111827;
}
.invoice-reminder-meta{
  color:#b54708;
  font-weight:800;
  margin-top:3px;
}
.reminder-open-card{
  width:100%;
  max-width:none;
  margin:0;
}
.reminder-message-preview{
  min-height:132px;
  line-height:1.55;
}
.reminder-formal-note{
  font-size:12.5px;
  color:#344054;
}
.invoice-related-link{
  color:#175cd3;
  font-weight:900;
  text-decoration:none;
}
.invoice-related-link:hover{
  color:#0b4db3;
  text-decoration:underline;
}
.print-only-text{
  display:none;
}
.customer-action-cell{
  min-width:310px;
  white-space:nowrap;
}
.customer-action-buttons{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  width:max-content;
}
.customer-action-buttons form{
  margin:0;
  display:inline-flex;
  flex:0 0 auto;
}
.customer-action-buttons .btn{
  width:68px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border-radius:10px;
  font-size:12px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
  flex:0 0 68px;
}
.customer-profile-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.customer-profile-grid div{
  background:#f8fafc;
  border:1px solid #e6ebf2;
  border-radius:12px;
  padding:13px;
}
.customer-profile-grid small{
  display:block;
  color:#667085;
  font-weight:850;
  text-transform:uppercase;
  margin-bottom:6px;
}
.customer-profile-grid strong{
  display:block;
  color:#111827;
  font-size:13px;
  font-weight:800;
}
.customer-detail-note{
  background:#fffaf0;
  border:1px solid #f5d68b;
  border-radius:12px;
  padding:12px 13px;
  color:#5c420a;
  font-size:13px;
}
.finance-filter-form{
  background:#f8fafc;
  border:1px solid #e6ebf2;
  border-radius:12px;
  padding:12px;
}
.finance-filter-form .btn{
  height:42px;
}
@media(max-width:1200px){
  .customer-profile-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:576px){
  .customer-profile-grid{grid-template-columns:1fr}
}
.invoice-items-box{
  background:#f8fafc;
  border:1px solid #e6ebf2;
  border-radius:14px;
  padding:16px;
}
.invoice-item-table{min-width:900px}
.invoice-item-table thead th{
  font-size:11px;
  color:#667085;
  text-transform:uppercase;
  background:#fff;
}
.finance-workspace .ref-table thead th,
.finance-workspace .invoice-table thead th{
  font-size:11px;
  padding:12px 14px;
  letter-spacing:0;
}
.finance-workspace .ref-table tbody td,
.finance-workspace .invoice-table tbody td{
  font-size:13px;
  padding:12px 14px;
}
.finance-workspace .ref-table tbody td b,
.finance-workspace .invoice-table tbody td b{
  font-size:13px;
  font-weight:800;
}
.invoice-calc-card{
  background:#fff;
  border:1px solid #e6ebf2;
  border-radius:14px;
  padding:16px;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.invoice-totals div{
  display:flex;
  justify-content:space-between;
  padding:8px 0;
  color:#475467;
  font-weight:800;
}
.invoice-totals .grand{
  border-top:1px solid #e6ebf2;
  margin-top:6px;
  padding-top:14px;
  color:#111827;
  font-size:18px;
}
.invoice-totals .balance{
  color:#b7791f;
  font-size:18px;
}
.invoice-print-actions{
  max-width:1000px;
  margin:0 auto 18px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.invoice-print-sheet{
  max-width:1000px;
  margin:0 auto;
  background:#fff;
  color:#111827;
  border:1px solid #e6ebf2;
  border-radius:18px;
  padding:42px;
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.invoice-print-top{
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-bottom:2px solid #111827;
  padding-bottom:24px;
}
.invoice-print-logo{
  max-width:120px;
  max-height:90px;
  object-fit:contain;
  margin-bottom:10px;
}
.invoice-print-top h1{
  font-size:34px;
  font-weight:950;
  margin:0;
}
.invoice-print-top h3{
  font-size:18px;
  font-weight:900;
  color:#b7791f;
  margin:8px 0 18px;
}
.invoice-balance-box{
  border:1px solid #e6ebf2;
  border-radius:14px;
  padding:13px 16px;
  background:#f8fafc;
}
.invoice-balance-box small{display:block;color:#667085;font-weight:800}
.invoice-balance-box strong{display:block;font-size:22px}
.invoice-print-meta{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:32px;
  margin:28px 0;
}
.invoice-print-meta small{
  color:#667085;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.5px;
}
.invoice-print-meta table{width:100%}
.invoice-print-meta td,.invoice-print-meta th{padding:6px 0;text-align:left}
.invoice-print-meta td{color:#667085}
.invoice-print-table{
  width:100%;
  border-collapse:collapse;
  margin-top:16px;
}
.invoice-print-table th{
  background:#111827;
  color:#fff;
  padding:12px;
}
.invoice-print-table td{
  border-bottom:1px solid #e6ebf2;
  padding:14px 12px;
  vertical-align:top;
}
.invoice-total-wrap{
  display:flex;
  justify-content:flex-end;
  margin-top:20px;
}
.invoice-total-wrap table{
  width:360px;
}
.invoice-total-wrap td,.invoice-total-wrap th{
  padding:8px 0;
  border-bottom:1px solid #e6ebf2;
}
.invoice-total-wrap th{text-align:right}
.invoice-total-wrap .grand td,.invoice-total-wrap .grand th{
  font-size:18px;
  font-weight:950;
}
.invoice-total-wrap .balance td,.invoice-total-wrap .balance th{
  color:#b7791f;
  font-size:20px;
  font-weight:950;
}
.invoice-print-bottom{
  margin-top:30px;
}
.invoice-print-bottom h6{
  font-weight:950;
  margin-top:18px;
}
.invoice-signatures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  margin-top:70px;
}
.invoice-signatures span{
  display:block;
  border-top:1px solid #111827;
  height:1px;
}
.invoice-signatures p{
  margin-top:8px;
  font-weight:800;
}
@media(max-width:992px){
  .invoice-summary-grid{grid-template-columns:repeat(2,1fr)}
  .invoice-print-meta{grid-template-columns:1fr}
}
@media(max-width:576px){
  .invoice-summary-grid{grid-template-columns:1fr}
  .invoice-print-sheet{padding:24px}
  .invoice-print-top{display:block}
  .invoice-signatures{grid-template-columns:1fr;gap:40px}
}
@media print{
  body{background:#fff!important}
  .sidebar,.topbar,.admin-page-footer,.no-print{display:none!important}
  .print-only-text{display:inline!important}
  .admin-main{margin-left:0!important;display:block!important}
  .content{padding:0!important}
  .invoice-print-sheet{
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    max-width:none!important;
    width:100%!important;
    padding:0!important;
  }
  @page{size:A4;margin:12mm}
}


/* v26 invoice print polish */
.invoice-print-sheet{
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
}
.invoice-print-top{
  align-items:flex-start;
}
.invoice-print-top h4{
  font-size:20px;
  font-weight:950;
  margin:0 0 6px;
  text-transform:uppercase;
}
.invoice-print-top p{
  color:#475467;
  margin:0 0 4px;
  line-height:1.45;
}
.invoice-balance-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.invoice-balance-box.total{
  background:#111827;
  color:#fff;
  border-color:#111827;
}
.invoice-balance-box.total small{
  color:#d0d5dd;
}
.invoice-print-meta{
  border-bottom:1px solid #e6ebf2;
  padding-bottom:20px;
}
.invoice-print-meta h5{
  font-size:18px;
  font-weight:950;
  margin:5px 0 8px;
}
.invoice-print-meta p{
  color:#475467;
  margin:0 0 8px;
  line-height:1.5;
}
.invoice-print-meta table{
  background:#f8fafc;
  border:1px solid #e6ebf2;
  border-radius:14px;
  overflow:hidden;
}
.invoice-print-meta td,.invoice-print-meta th{
  padding:9px 12px;
  border-bottom:1px solid #e6ebf2;
}
.invoice-print-meta tr:last-child td,.invoice-print-meta tr:last-child th{
  border-bottom:0;
}
.invoice-print-table th:first-child{border-radius:10px 0 0 10px}
.invoice-print-table th:last-child{border-radius:0 10px 10px 0}
.invoice-print-table small{
  color:#667085;
  line-height:1.45;
}
.invoice-payments-print{
  margin-top:26px;
  border:1px solid #e6ebf2;
  border-radius:14px;
  padding:16px;
  background:#fcfcfd;
}
.invoice-payments-print h6{
  font-weight:950;
  margin:0 0 10px;
}
.invoice-payments-print table{
  width:100%;
  border-collapse:collapse;
}
.invoice-payments-print th{
  color:#667085;
  font-size:12px;
  text-transform:uppercase;
  border-bottom:1px solid #e6ebf2;
  padding:8px;
}
.invoice-payments-print td{
  border-bottom:1px solid #eef2f6;
  padding:9px 8px;
}
.invoice-payments-print tr:last-child td{
  border-bottom:0;
}
.invoice-print-bottom{
  border-top:1px solid #e6ebf2;
  padding-top:20px;
}
@media print{
  .invoice-print-meta table,.invoice-payments-print,.invoice-balance-box{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}


/* v27 invoice settings textarea size adjustment */
.invoice-bank-details-box{
  min-height:145px !important;
  max-height:165px;
  resize:vertical;
}
.invoice-footer-note-box{
  min-height:52px !important;
  max-height:90px;
  resize:vertical;
}


/* v28 create invoice bank details size adjustment */
.invoice-create-bank-details-box{
  min-height:145px !important;
  max-height:165px;
  resize:vertical;
}
.invoice-create-footer-note-box{
  min-height:52px !important;
  max-height:90px;
  resize:vertical;
}


/* v29 compact invoice print layout closer to uploaded sample PDF */
.invoice-print-sheet.compact-invoice{
  max-width:794px;
  width:794px;
  min-height:auto;
  padding:34px 38px;
  border-radius:0;
  box-shadow:0 8px 30px rgba(15,23,42,.10);
  font-size:12px;
}
.compact-invoice .invoice-print-top{
  padding-bottom:18px;
  border-bottom:2px solid #111827;
  gap:18px;
}
.compact-invoice .invoice-print-logo{
  max-width:76px;
  max-height:60px;
  margin-bottom:7px;
}
.compact-invoice .invoice-print-top h4{
  font-size:15px;
  margin-bottom:3px;
}
.compact-invoice .invoice-print-top p{
  font-size:11px;
  line-height:1.28;
  margin-bottom:2px;
}
.compact-invoice .invoice-print-top h1{
  font-size:29px;
  line-height:1;
}
.compact-invoice .invoice-print-top h3{
  font-size:13px;
  margin:5px 0 12px;
}
.compact-invoice .invoice-balance-stack{
  gap:7px;
}
.compact-invoice .invoice-balance-box{
  padding:10px 13px;
  border-radius:10px;
}
.compact-invoice .invoice-balance-box small{
  font-size:9px;
}
.compact-invoice .invoice-balance-box strong{
  font-size:15px;
}
.compact-invoice .invoice-print-meta{
  grid-template-columns:1fr 270px;
  gap:24px;
  margin:18px 0 16px;
  padding-bottom:14px;
}
.compact-invoice .invoice-print-meta small{
  font-size:9px;
}
.compact-invoice .invoice-print-meta h5{
  font-size:13px;
  margin:3px 0 5px;
}
.compact-invoice .invoice-print-meta p{
  font-size:10.5px;
  line-height:1.32;
  margin-bottom:4px;
}
.compact-invoice .invoice-print-meta table{
  border-radius:8px;
}
.compact-invoice .invoice-print-meta td,
.compact-invoice .invoice-print-meta th{
  padding:6px 8px;
  font-size:10px;
}
.compact-invoice .invoice-status{
  padding:4px 8px;
  font-size:9px;
}
.compact-invoice .invoice-print-table{
  margin-top:8px;
}
.compact-invoice .invoice-print-table th{
  padding:8px 9px;
  font-size:10px;
}
.compact-invoice .invoice-print-table td{
  padding:9px 9px;
  font-size:10.5px;
}
.compact-invoice .invoice-print-table small{
  font-size:9.5px;
}
.compact-invoice .invoice-total-wrap{
  margin-top:12px;
}
.compact-invoice .invoice-total-wrap table{
  width:310px;
}
.compact-invoice .invoice-total-wrap td,
.compact-invoice .invoice-total-wrap th{
  padding:5px 0;
  font-size:10.5px;
}
.compact-invoice .invoice-total-wrap .grand td,
.compact-invoice .invoice-total-wrap .grand th{
  font-size:12px;
}
.compact-invoice .invoice-total-wrap .balance td,
.compact-invoice .invoice-total-wrap .balance th{
  font-size:12.5px;
}
.compact-invoice .invoice-payments-print{
  margin-top:14px;
  padding:10px;
  border-radius:10px;
}
.compact-invoice .invoice-payments-print h6{
  font-size:12px;
}
.compact-invoice .invoice-payments-print th,
.compact-invoice .invoice-payments-print td{
  padding:5px 6px;
  font-size:9.5px;
}
.compact-invoice .invoice-print-bottom{
  margin-top:15px;
  padding-top:12px;
}
.compact-invoice .invoice-print-bottom p{
  font-size:10px;
  line-height:1.32;
  margin-bottom:7px;
}
.compact-invoice .invoice-print-bottom h6{
  font-size:11px;
  margin:8px 0 4px;
}
.compact-invoice .invoice-signatures{
  gap:42px;
  margin-top:38px;
}
.compact-invoice .invoice-signatures p{
  font-size:10px;
  margin-top:6px;
}

/* prevent awkward page breaks when printing */
.invoice-print-top,
.invoice-print-meta,
.invoice-total-wrap,
.invoice-print-bottom,
.invoice-signatures{
  break-inside:avoid;
  page-break-inside:avoid;
}
.invoice-print-table tr{
  break-inside:avoid;
  page-break-inside:avoid;
}

@media print{
  html,body{
    width:210mm;
    min-height:297mm;
  }
  .invoice-print-sheet.compact-invoice{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
    font-size:10.5px!important;
  }
  .compact-invoice .invoice-print-logo{
    max-width:68px!important;
    max-height:54px!important;
  }
  .compact-invoice .invoice-print-top h1{
    font-size:26px!important;
  }
  .compact-invoice .invoice-print-meta{
    margin:14px 0 12px!important;
  }
  .compact-invoice .invoice-print-table th{
    padding:7px 8px!important;
  }
  .compact-invoice .invoice-print-table td{
    padding:7px 8px!important;
  }
  .compact-invoice .invoice-signatures{
    margin-top:32px!important;
  }
  @page{
    size:A4 portrait;
    margin:10mm;
  }
}


/* v30 invoice WhatsApp PDF review/send */
.invoice-send-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.invoice-send-summary div{
  background:#f8fafc;
  border:1px solid #e6ebf2;
  border-radius:16px;
  padding:14px;
}
.invoice-send-summary small{
  display:block;
  color:#667085;
  font-weight:900;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:.45px;
}
.invoice-send-summary strong{
  display:block;
  margin-top:5px;
  color:#111827;
  font-size:15px;
  word-break:break-word;
}
.invoice-pdf-review-frame{
  width:100%;
  height:760px;
  border:1px solid #e6ebf2;
  border-radius:16px;
  background:#fff;
}
.invoice-pdf-empty{
  min-height:420px;
  border:2px dashed #d0d5dd;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#667085;
}
.invoice-pdf-empty i{
  font-size:54px;
  color:#d92d20;
  margin-bottom:14px;
}
.invoice-status.sent{background:#ecfdf3;color:#16a34a}
.invoice-status.failed{background:#fef3f2;color:#dc2626}
@media(max-width:768px){
  .invoice-send-summary{grid-template-columns:1fr}
  .invoice-pdf-review-frame{height:520px}
}


/* v31 professional secure login page */
.secure-login-body{
  min-height:100vh;
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  background:
    radial-gradient(circle at 18% 12%,rgba(245,200,95,.20),transparent 30%),
    radial-gradient(circle at 90% 78%,rgba(216,166,56,.16),transparent 34%),
    linear-gradient(135deg,#07101e 0%,#0b1424 48%,#151515 100%);
}
.secure-login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);
}
.secure-login-left{
  color:#fff;
  padding:48px clamp(28px,5vw,78px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  overflow:hidden;
}
.secure-login-left:after{
  content:'';
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  right:-160px;
  top:18%;
  background:rgba(255,255,255,.06);
  filter:blur(2px);
}
.secure-login-brand{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:16px;
}
.secure-login-brand img{
  width:82px;
  height:82px;
  object-fit:contain;
  border-radius:18px;
  background:#fff;
  padding:6px;
  box-shadow:0 18px 45px rgba(0,0,0,.25);
}
.secure-login-brand h1{
  font-size:24px;
  font-weight:950;
  margin:0;
}
.secure-login-brand p{
  color:rgba(255,255,255,.62);
  margin:2px 0 0;
  font-weight:700;
}
.secure-login-copy{
  position:relative;
  z-index:2;
  max-width:720px;
}
.secure-login-copy span{
  display:inline-flex;
  align-items:center;
  background:rgba(216,166,56,.16);
  border:1px solid rgba(216,166,56,.28);
  color:#f7d176;
  padding:9px 14px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.5px;
  text-transform:uppercase;
  margin-bottom:18px;
}
.secure-login-copy h2{
  font-size:clamp(34px,4vw,58px);
  line-height:1.03;
  letter-spacing:-1.8px;
  font-weight:950;
  margin:0 0 18px;
}
.secure-login-copy p{
  color:rgba(255,255,255,.70);
  font-size:17px;
  line-height:1.65;
  max-width:620px;
}
.secure-login-features{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.secure-login-features div{
  min-height:92px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
  border-radius:22px;
  padding:18px;
  backdrop-filter:blur(12px);
}
.secure-login-features i{
  color:#f5c85f;
  font-size:20px;
  margin-bottom:10px;
}
.secure-login-features span{
  display:block;
  font-size:13px;
  font-weight:850;
  color:rgba(255,255,255,.82);
}
.secure-login-right{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px;
  background:rgba(255,255,255,.96);
}
.secure-login-card{
  width:100%;
  max-width:470px;
  background:#fff;
  border:1px solid #e6ebf2;
  border-radius:30px;
  padding:36px;
  box-shadow:0 30px 70px rgba(15,23,42,.16);
}
.secure-login-logo{
  height:108px;
  max-width:220px;
  object-fit:contain;
  display:block;
  margin:0 auto 18px;
}
.secure-login-card h3{
  font-size:28px;
  font-weight:950;
  letter-spacing:-.8px;
  margin:0;
  color:#111827;
}
.secure-login-card p{
  color:#667085;
  margin:8px 0 0;
}
.secure-alert{
  border-radius:16px;
  font-size:14px;
  font-weight:750;
}
.secure-input-group{
  position:relative;
}
.secure-input-group > i{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#98a2b3;
  z-index:2;
}
.secure-input-group .form-control{
  min-height:56px;
  padding-left:46px;
  padding-right:50px;
  border-radius:16px;
  font-weight:700;
}
.secure-input-group .form-control:focus{
  border-color:#d8a638;
  box-shadow:0 0 0 .22rem rgba(216,166,56,.16);
}
.toggle-password-btn{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border:0;
  background:#f8fafc;
  border-radius:12px;
  color:#667085;
}
.toggle-password-btn:hover{
  color:#b7791f;
  background:#fff7e6;
}
.secure-login-btn{
  min-height:54px;
  border-radius:16px;
  font-weight:950;
}
.secure-login-note{
  margin-top:16px;
  text-align:center;
  color:#667085;
  font-size:13px;
  font-weight:700;
}
@media(max-width:991px){
  .secure-login-shell{grid-template-columns:1fr}
  .secure-login-left{display:none}
  .secure-login-right{min-height:100vh;padding:22px;background:transparent}
  .secure-login-card{max-width:500px}
}
@media(max-width:576px){
  .secure-login-card{padding:24px;border-radius:24px}
  .secure-login-logo{height:88px}
}


/* v32 AI support floating widget */
.ai-support-widget{
  position:fixed;
  right:22px;
  bottom:92px;
  z-index:60;
}
.ai-support-float{
  width:58px;
  height:58px;
  border-radius:50%;
  border:0;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#111827,#334155);
  color:#f5c85f;
  font-size:24px;
  box-shadow:0 15px 34px rgba(15,23,42,.35);
  transition:.18s ease;
}
.ai-support-float:hover{
  transform:translateY(-2px) scale(1.04);
}
.ai-support-panel{
  position:absolute;
  right:0;
  bottom:72px;
  width:min(380px, calc(100vw - 34px));
  background:#fff;
  border:1px solid #e6ebf2;
  border-radius:24px;
  box-shadow:0 24px 65px rgba(15,23,42,.24);
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:.22s ease;
}
.ai-support-widget.open .ai-support-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.ai-support-head{
  background:linear-gradient(135deg,#07101e,#111827);
  color:#fff;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.ai-support-head b{
  display:block;
  font-size:16px;
}
.ai-support-head small{
  color:rgba(255,255,255,.68);
  font-size:12px;
}
.ai-support-head button{
  width:34px;
  height:34px;
  border:0;
  border-radius:11px;
  color:#fff;
  background:rgba(255,255,255,.12);
}
.ai-support-body{
  height:330px;
  overflow-y:auto;
  padding:16px;
  background:#f8fafc;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ai-msg{
  max-width:88%;
  padding:11px 13px;
  border-radius:16px;
  font-size:13px;
  line-height:1.45;
  white-space:pre-wrap;
}
.ai-msg.bot{
  align-self:flex-start;
  background:#fff;
  border:1px solid #e6ebf2;
  color:#344054;
}
.ai-msg.user{
  align-self:flex-end;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#171000;
  font-weight:700;
}
.ai-support-form{
  display:flex;
  gap:8px;
  padding:12px;
  background:#fff;
  border-top:1px solid #e6ebf2;
}
.ai-support-form input{
  flex:1;
  border:1px solid #d0d5dd;
  border-radius:14px;
  height:44px;
  padding:0 12px;
  outline:none;
  font-weight:600;
}
.ai-support-form input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 .2rem rgba(216,166,56,.15);
}
.ai-support-form button{
  width:46px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#171000;
}
@media(max-width:576px){
  .ai-support-widget{right:18px;bottom:88px}
  .ai-support-panel{width:calc(100vw - 28px)}
  .ai-support-body{height:300px}
}


/* v33 custom chatbot icon for AI Support */
.ai-support-float{
  background:#ffffff !important;
  color:inherit !important;
  overflow:hidden;
  padding:0;
  border:2px solid rgba(245,200,95,.75);
}
.ai-support-float img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
}
.ai-support-float:hover{
  box-shadow:0 16px 38px rgba(216,166,56,.38), 0 0 0 6px rgba(245,200,95,.15);
}


/* v34 Our Work Speaks animated gallery carousel */
.gallery-carousel-section{
  overflow:hidden;
}
.gallery-marquee-wrap{
  width:100%;
  overflow:hidden;
  position:relative;
  padding:8px 0 18px;
}
.gallery-marquee-wrap:before,
.gallery-marquee-wrap:after{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  z-index:2;
  pointer-events:none;
}
.gallery-marquee-wrap:before{
  left:0;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,0));
}
.gallery-marquee-wrap:after{
  right:0;
  background:linear-gradient(270deg,#fff,rgba(255,255,255,0));
}
.gallery-marquee-track{
  display:flex;
  gap:18px;
  width:max-content;
  animation:galleryMoveLeftToRight 42s linear infinite;
  will-change:transform;
}
.gallery-marquee-wrap:hover .gallery-marquee-track{
  animation-play-state:paused;
}
.gallery-marquee-item{
  flex:0 0 260px;
  height:190px;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  background:#111827;
  box-shadow:0 14px 35px rgba(15,23,42,.14);
  border:1px solid rgba(216,166,56,.18);
}
.gallery-marquee-item .gallery-img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
  display:block;
  transition:transform .45s ease, filter .45s ease;
}
.gallery-marquee-item:hover .gallery-img{
  transform:scale(1.14);
  filter:brightness(.82);
}
.gallery-marquee-caption{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  padding:9px 12px;
  border-radius:14px;
  background:rgba(7,16,30,.76);
  color:#fff;
  font-weight:900;
  font-size:13px;
  backdrop-filter:blur(10px);
  transform:translateY(16px);
  opacity:0;
  transition:.35s ease;
}
.gallery-marquee-item:hover .gallery-marquee-caption{
  transform:translateY(0);
  opacity:1;
}
@keyframes galleryMoveLeftToRight{
  from{transform:translateX(-50%)}
  to{transform:translateX(0)}
}
@media(max-width:768px){
  .gallery-marquee-item{
    flex-basis:210px;
    height:155px;
    border-radius:18px;
  }
  .gallery-marquee-track{
    gap:14px;
    animation-duration:34s;
  }
  .gallery-marquee-wrap:before,
  .gallery-marquee-wrap:after{
    width:50px;
  }
}


/* v35 keep Our Work Speaks carousel inside container */
.gallery-carousel-section{
  overflow:hidden;
}
.gallery-carousel-section .container{
  overflow:hidden;
}
.gallery-marquee-wrap{
  border-radius:26px;
  background:#fff;
  border:1px solid #e6ebf2;
  box-shadow:0 14px 38px rgba(15,23,42,.06);
}
.gallery-marquee-item{
  flex-basis:230px;
  height:170px;
}
@media(max-width:768px){
  .gallery-marquee-item{
    flex-basis:190px;
    height:145px;
  }
}


/* v36 manual Our Work Speaks slider controls */
.gallery-slider-wrap{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  border:1px solid #e6ebf2;
  box-shadow:0 14px 38px rgba(15,23,42,.06);
  padding:16px 58px;
}
.gallery-slider-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.gallery-slider-track::-webkit-scrollbar{
  display:none;
}
.gallery-slider-item{
  flex:0 0 230px;
  height:170px;
  border-radius:22px;
  overflow:hidden;
  position:relative;
  background:#111827;
  box-shadow:0 12px 30px rgba(15,23,42,.12);
  border:1px solid rgba(216,166,56,.18);
}
.gallery-slider-item .gallery-img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0;
  display:block;
  transition:transform .45s ease, filter .45s ease;
}
.gallery-slider-item:hover .gallery-img{
  transform:scale(1.14);
  filter:brightness(.82);
}
.gallery-slider-item:hover .gallery-marquee-caption{
  transform:translateY(0);
  opacity:1;
}
.gallery-slider-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#171000;
  box-shadow:0 12px 28px rgba(15,23,42,.22);
  z-index:5;
  transition:.18s ease;
}
.gallery-slider-btn:hover{
  transform:translateY(-50%) scale(1.06);
}
.gallery-slider-prev{
  left:12px;
}
.gallery-slider-next{
  right:12px;
}
/* stop previous auto marquee behavior when manual slider is used */
.gallery-slider-wrap .gallery-marquee-track,
.gallery-slider-track{
  animation:none !important;
}
@media(max-width:768px){
  .gallery-slider-wrap{
    padding:14px 50px;
    border-radius:22px;
  }
  .gallery-slider-item{
    flex-basis:190px;
    height:145px;
    border-radius:18px;
  }
  .gallery-slider-track{
    gap:14px;
  }
  .gallery-slider-btn{
    width:38px;
    height:38px;
  }
}


/* v37 Our Work Speaks 3D cover-flow gallery */
.gallery-coverflow-section{
  overflow:hidden;
  padding-top:10px;
}
.bft-cover-flow{
  perspective:100rem;
  overflow:hidden;
  padding:2.2rem 0 2.8rem;
  border-radius:30px;
  background:
    radial-gradient(circle at 50% 50%,rgba(245,200,95,.12),transparent 42%),
    linear-gradient(135deg,#fff 0%,#f8fafc 100%);
  border:1px solid #e6ebf2;
  box-shadow:0 18px 48px rgba(15,23,42,.08);
}
.bft-cover-flow__track{
  transform-style:preserve-3d;
  display:grid;
  gap:1.35rem;
}
.bft-cover-flow__space{
  transform-style:preserve-3d;
  min-height:330px;
  display:flex;
  align-items:center;
  justify-content:center;
  view-timeline-name:--bft-cover-space;
  view-timeline-axis:block;
}
.bft-cover-flow__card{
  width:min(500px,82vw);
  height:300px;
  margin:0 auto;
  border-radius:24px;
  position:relative;
  overflow:hidden;
  background:#111827;
  transform-style:preserve-3d;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
  border:1px solid rgba(216,166,56,.22);
}
.bft-cover-flow__cover{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  user-select:none;
  transform-style:preserve-3d;
  will-change:transform;
  animation:bftCoverFlow linear both;
  animation-timeline:view(block);
  transition:transform .45s ease, filter .45s ease;
}
.bft-cover-flow__card:hover .bft-cover-flow__cover{
  transform:scale(1.13) !important;
  filter:brightness(.82) saturate(1.05);
}
.bft-cover-flow__card figcaption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(7,16,30,.78);
  color:#fff;
  font-weight:950;
  backdrop-filter:blur(10px);
  transform:translateY(18px);
  opacity:0;
  transition:.32s ease;
}
.bft-cover-flow__card:hover figcaption{
  transform:translateY(0);
  opacity:1;
}
@keyframes bftCoverFlow{
  0%{
    transform:translateY(-70%) rotateX(45deg) scale(.86);
    opacity:.30;
  }
  32%{
    transform:translateY(0) rotateX(38deg) scale(.95);
    opacity:.72;
  }
  50%{
    box-shadow:0 0 1.1rem .45rem rgba(0,0,0,.22);
    transform:rotateX(0deg) translateZ(8em) scale(1.04);
    opacity:1;
  }
  68%{
    transform:translateY(0) rotateX(-38deg) scale(.95);
    opacity:.72;
  }
  100%{
    transform:translateY(70%) rotateX(-45deg) scale(.86);
    opacity:.30;
  }
}

/* fallback/manual layout for browsers without scroll-linked animation */
@supports not (animation-timeline:view()) {
  .bft-cover-flow{
    padding:1.1rem;
  }
  .bft-cover-flow__track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .bft-cover-flow__track::-webkit-scrollbar{
    display:none;
  }
  .bft-cover-flow__space{
    min-height:auto;
    flex:0 0 260px;
    scroll-snap-align:center;
  }
  .bft-cover-flow__card{
    width:260px;
    height:185px;
  }
  .bft-cover-flow__cover{
    animation:none;
  }
}

/* mobile: use simple horizontal premium cards */
@media(max-width:768px){
  .bft-cover-flow{
    padding:1rem;
    border-radius:24px;
  }
  .bft-cover-flow__track{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .bft-cover-flow__track::-webkit-scrollbar{
    display:none;
  }
  .bft-cover-flow__space{
    min-height:auto;
    flex:0 0 220px;
    scroll-snap-align:center;
  }
  .bft-cover-flow__card{
    width:220px;
    height:155px;
    border-radius:18px;
  }
  .bft-cover-flow__cover{
    animation:none;
  }
  .bft-cover-flow__card figcaption{
    left:10px;
    right:10px;
    bottom:10px;
    font-size:12px;
    padding:8px 10px;
  }
}


/* v38 match uploaded dark 3D cover-flow sample, kept inside landing section */
.gallery-coverflow-section{
  padding-top:40px;
  padding-bottom:70px!important;
  background:#fff;
}
.gallery-coverflow-section .section-title{
  color:#111827;
}
.gallery-coverflow-section .section-sub{
  color:#667085;
}
.bft-cover-flow{
  max-width:1180px;
  margin:0 auto;
  min-height:620px;
  max-height:680px;
  overflow-y:auto;
  overflow-x:hidden;
  perspective:100rem;
  padding:70px 0;
  border-radius:34px;
  background:
    radial-gradient(circle at 50% 38%, rgba(245,200,95,.10), transparent 36%),
    radial-gradient(circle at 50% 68%, rgba(255,255,255,.05), transparent 30%),
    #080e17;
  border:1px solid rgba(245,200,95,.18);
  box-shadow:0 28px 70px rgba(15,23,42,.22);
  scrollbar-width:thin;
  scrollbar-color:rgba(245,200,95,.55) rgba(255,255,255,.05);
}
.bft-cover-flow::-webkit-scrollbar{
  width:8px;
}
.bft-cover-flow::-webkit-scrollbar-track{
  background:rgba(255,255,255,.05);
}
.bft-cover-flow::-webkit-scrollbar-thumb{
  background:rgba(245,200,95,.55);
  border-radius:20px;
}
.bft-cover-flow__track{
  display:grid;
  gap:22px;
  transform-style:preserve-3d;
}
.bft-cover-flow__space{
  min-height:270px;
  display:flex;
  justify-content:center;
  align-items:center;
  transform-style:preserve-3d;
  view-timeline-name:--bft-cover-space;
  view-timeline-axis:block;
}
.bft-cover-flow__card{
  width:min(560px,78vw);
  height:305px;
  border-radius:10px;
  overflow:hidden;
  margin:0 auto;
  position:relative;
  background:#0b1220;
  transform-style:preserve-3d;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 58px rgba(0,0,0,.48);
}
.bft-cover-flow__cover{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  user-select:none;
  transform-style:preserve-3d;
  will-change:transform,opacity;
  animation:bftCoverFlowDark linear both;
  animation-timeline:view(block);
  transition:transform .45s ease, filter .45s ease;
}
.bft-cover-flow__card:hover .bft-cover-flow__cover{
  transform:scale(1.12) !important;
  filter:brightness(.82) saturate(1.08);
}
.bft-cover-flow__card figcaption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  padding:11px 14px;
  border-radius:14px;
  background:rgba(8,14,23,.78);
  color:#fff;
  font-weight:950;
  backdrop-filter:blur(10px);
  border:1px solid rgba(245,200,95,.22);
  transform:translateY(18px);
  opacity:0;
  transition:.32s ease;
}
.bft-cover-flow__card:hover figcaption{
  transform:translateY(0);
  opacity:1;
}
@keyframes bftCoverFlowDark{
  0%{
    transform:translateY(-115%) rotateX(48deg) scale(.82);
    opacity:.18;
  }
  34%{
    transform:translateY(-8%) rotateX(45deg) scale(.92);
    opacity:.68;
  }
  50%{
    transform:rotateX(0deg) translateZ(12em) scale(1.12);
    opacity:1;
    box-shadow:0 0 1.4rem .55rem rgba(0,0,0,.42);
  }
  66%{
    transform:translateY(8%) rotateX(-45deg) scale(.92);
    opacity:.68;
  }
  100%{
    transform:translateY(115%) rotateX(-48deg) scale(.82);
    opacity:.18;
  }
}

/* fallback if CSS scroll animations are not available */
@supports not (animation-timeline:view()) {
  .bft-cover-flow{
    min-height:auto;
    max-height:none;
    overflow-x:auto;
    overflow-y:hidden;
    padding:22px;
  }
  .bft-cover-flow__track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .bft-cover-flow__track::-webkit-scrollbar{
    display:none;
  }
  .bft-cover-flow__space{
    min-height:auto;
    flex:0 0 290px;
  }
  .bft-cover-flow__card{
    width:290px;
    height:200px;
  }
  .bft-cover-flow__cover{
    animation:none;
  }
}
@media(max-width:768px){
  .bft-cover-flow{
    min-height:auto;
    max-height:none;
    overflow-x:auto;
    overflow-y:hidden;
    padding:18px;
    border-radius:24px;
  }
  .bft-cover-flow__track{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .bft-cover-flow__track::-webkit-scrollbar{
    display:none;
  }
  .bft-cover-flow__space{
    min-height:auto;
    flex:0 0 230px;
    scroll-snap-align:center;
  }
  .bft-cover-flow__card{
    width:230px;
    height:160px;
    border-radius:12px;
  }
  .bft-cover-flow__cover{
    animation:none;
  }
}


/* v39 light brand cover-flow colors */
.gallery-coverflow-section{
  background:linear-gradient(180deg,#ffffff 0%,#fffaf0 48%,#ffffff 100%) !important;
}
.bft-cover-flow{
  background:
    radial-gradient(circle at 50% 38%, rgba(245,200,95,.22), transparent 34%),
    radial-gradient(circle at 15% 20%, rgba(216,166,56,.10), transparent 24%),
    radial-gradient(circle at 85% 75%, rgba(245,200,95,.12), transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#fff8e8 42%,#f8fafc 100%) !important;
  border:1px solid rgba(216,166,56,.28) !important;
  box-shadow:0 24px 60px rgba(120,84,20,.14) !important;
  scrollbar-color:rgba(216,166,56,.55) rgba(216,166,56,.08) !important;
}
.bft-cover-flow__card{
  background:#fff !important;
  border:1px solid rgba(216,166,56,.28) !important;
  box-shadow:0 22px 54px rgba(120,84,20,.20) !important;
}
.bft-cover-flow__card figcaption{
  background:rgba(255,255,255,.88) !important;
  color:#111827 !important;
  border:1px solid rgba(216,166,56,.35) !important;
  box-shadow:0 12px 26px rgba(120,84,20,.16);
}
@keyframes bftCoverFlowBrand{
  0%{
    transform:translateY(-115%) rotateX(48deg) scale(.82);
    opacity:.22;
  }
  34%{
    transform:translateY(-8%) rotateX(45deg) scale(.92);
    opacity:.72;
  }
  50%{
    transform:rotateX(0deg) translateZ(12em) scale(1.12);
    opacity:1;
    box-shadow:0 0 1.4rem .55rem rgba(216,166,56,.18);
  }
  66%{
    transform:translateY(8%) rotateX(-45deg) scale(.92);
    opacity:.72;
  }
  100%{
    transform:translateY(115%) rotateX(-48deg) scale(.82);
    opacity:.22;
  }
}
.bft-cover-flow__cover{
  animation-name:bftCoverFlowBrand !important;
}


/* v40 clean admin sidebar */
.sidebar{
  background:#ffffff !important;
  border-right:1px solid #e6ebf2 !important;
  box-shadow:8px 0 30px rgba(15,23,42,.04) !important;
}
.sidebar .brand{
  padding:20px 18px !important;
  border-bottom:1px solid #eef2f6 !important;
  background:linear-gradient(180deg,#fff,#fffaf0) !important;
}
.sidebar .brand img{
  max-height:54px !important;
  object-fit:contain;
}
.sidebar .brand h5,
.sidebar .brand .fw-bold,
.sidebar .brand span{
  color:#111827 !important;
}
.sidebar .nav-link,
.sidebar a{
  color:#344054 !important;
}
.sidebar .nav-link{
  margin:4px 12px !important;
  border-radius:14px !important;
  padding:11px 13px !important;
  font-weight:800 !important;
  display:flex;
  align-items:center;
  gap:11px;
  transition:.18s ease;
}
.sidebar .nav-link i{
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  color:#b7791f !important;
  background:#fff7e6;
  border-radius:8px;
  font-size:12px;
}
.sidebar .nav-link:hover{
  background:#fff7e6 !important;
  color:#111827 !important;
  transform:translateX(2px);
}
.sidebar .nav-link.active,
.sidebar .nav-link[aria-current="page"]{
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:#171000 !important;
  box-shadow:0 10px 22px rgba(216,166,56,.22);
}
.sidebar .nav-link.active i,
.sidebar .nav-link[aria-current="page"] i{
  color:#171000 !important;
  background:rgba(255,255,255,.45);
}
.sidebar .small,
.sidebar small{
  color:#98a2b3 !important;
}
.sidebar hr{
  border-color:#eef2f6 !important;
}

/* v40 Our Work Speaks clean 2-column image layout */
.gallery-two-col-section{
  background:linear-gradient(180deg,#ffffff 0%,#fffaf0 50%,#ffffff 100%);
  padding-top:36px;
}
.gallery-two-col-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.gallery-two-col-item{
  position:relative;
  min-height:330px;
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(216,166,56,.22);
  box-shadow:0 18px 45px rgba(120,84,20,.12);
}
.gallery-two-col-item img{
  width:100%;
  height:100%;
  min-height:330px;
  object-fit:cover;
  display:block;
  transition:transform .45s ease, filter .45s ease;
}
.gallery-two-col-item:hover img{
  transform:scale(1.08);
  filter:brightness(.86) saturate(1.05);
}
.gallery-two-col-caption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  padding:13px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(216,166,56,.26);
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(15,23,42,.12);
  transform:translateY(14px);
  opacity:0;
  transition:.3s ease;
}
.gallery-two-col-item:hover .gallery-two-col-caption{
  transform:translateY(0);
  opacity:1;
}
.gallery-two-col-caption h6{
  margin:0;
  color:#111827;
  font-weight:950;
}
@media(max-width:768px){
  .gallery-two-col-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .gallery-two-col-item,
  .gallery-two-col-item img{
    min-height:240px;
  }
  .gallery-two-col-item{
    border-radius:22px;
  }
}


/* v41 Our Work Speaks 3-column smaller layout */
.gallery-three-col-section{
  background:linear-gradient(180deg,#ffffff 0%,#fffaf0 50%,#ffffff 100%);
  padding-top:36px;
}
.gallery-three-col-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.gallery-three-col-item{
  position:relative;
  min-height:245px;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(216,166,56,.22);
  box-shadow:0 14px 36px rgba(120,84,20,.10);
}
.gallery-three-col-item img{
  width:100%;
  height:100%;
  min-height:245px;
  object-fit:cover;
  display:block;
  transition:transform .45s ease, filter .45s ease;
}
.gallery-three-col-item:hover img{
  transform:scale(1.08);
  filter:brightness(.86) saturate(1.05);
}
.gallery-three-col-caption{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  padding:11px 13px;
  border-radius:16px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(216,166,56,.26);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  transform:translateY(14px);
  opacity:0;
  transition:.3s ease;
}
.gallery-three-col-item:hover .gallery-three-col-caption{
  transform:translateY(0);
  opacity:1;
}
.gallery-three-col-caption h6{
  margin:0;
  color:#111827;
  font-size:14px;
  font-weight:950;
}
@media(max-width:992px){
  .gallery-three-col-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:576px){
  .gallery-three-col-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .gallery-three-col-item,
  .gallery-three-col-item img{
    min-height:220px;
  }
  .gallery-three-col-item{
    border-radius:20px;
  }
}


/* v42 footer social media icons */
.footer-quick-links{
  line-height:1.9;
}
.footer-social-icons{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:4px;
}
.footer-social-icons a{
  width:38px;
  height:38px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  background:#ffffff;
  color:#111827 !important;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  transition:.18s ease;
}
.footer-social-icons a:hover{
  transform:translateY(-3px);
  background:#f5c85f;
  color:#111827 !important;
}
.footer-social-icons i{
  font-size:17px;
}
.settings-social-preview{
  margin-top:12px;
}
.settings-social-preview a{
  background:#111827;
  color:#ffffff !important;
  border-color:#111827;
}


/* v43 footer social icons polish + restore dark admin sidebar */
footer .footer-social-icons{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
}
footer .footer-social-icons a{
  width:42px;
  height:42px;
  border-radius:14px;
  display:inline-grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  color:#ffffff !important;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
  transition:.2s ease;
}
footer .footer-social-icons a:hover{
  transform:translateY(-3px);
  background:#ffffff;
  color:#111827 !important;
  border-color:#ffffff;
}
footer .footer-social-icons i{
  font-size:18px;
}
footer .footer-quick-links{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:0!important;
}
footer .footer-quick-links a{
  margin-right:0!important;
}

/* restore preferred dark/gold admin sidebar */
.sidebar{
  background:linear-gradient(180deg,#07101e 0%,#101828 58%,#0b1220 100%) !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  box-shadow:8px 0 30px rgba(15,23,42,.14) !important;
}
.sidebar .brand{
  background:rgba(255,255,255,.04) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.sidebar .brand h5,
.sidebar .brand .fw-bold,
.sidebar .brand span{
  color:#ffffff !important;
}
.sidebar .small,
.sidebar small{
  color:rgba(255,255,255,.55) !important;
}
.sidebar .nav-link,
.sidebar a{
  color:rgba(255,255,255,.78) !important;
}
.sidebar .nav-link{
  margin:4px 12px !important;
  border-radius:14px !important;
  padding:11px 13px !important;
  font-weight:800 !important;
  display:flex;
  align-items:center;
  gap:11px;
  transition:.18s ease;
}
.sidebar .nav-link i{
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  color:#f5c85f !important;
  background:rgba(245,200,95,.12) !important;
  border-radius:8px;
  font-size:12px;
}
.sidebar .nav-link:hover{
  background:rgba(245,200,95,.12) !important;
  color:#ffffff !important;
  transform:translateX(2px);
}
.sidebar .nav-link.active,
.sidebar .nav-link[aria-current="page"]{
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:#171000 !important;
  box-shadow:0 10px 22px rgba(216,166,56,.22);
}
.sidebar .nav-link.active i,
.sidebar .nav-link[aria-current="page"] i{
  color:#171000 !important;
  background:rgba(255,255,255,.45) !important;
}
.sidebar hr{
  border-color:rgba(255,255,255,.08) !important;
}


/* v44 Our Work Speaks 4-column compact layout */
.gallery-four-col-section{
  background:linear-gradient(180deg,#ffffff 0%,#fffaf0 50%,#ffffff 100%);
  padding-top:36px;
}
.gallery-four-col-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.gallery-four-col-item{
  position:relative;
  min-height:210px;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(216,166,56,.22);
  box-shadow:0 12px 32px rgba(120,84,20,.10);
}
.gallery-four-col-item img{
  width:100%;
  height:100%;
  min-height:210px;
  object-fit:cover;
  display:block;
  transition:transform .45s ease, filter .45s ease;
}
.gallery-four-col-item:hover img{
  transform:scale(1.08);
  filter:brightness(.86) saturate(1.05);
}
.gallery-four-col-caption{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  padding:10px 12px;
  border-radius:15px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(216,166,56,.26);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 22px rgba(15,23,42,.12);
  transform:translateY(14px);
  opacity:0;
  transition:.3s ease;
}
.gallery-four-col-item:hover .gallery-four-col-caption{
  transform:translateY(0);
  opacity:1;
}
.gallery-four-col-caption h6{
  margin:0;
  color:#111827;
  font-size:13px;
  font-weight:950;
}
@media(max-width:1200px){
  .gallery-four-col-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:768px){
  .gallery-four-col-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .gallery-four-col-item,
  .gallery-four-col-item img{
    min-height:190px;
  }
}
@media(max-width:480px){
  .gallery-four-col-grid{
    grid-template-columns:1fr;
  }
  .gallery-four-col-item,
  .gallery-four-col-item img{
    min-height:220px;
  }
}


/* v45 contact messages WhatsApp reply */
.messages-table{
  min-width:1050px;
}
.message-text-cell{
  max-width:320px;
  white-space:normal;
}
.message-whatsapp-btn{
  width:30px;
  height:30px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  background:#25D366;
  color:#ffffff !important;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(37,211,102,.24);
  transition:.18s ease;
}
.message-whatsapp-btn:hover{
  transform:translateY(-2px) scale(1.04);
  background:#1ebe5d;
  color:#ffffff !important;
}
.message-contact-cell small{
  color:#475467;
}


/* v46 WhatsApp icon style refinement to match requested sample */
.quote-phone-cell{
  display:flex;
  align-items:center;
  gap:12px;
  white-space:nowrap;
}
.quote-phone-cell > span,
.quote-phone-cell > a:first-child,
.quote-phone-cell > div,
.quote-phone-cell small,
.quote-phone-cell strong{
  line-height:1;
}
.quote-whatsapp-btn,
.message-whatsapp-btn{
  width:36px !important;
  height:36px !important;
  min-width:36px;
  min-height:36px;
  border-radius:50%;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#2fe36f 0%, #25D366 100%) !important;
  color:#ffffff !important;
  text-decoration:none;
  border:2px solid #ffffff;
  font-size:18px;
  box-shadow:0 10px 22px rgba(37,211,102,.28), 0 0 0 1px rgba(37,211,102,.12);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.quote-whatsapp-btn i,
.message-whatsapp-btn i{
  font-size:18px;
  line-height:1;
}
.quote-whatsapp-btn:hover,
.message-whatsapp-btn:hover{
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 14px 28px rgba(37,211,102,.34), 0 0 0 4px rgba(37,211,102,.10);
  background:linear-gradient(180deg,#34e978 0%, #22c55e 100%) !important;
  color:#ffffff !important;
}
.message-contact-cell .d-flex{
  gap:10px !important;
}


/* v47 restore previous admin sidebar dark color */
.sidebar{
  background:#08111f !important;
  color:#ffffff !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}
.sidebar .brand{
  background:transparent !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.sidebar .brand h5,
.sidebar .brand .fw-bold,
.sidebar .brand span{
  color:#ffffff !important;
}
.sidebar .nav-link,
.sidebar a{
  color:#cbd5e1 !important;
}
.sidebar .nav-link{
  background:transparent !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  margin:4px 0 !important;
  font-weight:650 !important;
}
.sidebar .nav-link i{
  color:#cbd5e1 !important;
  background:transparent !important;
  width:auto !important;
  height:auto !important;
  font-size:inherit !important;
}
.sidebar .nav-link.active,
.sidebar .nav-link:hover,
.sidebar .nav-link[aria-current="page"]{
  background:rgba(255,255,255,.10) !important;
  color:#ffffff !important;
  transform:none !important;
  box-shadow:none !important;
}
.sidebar .nav-link.active i,
.sidebar .nav-link:hover i,
.sidebar .nav-link[aria-current="page"] i{
  color:#ffffff !important;
  background:transparent !important;
}
.sidebar .small,
.sidebar small{
  color:#94a3b8 !important;
}
.sidebar hr{
  border-color:rgba(255,255,255,.10) !important;
}


/* v48 dark/gold admin sidebar style */
.sidebar{
  background:linear-gradient(180deg,#07101e 0%,#101828 58%,#0b1220 100%) !important;
  color:#ffffff !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  box-shadow:8px 0 30px rgba(15,23,42,.14) !important;
}
.sidebar .brand{
  background:rgba(255,255,255,.04) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.sidebar .brand h5,
.sidebar .brand .fw-bold,
.sidebar .brand span{
  color:#ffffff !important;
}
.sidebar .small,
.sidebar small{
  color:rgba(255,255,255,.55) !important;
}
.sidebar .nav-link,
.sidebar a{
  color:rgba(255,255,255,.78) !important;
}
.sidebar .nav-link{
  margin:4px 12px !important;
  border-radius:14px !important;
  padding:11px 13px !important;
  font-weight:800 !important;
  display:flex;
  align-items:center;
  gap:11px;
  background:transparent !important;
  transition:.18s ease;
}
.sidebar .nav-link i{
  width:22px !important;
  height:22px !important;
  display:inline-grid !important;
  place-items:center !important;
  color:#f5c85f !important;
  background:rgba(245,200,95,.12) !important;
  border-radius:8px !important;
  font-size:12px !important;
}
.sidebar .nav-link:hover{
  background:rgba(245,200,95,.12) !important;
  color:#ffffff !important;
  transform:translateX(2px) !important;
  box-shadow:none !important;
}
.sidebar .nav-link.active,
.sidebar .nav-link[aria-current="page"]{
  background:linear-gradient(135deg,var(--gold),var(--gold2)) !important;
  color:#171000 !important;
  box-shadow:0 10px 22px rgba(216,166,56,.22) !important;
}
.sidebar .nav-link.active i,
.sidebar .nav-link[aria-current="page"] i{
  color:#171000 !important;
  background:rgba(255,255,255,.45) !important;
}
.sidebar hr{
  border-color:rgba(255,255,255,.08) !important;
}


/* v51 professional 404 page */
.bft-404-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 20% 20%, rgba(216,166,56,.22), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(245,200,95,.18), transparent 24%),
    linear-gradient(135deg,#07101e 0%,#101828 55%,#05070c 100%);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.bft-404-wrap{width:100%;max-width:720px}
.bft-404-card{
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.45);
  border-radius:34px;
  padding:42px;
  text-align:center;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.bft-404-logo{margin-bottom:18px}
.bft-404-logo img{height:86px;max-width:190px;object-fit:contain}
.bft-404-icon{
  width:82px;height:82px;border-radius:28px;display:grid;place-items:center;
  margin:0 auto 18px;background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#171000;font-size:34px;box-shadow:0 14px 34px rgba(216,166,56,.26);
}
.bft-404-card h1{
  font-size:clamp(70px,11vw,120px);line-height:.9;font-weight:950;
  letter-spacing:-5px;color:#07101e;margin:0;
}
.bft-404-card h2{font-weight:950;color:#111827;margin:12px 0 10px}
.bft-404-card p{color:#667085;font-size:17px;max-width:520px;margin:0 auto 26px}
.bft-404-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.bft-404-card small{color:#98a2b3;font-weight:700}
@media(max-width:576px){
  .bft-404-card{padding:30px 22px;border-radius:26px}
  .bft-404-logo img{height:70px}
  .bft-404-actions .btn{width:100%}
}


/* v54 restore admin bell notification in topbar */
.topbar{
  display:flex;
  align-items:center;
  gap:16px;
}
.topbar-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:14px;
}
.admin-notification-menu{
  position:relative;
  margin-right:0 !important;
}
.admin-notification-trigger{
  width:46px;
  height:46px;
  border-radius:16px;
  border:1px solid #e6ebf2;
  background:#ffffff;
  color:#b7791f;
  display:grid;
  place-items:center;
  position:relative;
  transition:.18s ease;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.admin-notification-trigger:hover{
  background:#fff7e6;
  color:#b7791f;
  border-color:rgba(216,166,56,.35);
  transform:translateY(-1px);
}
.admin-notification-trigger.has-alert{
  color:#b7791f;
  animation:notificationBellPulse 1.5s ease-in-out infinite;
}
.notification-badge{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#ef4444;
  color:#ffffff;
  font-size:11px;
  font-weight:950;
  display:grid;
  place-items:center;
  border:2px solid #ffffff;
}
.admin-notification-dropdown{
  position:absolute;
  top:58px;
  right:0;
  width:360px;
  max-width:calc(100vw - 30px);
  background:#ffffff;
  border:1px solid #e6ebf2;
  border-radius:20px;
  box-shadow:0 24px 65px rgba(15,23,42,.18);
  padding:12px;
  z-index:1050;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.18s ease;
}
.admin-notification-menu:hover .admin-notification-dropdown,
.admin-notification-menu:focus-within .admin-notification-dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.notification-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 12px 14px;
  border-bottom:1px solid #eef2f6;
  margin-bottom:10px;
}
.notification-head b{display:block;color:#111827;font-weight:950}
.notification-head small{color:#667085;font-weight:700}
.notification-head > i{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#fff7e6;
  color:#b7791f;
}
.notification-summary-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 12px;
  border-radius:14px;
  text-decoration:none;
  color:#344054;
  font-weight:850;
  transition:.16s ease;
}
.notification-summary-link:hover{background:#f8fafc;color:#111827}
.notification-summary-link span{display:flex;align-items:center;gap:10px}
.notification-summary-link i{color:#b7791f}
.notification-summary-link b{
  min-width:28px;
  height:26px;
  border-radius:999px;
  background:#111827;
  color:#ffffff;
  display:grid;
  place-items:center;
  font-size:12px;
}
.notification-list{
  border-top:1px solid #eef2f6;
  margin-top:8px;
  padding-top:8px;
}
.notification-item{
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:11px 12px;
  border-radius:14px;
  text-decoration:none;
  color:#344054;
  transition:.16s ease;
}
.notification-item:hover{background:#fff7e6;color:#111827}
.notification-item > i{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#fff7e6;
  color:#b7791f;
}
.notification-item b{display:block;font-size:13px;color:#111827}
.notification-item small{display:block;color:#667085;font-size:12px;margin-top:2px}
.notification-empty{
  display:flex;
  align-items:center;
  gap:10px;
  padding:16px 12px;
  color:#667085;
  font-weight:750;
}
.notification-empty i{color:#16a34a}
@keyframes notificationBellPulse{
  0%,100%{box-shadow:0 8px 20px rgba(15,23,42,.05),0 0 0 0 rgba(239,68,68,0)}
  50%{box-shadow:0 8px 20px rgba(15,23,42,.05),0 0 0 6px rgba(239,68,68,.12)}
}
@media(max-width:576px){
  .topbar-actions{gap:10px}
  .admin-notification-trigger{width:42px;height:42px;border-radius:14px}
  .admin-notification-dropdown{right:-86px;width:320px}
}


/* v55 system logs monitoring under users */
.system-logs-card{
  margin-top:10px;
}
.system-log-stat{
  border:1px solid #e6ebf2;
  border-radius:18px;
  padding:18px;
  background:linear-gradient(135deg,#ffffff,#f8fafc);
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.system-log-stat span{
  display:block;
  color:#667085;
  font-weight:800;
  font-size:13px;
}
.system-log-stat b{
  display:block;
  color:#111827;
  font-size:30px;
  font-weight:950;
  margin-top:4px;
}
.system-log-stat.success{
  background:linear-gradient(135deg,#ffffff,#ecfdf3);
}
.system-log-stat.failed{
  background:linear-gradient(135deg,#ffffff,#fff1f2);
}
.system-logs-table{
  min-width:1200px;
}
.system-log-user{
  display:flex;
  align-items:center;
  gap:10px;
}
.system-log-user > span{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#fff7e6;
  color:#9a6700;
  font-weight:950;
}
.system-log-user b{
  display:block;
  color:#111827;
}
.system-log-user small{
  color:#667085;
}
.system-log-agent{
  max-width:280px;
  font-size:12px;
  color:#667085;
  white-space:normal;
}
.system-logs-table code{
  background:#f2f4f7;
  color:#344054;
  padding:5px 8px;
  border-radius:9px;
}


/* v56 professional Add/Edit User layout */
.users-admin-layout{
  align-items:flex-start;
}
.professional-user-form{
  position:sticky;
  top:96px;
  overflow:hidden;
  border:1px solid rgba(216,166,56,.20);
  box-shadow:0 18px 48px rgba(15,23,42,.08);
}
.professional-user-form .ref-card-head{
  background:linear-gradient(135deg,#fffaf0,#ffffff);
  border-bottom:1px solid rgba(216,166,56,.18);
  margin:-1px -1px 18px;
  padding:22px 22px 18px;
}
.professional-user-form .ref-card-head h5{
  color:#111827;
  font-weight:950;
}
.professional-user-form .ref-card-head p{
  color:#667085;
  font-weight:650;
}
.user-pro-form{
  padding:0 4px 4px;
}
.user-pro-form .form-label{
  color:#344054;
  font-size:13px;
  margin-bottom:7px;
}
.user-pro-form .form-control,
.user-pro-form .form-select{
  height:50px;
  border-radius:14px;
  border:1px solid #d9e1ec;
  background:#ffffff;
}
.user-pro-form .form-control:focus,
.user-pro-form .form-select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 .22rem rgba(216,166,56,.14);
}
.user-pro-form .form-check{
  padding:13px 14px 13px 42px;
  border:1px solid #e6ebf2;
  border-radius:14px;
  background:#f8fafc;
}
.user-pro-form .form-check-input{
  margin-left:-28px;
}
.user-form-actions{
  padding-top:4px;
}
.user-form-actions .btn{
  border-radius:13px;
  font-weight:850;
}
.user-form-actions .btn-gold{
  flex:1;
}
@media(max-width:1199px){
  .professional-user-form{
    position:relative;
    top:auto;
  }
}


/* v59 invoice Sales Analysis button and page */
.invoice-list-top-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.sales-analysis-btn{
  border-radius:14px;
  white-space:nowrap;
}
.sales-analysis-hero{
  background:linear-gradient(135deg,#07101e,#101828);
  border-radius:26px;
  padding:28px;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
  box-shadow:0 18px 48px rgba(15,23,42,.16);
}
.sales-analysis-hero span{
  display:inline-flex;
  align-items:center;
  color:#f5c85f;
  font-weight:900;
  margin-bottom:8px;
}
.sales-analysis-hero h3{
  font-weight:950;
  margin:0 0 6px;
}
.sales-analysis-hero p{
  color:rgba(255,255,255,.72);
  margin:0;
  max-width:720px;
}
.sales-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.sales-summary-card{
  background:#ffffff;
  border:1px solid #e6ebf2;
  border-radius:22px;
  padding:22px;
  box-shadow:0 12px 32px rgba(15,23,42,.06);
}
.sales-summary-card small{
  display:block;
  color:#667085;
  font-weight:850;
  margin-bottom:8px;
}
.sales-summary-card strong{
  display:block;
  color:#111827;
  font-size:28px;
  font-weight:950;
}
.sales-summary-card.total{background:linear-gradient(135deg,#ffffff,#fff7e6)}
.sales-summary-card.paid{background:linear-gradient(135deg,#ffffff,#ecfdf3)}
.sales-summary-card.balance{background:linear-gradient(135deg,#ffffff,#fff1f2)}
.sales-status-list{
  display:grid;
  gap:12px;
}
.sales-status-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 16px;
  border:1px solid #e6ebf2;
  border-radius:16px;
  background:#f8fafc;
}
.sales-status-list span{
  font-weight:850;
  color:#344054;
}
.sales-status-list b{
  font-size:24px;
  color:#111827;
  font-weight:950;
}
@media(max-width:992px){
  .sales-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sales-analysis-hero,
  .invoice-list-top-actions{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:576px){
  .sales-summary-grid{
    grid-template-columns:1fr;
  }
  .sales-analysis-btn,
  .sales-analysis-hero .btn{
    width:100%;
  }
}


/* v60 clean invoice print: hide browser/system UI elements inside page */
@media print{
  @page{
    size:A4;
    margin:0;
  }
  html,
  body{
    margin:0 !important;
    padding:0 !important;
    background:#ffffff !important;
  }
  .admin-body,
  .admin-main,
  .content{
    margin:0 !important;
    padding:0 !important;
    background:#ffffff !important;
  }
  .sidebar,
  .sidebar-overlay,
  .topbar,
  .alert,
  .no-print,
  .invoice-tabs,
  .invoice-print-actions,
  .btn,
  .admin-notification-menu,
  .admin-user-menu{
    display:none !important;
    visibility:hidden !important;
  }
  .invoice-print-wrap,
  .invoice-print-page,
  .invoice-print-card,
  .print-invoice,
  .tax-invoice{
    margin:0 auto !important;
    box-shadow:none !important;
    border:none !important;
  }
  .invoice-print-page{
    padding:10mm 12mm !important;
    width:210mm !important;
    min-height:297mm !important;
  }
}


/* v61 invoice print margin fix */
@media print{
  @page{
    size:A4;
    margin:10mm 12mm 10mm 12mm;
  }

  html,
  body{
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    background:#ffffff !important;
    overflow:visible !important;
  }

  .admin-body,
  .admin-main,
  .content{
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#ffffff !important;
    overflow:visible !important;
  }

  .invoice-print-sheet,
  .invoice-print-wrap,
  .invoice-print-page,
  .invoice-print-card,
  .print-invoice,
  .tax-invoice{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:auto !important;
    margin:0 !important;
    padding:0 !important;
    box-shadow:none !important;
    border:none !important;
    border-radius:0 !important;
    transform:none !important;
    overflow:visible !important;
  }

  .invoice-print-sheet{
    padding:0 !important;
    page-break-inside:auto !important;
  }

  .invoice-print-top{
    margin-top:0 !important;
  }

  .invoice-print-table,
  .invoice-print-table table,
  .invoice-print-meta table{
    width:100% !important;
    max-width:100% !important;
  }

  .invoice-print-table th,
  .invoice-print-table td{
    padding:7px 8px !important;
    font-size:11px !important;
  }

  .invoice-signatures{
    margin-top:24px !important;
  }

  .alert,
  .sidebar,
  .sidebar-overlay,
  .topbar,
  .invoice-tabs,
  .invoice-print-actions,
  .no-print,
  .btn,
  .admin-notification-menu,
  .admin-user-menu{
    display:none !important;
  }
}


/* v62 professional compact Sales Analysis page */
.sales-pro-page{
  font-size:14px;
}
.sales-pro-header{
  background:linear-gradient(135deg,#07101e,#101828);
  border-radius:22px;
  padding:22px 24px;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  box-shadow:0 14px 38px rgba(15,23,42,.14);
}
.sales-pro-eyebrow{
  display:inline-flex;
  align-items:center;
  color:#f5c85f;
  font-weight:900;
  font-size:12px;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.sales-pro-header h3{
  font-size:24px;
  font-weight:950;
  margin:0 0 4px;
}
.sales-pro-header p{
  color:rgba(255,255,255,.72);
  margin:0;
  max-width:720px;
  font-size:13px;
}
.sales-filter-card{
  background:#ffffff;
  border:1px solid #e6ebf2;
  border-radius:20px;
  padding:16px;
  margin-bottom:14px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.sales-filter-form{
  display:grid;
  grid-template-columns:1.6fr 190px 190px auto;
  align-items:end;
  gap:14px;
}
.sales-filter-form label{
  font-size:12px;
  font-weight:900;
  color:#344054;
  margin-bottom:8px;
  display:block;
}
.sales-period-pills{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.sales-period-pills a{
  text-decoration:none;
  border:1px solid #e6ebf2;
  background:#f8fafc;
  color:#344054;
  border-radius:999px;
  padding:9px 13px;
  font-size:12px;
  font-weight:900;
  transition:.18s ease;
}
.sales-period-pills a:hover,
.sales-period-pills a.active{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  border-color:transparent;
  color:#171000;
}
.sales-filter-submit .btn{
  height:50px;
  border-radius:14px;
  font-size:13px;
}
.sales-pro-range{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:#fff7e6;
  color:#8a5a00;
  border:1px solid rgba(216,166,56,.24);
  border-radius:999px;
  padding:9px 13px;
  font-size:12px;
  font-weight:850;
  margin-bottom:14px;
}
.sales-pro-range b{
  color:#111827;
}
.sales-summary-compact{
  gap:14px;
}
.sales-summary-compact .sales-summary-card{
  padding:16px 17px;
  border-radius:18px;
}
.sales-summary-compact .sales-summary-card small{
  font-size:12px;
  margin-bottom:5px;
}
.sales-summary-compact .sales-summary-card strong{
  font-size:21px;
  line-height:1.15;
}
.sales-summary-compact .sales-summary-card span{
  display:block;
  margin-top:5px;
  font-size:11px;
  color:#667085;
  font-weight:800;
}
.sales-pro-card{
  border-radius:20px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.compact-head{
  padding-bottom:12px;
}
.compact-head h5{
  font-size:16px;
  font-weight:950;
  margin-bottom:2px;
}
.compact-head p{
  font-size:12px;
  margin-bottom:0;
}
.compact-status-list{
  gap:9px;
}
.compact-status-list div{
  padding:12px 13px;
  border-radius:14px;
}
.compact-status-list span{
  font-size:12px;
}
.compact-status-list b{
  font-size:20px;
}
.sales-pro-table{
  font-size:12px;
}
.sales-pro-table th{
  font-size:11px;
  padding:10px 12px!important;
}
.sales-pro-table td{
  padding:11px 12px!important;
}
.sales-pro-table .ref-badge{
  font-size:10px;
  padding:5px 8px;
}
@media(max-width:1200px){
  .sales-filter-form{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:768px){
  .sales-pro-header{
    flex-direction:column;
    align-items:flex-start;
  }
  .sales-filter-form{
    grid-template-columns:1fr;
  }
  .sales-pro-header .btn,
  .sales-filter-submit .btn{
    width:100%;
  }
}


/* v63 quotation workflow polish */
.quote-table .btn-gold .fa-file-contract{
  color:#171000;
}
.invoice-print-sheet h1{
  letter-spacing:.02em;
}


/* v64 convert quotation to invoice */
.doc-type-mini{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  margin-right:6px;
}
.doc-type-mini.quotation{
  background:#fff7e6;
  color:#9a6700;
}
.doc-type-mini.invoice{
  background:#eef4ff;
  color:#175cd3;
}
.invoice-print-actions form{
  display:inline-flex;
  margin:0;
}


/* v65 compact invoice/quotation print action buttons */
.invoice-print-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  margin:0 auto 14px !important;
  max-width:210mm !important;
  width:100% !important;
}
.invoice-print-actions .btn,
.invoice-print-actions button{
  height:38px !important;
  padding:7px 12px !important;
  border-radius:10px !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
}
.invoice-print-actions .btn i,
.invoice-print-actions button i{
  font-size:13px !important;
  margin-right:4px !important;
}
.invoice-print-actions form{
  margin:0 !important;
  display:inline-flex !important;
}
@media(max-width:1200px){
  .invoice-print-actions{
    justify-content:flex-start !important;
    overflow-x:auto !important;
    padding-bottom:4px !important;
  }
}
@media(max-width:768px){
  .invoice-print-actions{
    flex-wrap:wrap !important;
  }
}


/* v66 landing page navigation anchor fix */
html{
  scroll-behavior:smooth;
}
section[id],
header[id]{
  scroll-margin-top:92px;
}


/* v67 compact professional admin UI */
.admin-body{
  font-size:13px;
  line-height:1.45;
  color:#253044;
}
.admin-body .content{
  padding:22px;
}
.admin-body .topbar{
  height:64px;
}
.admin-body .topbar h5{
  font-size:16px;
  font-weight:850;
}
.admin-body .topbar small,
.admin-body small{
  font-size:12px;
}
.admin-body .sidebar .nav-link{
  min-height:40px;
  padding:10px 12px;
  border-radius:10px;
  font-size:13px;
  font-weight:750;
}
.admin-body .sidebar .nav-link i{
  font-size:13px;
}
.admin-body .ref-card,
.admin-body .admin-card,
.admin-body .stat-card,
.admin-body .testimonial-admin-card,
.admin-body .settings-card,
.admin-body .settings-preview-card,
.admin-body .sales-pro-card,
.admin-body .sales-filter-card{
  border-radius:14px;
  padding:16px;
  box-shadow:0 8px 22px rgba(15,23,42,.035);
}
.admin-body .ref-card-head,
.admin-body .settings-card-head,
.admin-body .sales-pro-header{
  margin-bottom:13px;
  gap:10px;
}
.admin-body .ref-card-head h5,
.admin-body .settings-card-head h5,
.admin-body .settings-preview-card h5,
.admin-body .testimonial-admin-card h6,
.admin-body .sales-pro-header h3,
.admin-body .sales-analysis-hero h3,
.admin-body .bft-hero-panel h1{
  font-size:17px;
  line-height:1.25;
  letter-spacing:0;
  font-weight:850;
}
.admin-body .ref-card-head p,
.admin-body .settings-card-head p,
.admin-body .sales-pro-header p,
.admin-body .sales-analysis-hero p,
.admin-body .testimonial-admin-card p{
  font-size:12.5px;
  line-height:1.45;
}
.admin-body .form-label,
.admin-body label{
  font-size:12.5px;
  font-weight:750;
  margin-bottom:6px;
}
.admin-body .form-control,
.admin-body .form-select{
  height:42px;
  min-height:42px;
  border-radius:10px;
  font-size:13px;
}
.admin-body textarea.form-control{
  height:auto;
}
.admin-body .btn{
  min-height:36px;
  border-radius:9px;
  font-size:12.5px;
  font-weight:800;
  padding:8px 13px;
  line-height:1.15;
}
.admin-body .btn-sm{
  min-height:32px;
  padding:7px 10px;
  font-size:12px;
}
.admin-body .ref-table thead th,
.admin-body .dashboard-table thead th,
.admin-body .bft-table thead th,
.admin-body .sales-pro-table th,
.admin-body .table thead th{
  font-size:11px;
  padding:11px 12px;
  letter-spacing:0;
  font-weight:800;
}
.admin-body .ref-table tbody td,
.admin-body .dashboard-table tbody td,
.admin-body .bft-table tbody td,
.admin-body .sales-pro-table td,
.admin-body .table tbody td{
  font-size:13px;
  padding:11px 12px;
}
.admin-body .ref-table tbody td b,
.admin-body .dashboard-table tbody td b,
.admin-body .bft-table tbody td b,
.admin-body .sales-pro-table td b{
  font-size:13px;
  font-weight:800;
}
.admin-body .ref-badge,
.admin-body .badge-soft,
.admin-body .status-pill,
.admin-body .invoice-status{
  padding:5px 9px;
  font-size:10.5px;
  font-weight:850;
}
.admin-body .ref-stat-card,
.admin-body .quote-summary-card,
.admin-body .invoice-summary-card,
.admin-body .sales-summary-card,
.admin-body .hero-mini-card,
.admin-body .bft-kpi-card,
.admin-body .status-box,
.admin-body .ref-status-mini{
  border-radius:14px;
  padding:15px;
}
.admin-body .ref-stat-number,
.admin-body .quote-summary-card strong,
.admin-body .invoice-summary-card strong,
.admin-body .sales-summary-card strong,
.admin-body .hero-mini-card strong,
.admin-body .status-box b,
.admin-body .ref-status-mini strong{
  font-size:26px;
  letter-spacing:0;
}
.admin-body .summary-icon,
.admin-body .stat-icon,
.admin-body .ref-stat-icon,
.admin-body .admin-user-avatar,
.admin-body .quick-grid a i{
  width:40px;
  height:40px;
  border-radius:12px;
  font-size:16px;
  flex-basis:40px;
}
.admin-body .quote-summary-card{
  gap:11px;
}
.admin-body .quote-search-head h5{
  font-size:17px;
  font-weight:850;
}
.admin-body .quote-search-head p,
.admin-body .quote-details,
.admin-body .message-card p,
.admin-body .message-text-cell{
  font-size:12.5px;
}
.admin-body .quote-customer b,
.admin-body .customer-cell b,
.admin-body .message-card span{
  font-size:13px;
}
.admin-body .quote-customer span,
.admin-body .avatar-dot{
  width:34px;
  height:34px;
  flex-basis:34px;
  font-size:13px;
}
.admin-body .quote-thumb img{
  width:70px;
  height:50px;
  border-radius:10px;
}
.admin-body .search-input-wrap i{
  left:13px;
}
.admin-body .search-input-wrap .form-control{
  padding-left:38px;
}
.admin-body .quick-grid a{
  min-height:76px;
  border-radius:14px;
  font-size:12.5px;
}
.admin-body .admin-page-footer{
  padding:13px 22px !important;
  font-size:12.5px !important;
}
@media(max-width:768px){
  .admin-body .content{
    padding:16px;
  }
  .admin-body .topbar{
    height:60px;
  }
}

/* v69 payments module: compact accounting workflow */
.payment-summary-grid .invoice-summary-card strong{
  font-size:24px;
}
.payment-entry-card{
  position:sticky;
  top:82px;
}
.payment-selected-invoice{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  padding:12px;
  border:1px solid #e4e9f2;
  border-radius:12px;
  background:#f8fafc;
}
.payment-selected-invoice > span{
  grid-column:1 / -1;
  color:#667085;
  font-size:12.5px;
}
.payment-selected-invoice div{
  min-width:0;
  padding:9px;
  border-radius:10px;
  background:#fff;
  border:1px solid #edf2f7;
  display:flex;
  align-items:baseline;
  gap:12px;
}
.payment-preview-label,
.payment-selected-invoice small{
  display:block;
  color:#667085;
  font-size:10.5px;
  font-weight:850;
  text-transform:uppercase;
  line-height:1.2;
  margin-bottom:4px;
}
.payment-preview-label{
  margin-bottom:0;
  flex:0 0 auto;
}
.payment-selected-invoice strong{
  display:block;
  color:#111827;
  font-size:12.5px;
  font-weight:850;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.payment-filter-form .btn{
  min-width:38px;
}
.payment-ajax-message{
  border-radius:10px;
  padding:10px 12px;
  margin-bottom:12px;
  font-size:12.5px;
  font-weight:800;
  border:1px solid transparent;
}
.payment-ajax-message.success{
  background:#ecfdf3;
  color:#067647;
  border-color:#abefc6;
}
.payment-ajax-message.error{
  background:#fef3f2;
  color:#b42318;
  border-color:#fecdca;
}
.payment-ajax-new-row{
  animation:paymentRowFlash 1.4s ease;
}
.payment-void-row{
  opacity:.68;
  background:#f8fafc;
}
.payment-void-row td{
  color:#667085;
}
.invoice-status.posted{
  background:#ecfdf3;
  color:#067647;
}
.invoice-status.void{
  background:#fef3f2;
  color:#b42318;
}
@keyframes paymentRowFlash{
  0%{background:#fff8e6}
  100%{background:transparent}
}
.payment-history-table{
  min-width:940px;
}
.payment-history-table td:last-child,
.payment-history-table th:last-child{
  text-align:right;
}
@media(max-width:1199px){
  .payment-entry-card{
    position:static;
  }
}
@media(max-width:576px){
  .payment-selected-invoice{
    grid-template-columns:1fr;
  }
}

/* v68 clean Print / Save PDF output: remove browser header/footer space and move invoice upward */
@media print{
  @page{
    size:A4 portrait;
    margin:0 !important;
  }

  html,
  body{
    width:210mm !important;
    min-height:297mm !important;
    margin:0 !important;
    padding:0 !important;
    background:#ffffff !important;
    overflow:visible !important;
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

  body::before,
  body::after{
    content:none !important;
    display:none !important;
  }

  .admin-body,
  .admin-main,
  .content{
    width:210mm !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#ffffff !important;
    overflow:visible !important;
  }

  .sidebar,
  .sidebar-overlay,
  .topbar,
  .admin-page-footer,
  .alert,
  .invoice-tabs,
  .invoice-print-actions,
  .no-print,
  .btn,
  .admin-notification-menu,
  .admin-user-menu{
    display:none !important;
    visibility:hidden !important;
  }

  .invoice-print-sheet,
  .invoice-print-sheet.compact-invoice{
    width:210mm !important;
    max-width:210mm !important;
    min-width:210mm !important;
    min-height:297mm !important;
    margin:0 !important;
    padding:6mm 10mm 8mm 10mm !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  .invoice-print-top{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}

/* v51 contact messages AJAX search/filter */
.message-filter-panel{
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  padding:16px;
}
.message-filter-panel .input-group-text,
.message-filter-panel .form-control,
.message-filter-panel .form-select,
.message-filter-panel .btn{
  min-height:44px;
  border-radius:12px;
}
.message-filter-panel .input-group-text{
  border-top-right-radius:0;
  border-bottom-right-radius:0;
  color:#64748b;
}
.message-filter-panel .input-group .form-control{
  border-top-left-radius:0;
  border-bottom-left-radius:0;
}
.message-summary-badges .badge{
  font-size:.82rem;
  padding:.62rem .8rem;
}
.message-read-btn:disabled{
  opacity:.7;
}

/* v52 center admin sidebar logo */
.sidebar-logo-wrap{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  margin:6px 0 28px !important;
  padding:8px 0 10px !important;
}
.sidebar-logo-wrap .brand-logo.admin-logo{
  height:92px !important;
  max-width:150px !important;
  width:auto !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto !important;
}
@media (min-width: 992px){
  body.sidebar-collapsed .sidebar-logo-wrap{
    margin:4px 0 18px !important;
    padding:4px 0 !important;
  }
  body.sidebar-collapsed .sidebar-logo-wrap .brand-logo.admin-logo{
    height:58px !important;
    max-width:58px !important;
    object-fit:cover !important;
  }
}

/* v16 professional dashboard with invoices + sales analysis data */
.bft-admin-dashboard{max-width:1680px;margin:0 auto}
.dash-welcome{position:relative;overflow:hidden;border-radius:30px;padding:34px;background:radial-gradient(circle at 88% 14%,rgba(216,166,56,.34),transparent 28%),linear-gradient(135deg,#07101e 0%,#0f172a 58%,#111827 100%);color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;box-shadow:0 24px 56px rgba(15,23,42,.16)}
.dash-welcome:before{content:'';position:absolute;right:-95px;bottom:-155px;width:390px;height:390px;border-radius:50%;background:rgba(216,166,56,.18);filter:blur(20px)}
.dash-welcome>div{position:relative;z-index:1}.dash-label{display:inline-flex;align-items:center;border:1px solid rgba(216,166,56,.42);background:rgba(216,166,56,.14);color:#f7d176;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:950;letter-spacing:.7px;text-transform:uppercase;margin-bottom:16px}.dash-welcome h1{font-size:clamp(30px,3.2vw,48px);font-weight:950;letter-spacing:-1.4px;margin:0 0 8px}.dash-welcome p{max-width:820px;color:rgba(255,255,255,.68);font-size:15px;margin:0}.dash-welcome-actions{display:flex;gap:11px;flex-wrap:wrap;justify-content:flex-end;min-width:390px}.dash-welcome-actions .btn{box-shadow:0 12px 26px rgba(0,0,0,.16)}
.dash-kpi{display:block;height:100%;background:#fff;border:1px solid #e9edf4;border-radius:24px;padding:23px;color:#111827;box-shadow:0 12px 30px rgba(15,23,42,.045);transition:.2s;position:relative;overflow:hidden}.dash-kpi:before{content:'';position:absolute;left:0;top:0;width:100%;height:5px;background:#2563eb}.dash-kpi.green:before{background:#17b26a}.dash-kpi.gold:before{background:#d8a638}.dash-kpi.navy:before{background:#111827}.dash-kpi:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(15,23,42,.09);color:#111827}.dash-kpi-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#eef4ff;color:#2563eb;font-size:23px;margin-bottom:18px}.dash-kpi.green .dash-kpi-icon{background:#ecfdf3;color:#17b26a}.dash-kpi.gold .dash-kpi-icon{background:#fff6e8;color:#c17a00}.dash-kpi.navy .dash-kpi-icon{background:#f2f4f7;color:#111827}.dash-kpi-title{font-size:13px;color:#667085;font-weight:850;margin-bottom:9px}.dash-kpi-value{font-size:clamp(25px,2vw,34px);line-height:1;font-weight:950;letter-spacing:-.8px;margin-bottom:10px}.dash-kpi-sub{font-size:12px;color:#667085;font-weight:700;line-height:1.35}
.dash-panel{background:#fff;border:1px solid #e9edf4;border-radius:24px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.045)}.dash-panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.dash-panel-head h5{font-size:19px;font-weight:900;letter-spacing:-.25px;color:#111827;margin:0}.dash-panel-head span{display:block;color:#667085;font-size:12px;font-weight:700;margin-top:3px}.dash-chart{height:330px}.status-chart{height:222px}.collection-card{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.collection-ring{width:148px;height:148px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#17b26a var(--rate),#edf2f7 0);position:relative;box-shadow:inset 0 0 0 1px #edf2f7}.collection-ring:before{content:'';position:absolute;inset:15px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf2f7}.collection-ring strong,.collection-ring span{position:relative;z-index:1;text-align:center}.collection-ring strong{font-size:30px;font-weight:950;color:#111827;line-height:1}.collection-ring span{font-size:11px;color:#667085;font-weight:850;text-transform:uppercase;margin-top:38px;position:absolute}.collection-metrics{display:grid;gap:10px}.collection-metrics div{border:1px solid #eef2f6;background:#f8fafc;border-radius:16px;padding:12px}.collection-metrics small{display:block;color:#667085;font-size:11px;font-weight:850;text-transform:uppercase}.collection-metrics b{font-size:16px;font-weight:950;color:#111827}.invoice-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-mini{border:1px solid #eef2f6;border-radius:18px;padding:15px;text-decoration:none;background:#f8fafc;color:#111827;transition:.18s}.status-mini:hover{background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.07);color:#111827;transform:translateY(-2px)}.status-mini span{display:block;color:#667085;font-size:12px;font-weight:850}.status-mini b{font-size:28px;line-height:1;font-weight:950}.status-mini.paid b{color:#17b26a}.status-mini.partial b{color:#c17a00}
.dash-table{min-width:880px}.dash-table thead th{background:#f8fafc;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.45px;font-weight:900;border-bottom:1px solid #e9edf4;padding:13px}.dash-table tbody td{border-bottom:1px solid #eef2f6;padding:14px 13px;color:#344054;font-size:13px}.dash-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.2px;background:#eaf2ff;color:#2563eb}.dash-status.paid,.dash-status.completed{background:#ecfdf3;color:#079455}.dash-status.partially-paid,.dash-status.in-progress{background:#fff6e8;color:#b7791f}.dash-status.new{background:#eaf2ff;color:#2563eb}.dash-status.cancelled,.dash-status.canceled{background:#fef3f2;color:#b42318}.status-legend-clean{display:grid;gap:10px;margin-top:12px}.status-legend-clean div{display:flex;align-items:center;justify-content:space-between;border:1px solid #eef2f6;background:#f8fafc;border-radius:14px;padding:11px 12px;color:#475467;font-size:13px;font-weight:850}.status-legend-clean span{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:9px}.dot-paid{background:#17b26a}.dot-partial{background:#d8a638}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.business-grid a{min-height:105px;border:1px solid #eef2f6;background:#f8fafc;border-radius:20px;padding:16px;text-decoration:none;color:#111827;display:flex;flex-direction:column;justify-content:space-between;transition:.18s}.business-grid a:hover{background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.07);transform:translateY(-2px);color:#111827}.business-grid i{width:38px;height:38px;border-radius:14px;background:#fff;color:#b7791f;display:grid;place-items:center;box-shadow:0 8px 18px rgba(15,23,42,.05)}.business-grid span{font-size:12px;color:#667085;font-weight:850}.business-grid b{font-size:27px;font-weight:950;line-height:1}.rank-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #eef2f6}.rank-row:last-child{border-bottom:0}.rank-avatar{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#111827,#374151);color:#f7d176;font-weight:950;flex:0 0 42px}.rank-avatar.item{background:#fff6e8;color:#b7791f}.rank-row b{display:block;color:#111827;font-size:14px}.rank-row small{display:block;color:#667085;font-size:12px;font-weight:700}.rank-row strong{font-size:13px;color:#111827;text-align:right}.quote-pipeline{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quote-pipeline div{border:1px solid #eef2f6;background:#f8fafc;border-radius:16px;padding:13px;text-align:center}.quote-pipeline small{display:block;color:#667085;font-weight:850}.quote-pipeline b{font-size:24px;line-height:1;font-weight:950;color:#111827}.message-clean{display:flex;gap:13px;border:1px solid #eef2f6;background:#f8fafc;border-radius:18px;padding:14px;color:#111827;margin-bottom:12px;transition:.18s}.message-clean:hover{background:#fff;color:#111827;box-shadow:0 12px 26px rgba(15,23,42,.06);transform:translateY(-2px)}.message-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:#fff;color:#b7791f;box-shadow:0 8px 18px rgba(15,23,42,.05);flex:0 0 40px}.message-clean strong{display:block;font-size:14px}.message-clean p{margin:4px 0;color:#667085;font-size:13px;line-height:1.45}.message-clean span{color:#98a2b3;font-size:12px;font-weight:800}
@media(max-width:1200px){.dash-welcome{align-items:flex-start;flex-direction:column}.dash-welcome-actions{min-width:0;justify-content:flex-start}.collection-card{grid-template-columns:1fr}.collection-ring{margin:auto}}@media(max-width:768px){.dash-welcome{padding:24px;border-radius:24px}.dash-welcome-actions .btn{width:100%;justify-content:center}.dash-panel-head{align-items:flex-start;flex-direction:column}.dash-chart{height:270px}.business-grid,.invoice-status-grid,.quote-pipeline{grid-template-columns:1fr}.dash-kpi-value{font-size:27px}}


/* v17 dashboard standard KPI cards: no icons, responsive font sizing */
.admin-body .dash-kpi{
  padding:22px 24px;
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.admin-body .dash-kpi-icon{display:none!important}
.admin-body .dash-kpi-title{
  font-size:clamp(12px, .85vw, 14px);
  line-height:1.3;
  margin-bottom:10px;
}
.admin-body .dash-kpi-value{
  font-size:clamp(24px, 2.2vw, 34px);
  line-height:1.08;
  letter-spacing:-.6px;
  word-break:break-word;
}
.admin-body .dash-kpi-sub{
  font-size:clamp(11px, .78vw, 13px);
  line-height:1.35;
}
@media(max-width:991.98px){
  .admin-body .dash-kpi{min-height:145px;padding:20px}
}
@media(max-width:575.98px){
  .admin-body .dash-kpi{min-height:auto;padding:18px}
  .admin-body .dash-kpi-value{font-size:26px}
}

/* dashboard icon cleanup */
.business-grid a{justify-content:center;gap:8px;}
.business-grid span{display:block;}
.rank-row.item-row{gap:0;}
.rank-row.item-row .flex-grow-1{padding-left:0;}
@media(max-width:768px){.business-grid a{min-height:88px;}}
