/* Unified Manual Portal theme
   This file is loaded after style.css and is the single override theme for portal pages. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');
:root{
  --portal-bg:#f7f8ff;
  --portal-panel:rgba(255,255,255,.96);
  --portal-ink:#172033;
  --portal-muted:#68728a;
  --portal-line:rgba(105,118,160,.18);
  --portal-purple:#7438f2;
  --portal-purple2:#5b21e8;
  --portal-pink:#ec4899;
  --portal-cyan:#06b6d4;
  --portal-blue:#2563eb;
  --portal-green:#10b981;
  --portal-red:#ef4444;
  --portal-shadow:0 22px 60px rgba(31,41,83,.14);
  --portal-radius:26px;
  --portal-sidebar:260px;
}
html,body{
  font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  color:var(--portal-ink)!important;
  background:radial-gradient(circle at 12% -8%,rgba(116,56,242,.14),transparent 34%),radial-gradient(circle at 95% 2%,rgba(6,182,212,.18),transparent 34%),var(--portal-bg)!important;
  min-height:100%;
}
body.app-body, body.portal-unified, .app-body.toolkit-app{
  display:flex!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
  background:radial-gradient(circle at 12% -8%,rgba(116,56,242,.14),transparent 34%),radial-gradient(circle at 95% 2%,rgba(6,182,212,.18),transparent 34%),var(--portal-bg)!important;
}
.sidebar,.portal-nav-sidebar,.toolkit-sidebar,.side{
  width:var(--portal-sidebar)!important;
  min-width:var(--portal-sidebar)!important;
  max-width:var(--portal-sidebar)!important;
  position:sticky!important;
  top:0!important;
  align-self:flex-start!important;
  height:100vh!important;
  min-height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:linear-gradient(180deg,rgba(18,24,43,.98),rgba(30,18,63,.98))!important;
  color:#fff!important;
  padding:20px 16px!important;
  box-shadow:18px 0 45px rgba(17,24,39,.14)!important;
  border:0!important;
  scrollbar-width:thin!important;
}
.brand,.portal-brand,.sidebar-brand,.toolkit-brand,.side .logo{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 18px!important;
  min-height:44px!important;
  padding:0 4px 16px!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
  font-size:18px!important;
  font-weight:800!important;
  color:#fff!important;
  line-height:1.15!important;
}
.sidebar nav,.portal-nav-menu,.nav-menu,.toolkit-nav{
  display:grid!important;
  gap:5px!important;
  overflow:visible!important;
  height:auto!important;
  max-height:none!important;
  padding:0 0 14px!important;
  margin:0!important;
}
.sidebar nav a,.portal-nav-menu a,.nav-menu a,.toolkit-nav a,.side a{
  color:#d8def3!important;
  text-decoration:none!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  font-weight:700!important;
  font-size:13px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:36px!important;
  height:auto!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  box-shadow:none!important;
  margin:0!important;
}
.sidebar nav a span,.portal-nav-menu a span{overflow:hidden;text-overflow:ellipsis;}
.sidebar nav a:hover,.sidebar nav a.active,.portal-nav-menu a:hover,.portal-nav-menu a.active,.nav-menu a:hover,.nav-menu a.active,.toolkit-nav a:hover,.toolkit-nav a.active,.side a:hover,.side a.active{
  background:linear-gradient(90deg,rgba(236,72,153,.34),rgba(56,189,248,.14))!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 #ec5be4!important;
  transform:none!important;
}
.main,.portal-main,.toolkit-main{
  flex:1 1 auto!important;
  width:calc(100% - var(--portal-sidebar))!important;
  min-width:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}
.content,.portal-content,.toolkit-content{
  padding:28px!important;
  max-width:1540px!important;
  width:100%!important;
  margin:0 auto!important;
}
.topbar,.portal-topbar{
  background:transparent!important;
  border:0!important;
  padding:28px 28px 0!important;
  margin:0 auto 22px!important;
  max-width:1540px!important;
  box-shadow:none!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:18px!important;
}
.topbar h1,.page-title,h1.title,.title,.page-heading{
  font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:.98!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  color:var(--portal-ink)!important;
  margin:0!important;
}
.topbar p,.sub,.page-intro,.muted,.panel-text{
  color:#56627a!important;
  font-family:Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.user-chip{
  background:rgba(255,255,255,.86)!important;
  border:1px solid var(--portal-line)!important;
  border-radius:999px!important;
  padding:9px 13px!important;
  box-shadow:0 10px 28px rgba(31,41,83,.08)!important;
  color:var(--portal-ink)!important;
  font-size:13px!important;
  font-weight:700!important;
}
.user-chip a{color:var(--portal-purple)!important;font-weight:800!important;text-decoration:none!important;margin-left:8px!important;}
.card,.panel,.panel-card,.directory-card,.ed-card,.upload-card,.users-list-card,.manuals-library-panel,.manual-viewer-panel,.api-card,.compliance-centre,.stat,.stats .stat{
  background:var(--portal-panel)!important;
  border:1px solid rgba(223,230,243,.95)!important;
  border-radius:var(--portal-radius)!important;
  box-shadow:var(--portal-shadow)!important;
  backdrop-filter:blur(16px)!important;
  color:var(--portal-ink)!important;
}
.card h2,.card h3,.panel h2,.panel h3,.panel-card h3,.section-head h3{
  font-family:Poppins,system-ui!important;
  font-weight:800!important;
  color:var(--portal-ink)!important;
  letter-spacing:-.02em!important;
  margin-top:0!important;
}
.btn,.button,.tool-btn,.action-btn,.licence-btn-primary,.licence-btn-secondary,.mini-btn,button.btn,a.btn,input[type=submit].btn,button[type=submit],.mini{
  border:0!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:14px 20px!important;
  font:800 14px Poppins,system-ui!important;
  cursor:pointer!important;
  transition:.16s ease!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  line-height:1!important;
  min-height:46px!important;
  height:auto!important;
  box-shadow:none!important;
}
.btn:hover,.button:hover,.tool-btn:hover,.action-btn:hover,.mini-btn:hover,.mini:hover{transform:translateY(-1px)!important;}
.btn-primary,.button,.action-btn.primary,.licence-btn-primary,.btn:not(.secondary):not(.btn-light):not(.btn-secondary),button[type=submit]{
  color:#fff!important;
  background:linear-gradient(135deg,var(--portal-purple),var(--portal-purple2))!important;
  box-shadow:0 16px 34px rgba(116,56,242,.24)!important;
}
.btn-light,.tool-btn,.licence-btn-secondary,.btn.secondary,.btn-secondary,.button.secondary,.mini{
  background:#fff!important;
  color:#111b36!important;
  border:1px solid var(--portal-line)!important;
  box-shadow:none!important;
}
.btn-danger,.danger{background:#fff!important;color:var(--portal-red)!important;border:1px solid rgba(239,68,68,.22)!important;}
.input,.form-control,input[type=text],input[type=email],input[type=password],input[type=search],input[type=date],input[type=url],select,textarea,.select{
  width:100%;
  border:1px solid #d7e1f2!important;
  border-radius:16px!important;
  background:#fff!important;
  padding:13px 15px!important;
  font:500 14px Poppins,system-ui!important;
  min-height:46px!important;
  color:var(--portal-ink)!important;
  box-shadow:none!important;
}
.input:focus,.form-control:focus,input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--portal-purple)!important;box-shadow:0 0 0 4px rgba(116,56,242,.12)!important;}
.table-wrap{border:1px solid var(--portal-line)!important;border-radius:24px!important;background:#fff!important;overflow:auto!important;}
table,.table{font-family:Poppins,system-ui!important;background:rgba(255,255,255,.72)!important;border-collapse:collapse!important;width:100%!important;}
th,.table th{background:#f6f7fd!important;color:#66728c!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:800!important;font-size:11px!important;padding:12px!important;}
td,.table td{border-color:var(--portal-line)!important;padding:13px!important;font-size:13px!important;color:var(--portal-ink)!important;}
.badge,.status,.pill{border-radius:999px!important;font-weight:800!important;padding:7px 11px!important;font-size:11px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.badge.active,.status.active,.badge.open,.status.open,.ok{background:#dcfae6!important;color:#067647!important;}
.badge.pending,.status.pending,.badge.in-progress,.badge.waiting-customer{background:#fff4e5!important;color:#b54708!important;}
.badge.suspended,.status.suspended,.badge.expired,.err{background:#ffe4e8!important;color:#c01048!important;}
.hero,.home-hero{border-radius:30px!important;background:linear-gradient(135deg,#7438f2,#ec4899 55%,#06b6d4)!important;color:#fff!important;box-shadow:0 24px 55px rgba(116,56,242,.2)!important;}
.stats,.stats-grid,.grid{gap:16px!important;}
.stat-card,.stat{min-height:94px!important;padding:16px 18px!important;}
.stat-card span,.stat small{font-size:11px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#66728c!important;font-weight:900!important;}
.stat-card strong,.stat strong{font-size:30px!important;line-height:1!important;color:var(--portal-ink)!important;}
.mobile-nav{display:none!important;}
@media(max-width:900px){
  body.app-body,body.portal-unified{display:block!important;}
  .sidebar,.portal-nav-sidebar,.toolkit-sidebar,.side{display:none!important;}
  .main,.portal-main,.toolkit-main{width:100%!important;}
  .content,.portal-content,.toolkit-content{padding:18px!important;}
  .topbar,.portal-topbar{padding:18px 18px 0!important;display:block!important;}
  .topbar h1,.title{font-size:34px!important;}
  .stats,.stats-grid,.grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:620px){.stats,.stats-grid,.grid{grid-template-columns:1fr!important}.btn,.button,.action-btn,button[type=submit]{width:100%!important}.topbar h1,.title{font-size:30px!important}}
