/* NextSure v54 — central billing, complete agency account and policy/PDF synchronization */
:root{
  --ns54-ink:#10213d;
  --ns54-muted:#66758a;
  --ns54-line:#d8e4ee;
  --ns54-teal:#078b74;
  --ns54-teal-dark:#056b5d;
  --ns54-blue:#3457d5;
  --ns54-violet:#6d3de8;
  --ns54-soft:#f5f8fb;
}

/* Central billing */
.ns-billing-center-head{
  position:relative;
  overflow:hidden;
  border-color:var(--ns54-line)!important;
  background:linear-gradient(135deg,#ffffff 0%,#f5fbff 58%,#eefbf7 100%)!important;
  box-shadow:0 14px 34px rgba(20,45,76,.09)!important;
}
.ns-billing-center-head::after{
  content:"";position:absolute;right:-65px;top:-95px;width:230px;height:230px;border-radius:50%;
  background:radial-gradient(circle,rgba(31,180,145,.13),rgba(31,180,145,0) 70%);pointer-events:none
}
.ns-billing-center-head>div{position:relative;z-index:1}
.ns-billing-kicker{display:block;margin-bottom:3px;font-size:10px;letter-spacing:.16em;font-weight:950;color:var(--ns54-teal)}
.ns-billing-create-btn,.ns-billing-branch-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:0;border-radius:13px;
  color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(16,33,61,.13);transition:transform .15s ease,box-shadow .15s ease
}
.ns-billing-create-btn{background:linear-gradient(135deg,var(--ns54-violet),#8752ef)}
.ns-billing-branch-btn{background:linear-gradient(135deg,var(--ns54-teal-dark),#0ca185)}
.ns-billing-create-btn:hover,.ns-billing-branch-btn:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(16,33,61,.18)}
.ns-billing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ns-billing-summary-grid>div{
  min-width:0;padding:13px 14px;border:1px solid #deE8f0;border-radius:15px;background:rgba(255,255,255,.84)
}
.ns-billing-summary-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.055em;font-weight:900;color:#718096}
.ns-billing-summary-grid b{display:block;margin-top:4px;font-size:18px;color:var(--ns54-ink);white-space:normal}

/* Agency Directory */
#peopleView{min-width:0}
#peopleGrid.ns-people-grid{padding-bottom:54px!important}
#peopleGrid .ns-agency-card.ns-agency-directory-card{
  isolation:isolate;border-color:#d6e4ed!important;background:linear-gradient(160deg,#fff 0%,#fbfdff 64%,#f2fbf8 100%)!important
}
#peopleGrid .ns-agency-card.ns-agency-directory-card:hover{transform:translateY(-2px);box-shadow:0 17px 38px rgba(27,56,85,.13)!important}
#peopleGrid .ns-agency-title h3{color:#0f2341!important;letter-spacing:-.015em}
#peopleGrid .ns-agency-title p{color:#62758c!important;line-height:1.45}
#peopleGrid .ns-agency-code{border:1px solid #a7ebd9!important;background:#effcf8!important;color:#057460!important}
#peopleGrid .ns-agency-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
#peopleGrid .ns-agency-stat{border:1px solid #e1e9f0!important;background:#f8fafc!important;border-radius:15px!important;padding:11px 12px!important}
#peopleGrid .ns-agency-stat span{color:#65758b!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.045em}
#peopleGrid .ns-agency-stat b{margin-top:4px;color:#10213d!important;font-size:17px!important}
#peopleGrid .ns-agency-open-btn{background:linear-gradient(135deg,#14264b 0%,#0c5e70 55%,#078b74 100%)!important}

/* Complete agency account */
#personOrdersBox{border-color:#d4e2ec!important;background:#f6f9fc!important}
.ns-person-orders-header{padding:18px 20px!important;background:linear-gradient(135deg,#fff 0%,#f6faff 60%,#effaf7 100%)!important;border-bottom:1px solid var(--ns54-line)!important}
.ns-person-orders-heading{align-items:flex-start!important}
.ns-person-title-name{display:block;font-size:25px;line-height:1.15;color:#10213d}
.ns-person-title-sub{display:block;margin-top:7px;color:#63758c;font-size:13px;font-weight:800}
.ns-person-summary-grid-v54{display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr))!important;gap:9px!important;margin-top:14px!important}
.ns-person-summary-grid-v54>div{min-width:0;padding:11px 12px!important;border:1px solid #dde6ee!important;border-radius:14px!important;background:#fff!important}
.ns-person-summary-grid-v54 span{font-size:10px!important;text-transform:uppercase;letter-spacing:.045em;color:#718096!important}
.ns-person-summary-grid-v54 b{display:block;margin-top:4px;font-size:16px!important;color:#10213d!important;white-space:normal}
.ns-person-order-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;margin-top:15px!important}
.ns-action-period{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:0;border-radius:13px;background:linear-gradient(135deg,#0b8d77,#12a78c);color:#fff;font-weight:900;box-shadow:0 8px 17px rgba(11,141,119,.17)}
.ns-agency-account-scroll{padding:14px!important;background:#f4f8fb!important}
.ns-agency-account-section{overflow:hidden;margin-bottom:16px;border:1px solid #d9e4ed;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(30,54,81,.055)}
.ns-agency-account-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e1e9ef;background:linear-gradient(180deg,#fff,#f8fbfd)}
.ns-agency-account-section-title span{display:block;font-size:9px;letter-spacing:.13em;font-weight:950;color:var(--ns54-teal)}
.ns-agency-account-section-title h4{font-size:19px;font-weight:950;color:var(--ns54-ink)}
.ns-agency-account-section-title small{color:#738198;font-size:12px;font-weight:750;text-align:right}
.ns-person-orders-table-wrap{max-height:48vh}
.ns-person-bills-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:13px 15px;background:#fbfdff;border-bottom:1px solid #e3eaf0}
.ns-person-bills-summary>div{padding:11px 12px;border:1px solid #e0e8ef;border-radius:13px;background:#fff}
.ns-person-bills-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.045em;font-weight:900;color:#718096}
.ns-person-bills-summary b{display:block;margin-top:3px;font-size:16px;color:#10213d}
.ns-agency-bill-row:hover td{background:#f7fbff!important}
.ns-mini-open-btn,.ns-mini-payment-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}
.ns-mini-open-btn{background:#14264b;color:#fff}
.ns-mini-payment-btn{background:#e8faf4;color:#087763}
.ns-payment-modal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.ns-payment-modal-summary>div{padding:11px;border:1px solid #e0e8ef;border-radius:12px;background:#f8fafc}
.ns-payment-modal-summary span{display:block;font-size:10px;color:#718096;text-transform:uppercase;font-weight:900}
.ns-payment-modal-summary b{display:block;margin-top:4px;color:#10213d}

/* Policy form: make the relationship between editable order data and final PDF clear. */
#policyReadyWrap{border-color:#cfdde8!important;background:linear-gradient(180deg,#f9fcff,#f5faf8)!important;box-shadow:inset 0 1px 0 #fff}
#policyReadyWrap::before{content:"Saved changes here are synchronized with Order Edit / Update and the official policy PDF.";display:block;margin-bottom:14px;padding:11px 13px;border:1px solid #bfe8dd;border-radius:12px;background:#ecfbf6;color:#075f51;font-size:12px;font-weight:850}
#policyReadyWrap input,#policyReadyWrap select,#policyReadyWrap textarea{background:#fff!important;border-color:#cfdae5!important;transition:border-color .15s,box-shadow .15s}
#policyReadyWrap input:focus,#policyReadyWrap select:focus,#policyReadyWrap textarea:focus{outline:0;border-color:#168b76!important;box-shadow:0 0 0 4px rgba(22,139,118,.1)!important}

@media(max-width:1100px){
  .ns-billing-summary-grid{grid-template-columns:repeat(2,1fr)}
  .ns-person-summary-grid-v54{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #peopleGrid .ns-agency-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .ns-billing-summary-grid,.ns-person-bills-summary{grid-template-columns:repeat(2,1fr)}
  .ns-person-summary-grid-v54{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ns-person-orders-header{padding:14px!important}
  .ns-agency-account-scroll{padding:8px!important}
  .ns-agency-account-section-title{align-items:flex-start;flex-direction:column}
  .ns-agency-account-section-title small{text-align:left}
  .ns-payment-modal-summary{grid-template-columns:1fr}
}

/* v55 Agency Directory — readable alphabetical account cards */
#peopleGrid.ns-people-grid{grid-template-columns:repeat(auto-fit,minmax(390px,1fr))!important;gap:18px!important;padding:6px 5px 52px!important}
#peopleGrid .ns-agency-card.ns-agency-directory-card{grid-template-rows:auto auto auto auto!important;gap:14px!important;padding:20px 20px 18px 25px!important;border-radius:22px!important}
#peopleGrid .ns-directory-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important}
#peopleGrid .ns-agency-identity{display:flex;align-items:center;gap:13px;min-width:0;flex:1}
#peopleGrid .ns-agency-avatar{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #b9e6da;border-radius:15px;background:linear-gradient(145deg,#e9faf5,#eef6ff);color:#087763;font-size:16px;font-weight:950;letter-spacing:.03em}
#peopleGrid .ns-agency-title h3{margin:0!important;font-size:19px!important;line-height:1.24!important;text-transform:none!important;letter-spacing:-.01em!important}
#peopleGrid .ns-agency-title p{margin:5px 0 0!important;font-size:12px!important;color:#6a7d92!important;white-space:normal!important;overflow-wrap:anywhere!important}
#peopleGrid .ns-agency-directory-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#peopleGrid .ns-agency-directory-meta span{display:block;min-width:0;padding:9px 11px;border:1px solid #e2eaf0;border-radius:12px;background:#fbfdff;color:#4e6379;font-size:11px;font-weight:750;overflow-wrap:anywhere}
#peopleGrid .ns-agency-directory-meta b{display:block;margin-bottom:3px;color:#7a899a;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
#peopleGrid .ns-agency-open-btn{min-height:48px!important;font-size:13px!important;letter-spacing:.01em}
@media(max-width:560px){#peopleGrid.ns-people-grid{grid-template-columns:1fr!important}#peopleGrid .ns-agency-directory-meta{grid-template-columns:1fr}#peopleGrid .ns-directory-head{flex-direction:column}#peopleGrid .ns-agency-code{margin-left:61px}}
