@font-face{
  font-family:Montserrat;
  src:url("assets/fonts/Montserrat-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:Montserrat;
  src:url("assets/fonts/Montserrat-Bold.ttf") format("truetype");
  font-weight:600 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --blue:#2563eb;
  --blue2:#1d4ed8;
  --blue-50:#eff6ff;
  --blue-100:#dbeafe;
  --blue-200:#bfdbfe;
  --blue-600:#2563eb;
  --blue-700:#1d4ed8;
  --nav:#0b1b33;
  --nav2:#102a4c;
  --bg:#f4f7fc;
  --card:#fff;
  --ink:#172033;
  --muted:#667085;
  --line:#dfe7f2;
  --radius-sm:10px;
  --radius-md:13px;
  --radius-lg:17px;
  --shadow-sm:0 4px 14px rgba(30,64,175,.055);
  --shadow:0 10px 28px rgba(30,64,175,.075);
}

html{font-size:14px;background:var(--bg);scroll-behavior:smooth}
body{font-family:Montserrat,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit;letter-spacing:inherit}
input[type="date"],input[type="month"],input[type="time"]{font-family:Montserrat,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-variant-numeric:tabular-nums}
input[type="date"]::-webkit-datetime-edit,input[type="month"]::-webkit-datetime-edit,input[type="time"]::-webkit-datetime-edit,input[type="date"]::-webkit-datetime-edit-fields-wrapper,input[type="month"]::-webkit-datetime-edit-fields-wrapper,input[type="time"]::-webkit-datetime-edit-fields-wrapper{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit}
button{letter-spacing:0}

.sidebar{background:linear-gradient(180deg,#09192f 0%,#0d2644 100%);box-shadow:8px 0 30px rgba(15,38,70,.08)}
.brand{min-height:82px}
.brand-home{border-radius:16px}
.nav-group{color:#7f9abc;font-size:10px;letter-spacing:.12em}
.nav-item{min-height:42px;border-radius:12px;font-size:13px;font-weight:650;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-item:hover{background:rgba(96,165,250,.12);transform:translateX(1px)}
.nav-item.active,.nav-item.nav-root.active{background:linear-gradient(90deg,rgba(37,99,235,.58),rgba(37,99,235,.24));box-shadow:inset 3px 0 0 #93c5fd;color:#fff}
.nav-item.nav-service:after{background:#60a5fa}
.nav-more>summary{border-radius:12px}

.topbar{height:72px;border-color:var(--line);box-shadow:0 2px 14px rgba(30,64,175,.035)}
.top-title{color:#172033;font-size:19px;font-weight:750;letter-spacing:-.01em}
.top-sub{font-size:12px}
.top-actions select,.top-actions input{height:42px;border:1px solid var(--line);border-radius:12px;background:#fff}
.avatar{width:40px;height:40px;background:var(--blue-50);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue-100)}
.content{max-width:1540px;padding:28px 30px 42px}

.page-head{margin-bottom:22px}
.page-head h1{color:#162033;font-size:27px;font-weight:760;letter-spacing:-.025em}
.page-head p{font-size:13px;line-height:1.55}
.section-title,.card-head h3{color:#1d2939;font-weight:750}

.card{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.card:hover{box-shadow:var(--shadow)}
.card-head{min-height:56px;padding:16px 19px;border-color:var(--line)}
.card-body{padding:19px}
.card.pad{padding:19px}
.kpi-card{border-radius:var(--radius-lg);padding:19px 20px}
.kpi-value{color:#172554;font-size:27px}
.operations-summary>div,.customer-profile-summary>div,.split-stat,.journey-strip,.journey-context,.finance-service-context,.inter-readiness,.automation-gate{border-radius:var(--radius-lg)!important;border-color:var(--line)!important;box-shadow:var(--shadow-sm)}

.btn{min-height:40px;padding:9px 14px;border-color:#d7e1ef;border-radius:11px;background:#fff;color:#344054;font-size:13px;font-weight:700;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}
.btn:hover{border-color:var(--blue-200);box-shadow:0 6px 16px rgba(37,99,235,.11);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.primary,.btn.success{border-color:var(--blue);background:var(--blue);color:#fff}
.btn.primary:hover,.btn.success:hover{border-color:var(--blue2);background:var(--blue2)}
.btn.danger{border-color:#fecaca;background:#fff;color:#b42318}
.btn.danger:hover{border-color:#ef4444;background:#fef2f2;color:#991b1b;box-shadow:0 6px 16px rgba(185,28,28,.10)}
.btn.small{min-height:34px;padding:7px 10px;font-size:12px;border-radius:10px}
.btn.icon{min-width:40px;width:40px;height:40px;padding:0;border-radius:12px}

.field{gap:7px}
.field label{color:#475467;font-size:12px;font-weight:700}
.field input,.field select,.field textarea,.filters input,.filters select,.toolbar input,.toolbar select,.top-actions input,.top-actions select,input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  min-height:42px;
  border:1px solid #d7e1ef;
  border-radius:12px;
  background:#fff;
  color:#24324a;
  padding:9px 12px;
  font-size:13px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
textarea{min-height:88px;line-height:1.5}
input::placeholder,textarea::placeholder{color:#98a2b3}
.field input:hover,.field select:hover,.field textarea:hover,.filters input:hover,.filters select:hover{border-color:#b8cae5}
.field input:focus,.field select:focus,.field textarea:focus,.filters input:focus,.filters select:focus,input:focus,select:focus,textarea:focus{
  outline:0;
  border-color:#60a5fa;
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}
input[readonly],select:disabled,textarea[readonly]{background:#f5f7fb;color:#667085}
input[type="checkbox"],input[type="radio"]{accent-color:var(--blue)}
.help{font-size:11px;line-height:1.5}
.form-grid{gap:15px}
.period-month-picker{display:grid;grid-template-columns:38px minmax(142px,1fr) 38px;align-items:center;gap:6px}
.period-month-picker input{width:100%;min-width:142px;text-align:center}
.period-arrow{display:grid;place-items:center;width:38px;height:42px;padding:0;border:1px solid #d7e1ef;border-radius:11px;background:#fff;color:var(--blue);font-size:17px;font-weight:800;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}
.period-arrow:hover{border-color:var(--blue-200);background:var(--blue-50);box-shadow:0 5px 14px rgba(37,99,235,.10);transform:translateY(-1px)}
.period-arrow:active{transform:translateY(0)}

/* Mantém valor e legenda no centro geométrico do anel. */
.funding-donut-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:34px;line-height:1.05;white-space:nowrap}
.funding-donut-center small{margin-top:0;line-height:1.2;white-space:normal}

.table-wrap{border-radius:0 0 var(--radius-lg) var(--radius-lg)}
table{font-size:13px}
th{padding:12px 14px;background:#f7f9fd;color:#667085;font-size:10px;font-weight:800;letter-spacing:.07em}
td{padding:13px 14px;border-color:#e9eef5}
tbody tr{transition:background .13s ease}
tbody tr:hover{background:var(--blue-50)}
.toolbar{min-height:58px;padding:12px 16px;border-color:var(--line);background:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0}

.badge{padding:5px 9px;font-size:10px;font-weight:750}
.badge.blue{background:var(--blue-100);color:var(--blue-700)}
.badge.teal,.badge.purple{background:var(--blue-50);color:var(--blue-700)}
.callout{border-color:var(--blue-200);border-radius:var(--radius-md);background:var(--blue-50);color:#274574}
.callout.success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.callout.warning{border-color:#fde68a;background:#fffbeb;color:#854d0e}
.callout.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}

.tabs{gap:5px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#f4f7fb}
.tab{border-radius:9px;padding:9px 12px;border-bottom:0}
.tab:hover{background:#fff;color:var(--blue)}
.tab.active{border:0;background:#fff;color:var(--blue);box-shadow:0 3px 10px rgba(37,99,235,.10)}
.journey-shortcut,.finance-service-link,.customer-detail-tabs button,.loan-origin-stepper button{border-radius:10px}
.journey-shortcut.active,.journey-shortcut[aria-current="page"],.finance-service-link.active,.loan-origin-stepper button.current{border-color:var(--blue);background:var(--blue);color:#fff}
.progress span{background:linear-gradient(90deg,var(--blue),#60a5fa)}

.modal-backdrop{background:rgba(8,23,47,.58);backdrop-filter:blur(3px)}
.modal{border:1px solid rgba(255,255,255,.7);border-radius:20px;box-shadow:0 28px 90px rgba(8,23,47,.28)}
.modal-head,.modal-foot{padding:17px 20px;border-color:var(--line)}
.modal-head{background:#fbfcff}
.modal-body{padding:20px}
.toast{border-radius:13px;background:#12294b;box-shadow:0 18px 45px rgba(8,23,47,.25)}

.customer-detail-hero,.financial-policy-hero,.service-hub-card,.consumer-card,.customer-detail-accordion,.funding-choice,.detail-panel,.account-card,.investor-page-account,.investor-page-document,.contract-upload,.contract-document,.contract-version,.proposal-check-item,.credit-matrix-item,.credit-opinion-item{
  border-radius:var(--radius-lg)!important;
  border-color:var(--line)!important;
}
.customer-detail-hero,.financial-policy-hero{background:linear-gradient(125deg,#f2f7ff,#fff)!important}
.service-hub-card:before{background:var(--blue)!important}
.service-icon,.financial-policy-icon,.journey-node>span{background:var(--blue)!important;color:#fff!important}
.customer-detail-tabs{border-radius:13px}
.customer-detail-accordion summary{padding:16px 18px}

*:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
::selection{background:var(--blue-100);color:#172554}

@media(max-width:1180px){.content{padding:24px}.page-head h1{font-size:25px}}
@media(max-width:780px){
  .content{padding:16px 14px 30px}
  .topbar{height:auto;min-height:64px;padding:10px 14px}
  .page-head{gap:14px}
  .page-head h1{font-size:23px}
  .page-head .actions,.toolbar,.filters{width:100%}
  .page-head .actions .btn{flex:1;justify-content:center}
  .period-control{width:100%}.period-control>.field{width:100%}.period-month-picker{grid-template-columns:42px minmax(0,1fr) 42px}
  .card,.customer-detail-accordion{border-radius:14px}
  .modal{border-radius:17px}
}

@media print{body{background:#fff}.card{box-shadow:none}.content{max-width:none}}
.ui-action-feedback{animation:ui-action-feedback .42s ease}
.ui-action-loading{position:relative;cursor:progress!important}
.ui-action-loading:after{content:'';width:11px;height:11px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-action-spin .7s linear infinite}
button[aria-disabled="true"]{cursor:not-allowed;opacity:.58}
@keyframes ui-action-feedback{0%{transform:scale(1)}45%{transform:scale(.96)}100%{transform:scale(1)}}
@keyframes ui-action-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ui-action-feedback,.ui-action-loading:after{animation:none}}
