/* NextSure v53 — targeted UI cleanup only
   - Orders top header removed
   - Bill actions moved into bill details
   - Clear, distinct sidebar labels and brand-friendly colours
   - Agency cards cannot overlap or clip
*/

/* Orders: the search/filter and table now begin at the top of the view. */
#ordersView{gap:12px!important}
#ordersView>.orders-tools-card.hidden+div,
#ordersView>.bg-white{min-width:0}

/* Bills list: Bill ID opens details. Action buttons live inside bill.html. */
#billsView table{min-width:1040px!important}
#billsView .ns-bill-id-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#4f46e5!important;
  font-weight:950;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
#billsView .ns-bill-id-link::after{
  content:"View";
  display:inline-flex;
  padding:3px 7px;
  border-radius:999px;
  background:#eef2ff;
  color:#4338ca;
  font-size:10px;
  line-height:1;
  text-decoration:none;
}
#billsView .ns-bill-row:hover td{background-color:#f8fbff!important}

/* Sidebar — more readable, distinct sections, NextSure brand colours. */
.desktop-side{
  background:
    radial-gradient(circle at 15% 5%,rgba(118,90,255,.30),transparent 25%),
    radial-gradient(circle at 90% 92%,rgba(25,211,166,.22),transparent 30%),
    linear-gradient(180deg,#17153f 0%,#1a2856 48%,#07535b 100%)!important;
  border-right:1px solid rgba(255,255,255,.10);
  box-shadow:18px 0 45px rgba(13,18,52,.20)!important;
}
.desktop-side a[title="Go Home"] img,
#mobileNav a[title="Go Home"] img{
  background:#fff!important;
  padding:10px!important;
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
}
.ns-sidebar-nav{display:flex;flex-direction:column;gap:8px}
.ns-sidebar-nav .sidebar-btn{
  white-space:normal;
  line-height:1.25;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.ns-sidebar-nav .ns-nav-main{
  display:flex!important;
  align-items:center;
  gap:11px;
  min-height:55px;
  padding:12px 14px!important;
  border:1px solid rgba(255,255,255,.13);
  border-radius:17px!important;
  background:rgba(255,255,255,.075)!important;
  color:#f7fbff!important;
  font-size:15px;
  font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.ns-sidebar-nav .ns-nav-main:hover{
  transform:translateX(2px);
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.24);
}
.ns-nav-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font-size:17px;
  font-weight:950;
}
.ns-nav-arrow{margin-left:auto;color:#bfe8e4;font-size:18px}
.desktop-side .ns-sidebar-nav .ns-nav-dashboard,#mobileNav .ns-sidebar-nav .ns-nav-dashboard{background:linear-gradient(135deg,rgba(105,79,255,.92),rgba(65,96,222,.88))!important;border-color:rgba(166,150,255,.65)!important}
.ns-nav-orders .ns-nav-icon{background:rgba(80,132,255,.28)}
.ns-nav-bills .ns-nav-icon{background:rgba(25,207,158,.28);color:#b9ffeb}
.ns-nav-management .ns-nav-icon{background:rgba(172,111,255,.28);color:#ead7ff}
.ns-nav-claims .ns-nav-icon{background:rgba(25,190,218,.27);color:#c8f7ff}
.ns-nav-admin .ns-nav-icon{background:rgba(255,184,77,.25);color:#ffe1ae}
.ns-nav-settings .ns-nav-icon{background:rgba(168,183,218,.22)}
.ns-nav-create{background:linear-gradient(135deg,rgba(0,155,120,.88),rgba(0,119,128,.88))!important;border-color:rgba(86,229,193,.45)!important}
.ns-nav-signout{background:rgba(239,68,68,.13)!important;border-color:rgba(252,165,165,.20)!important}
.ns-sidebar-nav .sidebar-sub{
  margin:0 0 2px 17px!important;
  padding:4px 0 4px 14px!important;
  border-left:1px solid rgba(173,211,233,.28)!important;
}
.ns-sidebar-nav .ns-nav-sub{
  position:relative;
  display:block!important;
  width:100%;
  min-height:40px;
  padding:9px 10px 9px 17px!important;
  border:1px solid transparent;
  border-radius:12px!important;
  background:transparent!important;
  color:#d9e9f6!important;
  font-size:12.8px!important;
  font-weight:780!important;
}
.ns-sidebar-nav .ns-nav-sub::before{
  content:"";
  position:absolute;
  left:2px;
  top:50%;
  width:6px;
  height:6px;
  transform:translateY(-50%);
  border-radius:50%;
  background:#5de0c0;
  box-shadow:0 0 0 4px rgba(93,224,192,.09);
}
.ns-sidebar-nav .ns-nav-sub:hover{
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.10);
  color:#fff!important;
  transform:translateX(2px);
}

/* Agency/agent/branch cards: fully contained rows with reliable spacing. */
#peopleView{overflow:hidden!important}
#peopleGrid.ns-people-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(430px,1fr))!important;
  grid-auto-rows:auto!important;
  grid-auto-flow:row!important;
  align-items:start!important;
  align-content:start!important;
  column-gap:20px!important;
  row-gap:24px!important;
  padding:4px 8px 40px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
#peopleGrid .ns-agency-card{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  align-self:start!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:22px 22px 20px 28px!important;
  overflow:hidden!important;
  border:1px solid #d9e5ee!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
  box-shadow:0 12px 30px rgba(30,52,79,.09)!important;
}
#peopleGrid .ns-agency-card::before{top:0!important;bottom:0!important;width:7px!important;border-radius:0!important;background:linear-gradient(180deg,#12b895,#6b5cff)!important}
#peopleGrid .ns-agency-head{padding-left:0!important;min-width:0}
#peopleGrid .ns-agency-title{min-width:0!important;flex:1 1 auto}
#peopleGrid .ns-agency-title h3{
  font-size:21px!important;
  line-height:1.22!important;
  white-space:normal!important;
  overflow:visible!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
#peopleGrid .ns-agency-title p{white-space:normal!important;overflow-wrap:anywhere!important}
#peopleGrid .ns-agency-code{align-self:flex-start}
#peopleGrid .ns-agency-stats{
  margin:0!important;
  padding-left:0!important;
  gap:10px!important;
}
#peopleGrid .ns-agency-stat{min-height:82px;display:flex;flex-direction:column;justify-content:center}
#peopleGrid .ns-agency-stat b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
#peopleGrid .ns-agency-open-btn{
  position:static!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%!important;
  min-height:52px;
  margin:0!important;
  padding:13px 16px!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#152348,#0a6671)!important;
  box-shadow:0 9px 20px rgba(21,35,72,.16);
}
#peopleGrid .ns-agency-open-btn:hover{background:linear-gradient(135deg,#5d45dd,#008e78)!important}

@media(max-width:1050px){
  #peopleGrid.ns-people-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  #peopleGrid.ns-people-grid{grid-template-columns:1fr!important;padding:3px 2px 28px!important;row-gap:16px!important}
  #peopleGrid .ns-agency-card{padding:18px 16px 17px 22px!important;gap:14px!important}
  #peopleGrid .ns-agency-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ns-sidebar-nav .ns-nav-main{font-size:14px}
}

/* Role and collapsed-menu visibility must always win over layout styling. */
.ns-sidebar-nav .hidden,
#mobileNav .hidden{display:none!important}
