:root{
  --wh-navy:#0f2747;--wh-navy-2:#17365f;--wh-blue:#2f6fed;--wh-blue-dark:#2459c7;
  --wh-bg:#f3f6fa;--wh-card:#fff;--wh-soft:#f8fafc;--wh-border:#e3e8ef;
  --wh-text:#172033;--wh-muted:#667085;
  --bs-primary:#2f6fed;--bs-primary-rgb:47,111,237;--bs-body-color:#172033;
  --bs-body-bg:#f3f6fa;--bs-border-color:#e3e8ef;--bs-link-color:#2f6fed;
  --bs-border-radius:.6rem;--bs-border-radius-lg:.85rem
}
html,body{min-height:100%;background:var(--wh-bg);color:var(--wh-text)}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{text-underline-offset:2px}
.btn{font-weight:700;border-radius:.6rem;padding:.68rem 1rem}
.btn-primary{background:var(--wh-blue);border-color:var(--wh-blue)}
.btn-primary:hover{background:var(--wh-blue-dark);border-color:var(--wh-blue-dark)}
.btn-outline-primary{background:#fff;color:var(--wh-blue);border-color:#b9ccf8}
.btn-outline-primary:hover{background:var(--wh-blue);border-color:var(--wh-blue);color:#fff}
.wh-wordmark{font-weight:850;letter-spacing:-.035em;color:var(--wh-navy)!important;text-decoration:none;font-size:1.23rem}

/* Public website */
.wh-public-header{width:100%;background:#fff;border-bottom:1px solid var(--wh-border);position:sticky;top:0;z-index:1030}
.wh-public-header-inner{max-width:1440px;margin:auto;padding:0 42px;height:74px;display:flex;align-items:center;justify-content:space-between}
.wh-public-nav{display:flex;align-items:center;gap:1.4rem}
.wh-public-nav>a:not(.btn){font-weight:650;color:#475467;text-decoration:none}
.wh-public-nav>a:hover,.wh-public-nav>a.active{color:var(--wh-blue)}
.wh-public-page{width:100%;background:var(--wh-bg)}
.wh-public-inner{max-width:1440px;margin:auto;padding-left:42px;padding-right:42px}
.wh-home-hero{width:100%;background:linear-gradient(135deg,#0f2747 0%,#15365f 100%);color:#fff;padding:86px 0}
.wh-home-hero h1{font-size:clamp(3rem,6vw,5.1rem);line-height:.98;letter-spacing:-.06em;margin:18px 0 22px;color:#fff}
.wh-home-hero p{font-size:1.18rem;line-height:1.7;color:#d7e2f2;max-width:720px;margin-bottom:30px}
.wh-pill{display:inline-flex;padding:.4rem .75rem;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);color:#dce8fb;font-weight:800;font-size:.78rem}
.wh-feature-panel{background:#fff;color:var(--wh-text);border-radius:1rem;padding:1rem 1.5rem;box-shadow:0 22px 55px rgba(0,0,0,.16)}
.wh-feature-panel>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--wh-border)}
.wh-feature-panel>div:last-child{border-bottom:0}
.wh-feature-panel strong{color:var(--wh-navy)}.wh-feature-panel span{color:var(--wh-muted);text-align:right}
.wh-home-section,.wh-plans-content{width:100%;background:#fff;padding:76px 0}
.wh-section-heading{max-width:720px;margin-bottom:30px}.wh-section-heading h2,.wh-cta h2{color:var(--wh-navy);font-size:2.35rem;letter-spacing:-.035em;margin:.3rem 0}.wh-section-heading p{color:var(--wh-muted)}
.wh-kicker{text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:850;color:var(--wh-blue)}
.wh-plan-card{height:100%;background:#fff;border:1px solid var(--wh-border);border-radius:1rem;padding:28px;box-shadow:0 7px 24px rgba(15,39,71,.04);position:relative}
.wh-plan-featured{border:2px solid var(--wh-blue);box-shadow:0 18px 45px rgba(47,111,237,.12)}
.wh-plan-badge{position:absolute;top:-13px;left:22px;background:var(--wh-blue);color:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.72rem;font-weight:800}
.wh-plan-name{font-size:1.05rem;font-weight:850;color:var(--wh-navy)}
.wh-plan-price{font-size:2.3rem;font-weight:850;letter-spacing:-.05em;color:var(--wh-navy);margin:12px 0}
.wh-plan-price small{font-size:.85rem;color:var(--wh-muted);font-weight:650;letter-spacing:0}
.wh-plan-card p{color:var(--wh-muted);min-height:48px}.wh-plan-card ul{padding-left:1.1rem;margin:1.4rem 0 1.7rem}.wh-plan-card li{margin:.55rem 0}
.wh-home-band{width:100%;background:var(--wh-bg);padding:58px 0;border-top:1px solid var(--wh-border);border-bottom:1px solid var(--wh-border)}
.wh-home-band h3{font-size:1.05rem;color:var(--wh-navy);font-weight:850}.wh-home-band p{color:var(--wh-muted);margin:0}
.wh-cta{width:100%;background:#fff;padding:64px 0}.wh-cta>.wh-public-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.wh-footer{width:100%;background:var(--wh-navy);color:#b9c7da;padding:32px 0}
.wh-footer-inner{max-width:1440px;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.wh-footer strong{color:#fff;display:block}.wh-footer span{display:block;margin-top:.25rem}.wh-footer-links{display:flex;gap:1.3rem}.wh-footer a{color:#d7e2f2;text-decoration:none}
.wh-plans-hero{width:100%;background:var(--wh-navy);color:#fff;padding:58px 0}.wh-plans-hero h1{color:#fff;font-size:3rem;letter-spacing:-.045em;margin:12px 0}.wh-plans-hero p{color:#d7e2f2;max-width:700px;font-size:1.08rem}
.wh-order-shell{background:#fff;border:1px solid var(--wh-border);border-radius:1rem;padding:24px;box-shadow:0 8px 28px rgba(15,39,71,.05)}

/* Client app - WHMCS-style vertical shell */
.wh-app-shell{min-height:100vh;display:flex;background:var(--wh-bg)}
.wh-client-sidebar{width:260px;min-width:260px;background:var(--wh-navy);color:#fff;min-height:100vh;position:fixed;left:0;top:0;bottom:0;padding:0 16px;display:flex;flex-direction:column;z-index:1040}
.wh-sidebar-brand{height:78px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}
.wh-sidebar-brand a{color:#fff;font-size:1.24rem;font-weight:850;text-decoration:none;letter-spacing:-.035em}
.wh-client-summary{display:flex;align-items:center;gap:.75rem;padding:20px 8px;color:#fff}
.wh-client-summary strong{display:block}.wh-client-summary span{display:block;color:#9fb0c7;font-size:.78rem;margin-top:2px}
.wh-side-nav{display:flex;flex-direction:column;gap:4px}
.wh-side-nav>a{display:flex;align-items:center;gap:.7rem;color:#c9d5e5;text-decoration:none;padding:.78rem .85rem;border-radius:.55rem;font-weight:650}
.wh-side-nav>a:hover{background:rgba(255,255,255,.08);color:#fff}
.wh-side-nav>a.active{background:var(--wh-blue);color:#fff}
.wh-side-nav .icon{width:19px;height:19px}.wh-side-rule{height:1px;background:rgba(255,255,255,.1);margin:12px 4px}
.wh-side-cta{display:block!important}.wh-side-cta span{font-size:.75rem;color:#9fb0c7}.wh-side-cta strong{display:block;color:#fff;margin-top:2px}
.wh-sidebar-bottom{margin-top:auto;padding:18px 8px 24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.55rem}
.wh-sidebar-bottom a{color:#aebdd1;text-decoration:none;font-size:.85rem}.wh-sidebar-bottom a:hover{color:#fff}
.wh-app-main{margin-left:260px;width:calc(100% - 260px);min-height:100vh;background:var(--wh-bg)}
.wh-client-content{width:100%;padding:34px 38px 60px}
.wh-client-content-inner{max-width:1420px;margin:0 auto}
.wh-mobile-bar{display:none}
.wh-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:24px}
.wh-page-heading h1{color:var(--wh-navy);font-size:2rem;letter-spacing:-.035em;margin:.2rem 0}.wh-page-heading p{color:var(--wh-muted);margin:0}
.wh-stat-card{display:block;height:100%;background:#fff;border:1px solid var(--wh-border);border-radius:.85rem;padding:20px;text-decoration:none;color:var(--wh-text);box-shadow:0 5px 18px rgba(15,39,71,.035)}
.wh-stat-card:hover{border-color:#b9ccf8;box-shadow:0 10px 28px rgba(47,111,237,.08)}
.wh-stat-card span{display:block;color:var(--wh-muted);font-weight:650;font-size:.82rem}.wh-stat-card strong{display:block;color:var(--wh-navy);font-size:2rem;letter-spacing:-.04em;margin:.3rem 0}.wh-stat-card small{display:block;color:#8792a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wh-panel{background:#fff;border:1px solid var(--wh-border);border-radius:.9rem;box-shadow:0 5px 18px rgba(15,39,71,.035);overflow:hidden}
.wh-panel-head{display:flex;justify-content:space-between;align-items:center;padding:19px 20px;border-bottom:1px solid var(--wh-border)}.wh-panel-head h2{font-size:1.1rem;color:var(--wh-navy);margin:.15rem 0 0}.wh-panel-head a{text-decoration:none;font-weight:700;font-size:.85rem}
.wh-list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:16px 20px;border-bottom:1px solid var(--wh-border);text-decoration:none;color:var(--wh-text)}.wh-list-row:last-child{border-bottom:0}.wh-list-row:hover{background:#fafcff}.wh-list-row strong{display:block}.wh-list-row span{display:block;color:var(--wh-muted);font-size:.78rem;margin-top:2px}.wh-empty{padding:26px 20px;color:var(--wh-muted)}
.card{border:1px solid var(--wh-border);border-radius:.85rem;box-shadow:0 5px 18px rgba(15,39,71,.035);overflow:hidden}.card-header{background:#fff;border-bottom:1px solid var(--wh-border);padding:1rem 1.2rem}.card-body{padding:1.2rem}
.form-control,.form-select{min-height:44px;border-color:#d6dde7;border-radius:.58rem}.form-control:focus,.form-select:focus{border-color:#8fb0f4;box-shadow:0 0 0 .2rem rgba(47,111,237,.12)}
.table thead th{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:var(--wh-muted);border-bottom-color:var(--wh-border)}
.badge{border-radius:999px}.breadcrumb{font-size:.82rem}.breadcrumb a{color:var(--wh-muted)}
.wh-pricing-box{border-top:1px solid var(--wh-border);margin-top:1rem;padding-top:1rem}.wh-price-wrap{background:var(--wh-soft);border:1px solid var(--wh-border);border-radius:.7rem;padding:.9rem}.wh-price-wrap .currency{font-size:1.8rem;font-weight:850;color:var(--wh-navy)}
.wh-client-plans{padding:0}

/* public auth / contact */
.wh-auth-page{background:var(--wh-bg);padding:56px 0;min-height:calc(100vh - 170px)}
.page-login .card,.page-signup .card,.page-password-reset .card{max-width:600px;margin-left:auto;margin-right:auto}
.page-login .card-header,.page-signup .card-header,.page-password-reset .card-header{background:#fff;text-align:center}
.page-login .card h1,.page-signup .card h1,.page-password-reset .card h1{color:var(--wh-navy)}
.support-contact-us .wh-public-page{padding:55px 0}

@media(max-width:991.98px){
  .wh-public-nav>a:not(.btn){display:none}.wh-public-header-inner,.wh-public-inner,.wh-footer-inner{padding-left:22px;padding-right:22px}
  .wh-home-hero{padding:58px 0}.wh-home-hero h1{font-size:3.2rem}
}
@media(max-width:767.98px){
  .wh-client-sidebar{display:none}.wh-app-main{margin-left:0;width:100%}.wh-mobile-bar{display:flex;height:66px;padding:0 18px;background:#fff;border-bottom:1px solid var(--wh-border);align-items:center;justify-content:space-between}
  .wh-client-content{padding:22px 16px 45px}.wh-page-heading{align-items:flex-start;flex-direction:column;gap:1rem}
  .wh-public-header-inner{height:66px}.wh-home-hero h1{font-size:2.65rem}.wh-feature-panel{margin-top:10px}
  .wh-cta>.wh-public-inner,.wh-footer-inner{flex-direction:column;align-items:flex-start}
}
