@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');
:root{
  --pk-green:#1aa54a;--pk-green-400:#34d399;--pk-green-600:#138a3d;--pk-green-700:#126e33;
  --pk-red:#d8232a;--pk-ink-900:#1c1815;--pk-ink-800:#2b2622;--pk-ink-100:#eceae7;--pk-ink-50:#f7f6f4;
  --bs-primary:#1aa54a;--bs-primary-rgb:26,165,74;--bs-link-color:#138a3d;--bs-link-color-rgb:19,138,61;--bs-link-hover-color:#126e33;
  --bs-body-font-family:'Inter',system-ui,-apple-system,sans-serif;--bs-body-color:#2b2622;--bs-body-bg:#f7f6f4;
  --bs-border-radius:.75rem;--bs-border-radius-sm:.5rem;--bs-border-radius-lg:1rem;--bs-border-color:#eceae7;
}
body{font-family:var(--bs-body-font-family);background:var(--pk-ink-50);color:var(--pk-ink-800);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,.h1,.h2,.h3,.h4{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.01em;color:var(--pk-ink-900);}
/* full-bleed dark header (matches main site) */
header{position:relative;background:var(--pk-ink-900);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);box-shadow:0 1px 0 rgba(255,255,255,.04);}
header .navbar{padding-top:.9rem!important;padding-bottom:.9rem!important;}
header .navbar-brand{display:inline-block!important;width:215px;height:46px;background:url('pkhosting-logo.svg') left center/contain no-repeat;}
header .navbar-brand span,header .navbar-brand img{display:none!important;}
header .nav-link{color:#e9e7e4!important;font-weight:600;}
header .nav-link:hover,header .nav-link.active{color:var(--pk-green-400)!important;}
header .navbar-toggler{border-color:rgba(255,255,255,.25);}header .navbar-toggler-icon{filter:invert(1) grayscale(1) brightness(2);}
header .btn-outline-primary{color:#fff;border-color:rgba(255,255,255,.35);}
header .btn-outline-primary:hover{background:var(--pk-green);border-color:var(--pk-green);}
header .client-dropdown .nav-link,header .dropdown-toggle{color:#fff!important;}
header .form-select{background-color:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.2);}
/* buttons */
.btn-primary{--bs-btn-bg:#138a3d;--bs-btn-border-color:#138a3d;--bs-btn-hover-bg:#126e33;--bs-btn-hover-border-color:#126e33;--bs-btn-active-bg:#126e33;background-image:linear-gradient(135deg,#1aa54a,#138a3d);border:none;font-weight:700;border-radius:.75rem;box-shadow:0 10px 28px -14px rgba(26,165,74,.5);}
.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px);}
.btn-outline-primary{--bs-btn-color:#138a3d;--bs-btn-border-color:#1aa54a;--bs-btn-hover-bg:#1aa54a;--bs-btn-hover-border-color:#1aa54a;border-radius:.75rem;font-weight:600;}
.btn{border-radius:.75rem;}
/* links, accents */
a{color:var(--pk-green-600);text-decoration:none;}a:hover{color:var(--pk-green-700);}
.text-primary{color:var(--pk-green)!important;}.bg-primary{background-color:var(--pk-green)!important;}.badge.bg-primary{background:var(--pk-green)!important;}
.text-danger{color:var(--pk-red)!important;}
/* cards, tables, inputs */
.card,.panel{border:1px solid var(--pk-ink-100);border-radius:1rem;box-shadow:0 10px 28px -16px rgba(28,24,21,.14);}
.card-header{background:transparent;border-bottom:1px solid var(--pk-ink-100);font-weight:700;}
.form-control,.form-select{border-radius:.7rem;border-color:#dad6d1;}
.form-control:focus,.form-select:focus{border-color:var(--pk-green);box-shadow:0 0 0 .2rem rgba(26,165,74,.15);}
.table thead th{color:#938b83;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em;}
.alert-success{background:#e9f9ef;border-color:#c9f0d8;color:#126e33;}
.alert-danger{background:#fdecec;border-color:#fbd0d1;color:#9a161e;}
/* sidebar */
.nav.flex-column .nav-link{border-radius:.6rem;color:var(--pk-ink-800);font-weight:600;}
.nav.flex-column .nav-link.active{background:var(--pk-green);color:#fff;}
.nav.flex-column .nav-link:hover{background:#e9f9ef;color:var(--pk-green-700);}
.svg-icon{width:1.15rem;height:1.15rem;}
/* hide default minimal footer; show custom */
footer#footer{display:none!important;}
#pk-footer{background:#120f0d;color:#bcb6af;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:3rem calc(50vw - 50%) 1.4rem;margin-top:3rem;font-size:.9rem;}
#pk-footer h4{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;font-family:'Plus Jakarta Sans';}
#pk-footer a{color:#bcb6af;}#pk-footer a:hover{color:var(--pk-green-400);}
#pk-footer .pk-foot-brand{width:200px;height:44px;background:url('pkhosting-logo.svg') left center/contain no-repeat;display:block;margin-bottom:1rem;}
#pk-footer .pk-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem;}
#pk-footer ul{list-style:none;padding:0;margin:0;line-height:2;}
#pk-footer .pk-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:1.2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.8rem;color:#938b83;}
@media(max-width:768px){#pk-footer .pk-cols{grid-template-columns:1fr 1fr;}header .navbar-brand{width:170px;}}

/* --- header visibility fix --- */
header, header .navbar { background:#1c1815 !important; }
header .navbar-brand{display:inline-flex!important;align-items:center;width:auto!important;height:auto!important;background:none!important;}
header .navbar-brand img{display:inline-block!important;height:42px!important;width:auto!important;}
header .navbar-brand span{display:inline!important;color:#fff!important;}
header .nav-link,header .navbar-nav .nav-link,header .dropdown-toggle{color:#e9e7e4!important;}
header .nav-link:hover,header .nav-link.active{color:#34d399!important;}
header .navbar-toggler{border-color:rgba(255,255,255,.35)!important;}
header .navbar-toggler-icon{filter:invert(1) brightness(2)!important;}

/* === client portal fixes (v3): sidebar active label visibility === */
.nav.flex-column .nav-link{color:var(--pk-ink-800)!important;}
.nav.flex-column .nav-link .svg-icon{fill:currentColor!important;}
.nav.flex-column .nav-link.active,.nav.flex-column .nav-link.active *{color:#fff!important;fill:#fff!important;}
.nav.flex-column .nav-link.active{background:var(--pk-green)!important;box-shadow:0 8px 18px -10px rgba(26,165,74,.6);}
.nav.flex-column .nav-link:hover:not(.active){background:#e9f9ef!important;color:var(--pk-green-700)!important;}
.nav.flex-column .nav-link:hover:not(.active) .svg-icon{fill:var(--pk-green-700)!important;}

/* ============ v4 polish: spacing, fonts, breadcrumb, cards ============ */
body,.btn,.form-control,.form-select,input,select,textarea,.table,.breadcrumb,.dropdown-menu{font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5{font-family:'Plus Jakarta Sans','Inter',sans-serif;}
/* breathing room below the full-bleed header */
header{margin-bottom:0!important;}
header + .container,.container + .container{padding-top:2.4rem;}
#wrapper{padding-bottom:1.5rem;}
/* breadcrumb */
.breadcrumb{margin:0 0 1.6rem;padding:0;font-size:.8rem;font-weight:600;}
.breadcrumb-item a{color:#938b83;text-decoration:none;}
.breadcrumb-item a:hover{color:var(--pk-green-700);}
.breadcrumb-item.active{color:var(--pk-ink-800);}
.breadcrumb-item+.breadcrumb-item::before{color:#cfcac4;}
/* page headings */
section[role=main] h1,.content-block h1{font-size:1.55rem;margin:.1rem 0 1.3rem;line-height:1.2;}
/* cards */
.card{border-radius:1rem;border:1px solid var(--pk-ink-100);box-shadow:0 14px 32px -20px rgba(28,24,21,.18);margin-bottom:1.5rem;}
.card-body{padding:1.4rem 1.5rem;}
.card-header{padding:1.05rem 1.5rem;background:#fff;border-bottom:1px solid var(--pk-ink-100);font-weight:700;font-size:.95rem;}
/* tables */
.table{font-size:.9rem;}
.table>:not(caption)>*>*{padding:.8rem 1rem;}
.table thead th{color:#938b83;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em;}
.table tbody tr{border-color:#f1efec;}
/* forms */
.form-label{font-weight:600;font-size:.84rem;margin-bottom:.35rem;color:var(--pk-ink-800);}
.form-control,.form-select{padding:.6rem .85rem;}
/* sidebar */
#sidebarMenu .nav.flex-column{gap:.18rem;}
.nav.flex-column .nav-link{padding:.62rem .9rem;}
/* buttons + badges */
.btn{padding:.6rem 1.15rem;}.btn-sm{padding:.42rem .85rem;}
.badge{font-weight:600;border-radius:.5rem;padding:.42em .72em;}
/* login / public page: brand logo sizing + card polish */
img[src*="branding/logo"],.navbar-brand img{max-height:48px;width:auto;}

/* ============ v5: breadcrumb (both markups), .well legacy panel, tab brand ============ */
/* works for BOTH the layout's <ol><li.breadcrumb-item> AND the dashboard's <ul><li>+dropdown-divider */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0 0 1.6rem;padding:0;font-size:.8rem;font-weight:600;}
.breadcrumb>li{display:inline-flex;align-items:center;list-style:none;}
.breadcrumb a{color:#938b83;text-decoration:none;}
.breadcrumb a:hover{color:var(--pk-green-700);}
.breadcrumb li.active,.breadcrumb-item.active{color:var(--pk-ink-800);}
.breadcrumb-item a{color:#938b83;}
.breadcrumb-item+.breadcrumb-item::before{color:#cfcac4;}
/* dashboard mis-uses .dropdown-divider as a "/" separator -> make it a clean inline divider */
.breadcrumb .dropdown-divider{display:inline;height:auto;width:auto;margin:0 .15rem 0 .5rem;padding:0;border:0;overflow:visible;background:none;color:#cfcac4;}
/* .well: Bootstrap-3 class removed in BS5 but FossBilling still uses it (invoices x5, checkout, support messages) -> clean inset panel */
.well{background:var(--pk-ink-50);border:1px solid var(--pk-ink-100);border-radius:.85rem;padding:1.15rem 1.25rem;margin-bottom:1.25rem;}
.well.small{font-size:.85rem;}
.well:last-child{margin-bottom:0;}
/* profile/card tabs: brand the active tab */
.nav-tabs .nav-link{font-weight:600;}
.nav-tabs .nav-link.active{color:var(--pk-green-700);}

/* v6: keep the client-area header logo independent from FOSSBilling logo settings. */
header .navbar-brand{
  display:inline-block!important;
  width:215px!important;
  height:46px!important;
  min-height:46px!important;
  flex:0 0 215px!important;
  background:url('pkhosting-logo.svg') left center/contain no-repeat!important;
}
header .navbar-brand img,
header .navbar-brand span{
  display:none!important;
}
@media(max-width:768px){
  header .navbar-brand{
    width:170px!important;
    height:40px!important;
    min-height:40px!important;
    flex-basis:170px!important;
  }
}

/* v7: show the legal footer links enabled in theme settings. */
footer#footer{
  display:block!important;
  background:#120f0d;
  color:#bcb6af!important;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:3rem!important;
  margin-bottom:0!important;
  padding:2rem calc(50vw - 50%) 1.6rem;
  border-top:1px solid rgba(255,255,255,.08);
}
footer#footer .d-flex{
  gap:.55rem;
  text-align:center;
}
footer#footer span{
  line-height:1.7;
}
footer#footer a{
  color:#e9e7e4!important;
  font-weight:600;
}
footer#footer a:hover{
  color:var(--pk-green-400)!important;
}
