/* Shared controls for authenticated backend pages. */
body.app-body{--nf-control-navy:#1d6583;--nf-control-orange:#e36339;--nf-control-ink:#17212b;--nf-control-light:#f3f6f8;--nf-control-border:#d9e3e9}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn{display:inline-flex;align-items:center!important;justify-content:center!important;gap:7px;min-height:40px!important;max-width:100%;box-sizing:border-box;padding:10px 15px!important;border:1px solid var(--nf-control-border)!important;border-radius:10px!important;font-size:14px!important;font-weight:600!important;line-height:1.4!important;text-align:center;vertical-align:middle;white-space:normal;text-decoration:none!important;text-shadow:none!important;color:var(--nf-control-ink)!important;background:var(--nf-control-light)!important;box-shadow:none!important;cursor:pointer;transition:background-color .15s,border-color .15s}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn :where(span,b,strong,small){color:inherit!important;text-shadow:none!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn:is(.btn-primary,.btn-accent,.btn-orange,.btn-danger){color:#fff!important;background:var(--nf-control-orange)!important;border-color:var(--nf-control-orange)!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn:is(.btn-navy,.btn-secondary,.btn-success,.btn-dark,.btn-info){color:#fff!important;background:var(--nf-control-navy)!important;border-color:var(--nf-control-navy)!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn:is(.btn-light,.btn-ghost,.btn-hero-light,.btn-danger-subtle){color:var(--nf-control-ink)!important;background:var(--nf-control-light)!important;border-color:var(--nf-control-border)!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn:hover{transform:none!important;background:#e7eef2!important;border-color:#b7cbd6!important;color:var(--nf-control-ink)!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn:is(.btn-primary,.btn-accent,.btn-orange,.btn-danger):hover{background:#c9512d!important;border-color:#c9512d!important;color:#fff!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn:is(.btn-navy,.btn-secondary,.btn-success,.btn-dark,.btn-info):hover{background:#18536c!important;border-color:#18536c!important;color:#fff!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn:focus-visible{outline:3px solid #e9ad98;outline-offset:3px}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn:is(:disabled,[aria-disabled="true"],.disabled){opacity:.55;cursor:not-allowed;transform:none!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn.btn-sm{min-height:34px!important;padding:7px 11px!important;font-size:12px!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn.btn-xs{min-height:30px!important;padding:5px 9px!important;font-size:12px!important}
body.app-body :is(.content,.nf-modal-floating) summary.btn{list-style:none!important;width:fit-content;overflow-wrap:anywhere}
body.app-body :is(.content,.nf-modal-floating) summary.btn::-webkit-details-marker{display:none}
body.app-body :is(.content,.nf-modal-floating) .nf-section-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.app-body :is(.content,.nf-modal-floating) .nf-section-nav .btn,body.app-body :is(.content,.nf-modal-floating) .np-hero+.panel.np-actions>a.btn{color:#fff!important;background:var(--nf-control-navy)!important;border-color:var(--nf-control-navy)!important}
body.app-body :is(.content,.nf-modal-floating) .nf-section-nav .btn:hover,body.app-body :is(.content,.nf-modal-floating) .np-hero+.panel.np-actions>a.btn:hover{background:#18536c!important;border-color:#18536c!important;color:#fff!important}
body.app-body :is(.content,.nf-modal-floating) .nf-section-nav .btn[aria-current="page"]{box-shadow:inset 0 0 0 2px #a3c9db!important}
body.app-body :is(.content,.nf-modal-floating) .nf-search-form{display:flex!important;align-items:flex-end!important;flex-wrap:wrap!important;gap:10px 12px!important;min-width:0;max-width:100%}
body.app-body :is(.content,.nf-modal-floating) .nf-search-form>.nf-search-label{flex:0 0 100%;margin:0!important;font-size:13px;line-height:1.5}
body.app-body :is(.content,.nf-modal-floating) .nf-search-form>.nf-search-pair{flex:1 1 280px}
body.app-body :is(.content,.nf-modal-floating) .nf-search-pair{display:flex!important;align-items:stretch!important;gap:10px!important;min-width:0;max-width:100%}
body.app-body :is(.content,.nf-modal-floating) .nf-search-pair>input:not([type="hidden"]){flex:1 1 auto!important;width:0!important;min-width:0!important;max-width:100%;margin:0!important;min-height:42px;box-sizing:border-box}
body.app-body :is(.content,.nf-modal-floating) .nf-search-pair>.nf-search-submit{flex:0 0 auto!important;min-width:76px!important;width:auto!important;margin:0!important;white-space:nowrap!important;align-self:stretch!important}
body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn.nf-search-submit,body.app-body :is(.content,.nf-modal-floating) :is(a,button,input,summary).btn.nf-search-submit:hover{background:var(--nf-control-orange)!important;border-color:var(--nf-control-orange)!important;color:#fff!important}
@media(max-width:600px){body.app-body :is(.content,.nf-modal-floating) .nf-section-nav{gap:8px}body.app-body :is(.content,.nf-modal-floating) .nf-section-nav .btn{font-size:13px;padding:9px 12px}body.app-body :is(.content,.nf-modal-floating) .nf-search-pair{gap:8px!important}body.app-body :is(.content,.nf-modal-floating) .nf-search-pair>.nf-search-submit{min-width:66px!important;padding:10px 12px!important}body.app-body :is(.content,.nf-modal-floating) .nf-search-form>.nf-search-pair{flex-basis:100%}}
body.app-body :is(.content,.nf-modal-floating) .nf-search-field{min-width:0!important}
body.app-body :is(.content,.nf-modal-floating) .page details.panel:not([open])>summary.btn{padding:10px 15px!important;min-height:40px!important;border-radius:10px!important;line-height:1.4!important}
/* Existing details dialogs keep their compact close control when expanded. */
body.app-body :is(.content,.nf-modal-floating) .page details[open]>summary.btn:has(+.popover-panel),body.app-body :is(.content,.nf-modal-floating) .page details[open]>summary.btn:has(+form:not(.inline-form)){width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;font-size:0!important;color:transparent!important;background:var(--nf-control-light)!important;border-color:var(--nf-control-border)!important;border-radius:10px!important}
body.app-body :is(.content,.nf-modal-floating) .page details[open]>summary.btn:has(+.popover-panel)::after,body.app-body :is(.content,.nf-modal-floating) .page details[open]>summary.btn:has(+form:not(.inline-form))::after{color:var(--nf-control-ink)!important}

/* List navigation, including empty lists and independent authorization pages. */
body.app-body .nf-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px 0 4px;border-top:1px solid #e6edf2;margin-top:16px}
body.app-body .nf-pagination-info{font-size:14px;color:#526575;margin-right:8px}
body.app-body .nf-pagination [aria-disabled="true"]{opacity:.45;cursor:default;pointer-events:none}
body.app-body .nf-pagination [aria-current="page"]{background:#1d6583!important;color:white!important}
body.app-body .nf-section-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
@media(max-width:600px){body.app-body .nf-pagination-info{flex-basis:100%;margin-bottom:3px}body.app-body .nf-pagination .btn{min-height:36px;padding:8px 11px!important}}
body.app-body .nf-pagination{justify-content:flex-start!important}
body.app-body .nf-pagination>.btn{flex:0 0 auto!important;margin:0!important}
body.app-body .nf-pagination [aria-disabled="true"]{opacity:.65}
/* Keep each search field and its submit control in a bounded row. */
body.app-body.route-insurance_center .insurance-list-tools.nf-search-form{align-items:center!important}
body.app-body.route-insurance_center .insurance-list-tools>.nf-search-pair{display:flex!important;flex:1 1 320px!important;align-items:stretch!important;width:auto!important;min-width:0!important}
body.app-body.route-insurance_center .insurance-list-tools .insurance-search-input{display:flex!important;align-items:center!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;box-sizing:border-box}
body.app-body.route-insurance_center .insurance-list-tools .insurance-search-input>input{display:block!important;position:static!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}
body.app-body.route-insurance_center .insurance-list-tools .insurance-search-input>span{position:static!important;flex:0 0 20px!important;pointer-events:none}
body.app-body.route-insurance_center .insurance-list-tools>.nf-search-pair>.nf-search-submit{position:static!important;flex:0 0 auto!important;min-width:78px!important;margin:0!important;align-self:stretch!important}
body.app-body .nf-pagination>.nf-pagination-meta{flex:0 1 auto;line-height:1.6;color:#7a8998}
body.app-body .nf-pagination>.nf-pagination-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-left:auto;min-width:0}
body.app-body .nf-ui-page-size{display:inline-flex;align-items:center;gap:8px;margin:0 4px 0 0!important;white-space:nowrap;font-size:14px;color:#526575}
body.app-body .nf-ui-page-size select{display:block;width:96px!important;min-width:84px;min-height:42px;margin:0!important;padding:8px 12px;box-sizing:border-box;border:1px solid #d9e3e9;border-radius:10px;background:#fff;color:#17212b}
body.app-body .nf-pagination .nf-page-num{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px;border:1px solid #e9d4cb;border-radius:10px;box-sizing:border-box;text-decoration:none;color:#93402d;background:#fff}
body.app-body .nf-pagination .nf-page-num.active{background:var(--nf-control-orange)!important;border-color:var(--nf-control-orange)!important;color:#fff!important}
body.app-body :is(.content,.nf-modal-floating) .nf-pagination .nf-pagination-actions .btn{margin:0!important;min-height:40px!important;padding:9px 12px!important;border-color:#efdcd5!important;background:#fffaf8!important;color:#93402d!important}
body.app-body .nf-pagination .nf-pagination-actions .disabled{opacity:.55;pointer-events:none}
@media(max-width:640px){body.app-body .nf-pagination>.nf-pagination-meta{flex-basis:100%}body.app-body .nf-pagination>.nf-pagination-actions{justify-content:flex-start;margin-left:0;width:100%}body.app-body.route-insurance_center .insurance-list-tools>.nf-search-pair{flex-basis:100%!important}}
/* Closed inline dialogs must never reserve list-row height. */
body.app-body.route-insurance_center .insurance-table-actions details:not([open])>:not(summary),body.app-body.route-insurance_center .insurance-inline-actions details:not([open])>:not(summary){display:none!important}
body.app-body.route-insurance_center .insurance-products-wrap,body.app-body.route-insurance_center .insurance-products-table,body.app-body.route-insurance_center .insurance-products-table tbody,body.app-body.route-insurance_center .insurance-products-table tbody tr,body.app-body.route-insurance_center .insurance-products-table tbody td{height:auto!important;min-height:0!important}
body.app-body.route-insurance_center .insurance-products-table .insurance-copy-wrap{max-height:4.86em!important;overflow:hidden!important;overflow-wrap:anywhere}
body.app-body.route-insurance_center .insurance-products-table .insurance-copy-sub{max-height:3em!important;overflow:hidden!important;overflow-wrap:anywhere}
body.app-body.route-insurance_center .insurance-actions-cell{vertical-align:top!important}
