:root{--primary:#3157d5;--primary-dark:#2444b8;--primary-soft:#eef2ff;--bg:#f5f6fa;--text:#182033;--muted:#748094;--border:#e7e9f0;--sidebar:#172033;--sidebar-muted:#a8b0c0;--shadow:0 10px 30px rgba(32,45,78,.07)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,rgba(49,87,213,.07),transparent 28%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 35%),var(--sidebar);padding:22px 16px;z-index:1040}.brand{font-size:1.35rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:11px;padding:0 10px 28px}.brand-icon,.login-logo{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#486ce1,#2748be);display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(49,87,213,.35)}.nav-app{color:var(--sidebar-muted);padding:12px 13px;border-radius:11px;display:flex;align-items:center;gap:12px;margin-bottom:6px;text-decoration:none;font-weight:700}.nav-app:hover,.nav-app.active{background:rgba(255,255,255,.085);color:#fff}.nav-app.active{box-shadow:inset 3px 0 0 #6f8cff}.sidebar-footer{position:absolute;bottom:18px;left:16px;right:16px;border-top:1px solid #374151;padding-top:16px;color:#fff}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:74px;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:1020}.content{padding:28px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.page-title{font-size:1.75rem;font-weight:800;margin:0;letter-spacing:-.035em}.page-subtitle{color:var(--muted);margin:7px 0 0}.card-soft{background:rgba(255,255,255,.97);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.metric{padding:22px;position:relative;overflow:hidden}.metric-label{color:var(--muted);font-size:.86rem;font-weight:700}.metric-value{font-size:1.8rem;font-weight:800;margin-top:8px}.metric-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.metric.highlight{border-color:#cfd8ff;background:linear-gradient(180deg,#fbfcff,#f3f6ff)}.btn{border-radius:10px;font-weight:700}.btn-primary{background:var(--primary);border-color:var(--primary);box-shadow:0 6px 16px rgba(49,87,213,.18)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.table{margin:0}.table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.table td{vertical-align:middle;padding-top:14px;padding-bottom:14px}.table tbody tr.clickable{cursor:pointer}.table tbody tr:hover{background:#fafbfe}.status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.76rem;font-weight:800}.status-active,.status-future{background:#dbeafe;color:#1d4ed8}.status-paid{background:#dcfce7;color:#166534}.status-overdue{background:#fee2e2;color:#b91c1c}.status-partial{background:#ffedd5;color:#9a3412}.section-head{padding:19px 22px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.section-title{font-size:1.06rem;font-weight:800;margin:0}.section-body{padding:22px}.kv{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px dashed #e8ebef}.kv span:first-child{color:var(--muted)}.loan-card{padding:22px;border-left:4px solid var(--primary)}.profile-avatar{width:62px;height:62px;border-radius:18px;background:#e9eeff;color:var(--primary);display:grid;place-items:center;font-size:1.25rem;font-weight:800}.form-label{font-weight:700;font-size:.88rem}.form-control,.form-select{min-height:46px;border-radius:10px;border-color:#dfe3ec}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 15%,rgba(49,87,213,.12),transparent 28%),#f2f4f9}.login-card{width:min(420px,100%);padding:32px;text-align:center}.login-logo{width:52px;height:52px;margin:0 auto 14px}.login-card h1{font-weight:800}.login-card p,.login-card small{color:var(--muted)}.mobile-toggle{display:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-head{text-align:center;font-size:.8rem;font-weight:800;color:var(--muted)}.cal-day{min-height:105px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:8px}.cal-event{font-size:.72rem;padding:5px;border-radius:6px;margin-top:6px}.event-blue{background:#dbeafe;color:#1d4ed8}.event-red{background:#fee2e2;color:#b91c1c}.event-green{background:#dcfce7;color:#166534}@media(max-width:991px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;width:100%}.mobile-toggle{display:inline-flex}.content{padding:18px}.page-head{flex-direction:column}.table-responsive{font-size:.88rem}}@media print{.sidebar,.topbar,.no-print{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card-soft{box-shadow:none}}

/* Professional dashboard upgrade */
body{font-family:'Manrope',Inter,system-ui,-apple-system,Segoe UI,sans-serif}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border-radius:22px;background:linear-gradient(135deg,#ffffff 0%,#f3f6ff 100%);border:1px solid #e1e6f5;box-shadow:0 14px 38px rgba(32,45,78,.075);position:relative;overflow:hidden}
.dashboard-hero:after{content:'';position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-120px;background:radial-gradient(circle,rgba(49,87,213,.15),rgba(49,87,213,0) 70%)}
.dashboard-hero>div{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:.73rem;font-weight:800;letter-spacing:.12em;margin-bottom:8px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.metric{min-height:142px}.metric-note{font-size:.72rem;color:#9aa3b4;margin-top:9px;font-weight:600}.metric-blue .metric-icon{background:#edf3ff;color:#3157d5}.metric-green .metric-icon{background:#eafaf1;color:#15803d}.metric-violet .metric-icon{background:#f1edff;color:#6d4bd3}.metric-orange .metric-icon{background:#fff3e6;color:#d97706}.metric:before{content:'';position:absolute;inset:auto -24px -38px auto;width:100px;height:100px;border-radius:50%;background:currentColor;opacity:.025}
.section-title{display:flex;align-items:center}.section-icon{color:var(--primary);width:28px}.section-subtitle{font-size:.78rem;color:var(--muted);margin-top:4px}.premium-table thead th{background:#fafbfe;border-bottom:1px solid #edf0f5;padding-top:13px;padding-bottom:13px}.premium-table tbody td{padding-top:16px;padding-bottom:16px}.client-cell{display:flex;align-items:center;gap:12px}.client-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#eef2ff,#dde5ff);color:var(--primary);font-size:.78rem;font-weight:800;box-shadow:inset 0 0 0 1px rgba(49,87,213,.1)}.loan-count{display:inline-flex;align-items:center;gap:7px;color:#566176;font-weight:700}.loan-count i{color:#8a96aa}.debt-value{font-size:.98rem}.status-inactive{background:#eef0f4;color:#697386}.icon-btn{width:34px;height:34px;border-radius:10px;display:inline-grid;place-items:center;background:#f4f6fa;color:#667085;text-decoration:none;border:1px solid #e8ebf1;transition:.18s}.icon-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateX(2px)}
.quick-actions{padding:10px}.quick-action{display:grid;grid-template-columns:44px 1fr 18px;align-items:center;gap:12px;padding:12px;border-radius:13px;color:var(--text);text-decoration:none;transition:.18s}.quick-action:hover{background:#f7f8fc;transform:translateX(2px)}.quick-action small{display:block;color:var(--muted);font-size:.73rem;margin-top:2px}.quick-action>i{color:#a4adbc;font-size:.78rem}.quick-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.quick-icon.blue{background:#edf3ff;color:#3157d5}.quick-icon.green{background:#eafaf1;color:#15803d}.quick-icon.violet{background:#f1edff;color:#6d4bd3}.quick-icon.orange{background:#fff3e6;color:#d97706}.recent-list{padding:8px 12px 14px}.recent-payment{display:flex;align-items:center;gap:11px;padding:12px 8px;border-bottom:1px solid #eff1f5}.recent-payment:last-child{border-bottom:0}.recent-payment small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}.payment-symbol{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#eafaf1;color:#15803d}
.card-soft{transition:box-shadow .2s ease,transform .2s ease}.card-soft:hover{box-shadow:0 16px 38px rgba(32,45,78,.095)}
@media(max-width:991px){.dashboard-hero{align-items:flex-start;flex-direction:column;padding:22px}.hero-actions{width:100%}.hero-actions .btn{flex:1}.premium-table{min-width:720px}}


/* Polished client profile */
.client-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f4f7ff 100%);border:1px solid #e1e6f5;box-shadow:0 14px 38px rgba(32,45,78,.075);position:relative;overflow:hidden}.client-profile-hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-135px;background:radial-gradient(circle,rgba(49,87,213,.14),transparent 70%)}.client-identity,.client-actions{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.client-actions{justify-content:flex-end;flex-wrap:wrap}.profile-avatar-lg{width:74px;height:74px;border-radius:22px;font-size:1.45rem;box-shadow:0 10px 24px rgba(49,87,213,.16)}.client-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.84rem;margin-top:8px}.client-meta span{display:inline-flex;align-items:center;gap:7px}.client-meta a{color:inherit;text-decoration:none}.client-meta i{color:#8d99ae}.client-balance-card{padding:28px;background:linear-gradient(145deg,#172033,#263554);color:#fff;overflow:hidden;position:relative}.client-balance-card:after{content:'';position:absolute;width:250px;height:250px;border-radius:50%;right:-95px;bottom:-125px;background:radial-gradient(circle,rgba(111,140,255,.28),transparent 68%)}.balance-top{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}.client-balance-card .eyebrow,.client-balance-card .text-muted{color:#b8c2d4!important}.balance-amount{font-size:2.45rem;font-weight:800;letter-spacing:-.05em;margin:7px 0 3px}.balance-icon{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:1.15rem}.repayment-progress{position:relative;z-index:1}.repayment-progress span{color:#c8d0de;font-size:.78rem}.progress{height:8px;border-radius:999px;background:#e8ebf2;overflow:hidden}.client-balance-card .progress{background:rgba(255,255,255,.12)}.progress-bar{background:linear-gradient(90deg,#5576eb,#7894ff);border-radius:999px}.balance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative;z-index:1}.balance-grid>div{padding:13px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08);border-radius:13px}.balance-grid small,.mini-finance-card small,.loan-data-grid small,.contact-row small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;margin-bottom:4px}.balance-grid small{color:#abb6c8}.balance-grid strong{font-size:.94rem}.mini-finance-card{display:flex;align-items:center;gap:14px;padding:18px}.mini-finance-card strong{display:block;font-size:1.05rem}.mini-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center}.mini-icon.blue{background:#edf3ff;color:#3157d5}.mini-icon.green{background:#eafaf1;color:#15803d}.mini-icon.violet{background:#f1edff;color:#6d4bd3}.mini-icon.orange{background:#fff3e6;color:#d97706}.polished-loan-card{padding:22px;border-left:4px solid var(--primary)}.loan-card-head,.loan-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.loan-doc-icon{width:44px;height:44px;border-radius:13px;background:#edf3ff;color:var(--primary);display:grid;place-items:center}.loan-title{display:block;font-size:1rem}.loan-card-head small{display:block;color:var(--muted);font-size:.74rem;margin-top:3px}.loan-data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.loan-data-grid>div{padding:13px;background:#f8f9fc;border-radius:12px}.loan-data-grid strong{font-size:.93rem}.loan-progress{padding:15px 0;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.loan-progress .d-flex{font-size:.75rem;color:var(--muted);font-weight:700;margin-bottom:7px}.loan-card-footer{padding-top:15px;color:#667085;font-size:.82rem}.profile-side-body{padding:10px 20px 20px}.contact-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #eff1f5}.contact-row:last-child{border-bottom:0}.contact-row>i{width:38px;height:38px;border-radius:11px;background:#f0f3fb;color:var(--primary);display:grid;place-items:center}.contact-row a,.contact-row span{color:var(--text);font-weight:700;text-decoration:none;font-size:.87rem}.discipline-card{padding:20px;display:flex;gap:15px;align-items:flex-start}.discipline-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto}.discipline-card.success .discipline-icon{background:#eafaf1;color:#15803d}.discipline-card.warning .discipline-icon{background:#fff3e6;color:#d97706}.discipline-card.neutral .discipline-icon{background:#eef0f4;color:#697386}.discipline-card small{font-size:.68rem;letter-spacing:.1em;font-weight:800;color:var(--muted)}.discipline-card h3{font-size:1rem;font-weight:800;margin:4px 0}.discipline-card p{font-size:.78rem;color:var(--muted);margin:0;line-height:1.55}.notes-box{padding:20px;color:#596579;font-size:.86rem;line-height:1.7;min-height:110px}.activity-timeline{padding:10px 22px 20px}.activity-item{display:grid;grid-template-columns:40px 1fr;gap:13px;padding:12px 0;position:relative}.activity-item:not(:last-child):after{content:'';position:absolute;left:19px;top:46px;bottom:-8px;width:1px;background:#e5e9f1}.activity-dot{width:40px;height:40px;border-radius:12px;background:#eef2ff;color:var(--primary);display:grid;place-items:center;z-index:1}.activity-item strong{font-size:.85rem}.activity-item p{font-size:.75rem;color:var(--muted);margin:2px 0}.activity-item small{font-size:.69rem;color:#9aa3b4}.empty-state{text-align:center;padding:50px 24px}.empty-state>i{font-size:2rem;color:#9ca8bd}.empty-state h3{font-size:1rem;font-weight:800;margin:14px 0 5px}.empty-state p{color:var(--muted);font-size:.84rem}
@media(max-width:1199px){.client-profile-hero{align-items:flex-start;flex-direction:column}.client-actions{width:100%;justify-content:flex-start}.balance-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.client-profile-hero{padding:21px}.client-identity{align-items:flex-start}.profile-avatar-lg{width:58px;height:58px;border-radius:17px}.client-actions .btn{flex:1}.client-meta{gap:9px;flex-direction:column;align-items:flex-start}.balance-amount{font-size:2rem}.loan-data-grid{grid-template-columns:repeat(2,1fr)}.loan-card-footer{align-items:flex-start;flex-direction:column}.balance-grid{grid-template-columns:repeat(2,1fr)}}

/* =====================================================================
   Professional client profile v2 — strict alignment and visual hierarchy
   ===================================================================== */
.client-profile-hero{
  min-height:148px;
  padding:28px 30px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center !important;
  gap:32px !important;
  background:#fff !important;
  border:1px solid #e4e8f1 !important;
  box-shadow:0 12px 32px rgba(28,39,68,.07) !important;
}
.client-profile-hero:after{
  width:320px !important;height:320px !important;right:-145px !important;top:-190px !important;
  background:radial-gradient(circle,rgba(49,87,213,.09),transparent 68%) !important;
}
.client-identity{min-width:0;align-items:center !important;gap:18px !important}
.profile-avatar-lg{
  width:68px !important;height:68px !important;border-radius:18px !important;
  flex:0 0 68px;background:#edf2ff !important;border:1px solid #dce5ff;
  box-shadow:none !important;font-size:1.25rem !important
}
.client-profile-hero .page-title{font-size:1.7rem !important;line-height:1.15}
.client-meta{margin-top:10px !important;gap:8px 18px !important;font-size:.82rem !important}
.client-meta span{white-space:nowrap}
.client-actions{max-width:510px;gap:9px !important}
.client-actions .btn{min-height:42px;padding:9px 14px;white-space:nowrap}

.profile-summary-row{align-items:stretch}
.profile-summary-row>.col-xl-8,.profile-summary-row>.col-xl-4{display:flex}
.client-balance-card{
  width:100%;min-height:318px;padding:28px 30px !important;
  background:linear-gradient(145deg,#17223a 0%,#213455 100%) !important;
  border:0 !important;color:#fff !important;box-shadow:0 18px 42px rgba(23,34,58,.18) !important
}
.client-balance-card .balance-top{align-items:flex-start}
.client-balance-card .balance-amount{font-size:2.55rem !important;line-height:1.05;margin:12px 0 7px !important}
.client-balance-card .balance-icon{width:50px;height:50px;border-radius:14px}
.client-balance-card .repayment-progress{margin-top:34px !important}
.client-balance-card .progress{height:9px !important;margin-top:8px}
.client-balance-card .balance-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important;margin-top:26px !important}
.client-balance-card .balance-grid>div{min-height:76px;padding:14px !important;display:flex;flex-direction:column;justify-content:center}
.client-balance-card .balance-grid strong{font-size:.93rem;line-height:1.35}

.profile-mini-grid{width:100%;align-content:stretch}
.profile-mini-grid>.col-6{display:flex}
.mini-finance-card{
  width:100%;min-height:151px;padding:20px !important;display:flex !important;
  flex-direction:column;align-items:flex-start !important;justify-content:space-between;gap:18px !important;
  border:1px solid #e5e9f1 !important;box-shadow:0 8px 24px rgba(28,39,68,.055) !important
}
.mini-finance-card .mini-icon{width:40px;height:40px;border-radius:12px;flex:0 0 auto}
.mini-finance-card>div:last-child{width:100%}
.mini-finance-card small{margin-bottom:7px !important;font-size:.72rem !important;text-transform:uppercase;letter-spacing:.055em}
.mini-finance-card strong{font-size:1.12rem !important;line-height:1.2;letter-spacing:-.02em;white-space:nowrap}

.profile-content-row{align-items:flex-start}
.profile-content-row>.col-xl-8,.profile-content-row>.col-xl-4{min-width:0}
.profile-content-row .section-title{font-size:1.05rem !important}
.polished-loan-card{
  padding:24px !important;border-left:0 !important;border-top:3px solid var(--primary) !important;
  box-shadow:0 10px 28px rgba(28,39,68,.065) !important
}
.loan-card-head{min-height:48px}
.loan-title{font-size:1.02rem !important}
.loan-data-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:10px !important;margin:22px 0 !important}
.loan-data-grid>div{min-height:76px;padding:13px 14px !important;display:flex;flex-direction:column;justify-content:center}
.loan-data-grid small{margin-bottom:7px !important;text-transform:uppercase;letter-spacing:.04em;font-size:.67rem !important}
.loan-data-grid strong{font-size:.94rem !important;white-space:nowrap}
.loan-progress{padding:17px 0 !important}
.loan-card-footer{min-height:58px;padding-top:17px !important}

.profile-content-row .col-xl-4>.card-soft{overflow:hidden}
.profile-content-row .section-head{min-height:60px;padding:17px 20px !important}
.profile-side-body{padding:4px 20px 12px !important}
.contact-row{min-height:72px;padding:13px 0 !important}
.contact-row>i{flex:0 0 38px}
.contact-row>div{min-width:0}
.contact-row a,.contact-row span{display:block;overflow-wrap:anywhere;line-height:1.35}
.discipline-card{min-height:150px;padding:21px !important;align-items:flex-start !important}
.notes-box{min-height:128px;padding:20px !important}

.section-icon{display:inline-grid !important;place-items:center;width:30px !important;height:30px;border-radius:9px;background:#eef2ff;margin-right:9px;color:var(--primary) !important;font-size:.8rem}
.section-title{line-height:1.3}

@media(max-width:1199px){
  .client-profile-hero{grid-template-columns:1fr !important}
  .client-actions{max-width:none;width:100%;justify-content:flex-start !important}
  .profile-summary-row>.col-xl-8,.profile-summary-row>.col-xl-4{display:block}
  .client-balance-card{min-height:auto}
  .mini-finance-card{min-height:130px}
}
@media(max-width:767px){
  .client-profile-hero{padding:20px !important;gap:20px !important}
  .client-identity{align-items:flex-start !important}
  .client-profile-hero .page-title{font-size:1.4rem !important}
  .client-actions{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px !important}
  .client-actions .btn{width:100%}
  .client-balance-card{padding:23px 20px !important}
  .client-balance-card .balance-amount{font-size:2rem !important}
  .client-balance-card .balance-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .profile-mini-grid>.col-6{width:100%}
  .mini-finance-card{min-height:104px;flex-direction:row !important;align-items:center !important;justify-content:flex-start}
  .loan-data-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .loan-card-head{align-items:flex-start !important}
  .loan-card-footer{align-items:stretch !important}
  .loan-card-footer>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .loan-card-footer .btn{width:100%}
}
@media(max-width:430px){
  .client-actions{grid-template-columns:1fr !important}
  .client-balance-card .balance-grid,.loan-data-grid{grid-template-columns:1fr !important}
}


/* Professional loan view */
.loan-view{max-width:1500px;margin:0 auto}.loan-hero{padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(135deg,#fff 0%,#f7f9ff 100%);overflow:hidden;position:relative}.loan-hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;top:-170px;background:rgba(49,87,213,.08)}.loan-hero-main,.loan-hero-actions{position:relative;z-index:1}.loan-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem;font-weight:700;text-decoration:none;margin-bottom:17px}.loan-title-row{display:flex;align-items:center;gap:17px}.loan-hero-icon{width:60px;height:60px;border-radius:17px;background:linear-gradient(145deg,#3157d5,#213fae);color:#fff;display:grid;place-items:center;font-size:1.28rem;box-shadow:0 12px 26px rgba(49,87,213,.25)}.loan-title-row h1{font-size:1.65rem;font-weight:800;letter-spacing:-.035em;margin:3px 0 7px}.loan-client-link{display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:.84rem;font-weight:700;text-decoration:none}.loan-hero-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}.loan-hero-actions .status{height:40px;padding-inline:14px}.loan-balance-panel{border-radius:19px;padding:28px 30px;background:linear-gradient(145deg,#17223a,#24385d);color:#fff;box-shadow:0 18px 42px rgba(23,34,58,.18)}.loan-balance-top{display:flex;justify-content:space-between;align-items:flex-start}.loan-balance-top span{display:block;font-size:.7rem;letter-spacing:.11em;font-weight:800;color:#aebcda}.loan-balance-top strong{display:block;font-size:2.55rem;letter-spacing:-.05em;margin:8px 0 4px}.loan-balance-top small{color:#c3cde0}.loan-balance-symbol{width:50px;height:50px;border-radius:14px;background:rgba(255,255,255,.1);display:grid;place-items:center}.loan-progress-meta{display:flex;justify-content:space-between;margin-top:28px;font-size:.8rem;color:#d7deeb}.loan-balance-panel .progress{height:9px;background:rgba(255,255,255,.13);margin-top:9px}.loan-balance-panel .progress-bar{background:#6e8eff}.loan-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.loan-highlight-grid>div{padding:14px;border-radius:12px;background:rgba(255,255,255,.075);display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.loan-highlight-grid i{grid-row:1/3;color:#91a9ff}.loan-highlight-grid span{font-size:.67rem;color:#b9c5da}.loan-highlight-grid strong{font-size:.85rem}.loan-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.loan-stat-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:20px;box-shadow:0 8px 24px rgba(28,39,68,.055);display:flex;flex-direction:column;justify-content:center;min-height:145px}.loan-stat-card .stat-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;margin-bottom:20px}.stat-icon.blue{background:#eef2ff;color:#3157d5}.stat-icon.violet{background:#f2edff;color:#7048d5}.stat-icon.green{background:#e9f8ef;color:#15803d}.stat-icon.orange{background:#fff2e6;color:#d97706}.loan-stat-card small,.loan-details-grid span,.installment-card-grid span{font-size:.69rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);font-weight:700}.loan-stat-card strong{font-size:1.05rem;margin-top:6px}.loan-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}.loan-details-grid>div{background:#fff;padding:22px;min-height:92px;display:flex;flex-direction:column;justify-content:center}.loan-details-grid strong{font-size:.94rem;margin-top:8px}.amort-card,.payment-history-card{overflow:hidden}.amort-table th,.amort-table td{white-space:nowrap}.installment-number{width:29px;height:29px;border-radius:9px;background:#eef2ff;color:var(--primary);display:grid;place-items:center;font-size:.72rem;font-weight:800}.payment-method{display:inline-flex;align-items:center;gap:8px}.mobile-amort{display:none}.installment-card{padding:16px;border-bottom:1px solid var(--border)}.installment-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.installment-card-head div span{display:block;color:var(--muted);font-size:.7rem}.installment-card-head div strong{font-size:.92rem}.installment-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.installment-card-grid>div{background:#f7f8fb;border-radius:10px;padding:11px}.installment-card-grid strong{display:block;font-size:.83rem;margin-top:4px}
/* Settings danger zone */
.settings-card{overflow:hidden}.danger-zone{padding:24px;border:1px solid #fecaca;background:linear-gradient(180deg,#fff,#fff8f8)}.danger-zone-head{display:flex;align-items:center;gap:13px;margin-bottom:17px}.danger-icon,.modal-danger-icon{width:45px;height:45px;border-radius:13px;background:#fee2e2;color:#dc2626;display:grid;place-items:center}.danger-zone-head span{font-size:.66rem;letter-spacing:.1em;color:#dc2626;font-weight:800}.danger-zone h2{font-size:1.08rem;font-weight:800;margin:2px 0}.danger-zone p{color:var(--muted);font-size:.82rem;line-height:1.6}.factory-modal{border:0;border-radius:18px}.factory-modal .modal-header{padding:22px;border-bottom:0}.factory-modal .modal-header>div{display:flex;align-items:center;gap:13px}.factory-modal .modal-title{font-size:1.05rem;font-weight:800}.factory-modal .modal-body{padding:0 22px 22px}.factory-modal .modal-footer{padding:16px 22px}
/* Clean printing: browser URL/header-footer must also be disabled in the print dialog */
@page{size:A4 portrait;margin:12mm} @media print{body{background:#fff!important}.sidebar,.topbar,.no-print,.alert,.page-head{display:none!important}.main{margin:0!important;width:100%!important}.content{padding:0!important}.card-soft,.loan-balance-panel,.loan-stat-card{box-shadow:none!important;break-inside:avoid}.loan-hero{border:0!important;padding:0 0 16px!important}.loan-hero:after{display:none}.loan-balance-panel{-webkit-print-color-adjust:exact;print-color-adjust:exact}.desktop-amort{display:block!important}.mobile-amort{display:none!important}.amort-table{font-size:8pt}.amort-table th,.amort-table td{padding:5px!important}.payment-history-card{break-before:page}a{text-decoration:none!important;color:inherit!important}}
@media(max-width:991px){.loan-hero{align-items:flex-start;flex-direction:column}.loan-hero-actions{width:100%;justify-content:flex-start}.loan-details-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.loan-view{margin:0}.loan-hero{padding:20px}.loan-title-row{align-items:flex-start}.loan-hero-icon{width:50px;height:50px;border-radius:14px}.loan-title-row h1{font-size:1.3rem}.loan-hero-actions{display:grid;grid-template-columns:1fr 1fr}.loan-hero-actions .status{grid-column:1/-1;justify-self:start}.loan-hero-actions .btn{width:100%}.loan-balance-panel{padding:22px 19px}.loan-balance-top strong{font-size:2rem}.loan-highlight-grid{grid-template-columns:1fr}.loan-stat-card{min-height:118px;padding:16px}.loan-stat-card .stat-icon{margin-bottom:13px}.loan-details-grid{grid-template-columns:1fr 1fr}.desktop-amort{display:none}.mobile-amort{display:block}.amort-card .section-head{align-items:flex-start}.settings-layout .col-xl-4{order:2}}
@media(max-width:430px){.loan-hero-actions{grid-template-columns:1fr}.loan-details-grid,.loan-stat-grid{grid-template-columns:1fr}.loan-title-row{gap:12px}.loan-hero-icon{display:none}.loan-balance-top strong{font-size:1.72rem}}

/* Status plačil na dashboardu */
.status-on-time{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.status-overdue{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}

.language-switcher{display:flex;align-items:center;gap:.45rem;margin-left:auto;margin-right:.75rem}
.language-switcher .fa-globe{color:var(--muted,#748094)}
.language-select{min-height:36px!important;height:36px;padding:.25rem 2rem .25rem .65rem;border-radius:9px;font-size:.82rem;font-weight:700;width:auto;min-width:118px;background-color:#fff}
.login-language{position:fixed;top:18px;right:18px;z-index:10}
@media(max-width:575.98px){
  .language-switcher{margin-right:.25rem;gap:.25rem}
  .language-switcher .fa-globe{display:none}
  .language-select{min-width:92px;max-width:105px;padding-left:.5rem;font-size:.75rem}
  .topbar>a.btn{padding:.4rem .55rem;font-size:0}
  .topbar>a.btn i{font-size:.85rem}
}


/* 2026 UX polish: dashboard mobile, collapsible loans and workspace */
.brand{text-decoration:none}.brand:hover{color:#fff}.brand span{color:#fff}
.active-loans-collapse{border:0}.active-loans-collapse>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:12px;border:1px solid var(--border);border-radius:14px;background:#fff;cursor:pointer;box-shadow:0 6px 20px rgba(28,39,68,.04)}.active-loans-collapse>summary::-webkit-details-marker{display:none}.active-loans-collapse>summary>span:first-child{display:flex;align-items:center;gap:9px}.active-loans-collapse>summary small{color:var(--muted);font-weight:700}.summary-actions{display:flex;align-items:center;gap:12px}.collapse-chevron{transition:.2s}.active-loans-collapse[open] .collapse-chevron{transform:rotate(180deg)}.active-loans-body{padding-top:2px}
.next-installment-focus{background:#eef3ff!important;border:1px solid #cdd9ff;border-radius:12px;padding:14px!important}.next-installment-focus small{color:var(--primary)!important}.next-installment-focus strong{font-size:1.15rem!important;color:#183dba}
.loan-next-due{display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:11px;background:#eef3ff;color:#2444b8}.loan-next-due span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.loan-next-due strong{font-size:.9rem}
.workspace-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(135deg,#fff,#f3f6ff);box-shadow:var(--shadow)}.workspace-badge{display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:12px;background:#fff;border:1px solid var(--border);font-weight:800}.workspace-badge i{color:var(--primary)}.workspace-calendar-card{overflow:hidden}.calendar-legend{display:flex;gap:18px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--border);font-size:.76rem;font-weight:700;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.dot-blue{background:#3157d5}.dot-red{background:#dc2626}.dot-green{background:#15803d}.workspace-calendar .cal-event{display:block;text-decoration:none}.workspace-tools{display:grid;gap:18px}.calculator-card{overflow:hidden}.calculator-head{display:flex;align-items:center;gap:13px;padding:19px 20px;border-bottom:1px solid var(--border)}.calculator-head h2{font-size:1rem;font-weight:800;margin:0}.calculator-head p{font-size:.75rem;color:var(--muted);margin:3px 0 0}.tool-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.tool-icon.blue{background:#eef2ff;color:#3157d5}.tool-icon.green{background:#e9f8ef;color:#15803d}.calculator-body{padding:20px}.calculator-body label{display:block;font-size:.72rem;color:var(--muted);font-weight:800;margin:0 0 6px}.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.calc-result{margin-top:16px;padding:14px;border-radius:12px;background:#f6f8fc}.calc-result>div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #e7eaf1}.calc-result>div:last-child{border-bottom:0}.calc-result span,.basic-result span{color:var(--muted);font-size:.78rem}.basic-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.basic-result{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:14px;border-radius:12px;background:#eef8f1}.basic-result strong{font-size:1.1rem;color:#166534}
@media(max-width:767px){
  .dashboard-hero{padding:18px}.dashboard-client-table th:nth-child(2),.dashboard-client-table th:nth-child(3),.dashboard-client-table td:nth-child(2),.dashboard-client-table td:nth-child(3),.dashboard-client-table th:last-child,.dashboard-client-table td:last-child{display:none}.dashboard-client-table th:first-child,.dashboard-client-table td:first-child{width:68%}.dashboard-client-table th:nth-child(4),.dashboard-client-table td:nth-child(4){width:32%;text-align:right}.client-cell .small{display:none}.client-avatar{width:36px;height:36px}.status{white-space:nowrap}.active-loans-collapse>summary{padding:12px}.active-loans-collapse>summary small{display:none}.summary-actions .btn{font-size:0;width:36px;height:36px;padding:0}.summary-actions .btn i{font-size:.78rem;margin:0!important}.loan-next-due{align-items:flex-start;flex-direction:column;gap:3px}.workspace-hero{align-items:flex-start;flex-direction:column;padding:20px}.workspace-badge{width:100%}.workspace-calendar{overflow-x:auto;grid-template-columns:repeat(7,minmax(88px,1fr))}.calc-row{grid-template-columns:1fr}.basic-actions{grid-template-columns:1fr}.calculator-body{padding:16px}}


/* v1.27 clean UI additions */
:root{--surface:#ffffff;--surface-2:#f7f8fc;--surface-3:#eef2f7;--text-strong:#151d31;--success:#15803d;--danger:#dc2626;--topbar:rgba(255,255,255,.9)}
body{transition:background-color .2s ease,color .2s ease}.card-soft,.topbar,.form-control,.form-select,.table,.cal-day,.active-loans-collapse>summary{transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.admin-profile{display:flex;align-items:center;gap:11px}.admin-avatar{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#6f8cff,#3157d5);color:#fff;font-size:.9rem;font-weight:800;box-shadow:0 8px 20px rgba(49,87,213,.28)}.admin-meta{display:flex;flex-direction:column;min-width:0}.admin-meta strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-meta span{font-size:.68rem;color:#9ea8bc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-version{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);font-size:.65rem;color:#8f99ad}.app-version strong{color:#c7d0e0;letter-spacing:.04em}.theme-toggle{width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);display:grid;place-items:center;margin-left:auto;transition:.18s}.theme-toggle:hover{color:var(--primary);border-color:#c7d2fe;transform:translateY(-1px)}.language-switcher{margin-left:.4rem}
.professional-list-head{align-items:center}.list-metric{height:100%;min-height:108px;background:var(--surface);border:1px solid var(--border);border-radius:17px;padding:18px;box-shadow:0 8px 24px rgba(28,39,68,.055);display:flex;align-items:center;gap:14px}.list-metric-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto}.list-metric-icon.blue{background:#eef2ff;color:#3157d5}.list-metric-icon.green{background:#eaf9ef;color:#15803d}.list-metric-icon.violet{background:#f2edff;color:#6d4bd3}.list-metric span{display:block;font-size:.7rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.list-metric strong{display:block;font-size:1.15rem;margin-top:5px;letter-spacing:-.025em}.data-list-card{overflow:hidden}.record-id{display:flex;align-items:center;gap:10px}.record-id i{width:34px;height:34px;border-radius:10px;background:#eef2ff;color:var(--primary);display:grid;place-items:center}.table-progress{min-width:135px}.table-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:.68rem;color:var(--muted);font-weight:700}.table-progress .progress{height:6px;margin-top:6px;background:#e9edf4}.table-progress .progress-bar{background:linear-gradient(90deg,#3157d5,#6f8cff)}.action-cell{white-space:nowrap}.icon-action{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);text-decoration:none;margin-left:4px}.icon-action:hover{color:var(--primary);border-color:#c7d2fe}.icon-action.primary{background:#eef2ff;color:var(--primary)}.icon-action.danger{background:#fff5f5;color:var(--danger);border-color:#fee2e2}.empty-state{text-align:center!important;padding:55px!important;color:var(--muted)}.empty-state i,.empty-state strong,.empty-state span{display:block}.empty-state i{font-size:1.6rem;color:#aab4c6;margin-bottom:12px}.empty-state strong{color:var(--text);margin-bottom:5px}.record-link{font-weight:800;text-decoration:none;color:var(--primary)}.date-chip{display:inline-flex;align-items:center;gap:8px}.payment-positive{color:var(--success);font-size:.98rem}.payment-method-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;background:var(--surface-2);border-radius:9px;font-size:.75rem;font-weight:700;color:var(--muted)}.mobile-record-list{display:none}.mobile-record-card{display:block;padding:16px 17px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.mobile-record-card:last-child{border-bottom:0}.mobile-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-record-top>div{display:flex;flex-direction:column}.record-kicker{font-size:.67rem;color:var(--primary);font-weight:800;letter-spacing:.04em;margin-bottom:4px}.mobile-record-money{display:flex;align-items:flex-end;justify-content:space-between;margin:18px 0 13px}.mobile-record-money span{font-size:.72rem;color:var(--muted);font-weight:700}.mobile-record-money strong{font-size:1.22rem}.mobile-record-footer,.mobile-payment-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;font-size:.72rem;color:var(--muted)}.mobile-payment-meta a{font-weight:800;text-decoration:none}.payment-mobile{background:var(--surface)}
[data-theme="dark"]{--bg:#0d1320;--text:#e8edf7;--text-strong:#f5f7fb;--muted:#94a0b4;--border:#263044;--sidebar:#101725;--sidebar-muted:#8e99ad;--shadow:0 12px 32px rgba(0,0,0,.22);--surface:#151d2c;--surface-2:#1b2435;--surface-3:#222c3f;--topbar:rgba(21,29,44,.9);color-scheme:dark}
[data-theme="dark"] body{background:radial-gradient(circle at top right,rgba(64,94,190,.14),transparent 28%),var(--bg);color:var(--text)}[data-theme="dark"] .topbar{background:var(--topbar)}[data-theme="dark"] .card-soft,[data-theme="dark"] .list-metric,[data-theme="dark"] .loan-stat-card,[data-theme="dark"] .cal-day,[data-theme="dark"] .active-loans-collapse>summary,[data-theme="dark"] .form-control,[data-theme="dark"] .form-select,[data-theme="dark"] .table{background:var(--surface);color:var(--text);border-color:var(--border)}[data-theme="dark"] .table>:not(caption)>*>*{background:transparent;color:inherit;border-color:var(--border)}[data-theme="dark"] .table tbody tr:hover{background:#1a2435}[data-theme="dark"] .premium-table thead th{background:#182131}[data-theme="dark"] .dashboard-hero,[data-theme="dark"] .workspace-hero,[data-theme="dark"] .loan-hero,[data-theme="dark"] .metric.highlight{background:linear-gradient(135deg,#151d2c,#192338);border-color:var(--border)}[data-theme="dark"] .form-control::placeholder{color:#738096}[data-theme="dark"] .btn-light{background:var(--surface-2);border-color:var(--border);color:var(--text)}[data-theme="dark"] .section-head,[data-theme="dark"] .calculator-head{border-color:var(--border)}[data-theme="dark"] .kv{border-color:#2b3548}[data-theme="dark"] .metric-icon,[data-theme="dark"] .section-icon,[data-theme="dark"] .record-id i{background:#202d4a}[data-theme="dark"] .payment-method-pill,[data-theme="dark"] .icon-action,[data-theme="dark"] .installment-card-grid>div,[data-theme="dark"] .calc-result{background:var(--surface-2)}[data-theme="dark"] .login-body{background:radial-gradient(circle at 20% 15%,rgba(49,87,213,.2),transparent 28%),#0d1320}[data-theme="dark"] .language-select{background-color:var(--surface);color:var(--text);border-color:var(--border)}
@media(max-width:767px){.desktop-data-table{display:none}.mobile-record-list{display:block}.list-metric{min-height:92px;padding:14px}.list-metric-icon{width:40px;height:40px}.list-metric strong{font-size:1rem}.professional-list-head .btn{width:100%}.theme-toggle{margin-left:auto}.topbar{gap:7px}.topbar>strong{display:none}.language-switcher{margin-right:0}.sidebar-footer{bottom:12px}.mobile-record-card{padding:15px}.data-list-card .section-head{padding:16px 17px}}

/* KreditPro authentication experience v1.28 */
.auth-page{min-height:100vh;overflow-x:hidden;background:#f4f6fb;color:var(--text);font-family:'Manrope',Inter,system-ui,sans-serif;position:relative;display:flex;flex-direction:column}.auth-page:before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(49,87,213,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(49,87,213,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 86%);pointer-events:none}.auth-orb{position:fixed;border-radius:999px;filter:blur(2px);pointer-events:none}.auth-orb-one{width:420px;height:420px;right:-170px;top:-150px;background:radial-gradient(circle,rgba(92,118,225,.2),rgba(92,118,225,0) 68%)}.auth-orb-two{width:380px;height:380px;left:-190px;bottom:-180px;background:radial-gradient(circle,rgba(24,146,132,.12),rgba(24,146,132,0) 68%)}
.auth-topbar{width:min(1320px,calc(100% - 48px));height:84px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.auth-brand{display:inline-flex;align-items:center;gap:12px;color:#15203b;text-decoration:none;font-size:1.25rem;font-weight:800;letter-spacing:-.04em}.auth-brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#526fdf,#2947bc);color:#fff;box-shadow:0 10px 24px rgba(49,87,213,.28)}.auth-top-actions{display:flex;align-items:center;gap:10px}.auth-top-actions .language-select{width:auto;min-width:164px;background-color:rgba(255,255,255,.76);backdrop-filter:blur(14px)}
.auth-shell{width:min(1320px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);align-items:center;gap:70px;position:relative;z-index:2;padding:42px 0 54px}.auth-showcase{min-height:620px;padding:58px 62px;position:relative;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,#17223d 0%,#1b2b55 52%,#243b75 100%);color:#fff;box-shadow:0 34px 90px rgba(24,38,78,.24)}.auth-showcase:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(116,143,255,.32),transparent 30%),radial-gradient(circle at 12% 92%,rgba(42,188,171,.17),transparent 25%)}.auth-showcase:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom right,black,transparent 75%)}.auth-showcase-content{position:relative;z-index:2;max-width:620px}.auth-kicker{display:flex;align-items:center;gap:9px;color:#b8c7ff;font-size:.73rem;font-weight:800;letter-spacing:.13em}.auth-kicker span{width:23px;height:2px;background:#7d99ff;border-radius:999px}.auth-showcase h1{font-size:clamp(2.6rem,4.7vw,4.55rem);line-height:1.04;letter-spacing:-.065em;font-weight:800;margin:28px 0 24px}.auth-showcase h1 span{color:#aebfff}.auth-showcase-content>p{max-width:590px;font-size:1.03rem;line-height:1.75;color:#bdc8dc;margin:0}.auth-benefits{display:grid;gap:18px;margin-top:42px}.auth-benefit{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:14px}.auth-benefit-icon{width:46px;height:46px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.075);display:grid;place-items:center;color:#afc0ff}.auth-benefit strong{display:block;font-size:.89rem}.auth-benefit small{display:block;color:#9eacc3;font-size:.76rem;margin-top:3px}.auth-preview-card{position:absolute;z-index:3;right:36px;bottom:32px;width:265px;padding:20px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);box-shadow:0 20px 45px rgba(3,12,38,.18)}.auth-preview-head{display:flex;align-items:flex-start;justify-content:space-between}.auth-preview-head small{display:block;color:#aebad0;font-size:.61rem;font-weight:800;letter-spacing:.09em}.auth-preview-head strong{display:block;font-size:1.42rem;margin-top:5px}.auth-preview-head>span{width:36px;height:36px;border-radius:11px;background:rgba(108,222,174,.14);color:#6cdeae;display:grid;place-items:center}.auth-preview-chart{height:74px;display:flex;align-items:flex-end;gap:7px;margin:20px 0}.auth-preview-chart i{flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(to top,#5879ed,#9aafff)}.auth-preview-foot{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;color:#b9c4d8}.auth-preview-foot span{display:flex;align-items:center;gap:6px}.auth-preview-foot b{width:7px;height:7px;border-radius:50%;background:#6cdeae}.auth-preview-foot strong{font-size:.94rem;color:#fff}
.auth-panel{display:flex;justify-content:center}.auth-card{width:100%;max-width:500px;padding:42px;border:1px solid rgba(224,228,239,.92);border-radius:26px;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);box-shadow:0 28px 70px rgba(31,43,75,.12)}.auth-card-heading{display:flex;align-items:center;gap:15px}.auth-card-icon{width:49px;height:49px;border-radius:15px;background:#edf1ff;color:var(--primary);display:grid;place-items:center;font-size:1rem}.auth-card-heading p{margin:0 0 3px;color:var(--primary);font-size:.68rem;font-weight:800;letter-spacing:.12em}.auth-card-heading h2{font-size:1.75rem;font-weight:800;letter-spacing:-.045em;margin:0;color:#17213a}.auth-card-copy{color:#7d8799;font-size:.87rem;line-height:1.6;margin:19px 0 28px}.auth-form{display:grid;gap:19px}.auth-field{display:grid;gap:8px}.auth-field .form-label{margin:0;color:#354057;font-size:.78rem;font-weight:800}.auth-input-wrap{position:relative}.auth-input-wrap>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;color:#909bad;font-size:.89rem}.auth-input-wrap .form-control{height:52px;padding:0 48px 0 45px;border-radius:13px;border:1px solid #dfe4ed;background:#fbfcfe;color:#1e293b;font-size:.88rem;box-shadow:none}.auth-input-wrap .form-control:focus{background:#fff;border-color:#91a7f3;box-shadow:0 0 0 4px rgba(49,87,213,.09)}.auth-input-wrap .form-control::placeholder{color:#a8b0bf}.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:#8a95a7}.auth-password-toggle:hover{background:#eef1f7;color:var(--primary)}.auth-submit{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;border-radius:13px;margin-top:4px;box-shadow:0 12px 24px rgba(49,87,213,.22)}.auth-submit:hover i{transform:translateX(3px)}.auth-submit i{transition:.18s}.auth-security-note{display:flex;align-items:center;justify-content:center;gap:7px;color:#8b95a5;font-size:.67rem;font-weight:600;margin-top:22px}.auth-security-note i{color:#34a178}.auth-alert{display:flex;align-items:flex-start;gap:9px;border:0;border-radius:12px;font-size:.78rem;padding:12px 14px;margin:20px 0}.auth-footer{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:0 0 24px;display:flex;align-items:center;justify-content:center;gap:9px;color:#8a94a6;font-size:.72rem;font-weight:600;position:relative;z-index:3}.auth-footer a{color:#65718a;text-decoration:none}.auth-footer a:hover{color:var(--primary)}.auth-footer-dot{width:3px;height:3px;border-radius:50%;background:#b5bdca}
[data-theme="dark"] .auth-page{background:#0d1320;color:#e8edf7}[data-theme="dark"] .auth-page:before{background-image:linear-gradient(rgba(127,151,225,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(127,151,225,.035) 1px,transparent 1px)}[data-theme="dark"] .auth-brand{color:#f0f3fa}[data-theme="dark"] .auth-card{background:rgba(21,29,44,.95);border-color:#2a3549}[data-theme="dark"] .auth-card-heading h2{color:#f1f4fa}[data-theme="dark"] .auth-card-icon{background:#202d4a}[data-theme="dark"] .auth-field .form-label{color:#cbd3e2}[data-theme="dark"] .auth-input-wrap .form-control{background:#111827;border-color:#2b3649;color:#edf1f7}[data-theme="dark"] .auth-input-wrap .form-control:focus{background:#121b2b;border-color:#627fde}[data-theme="dark"] .auth-password-toggle:hover{background:#222d40}[data-theme="dark"] .auth-top-actions .language-select{background-color:rgba(21,29,44,.9)}
@media(max-width:1100px){.auth-shell{grid-template-columns:1fr 440px;gap:34px}.auth-showcase{padding:48px 42px}.auth-preview-card{right:24px;bottom:24px}.auth-card{padding:36px}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;width:min(580px,calc(100% - 32px));padding:24px 0}.auth-showcase{min-height:auto;padding:34px 32px}.auth-showcase h1{font-size:2.55rem}.auth-benefits{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.auth-benefit{display:block}.auth-benefit-icon{margin-bottom:10px}.auth-benefit small{display:none}.auth-preview-card{display:none}.auth-panel{order:-1}.auth-topbar{width:calc(100% - 32px)}.auth-footer{width:calc(100% - 32px)}}
@media(max-width:575px){.auth-topbar{height:72px}.auth-brand span:last-child{font-size:1.08rem}.auth-top-actions .language-select{min-width:0;width:62px;padding-left:9px;padding-right:24px;font-size:.7rem}.auth-shell{width:calc(100% - 24px);padding:12px 0 24px}.auth-card{padding:27px 20px;border-radius:21px}.auth-card-heading h2{font-size:1.52rem}.auth-card-copy{margin-bottom:23px}.auth-showcase{padding:28px 22px;border-radius:22px}.auth-showcase h1{font-size:2rem;margin:20px 0 16px}.auth-showcase-content>p{font-size:.87rem}.auth-benefits{grid-template-columns:1fr;gap:12px}.auth-benefit{display:grid}.auth-benefit small{display:block}.auth-footer{flex-wrap:wrap;padding-bottom:18px}.auth-footer-dot{display:none}.auth-footer span:first-child,.auth-footer a{width:100%;text-align:center}}


/* v1.29 — Clients, mobile dashboard and workspace desk */
.dashboard-client-mobile,.clients-mobile{display:none}
.clients-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border-radius:21px;border:1px solid var(--border);background:linear-gradient(135deg,#fff,#f3f6ff);box-shadow:var(--shadow)}
.clients-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}
.clients-search{position:relative;display:flex;gap:10px;flex:1}.clients-search>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2;color:var(--muted)}.clients-search .form-control{padding-left:42px}
.clients-count{display:flex;align-items:baseline;gap:7px;padding:0 9px}.clients-count span{font-size:1.4rem;font-weight:800}.clients-count small{color:var(--muted)}
.clients-table-card{overflow:hidden}.clients-table td{padding:17px 18px}.client-cell-lg{gap:13px}.client-avatar-lg{width:46px;height:46px;border-radius:14px;font-size:.82rem;box-shadow:inset 0 0 0 1px rgba(49,87,213,.12)}
.client-cell-lg small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px}.contact-stack{display:grid;gap:5px}.contact-stack a,.contact-stack span{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-size:.78rem}.contact-stack i{width:15px;color:var(--muted)}
.workspace-tabs{display:inline-flex;gap:7px;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--surface,#fff);box-shadow:0 6px 20px rgba(32,45,78,.05)}
.workspace-tabs a{display:flex;align-items:center;gap:9px;padding:11px 17px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:.83rem;font-weight:800}.workspace-tabs a.active{background:var(--primary);color:#fff;box-shadow:0 7px 18px rgba(49,87,213,.22)}
.desk-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}.desk-sidebar{position:sticky;top:96px;overflow:hidden}.desk-sidebar-head{display:flex;justify-content:space-between;padding:18px 18px 12px}.desk-sidebar-head span{font-size:.65rem;font-weight:800;color:var(--muted);letter-spacing:.07em}.desk-sidebar-head strong{font-size:.72rem}
.desk-loan-list{padding:10px}.desk-loan-list>a{display:grid;grid-template-columns:40px 1fr 14px;align-items:center;gap:10px;padding:12px;border-radius:12px;text-decoration:none;color:var(--text);margin-bottom:4px}.desk-loan-list>a:hover,.desk-loan-list>a.active{background:var(--primary-soft)}.desk-loan-list>a.active{box-shadow:inset 3px 0 0 var(--primary)}.desk-loan-icon{width:38px;height:38px;border-radius:11px;background:#eef2ff;color:var(--primary);display:grid;place-items:center}.desk-loan-list strong,.desk-loan-list small{display:block}.desk-loan-list small{font-size:.68rem;color:var(--muted);margin-top:3px}
.desk-content{min-width:0}.desk-client-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;margin-bottom:18px;background:linear-gradient(135deg,#fff,#f4f6ff)}.desk-client-profile{display:flex;align-items:center;gap:15px}.desk-client-profile h1{font-size:1.45rem;font-weight:800;margin:3px 0}.desk-client-profile p{margin:0;color:var(--muted);font-size:.79rem}.desk-client-profile p i{margin-right:7px}.desk-status{display:flex;align-items:center;gap:9px}
.desk-financial-grid{display:grid;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(150px,1fr));gap:14px;margin-bottom:20px}.desk-main-balance,.desk-stat{padding:20px}.desk-main-balance>span,.desk-stat>span{display:block;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.05em}.desk-main-balance>strong{display:block;font-size:2rem;margin:5px 0 14px}.desk-main-balance small{display:block;color:var(--muted);font-size:.72rem;margin-top:9px}.desk-stat{display:flex;flex-direction:column;justify-content:center}.desk-stat>i{width:37px;height:37px;border-radius:11px;background:#eef2ff;color:var(--primary);display:grid;place-items:center;margin-bottom:15px}.desk-stat>strong{font-size:1rem;margin-top:7px}.desk-stat.danger>i{background:#fff0f0;color:#dc2626}
.desk-actions-card{overflow:hidden}.desk-empty{padding:70px 20px}.status-on-time{background:#dcfce7;color:#166534}
[data-theme="dark"] .clients-hero,[data-theme="dark"] .desk-client-hero{background:linear-gradient(135deg,#151d2c,#192338)}
[data-theme="dark"] .workspace-tabs{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .desk-loan-list>a:hover,[data-theme="dark"] .desk-loan-list>a.active{background:var(--surface-2)}

@media(max-width:1100px){.desk-layout{grid-template-columns:1fr}.desk-sidebar{position:static}.desk-loan-list{display:flex;gap:8px;overflow-x:auto}.desk-loan-list>a{min-width:220px}.desk-financial-grid{grid-template-columns:1fr 1fr}.desk-main-balance{grid-column:1/-1}}
@media(max-width:767px){
  .dashboard-client-desktop,.clients-desktop{display:none}.dashboard-client-mobile,.clients-mobile{display:block}
  .dashboard-client-mobile{padding:8px}.dashboard-client-mobile-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 10px;border-radius:12px;text-decoration:none;color:var(--text)}.dashboard-client-mobile-row+.dashboard-client-mobile-row{border-top:1px solid var(--border)}.dashboard-client-mobile-name{min-width:0}.dashboard-client-mobile-name strong,.dashboard-client-mobile-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-client-mobile-name small{font-size:.68rem;color:var(--muted);margin-top:2px}.dashboard-client-mobile-row .status{font-size:.66rem;padding:6px 8px;gap:5px}
  .clients-hero{align-items:flex-start;flex-direction:column;padding:20px}.clients-hero .btn{width:100%}.clients-toolbar{align-items:stretch;flex-direction:column}.clients-search{width:100%}.clients-search .btn{padding-left:13px;padding-right:13px}.clients-count{display:none}.clients-table-card{background:transparent;border:0;box-shadow:none}.client-mobile-card{background:var(--surface,#fff);border:1px solid var(--border);border-radius:17px;padding:15px;margin-bottom:12px;box-shadow:var(--shadow)}.client-mobile-main{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;color:var(--text);text-decoration:none}.client-mobile-identity{min-width:0}.client-mobile-identity strong,.client-mobile-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-mobile-identity small{font-size:.7rem;color:var(--muted);margin-top:3px}.client-mobile-main .status{font-size:.65rem;padding:5px 7px}.client-mobile-stats{display:grid;grid-template-columns:1.5fr 1fr;gap:9px;margin:14px 0}.client-mobile-stats>div{padding:11px;border-radius:11px;background:#f6f8fc}.client-mobile-stats span,.client-mobile-stats strong{display:block}.client-mobile-stats span{font-size:.66rem;color:var(--muted)}.client-mobile-stats strong{font-size:.91rem;margin-top:4px}.client-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.client-mobile-actions .btn{width:100%}
  .workspace-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.workspace-tabs a{justify-content:center}.desk-client-hero{align-items:flex-start;flex-direction:column;padding:18px}.desk-status{width:100%;justify-content:space-between}.desk-client-profile{align-items:flex-start}.desk-financial-grid{grid-template-columns:1fr 1fr}.desk-main-balance{grid-column:1/-1}.desk-stat{padding:15px;min-height:120px}
}
@media(max-width:430px){.desk-financial-grid{grid-template-columns:1fr}.desk-main-balance{grid-column:auto}.desk-client-profile .profile-avatar{display:none}.dashboard-client-mobile-row{grid-template-columns:36px minmax(0,1fr) auto}.dashboard-client-mobile-row .client-avatar{width:36px;height:36px}}


/* v1.30 — Premium client directory */
.client-directory-hero{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:27px 30px;border:1px solid var(--border);border-radius:22px;
  background:
    radial-gradient(circle at 88% 20%,rgba(49,87,213,.11),transparent 27%),
    linear-gradient(135deg,#fff 0%,#f7f9ff 100%);
  box-shadow:var(--shadow);overflow:hidden
}
.client-directory-copy{position:relative;z-index:1}
.client-directory-add{min-height:46px;padding-inline:20px;white-space:nowrap}
.client-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(260px,1.45fr);gap:14px}
.client-summary-card{
  display:flex;align-items:center;gap:14px;min-height:94px;padding:18px 20px;
  border:1px solid var(--border);border-radius:17px;background:var(--surface,#fff);box-shadow:0 7px 24px rgba(32,45,78,.055)
}
.client-summary-card small,.client-summary-card strong{display:block}
.client-summary-card small{font-size:.64rem;color:var(--muted);font-weight:800;letter-spacing:.055em}
.client-summary-card strong{font-size:1.35rem;margin-top:5px;letter-spacing:-.03em}
.client-summary-icon{width:45px;height:45px;flex:0 0 45px;border-radius:14px;display:grid;place-items:center;font-size:1rem}
.client-summary-icon.blue{background:#eef2ff;color:#3157d5}.client-summary-icon.violet{background:#f4efff;color:#7248cc}.client-summary-icon.red{background:#fff0f0;color:#dc2626}.client-summary-icon.green{background:#eafaf5;color:#0f766e}
.client-directory-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:13px 15px;border:1px solid var(--border);border-radius:16px;background:var(--surface,#fff)
}
.client-directory-search{position:relative;display:flex;align-items:center;gap:9px;flex:1;max-width:780px}
.client-directory-search>i{position:absolute;left:15px;color:var(--muted);z-index:2}
.client-directory-search .form-control{padding-left:43px;padding-right:43px}
.client-search-clear{position:absolute;right:88px;color:var(--muted);width:30px;height:30px;display:grid;place-items:center;text-decoration:none;border-radius:8px}
.client-search-clear:hover{background:var(--surface-2,#f4f6fa);color:var(--text)}
.client-directory-result{font-size:.72rem;color:var(--muted);font-weight:700;white-space:nowrap}
.client-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.client-profile-card{
  position:relative;overflow:hidden;padding:22px;border:1px solid var(--border);border-radius:20px;
  background:var(--surface,#fff);box-shadow:0 8px 28px rgba(32,45,78,.06);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.client-profile-card:hover{transform:translateY(-3px);box-shadow:0 17px 40px rgba(32,45,78,.105);border-color:#cad4fa}
.client-profile-accent{position:absolute;inset:0 0 auto 0;height:4px}
.client-profile-accent.tone-1,.client-photo.tone-1{background:linear-gradient(135deg,#3157d5,#6f8cff)}
.client-profile-accent.tone-2,.client-photo.tone-2{background:linear-gradient(135deg,#0f766e,#35a99c)}
.client-profile-accent.tone-3,.client-photo.tone-3{background:linear-gradient(135deg,#7c3aed,#a879ef)}
.client-profile-accent.tone-4,.client-photo.tone-4{background:linear-gradient(135deg,#c2410c,#fb8a4a)}
.client-profile-accent.tone-5,.client-photo.tone-5{background:linear-gradient(135deg,#be123c,#ef6687)}
.client-profile-accent.tone-6,.client-photo.tone-6{background:linear-gradient(135deg,#0369a1,#38a8da)}
.client-profile-card-head{display:grid;grid-template-columns:58px minmax(0,1fr) 34px;align-items:start;gap:13px}
.client-photo-wrap{position:relative}
.client-photo{
  width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;
  font-size:1rem;font-weight:800;letter-spacing:.02em;box-shadow:0 10px 22px rgba(32,45,78,.17)
}
.client-presence{position:absolute;right:-2px;bottom:-2px;width:15px;height:15px;border:3px solid var(--surface,#fff);border-radius:50%}
.client-presence.ok{background:#22c55e}.client-presence.late{background:#ef4444}
.client-code{display:block;color:var(--muted);font-size:.59rem;font-weight:800;letter-spacing:.075em;margin-bottom:3px}
.client-profile-identity h2{font-size:1.03rem;font-weight:800;letter-spacing:-.025em;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-profile-identity .status{font-size:.64rem;padding:5px 8px;gap:5px}
.client-profile-menu{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;text-decoration:none;color:var(--muted);background:var(--surface-2,#f5f7fb);transition:.18s}
.client-profile-menu:hover{background:var(--primary);color:#fff}
.client-contact-list{display:grid;gap:9px;padding:18px 0;margin-top:17px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.client-contact-list>a,.client-contact-list>span{display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;color:var(--text);text-decoration:none;font-size:.73rem;min-width:0}
.client-contact-list i{width:25px;color:var(--muted)}
.client-contact-list span span,.client-contact-list a span,.client-contact-list em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}
.client-contact-list em{color:var(--muted)}
.client-profile-finance{display:grid;grid-template-columns:1.55fr 1fr;gap:10px;padding:16px 0}
.client-profile-finance>div{padding:13px 14px;border-radius:13px;background:var(--surface-2,#f6f8fc)}
.client-profile-finance span,.client-profile-finance strong{display:block}
.client-profile-finance span{font-size:.64rem;color:var(--muted);font-weight:700}
.client-profile-finance strong{font-size:.96rem;margin-top:5px}
.client-profile-actions{display:grid;grid-template-columns:1.25fr .75fr;gap:9px}
.client-profile-actions .btn{width:100%}
.client-directory-empty{padding:65px 20px}.empty-state-icon{width:60px;height:60px;border-radius:18px;background:#eef2ff;color:var(--primary);display:grid;place-items:center;font-size:1.25rem;margin:0 auto 15px}
[data-theme="dark"] .client-directory-hero{background:radial-gradient(circle at 88% 20%,rgba(92,124,235,.14),transparent 27%),linear-gradient(135deg,#151d2c,#192338)}
[data-theme="dark"] .client-profile-card:hover{border-color:#405284}

@media(max-width:1180px){
  .client-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .client-directory-hero{flex-direction:column;align-items:stretch;padding:21px}
  .client-directory-add{width:100%}
  .client-summary-grid{grid-template-columns:1fr 1fr;gap:9px}
  .client-summary-card{min-height:82px;padding:14px}
  .client-summary-card.wide{grid-column:1/-1}
  .client-summary-icon{width:39px;height:39px;flex-basis:39px;border-radius:12px}
  .client-summary-card small{font-size:.56rem}.client-summary-card strong{font-size:1.08rem}
  .client-directory-toolbar{align-items:stretch;flex-direction:column}
  .client-directory-search{max-width:none;width:100%}.client-directory-result{display:none}
  .client-directory-grid{grid-template-columns:1fr;gap:12px}
  .client-profile-card{padding:18px;border-radius:18px}
  .client-profile-card-head{grid-template-columns:52px minmax(0,1fr) 32px}
  .client-photo{width:52px;height:52px;border-radius:16px}
}
@media(max-width:390px){
  .client-summary-grid{grid-template-columns:1fr}
  .client-summary-card.wide{grid-column:auto}
  .client-profile-actions{grid-template-columns:1fr}
}


/* v1.31 — Documents and per-client amortization calculator */
.documents-card{overflow:hidden}.documents-head{gap:18px}.document-upload-form{margin:0}
.document-list{padding:8px 16px 16px}.document-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 8px;border-bottom:1px solid var(--border)}.document-row:last-child{border-bottom:0}
.document-type{width:44px;height:44px;border-radius:13px;background:#eef2ff;color:var(--primary);display:grid;place-items:center;font-size:1.05rem}
.document-info{min-width:0}.document-info strong,.document-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-info strong{font-size:.82rem}.document-info span{font-size:.67rem;color:var(--muted);margin-top:4px}
.document-actions{display:flex;align-items:center;gap:6px}.document-actions form{margin:0}.document-actions .icon-btn{border:0}.document-actions .danger{color:#dc2626;background:#fff0f0}
.document-empty{text-align:center;padding:44px 20px}.document-empty>span{width:56px;height:56px;border-radius:17px;background:#eef2ff;color:var(--primary);display:grid;place-items:center;margin:0 auto 13px;font-size:1.15rem}.document-empty h3{font-size:1rem;font-weight:800}.document-empty p{font-size:.76rem;color:var(--muted);margin-bottom:0}
.amortization-modal .modal-header{padding:20px 23px}.amortization-calc-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.amortization-calc-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.amortization-calc-summary>div{padding:16px;border-radius:14px;background:var(--surface-2,#f6f8fc);border:1px solid var(--border)}.amortization-calc-summary span,.amortization-calc-summary strong{display:block}.amortization-calc-summary span{font-size:.67rem;color:var(--muted);font-weight:700}.amortization-calc-summary strong{font-size:1.12rem;margin-top:6px}
.amortization-preview-table{max-height:440px;border:1px solid var(--border);border-radius:14px}.amortization-preview-table thead{position:sticky;top:0;z-index:2;background:var(--surface,#fff)}
[data-theme="dark"] .document-type,[data-theme="dark"] .document-empty>span{background:#202c46}
[data-theme="dark"] .document-actions .danger{background:#3a1d24;color:#ff8797}

@media(max-width:900px){.amortization-calc-inputs{grid-template-columns:1fr 1fr}}
@media(max-width:767px){
  .documents-head{align-items:stretch;flex-direction:column}.document-upload-form .btn{width:100%}
  .document-row{grid-template-columns:42px minmax(0,1fr);padding:13px 2px}.document-actions{grid-column:1/-1;justify-content:flex-end;padding-top:4px}
  .amortization-calc-inputs{grid-template-columns:1fr}.amortization-calc-summary{grid-template-columns:1fr}
  .amortization-modal .modal-body{padding:15px}.amortization-preview-table{max-height:360px}
}


/* v1.32 — documents polish */
.documents-card{padding:0;overflow:hidden;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface,#fff),rgba(246,248,252,.82))}
.documents-head{padding:22px 24px;border-bottom:1px solid var(--border);align-items:center}
.documents-count-badge{padding:8px 12px;border-radius:999px;background:var(--surface-2,#f4f6fa);border:1px solid var(--border);font-size:.72rem;font-weight:800;color:var(--muted)}
.document-list{padding:10px 18px 18px}
.document-row{padding:15px 10px;border-bottom:1px solid rgba(154,166,194,.18)}
.document-row:hover{background:rgba(49,87,213,.03);border-radius:14px}
.document-type{background:linear-gradient(135deg,#eef2ff,#dfe7ff);box-shadow:inset 0 0 0 1px rgba(49,87,213,.08)}
.document-actions .icon-btn{width:38px;height:38px;border-radius:12px;background:var(--surface-2,#f4f6fa)}
.document-actions .icon-btn:hover{background:var(--primary);color:#fff}
.document-empty-pro{display:grid;grid-template-columns:170px 1fr 260px;gap:24px;align-items:center;padding:28px 26px 30px}
.document-empty-visual{position:relative;display:grid;place-items:center;min-height:170px}
.document-empty-icon{position:relative;z-index:2;width:110px;height:110px;border-radius:28px;background:linear-gradient(135deg,#3157d5,#7f97ff);display:grid;place-items:center;color:#fff;font-size:2rem;box-shadow:0 18px 40px rgba(49,87,213,.28)}
.document-empty-glow{position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(49,87,213,.18),transparent 68%)}
.document-empty-content h3{font-size:2rem;letter-spacing:-.04em;margin-bottom:10px}
.document-empty-content p{font-size:.94rem;color:var(--muted);max-width:640px;margin-bottom:14px}
.document-empty-eyebrow{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#eef2ff;color:var(--primary);font-size:.68rem;font-weight:800;letter-spacing:.08em;margin-bottom:14px}
.document-empty-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.document-empty-meta span{padding:7px 10px;border-radius:999px;background:var(--surface-2,#f4f6fa);border:1px solid var(--border);font-size:.69rem;font-weight:700;color:var(--text)}
.document-empty-content small{display:block;color:var(--muted);font-size:.75rem}
.document-empty-actions{display:grid;gap:12px;align-self:stretch;align-content:center}
.document-empty-actions .btn{min-height:48px}
.document-support-card{padding:16px 18px;border-radius:18px;background:var(--surface-2,#f4f6fa);border:1px solid var(--border)}
.document-support-card span,.document-support-card strong{display:block}
.document-support-card span{font-size:.67rem;color:var(--muted);font-weight:800;letter-spacing:.06em;margin-bottom:6px}
.document-support-card strong{font-size:.86rem;line-height:1.45}
[data-theme="dark"] .documents-card{background:linear-gradient(180deg,#111827,#0f1728)}
[data-theme="dark"] .documents-count-badge,[data-theme="dark"] .document-empty-meta span,[data-theme="dark"] .document-support-card,[data-theme="dark"] .document-actions .icon-btn{background:#182233}
[data-theme="dark"] .document-row:hover{background:rgba(92,124,235,.07)}

@media(max-width:1100px){.document-empty-pro{grid-template-columns:130px 1fr}.document-empty-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:767px){.documents-head{padding:18px}.documents-count-badge{display:none}.document-empty-pro{grid-template-columns:1fr;gap:18px;padding:22px 18px}.document-empty-visual{min-height:auto}.document-empty-content h3{font-size:1.65rem}.document-empty-actions{grid-template-columns:1fr}.document-empty-actions .btn{width:100%}.document-support-card{text-align:left}}


/* v1.34 — professional amortization modal, mobile view and clean printing */
.amortization-modal{border:0;border-radius:22px;overflow:hidden;background:var(--surface,#fff);box-shadow:0 30px 90px rgba(17,24,39,.28)}
.amortization-modal-header{padding:21px 24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--surface,#fff),var(--surface-2,#f6f8fc))}
.amortization-modal-heading{min-width:0}.amortization-modal-heading .modal-title{font-size:1.12rem;font-weight:800;letter-spacing:-.025em;margin:4px 0}.amortization-modal-heading p{margin:0;color:var(--muted);font-size:.72rem}
.amortization-modal-body{padding:21px 24px;background:var(--bg,#f5f6fa)}
.amortization-input-panel,.amortization-schedule-panel{padding:18px;border:1px solid var(--border);border-radius:17px;background:var(--surface,#fff)}
.amortization-panel-title{display:flex;align-items:center;gap:11px;margin-bottom:15px}.amortization-panel-title>i{width:37px;height:37px;border-radius:11px;background:#eef2ff;color:var(--primary);display:grid;place-items:center}.amortization-panel-title strong,.amortization-panel-title span{display:block}.amortization-panel-title strong{font-size:.84rem}.amortization-panel-title span{font-size:.67rem;color:var(--muted);margin-top:2px}
.amortization-calc-inputs .form-label{font-size:.69rem;color:var(--muted);margin-bottom:6px}.amortization-calc-inputs .form-control,.amortization-calc-inputs .input-group-text{min-height:45px}
.amortization-calc-summary{margin:14px 0}.amortization-calc-summary>div{min-height:82px;display:flex;flex-direction:column;justify-content:center;padding:15px 17px;background:linear-gradient(145deg,#f8faff,#eef2ff);border-color:#dce4ff}.amortization-calc-summary span{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em}.amortization-calc-summary strong{font-size:1.12rem;color:#2444b8}
.amortization-preview-table{max-height:390px;margin:0;border-radius:13px}.amortization-preview-table table{margin:0}.amortization-preview-table th{position:sticky;top:0;background:var(--surface-2,#f5f7fb);z-index:2}.amortization-preview-table td,.amortization-preview-table th{white-space:nowrap}
.amortization-mobile-list{display:none}
.amortization-modal-footer{padding:14px 24px;border-top:1px solid var(--border);background:var(--surface,#fff)}
[data-theme="dark"] .amortization-modal-header{background:linear-gradient(135deg,#151d2c,#192338)}[data-theme="dark"] .amortization-modal-body{background:#0d1420}[data-theme="dark"] .amortization-panel-title>i{background:#202c46}[data-theme="dark"] .amortization-calc-summary>div{background:linear-gradient(145deg,#182235,#202d48);border-color:#2e4165}[data-theme="dark"] .amortization-calc-summary strong{color:#a9baff}

@media(max-width:767px){
  #amortizationCalcModal .modal-dialog{width:100%;max-width:none;height:100%;margin:0}
  #amortizationCalcModal .modal-content{height:100dvh;min-height:100dvh;border-radius:0}
  #amortizationCalcModal .modal-header{position:sticky;top:0;z-index:20;padding:16px 17px}
  #amortizationCalcModal .modal-body{padding:14px 13px 92px;overflow-y:auto;overscroll-behavior:contain}
  #amortizationCalcModal .modal-footer{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;padding:11px 13px calc(11px + env(safe-area-inset-bottom));box-shadow:0 -10px 28px rgba(17,24,39,.12)}
  #amortizationCalcModal .modal-footer .btn{width:100%;min-height:48px}
  .amortization-modal-heading .modal-title{font-size:1rem;line-height:1.3}.amortization-modal-heading p{font-size:.65rem}.amortization-modal-header .eyebrow{font-size:.57rem}
  .amortization-input-panel,.amortization-schedule-panel{padding:15px;border-radius:15px}
  .amortization-panel-title{margin-bottom:13px}.amortization-panel-title>i{width:34px;height:34px}.amortization-panel-title span{display:none}
  .amortization-calc-inputs{grid-template-columns:1fr 1fr;gap:10px}.amortization-calc-inputs>div:last-child{grid-column:1/-1}
  .amortization-calc-inputs .form-control,.amortization-calc-inputs .input-group-text{min-height:48px;font-size:16px}
  .amortization-calc-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:11px 0}.amortization-calc-summary>div{min-height:74px;padding:11px 9px;border-radius:12px}.amortization-calc-summary span{font-size:.54rem;line-height:1.2}.amortization-calc-summary strong{font-size:.82rem;margin-top:5px;white-space:nowrap}
  .amortization-preview-table{display:none}.amortization-mobile-list{display:grid;gap:10px}
  .amortization-mobile-card{padding:14px;border:1px solid var(--border);border-radius:15px;background:var(--surface,#fff);box-shadow:0 6px 18px rgba(32,45,78,.055)}
  .amortization-mobile-card-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border)}.amortization-mobile-card-head span,.amortization-mobile-card-head strong{display:inline}.amortization-mobile-card-head span{font-size:.65rem;color:var(--muted);margin-right:5px}.amortization-mobile-card-head strong{font-size:.87rem}.amortization-mobile-card-head time{font-size:.72rem;color:var(--muted);font-weight:700}
  .amortization-mobile-payment{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.amortization-mobile-payment span{font-size:.69rem;color:var(--muted)}.amortization-mobile-payment strong{font-size:1.05rem;color:var(--primary)}
  .amortization-mobile-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.amortization-mobile-breakdown>div{padding:9px 8px;border-radius:10px;background:var(--surface-2,#f5f7fb)}.amortization-mobile-breakdown span,.amortization-mobile-breakdown strong{display:block}.amortization-mobile-breakdown span{font-size:.55rem;color:var(--muted)}.amortization-mobile-breakdown strong{font-size:.67rem;margin-top:4px;white-space:nowrap}
}
@media(max-width:420px){
  .amortization-calc-inputs{grid-template-columns:1fr}.amortization-calc-inputs>div:last-child{grid-column:auto}
  .amortization-calc-summary{grid-template-columns:1fr}.amortization-calc-summary>div{min-height:67px;display:grid;grid-template-columns:1fr auto;align-items:center}.amortization-calc-summary strong{font-size:.96rem;margin:0}
  .amortization-mobile-breakdown{grid-template-columns:1fr 1fr}.amortization-mobile-breakdown>div:last-child{grid-column:1/-1}
}


/* v1.35 — final production mobile polish */
.metric-copy{min-width:0;max-width:calc(100% - 54px)}
.metric-value{font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.08;white-space:nowrap}
.client-code{display:flex;align-items:center;gap:0;white-space:nowrap}
.dashboard-metrics>[class*="col-"]{display:flex}.dashboard-metrics .metric{width:100%}

@media(max-width:767px){
  .content{padding:14px 12px 26px}
  .topbar{height:68px;padding:0 12px;gap:8px}
  .mobile-toggle,.theme-toggle{width:40px;height:40px;min-width:40px;border-radius:12px;padding:0;display:grid;place-items:center}
  .language-switcher{margin:0;min-width:0;flex:1;justify-content:flex-end}
  .language-select{width:132px;min-width:132px;max-width:132px;height:40px!important;min-height:40px!important;font-size:.73rem;padding-left:.6rem;padding-right:1.8rem;border-radius:12px}
  .topbar>a.btn{width:40px;height:40px;min-width:40px;padding:0;display:grid;place-items:center;border-radius:12px}
  .topbar>a.btn span{display:none}.topbar>a.btn i{margin:0!important}

  .dashboard-hero{padding:18px;border-radius:18px;gap:17px;margin-bottom:14px!important}
  .dashboard-hero .page-title{font-size:1.42rem}.dashboard-hero .page-subtitle{font-size:.78rem;line-height:1.5}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px}
  .hero-actions .btn{min-width:0;min-height:48px;padding:10px 9px;font-size:.78rem;line-height:1.25;white-space:normal}
  .hero-actions .btn i{margin-right:6px!important}

  .dashboard-metrics{--bs-gutter-x:10px;--bs-gutter-y:10px;margin-bottom:18px!important}
  .dashboard-metrics .metric{min-height:122px;padding:15px 14px;border-radius:17px}
  .dashboard-metrics .metric>.d-flex{height:100%;display:block!important}
  .dashboard-metrics .metric-copy{max-width:100%;padding-right:31px}
  .dashboard-metrics .metric-label{font-size:.69rem;line-height:1.3;min-height:1.8em;max-width:100px}
  .dashboard-metrics .metric-value{font-size:clamp(1.16rem,5.25vw,1.38rem);margin-top:10px;max-width:100%;overflow:visible}
  .dashboard-metrics .metric-note{font-size:.61rem;line-height:1.35;margin-top:10px;max-width:112px}
  .dashboard-metrics .metric-icon{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:10px;font-size:.75rem}
  .dashboard-metrics .metric:before{width:72px;height:72px;right:-20px;bottom:-25px}

  .dashboard-client-card{border-radius:18px;overflow:hidden}
  .dashboard-client-card .section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px}
  .dashboard-client-card .section-title{font-size:.96rem;line-height:1.3}.dashboard-client-card .section-subtitle{font-size:.68rem;line-height:1.4}
  .dashboard-client-card .section-head .btn{padding:8px 10px;font-size:.7rem;white-space:nowrap}
  .dashboard-client-mobile{padding:4px 8px 8px}
  .dashboard-client-mobile-row{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;padding:12px 8px}
  .dashboard-client-mobile-row .client-avatar{width:38px;height:38px;border-radius:12px}
  .dashboard-client-mobile-name strong{font-size:.84rem}.dashboard-client-mobile-name small{font-size:.64rem}
  .dashboard-client-mobile-row .status{font-size:.61rem;padding:6px 7px;gap:4px}

  .row.g-4{--bs-gutter-y:14px}
  .quick-actions{padding:7px}.quick-action{padding:11px 10px}.quick-action strong{font-size:.82rem}.quick-action small{font-size:.66rem}
  .recent-payment{padding:11px 6px}.recent-payment strong{font-size:.78rem}.recent-payment small{font-size:.64rem}
}

@media(max-width:390px){
  .content{padding-left:10px;padding-right:10px}
  .language-select{width:116px;min-width:116px;max-width:116px;font-size:.68rem}
  .dashboard-metrics .metric{min-height:116px;padding:14px 12px}
  .dashboard-metrics .metric-value{font-size:1.08rem}
  .dashboard-metrics .metric-label{font-size:.65rem;max-width:88px}
  .dashboard-metrics .metric-note{font-size:.58rem;max-width:96px}
  .dashboard-metrics .metric-icon{width:29px;height:29px;right:10px;top:10px}
  .dashboard-client-card .section-head{grid-template-columns:1fr}.dashboard-client-card .section-head .btn{justify-self:start}
}


/* v1.36 — dark mode consistency, client form and workspace installment */
[data-theme="dark"] .client-profile-hero{
  background:linear-gradient(135deg,#151d2c 0%,#1b2740 100%);
  border-color:var(--border);color:var(--text)
}
[data-theme="dark"] .client-profile-hero:after{background:radial-gradient(circle,rgba(92,124,235,.18),transparent 70%)}
[data-theme="dark"] .client-profile-hero .page-title,[data-theme="dark"] .client-profile-hero .client-meta,[data-theme="dark"] .client-profile-company-line{color:var(--text)}
[data-theme="dark"] .client-profile-hero .client-meta i,[data-theme="dark"] .client-profile-company-line i{color:#93a9ef}
[data-theme="dark"] .loan-details-card{background:var(--surface);border-color:var(--border)}
[data-theme="dark"] .loan-details-grid{background:var(--border)}
[data-theme="dark"] .loan-details-grid>div{background:var(--surface);color:var(--text)}
[data-theme="dark"] .loan-details-grid span{color:var(--muted)}
[data-theme="dark"] .loan-data-grid>div,[data-theme="dark"] .contact-row>i,[data-theme="dark"] .installment-card-grid>div{background:var(--surface-2);color:var(--text)}
[data-theme="dark"] .loan-progress,[data-theme="dark"] .contact-row{border-color:var(--border)}
[data-theme="dark"] .notes-box{color:var(--text)}

.client-profile-company-line{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.76rem;font-weight:700;margin-top:4px}
.client-form-page{max-width:1220px;margin:0 auto}.client-form-layout{display:grid;gap:18px}.client-form-card{overflow:hidden}
.client-form-section-head{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--border)}
.client-form-section-head h2{font-size:1rem;font-weight:800;margin:0}.client-form-section-head p{font-size:.74rem;color:var(--muted);margin:4px 0 0}
.client-form-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto}.client-form-icon.blue{background:#eef2ff;color:#3157d5}.client-form-icon.violet{background:#f2edff;color:#7048d5}.client-form-icon.green{background:#e9f8ef;color:#15803d}
.client-form-body{padding:22px}.input-icon-wrap{position:relative}.input-icon-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted);z-index:2}.input-icon-wrap .form-control{padding-left:42px}
.client-check{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);font-size:.8rem;font-weight:700;cursor:pointer}.client-check input{display:none}.client-check>span{width:22px;height:22px;border-radius:7px;border:1px solid #cbd3e1;display:grid;place-items:center;color:transparent}.client-check input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.client-form-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:14px;z-index:15;padding:13px;border-radius:15px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:0 12px 34px rgba(30,42,75,.12)}
.company-only-field[hidden]{display:none!important}
.desk-financial-grid{grid-template-columns:minmax(280px,1.55fr) repeat(4,minmax(130px,1fr))}
.desk-stat.installment>i{background:#fff3e6;color:#d97706}.desk-stat.installment strong{color:#c56c08;font-size:1.08rem}
[data-theme="dark"] .client-form-section-head{border-color:var(--border)}[data-theme="dark"] .client-check{background:var(--surface);color:var(--text)}[data-theme="dark"] .client-form-actions{background:rgba(21,29,44,.92)}
[data-theme="dark"] .client-form-icon.blue{background:#202d4a}[data-theme="dark"] .client-form-icon.violet{background:#302848}[data-theme="dark"] .client-form-icon.green{background:#173a31}
[data-theme="dark"] .desk-stat.installment>i{background:#402d18;color:#f4aa54}[data-theme="dark"] .desk-stat.installment strong{color:#ffc479}
@media(max-width:1350px){.desk-financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desk-main-balance{grid-column:1/-1}}
@media(max-width:767px){.client-form-section-head{align-items:flex-start;padding:17px}.client-form-body{padding:17px}.client-form-actions{bottom:8px}.client-form-actions .btn{flex:1}.desk-financial-grid{grid-template-columns:1fr 1fr}.desk-main-balance{grid-column:1/-1}}
@media(max-width:430px){.desk-financial-grid{grid-template-columns:1fr}.desk-main-balance{grid-column:auto}}


/* v1.37 — final dark-mode consistency and professional loan form */
html{background:var(--bg);color-scheme:light}html[data-theme="dark"]{background:#0d1320;color-scheme:dark}
.loan-form-page{max-width:1220px;margin:0 auto}.loan-form-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#fff,#f4f7ff);box-shadow:var(--shadow)}
.loan-form-layout{display:grid;gap:18px}.loan-form-card{overflow:hidden}.loan-form-section-head{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--border)}.loan-form-section-head h2{font-size:1rem;font-weight:800;margin:0}.loan-form-section-head p{font-size:.74rem;color:var(--muted);margin:4px 0 0}.loan-form-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto}.loan-form-icon.blue{background:#eef2ff;color:#3157d5}.loan-form-icon.violet{background:#f2edff;color:#7048d5}.loan-form-icon.green{background:#e9f8ef;color:#15803d}.loan-form-body{padding:22px}.loan-form-actions{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:12px;z-index:15;padding:13px;border-radius:15px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid var(--border);box-shadow:0 12px 34px rgba(30,42,75,.12)}
[data-theme="dark"] body,[data-theme="dark"] .main,[data-theme="dark"] .content{background-color:transparent;color:var(--text)}
[data-theme="dark"] .card-soft,[data-theme="dark"] .polished-loan-card,[data-theme="dark"] .mini-finance-card,[data-theme="dark"] .discipline-card,[data-theme="dark"] .notes-box,[data-theme="dark"] .activity-timeline,[data-theme="dark"] .active-loans-collapse,[data-theme="dark"] .loan-form-card{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}
[data-theme="dark"] .client-profile-hero,[data-theme="dark"] .loan-form-hero{background:linear-gradient(135deg,#151d2c,#1b2740)!important;border-color:var(--border)!important;color:var(--text)!important}
[data-theme="dark"] .client-profile-hero .page-title,[data-theme="dark"] .client-profile-hero a,[data-theme="dark"] .client-profile-hero span,[data-theme="dark"] .loan-form-hero .page-title{color:var(--text)}
[data-theme="dark"] .loan-details-grid,[data-theme="dark"] .loan-data-grid{background:transparent!important}
[data-theme="dark"] .loan-details-grid>div,[data-theme="dark"] .loan-data-grid>div,[data-theme="dark"] .loan-stat-card,[data-theme="dark"] .balance-grid>div,[data-theme="dark"] .client-profile-finance>div,[data-theme="dark"] .contact-row>i{background:var(--surface-2)!important;color:var(--text)!important;border-color:var(--border)!important}
[data-theme="dark"] .section-head,[data-theme="dark"] .loan-form-section-head,[data-theme="dark"] .loan-progress,[data-theme="dark"] .contact-row,[data-theme="dark"] .activity-item{border-color:var(--border)!important}
[data-theme="dark"] .form-control,[data-theme="dark"] .form-select,[data-theme="dark"] .input-group-text,[data-theme="dark"] textarea,[data-theme="dark"] select option{background-color:#111827!important;color:var(--text)!important;border-color:#303b50!important}
[data-theme="dark"] .form-control:focus,[data-theme="dark"] .form-select:focus{background-color:#131d2d!important;border-color:#627fde!important;box-shadow:0 0 0 .2rem rgba(98,127,222,.16)!important}
[data-theme="dark"] .form-text,[data-theme="dark"] .text-muted,[data-theme="dark"] small{color:var(--muted)!important}
[data-theme="dark"] .btn-outline-secondary{color:#d5dcea;border-color:#46536b}[data-theme="dark"] .btn-outline-secondary:hover{background:#27334a;color:#fff}
[data-theme="dark"] .loan-form-actions{background:rgba(21,29,44,.94)}[data-theme="dark"] .loan-form-icon.blue{background:#202d4a}[data-theme="dark"] .loan-form-icon.violet{background:#302848}[data-theme="dark"] .loan-form-icon.green{background:#173a31}
[data-theme="dark"] .table-responsive,[data-theme="dark"] .premium-table,[data-theme="dark"] .premium-table tbody,[data-theme="dark"] .premium-table tr{background:transparent!important}
[data-theme="dark"] .modal-content{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}[data-theme="dark"] .modal-header,[data-theme="dark"] .modal-footer{border-color:var(--border)!important}[data-theme="dark"] .btn-close{filter:invert(1) grayscale(1)}
@media(max-width:767px){.loan-form-hero{align-items:flex-start;flex-direction:column;padding:20px}.loan-form-hero .btn{width:100%}.loan-form-section-head{align-items:flex-start;padding:17px}.loan-form-body{padding:17px}.loan-form-actions{bottom:8px}.loan-form-actions .btn{flex:1}}


/* v1.38 — release polish: office and dark mode */
.workspace-tabs .workspace-desk-tab{color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3}
.workspace-tabs .workspace-desk-tab:hover{background:#ffe4e6;color:#991b1b}
.workspace-tabs .workspace-desk-tab.active{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border-color:#b91c1c;box-shadow:0 8px 20px rgba(185,28,28,.24)}.schedule-count{padding:7px 10px;border-radius:999px;background:#f4f6fa;color:var(--muted);font-size:.67rem;font-weight:800}

/* Dark mode: explicit semantic colors to prevent white-on-white UI */
[data-theme="dark"] .status-active,[data-theme="dark"] .status-future{background:#1e3a5f!important;color:#9dc4ff!important;border:1px solid #315b8d!important}
[data-theme="dark"] .status-paid,[data-theme="dark"] .status-on-time{background:#143a2a!important;color:#86efac!important;border:1px solid #236240!important}
[data-theme="dark"] .status-overdue{background:#451d25!important;color:#fda4af!important;border:1px solid #7f2937!important}
[data-theme="dark"] .status-partial{background:#4a321b!important;color:#fdba74!important;border:1px solid #765126!important}
[data-theme="dark"] .client-profile-hero .status,[data-theme="dark"] .desk-client-hero .status{color:inherit!important}
[data-theme="dark"] .workspace-hero,[data-theme="dark"] .workspace-badge,[data-theme="dark"] .workspace-tabs,[data-theme="dark"] .desk-sidebar,[data-theme="dark"] .desk-client-hero,[data-theme="dark"] .desk-main-balance,[data-theme="dark"] .desk-stat,[data-theme="dark"] .desk-actions-card{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}
[data-theme="dark"] .workspace-badge,[data-theme="dark"] .workspace-badge span,[data-theme="dark"] .workspace-tabs a,[data-theme="dark"] .desk-client-profile h1,[data-theme="dark"] .desk-client-profile p,[data-theme="dark"] .desk-stat strong,[data-theme="dark"] .desk-main-balance strong,[data-theme="dark"] .desk-loan-list strong,[data-theme="dark"] .section-title{color:var(--text)!important}
[data-theme="dark"] .desk-loan-list small,[data-theme="dark"] .desk-client-profile p{color:var(--muted)!important}
[data-theme="dark"] .desk-status .btn-light,[data-theme="dark"] .btn-light{background:#1b2638!important;color:#e5eaf4!important;border-color:#344158!important}
[data-theme="dark"] .desk-status .btn-light:hover,[data-theme="dark"] .btn-light:hover{background:#26344b!important;color:#fff!important;border-color:#50617e!important}
[data-theme="dark"] .workspace-tabs .workspace-desk-tab{background:#3a1d25!important;color:#fda4af!important;border-color:#6d2938!important}
[data-theme="dark"] .workspace-tabs .workspace-desk-tab.active{background:linear-gradient(135deg,#dc2626,#991b1b)!important;color:#fff!important;border-color:#ef4444!important}
[data-theme="dark"] .desk-loan-list>a{color:var(--text)!important;border:1px solid transparent}
[data-theme="dark"] .desk-loan-list>a:hover,[data-theme="dark"] .desk-loan-list>a.active{background:#1c2940!important;border-color:#334766!important}
[data-theme="dark"] .desk-loan-icon{background:#202d46!important;color:#9db3ff!important}
[data-theme="dark"] .schedule-count{background:#1b2638!important;color:var(--muted)!important}
[data-theme="dark"] .premium-table thead th{background:#172033!important;color:#dbe5f5!important;border-color:#2d3a50!important}
[data-theme="dark"] .premium-table td{color:#dbe5f5!important;border-color:#26344a!important}
[data-theme="dark"] .premium-table tbody tr:hover{background:#172235!important}
[data-theme="dark"] .alert-warning{background:#342819!important;color:#f8d58a!important;border-color:#60461f!important}
[data-theme="dark"] .alert-danger{background:#351b23!important;color:#fda4af!important;border-color:#6f2a39!important}

@media(max-width:767px){.schedule-count{display:none}
}


/* v1.39 — final release polish */
:focus-visible{outline:3px solid rgba(49,87,213,.32);outline-offset:2px}
.loan-balance-top small,.desk-loan-list small,.client-meta>span,.repayment-progress .d-flex>span,.loan-progress .d-flex>span{min-width:0}
.loan-balance-top small{display:flex;flex-wrap:wrap;align-items:center;gap:.28rem;color:var(--muted)}
.desk-loan-list small{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}
.client-meta>span{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.loan-title{display:inline-flex;align-items:baseline;flex-wrap:wrap}
[data-theme="dark"] .loan-balance-top small,[data-theme="dark"] .client-meta,[data-theme="dark"] .client-meta a,[data-theme="dark"] .repayment-progress span,[data-theme="dark"] .loan-progress span{color:#aebbd0!important}
[data-theme="dark"] .loan-balance-card,[data-theme="dark"] .loan-detail-card,[data-theme="dark"] .polished-loan-card{border-color:#31415b!important}
[data-theme="dark"] .loan-balance-symbol{background:#34435f!important;color:#fff!important}
[data-theme="dark"] .form-select option{background:#111a29;color:#e8edf7}
@media(max-width:767px){
  .loan-balance-top small{font-size:.72rem}
  .repayment-progress .d-flex,.loan-progress .d-flex{gap:.5rem;align-items:flex-start}
  .repayment-progress .d-flex>span:last-child,.loan-progress .d-flex>span:last-child{text-align:right;overflow-wrap:anywhere}
}


/* v1.40 — prominent individual/company selector */
.client-type-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.client-type-option{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) 28px;align-items:center;gap:13px;min-height:92px;padding:17px 18px;border:1px solid var(--border);border-radius:17px;background:var(--surface,#fff);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.client-type-option:hover{transform:translateY(-1px);border-color:#b8c5f7;box-shadow:0 10px 28px rgba(32,45,78,.08)}
.client-type-option.active{border-color:var(--primary);background:linear-gradient(135deg,var(--primary-soft,#eef2ff),var(--surface,#fff));box-shadow:0 10px 28px rgba(49,87,213,.12),inset 0 0 0 1px rgba(49,87,213,.14)}
.client-type-option input{position:absolute;opacity:0;pointer-events:none}
.client-type-option-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:1.05rem}
.client-type-option-icon.individual{background:#eef2ff;color:var(--primary)}
.client-type-option-icon.company{background:#f2edff;color:#7048ca}
.client-type-option-copy{min-width:0}.client-type-option-copy strong,.client-type-option-copy small{display:block}.client-type-option-copy strong{font-size:.9rem;font-weight:800;margin-bottom:4px}.client-type-option-copy small{font-size:.68rem;color:var(--muted);line-height:1.45}
.client-type-check{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2,#f3f5f9);color:transparent;font-size:.68rem;transition:.18s}
.client-type-option.active .client-type-check{background:var(--primary);color:#fff}
.client-type-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:13px;background:#f5f1ff;border:1px solid #ddd3fa;color:#5e3ca8;font-size:.72rem;font-weight:650;margin-bottom:10px}
.client-type-notice i{margin-top:2px}
.client-form-company-badge{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f2edff;color:#7048ca;font-size:.68rem;font-weight:800;white-space:nowrap}
.individual-only-field[hidden],.company-only-field[hidden]{display:none!important}
[data-theme="dark"] .client-type-option{background:#121b2a;border-color:#2a3850}
[data-theme="dark"] .client-type-option.active{background:linear-gradient(135deg,#17264a,#121b2a);border-color:#6e8cff}
[data-theme="dark"] .client-type-option-icon.individual{background:#1c2b50;color:#9eb2ff}
[data-theme="dark"] .client-type-option-icon.company{background:#2b2144;color:#c0a5ff}
[data-theme="dark"] .client-type-check{background:#202c3d}
[data-theme="dark"] .client-type-notice{background:#251f38;border-color:#45366d;color:#c9b8f5}
[data-theme="dark"] .client-form-company-badge{background:#2b2144;color:#c9b8f5}
@media(max-width:767px){.client-type-choice{grid-template-columns:1fr}.client-type-option{min-height:82px;padding:14px}.client-form-company-badge{display:none}}


/* v1.5.1 Stable — profile attention and professional settings */
.active-loans-collapse.has-active-loans>summary{position:relative;overflow:hidden;border-color:rgba(220,38,38,.28);background:linear-gradient(135deg,#fffafa,#fff 62%);box-shadow:0 9px 28px rgba(185,28,28,.08)}
.active-loans-collapse.has-active-loans>summary:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 3px 0 0 #dc2626;opacity:.78}
.active-loans-collapse.has-active-loans:not([open])>summary{animation:loanAttention 3.8s ease-in-out infinite}
.active-loans-collapse.has-active-loans .section-icon{background:#fee2e2;color:#dc2626}
.active-loans-collapse.has-active-loans .collapse-chevron{color:#dc2626;animation:chevronNudge 2.1s ease-in-out infinite}
.loan-attention-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.4);animation:attentionDot 2s infinite;margin-left:2px;flex:0 0 auto}
@keyframes loanAttention{0%,72%,100%{transform:translateY(0);box-shadow:0 9px 28px rgba(185,28,28,.08)}78%{transform:translateY(-2px);box-shadow:0 13px 34px rgba(185,28,28,.16)}84%{transform:translateY(0)}90%{transform:translateY(-1px)}}
@keyframes chevronNudge{0%,70%,100%{transform:translateY(0)}80%{transform:translateY(3px)}90%{transform:translateY(0)}}
@keyframes attentionDot{0%{box-shadow:0 0 0 0 rgba(239,68,68,.4)}70%{box-shadow:0 0 0 7px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.active-loans-collapse[open] .loan-attention-dot,.active-loans-collapse[open] .collapse-chevron{animation:none}
.settings-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#fff,#f7f9ff);box-shadow:0 12px 40px rgba(28,39,68,.06)}
.settings-hero-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;font-size:1.55rem;color:#3157d5;background:linear-gradient(135deg,#e8edff,#f4f6ff);box-shadow:inset 0 0 0 1px rgba(49,87,213,.12)}
.settings-save-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}
.settings-save-bar>div{display:flex;flex-direction:column;gap:3px}.settings-save-bar strong{font-size:.88rem}.settings-save-bar small{color:var(--muted);font-size:.76rem}
.export-center{overflow:hidden}.export-security{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#ecfdf3;color:#15803d;font-size:.72rem;font-weight:800}
.export-grid{display:grid;gap:14px;padding:22px}
.export-option{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:16px;min-height:104px;padding:18px 20px;border:1px solid var(--border);border-radius:17px;background:#fff;color:var(--text);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.export-option:hover{transform:translateY(-2px);border-color:#b9c6f8;box-shadow:0 12px 32px rgba(49,87,213,.1);color:var(--text)}
.export-option-primary{border-color:rgba(49,87,213,.24);background:linear-gradient(135deg,#f4f7ff,#fff)}
.export-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:#edf1ff;color:#3157d5;font-size:1.18rem}.export-option-primary .export-icon{background:#3157d5;color:#fff}
.export-copy{display:flex;flex-direction:column;gap:4px}.export-copy strong{font-size:.94rem;font-weight:800}.export-copy small{color:var(--muted);font-size:.77rem;line-height:1.45}.export-copy em{font-style:normal;color:#3157d5;font-size:.68rem;font-weight:800;letter-spacing:.02em}
.export-arrow{color:#8a95a8}.export-option:hover .export-arrow{color:#3157d5}
.export-note{display:flex;align-items:flex-start;gap:10px;margin:0 22px 22px;padding:13px 15px;border-radius:13px;background:#f7f8fb;color:var(--muted);font-size:.75rem;line-height:1.5}.export-note i{color:#3157d5;margin-top:2px}
[data-theme="dark"] .active-loans-collapse.has-active-loans>summary{background:linear-gradient(135deg,rgba(127,29,29,.28),var(--surface) 64%);border-color:rgba(248,113,113,.38)}
[data-theme="dark"] .active-loans-collapse.has-active-loans .section-icon{background:rgba(220,38,38,.2);color:#fca5a5}
[data-theme="dark"] .settings-hero{background:linear-gradient(135deg,#151d2c,#192338);border-color:var(--border)}
[data-theme="dark"] .settings-hero-icon{background:#202d4a;color:#9db2ff;box-shadow:inset 0 0 0 1px #30405f}
[data-theme="dark"] .export-option{background:var(--surface);border-color:var(--border);color:var(--text)}[data-theme="dark"] .export-option-primary{background:linear-gradient(135deg,#1c2946,var(--surface))}[data-theme="dark"] .export-option:hover{border-color:#425985;background:var(--surface-2)}
[data-theme="dark"] .export-note{background:var(--surface-2);color:var(--muted)}[data-theme="dark"] .export-security{background:rgba(22,163,74,.14);color:#86efac}
@media(max-width:767px){.settings-hero{padding:21px}.settings-hero-icon{width:56px;height:56px;border-radius:17px}.settings-save-bar{align-items:stretch;flex-direction:column}.settings-save-bar .btn{width:100%}.export-grid{padding:16px}.export-option{grid-template-columns:48px 1fr;min-height:112px;padding:16px}.export-icon{width:48px;height:48px}.export-arrow{display:none}.export-note{margin:0 16px 16px}.active-loans-collapse.has-active-loans>summary{animation-duration:4.8s}}
@media(prefers-reduced-motion:reduce){.active-loans-collapse.has-active-loans>summary,.active-loans-collapse.has-active-loans .collapse-chevron,.loan-attention-dot{animation:none!important}.export-option{transition:none}}

/* v1.5.2 Stable — portfolio growth chart */
.portfolio-chart-card{padding:24px 26px;overflow:hidden}
.portfolio-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.portfolio-range-switch{display:inline-flex;padding:4px;border-radius:12px;background:var(--surface-soft,#f1f3f7);border:1px solid var(--border-color,rgba(20,30,50,.08))}
.portfolio-range-switch button{border:0;background:transparent;color:var(--text-muted,#697386);font:700 12px/1 Manrope,sans-serif;padding:10px 13px;border-radius:9px;white-space:nowrap;transition:.2s ease}
.portfolio-range-switch button.active{background:var(--surface,#fff);color:var(--text-primary,#172033);box-shadow:0 3px 12px rgba(18,28,45,.09)}
.portfolio-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.portfolio-summary>div{padding:13px 15px;border-radius:14px;background:var(--surface-soft,#f7f8fb);border:1px solid var(--border-color,rgba(20,30,50,.07));display:flex;flex-direction:column;gap:3px}
.portfolio-summary span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--text-muted,#6c7587)}
.portfolio-summary strong{font-size:18px;letter-spacing:-.035em;color:var(--text-primary,#172033)}
.portfolio-summary .profit{background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.22)}
.portfolio-summary .profit span{color:#15803d}
.portfolio-summary .profit strong{color:#16a34a}
.portfolio-chart-wrap{height:165px;position:relative;margin:2px -4px 0}
.portfolio-chart-wrap canvas{width:100%;height:100%;display:block}
.portfolio-chart-empty{height:100%;display:grid;place-items:center;color:var(--text-muted,#697386);font-weight:700;text-align:center}
.portfolio-legend{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding-top:10px;font-size:12px;font-weight:700;color:var(--text-muted,#697386)}
.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.legend-dot.principal{background:#7b8cff}.legend-dot.expected{background:#ef4557}
html[data-theme="dark"] .portfolio-range-switch{background:#111827;border-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .portfolio-range-switch button.active{background:#273248;color:#fff;box-shadow:none}
html[data-theme="dark"] .portfolio-summary>div{background:#151e2e;border-color:rgba(255,255,255,.07)}
html[data-theme="dark"] .portfolio-summary .profit{background:rgba(34,197,94,.10);border-color:rgba(74,222,128,.24)}
html[data-theme="dark"] .portfolio-summary .profit span{color:#86efac}
html[data-theme="dark"] .portfolio-summary .profit strong{color:#4ade80}
@media(max-width:767px){.portfolio-chart-card{padding:16px 13px;border-radius:18px}.portfolio-chart-head{display:block;margin-bottom:14px}.portfolio-chart-head .section-title{font-size:18px}.portfolio-chart-head p{font-size:12px;line-height:1.45;margin-bottom:0}.portfolio-range-switch{margin-top:12px;width:100%}.portfolio-range-switch button{flex:1;padding:9px 10px}.portfolio-summary{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.portfolio-summary>div{padding:10px 11px;border-radius:12px;min-width:0}.portfolio-summary .profit{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.portfolio-summary span{font-size:9px;letter-spacing:.04em}.portfolio-summary strong{font-size:15px;white-space:nowrap}.portfolio-summary .profit strong{font-size:17px}.portfolio-chart-wrap{height:145px;margin-left:-10px;margin-right:-5px}.portfolio-legend{justify-content:flex-start;flex-wrap:wrap;gap:8px 14px;padding-top:7px;font-size:10px}}
@media(max-width:390px){.portfolio-chart-card{padding:14px 10px}.portfolio-summary{grid-template-columns:1fr}.portfolio-summary .profit{grid-column:auto}.portfolio-summary>div{flex-direction:row;align-items:center;justify-content:space-between}.portfolio-chart-wrap{height:132px;margin-left:-8px}.portfolio-range-switch button{font-size:11px}.portfolio-legend{font-size:9px}}

/* v1.5.4 Stable refinements */
.portfolio-period-label{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:11px;background:var(--surface-soft,#f1f3f7);border:1px solid var(--border-color,rgba(20,30,50,.08));font-size:12px;font-weight:800;color:var(--text-muted,#697386);white-space:nowrap}
html[data-theme="dark"] .portfolio-period-label{background:#111827;border-color:rgba(255,255,255,.08);color:#c8d0dd}
.loan-overdue-highlight{background:rgba(220,38,38,.08)!important;border:1px solid rgba(220,38,38,.18)!important}
.loan-overdue-highlight i,.loan-overdue-highlight span,.loan-overdue-highlight strong{color:#dc2626!important}
html[data-theme="dark"] .loan-overdue-highlight{background:rgba(248,113,113,.10)!important;border-color:rgba(248,113,113,.24)!important}
html[data-theme="dark"] .loan-overdue-highlight i,html[data-theme="dark"] .loan-overdue-highlight span,html[data-theme="dark"] .loan-overdue-highlight strong{color:#fca5a5!important}
@media(max-width:767px){.portfolio-chart-head{display:flex;align-items:flex-start;gap:10px}.portfolio-period-label{padding:7px 9px;font-size:10px}.loan-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.portfolio-chart-head{display:block}.portfolio-period-label{margin-top:9px}.loan-data-grid{grid-template-columns:1fr 1fr}}

/* v1.5.5 Stable: version history lightbox */
.app-version-button{width:100%;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:inherit;text-align:left;cursor:pointer;position:relative;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.app-version-button:hover{transform:translateY(-1px);border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
.app-version-button i{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.78rem;opacity:.65}
.changelog-modal .modal-dialog{max-width:760px}
.changelog-modal .modal-content{border:0;border-radius:24px;overflow:hidden;box-shadow:0 28px 90px rgba(15,23,42,.28)}
.changelog-modal .modal-header{padding:24px 26px 20px;border-bottom:1px solid var(--border-color,#e8ebf2);align-items:flex-start}
.changelog-modal .modal-title{font-size:1.35rem;font-weight:800;margin-top:4px}
.changelog-modal .modal-body{padding:8px 26px 26px}
.changelog-modal .modal-footer{padding:16px 26px;border-top:1px solid var(--border-color,#e8ebf2)}
.changelog-content h3{font-size:1.15rem;font-weight:800;margin:24px 0 12px}
.changelog-content h4{font-size:1rem;font-weight:800;margin:24px 0 10px;padding-top:18px;border-top:1px solid var(--border-color,#e8ebf2)}
.changelog-content h4:first-of-type{margin-top:10px;border-top:0;padding-top:0}
.changelog-item{display:flex;gap:10px;align-items:flex-start;padding:7px 0;color:var(--text-muted,#667085);line-height:1.55}
.changelog-item i{margin-top:5px;color:#16a34a;font-size:.72rem}
html[data-theme="dark"] .changelog-modal .modal-content{background:#121a29;color:#f8fafc}
html[data-theme="dark"] .changelog-modal .modal-header,html[data-theme="dark"] .changelog-modal .modal-footer,html[data-theme="dark"] .changelog-content h4{border-color:#263247}
html[data-theme="dark"] .changelog-item{color:#b8c2d3}
@media(max-width:767px){.changelog-modal .modal-dialog{margin:10px;min-height:calc(100% - 20px)}.changelog-modal .modal-content{border-radius:20px;max-height:calc(100vh - 20px)}.changelog-modal .modal-header{padding:20px 18px 16px}.changelog-modal .modal-body{padding:6px 18px 20px}.changelog-modal .modal-footer{padding:14px 18px}.changelog-modal .modal-title{font-size:1.15rem}}

/* v1.5.6 Stable — final mobile application polish */
.app-version-button{padding-right:12px}
.app-version-button i{display:none!important}
.sidebar-backdrop{display:none;border:0;padding:0;background:rgba(8,15,28,.52);backdrop-filter:blur(2px);position:fixed;inset:0;z-index:1035}

@media(max-width:991px){
  html,body{min-height:100%;overscroll-behavior-y:none}
  body.sidebar-open{overflow:hidden;touch-action:none}
  .sidebar{width:min(86vw,310px);padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(14px + env(safe-area-inset-bottom));box-shadow:18px 0 48px rgba(4,10,22,.28);transition:transform .24s cubic-bezier(.22,.8,.28,1)}
  .sidebar.open+.sidebar-backdrop{display:block}
  .topbar{height:auto;min-height:64px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;gap:8px}
  .content{padding:16px 14px calc(24px + env(safe-area-inset-bottom))}
  .mobile-toggle,.theme-toggle{width:42px;height:42px;min-width:42px;display:inline-grid;place-items:center;border-radius:13px}
  .language-switcher{min-width:0}
  .language-switcher .form-select{min-height:42px;height:42px;padding-top:8px;padding-bottom:8px;padding-left:12px;font-size:.78rem}
  .topbar>.btn-outline-secondary{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:13px}
  .topbar>.btn-outline-secondary span{display:none}
  .page-head{gap:12px;margin-bottom:18px}
  .page-title{font-size:1.45rem;line-height:1.18}
  .page-subtitle{font-size:.82rem;line-height:1.5}
  .card-soft{border-radius:17px}
  .section-head{padding:16px}
  .section-body{padding:16px}
  .btn{min-height:44px}
  .form-control,.form-select{min-height:48px;font-size:16px}
  .modal-dialog{margin:0;min-height:100%}
  .modal-content{border-radius:0;min-height:100dvh}
  .modal-header{padding-top:calc(16px + env(safe-area-inset-top))}
  .modal-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}

@media(max-width:767px){
  .dashboard-hero,.client-profile-hero,.loan-hero,.settings-hero{border-radius:18px}
  .dashboard-metrics .metric{min-height:112px;padding:15px}
  .dashboard-metrics .metric-value{font-size:clamp(1.15rem,6vw,1.5rem);line-height:1.15;word-break:normal;overflow-wrap:anywhere}
  .dashboard-metrics .metric-label{font-size:.72rem}
  .dashboard-metrics .metric-icon{width:38px;height:38px;border-radius:11px}
  .portfolio-chart-card{padding:14px 12px}
  .portfolio-chart-head{margin-bottom:10px}
  .portfolio-chart-head .section-title{font-size:1rem}
  .portfolio-chart-head p{font-size:.7rem}
  .portfolio-summary{gap:7px;margin-bottom:6px}
  .portfolio-summary>div{padding:9px 10px}
  .portfolio-summary span{font-size:8px}
  .portfolio-summary strong{font-size:14px}
  .portfolio-chart-wrap{height:118px;margin-left:-8px;margin-right:-3px}
  .portfolio-legend{font-size:9px;gap:7px 12px;padding-top:5px}
  .mobile-record-card,.loan-card{border-radius:16px}
  .client-form-actions,.loan-form-actions{left:0;right:0;bottom:calc(6px + env(safe-area-inset-bottom));margin-inline:-4px}
  .app-version-button{min-height:48px;border-radius:13px}
}

@media(max-width:390px){
  .content{padding-inline:11px}
  .topbar{padding-inline:10px}
  .language-switcher .form-select{max-width:112px}
  .portfolio-chart-wrap{height:108px}
  .dashboard-metrics{--bs-gutter-x:8px;--bs-gutter-y:8px}
  .dashboard-metrics .metric{padding:13px;min-height:104px}
}


/* v1.6.5 — release polish */
.primary-loan-overview{
  border-color:rgba(22,163,74,.28)!important;
  background:linear-gradient(135deg,rgba(22,163,74,.12),rgba(34,197,94,.05))!important;
  box-shadow:inset 4px 0 0 #16a34a,0 10px 28px rgba(22,163,74,.08)!important;
}
.primary-loan-overview>span{background:#dcfce7!important;color:#15803d!important}
.primary-loan-overview strong{color:#166534!important}
.primary-loan-overview>i{color:#16a34a!important}
.primary-loan-overview:hover{transform:translateY(-2px);border-color:rgba(22,163,74,.48)!important;box-shadow:inset 4px 0 0 #16a34a,0 14px 32px rgba(22,163,74,.14)!important}
html[data-theme="dark"] .primary-loan-overview{background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(22,163,74,.07))!important;border-color:rgba(74,222,128,.28)!important;box-shadow:inset 4px 0 0 #4ade80,0 12px 30px rgba(0,0,0,.16)!important}
html[data-theme="dark"] .primary-loan-overview>span{background:rgba(34,197,94,.17)!important;color:#86efac!important}
html[data-theme="dark"] .primary-loan-overview strong{color:#bbf7d0!important}
html[data-theme="dark"] .primary-loan-overview>i{color:#4ade80!important}

/* A restrained brand motion: one short movement in a long cycle. */
.brand-icon{transform-origin:50% 85%;animation:kpBrandNudge 14s ease-in-out infinite}
@keyframes kpBrandNudge{
  0%,82%,100%{transform:translateY(0) rotate(0deg) scale(1)}
  85%{transform:translateY(-3px) rotate(-3deg) scale(1.03)}
  88%{transform:translateY(0) rotate(2deg) scale(1.01)}
  91%{transform:translateY(-1px) rotate(0deg) scale(1.02)}
  94%{transform:translateY(0) rotate(0deg) scale(1)}
}
@media (prefers-reduced-motion:reduce){.brand-icon{animation:none!important}.primary-loan-overview{transition:none!important}.primary-loan-overview:hover{transform:none}}
\n
/* v1.6.7 — interactive client filters */
.client-filter-card{position:relative;text-decoration:none;color:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.client-filter-card:hover{color:inherit;transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.10)}
.client-filter-card:focus-visible{outline:3px solid rgba(220,38,38,.22);outline-offset:3px}
.client-filter-card.is-active{border-color:rgba(220,38,38,.42);box-shadow:0 0 0 3px rgba(220,38,38,.08),0 12px 30px rgba(15,23,42,.08)}
.client-filter-card.is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:999px 999px 0 0;background:#dc2626}
.client-filter-arrow{margin-left:auto;font-size:.78rem;color:var(--muted);transition:transform .18s ease,color .18s ease}
.client-filter-card:hover .client-filter-arrow,.client-filter-card.is-active .client-filter-arrow{transform:translateX(3px);color:#dc2626}
.client-debt-summary{cursor:default}
html[data-theme="dark"] .client-filter-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.28)}
html[data-theme="dark"] .client-filter-card.is-active{border-color:rgba(248,113,113,.58);background:rgba(127,29,29,.16);box-shadow:0 0 0 3px rgba(248,113,113,.08)}
@media(max-width:767px){.client-filter-grid{gap:10px}.client-filter-card{min-height:76px}.client-filter-arrow{display:none}.client-filter-card.is-active::after{left:10px;right:10px}}


/* v1.6.8 profile alignment, uploads and mobile polish */
.client-profile-hero .client-identity>div:last-child{min-width:0}
.client-profile-hero .client-identity .d-flex{align-items:center!important}
.client-profile-status{display:inline-flex!important;align-items:center;justify-content:center;line-height:1;min-height:30px;white-space:nowrap;transform:none!important}
.client-profile-status i{line-height:1;margin-top:0!important}
.document-upload-form.is-uploading{opacity:.78;pointer-events:none}
.document-upload-form.is-uploading .btn{min-width:150px}
@media(max-width:767px){
  .client-profile-hero .client-identity .d-flex{align-items:flex-start!important}
  .client-profile-status{min-height:28px;margin-top:2px}
  .document-upload-form,.document-upload-form .btn{width:100%}
  .documents-head{align-items:stretch!important}
}


/* v1.6.9 — principal-only payments */
.payment-type-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.payment-type-option{position:relative;display:flex;align-items:center;gap:14px;padding:17px 18px;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:var(--card,#fff);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.payment-type-option:hover{transform:translateY(-1px)}.payment-type-option.active{border-color:#dc3545;box-shadow:0 0 0 3px rgba(220,53,69,.1)}.payment-type-option.principal.active{border-color:#15803d;background:rgba(22,163,74,.055);box-shadow:0 0 0 3px rgba(22,163,74,.11)}.payment-type-option input{position:absolute;opacity:0;pointer-events:none}.payment-type-option span:last-child{display:flex;flex-direction:column;min-width:0}.payment-type-option strong{font-size:.95rem}.payment-type-option small{margin-top:3px;color:var(--muted,#6b7280);line-height:1.35}.payment-type-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:rgba(220,53,69,.1);color:#dc3545}.payment-type-option.principal .payment-type-icon{background:rgba(22,163,74,.12);color:#15803d}.principal-payment-notice{display:flex;gap:12px;align-items:flex-start;margin:-2px 0 20px;padding:14px 16px;border:1px solid rgba(22,163,74,.25);border-radius:14px;background:rgba(22,163,74,.07);color:#166534}.principal-payment-notice>i{margin-top:3px}.principal-payment-notice div{display:flex;flex-direction:column}.principal-payment-notice span{font-size:.86rem;line-height:1.45;margin-top:2px}.principal-payment-badge{display:block;width:max-content;margin-top:5px;padding:3px 8px;border-radius:999px;background:rgba(22,163,74,.12);color:#15803d;font-size:.68rem;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.035em}
[data-theme="dark"] .payment-type-option{background:#111a2a;border-color:#263247}[data-theme="dark"] .payment-type-option.principal.active{background:rgba(34,197,94,.09);border-color:#22c55e}[data-theme="dark"] .principal-payment-notice{background:rgba(34,197,94,.09);border-color:rgba(74,222,128,.25);color:#bbf7d0}[data-theme="dark"] .principal-payment-badge{background:rgba(34,197,94,.14);color:#86efac}
@media(max-width:767px){.payment-entry-form{padding:18px!important}.payment-type-picker{grid-template-columns:1fr;gap:10px}.payment-type-option{padding:14px}.payment-type-icon{flex-basis:38px;width:38px;height:38px}.principal-payment-notice{padding:13px 14px}.payment-entry-form .btn-primary{width:100%;min-height:48px}}


/* v1.6.11 — client loan history */
.loan-history-card{overflow:hidden}
.history-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:rgba(15,23,42,.07);font-weight:800;color:var(--text,#0f172a)}
.loan-history-list{display:grid;gap:12px}
.loan-history-item{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(0,2fr) auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:linear-gradient(135deg,rgba(15,23,42,.018),rgba(15,23,42,.005))}
.loan-history-main{display:flex;align-items:center;gap:13px;min-width:0}
.loan-history-main>div:last-child{display:flex;flex-direction:column;min-width:0}
.loan-history-main strong{font-size:.92rem}
.loan-history-main small{margin-top:3px;color:var(--muted,#64748b)}
.loan-history-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:rgba(22,163,74,.12);color:#15803d}
.loan-history-values{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:12px}
.loan-history-values div{display:flex;flex-direction:column;min-width:0}
.loan-history-values span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#64748b)}
.loan-history-values strong{margin-top:3px;font-size:.88rem;white-space:nowrap}
.compact-empty{padding:28px 18px!important}
html[data-theme="dark"] .history-count{background:rgba(255,255,255,.08);color:#f8fafc}
html[data-theme="dark"] .loan-history-item{background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));border-color:#263247}
html[data-theme="dark"] .loan-history-icon{background:rgba(34,197,94,.14);color:#86efac}
@media(max-width:991px){.loan-history-item{grid-template-columns:1fr auto}.loan-history-values{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.loan-history-item{grid-template-columns:1fr;padding:15px}.loan-history-item>.status{justify-self:start}.loan-history-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.loan-history-values div{padding:10px;border-radius:11px;background:rgba(15,23,42,.035)}html[data-theme="dark"] .loan-history-values div{background:rgba(255,255,255,.035)}}
@media(max-width:420px){.loan-history-values{grid-template-columns:1fr 1fr}.loan-history-values strong{font-size:.82rem}}

/* v1.6.12 active loan redesign */
.active-loans-section{border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:20px;box-shadow:0 12px 34px rgba(20,35,70,.06)}
.active-loans-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.active-loans-heading{display:flex;align-items:center;gap:12px}.active-loans-heading h2{font-size:1.05rem;margin:0 0 3px}.active-loans-heading p{margin:0;color:var(--muted);font-size:.86rem}.loan-card-redesign{border:1px solid rgba(220,38,38,.16);box-shadow:0 10px 28px rgba(23,34,58,.06)}.loan-data-grid-expanded{grid-template-columns:repeat(3,minmax(0,1fr))}.current-principal-box{background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.2);border-radius:12px;padding:10px!important}.current-principal-box strong{color:#15803d}.redesigned-actions{align-items:center}.loan-action-buttons{display:flex;gap:10px;flex-wrap:wrap}.loan-details-prominent{box-shadow:0 8px 20px rgba(220,38,38,.2);font-weight:800}.stat-footnote{display:block;margin-top:3px;color:var(--muted);font-size:.72rem}
[data-theme="dark"] .active-loans-section{background:var(--surface);border-color:var(--border)}[data-theme="dark"] .loan-card-redesign{border-color:rgba(248,113,113,.24)}[data-theme="dark"] .current-principal-box{background:rgba(34,197,94,.12);border-color:rgba(74,222,128,.28)}[data-theme="dark"] .current-principal-box strong{color:#86efac}
@media(max-width:767px){.active-loans-section{padding:14px;border-radius:16px}.active-loans-header{align-items:stretch;flex-direction:column}.active-loans-header>.btn{width:100%}.loan-data-grid-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.redesigned-actions{align-items:stretch;flex-direction:column}.loan-action-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%}.loan-action-buttons .btn{min-height:48px;display:flex;align-items:center;justify-content:center}.loan-next-due{width:100%}}
@media(max-width:420px){.loan-data-grid-expanded{grid-template-columns:1fr}.loan-action-buttons{grid-template-columns:1fr}}

/* v1.6.13 — principal adjustments and client profile layout polish */
.profile-content-row{align-items:flex-start}
.profile-content-row>.col-xl-8,.profile-content-row>.col-xl-4{min-width:0}
.profile-content-row .active-loans-section{height:auto}
.principal-adjustment-row td{background:rgba(25,135,84,.065)!important;border-top:1px solid rgba(25,135,84,.18);border-bottom:1px solid rgba(25,135,84,.18)}
.principal-adjustment-row .principal-adjustment-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(25,135,84,.14);color:#198754}
.principal-adjustment-card{border:1px solid rgba(25,135,84,.28);background:linear-gradient(145deg,rgba(25,135,84,.09),rgba(25,135,84,.025))}
.principal-adjustment-amount{font-size:1.45rem;font-weight:850;color:#198754;margin:8px 0 14px}
[data-theme=dark] .principal-adjustment-row td{background:rgba(65,190,125,.09)!important;border-color:rgba(65,190,125,.2)}
[data-theme=dark] .principal-adjustment-row .principal-adjustment-icon,[data-theme=dark] .principal-adjustment-amount{color:#66d59a}
@media(max-width:1199.98px){.profile-content-row>.col-xl-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.profile-content-row>.col-xl-4>.card-soft{margin-bottom:0!important}.profile-content-row>.col-xl-4>.card-soft:last-child{grid-column:1/-1}}
@media(max-width:767.98px){.profile-content-row>.col-xl-4{display:block}.profile-content-row>.col-xl-4>.card-soft{margin-bottom:1rem!important}.principal-adjustment-card .installment-card-grid{grid-template-columns:1fr 1fr}}

/* v1.6.14 — Office active-loan filtering and unified amortization */
.actual-loan-parameters>div{display:flex;flex-direction:column;justify-content:center;min-height:86px;padding:16px 18px;border:1px solid var(--border-color,#e5e7eb);border-radius:16px;background:var(--card-bg,#fff)}
.actual-loan-parameters .form-label{margin:0;color:var(--text-muted,#667085);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.actual-loan-parameters strong{margin-top:7px;color:var(--text,#172033);font-size:1.05rem;font-weight:850}
html[data-theme="dark"] .actual-loan-parameters>div{background:#172033;border-color:#2b3850}
html[data-theme="dark"] .actual-loan-parameters strong{color:#f8fafc}
@media(max-width:767px){.actual-loan-parameters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.actual-loan-parameters>div{min-height:74px;padding:13px}.actual-loan-parameters strong{font-size:.95rem}.amortization-preview-table{display:none!important}.amortization-mobile-list{display:grid!important}}
@media(max-width:420px){.actual-loan-parameters{grid-template-columns:1fr!important}}

/* v1.7 Public release polish */
.loan-hero-actions{align-items:center;row-gap:10px}
.loan-hero-actions .status{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;height:40px;padding:0 14px;line-height:1;vertical-align:middle;flex:0 0 auto;margin:0}
.loan-hero-actions .status i{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;line-height:1;margin:0}
.loan-hero-actions .btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.loan-hero-actions .btn i{line-height:1}
.loan-hero{border:1px solid var(--border)}
.loan-title-row h1{line-height:1.15}
.loan-client-link{min-height:28px}
@media(max-width:767px){
  .loan-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .loan-hero-actions .status{grid-column:1/-1;justify-self:stretch;width:100%;min-height:42px}
  .loan-hero-actions .btn{min-height:46px;padding-inline:12px}
}
@media(max-width:430px){
  .loan-hero-actions{grid-template-columns:1fr}
  .loan-hero-actions .status{grid-column:auto}
}
[data-theme="dark"] .loan-hero-actions .status-active{background:#173d69!important;color:#b9d8ff!important;border-color:#376b9e!important}


/* v1.7.1 Public — sidebar footer alignment and release polish */
.sidebar-footer{left:16px;right:16px;bottom:16px;padding-top:14px;display:grid;gap:12px}
.admin-profile{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-width:0}
.admin-avatar{flex:0 0 42px}
.admin-meta{min-width:0;justify-content:center;line-height:1.25}
.admin-meta strong,.admin-meta span{display:block;max-width:100%;margin:0}
.app-version-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:34px;margin:0;padding:8px 10px;border-radius:9px;line-height:1.1}
.app-version-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.app-version-number{white-space:nowrap;text-align:right;font-size:.68rem;letter-spacing:0}
@media(max-width:991px){.sidebar-footer{bottom:calc(12px + env(safe-area-inset-bottom))}}


/* v1.7.2 Public — certificate link and mobile financial overview */
.sidebar-footer{gap:9px}
.security-certificate-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:34px;padding:8px 10px;border:1px solid rgba(74,222,128,.22);border-radius:9px;background:rgba(34,197,94,.08);color:#b9f6d0;text-decoration:none;font-size:.68rem;font-weight:750;line-height:1.15;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.security-certificate-link:hover{background:rgba(34,197,94,.14);border-color:rgba(74,222,128,.38);color:#dcfce7;transform:translateY(-1px)}
.security-certificate-link>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.security-certificate-link>i:first-child{color:#4ade80;font-size:.78rem}.certificate-open-icon{font-size:.58rem;opacity:.72}
@media(max-width:991px){.security-certificate-link{min-height:38px;font-size:.72rem}}

@media(max-width:767px){
  .loan-mobile-finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:auto!important}
  .loan-mobile-finance-grid .loan-stat-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-content:center;min-height:92px;padding:14px;border-radius:15px;box-shadow:none}
  .loan-mobile-finance-grid .loan-stat-card .stat-icon{grid-row:1/3;width:38px;height:38px;margin:0;border-radius:11px;align-self:center}
  .loan-mobile-finance-grid .loan-stat-card>small:not(.stat-footnote){align-self:end;font-size:.61rem;line-height:1.2;letter-spacing:.035em}
  .loan-mobile-finance-grid .loan-stat-card>strong{align-self:start;margin-top:4px;font-size:.96rem;line-height:1.2;overflow-wrap:anywhere}
  .loan-mobile-finance-grid .loan-stat-card .stat-footnote{grid-column:2;display:block;margin-top:3px;font-size:.58rem;line-height:1.2;text-transform:none;letter-spacing:0}
  .office-mobile-finance-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .office-mobile-finance-grid>div{position:relative;min-height:78px!important;padding:13px 14px!important;border-radius:14px!important;justify-content:center!important;box-shadow:none}
  .office-mobile-finance-grid .form-label{font-size:.61rem!important;line-height:1.25;letter-spacing:.035em!important}
  .office-mobile-finance-grid strong{margin-top:5px!important;font-size:.94rem!important;line-height:1.2;overflow-wrap:anywhere}
}
@media(max-width:390px){
  .loan-mobile-finance-grid,.office-mobile-finance-grid{grid-template-columns:1fr!important}
  .loan-mobile-finance-grid .loan-stat-card{min-height:78px}
  .office-mobile-finance-grid>div{min-height:70px!important}
}

/* v1.7.3 Public — certificate lightbox and owner footer */
.security-certificate-link{border:1px solid rgba(74,222,128,.22);font-family:inherit;cursor:pointer}
.security-certificate-modal .modal-content{border:0;border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(15,23,42,.35)}
.certificate-modal-header{border-bottom:1px solid var(--border,#e8ebf2);padding:20px 24px;background:var(--card,#fff)}
.certificate-modal-body{padding:22px;background:linear-gradient(145deg,#eef3fb,#f8fafc)}
.security-certificate-sheet{position:relative;overflow:hidden;min-height:520px;padding:34px;border:1px solid #d7b768;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,252,241,.98));box-shadow:0 20px 50px rgba(44,62,80,.14),inset 0 0 0 5px rgba(215,183,104,.12);color:#172033}
.security-certificate-sheet:before{content:"";position:absolute;inset:12px;border:1px solid rgba(183,145,54,.35);border-radius:11px;pointer-events:none}
.certificate-watermark{position:absolute;right:-35px;bottom:-45px;font-size:210px;color:rgba(183,145,54,.07);transform:rotate(-8deg)}
.certificate-heading{position:relative;display:flex;align-items:center;gap:20px}
.certificate-seal{display:grid;place-items:center;flex:0 0 76px;width:76px;height:76px;border-radius:50%;background:linear-gradient(145deg,#173a2c,#256b4c);color:#dff8e8;font-size:31px;box-shadow:0 10px 24px rgba(23,58,44,.25),inset 0 0 0 5px rgba(255,255,255,.12)}
.certificate-kicker{display:block;margin-bottom:5px;color:#8b6a1f;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.certificate-heading h3{margin:0 0 6px;font-size:1.85rem;font-weight:800}.certificate-heading h3 strong{font-size:.8rem;color:#667085}
.certificate-heading p{margin:0;max-width:640px;color:#667085}
.certificate-divider{position:relative;display:flex;align-items:center;gap:13px;margin:28px 0 22px;color:#b79136}.certificate-divider span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#d7b768,transparent)}.certificate-divider i{font-size:.55rem}
.certificate-status{position:relative;display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid #b8e2c8;border-radius:14px;background:#edf9f1}.certificate-status>i{font-size:1.55rem;color:#229251}.certificate-status strong,.certificate-status span{display:block}.certificate-status strong{color:#17653a}.certificate-status span{margin-top:2px;color:#557060;font-size:.82rem}
.certificate-check-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.certificate-check-grid>div{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:14px;border:1px solid #e7dfc8;border-radius:13px;background:rgba(255,255,255,.72)}.certificate-check-grid i{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f5ecd3;color:#9a741f}.certificate-check-grid strong{font-size:.82rem}.certificate-check-grid span{color:#7a7f8a;font-size:.7rem}
.certificate-note{position:relative;display:flex;gap:10px;margin-top:18px;padding:12px 14px;border-radius:12px;background:#f6f7f9;color:#626b7b;font-size:.76rem}.certificate-note p{margin:0}.certificate-note i{margin-top:2px}
.certificate-footer{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;margin-top:28px;padding-top:18px;border-top:1px solid #e5dcc2}.certificate-footer span,.certificate-footer strong{display:block}.certificate-footer span{margin-bottom:4px;color:#8a8f99;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em}.certificate-footer strong{font-size:.8rem}.certificate-signature strong{color:#23804a}
.certificate-modal-footer{justify-content:space-between;padding:16px 22px}
html[data-theme="dark"] .certificate-modal-header{background:#172033;border-color:#2a3851}html[data-theme="dark"] .certificate-modal-body{background:#0e1625}html[data-theme="dark"] .security-certificate-modal .modal-content{background:#172033}
@media(max-width:767px){.security-certificate-modal .modal-dialog{margin:0;min-height:100%;max-width:none}.security-certificate-modal .modal-content{min-height:100vh;border-radius:0}.certificate-modal-body{padding:12px}.security-certificate-sheet{min-height:auto;padding:25px 20px}.certificate-heading{align-items:flex-start}.certificate-seal{flex-basis:56px;width:56px;height:56px;font-size:22px}.certificate-heading h3{font-size:1.35rem}.certificate-heading h3 strong{display:block;margin-top:4px}.certificate-check-grid{grid-template-columns:1fr}.certificate-footer{grid-template-columns:1fr 1fr}.certificate-footer>div:first-child{grid-column:1/-1}.certificate-modal-footer{position:sticky;bottom:0;background:var(--card,#fff);gap:8px}.certificate-modal-footer .btn{flex:1}}


/* v1.7.4 Public — certificate logo, dashboard office action and mobile Office polish */
.certificate-brand-mark{background:linear-gradient(145deg,#486ce1,#2748be);color:#fff;border-radius:22px;box-shadow:0 12px 30px rgba(49,87,213,.28),inset 0 0 0 1px rgba(255,255,255,.15)}
.certificate-brand-mark i{font-size:1.7rem}
.dashboard-office-btn{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#b91c1c;box-shadow:0 8px 20px rgba(185,28,28,.22)}
.dashboard-office-btn:hover,.dashboard-office-btn:focus{background:linear-gradient(135deg,#c81e1e,#991b1b);border-color:#991b1b;transform:translateY(-1px)}

@media(max-width:767px){
  .security-certificate-modal .modal-dialog{width:100%;height:100%;margin:0}
  .security-certificate-modal .modal-content{height:100dvh;min-height:100dvh;border-radius:0;overflow:hidden}
  .certificate-modal-header{padding:14px 16px;flex:0 0 auto}
  .certificate-modal-header .eyebrow{font-size:.65rem}
  .certificate-modal-header .modal-title{font-size:1.1rem}
  .certificate-modal-body{padding:10px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .security-certificate-sheet{padding:22px 16px 18px;border-radius:15px;box-shadow:none}
  .security-certificate-sheet:before{inset:8px;border-radius:10px}
  .certificate-heading{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start}
  .certificate-brand-mark{width:52px;height:52px;flex-basis:52px;border-radius:16px}
  .certificate-brand-mark i{font-size:1.25rem}
  .certificate-kicker{font-size:.58rem;line-height:1.35;letter-spacing:.1em}
  .certificate-heading h3{font-size:1.18rem;line-height:1.2;margin-top:2px}
  .certificate-heading h3 strong{font-size:.68rem}
  .certificate-heading p{font-size:.78rem;line-height:1.45}
  .certificate-divider{margin:20px 0 16px}
  .certificate-status{padding:12px;border-radius:12px;align-items:flex-start}
  .certificate-status>i{font-size:1.25rem;margin-top:1px}
  .certificate-status strong{font-size:.85rem}.certificate-status span{font-size:.72rem;line-height:1.35}
  .certificate-check-grid{gap:8px;margin-top:12px}
  .certificate-check-grid>div{grid-template-columns:32px minmax(0,1fr);padding:10px;border-radius:11px}
  .certificate-check-grid i{width:30px;height:30px;border-radius:8px;font-size:.8rem}
  .certificate-check-grid strong{font-size:.75rem}.certificate-check-grid span{font-size:.65rem;overflow-wrap:anywhere}
  .certificate-note{font-size:.7rem;line-height:1.4;margin-top:12px;padding:10px}
  .certificate-footer{grid-template-columns:1fr;gap:10px;margin-top:18px;padding-top:14px}
  .certificate-footer>div:first-child{grid-column:auto}
  .certificate-footer span{font-size:.58rem}.certificate-footer strong{font-size:.72rem;overflow-wrap:anywhere}
  .certificate-watermark{font-size:130px;right:-24px;bottom:-30px}
  .certificate-modal-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex:0 0 auto}
  .certificate-modal-footer .btn{min-height:44px;font-size:.78rem}

  .dashboard-hero .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .dashboard-hero .hero-actions .btn{min-height:48px;display:flex;align-items:center;justify-content:center;padding:10px 12px}

  .workspace-hero{padding:16px;border-radius:16px;margin-bottom:12px!important}
  .workspace-hero .page-title{font-size:1.45rem}
  .workspace-hero .page-subtitle{font-size:.8rem;line-height:1.45;margin-top:5px}
  .workspace-badge{padding:10px 12px;border-radius:11px;font-size:.78rem}
  .workspace-tabs{position:sticky;top:74px;z-index:1010;margin:0 -4px 14px!important;padding:5px;border-radius:13px;box-shadow:0 10px 24px rgba(15,23,42,.08)}
  .workspace-tabs a{min-height:44px;padding:9px 10px;font-size:.78rem}
  .desk-layout{gap:12px}
  .desk-sidebar{border-radius:16px}
  .desk-sidebar-head{padding:14px 14px 9px}
  .desk-loan-list{padding:10px 12px 12px;gap:8px;scroll-snap-type:x proximity}
  .desk-loan-list>a{min-width:205px;padding:11px 12px;border-radius:13px;scroll-snap-align:start}
  .desk-client-hero{padding:15px;border-radius:16px;margin-bottom:12px}
  .desk-client-profile{gap:11px;width:100%}
  .desk-client-profile h1{font-size:1.18rem;margin:2px 0}
  .desk-client-profile p{font-size:.72rem;line-height:1.4}
  .desk-status{gap:8px}
  .desk-status .btn{min-height:42px;padding:8px 12px}
  .desk-financial-grid{gap:9px;margin-bottom:14px}
  .desk-main-balance,.desk-stat{border-radius:15px}
  .desk-main-balance{padding:16px}
  .desk-main-balance>strong{font-size:1.65rem;margin:4px 0 10px}
  .desk-stat{min-height:102px;padding:12px}
  .desk-stat>i{width:32px;height:32px;margin-bottom:9px;border-radius:9px;font-size:.8rem}
  .desk-stat>span{font-size:.58rem;line-height:1.3}
  .desk-stat>strong{font-size:.88rem;margin-top:5px;overflow-wrap:anywhere}
}

@media(max-width:420px){
  .dashboard-hero .hero-actions{grid-template-columns:1fr}
  .workspace-tabs{top:68px}
  .desk-financial-grid{grid-template-columns:1fr 1fr}
  .desk-main-balance{grid-column:1/-1}
  .desk-stat{min-height:96px}
}

/* v1.7.5 Public — Office active-debtor cards */
.desk-sidebar{padding-bottom:10px}
.desk-sidebar-head{align-items:flex-start;gap:12px}
.desk-sidebar-head>div{min-width:0}
.desk-sidebar-head small{display:block;margin-top:5px;color:var(--muted);font-size:.68rem;line-height:1.35}
.desk-client-cards{display:grid;gap:9px;padding:0 12px 14px;max-height:52vh;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.desk-client-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.desk-client-card:hover{transform:translateY(-1px);border-color:rgba(61,94,222,.35);box-shadow:0 8px 24px rgba(19,31,68,.08)}
.desk-client-card.active{border-color:#3d5ede;background:linear-gradient(135deg,rgba(61,94,222,.11),rgba(61,94,222,.035));box-shadow:0 9px 24px rgba(61,94,222,.13)}
.desk-client-card.has-overdue{border-left:3px solid #dc3545}
.desk-client-card-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf1ff;color:#3553ca;font-weight:850;font-size:.8rem;letter-spacing:.02em}
.desk-client-card.active .desk-client-card-avatar{background:#3d5ede;color:#fff}
.desk-client-card-body{display:block;min-width:0}
.desk-client-card-body>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;line-height:1.25}
.desk-client-card-body>small{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}
.desk-client-card-meta{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:7px;color:var(--muted);font-size:.65rem}
.desk-client-card-meta>span{display:inline-flex;align-items:center;gap:4px;min-width:0}
.desk-client-card-meta i{font-size:.62rem;color:#6d7bc7}
.desk-client-card-meta b{color:var(--text);font-weight:800}
.desk-client-card-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:44px;color:#198754}
.desk-client-card-state i{font-size:.8rem}
.desk-client-card-state em{font-style:normal;font-size:.58rem;font-weight:800;white-space:nowrap}
.desk-client-card.has-overdue .desk-client-card-state{color:#dc3545}
.desk-selected-loans{padding:12px;border-top:1px solid var(--border)}
.desk-selected-loans-title{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px;color:var(--muted);font-size:.64rem;font-weight:850;letter-spacing:.06em}
.desk-selected-loans-title strong{display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:rgba(61,94,222,.1);color:#3d5ede;font-size:.68rem}
[data-theme="dark"] .desk-client-card{background:#171f2f;border-color:#2b3548}
[data-theme="dark"] .desk-client-card.active{background:linear-gradient(135deg,rgba(87,116,255,.2),rgba(87,116,255,.07));border-color:#6d87ff}
[data-theme="dark"] .desk-client-card-avatar{background:#26334f;color:#9eb0ff}
[data-theme="dark"] .desk-client-card-meta b{color:#f4f7ff}
@media(max-width:1199px){.desk-client-cards{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.desk-sidebar{position:static}.desk-selected-loans{padding-top:14px}}
@media(max-width:767px){.desk-layout{display:block}.desk-sidebar{margin-bottom:14px;padding:12px;border-radius:18px}.desk-sidebar-head{padding:3px 2px 11px}.desk-client-cards{display:flex;gap:10px;overflow-x:auto;padding:0 1px 10px;scroll-snap-type:x proximity}.desk-client-card{flex:0 0 min(86vw,310px);scroll-snap-align:start;min-height:94px;padding:12px}.desk-client-card:hover{transform:none}.desk-selected-loans{padding:10px 0 0}.desk-loan-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.desk-loan-list>a{flex:0 0 min(78vw,280px);border-radius:13px}.desk-client-card-body>strong{font-size:.88rem}.desk-client-card-meta{font-size:.67rem}}
@media(max-width:390px){.desk-client-card{flex-basis:88vw;grid-template-columns:38px minmax(0,1fr) auto}.desk-client-card-avatar{width:38px;height:38px;border-radius:11px}.desk-client-card-state em{display:none}}

/* v1.7.6 Public — licence status and account lock */
.licence-status-card{padding:20px;border:1px solid var(--border);overflow:hidden;position:relative}
.licence-status-card::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-70px;background:rgba(25,135,84,.07);pointer-events:none}
.licence-status-card.is-inactive::after{background:rgba(220,53,69,.08)}
.licence-status-head{position:relative;z-index:1;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px}
.licence-status-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#e9f8ef;color:#198754;font-size:1.05rem}
.is-inactive .licence-status-icon{background:#feecef;color:#dc3545}
.licence-status-head>div:nth-child(2){min-width:0}.licence-status-head span{display:block;color:var(--muted);font-size:.63rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.licence-status-head h2{margin:3px 0 0;font-size:1rem;font-weight:850}.licence-pill{display:inline-flex!important;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#e9f8ef;color:#198754!important;font-size:.62rem!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap}
.is-inactive .licence-pill{background:#feecef;color:#dc3545!important}.licence-pill i{font-size:.48rem}
.licence-status-card>p{position:relative;z-index:1;margin:17px 0;color:var(--muted);font-size:.78rem;line-height:1.55}
.licence-detail-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}
.licence-detail-grid>div{padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft,#f8f9fc);min-width:0}
.licence-detail-grid span{display:block;color:var(--muted);font-size:.58rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.licence-detail-grid strong{display:block;margin-top:4px;font-size:.73rem;overflow-wrap:anywhere}
[data-theme="dark"] .licence-status-card{background:#171f2f;border-color:#2b3548}[data-theme="dark"] .licence-detail-grid>div{background:#121a28;border-color:#2b3548}[data-theme="dark"] .licence-status-icon{background:#173a2b;color:#65d69a}[data-theme="dark"] .is-inactive .licence-status-icon{background:#41212a;color:#ff8493}
body.license-inactive{overflow:hidden}.license-inactive .app-shell{filter:blur(7px) saturate(.65);pointer-events:none;user-select:none;transform:scale(1.005)}
.licence-lock-modal{z-index:2000}.licence-lock-modal+.modal-backdrop,.modal-backdrop.show{backdrop-filter:blur(3px)}
.licence-lock-modal .modal-dialog{max-width:460px;padding:16px}.licence-lock-modal .modal-content{border:0;border-radius:26px;box-shadow:0 28px 90px rgba(9,17,36,.32);overflow:visible;padding:54px 26px 24px}
.licence-lock-mark{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#f04455,#b91f36);color:#fff;font-size:1.45rem;box-shadow:0 15px 34px rgba(220,53,69,.3),inset 0 0 0 6px rgba(255,255,255,.13)}
.licence-lock-kicker{display:block;color:#dc3545;font-size:.64rem;font-weight:850;letter-spacing:.13em;margin-bottom:8px}.licence-lock-modal h2{font-size:1.55rem;font-weight:900;margin:0 0 10px}.licence-lock-modal p{color:var(--muted);font-size:.86rem;line-height:1.6;max-width:350px;margin:0 auto 18px}
.licence-lock-reference{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin:0 auto 18px;border-radius:13px;background:#f7f8fb;border:1px solid var(--border);font-size:.75rem}.licence-lock-reference span{color:var(--muted)}.licence-lock-reference strong{overflow-wrap:anywhere}
.licence-lock-actions{display:grid;gap:9px}.licence-lock-actions .btn{min-height:46px;display:flex;align-items:center;justify-content:center}.licence-lock-actions .btn-link{min-height:auto;color:var(--muted);text-decoration:none}
[data-theme="dark"] .licence-lock-modal .modal-content{background:#151d2c;color:#f5f7fc}[data-theme="dark"] .licence-lock-reference{background:#101722;border-color:#2b3548}
@media(max-width:767px){.licence-status-head{grid-template-columns:44px minmax(0,1fr)}.licence-status-icon{width:44px;height:44px}.licence-pill{grid-column:1/-1;justify-self:start;margin-top:2px}.licence-detail-grid{grid-template-columns:1fr}.licence-lock-modal .modal-dialog{margin:0;max-width:none;padding:18px}.licence-lock-modal .modal-content{border-radius:24px;padding:52px 18px 18px}.licence-lock-modal h2{font-size:1.35rem}}


/* v1.7.7 Public — compact Office debtor list */
.desk-client-cards{display:flex;flex-direction:column;gap:6px;padding:0 10px 14px;max-height:58vh;overflow-y:auto;overflow-x:hidden}
.desk-client-card{display:grid;grid-template-columns:38px minmax(0,1fr) 34px;gap:10px;min-height:58px;padding:9px 10px;border-radius:12px}
.desk-client-card-avatar{width:38px;height:38px;border-radius:11px;font-size:.73rem}
.desk-client-card-body>strong{font-size:.82rem}
.desk-client-card-body>small{display:flex;align-items:center;gap:4px;margin-top:3px;font-size:.64rem}
.desk-client-card-body>small b{color:var(--text);font-weight:800}
.desk-client-card-state{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.desk-client-card-state>i:first-child{font-size:.7rem}
.desk-client-open-icon{font-size:.66rem!important;color:var(--muted)}
.desk-client-card:hover{transform:none}
.desk-client-card.active{box-shadow:0 5px 14px rgba(61,94,222,.11)}
@media(max-width:1199px){.desk-client-cards{display:flex;grid-template-columns:none;max-height:360px}}
@media(max-width:767px){.desk-client-cards{display:flex;flex-direction:column;gap:6px;overflow-y:visible;overflow-x:hidden;padding:0 0 8px;scroll-snap-type:none}.desk-client-card{flex:none;width:100%;min-height:56px;padding:8px 9px;scroll-snap-align:none}.desk-sidebar{padding:12px}.desk-client-card-body>strong{font-size:.84rem}.desk-client-card-body>small{font-size:.65rem}}


/* v1.7.9 Public — synchronized dashboard and compact mobile loan schedule */
.loan-amort-mobile-toggle,.loan-amort-content-actions{display:none}
@media(max-width:767px){
  .amort-card{padding:16px!important}
  .amort-card>.section-head{margin-bottom:12px}
  .amort-card>.section-head .section-subtitle{display:none}
  .desktop-amort-print{display:none!important}
  .loan-amort-mobile-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2,#f7f8fc);color:var(--text);text-align:left}
  .loan-amort-mobile-toggle>span{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;min-width:0}
  .loan-amort-mobile-toggle>span>i{grid-row:1/3;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(61,94,222,.1);color:#3d5ede}
  .loan-amort-mobile-toggle strong{font-size:.82rem;line-height:1.2}.loan-amort-mobile-toggle small{margin-top:3px;color:var(--muted);font-size:.64rem;line-height:1.25}
  .loan-amort-mobile-toggle .toggle-chevron{font-size:.72rem;color:var(--muted);transition:transform .2s ease}
  .loan-amort-mobile-toggle[aria-expanded="true"] .toggle-chevron{transform:rotate(180deg)}
  .loan-amortization-content{display:none;margin-top:12px}
  .loan-amortization-content.is-open{display:block}
  .loan-amort-content-actions{display:flex;justify-content:flex-end;margin-bottom:10px}
  .loan-amort-content-actions .btn{width:100%;min-height:44px}
  [data-theme="dark"] .loan-amort-mobile-toggle{background:#171f2f;border-color:#2b3548}
  [data-theme="dark"] .loan-amort-mobile-toggle>span>i{background:#253253;color:#9eb0ff}
}

/* v1.7.10 Public — mobile office and loan contract polish */
.desk-client-search{position:relative;display:flex;align-items:center;margin:14px 14px 10px}.desk-client-search>i{position:absolute;left:14px;color:var(--muted);font-size:.85rem;pointer-events:none}.desk-client-search input{width:100%;height:44px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);color:var(--text);padding:0 42px 0 39px;font-size:.88rem;outline:0;transition:border-color .2s,box-shadow .2s,background .2s}.desk-client-search input:focus{background:var(--surface);border-color:rgba(220,38,38,.45);box-shadow:0 0 0 4px rgba(220,38,38,.08)}.desk-client-search button{position:absolute;right:7px;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--muted);display:none;place-items:center}.desk-client-search.has-value button{display:grid}.desk-client-search-empty{margin:10px 14px 16px;padding:18px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);text-align:center;font-size:.82rem}.desk-client-search-empty i{display:block;font-size:1.25rem;margin-bottom:7px}
@media(max-width:767px){
  .desk-sidebar{padding-bottom:8px}.desk-sidebar-head{padding:17px 16px 10px}.desk-client-search{margin:8px 12px 10px;position:sticky;top:calc(58px + env(safe-area-inset-top));z-index:8;background:var(--surface);padding:6px 0}.desk-client-search input{height:48px;font-size:16px;border-radius:14px}.desk-client-cards{max-height:255px;overflow:auto;overscroll-behavior:contain;padding:0 10px 10px}.desk-client-card{min-height:58px;padding:9px 10px;border-radius:13px}.desk-client-card-avatar{width:38px;height:38px;font-size:.72rem}.desk-client-card-body small{font-size:.7rem}.desk-selected-loans{margin:5px 10px 10px}.desk-client-hero{margin-top:12px}.desk-financial-grid{gap:9px}.desk-main-balance{padding:19px}.desk-main-balance strong{font-size:1.85rem}.desk-stat{min-height:88px;padding:13px}.desk-stat strong{font-size:.9rem}
  .loan-summary-grid{--bs-gutter-y:12px}.loan-balance-panel{border-radius:18px}.loan-mobile-finance-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.loan-stat-card{min-height:0!important;padding:13px!important;border-radius:14px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;justify-content:initial}.loan-stat-card .stat-icon{grid-row:1/3;width:34px!important;height:34px!important;margin:0!important;border-radius:10px!important}.loan-stat-card>small:not(.stat-footnote){font-size:.61rem!important;line-height:1.15}.loan-stat-card>strong{font-size:.88rem!important;margin:2px 0 0!important;line-height:1.18;overflow-wrap:anywhere}.loan-stat-card .stat-footnote{grid-column:2;font-size:.6rem!important;margin-top:2px!important}.loan-details-card .section-head{padding:16px 16px 10px}.loan-details-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;background:transparent!important;padding:0 12px 14px}.loan-details-grid>div{min-height:76px!important;padding:13px!important;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)!important}.loan-details-grid span{font-size:.6rem!important;line-height:1.25}.loan-details-grid strong{font-size:.82rem!important;margin-top:6px!important;line-height:1.25;overflow-wrap:anywhere}
}
@media(max-width:390px){.loan-mobile-finance-grid,.loan-details-grid{grid-template-columns:1fr!important}.desk-client-cards{max-height:225px}.desk-main-balance strong{font-size:1.6rem}}
[data-theme="dark"] .desk-client-search input{background:var(--surface-2);color:var(--text)}

/* v1.7.11 Public — mobile Office loans and persistent actions */
.mobile-persistent-loan-actions{display:none}
.desk-loan-copy{min-width:0;display:block}
.desk-loan-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.desk-loan-heading strong{min-width:0}
.desk-loan-heading em{display:none;font-style:normal;font-size:.62rem;font-weight:800;color:var(--primary);background:rgba(49,87,213,.09);padding:4px 7px;border-radius:999px}
.desk-loan-mobile-metrics{display:flex;align-items:center;gap:7px;margin-top:5px;min-width:0}
.desk-loan-mobile-metrics small{display:flex;gap:4px;align-items:center;min-width:0}
.desk-loan-mobile-metrics small span{color:var(--muted)}
.desk-loan-mobile-metrics small:not(:first-child){display:none}
.desk-loan-mobile-metrics b{font-weight:800;color:var(--text)}
@media(max-width:767px){
  .desk-selected-loans{margin:8px 0 12px!important;padding:12px!important;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
  .desk-selected-loans-title{padding:0 2px 10px}
  .desk-loan-list{display:grid!important;grid-template-columns:1fr;gap:9px;overflow:visible!important;padding:0!important}
  .desk-loan-list>a{width:100%;min-width:0!important;max-width:none;display:grid;grid-template-columns:46px minmax(0,1fr) 16px;gap:11px;padding:12px!important;margin:0!important;border:1px solid var(--border);border-radius:15px!important;background:var(--surface-2);box-shadow:none}
  .desk-loan-list>a.active{background:rgba(49,87,213,.07);border-color:rgba(49,87,213,.28);box-shadow:inset 3px 0 0 var(--primary)}
  .desk-loan-icon{width:46px;height:46px;border-radius:13px}
  .desk-loan-heading em{display:inline-flex}
  .desk-loan-heading strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desk-loan-mobile-metrics{display:grid;grid-template-columns:1.3fr 1fr .65fr;gap:6px;margin-top:8px}
  .desk-loan-mobile-metrics small,.desk-loan-mobile-metrics small:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 7px;border-radius:9px;background:var(--surface)}
  .desk-loan-mobile-metrics small span{font-size:.57rem;line-height:1;text-transform:uppercase;letter-spacing:.035em}
  .desk-loan-mobile-metrics small b{font-size:.7rem;line-height:1.25;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .desk-loan-chevron{font-size:.72rem;color:var(--muted)}
  .mobile-persistent-loan-actions{display:block;margin-top:12px;padding:14px;border-radius:18px}
  .mobile-persistent-actions-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px}
  .mobile-persistent-actions-head h2{font-size:1rem;margin:2px 0 0}
  .mobile-persistent-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mobile-persistent-actions-grid>a,.mobile-persistent-actions-grid>button{appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-decoration:none;border-radius:13px;min-height:68px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:.72rem;font-weight:800;text-align:center}
  .mobile-persistent-actions-grid i{font-size:1rem;color:var(--primary)}
  .mobile-persistent-actions-grid .primary{background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.24)}
  .mobile-persistent-actions-grid .primary i{color:#16a34a}
  [data-theme="dark"] .desk-selected-loans,[data-theme="dark"] .desk-loan-mobile-metrics small,[data-theme="dark"] .mobile-persistent-loan-actions{background:var(--surface);border-color:var(--border)}
  [data-theme="dark"] .desk-loan-list>a,[data-theme="dark"] .mobile-persistent-actions-grid>a,[data-theme="dark"] .mobile-persistent-actions-grid>button{background:var(--surface-2);border-color:var(--border);color:var(--text)}
}


/* v1.7.12 Public — mobile Office flow, status dots, pull refresh and home action */
.desk-loan-icon{position:relative}
.desk-loan-status-dot{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px rgba(15,23,42,.08)}
.desk-loan-status-dot.is-current{background:#16a34a}.desk-loan-status-dot.is-overdue{background:#dc2626}
.mobile-home-fab,.mobile-pull-refresh{display:none}
@media(max-width:767px){
.desk-content{display:flex;flex-direction:column}.desk-client-hero{order:1}.desk-financial-grid{order:2}.mobile-persistent-loan-actions{order:3}
.mobile-persistent-loan-actions{margin-top:12px!important;margin-bottom:2px}.desk-loan-status-dot{width:12px;height:12px;right:-1px;bottom:-1px;border-color:var(--surface-2)}
.mobile-home-fab{display:grid;place-items:center;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:1060;width:54px;height:54px;border-radius:18px;background:#dc2626;color:#fff;text-decoration:none;box-shadow:0 14px 30px rgba(220,38,38,.32);border:1px solid rgba(255,255,255,.22);transition:transform .18s ease}.mobile-home-fab:active{transform:scale(.94)}
.mobile-pull-refresh{display:flex;position:fixed;left:50%;top:calc(8px + env(safe-area-inset-top));transform:translate(-50%,-90px);z-index:2000;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 10px 28px rgba(15,23,42,.16);font-size:.72rem;opacity:0;transition:transform .18s ease,opacity .18s ease;pointer-events:none}.mobile-pull-refresh span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(49,87,213,.1);color:var(--primary)}.mobile-pull-refresh.is-visible{opacity:1;transform:translate(-50%,0)}.mobile-pull-refresh.is-ready span{background:rgba(22,163,74,.12);color:#16a34a}.mobile-pull-refresh.is-refreshing span i{animation:kpRefreshSpin .7s linear infinite}@keyframes kpRefreshSpin{to{transform:rotate(360deg)}}
.amort-card{padding:14px!important;border-radius:17px}.amort-card>.section-head{padding:0 0 10px!important;margin:0!important}.amort-card .section-title{font-size:1rem!important}.amort-card .section-subtitle{font-size:.72rem!important;line-height:1.4}.loan-amort-mobile-toggle{margin-top:2px!important;border-radius:14px!important;padding:12px!important}.loan-amortization-content.is-open{margin-top:10px}.mobile-amort{display:grid;gap:8px}.amort-mobile-card,.amortization-mobile-card{border-radius:14px!important;padding:12px!important;box-shadow:none!important}
}
@media(max-width:390px){.mobile-home-fab{width:50px;height:50px;border-radius:16px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}}
[data-theme="dark"] .desk-loan-status-dot{border-color:var(--surface-2)}

/* v1.7.13 Public — reliable mobile utilities */
@media(max-width:767px){
  .mobile-home-fab{display:grid!important;align-content:center;justify-content:center;isolation:isolate;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .mobile-home-fab i{font-size:1.08rem;line-height:1}
  .mobile-home-fab:focus-visible{outline:3px solid rgba(220,38,38,.28);outline-offset:4px}
  .mobile-pull-refresh{display:flex!important;max-width:calc(100vw - 32px);white-space:nowrap}
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}
[data-theme="dark"] .mobile-pull-refresh{background:#172033;border-color:rgba(255,255,255,.1);box-shadow:0 12px 32px rgba(0,0,0,.34)}
html[data-theme="dark"] :is(.desk-client-card,.desk-loan-list>a,.client-filter-card,.mobile-record-card):hover :is(strong,small,span,i){color:inherit!important}
html[data-theme="dark"] .premium-table tbody tr:hover>*,html[data-theme="dark"] .table-hover tbody tr:hover>*{background:#172235!important;color:#f8fafc!important}
html[data-theme="dark"] .dropdown-item:hover,html[data-theme="dark"] .dropdown-item:focus,html[data-theme="dark"] .list-group-item-action:hover,html[data-theme="dark"] .list-group-item-action:focus{background:#26344b!important;color:#f8fafc!important}
html[data-theme="dark"] .form-select option{background:#172033;color:#f8fafc}


/* v1.7.20 — central annuity engine polish */
.actual-debt-summary>div:nth-child(-n+3){background:linear-gradient(145deg,#f8faff,#eef2ff);border-color:#dce4ff}
.actual-debt-summary>div:nth-child(n+4){background:linear-gradient(145deg,#f7fbf8,#edf8f0);border-color:#d7ebdc}
.actual-debt-summary>div:nth-child(n+4) strong{color:#17643a}
[data-theme="dark"] .actual-debt-summary>div:nth-child(-n+3){background:linear-gradient(145deg,#182235,#202d48);border-color:#2e4165}
[data-theme="dark"] .actual-debt-summary>div:nth-child(n+4){background:linear-gradient(145deg,#14251f,#193329);border-color:#27513f}
[data-theme="dark"] .actual-debt-summary>div:nth-child(n+4) strong{color:#8de0ae}
@media(max-width:767px){.actual-debt-summary>div{min-width:0}.actual-debt-summary strong{white-space:normal;overflow-wrap:anywhere}}

/* v1.7.21 Public — reference-style amortization report */
.amortization-reference{min-width:0}
.amortization-reference-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 18px}
.amortization-reference-summary>div{min-width:0;padding:15px 16px;border:1px solid var(--border-color,#e5e7eb);border-radius:14px;background:var(--surface-soft,#f8fafc)}
.amortization-reference-summary span,.amortization-reference-summary strong,.amortization-reference-summary small{display:block}
.amortization-reference-summary span{font-size:.71rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#64748b)}
.amortization-reference-summary strong{margin-top:6px;font-size:1rem;line-height:1.25;color:var(--text-main,#172033);overflow-wrap:anywhere}
.amortization-reference-summary small{margin-top:4px;color:var(--text-muted,#64748b)}
.amortization-reference-summary .featured{border-color:rgba(37,99,235,.22);background:rgba(37,99,235,.055)}
.amortization-reference-summary .featured strong{color:#1d4ed8;font-size:1.2rem}
.amortization-reference-summary .debt{border-color:rgba(220,38,38,.2);background:rgba(220,38,38,.055)}
.amortization-reference-summary .debt strong{color:#c81e32}
.amortization-reference-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 13px}
.amortization-reference-note{display:flex;align-items:center;gap:7px;font-size:.79rem;color:var(--text-muted,#64748b)}
.amortization-reference-table-wrap{border:1px solid var(--border-color,#e5e7eb);border-radius:14px;overflow:auto}
.amortization-reference-table{margin:0;min-width:1040px;font-variant-numeric:tabular-nums}
.amortization-reference-table th{white-space:nowrap;font-size:.68rem;letter-spacing:.025em}
.amortization-reference-table td{white-space:nowrap;vertical-align:middle}
.amortization-reference-table .amort-actual-column{background:rgba(15,118,110,.025)}
.amortization-reference-table .amort-actual-column.is-hidden{display:none}
.amortization-reference-table thead .amort-actual-column{background:#164e63}
.amortization-reference-table tfoot th{border-top:2px solid var(--border-color,#dbe2ea);background:var(--surface-soft,#f8fafc)}
.amortization-reference-mobile{display:none}
.mobile-amort-block{margin-top:12px;padding:12px;border-radius:12px;border:1px solid var(--border-color,#e5e7eb)}
.mobile-amort-block h4{margin:0 0 9px;font-size:.74rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.mobile-amort-block.planned{background:rgba(37,99,235,.045);border-color:rgba(37,99,235,.15)}
.mobile-amort-block.planned h4{color:#1d4ed8}
.mobile-amort-block.actual{background:rgba(15,118,110,.045);border-color:rgba(15,118,110,.15)}
.mobile-amort-block.actual h4{color:#0f766e}
html[data-theme="dark"] .amortization-reference-summary>div{background:#151d2b;border-color:#2b3547}
html[data-theme="dark"] .amortization-reference-summary .featured{background:rgba(96,165,250,.1);border-color:rgba(96,165,250,.28)}
html[data-theme="dark"] .amortization-reference-summary .featured strong{color:#93c5fd}
html[data-theme="dark"] .amortization-reference-summary .debt{background:rgba(248,113,113,.09);border-color:rgba(248,113,113,.25)}
html[data-theme="dark"] .amortization-reference-summary .debt strong{color:#fca5a5}
html[data-theme="dark"] .amortization-reference-table-wrap{border-color:#2b3547}
html[data-theme="dark"] .amortization-reference-table .amort-actual-column{background:rgba(45,212,191,.035)}
html[data-theme="dark"] .amortization-reference-table thead .amort-actual-column{background:#164e63;color:#fff}
html[data-theme="dark"] .amortization-reference-table tfoot th{background:#151d2b;border-color:#334155;color:#eef2f8}
html[data-theme="dark"] .mobile-amort-block.planned{background:rgba(96,165,250,.08);border-color:rgba(96,165,250,.2)}
html[data-theme="dark"] .mobile-amort-block.planned h4{color:#93c5fd}
html[data-theme="dark"] .mobile-amort-block.actual{background:rgba(45,212,191,.07);border-color:rgba(45,212,191,.2)}
html[data-theme="dark"] .mobile-amort-block.actual h4{color:#5eead4}
@media(max-width:1199.98px){.amortization-reference-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){
  .amortization-reference-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:13px}
  .amortization-reference-summary>div{padding:12px;border-radius:12px}
  .amortization-reference-summary span{font-size:.63rem}
  .amortization-reference-summary strong{font-size:.91rem}
  .amortization-reference-summary .featured strong{font-size:1.05rem}
  .amortization-reference-toolbar{display:none}
  .amortization-reference-table-wrap{display:none!important}
  .amortization-reference-mobile{display:grid;gap:11px}
  .amortization-comparison-card{padding:13px}
  .mobile-amort-block .installment-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mobile-amort-block .installment-card-grid>div:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:420px){
  .amortization-reference-summary{grid-template-columns:1fr 1fr}
  .amortization-reference-summary>div:nth-child(3),.amortization-reference-summary>div:nth-child(6){grid-column:1/-1}
  .mobile-amort-block{padding:10px}
}

/* v1.7.22 Public — amortization ledger polish */
.amortization-closing-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;padding:14px;border:1px solid var(--border-color,#e5e7eb);border-radius:18px;background:linear-gradient(145deg,#fff,#f8fafc)}
.amortization-closing-summary>div{min-width:0;padding:14px 15px;border:1px solid #e7ebf1;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045)}
.amortization-closing-summary span{display:block;color:var(--text-muted,#667085);font-size:.72rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.amortization-closing-summary strong{display:block;margin-top:7px;color:var(--text,#172033);font-size:1.08rem;font-weight:900;line-height:1.15;overflow-wrap:anywhere}
.amortization-closing-summary small{display:block;margin-top:6px;color:var(--text-muted,#667085);font-size:.78rem;line-height:1.35}
.amortization-closing-summary .debt{border-color:#fecaca;background:linear-gradient(145deg,#fff7f7,#fff)}
.amortization-closing-summary .debt strong{color:#b42318}
.amortization-reference-toolbar{align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-color,#e5e7eb);border-radius:14px;background:var(--card-bg,#fff)}
.amortization-reference-note{line-height:1.45}
.amortization-reference-table-wrap{margin-top:14px;border:1px solid var(--border-color,#e5e7eb);border-radius:16px;overflow:hidden;background:var(--card-bg,#fff)}
html[data-theme="dark"] .amortization-closing-summary{background:linear-gradient(145deg,#111827,#162033);border-color:#2a3850}
html[data-theme="dark"] .amortization-closing-summary>div{background:#172033;border-color:#2b3850;box-shadow:none}
html[data-theme="dark"] .amortization-closing-summary strong{color:#f8fafc}
html[data-theme="dark"] .amortization-closing-summary .debt{background:linear-gradient(145deg,#2b171b,#22151a);border-color:#65303a}
html[data-theme="dark"] .amortization-closing-summary .debt strong{color:#fda4af}
html[data-theme="dark"] .amortization-reference-toolbar,html[data-theme="dark"] .amortization-reference-table-wrap{background:#111827;border-color:#2a3850}
@media(max-width:991px){.amortization-closing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.amortization-reference-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.amortization-reference-summary>div{min-height:86px!important;padding:12px!important}.amortization-reference-toolbar{align-items:stretch;flex-direction:column}.amortization-reference-toolbar .btn{width:100%;min-height:46px}.amortization-reference-note{font-size:.82rem}.amortization-closing-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;padding:10px;border-radius:15px}.amortization-closing-summary>div{padding:12px;min-height:96px}.amortization-closing-summary strong{font-size:1rem}.amortization-closing-summary small{font-size:.74rem}}
@media(max-width:420px){.amortization-reference-summary,.amortization-closing-summary{grid-template-columns:1fr!important}.amortization-closing-summary>div{min-height:auto}}

/* v1.7.24 Public — clean live actual-payment editor */
.amortization-reference-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--border-color,#e5e7eb);border-radius:14px;background:var(--surface-soft,#f8fafc);margin-bottom:16px}
.amortization-actual-toggle{min-height:44px;border-radius:12px;font-weight:800;box-shadow:0 8px 20px rgba(22,163,74,.16)}
.amortization-autosave-status{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:#64748b;padding:7px 10px;border-radius:999px;background:rgba(148,163,184,.12)}
.amortization-autosave-status[data-state="saving"]{color:#2563eb}.amortization-autosave-status[data-state="saved"]{color:#15803d}.amortization-autosave-status[data-state="error"]{color:#b91c1c;background:rgba(239,68,68,.10)}
.actual-payment-editor{display:flex;align-items:center;min-width:130px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.actual-payment-editor>span{padding:0 0 0 10px;color:#64748b;font-weight:700}.actual-payment-editor input{width:100%;min-width:0;border:0!important;background:transparent!important;padding:9px 10px!important;text-align:right;font-weight:800;color:#0f172a;outline:0;box-shadow:none!important}
.actual-payment-editor:focus-within{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.mobile-actual-payment-editor{display:block;margin:0 0 12px}.mobile-actual-payment-editor>span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:6px}.mobile-actual-payment-editor>div{display:flex;align-items:center;border:1px solid #cbd5e1;border-radius:12px;background:#fff;overflow:hidden}.mobile-actual-payment-editor>div>span{padding-left:12px;color:#64748b;font-weight:800}.mobile-actual-payment-editor input{width:100%;border:0!important;background:transparent!important;padding:12px!important;font-size:1rem!important;font-weight:900;text-align:right;color:#0f172a;outline:0;box-shadow:none!important}
.amortization-closing-summary{margin-top:18px;border-radius:16px;overflow:hidden}
[data-theme="dark"] .amortization-reference-toolbar{background:#111827;border-color:#334155}[data-theme="dark"] .actual-payment-editor,[data-theme="dark"] .mobile-actual-payment-editor>div{background:#0f172a;border-color:#475569}[data-theme="dark"] .actual-payment-editor input,[data-theme="dark"] .mobile-actual-payment-editor input{color:#f8fafc}[data-theme="dark"] .amortization-autosave-status{background:rgba(148,163,184,.12);color:#cbd5e1}
@media(max-width:767px){.amortization-reference-toolbar{padding:12px;gap:10px}.amortization-actual-toggle{width:100%;justify-content:center}.amortization-autosave-status{order:2}.amortization-reference-note{order:3;width:100%;font-size:.78rem}.amortization-comparison-card{padding:14px}.mobile-amort-block{border-radius:13px}.amortization-closing-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;background:transparent!important}.amortization-closing-summary>div{border:1px solid var(--border-color,#e5e7eb)!important;border-radius:13px!important;padding:12px!important}.amortization-closing-summary>div strong{font-size:1rem!important}}
@media(max-width:420px){.amortization-closing-summary{grid-template-columns:1fr!important}}

/* v1.7.25 — chronological payment timeline */
.payment-timeline-row td{background:rgba(16,185,129,.055)!important;border-top:1px solid rgba(16,185,129,.22);border-bottom:1px solid rgba(16,185,129,.22);vertical-align:middle}
.payment-timeline-row.regular-payment-row td{background:rgba(59,130,246,.05)!important;border-color:rgba(59,130,246,.18)}
.payment-timeline-description{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;text-align:left}
.payment-timeline-description>strong{color:var(--text,#172033)}
.payment-timeline-description>span{font-size:.78rem;color:var(--muted,#687386);padding:.28rem .55rem;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.2)}
.payment-timeline-card{border:1px solid rgba(16,185,129,.26)!important;background:linear-gradient(145deg,rgba(236,253,245,.98),rgba(255,255,255,.98))!important}
.payment-timeline-card.regular-payment-card{border-color:rgba(59,130,246,.22)!important;background:linear-gradient(145deg,rgba(239,246,255,.98),rgba(255,255,255,.98))!important}
.payment-timeline-card .principal-adjustment-amount{margin:.75rem 0;font-size:1.45rem;font-weight:850;color:#059669}
.installment-card-grid .wide{grid-column:1/-1;background:rgba(16,185,129,.08);border-radius:12px;padding:.7rem .8rem}
[data-theme="dark"] .payment-timeline-row td{background:rgba(16,185,129,.10)!important;border-color:rgba(52,211,153,.22)}
[data-theme="dark"] .payment-timeline-row.regular-payment-row td{background:rgba(59,130,246,.10)!important;border-color:rgba(96,165,250,.22)}
[data-theme="dark"] .payment-timeline-description>strong{color:#f8fafc}
[data-theme="dark"] .payment-timeline-description>span{background:rgba(15,23,42,.72);border-color:rgba(148,163,184,.18);color:#cbd5e1}
[data-theme="dark"] .payment-timeline-card{background:linear-gradient(145deg,rgba(6,78,59,.28),rgba(15,23,42,.98))!important}
[data-theme="dark"] .payment-timeline-card.regular-payment-card{background:linear-gradient(145deg,rgba(30,64,175,.22),rgba(15,23,42,.98))!important}
@media(max-width:767px){
  .payment-timeline-card{margin:.7rem 0;border-radius:16px!important;box-shadow:0 8px 24px rgba(15,23,42,.07)}
  .payment-timeline-card .installment-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  .payment-timeline-card .installment-card-grid>div{min-width:0}
  .payment-timeline-card .installment-card-grid span{font-size:.68rem}
  .payment-timeline-card .installment-card-grid strong{font-size:.88rem;overflow-wrap:anywhere}
}

/* v1.7.26 Public — immutable contract plan and actual ledger */
.amortization-plan-section{margin-top:16px;border:1px solid var(--border-color,#e5e7eb);border-radius:18px;background:var(--card-bg,#fff);overflow:hidden}
.amortization-plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border-color,#e5e7eb);background:linear-gradient(180deg,rgba(37,99,235,.035),transparent)}
.amortization-plan-heading h3{margin:3px 0 4px;font-size:1.05rem;color:var(--text-main,#172033)}
.amortization-plan-heading p{margin:0;color:var(--text-muted,#64748b);font-size:.84rem;line-height:1.5}
.plan-kicker{font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#2563eb}
.plan-lock,.live-plan-badge{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;border-radius:999px;font-size:.72rem;font-weight:850}
.plan-lock{color:#475569;background:#eef2f7;border:1px solid #dbe3ed}
.live-plan-badge{color:#137333;background:#e8f8ee;border:1px solid #bde8ca}
.live-plan-badge i{font-size:.5rem}
.actual-plan-section{border-color:rgba(22,163,74,.24)}
.actual-plan-section.is-hidden{display:none!important}
.actual-heading{background:linear-gradient(180deg,rgba(22,163,74,.055),transparent)}
.actual-heading .plan-kicker{color:#15803d}
.contract-only-table,.actual-only-table{margin:0;border:0;border-radius:0}
.contract-only-table{min-width:820px}
.actual-only-table{min-width:1180px}
.actual-event-row td{vertical-align:middle}
.payment-event-row{background:rgba(22,163,74,.035)}
.principal-adjustment-row{background:rgba(16,185,129,.065)}
.due-event-row{background:rgba(239,68,68,.025)}
.projection-event-row{background:rgba(37,99,235,.025)}
.event-type-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border-radius:10px;font-size:.73rem;font-weight:800;white-space:nowrap}
.event-type-badge.regular{color:#166534;background:#dcfce7}.event-type-badge.principal{color:#047857;background:#d1fae5}.event-type-badge.due{color:#b91c1c;background:#fee2e2}.event-type-badge.projection{color:#1d4ed8;background:#dbeafe}
.actual-event-date,.actual-event-type,.mobile-event-editor input,.mobile-event-editor select{min-height:38px;border:1px solid var(--border-color,#d8e0ea);border-radius:9px;background:var(--card-bg,#fff);color:var(--text-main,#172033);padding:7px 9px;font-size:.82rem}
.actual-event-date{width:138px}.actual-event-type{width:145px;margin-top:6px;display:block}
.mobile-event-editor{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0;padding:11px;border:1px solid var(--border-color,#e5e7eb);border-radius:13px;background:var(--surface-soft,#f8fafc)}
.mobile-event-editor label{display:flex;flex-direction:column;gap:5px}.mobile-event-editor label>span{font-size:.78rem;font-weight:800;color:var(--text-muted,#64748b)}.mobile-event-editor .wide{grid-column:1/-1}
.actual-mobile-list{display:none}
.contract-mobile-list{display:none}
html[data-theme="dark"] .amortization-plan-section{background:#111827;border-color:#2b3547}
html[data-theme="dark"] .amortization-plan-heading{border-color:#2b3547;background:linear-gradient(180deg,rgba(96,165,250,.07),transparent)}
html[data-theme="dark"] .actual-heading{background:linear-gradient(180deg,rgba(74,222,128,.07),transparent)}
html[data-theme="dark"] .plan-lock{background:#1f2937;border-color:#374151;color:#cbd5e1}
html[data-theme="dark"] .live-plan-badge{background:rgba(34,197,94,.12);border-color:rgba(74,222,128,.25);color:#86efac}
html[data-theme="dark"] .payment-event-row{background:rgba(34,197,94,.035)}
html[data-theme="dark"] .principal-adjustment-row{background:rgba(16,185,129,.06)}
html[data-theme="dark"] .due-event-row{background:rgba(248,113,113,.035)}
html[data-theme="dark"] .projection-event-row{background:rgba(96,165,250,.035)}
html[data-theme="dark"] .actual-event-date,html[data-theme="dark"] .actual-event-type,html[data-theme="dark"] .mobile-event-editor input,html[data-theme="dark"] .mobile-event-editor select{background:#0f172a;border-color:#475569;color:#f8fafc}
html[data-theme="dark"] .mobile-event-editor{background:#0f172a;border-color:#334155}
@media(max-width:767px){
  .amortization-plan-section{border-radius:15px;margin-top:12px}
  .amortization-plan-heading{padding:14px;gap:10px;flex-direction:column}
  .amortization-plan-heading h3{font-size:1rem}.amortization-plan-heading p{font-size:.8rem}
  .plan-lock,.live-plan-badge{align-self:flex-start}
  .contract-plan-section .desktop-amort,.actual-plan-section .desktop-amort{display:none!important}
  .contract-mobile-list,.actual-mobile-list{display:grid!important;gap:10px;padding:10px}
  .actual-plan-section.is-hidden{display:none!important}
  .actual-timeline-card{margin:0;border-radius:14px}
  .amortization-reference-toolbar{display:flex!important}
}
@media print{
  .actual-plan-section{display:block!important}
  .amortization-plan-section{break-inside:avoid-page;box-shadow:none}
  .amortization-plan-heading{background:#fff!important}
}

/* v1.7.27 Public — professional monthly-payment presentation */
.stat-icon.red{background:#fff0f1;color:#d7263d}
.loan-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.loan-stat-card.monthly-payment-stat{border-color:rgba(215,38,61,.22);background:linear-gradient(145deg,#fff,#fff8f8)}
.loan-stat-card.monthly-payment-stat strong{color:#c81e32;font-size:1.18rem}
.amortization-pro-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.amortization-pro-summary .amort-summary-card{display:flex;align-items:center;gap:13px;padding:17px 18px;min-height:108px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e7ebf2;box-shadow:0 8px 22px rgba(19,31,55,.045)}
.amortization-pro-summary .amort-summary-card>div{min-width:0}
.amortization-pro-summary .summary-icon{flex:0 0 42px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#edf2ff;color:#3157d5;font-size:1rem}
.amortization-pro-summary .contract-payment{border-color:rgba(49,87,213,.22);background:linear-gradient(145deg,#fff,#f5f7ff)}
.amortization-pro-summary .current-payment{border-color:rgba(22,163,74,.24);background:linear-gradient(145deg,#fff,#f3fbf6)}
.amortization-pro-summary .current-payment .summary-icon{background:#e8f8ee;color:#16803d}
.amortization-pro-summary .current-payment strong{color:#137a3a}
.amortization-pro-summary .paid .summary-icon{background:#eaf8ef;color:#15803d}
.amortization-pro-summary .debt .summary-icon{background:#fff0f1;color:#c81e32}
.amortization-plan-heading{padding:18px 20px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,#fff,#f8fafc);margin-bottom:14px}
.plan-heading-meta{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.monthly-payment-chip{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border-radius:12px;background:#eef2ff;color:#3157d5;border:1px solid rgba(49,87,213,.16)}
.monthly-payment-chip span{font-size:.68rem;text-transform:uppercase;letter-spacing:.045em;font-weight:800}
.monthly-payment-chip strong{font-size:.88rem;color:#203fba}
.monthly-payment-chip.actual{background:#eaf8ef;color:#15803d;border-color:rgba(21,128,61,.18)}
.monthly-payment-chip.actual strong{color:#166534}
.contract-plan-section,.actual-plan-section{padding:18px;border:1px solid var(--border);border-radius:18px;background:#fff}
.actual-plan-section{margin-top:18px}
.amortization-reference-table-wrap{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}
.amortization-reference-table{margin-bottom:0}
.amortization-closing-summary{background:linear-gradient(145deg,#f8fafc,#fff);border:1px solid var(--border)}
html[data-theme="dark"] .loan-stat-card.monthly-payment-stat{background:linear-gradient(145deg,#151d2b,#191f2e);border-color:rgba(248,113,113,.24)}
html[data-theme="dark"] .loan-stat-card.monthly-payment-stat strong{color:#fca5a5}
html[data-theme="dark"] .amortization-pro-summary .amort-summary-card,html[data-theme="dark"] .amortization-plan-heading,html[data-theme="dark"] .contract-plan-section,html[data-theme="dark"] .actual-plan-section,html[data-theme="dark"] .amortization-reference-table-wrap{background:linear-gradient(145deg,#151d2b,#111827);border-color:#2b3547}
html[data-theme="dark"] .amortization-pro-summary .contract-payment{background:linear-gradient(145deg,#17213a,#151d2b)}
html[data-theme="dark"] .amortization-pro-summary .current-payment{background:linear-gradient(145deg,#14271f,#151d2b)}
html[data-theme="dark"] .monthly-payment-chip{background:rgba(96,165,250,.1);border-color:rgba(96,165,250,.22);color:#93c5fd}
html[data-theme="dark"] .monthly-payment-chip strong{color:#bfdbfe}
html[data-theme="dark"] .monthly-payment-chip.actual{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.22);color:#86efac}
html[data-theme="dark"] .monthly-payment-chip.actual strong{color:#bbf7d0}
@media(max-width:1199.98px){.amortization-pro-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
  .loan-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .loan-stat-card{min-height:112px;padding:14px;border-radius:14px}
  .loan-stat-card .stat-icon{width:34px;height:34px;border-radius:10px;margin-bottom:12px}
  .loan-stat-card strong{font-size:.94rem;overflow-wrap:anywhere}
  .loan-stat-card.monthly-payment-stat{grid-column:1/-1;min-height:104px;display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:center}
  .loan-stat-card.monthly-payment-stat .stat-icon{grid-row:1/4;margin:0}
  .loan-stat-card.monthly-payment-stat small,.loan-stat-card.monthly-payment-stat strong{margin:0}
  .loan-stat-card.monthly-payment-stat strong{font-size:1.2rem}
  .amortization-pro-summary{grid-template-columns:1fr!important;gap:10px!important}
  .amortization-pro-summary .amort-summary-card{min-height:auto!important;padding:14px!important;border-radius:14px!important}
  .amortization-pro-summary .contract-payment,.amortization-pro-summary .current-payment{min-height:92px!important}
  .amortization-plan-heading{padding:14px;align-items:flex-start;gap:12px}
  .plan-heading-meta{width:100%;justify-content:flex-start}
  .monthly-payment-chip{flex:1 1 100%;justify-content:space-between}
  .contract-plan-section,.actual-plan-section{padding:12px;border-radius:16px}
}
@media(max-width:420px){.loan-stat-grid{grid-template-columns:1fr}.loan-stat-card.monthly-payment-stat{grid-column:auto}.amortization-pro-summary .summary-icon{width:38px;height:38px;flex-basis:38px}}

/* v1.7.28 Public — canonical monthly installment visibility */
.mobile-loan-payment-strip{margin:10px 0 4px;padding:12px 14px;border:1px solid rgba(215,38,61,.16);border-radius:14px;background:linear-gradient(135deg,#fff8f8,#fff);display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center}
.mobile-loan-payment-strip span{font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}
.mobile-loan-payment-strip strong{font-size:1.05rem;color:#c81e32;white-space:nowrap}
.mobile-loan-payment-strip small{grid-column:1/-1;color:#8b93a1}
.actual-plan-section .monthly-payment-chip.actual{box-shadow:0 8px 24px rgba(21,128,61,.08)}
.contract-plan-section .monthly-payment-chip{box-shadow:0 8px 24px rgba(49,87,213,.08)}
@media(max-width:767px){
  .amortization-plan-heading{align-items:stretch!important}
  .plan-heading-meta{width:100%;display:grid!important;grid-template-columns:1fr!important}
  .monthly-payment-chip{width:100%;min-height:50px}
  .mobile-loan-payment-strip{padding:11px 12px}
}
html[data-theme="dark"] .mobile-loan-payment-strip{background:linear-gradient(135deg,#20171c,#151d2b);border-color:rgba(248,113,113,.2)}
html[data-theme="dark"] .mobile-loan-payment-strip span,html[data-theme="dark"] .mobile-loan-payment-strip small{color:#aab3c2}
html[data-theme="dark"] .mobile-loan-payment-strip strong{color:#fca5a5}

/* v1.8 Public — Office, documents and amortization release polish */
.desk-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.desk-sidebar{position:static;top:auto;padding:0;overflow:visible;border-radius:20px}
.desk-sidebar-head{padding:18px 20px 10px;align-items:center}
.desk-client-search{margin:0 20px 12px;max-width:520px}
.desk-client-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px;max-height:none;overflow:visible;padding:0 20px 18px}
.desk-client-card{min-height:68px;padding:10px 12px;border-radius:14px}
.desk-client-card.active{border-color:rgba(220,38,38,.34);background:linear-gradient(135deg,rgba(220,38,38,.075),rgba(220,38,38,.025));box-shadow:0 8px 24px rgba(220,38,38,.08)}
.desk-selected-loans{margin:0;border-top:1px solid var(--border);padding:15px 20px 18px}
.desk-selected-loans-title{margin-bottom:10px}
.desk-loan-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:9px;overflow:visible}
.desk-loan-list>a{min-width:0;min-height:78px;border-radius:14px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.desk-loan-list>a:hover{transform:translateY(-2px);border-color:rgba(49,87,213,.35);box-shadow:0 10px 24px rgba(29,45,90,.09)}
.desk-content{min-width:0}
.desk-client-hero{margin-top:0}
.mobile-persistent-actions-grid a,.mobile-persistent-actions-grid button{appearance:none;text-decoration:none}

.document-dropzone{position:relative;isolation:isolate;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.document-dropzone.is-dragging{border-color:#3157d5!important;box-shadow:0 0 0 4px rgba(49,87,213,.12),0 24px 55px rgba(33,55,120,.15);transform:translateY(-1px)}
.document-drop-overlay{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:22px;border-radius:inherit;background:rgba(240,244,255,.94);backdrop-filter:blur(7px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.document-dropzone.is-dragging .document-drop-overlay{opacity:1;visibility:visible}
.document-drop-overlay>div{display:grid;justify-items:center;text-align:center;gap:7px;padding:28px 34px;border:2px dashed rgba(49,87,213,.45);border-radius:20px;color:#2444b8;background:#fff;box-shadow:0 18px 45px rgba(49,87,213,.15)}
.document-drop-overlay i{font-size:2rem}.document-drop-overlay strong{font-size:1.05rem}.document-drop-overlay span{font-size:.78rem;color:#64748b}
.document-upload-form.is-uploading .btn{pointer-events:none;opacity:.7}
html[data-theme="dark"] .document-drop-overlay{background:rgba(10,15,25,.92)}
html[data-theme="dark"] .document-drop-overlay>div{background:#151d2b;border-color:#5268c9;color:#b9c6ff}

.amort-card{border:1px solid var(--border);box-shadow:0 14px 36px rgba(22,32,55,.07)}
.amortization-reference{display:grid;gap:18px}
.amortization-pro-summary{gap:10px!important;margin-bottom:0!important}
.amortization-pro-summary .amort-summary-card{border-radius:15px!important;box-shadow:none!important;min-height:104px}
.amortization-plan-section{border:1px solid var(--border);border-radius:18px;padding:18px;background:var(--surface)}
.amortization-plan-heading{margin:0 0 15px;padding:0 0 14px;border-bottom:1px solid var(--border)}
.amortization-plan-heading h3{font-size:1.08rem;letter-spacing:-.02em}
.amortization-plan-heading p{max-width:720px}
.amortization-reference-table-wrap{border-radius:13px!important;box-shadow:none!important}
.amortization-reference-table th{padding:11px 10px!important}
.amortization-reference-table td{padding:10px!important}
.contract-plan-section .amortization-reference-table thead th{background:#25304a}
.actual-plan-section{background:linear-gradient(180deg,rgba(16,185,129,.025),transparent)}
.actual-plan-section .amortization-reference-table thead th{background:#164e63}
html[data-theme="dark"] .amortization-plan-section{background:#111827;border-color:#2b3547}
html[data-theme="dark"] .contract-plan-section .amortization-reference-table thead th{background:#202a3f}

@media(max-width:767px){
  .desk-sidebar{border-radius:18px;padding:0;margin-bottom:12px}
  .desk-sidebar-head{padding:15px 15px 9px}
  .desk-client-search{position:static;top:auto;margin:0 14px 10px;max-width:none;padding:0;background:transparent}
  .desk-client-cards{display:grid;grid-template-columns:1fr;gap:6px;padding:0 14px 14px;max-height:280px;overflow:auto}
  .desk-client-card{width:100%;min-height:58px;padding:8px 10px}
  .desk-selected-loans{padding:13px 14px 15px}
  .desk-loan-list{display:grid;grid-template-columns:1fr;gap:7px;overflow:visible}
  .desk-loan-list>a{width:100%;min-height:74px}
  .desk-loan-mobile-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .desk-client-hero{border-radius:18px}
  .document-drop-overlay{display:none}
  .amortization-plan-section{padding:12px;border-radius:15px}
  .amortization-plan-heading{display:grid;gap:10px;padding-bottom:11px}
  .plan-heading-meta{justify-content:flex-start;flex-wrap:wrap}
  .amortization-reference{gap:12px}
  .contract-installment-card,.actual-installment-card{border-radius:14px!important}
}

/* v1.8.2 Public — consolidated Office workspace polish */
:root{
  --kp-line-soft:rgba(148,163,184,.26);
  --kp-line-faint:rgba(148,163,184,.16);
  --kp-surface-soft:#f8fafc;
  --kp-office-gap:18px;
}

/* Office becomes one compact work panel instead of stacked empty surfaces. */
.desk-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.desk-sidebar{
  position:static!important;
  display:grid;
  grid-template-columns:minmax(280px,340px) minmax(0,1fr);
  grid-template-rows:auto auto minmax(0,1fr);
  column-gap:var(--kp-office-gap);
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--kp-line-soft)!important;
  border-radius:20px!important;
  background:var(--card-bg,#fff)!important;
  box-shadow:0 12px 34px rgba(15,23,42,.055)!important;
}
.desk-sidebar-head{
  grid-column:1/-1;
  grid-row:1;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 22px 15px!important;
  border-bottom:1px solid var(--kp-line-faint)!important;
  background:linear-gradient(180deg,rgba(49,87,213,.045),rgba(49,87,213,0))!important;
}
.desk-sidebar-head>div{display:grid;gap:4px;min-width:0}
.desk-sidebar-head span{color:#3157d5!important;font-size:.73rem!important;font-weight:900!important;letter-spacing:.09em!important}
.desk-sidebar-head small{color:var(--text-muted,#64748b)!important;font-size:.8rem!important;line-height:1.4}
.desk-sidebar-head>strong{align-self:center;flex:0 0 auto;padding:7px 11px;border:1px solid rgba(49,87,213,.15);border-radius:999px;background:rgba(49,87,213,.07);color:#3157d5;font-size:.76rem;white-space:nowrap}

.desk-client-search{
  grid-column:1;
  grid-row:2;
  min-height:46px!important;
  margin:16px 0 10px 20px!important;
  padding:0 12px!important;
  border:1px solid var(--kp-line-soft)!important;
  border-radius:13px!important;
  background:var(--kp-surface-soft)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68)!important;
}
.desk-client-search:focus-within{border-color:rgba(49,87,213,.48)!important;box-shadow:0 0 0 4px rgba(49,87,213,.10)!important}
.desk-client-search input{min-width:0!important;background:transparent!important}
.desk-client-search-empty{grid-column:1;grid-row:3;margin:0 0 18px 20px!important}
.desk-client-cards{
  grid-column:1;
  grid-row:3;
  align-content:start;
  max-height:285px;
  overflow:auto;
  padding:0 0 18px 20px!important;
  gap:7px!important;
  scrollbar-width:thin;
}
.desk-client-card{
  min-height:62px!important;
  border:1px solid var(--kp-line-faint)!important;
  border-radius:13px!important;
  background:var(--card-bg,#fff)!important;
  box-shadow:none!important;
  padding:10px 11px!important;
}
.desk-client-card:hover{border-color:rgba(49,87,213,.30)!important;background:#fbfcff!important;transform:translateY(-1px)!important;box-shadow:0 7px 20px rgba(15,23,42,.055)!important}
.desk-client-card.active{border-color:rgba(220,38,38,.30)!important;background:linear-gradient(135deg,rgba(220,38,38,.055),rgba(255,255,255,.98))!important;box-shadow:0 8px 20px rgba(220,38,38,.065)!important}
.desk-client-card-avatar{box-shadow:none!important}
.desk-client-card-body{gap:2px!important}
.desk-client-card-body strong{font-size:.92rem!important;line-height:1.24!important}
.desk-client-card-body small{font-size:.73rem!important;color:var(--text-muted,#64748b)!important}

.desk-selected-loans{
  grid-column:2;
  grid-row:2/4;
  align-self:stretch;
  min-width:0;
  margin:0!important;
  padding:16px 20px 18px!important;
  border-top:0!important;
  border-left:1px solid var(--kp-line-faint)!important;
  background:linear-gradient(180deg,rgba(248,250,252,.82),rgba(255,255,255,0))!important;
}
.desk-selected-loans-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 11px!important;padding:0!important}
.desk-selected-loans-title span{font-size:.71rem!important;font-weight:850!important;letter-spacing:.08em!important;color:var(--text-muted,#64748b)!important}
.desk-selected-loans-title strong{display:grid;place-items:center;min-width:27px;height:27px;padding:0 8px;border-radius:999px;background:#eef2ff;color:#3157d5;font-size:.75rem}
.desk-loan-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;align-content:start;gap:9px!important;padding:0!important;overflow:visible!important}
.desk-loan-list>a{min-width:0;min-height:78px;margin:0!important;padding:11px 12px!important;border:1px solid var(--kp-line-faint);border-radius:14px!important;background:var(--card-bg,#fff);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.desk-loan-list>a:hover{transform:translateY(-1px);border-color:rgba(49,87,213,.34);box-shadow:0 9px 22px rgba(29,45,90,.075)}
.desk-loan-list>a.active{border-color:rgba(49,87,213,.34);background:rgba(49,87,213,.065);box-shadow:inset 3px 0 0 #3157d5}

.desk-content{display:flex;flex-direction:column;min-width:0;gap:14px}
.desk-client-hero{order:1;margin:0!important;padding:18px 21px!important;border:1px solid var(--kp-line-soft)!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(15,23,42,.045)!important}
.desk-client-profile h1{font-size:1.32rem!important}
.desk-financial-grid{order:2;margin:0!important}
.mobile-persistent-loan-actions{order:3}

/* Amortization: softer borders, correct inner spacing and one visual language. */
.amort-card{overflow:hidden;border:1px solid var(--kp-line-soft)!important;border-radius:20px!important;box-shadow:0 12px 32px rgba(15,23,42,.05)!important}
.amortization-reference{gap:14px!important}
.amortization-plan-section{padding:0!important;overflow:hidden!important;border:1px solid var(--kp-line-soft)!important;border-radius:17px!important;background:var(--card-bg,#fff)!important;box-shadow:none!important}
.amortization-plan-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin:0!important;padding:17px 19px!important;border:0!important;border-bottom:1px solid var(--kp-line-faint)!important;border-radius:0!important;background:linear-gradient(180deg,rgba(248,250,252,.98),rgba(255,255,255,.96))!important}
.amortization-plan-heading>div:first-child{min-width:0;padding:0!important}
.amortization-plan-heading .eyebrow{margin:0 0 6px!important;line-height:1.15!important}
.amortization-plan-heading h3{margin:0 0 6px!important;line-height:1.25!important}
.amortization-plan-heading p{margin:0!important;line-height:1.48!important}
.plan-heading-meta{align-self:center!important;margin:0!important}
.amortization-plan-section>.amortization-reference-table-wrap,.amortization-plan-section>.amortization-reference-mobile,.amortization-plan-section>.amortization-reference-toolbar,.amortization-plan-section>.amortization-closing-summary{margin-left:16px!important;margin-right:16px!important}
.amortization-plan-section>.amortization-reference-table-wrap{margin-top:16px!important;margin-bottom:16px!important}
.amortization-plan-section>.amortization-reference-mobile{margin-top:14px!important;margin-bottom:14px!important}
.amortization-plan-section>.amortization-reference-toolbar{margin-top:15px!important;margin-bottom:0!important}
.amortization-plan-section>.amortization-closing-summary{margin-top:15px!important;margin-bottom:16px!important}
.amortization-reference-table-wrap{border:1px solid var(--kp-line-faint)!important;border-radius:13px!important}
.amortization-reference-table th,.amortization-reference-table td{border-color:var(--kp-line-faint)!important}
.amortization-reference-table tbody tr:hover td{background:rgba(49,87,213,.025)!important}
.contract-plan-section .amortization-reference-table thead th{background:#344058!important}
.actual-plan-section .amortization-reference-table thead th{background:#245d63!important}
.amortization-reference-toolbar{border-color:var(--kp-line-faint)!important;background:var(--kp-surface-soft)!important;box-shadow:none!important}
.amortization-closing-summary{border-color:var(--kp-line-faint)!important;box-shadow:none!important}

html[data-theme="dark"]{--kp-line-soft:rgba(148,163,184,.22);--kp-line-faint:rgba(148,163,184,.14);--kp-surface-soft:#131c2b}
html[data-theme="dark"] .desk-sidebar,html[data-theme="dark"] .desk-client-card,html[data-theme="dark"] .desk-loan-list>a,html[data-theme="dark"] .amortization-plan-section{background:#111827!important}
html[data-theme="dark"] .desk-sidebar-head{background:linear-gradient(180deg,rgba(96,165,250,.07),rgba(17,24,39,0))!important}
html[data-theme="dark"] .desk-client-search{background:#151d2b!important;box-shadow:none!important}
html[data-theme="dark"] .desk-client-card:hover,html[data-theme="dark"] .desk-loan-list>a:hover{background:#172033!important}
html[data-theme="dark"] .desk-client-card.active{background:linear-gradient(135deg,rgba(248,113,113,.11),#151d2b)!important}
html[data-theme="dark"] .desk-selected-loans{background:linear-gradient(180deg,rgba(21,29,43,.9),rgba(17,24,39,0))!important}
html[data-theme="dark"] .desk-loan-list>a.active{background:rgba(96,165,250,.10)!important}
html[data-theme="dark"] .amortization-plan-heading{background:linear-gradient(180deg,#151d2b,#111827)!important}
html[data-theme="dark"] .contract-plan-section .amortization-reference-table thead th{background:#273249!important}
html[data-theme="dark"] .actual-plan-section .amortization-reference-table thead th{background:#1d5056!important}
html[data-theme="dark"] .amortization-reference-table tbody tr:hover td{background:rgba(96,165,250,.045)!important}

@media(max-width:991px){
  .desk-sidebar{grid-template-columns:minmax(250px,310px) minmax(0,1fr)}
  .desk-loan-list{grid-template-columns:1fr!important}
}

@media(max-width:767px){
  .desk-layout{gap:12px}
  .desk-sidebar{display:block!important;border-radius:17px!important;box-shadow:0 9px 25px rgba(15,23,42,.05)!important}
  .desk-sidebar-head{padding:15px 14px 12px!important;gap:10px!important}
  .desk-sidebar-head small{font-size:.75rem!important}
  .desk-sidebar-head>strong{font-size:.69rem;padding:6px 9px}
  .desk-client-search{margin:11px 13px 9px!important;min-height:45px!important}
  .desk-client-search-empty{margin:0 13px 12px!important}
  .desk-client-cards{max-height:260px!important;overflow:auto!important;padding:0 13px 13px!important;gap:6px!important}
  .desk-client-card{min-height:59px!important;padding:9px 10px!important;border-radius:12px!important}
  .desk-client-card:hover{transform:none!important;box-shadow:none!important}
  .desk-selected-loans{margin:0!important;padding:13px!important;border-left:0!important;border-top:1px solid var(--kp-line-faint)!important}
  .desk-loan-list{grid-template-columns:1fr!important;gap:7px!important}
  .desk-loan-list>a{min-height:73px!important}
  .desk-content{gap:11px}
  .desk-client-hero{padding:14px!important;border-radius:15px!important}
  .amort-card{border-radius:17px!important}
  .amortization-plan-section{border-radius:15px!important}
  .amortization-plan-heading{display:grid!important;grid-template-columns:1fr!important;padding:14px!important;gap:9px!important}
  .amortization-plan-heading h3{font-size:1rem!important}
  .amortization-plan-heading p{font-size:.79rem!important}
  .plan-heading-meta{align-self:start!important;justify-content:flex-start!important}
  .amortization-plan-section>.amortization-reference-table-wrap,.amortization-plan-section>.amortization-reference-mobile,.amortization-plan-section>.amortization-reference-toolbar,.amortization-plan-section>.amortization-closing-summary{margin-left:10px!important;margin-right:10px!important}
  .amortization-plan-section>.amortization-reference-mobile{margin-top:10px!important;margin-bottom:10px!important}
  .contract-installment-card,.actual-installment-card{border:1px solid var(--kp-line-faint)!important;box-shadow:none!important}
}

@media(max-width:420px){
  .desk-sidebar-head{align-items:flex-start!important}
  .desk-sidebar-head>strong{margin-top:1px}
  .desk-client-card-body strong{font-size:.88rem!important}
  .amortization-plan-heading{padding:12px!important}
  .amortization-plan-section>.amortization-reference-mobile,.amortization-plan-section>.amortization-reference-toolbar,.amortization-plan-section>.amortization-closing-summary{margin-left:8px!important;margin-right:8px!important}
}

/* v1.8.3 Public — mobile workspace and installment-payment polish */
#workspace-tool-content{scroll-margin-top:96px}
.installment-payment-trigger{white-space:nowrap;font-weight:750;border-radius:10px}
.installment-payment-context{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-bottom:18px;border:1px solid var(--border,#e5e7eb);border-radius:14px;background:var(--surface-soft,#f8fafc)}
.installment-payment-context span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#64748b)}
.installment-payment-context strong{font-size:1rem}
.installment-payment-modal .modal-content{border:0;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px rgba(15,23,42,.22)}
.installment-payment-modal .modal-header{padding:22px 24px 16px;border-bottom:1px solid var(--border,#e5e7eb)}
.installment-payment-modal .modal-body{padding:22px 24px}
.installment-payment-modal .modal-footer{padding:16px 24px 22px;border-top:1px solid var(--border,#e5e7eb)}
html[data-theme="dark"] .installment-payment-context{background:#101a2d;border-color:#26344d}
html[data-theme="dark"] .installment-payment-modal .modal-content{background:#101827;color:#e5edf8}
html[data-theme="dark"] .installment-payment-modal .modal-header,html[data-theme="dark"] .installment-payment-modal .modal-footer{border-color:#26344d}
@media (max-width:767.98px){
  #workspace-tool-content{scroll-margin-top:78px}
  .installment-payment-modal .modal-dialog{margin:0;min-height:100%;align-items:flex-end}
  .installment-payment-modal .modal-content{border-radius:22px 22px 0 0;max-height:92dvh}
  .installment-payment-modal .modal-header{padding:18px 18px 14px}
  .installment-payment-modal .modal-body{padding:18px;overflow-y:auto}
  .installment-payment-modal .modal-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom));position:sticky;bottom:0;background:inherit}
  .installment-payment-modal .modal-footer .btn{min-height:48px;flex:1}
  .actual-timeline-card .installment-payment-trigger{min-height:48px;font-size:.95rem}
}

/* v1.8.4 Public — final mobile amortization polish */
.loan-stat-card .stat-icon.gold{background:#fff6dc;color:#b7791f}
.interest-paid-stat{border-color:rgba(183,121,31,.18)!important;background:linear-gradient(145deg,#fff,#fffaf0)!important}
.interest-paid-stat strong{color:#9a6700}
.loan-amort-mobile-toggle .toggle-chevron{transition:transform .22s ease}
.loan-amort-mobile-toggle .toggle-chevron.is-rotated{transform:rotate(180deg)}
#loanAmortizationCard,.actual-plan-section,[data-installment-no]{scroll-margin-top:96px}
.amortization-focus-flash{animation:kpAmortFocus 2.5s ease both}
@keyframes kpAmortFocus{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}20%,70%{box-shadow:0 0 0 4px rgba(22,163,74,.22);background:rgba(22,163,74,.06)}}
html[data-theme="dark"] .interest-paid-stat{background:linear-gradient(145deg,#241f14,#151d2b)!important;border-color:#4e4124!important}html[data-theme="dark"] .interest-paid-stat strong{color:#f6c85f}
@media(max-width:767.98px){
  .loan-stat-grid.loan-mobile-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .loan-stat-card{min-height:138px!important;padding:15px!important}
  .interest-paid-stat{grid-column:auto!important}
  .loan-amort-mobile-toggle{position:relative;z-index:2}
  .loan-amortization-content{scroll-margin-top:88px}
}
@media(max-width:420px){.loan-stat-grid.loan-mobile-finance-grid{grid-template-columns:1fr!important}.loan-stat-card{min-height:112px!important}}


/* v1.9 Public — mobile banking-style actual plan and signed claim statement */
.mobile-actual-flow{display:none}
.signature-canvas-wrap{margin-top:14px;border:1px dashed #b8c3d3;border-radius:12px;background:#fff;overflow:hidden;touch-action:none}
.signature-canvas-wrap canvas{display:block;width:100%;height:170px;cursor:crosshair;touch-action:none}html[data-theme="dark"] .signature-canvas-wrap{background:#fff;border-color:#526075}
@media(max-width:767.98px){
 .desktop-amort{display:none!important}.mobile-amort{display:block!important}.mobile-actual-flow{display:grid!important;gap:11px}
 .actual-mobile-list .installment-card{display:none!important}
 .mobile-actual-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.045);overflow:hidden}
 .mobile-actual-card.is-payment{border-color:rgba(22,163,74,.25);background:linear-gradient(145deg,rgba(240,253,244,.96),#fff)}
 .mobile-actual-card.is-principal{border-color:rgba(16,185,129,.34)}
 .mobile-actual-card.is-due{border-left:4px solid #ef4444}.mobile-actual-card.is-future{border-left:4px solid #3b82f6}
 .mobile-actual-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.mobile-actual-title{display:grid;gap:3px;min-width:0}.mobile-actual-kicker{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mobile-actual-title strong{font-size:.96rem}
 .mobile-actual-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:12px;border-radius:12px;background:var(--surface-soft,#f6f8fb);margin-bottom:10px}.mobile-actual-hero span{font-size:.74rem;color:var(--muted);font-weight:700}.mobile-actual-hero strong{font-size:1.17rem;letter-spacing:-.02em}
 .mobile-actual-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-actual-key-grid>div{padding:10px;border:1px solid var(--border);border-radius:11px;background:rgba(248,250,252,.7);min-width:0}.mobile-actual-key-grid .wide{grid-column:1/-1}.mobile-actual-key-grid span,.mobile-actual-detail-list span{display:block;font-size:.66rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.035em}.mobile-actual-key-grid strong{display:block;margin-top:4px;font-size:.9rem;overflow-wrap:anywhere}
 .mobile-actual-details{margin-top:10px;border-top:1px solid var(--border)}.mobile-actual-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 2px 0;font-size:.78rem;font-weight:750;color:#3157d5;cursor:pointer}.mobile-actual-details summary::-webkit-details-marker{display:none}.mobile-actual-details[open] summary .fa-chevron-down{transform:rotate(180deg)}.mobile-actual-details summary .fa-chevron-down{transition:transform .2s ease}
 .mobile-actual-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.mobile-actual-detail-list>div{padding:9px;border-radius:10px;background:var(--surface-soft,#f6f8fb)}
 .mobile-event-editor.compact{margin-top:10px;padding:0;border:0;background:transparent;grid-template-columns:1fr 1fr}.mobile-event-editor.compact .wide{grid-column:1/-1}
 .mobile-installment-pay{width:100%;margin-top:12px;min-height:46px;border-radius:12px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}
}
html[data-theme="dark"] .mobile-actual-card{background:#111827;border-color:#2b3547}html[data-theme="dark"] .mobile-actual-card.is-payment{background:linear-gradient(145deg,#11251b,#111827)}html[data-theme="dark"] .mobile-actual-hero,html[data-theme="dark"] .mobile-actual-key-grid>div,html[data-theme="dark"] .mobile-actual-detail-list>div{background:#151d2b;border-color:#2b3547}

/* v1.9.1 Public — simplified mobile amortization calculation */
@media (max-width: 767.98px){
  .amortization-reference-summary.amortization-pro-summary{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .amortization-pro-summary .amort-summary-card{
    min-height: 0 !important;
    padding: 11px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }
  .amortization-pro-summary .summary-icon{ display: none !important; }
  .amortization-pro-summary .amort-summary-card > div{ min-width: 0; }
  .amortization-pro-summary .amort-summary-card span{
    font-size: .66rem !important;
    letter-spacing: .035em;
    text-transform: uppercase;
  }
  .amortization-pro-summary .amort-summary-card strong{
    margin-top: 4px;
    font-size: 1rem !important;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .amortization-pro-summary .amort-summary-card small{
    margin-top: 3px;
    font-size: .67rem !important;
    line-height: 1.25;
  }
  .amortization-plan-heading{
    display: block !important;
    padding: 14px !important;
    border-bottom: 1px solid var(--border) !important;
  }
  .amortization-plan-heading h3{ font-size: 1rem !important; margin: 2px 0 3px !important; }
  .amortization-plan-heading p{ font-size: .75rem !important; line-height: 1.35; margin: 0 !important; }
  .plan-heading-meta{ margin-top: 10px !important; display: flex !important; gap: 7px !important; }
  .monthly-payment-chip,.plan-lock,.live-plan-badge{
    min-height: 0 !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    box-shadow: none !important;
  }
  .monthly-payment-chip span{ font-size: .63rem !important; }
  .monthly-payment-chip strong{ font-size: .88rem !important; }

  .mobile-calculation-list,.mobile-actual-flow{
    display: grid !important;
    gap: 8px !important;
    padding: 10px !important;
    background: var(--surface-soft, #f7f8fb);
  }
  .mobile-calc-card,.mobile-actual-card{
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    background: var(--surface) !important;
    box-shadow: none !important;
    overflow: hidden;
  }
  .mobile-calc-head,.mobile-actual-card-head{
    display: flex;
    align-items: center !important;
    justify-content: space-between;
    gap: 10px;
    margin: 0 !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid var(--border);
    background: var(--surface-soft, #f8fafc);
  }
  .mobile-calc-head > div{ display: flex; align-items: baseline; gap: 5px; }
  .mobile-calc-label,.mobile-actual-kicker{
    font-size: .68rem !important;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .04em !important;
    text-transform: uppercase;
    color: var(--muted);
  }
  .mobile-calc-number,.mobile-installment-number{ font-size: .88rem; color: var(--text); }
  .mobile-calc-head time,.mobile-actual-title > strong{ font-size: .78rem !important; font-weight: 700; color: var(--muted); }
  .mobile-calc-lines{ display: grid; padding: 5px 12px 10px; }
  .mobile-calc-lines > div,.mobile-actual-key-grid > div,.mobile-actual-detail-list > div{
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 34px;
    padding: 7px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--border) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  .mobile-calc-lines > div:last-child,.mobile-actual-key-grid > div:last-child,.mobile-actual-detail-list > div:last-child{ border-bottom: 0 !important; }
  .mobile-calc-lines span,.mobile-actual-key-grid span,.mobile-actual-detail-list span{
    display: block;
    font-size: .71rem !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--muted);
  }
  .mobile-calc-lines strong,.mobile-actual-key-grid strong,.mobile-actual-detail-list strong{
    margin: 0 !important;
    font-size: .82rem !important;
    text-align: right;
    color: var(--text);
  }
  .mobile-calc-total{ margin-top: 2px; }
  .mobile-calc-total span,.mobile-calc-total strong{ color: var(--primary) !important; font-weight: 800 !important; }
  .mobile-calc-balance strong{ font-weight: 800 !important; }

  .mobile-actual-hero{
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 0 !important;
    border-bottom: 1px solid var(--border);
    background: transparent !important;
  }
  .mobile-actual-hero span{ font-size: .7rem !important; }
  .mobile-actual-hero strong{ font-size: 1rem !important; }
  .mobile-actual-key-grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 4px 12px 8px;
  }
  .mobile-actual-key-grid .wide{ grid-column: auto !important; }
  .mobile-actual-details{ margin: 0 12px !important; }
  .mobile-actual-details summary{ padding: 10px 0 !important; }
  .mobile-actual-detail-list{
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 0 !important;
    padding-bottom: 6px;
  }
  .mobile-installment-pay{
    width: calc(100% - 24px) !important;
    min-height: 42px !important;
    margin: 9px 12px 12px !important;
    border-radius: 9px !important;
    font-size: .78rem;
    box-shadow: none !important;
  }
  .mobile-actual-card.is-due,.mobile-actual-card.is-future{ border-left-width: 3px !important; }
  .mobile-actual-card.is-payment{ background: var(--surface) !important; }
  .event-installment-no{ font-weight: 800; }
}
@media (max-width: 390px){
  .amortization-reference-summary.amortization-pro-summary{ grid-template-columns: 1fr !important; }
}
html[data-theme="dark"] .mobile-calculation-list,html[data-theme="dark"] .mobile-actual-flow{ background: #0d1420; }
html[data-theme="dark"] .mobile-calc-card,html[data-theme="dark"] .mobile-actual-card{ background: #111827 !important; border-color: #2b3547 !important; }
html[data-theme="dark"] .mobile-calc-head,html[data-theme="dark"] .mobile-actual-card-head{ background: #151d2b !important; border-color: #2b3547 !important; }

/* v1.9.2 — Actual-plan state highlighting */
.actual-only-table tbody tr.due-event-row,.actual-only-table tbody tr.payment-event-row,.actual-only-table tbody tr.projection-event-row{
  transition: background-color .18s ease, box-shadow .18s ease;
}
.actual-only-table tbody tr.installment-state-paid > *{
  background: #effbf4 !important;
  border-color: #d8f2e2 !important;
}
.actual-only-table tbody tr.installment-state-paid:hover > *{
  background: #e7f8ee !important;
}
.actual-only-table tbody tr.payment-recorded-row > *{
  background: #f5fcf7 !important;
  border-color: #def1e5 !important;
}
.actual-only-table tbody tr.payment-recorded-row:hover > *{
  background: #edf9f1 !important;
}
.actual-only-table tbody tr.installment-state-partial > *,.actual-only-table tbody tr.installment-state-partially_paid > *{
  background: #fff9ed !important;
  border-color: #f7e8c5 !important;
}
.actual-only-table tbody tr.installment-state-partial:hover > *,.actual-only-table tbody tr.installment-state-partially_paid:hover > *{
  background: #fff4dc !important;
}
.actual-only-table tbody tr.installment-state-overdue > *,.actual-only-table tbody tr.installment-state-late > *{
  background: #fff5f5 !important;
  border-color: #f7dddd !important;
}
.actual-only-table tbody tr.installment-state-overdue:hover > *,.actual-only-table tbody tr.installment-state-late:hover > *{
  background: #ffeded !important;
}
.actual-only-table tbody tr.installment-state-future > *{
  background: #fbfcfe !important;
}

.mobile-actual-card.installment-state-paid{
  background: #effbf4 !important;
  border-color: #cfeedd !important;
}
.mobile-actual-card.payment-recorded-card{
  background: #f5fcf7 !important;
  border-color: #d8efe1 !important;
}
.mobile-actual-card.installment-state-partial,.mobile-actual-card.installment-state-partially_paid{
  background: #fff9ed !important;
  border-color: #f2dfb4 !important;
}
.mobile-actual-card.installment-state-overdue,.mobile-actual-card.installment-state-late{
  background: #fff5f5 !important;
  border-color: #f4d3d3 !important;
}

html[data-theme="dark"] .actual-only-table tbody tr.installment-state-paid > *{
  background: #11261c !important;
  border-color: #244936 !important;
  color: #e9fff1 !important;
}
html[data-theme="dark"] .actual-only-table tbody tr.installment-state-paid:hover > *{
  background: #163023 !important;
}
html[data-theme="dark"] .actual-only-table tbody tr.payment-recorded-row > *{
  background: #102219 !important;
  border-color: #244333 !important;
  color: #e9fff1 !important;
}
html[data-theme="dark"] .actual-only-table tbody tr.payment-recorded-row:hover > *{
  background: #152b20 !important;
}
html[data-theme="dark"] .actual-only-table tbody tr.installment-state-partial > *,html[data-theme="dark"] .actual-only-table tbody tr.installment-state-partially_paid > *{
  background: #2a2112 !important;
  border-color: #51401e !important;
  color: #fff6dd !important;
}
html[data-theme="dark"] .actual-only-table tbody tr.installment-state-overdue > *,html[data-theme="dark"] .actual-only-table tbody tr.installment-state-late > *{
  background: #2c1719 !important;
  border-color: #54282d !important;
  color: #ffecef !important;
}
html[data-theme="dark"] .actual-only-table tbody tr.installment-state-future > *{
  background: #111827 !important;
}
html[data-theme="dark"] .mobile-actual-card.installment-state-paid,html[data-theme="dark"] .mobile-actual-card.payment-recorded-card{
  background: #11261c !important;
  border-color: #2b513d !important;
}
html[data-theme="dark"] .mobile-actual-card.installment-state-partial,html[data-theme="dark"] .mobile-actual-card.installment-state-partially_paid{
  background: #2a2112 !important;
  border-color: #5a4621 !important;
}
html[data-theme="dark"] .mobile-actual-card.installment-state-overdue,html[data-theme="dark"] .mobile-actual-card.installment-state-late{
  background: #2c1719 !important;
  border-color: #5b2b31 !important;
}

/* v2.5 Beta lifecycle, simulation and late-interest polish */
.eur-only-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .8rem;border-radius:999px;background:#f4f6f9;color:#5c6677;font-size:.78rem;font-weight:800;white-space:nowrap}
.lifecycle-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 24px 18px}
.lifecycle-status-card{display:flex;gap:13px;align-items:center;padding:16px;border:1px solid var(--border-color,#e7eaf0);border-radius:15px;background:var(--card-bg,#fff)}
.lifecycle-status-card .lifecycle-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef3ff;color:#315fca;flex:0 0 auto}
.lifecycle-status-card.is-warning .lifecycle-icon{background:#fff4df;color:#b66b00}.lifecycle-status-card.is-muted{opacity:.78}
.lifecycle-status-card small,.lifecycle-status-card p{display:block;color:var(--muted,#758094);margin:0}.lifecycle-status-card strong{display:block;font-size:1.05rem;margin:.16rem 0}.lifecycle-status-card p{font-size:.77rem}
.lifecycle-tool-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:16px;padding:0 24px 24px}
.lifecycle-tool-card{border:1px solid var(--border-color,#e7eaf0);border-radius:18px;background:var(--card-bg,#fff);padding:18px;min-width:0}
.lifecycle-tool-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.lifecycle-tool-head>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f1f4fa;color:#2f5ebd;flex:0 0 auto}.lifecycle-tool-head h3{font-size:1rem;margin:0 0 4px}.lifecycle-tool-head p{font-size:.82rem;color:var(--muted,#758094);margin:0;line-height:1.45}
.what-if-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.what-if-fields label>span{display:block;font-size:.74rem;font-weight:800;color:var(--muted,#758094);margin-bottom:6px}
.what-if-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.what-if-results>div{padding:11px;border-radius:12px;background:#f7f8fb}.what-if-results small{display:block;font-size:.68rem;color:#7d8797}.what-if-results strong{display:block;margin-top:4px;font-size:.88rem;overflow-wrap:anywhere}.what-if-results .is-decrease{background:#ebf9ef;color:#176636}.what-if-results .is-increase{background:#fff0f1;color:#a72f3b}.what-if-disclaimer{font-size:.75rem;color:var(--muted,#758094);margin:12px 0 0}
.settlement-option-list{display:grid;gap:8px;margin-bottom:16px}.settlement-option-list>div{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:11px;background:#f7f8fb}.settlement-option-list span{font-size:.77rem;color:#687385}.settlement-option-list strong{font-size:.82rem;text-align:right}
.restructure-card ul{padding-left:18px;margin:0 0 16px;color:#687385;font-size:.8rem;line-height:1.65}
.setting-toggle-row{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border:1px solid var(--border-color,#e7eaf0);border-radius:13px;background:#fafbfc}.setting-toggle-row input{margin-top:4px}.setting-toggle-row span{display:block}.setting-toggle-row strong,.setting-toggle-row small{display:block}.setting-toggle-row small{color:var(--muted,#758094);font-size:.76rem;margin-top:2px}.setting-toggle-row.compact{padding:10px 12px;height:100%}
.settlement-mode-picker{display:grid;gap:10px}.settlement-mode-picker label{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #e4e8ee;border-radius:13px;cursor:pointer;transition:.18s ease}.settlement-mode-picker label.active{border-color:#2b8a50;background:#edf9f1;box-shadow:0 0 0 2px rgba(43,138,80,.08)}.settlement-mode-picker strong,.settlement-mode-picker small{display:block}.settlement-mode-picker small{color:#6f7887;margin-top:3px}
[data-bs-theme="dark"] .eur-only-badge,[data-theme="dark"] .eur-only-badge{background:#252b36;color:#c9d0dc}
[data-bs-theme="dark"] .lifecycle-tool-card,[data-bs-theme="dark"] .lifecycle-status-card,[data-theme="dark"] .lifecycle-tool-card,[data-theme="dark"] .lifecycle-status-card{background:#191e27;border-color:#303746}
[data-bs-theme="dark"] .what-if-results>div,[data-bs-theme="dark"] .settlement-option-list>div,[data-theme="dark"] .what-if-results>div,[data-theme="dark"] .settlement-option-list>div{background:#232a35}
[data-bs-theme="dark"] .setting-toggle-row,[data-theme="dark"] .setting-toggle-row{background:#202630;border-color:#343c4a}
[data-bs-theme="dark"] .settlement-mode-picker label,[data-theme="dark"] .settlement-mode-picker label{border-color:#38404f;background:#202630}
[data-bs-theme="dark"] .settlement-mode-picker label.active,[data-theme="dark"] .settlement-mode-picker label.active{border-color:#3ca767;background:#173222}
@media(max-width:1199.98px){.lifecycle-tool-grid{grid-template-columns:1fr 1fr}.what-if-card{grid-column:1/-1}}
@media(max-width:767.98px){.loan-lifecycle-tools .section-head{align-items:flex-start;gap:10px}.eur-only-badge{font-size:.7rem}.lifecycle-overview-grid,.lifecycle-tool-grid{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.lifecycle-overview-grid{gap:8px}.lifecycle-status-card{padding:13px}.lifecycle-tool-card{padding:15px;border-radius:15px}.what-if-fields{grid-template-columns:1fr}.what-if-results{grid-template-columns:1fr 1fr}.settlement-option-list>div{align-items:center}.modal .setting-toggle-row{margin-top:0}}
@media(max-width:420px){.what-if-results{grid-template-columns:1fr}.lifecycle-tool-head>span{width:38px;height:38px}.lifecycle-tool-head h3{font-size:.95rem}}

/* v2.5.1 Beta — Office master-detail redesign */
.workspace-command-bar{
  display:grid;
  grid-template-columns:auto minmax(280px,560px) auto;
  align-items:center;
  gap:18px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:0 12px 34px rgba(15,23,42,.06);
}
.workspace-command-bar:not(.is-desk){grid-template-columns:auto 1fr}
.workspace-command-bar .workspace-tabs{margin:0!important;box-shadow:none!important;border:0!important;background:transparent!important;padding:0!important;gap:6px}
.workspace-command-bar .workspace-tabs a{min-height:52px;padding:0 18px;border-radius:12px}
.workspace-command-search{
  min-height:52px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 12px 0 16px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface-2);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.workspace-command-search:focus-within{border-color:rgba(49,87,213,.42);box-shadow:0 0 0 4px rgba(49,87,213,.09);background:var(--surface)}
.workspace-command-search>i{color:var(--muted);font-size:1rem}
.workspace-command-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:.96rem}
.workspace-command-search input::placeholder{color:var(--muted)}
.workspace-command-search kbd{padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--muted);font:700 .69rem/1 system-ui;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.workspace-command-search button{display:none;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted)}
.workspace-command-search.has-value button{display:grid;place-items:center}
.workspace-command-count{display:flex;align-items:center;gap:8px;justify-self:end;padding:0 13px;min-height:42px;border:1px solid rgba(49,87,213,.15);border-radius:12px;background:rgba(49,87,213,.06);color:#3157d5;font-size:.78rem;font-weight:800;white-space:nowrap}

.office-v251{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
.office-master-detail{
  display:grid;
  grid-template-columns:minmax(285px,350px) minmax(0,1fr);
  min-height:520px;
  padding:0!important;
  overflow:hidden;
  border-radius:22px!important;
  box-shadow:0 16px 44px rgba(15,23,42,.065)!important;
}
.office-client-panel{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-2))}
.office-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 20px 16px;border-bottom:1px solid var(--border)}
.office-panel-head>div{min-width:0}
.office-panel-head .eyebrow{display:block;margin-bottom:4px;color:#3157d5;font-size:.71rem;font-weight:900;letter-spacing:.09em}
.office-panel-head h2{margin:0;color:var(--text);font-size:1.08rem;line-height:1.25}
.office-panel-head p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
.office-panel-head>strong{display:grid;place-items:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#eef2ff;color:#3157d5;font-size:.75rem}
.office-client-list{display:flex!important;flex-direction:column;gap:8px!important;max-height:465px!important;overflow:auto!important;padding:14px!important;scrollbar-width:thin}
.office-v251 .desk-client-card{display:grid!important;grid-template-columns:46px minmax(0,1fr) auto!important;align-items:center!important;gap:11px!important;min-height:70px!important;padding:11px 12px!important;border:1px solid var(--border)!important;border-radius:15px!important;background:var(--surface)!important;box-shadow:none!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease!important}
.office-v251 .desk-client-card:hover{transform:translateY(-1px)!important;border-color:rgba(49,87,213,.28)!important;background:#fbfcff!important;box-shadow:0 8px 20px rgba(15,23,42,.055)!important}
.office-v251 .desk-client-card.active{border-color:rgba(49,87,213,.55)!important;background:linear-gradient(135deg,rgba(49,87,213,.085),rgba(255,255,255,.98))!important;box-shadow:inset 3px 0 0 #3157d5,0 9px 22px rgba(49,87,213,.08)!important}
.office-v251 .desk-client-card-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#eef2ff;color:#3157d5;font-size:.82rem;font-weight:900;box-shadow:none!important}
.office-v251 .desk-client-card.active .desk-client-card-avatar{background:linear-gradient(135deg,#3157d5,#5477ea);color:#fff}
.office-v251 .desk-client-card-body{min-width:0;display:grid;gap:3px}
.office-v251 .desk-client-card-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:.9rem;line-height:1.25}
.office-v251 .desk-client-card-body small{color:var(--muted);font-size:.72rem}
.office-v251 .desk-client-card-state{display:flex;align-items:center;gap:8px;color:var(--muted)}
.office-state-dot{font-size:.56rem}.office-state-dot.is-current{color:#16a34a}.office-state-dot.is-overdue{color:#dc2626}
.office-v251 .desk-client-open-icon{font-size:.75rem}
.office-v251 .desk-client-search-empty{margin:14px!important}

.office-loan-panel{min-width:0;background:var(--surface)}
.office-selected-client{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;border-bottom:1px solid var(--border)}
.office-selected-client-main{display:flex;align-items:center;gap:15px;min-width:0}
.office-selected-avatar{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#3157d5,#5274e8);color:#fff;font-weight:900;box-shadow:0 10px 22px rgba(49,87,213,.18)}
.office-selected-client-main>div{min-width:0}
.office-selected-client .eyebrow{display:block;margin-bottom:4px;font-size:.68rem;letter-spacing:.08em}
.office-selected-client h2{margin:0;color:var(--text);font-size:1.3rem;line-height:1.25}
.office-selected-client p{display:flex;flex-wrap:wrap;gap:7px 16px;margin:7px 0 0;color:var(--muted);font-size:.77rem}
.office-selected-client p span{display:inline-flex;align-items:center;gap:6px}
.office-client-profile-btn{display:inline-flex!important;align-items:center;gap:8px;white-space:nowrap;border-color:var(--border)!important}
.office-loan-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 26px 10px}
.office-loan-panel-head h3{margin:0;color:var(--text);font-size:.9rem;text-transform:uppercase;letter-spacing:.075em}
.office-loan-panel-head p{margin:4px 0 0;color:var(--muted);font-size:.75rem}
.office-loan-panel-head>strong{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#eef2ff;color:#3157d5;font-size:.72rem}
.office-loan-list{display:grid;gap:12px;padding:8px 26px 24px}
.office-loan-card{position:relative;display:grid;gap:14px;padding:17px 18px;border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:0 8px 24px rgba(15,23,42,.045);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.office-loan-card:hover{transform:translateY(-1px);border-color:rgba(49,87,213,.28);box-shadow:0 14px 30px rgba(15,23,42,.07)}
.office-loan-card.active{border-color:rgba(49,87,213,.48);background:linear-gradient(135deg,rgba(49,87,213,.045),var(--surface));box-shadow:inset 3px 0 0 #3157d5,0 12px 30px rgba(49,87,213,.075)}
.office-loan-title-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px}
.office-loan-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#eef2ff;color:#3157d5;font-size:1rem}
.office-loan-title-row>div{min-width:0}
.office-loan-title-row h4{margin:0;color:var(--text);font-size:1.03rem}
.office-loan-title-row p{margin:4px 0 0;color:var(--muted);font-size:.72rem}
.office-loan-title-row .status{justify-self:end}
.office-loan-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.office-loan-metrics>div{display:grid;gap:4px;padding:13px 16px;border-right:1px solid var(--border)}
.office-loan-metrics>div:first-child{padding-left:0}.office-loan-metrics>div:last-child{padding-right:0;border-right:0}
.office-loan-metrics span{color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.045em}
.office-loan-metrics strong{color:var(--text);font-size:.91rem;white-space:nowrap}
.office-loan-progress{display:grid;gap:7px}
.office-loan-progress>span{display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem}
.office-loan-progress .progress{height:5px;background:var(--surface-2)}
.office-open-treatment{justify-self:end;display:inline-flex!important;align-items:center;gap:10px;min-height:42px;padding:0 16px!important;border-radius:11px!important}

/* Keep the selected treatment visually connected to the master panel. */
.office-v251>.desk-content{gap:14px!important}
.office-v251 .desk-client-hero{margin-top:0!important}

html[data-theme="dark"] .workspace-command-bar,html[data-theme="dark"] .office-master-detail,html[data-theme="dark"] .office-loan-panel,html[data-theme="dark"] .office-loan-card,html[data-theme="dark"] .office-v251 .desk-client-card{background:#111827!important}
html[data-theme="dark"] .workspace-command-search{background:#151d2b;border-color:#283449}
html[data-theme="dark"] .workspace-command-search:focus-within{background:#111827}
html[data-theme="dark"] .office-client-panel{background:linear-gradient(180deg,#111827,#0f172a)}
html[data-theme="dark"] .office-v251 .desk-client-card:hover{background:#172033!important}
html[data-theme="dark"] .office-v251 .desk-client-card.active{background:linear-gradient(135deg,rgba(96,165,250,.12),#111827)!important}
html[data-theme="dark"] .office-loan-card.active{background:linear-gradient(135deg,rgba(96,165,250,.08),#111827)}
html[data-theme="dark"] .office-panel-head>strong,html[data-theme="dark"] .office-loan-panel-head>strong,html[data-theme="dark"] .office-loan-icon{background:rgba(96,165,250,.12);color:#93c5fd}
html[data-theme="dark"] .workspace-command-count{background:rgba(96,165,250,.10);border-color:rgba(96,165,250,.18);color:#93c5fd}

@media (max-width:1100px){
  .workspace-command-bar{grid-template-columns:auto minmax(220px,1fr) auto;gap:10px}
  .workspace-command-search kbd{display:none}
  .office-master-detail{grid-template-columns:minmax(250px,300px) minmax(0,1fr)}
  .office-loan-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .office-loan-metrics>div:nth-child(2){border-right:0}.office-loan-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--border)}
  .office-loan-metrics>div:nth-child(3){padding-left:0}
}

@media (max-width:767px){
  .workspace-command-bar{position:sticky;top:calc(var(--mobile-topbar-height,64px) + env(safe-area-inset-top));z-index:35;display:grid;grid-template-columns:1fr;gap:8px;padding:8px;border-radius:15px;margin-bottom:12px!important}
  .workspace-command-bar .workspace-tabs{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .workspace-command-bar .workspace-tabs a{justify-content:center;min-height:46px;padding:0 10px}
  .workspace-command-search{order:2;min-height:48px;border-radius:12px}
  .workspace-command-count{display:none}
  .office-master-detail{display:block;min-height:0;border-radius:17px!important;overflow:visible}
  .office-client-panel{border-right:0;border-bottom:1px solid var(--border)}
  .office-panel-head{padding:15px 14px 11px}
  .office-panel-head h2{font-size:1rem}.office-panel-head p{display:none}
  .office-client-list{max-height:238px!important;padding:10px 12px 12px!important;gap:6px!important}
  .office-v251 .desk-client-card{min-height:60px!important;padding:8px 10px!important;border-radius:12px!important;grid-template-columns:40px minmax(0,1fr) auto!important}
  .office-v251 .desk-client-card-avatar{width:40px;height:40px;border-radius:11px}
  .office-v251 .desk-client-card:hover{transform:none!important;box-shadow:none!important}
  .office-selected-client{padding:15px 14px;align-items:flex-start}
  .office-selected-avatar{width:46px;height:46px;border-radius:13px}
  .office-selected-client h2{font-size:1.06rem}
  .office-selected-client p{gap:5px 10px;margin-top:5px}
  .office-selected-client p span:has(.fa-envelope){display:none}
  .office-client-profile-btn{width:42px;height:42px;padding:0!important;justify-content:center}
  .office-client-profile-btn span{display:none}
  .office-loan-panel-head{padding:14px 14px 7px}
  .office-loan-panel-head p{display:none}
  .office-loan-list{padding:7px 12px 14px;gap:9px}
  .office-loan-card{gap:11px;padding:13px;border-radius:14px;box-shadow:none}
  .office-loan-card:hover{transform:none;box-shadow:none}
  .office-loan-title-row{grid-template-columns:42px minmax(0,1fr) auto;gap:9px}
  .office-loan-icon{width:42px;height:42px;border-radius:12px}
  .office-loan-title-row h4{font-size:.93rem}
  .office-loan-title-row .status{font-size:.64rem;padding:6px 8px}
  .office-loan-metrics{grid-template-columns:repeat(2,minmax(0,1fr));border:0;gap:6px}
  .office-loan-metrics>div,.office-loan-metrics>div:first-child,.office-loan-metrics>div:last-child,.office-loan-metrics>div:nth-child(3){padding:8px 9px;border:1px solid var(--border)!important;border-radius:10px;background:var(--surface-2)}
  .office-loan-metrics span{font-size:.57rem}.office-loan-metrics strong{font-size:.76rem;overflow:hidden;text-overflow:ellipsis}
  .office-loan-progress{display:none}
  .office-open-treatment{width:100%;justify-content:center;min-height:44px;margin-top:1px}
}

/* v2.5.2 Beta — compact professional loan profile redesign */
.loan-profile-v252{max-width:1480px}
.loan-profile-v252 .loan-hero{padding:22px 26px;border-radius:20px;box-shadow:0 14px 38px rgba(31,45,78,.08)}
.loan-profile-v252 .loan-back{margin-bottom:14px}
.loan-profile-v252 .loan-title-row{gap:18px}
.loan-profile-v252 .loan-hero-icon{width:58px;height:58px;border-radius:16px}
.loan-profile-v252 .loan-title-row h1{font-size:1.62rem;margin:2px 0 6px}
.loan-profile-v252 .loan-hero-actions{gap:10px}
.loan-profile-v252 .loan-hero-actions .btn,.loan-profile-v252 .loan-hero-actions .status{min-height:44px;height:44px;border-radius:12px;padding-inline:16px;font-weight:750}
.loan-profile-v252 .loan-summary-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);gap:16px;margin-left:0;margin-right:0}
.loan-profile-v252 .loan-summary-grid>[class*="col-"]{width:auto;max-width:none;padding:0}
.loan-profile-v252 .loan-balance-panel{padding:22px 24px;border-radius:20px;min-height:0;background:linear-gradient(145deg,#12213d,#20385f);box-shadow:0 16px 36px rgba(18,33,61,.2)}
.loan-profile-v252 .loan-panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.loan-profile-v252 .loan-panel-heading-title{display:flex;align-items:center;gap:11px}
.loan-profile-v252 .loan-panel-heading-title>strong{font-size:1.08rem;letter-spacing:-.015em}
.loan-profile-v252 .loan-panel-heading-icon,.loan-profile-v252 .loan-panel-heading-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#dbe7ff}
.loan-profile-v252 .loan-panel-heading-mark{width:36px;height:36px;font-size:.85rem}
.loan-profile-v252 .loan-balance-top strong{font-size:2.42rem;margin:6px 0 3px}
.loan-profile-v252 .loan-balance-symbol{display:none}
.loan-profile-v252 .loan-progress-meta{margin-top:20px}
.loan-profile-v252 .loan-balance-panel .progress{height:7px;margin-top:8px}
.loan-profile-v252 .loan-highlight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:20px;border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden}
.loan-profile-v252 .loan-highlight-grid>div{min-width:0;padding:13px 12px;border-radius:0;background:rgba(255,255,255,.045);border-right:1px solid rgba(255,255,255,.1)}
.loan-profile-v252 .loan-highlight-grid>div:last-child{border-right:0}
.loan-profile-v252 .loan-highlight-grid i{font-size:.92rem}
.loan-profile-v252 .loan-highlight-grid span{font-size:.63rem;white-space:nowrap}
.loan-profile-v252 .loan-highlight-grid strong{font-size:.82rem;overflow-wrap:anywhere}
.loan-profile-v252 .loan-overdue-highlight{background:rgba(218,50,67,.1)!important}
.loan-profile-v252 .loan-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.loan-profile-v252 .loan-stat-card{min-height:0;padding:16px 17px;border-radius:17px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:12px;align-content:center;box-shadow:0 8px 22px rgba(28,39,68,.045)}
.loan-profile-v252 .loan-stat-card .stat-icon{grid-row:1/4;width:42px;height:42px;margin:0;border-radius:50%;align-self:center}
.loan-profile-v252 .loan-stat-card>small:not(.stat-footnote){font-size:.69rem;line-height:1.2;text-transform:none;letter-spacing:0}
.loan-profile-v252 .loan-stat-card>strong{font-size:1.13rem;margin-top:5px;line-height:1.15}
.loan-profile-v252 .loan-stat-card .stat-footnote{grid-column:2;margin-top:5px;font-size:.67rem;text-transform:none;letter-spacing:0}
.loan-profile-v252 .loan-stat-card.monthly-payment-stat{grid-column:auto;display:grid;min-height:0;padding:16px 17px}
.loan-profile-v252 .loan-stat-card.monthly-payment-stat .stat-icon{grid-row:1/4}
.loan-profile-v252 .loan-stat-card.monthly-payment-stat strong{font-size:1.2rem}
.loan-profile-v252 .loan-details-card{border-radius:20px;overflow:hidden}
.loan-profile-v252 .loan-details-card .section-head{padding:16px 22px 13px}
.loan-profile-v252 .loan-details-columns{display:grid;grid-template-columns:1fr 1fr;padding:0 22px 18px}
.loan-profile-v252 .loan-details-column{min-width:0}
.loan-profile-v252 .loan-details-column:first-child{padding-right:24px;border-right:1px solid var(--border)}
.loan-profile-v252 .loan-details-column:last-child{padding-left:24px}
.loan-profile-v252 .loan-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:44px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.loan-profile-v252 .loan-detail-row:last-child{border-bottom:0}
.loan-profile-v252 .loan-detail-row span{font-size:.78rem;color:var(--muted)}
.loan-profile-v252 .loan-detail-row strong{font-size:.84rem;text-align:right;overflow-wrap:anywhere}
.loan-profile-v252 .amort-card{border-radius:20px}
.loan-profile-v252 .amort-card>.section-head{padding:17px 20px}

[data-theme="dark"] .loan-profile-v252 .loan-stat-card{background:var(--surface);border-color:var(--border);box-shadow:none}
[data-theme="dark"] .loan-profile-v252 .loan-details-card{background:var(--surface)}
[data-theme="dark"] .loan-profile-v252 .loan-detail-row{border-color:rgba(148,163,184,.14)}

@media(max-width:1199px){
  .loan-profile-v252 .loan-summary-grid{grid-template-columns:1fr}
  .loan-profile-v252 .loan-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
  .loan-profile-v252 .loan-hero{padding:17px;border-radius:17px}
  .loan-profile-v252 .loan-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .loan-profile-v252 .loan-hero-actions .status{grid-column:1/-1;width:max-content;justify-self:start;min-height:38px;height:38px}
  .loan-profile-v252 .loan-hero-actions .btn{min-height:44px;height:44px}
  .loan-profile-v252 .loan-summary-grid{gap:11px}
  .loan-profile-v252 .loan-balance-panel{padding:18px 16px;border-radius:17px}
  .loan-profile-v252 .loan-panel-heading{margin-bottom:17px}
  .loan-profile-v252 .loan-balance-top strong{font-size:2rem}
  .loan-profile-v252 .loan-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .loan-profile-v252 .loan-highlight-grid>div:nth-child(2){border-right:0}
  .loan-profile-v252 .loan-highlight-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
  .loan-profile-v252 .loan-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .loan-profile-v252 .loan-stat-card,.loan-profile-v252 .loan-stat-card.monthly-payment-stat{min-height:88px!important;padding:13px!important;border-radius:14px!important;grid-template-columns:36px minmax(0,1fr);column-gap:10px}
  .loan-profile-v252 .loan-stat-card .stat-icon,.loan-profile-v252 .loan-stat-card.monthly-payment-stat .stat-icon{width:36px!important;height:36px!important}
  .loan-profile-v252 .loan-stat-card>strong,.loan-profile-v252 .loan-stat-card.monthly-payment-stat strong{font-size:.95rem!important}
  .loan-profile-v252 .loan-stat-card>small:not(.stat-footnote){font-size:.61rem!important}
  .loan-profile-v252 .loan-stat-card .stat-footnote{font-size:.59rem!important}
  .loan-profile-v252 .loan-details-card .section-head{padding:14px 15px 10px}
  .loan-profile-v252 .loan-details-columns{grid-template-columns:1fr;padding:0 15px 12px}
  .loan-profile-v252 .loan-details-column:first-child,.loan-profile-v252 .loan-details-column:last-child{padding:0;border-right:0}
  .loan-profile-v252 .loan-details-column:first-child{border-bottom:1px solid var(--border)}
  .loan-profile-v252 .loan-detail-row{min-height:42px;gap:12px}
  .loan-profile-v252 .loan-detail-row span{font-size:.72rem}
  .loan-profile-v252 .loan-detail-row strong{font-size:.77rem}
}
@media(max-width:430px){
  .loan-profile-v252 .loan-title-row h1{font-size:1.22rem}
  .loan-profile-v252 .loan-hero-actions{grid-template-columns:1fr}
  .loan-profile-v252 .loan-stat-grid{grid-template-columns:1fr 1fr!important}
  .loan-profile-v252 .loan-stat-card,.loan-profile-v252 .loan-stat-card.monthly-payment-stat{grid-column:auto!important}
  .loan-profile-v252 .loan-highlight-grid span{white-space:normal}
}

/* v2.6 Beta — workflow, mobile and settlement polish */
.workspace-command-bar.is-desk{
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  padding:8px 10px;
}
.workspace-command-bar.is-desk .workspace-command-search{
  width:100%;
  max-width:none;
}
.workspace-command-count{
  min-width:max-content;
  height:46px;
  padding-inline:14px;
  border-radius:13px;
  line-height:1;
}
.workspace-command-count span{display:block;white-space:nowrap}
.office-panel-head>strong{
  min-width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0 9px;
  border-radius:999px;
  background:rgba(49,87,213,.08);
  border:1px solid rgba(49,87,213,.14);
  color:#3157d5;
  font-size:.75rem;
  line-height:1;
}
.office-master-detail{min-height:0}
.office-client-panel,.office-loan-panel{min-height:420px}
.office-client-list{max-height:530px;overflow:auto;scrollbar-width:thin}
.office-selected-client{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-2) 65%,var(--surface)))}
.office-loan-list{align-content:start}
.office-loan-card{min-height:0}
.office-open-treatment{min-width:210px}
.mobile-persistent-actions-grid .settlement{
  color:#147d48;
  border-color:rgba(24,137,77,.25);
  background:#edf9f1;
}

.early-settlement-modal .modal-content{
  border:0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(15,23,42,.25);
}
.early-settlement-header{
  padding:20px 22px;
  background:linear-gradient(135deg,#f8fbf9,#fff);
  border-bottom:1px solid var(--border);
}
.early-settlement-heading{display:flex;align-items:center;gap:14px;min-width:0}
.early-settlement-heading>div{min-width:0}
.early-settlement-heading p{margin:5px 0 0;color:var(--muted);font-size:.8rem}
.early-settlement-icon{
  width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:14px;background:#e8f8ee;color:#17844c;font-size:1.05rem;
}
.early-settlement-summary{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;
}
.early-settlement-summary>div{
  padding:14px 15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);
}
.early-settlement-summary span,.early-settlement-summary strong{display:block}
.early-settlement-summary span{font-size:.68rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.early-settlement-summary strong{margin-top:5px;font-size:1rem;color:var(--text)}
.early-settlement-summary .is-total{border-color:rgba(24,137,77,.28);background:#edf9f1}
.early-settlement-summary .is-total strong{color:#147d48}
.early-settlement-modal .settlement-mode-picker label{align-items:center;padding:13px 14px}
.early-settlement-modal .settlement-mode-picker input{flex:0 0 auto}
.early-settlement-modal .settlement-mode-picker small b{color:var(--text)}
.early-settlement-warning{
  display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;border-radius:13px;
  background:#fff7e8;border:1px solid #f3d79d;color:#79500b;font-size:.78rem;line-height:1.45;
}
.early-settlement-warning i{margin-top:2px}
.early-settlement-footer{padding:14px 20px;background:var(--surface-2);border-top:1px solid var(--border)}

/* Compact loan profile: priority information first, contract data second. */
.loan-profile-v252 .loan-summary-grid{align-items:stretch}
.loan-profile-v252 .loan-balance-panel{display:flex;flex-direction:column}
.loan-profile-v252 .loan-highlight-grid{margin-top:auto}
.loan-profile-v252 .loan-stat-grid{align-content:stretch}
.loan-profile-v252 .loan-details-card{box-shadow:0 10px 28px rgba(15,23,42,.045)}
.loan-profile-v252 .loan-detail-row{padding-inline:4px}
.loan-profile-v252 .amort-card{box-shadow:0 10px 28px rgba(15,23,42,.04)}
.loan-profile-v252 .amort-card .section-head{border-bottom-color:color-mix(in srgb,var(--border) 72%,transparent)}
.loan-profile-v252 .amortization-plan-heading,.loan-profile-v252 .actual-plan-header{border-color:color-mix(in srgb,var(--border) 68%,transparent)!important}
.loan-profile-v252 .amortization-plan-heading>div,.loan-profile-v252 .actual-plan-header>div{padding-left:2px}

[data-theme="dark"] .workspace-command-count{background:rgba(76,117,255,.12);border-color:rgba(104,139,255,.22);color:#aebfff}
[data-theme="dark"] .office-panel-head>strong{background:rgba(76,117,255,.12);border-color:rgba(104,139,255,.22);color:#aebfff}
[data-theme="dark"] .mobile-persistent-actions-grid .settlement{background:#173222;color:#8ce0ab;border-color:#315b40}
[data-theme="dark"] .early-settlement-header{background:linear-gradient(135deg,#18221c,#171b22)}
[data-theme="dark"] .early-settlement-icon{background:#1b3a28;color:#79d69c}
[data-theme="dark"] .early-settlement-summary .is-total{background:#173222;border-color:#315b40}
[data-theme="dark"] .early-settlement-summary .is-total strong{color:#8ce0ab}
[data-theme="dark"] .early-settlement-warning{background:#332916;border-color:#5d4923;color:#f1d79e}

@media(max-width:991.98px){
  .workspace-command-bar.is-desk{grid-template-columns:auto 1fr auto;gap:9px}
  .workspace-command-bar.is-desk .workspace-tabs a{padding-inline:13px}
  .workspace-command-search kbd{display:none}
  .office-master-detail{grid-template-columns:minmax(250px,310px) minmax(0,1fr)}
  .office-client-panel,.office-loan-panel{min-height:390px}
}
@media(max-width:767.98px){
  .workspace-command-bar.is-desk{
    position:sticky;top:calc(var(--mobile-topbar-height,72px) + 8px);z-index:20;
    grid-template-columns:minmax(0,1fr) auto;
    padding:8px;border-radius:16px;gap:8px;
  }
  .workspace-command-bar.is-desk .workspace-tabs{grid-column:1/2;display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .workspace-command-bar.is-desk .workspace-tabs a{justify-content:center;min-height:44px;padding:0 10px}
  .workspace-command-count{grid-column:2/3;grid-row:1;height:44px;min-height:44px;padding-inline:11px}
  .workspace-command-count i{display:none}
  .workspace-command-search{grid-column:1/-1;grid-row:2;min-height:48px;border-radius:12px;padding-left:13px}
  .office-master-detail{display:block;min-height:0;border-radius:17px!important}
  .office-client-panel,.office-loan-panel{min-height:0}
  .office-client-panel{border-right:0;border-bottom:1px solid var(--border)}
  .office-panel-head{padding:14px 14px 9px}
  .office-panel-head h2{font-size:1rem}
  .office-panel-head p{display:none}
  .office-client-list{max-height:245px;padding:6px 10px 12px}
  .office-selected-client{padding:14px}
  .office-loan-list{padding:7px 10px 13px}
  .office-open-treatment{min-width:0}
  .mobile-persistent-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-persistent-actions-grid .settlement{grid-column:1/-1}
  .early-settlement-modal .modal-dialog{margin:0;min-height:100%;max-width:none;align-items:stretch}
  .early-settlement-modal .modal-content{min-height:100dvh;border-radius:0}
  .early-settlement-header{padding:calc(15px + env(safe-area-inset-top)) 15px 14px}
  .early-settlement-heading{align-items:flex-start}
  .early-settlement-heading p{font-size:.74rem}
  .early-settlement-icon{width:40px;height:40px;border-radius:12px}
  .early-settlement-modal .modal-body{padding:15px 14px 110px}
  .early-settlement-summary{grid-template-columns:1fr 1fr;gap:8px}
  .early-settlement-summary .is-total{grid-column:1/-1}
  .early-settlement-summary>div{padding:12px}
  .early-settlement-modal .settlement-mode-picker label{padding:12px;border-radius:12px}
  .early-settlement-footer{position:fixed;left:0;right:0;bottom:0;z-index:5;padding:12px 14px calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.35fr;box-shadow:0 -10px 28px rgba(15,23,42,.12)}
  .early-settlement-footer .btn{min-height:48px}
  .loan-profile-v252 .loan-panel-heading-title>strong{font-size:1rem}
  .loan-profile-v252 .loan-stat-grid{grid-template-columns:1fr 1fr!important}
  .loan-profile-v252 .loan-stat-card{min-height:82px!important}
  .loan-profile-v252 .loan-details-card{margin-top:1px}
}
@media(max-width:420px){
  .workspace-command-count span{font-size:0}
  .workspace-command-count span::before{content:attr(data-count);font-size:.78rem}
  .workspace-command-count::after{content:""}
  .early-settlement-summary{grid-template-columns:1fr}
  .early-settlement-summary .is-total{grid-column:auto}
  .early-settlement-footer{grid-template-columns:1fr}
  .early-settlement-footer .btn-light{display:none}
}

/* =====================================================================
   KreditPro v2.6.1 Beta — compact Office treatment and safe changelog
   ===================================================================== */
.office-treatment{padding:0;overflow:hidden;border-color:#dfe5ef;box-shadow:0 16px 42px rgba(23,32,51,.08)}
.office-treatment-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#fbfcff)}
.office-treatment-head .desk-client-profile{display:flex;align-items:center;gap:14px;min-width:0}
.office-treatment-head .profile-avatar-lg{width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:15px!important;font-size:1rem!important}
.office-treatment-head h1{margin:1px 0 3px;font-size:1.22rem;font-weight:800;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office-treatment-head p{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:.78rem;font-weight:700}
.office-treatment-status{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.office-treatment-status .btn{min-height:38px}
.status-on-time{background:#dcfce7;color:#166534}
.office-treatment-overview{display:grid;grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr);gap:14px;padding:16px;background:#f6f8fc}
.office-debt-summary{position:relative;overflow:hidden;min-height:190px;padding:22px;border-radius:17px;background:linear-gradient(145deg,#17223a,#243858);color:#fff;box-shadow:0 14px 32px rgba(23,34,58,.17)}
.office-debt-summary:after{content:'';position:absolute;width:210px;height:210px;right:-92px;bottom:-116px;border-radius:50%;background:radial-gradient(circle,rgba(111,140,255,.3),transparent 69%)}
.office-debt-summary>span{position:relative;z-index:1;color:#b8c4d8;font-size:.67rem;font-weight:800;letter-spacing:.1em}
.office-debt-summary>strong{position:relative;z-index:1;display:block;margin:7px 0 20px;font-size:2rem;line-height:1;font-weight:800;letter-spacing:-.045em}
.office-debt-breakdown{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.office-debt-breakdown>span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.07)}
.office-debt-breakdown b{color:#b8c4d8;font-size:.7rem;font-weight:700}.office-debt-breakdown em{font-size:.79rem;font-style:normal;font-weight:800;white-space:nowrap}
.office-repayment-progress{position:relative;z-index:1;margin-top:16px}.office-repayment-progress .progress{height:7px;background:rgba(255,255,255,.13)}.office-repayment-progress small{display:flex;justify-content:space-between;margin-top:7px;color:#bbc6d8;font-size:.7rem;font-weight:700}
.office-treatment-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.office-treatment-metrics article{position:relative;min-width:0;min-height:90px;padding:15px 15px 14px 48px;border:1px solid #e3e8f1;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(28,39,68,.035)}
.office-treatment-metrics article>i{position:absolute;left:14px;top:16px;width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#edf2ff;color:var(--primary);font-size:.72rem}
.office-treatment-metrics article>span{display:block;color:var(--muted);font-size:.69rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.office-treatment-metrics article>strong{display:block;margin-top:7px;font-size:1rem;line-height:1.2;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.office-treatment-metrics article>small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem}
.office-treatment-metrics article.is-alert{border-color:#fecaca;background:#fffafa}.office-treatment-metrics article.is-alert>i{background:#fee2e2;color:#b91c1c}.office-treatment-metrics article.is-alert>strong{color:#b91c1c}
.office-next-step{display:flex;align-items:center;gap:12px;margin:0 16px 16px;padding:12px 14px;border:1px solid #dbe4fb;border-radius:13px;background:#f6f8ff}
.office-next-step-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:#e7edff;color:var(--primary)}
.office-next-step .eyebrow{display:block;margin:0 0 2px;font-size:.59rem}.office-next-step strong{font-size:.79rem;line-height:1.35}
.office-next-step.is-urgent{border-color:#fecaca;background:#fff7f7}.office-next-step.is-urgent .office-next-step-icon{background:#fee2e2;color:#b91c1c}.office-next-step.is-urgent .eyebrow{color:#b91c1c}
.office-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 16px 16px}
.office-action-grid>a,.office-action-grid>button{appearance:none;min-width:0;min-height:72px;padding:12px 10px;border:1px solid #e0e5ee;border-radius:12px;background:#fff;color:#465166;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;font:inherit;font-size:.7rem;font-weight:800;line-height:1.15;cursor:pointer;transition:.16s ease}
.office-action-grid>a i,.office-action-grid>button i{font-size:1.08rem;color:#66758e}.office-action-grid>a:hover,.office-action-grid>button:hover{border-color:#becaf0;background:#f7f9ff;color:#2849bd;transform:translateY(-1px)}
.office-action-grid .primary{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 7px 17px rgba(49,87,213,.18)}.office-action-grid .primary i{color:#fff}.office-action-grid .primary:hover{background:var(--primary-dark);color:#fff}
.office-action-grid .settlement{border-color:#bde5cb;background:#f1fbf5;color:#166534}.office-action-grid .settlement i{color:#16803d}.office-action-grid .settlement:hover{border-color:#82cc9d;background:#e9f8ef;color:#14532d}
.office-action-grid .overview{border-color:#dc2626;background:#dc2626;color:#fff;box-shadow:0 8px 20px rgba(220,38,38,.18)}.office-action-grid .overview i{color:#fff}.office-action-grid .overview:hover{border-color:#b91c1c;background:#b91c1c;color:#fff;box-shadow:0 10px 24px rgba(185,28,28,.24)}
.office-note{margin-top:12px;overflow:hidden}.office-note form{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);align-items:center;gap:18px;padding:15px 17px}
.office-note-copy{display:flex;align-items:center;gap:12px;min-width:0}.office-note-icon{width:39px;height:39px;flex:0 0 39px;border-radius:11px;display:grid;place-items:center;background:#fff4dd;color:#b86d00}.office-note-copy .eyebrow{margin:0 0 2px;color:#a66300;font-size:.6rem}.office-note-copy h2{margin:0;font-size:.85rem;font-weight:800}.office-note-copy p{margin:3px 0 0;color:var(--muted);font-size:.68rem;line-height:1.35}
.office-note-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}.office-note-editor textarea{min-height:58px;max-height:130px;resize:vertical;padding:10px 12px;font-size:.78rem}.office-note-editor .btn{min-width:126px;min-height:46px}
.changelog-content{color:var(--text)}.changelog-content h3{margin:22px 0 7px;font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.changelog-content h4{margin:21px 0 8px;padding-top:17px;border-top:1px solid var(--border);font-size:.95rem;font-weight:800}.changelog-content h5{margin:16px 0 8px;color:var(--primary);font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.changelog-content p{margin:7px 0;color:var(--muted);font-size:.8rem;line-height:1.6}.changelog-content ul{display:grid;gap:7px;margin:8px 0 14px;padding:0;list-style:none}.changelog-content li{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;color:#465166;font-size:.79rem;line-height:1.5}.changelog-content li i{margin-top:4px;color:#1b8b4b;font-size:.62rem}.changelog-content code{padding:2px 5px;border-radius:5px;background:#eef2f8;color:#334155;font-size:.75em}.changelog-content hr{margin:22px 0;border:0;border-top:1px solid var(--border)}
[data-single-submit].is-submitting{opacity:.78;pointer-events:none}[data-single-submit].is-submitting button[type="submit"]{cursor:wait}
html[data-theme="dark"] .office-treatment,html[data-theme="dark"] .office-note{background:#111827;border-color:#273247}
html[data-theme="dark"] .office-treatment-head{background:linear-gradient(180deg,#111827,#101622);border-color:#273247}
html[data-theme="dark"] .office-treatment-overview{background:#0d1421}
html[data-theme="dark"] .office-treatment-metrics article,html[data-theme="dark"] .office-action-grid>a,html[data-theme="dark"] .office-action-grid>button{background:#151d2b;border-color:#2a3548;color:#dce4f1}
html[data-theme="dark"] .office-treatment-metrics article.is-alert{background:#2b171c;border-color:#67303b}
html[data-theme="dark"] .office-next-step{background:#131d32;border-color:#293b65}html[data-theme="dark"] .office-next-step.is-urgent{background:#2b171c;border-color:#67303b}
html[data-theme="dark"] .office-action-grid .primary{background:var(--primary);border-color:var(--primary);color:#fff}html[data-theme="dark"] .office-action-grid .settlement{background:#14291d;border-color:#2d5a3e;color:#78d79e}html[data-theme="dark"] .office-action-grid .overview{background:#c81e1e;border-color:#ef4444;color:#fff}
html[data-theme="dark"] .office-note-icon{background:#312817;color:#eab55b}html[data-theme="dark"] .changelog-content{color:#e8eef8}html[data-theme="dark"] .changelog-content h4,html[data-theme="dark"] .changelog-content hr{border-color:#2a3548}html[data-theme="dark"] .changelog-content li{color:#cbd5e1}html[data-theme="dark"] .changelog-content code{background:#1e293b;color:#dbeafe}
@media(max-width:1199px){.office-treatment-overview{grid-template-columns:1fr}.office-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.office-note form{grid-template-columns:1fr}}
@media(max-width:767.98px){
 .office-treatment{border-radius:16px}.office-treatment-head{align-items:flex-start;padding:15px;gap:11px}.office-treatment-head .profile-avatar-lg{width:46px!important;height:46px!important;flex-basis:46px!important}.office-treatment-head h1{font-size:1.04rem}.office-treatment-status{align-items:flex-end;flex-direction:column;gap:6px}.office-treatment-status .btn{padding:6px 8px;font-size:.7rem}.office-treatment-overview{gap:9px;padding:10px}.office-debt-summary{min-height:0;padding:18px}.office-debt-summary>strong{font-size:1.75rem;margin-bottom:16px}.office-debt-breakdown{gap:7px}.office-debt-breakdown>span{padding:9px}.office-treatment-metrics{gap:7px}.office-treatment-metrics article{min-height:82px;padding:12px 10px 11px 41px}.office-treatment-metrics article>i{left:10px;top:12px}.office-treatment-metrics article>strong{font-size:.86rem}.office-next-step{margin:0 10px 10px;padding:10px 11px}.office-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 10px 10px}.office-action-grid>a,.office-action-grid>button{min-height:68px}.office-action-grid .primary{grid-column:1/-1;min-height:62px;flex-direction:row;font-size:.82rem}.office-note{margin-top:10px}.office-note form{gap:11px;padding:13px}.office-note-editor{grid-template-columns:1fr}.office-note-editor .btn{width:100%;min-height:46px}.changelog-modal .modal-dialog{margin:0;min-height:100%;max-width:none}.changelog-modal .modal-content{min-height:100dvh;max-height:100dvh;border-radius:0}.changelog-modal .modal-header{position:sticky;top:0;z-index:2;padding-top:calc(16px + env(safe-area-inset-top));background:var(--surface,#fff)}.changelog-modal .modal-footer{position:sticky;bottom:0;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--surface,#fff)}
}
@media(max-width:420px){.office-treatment-metrics{grid-template-columns:1fr}.office-debt-breakdown{grid-template-columns:1fr}.office-action-grid{grid-template-columns:1fr}.office-action-grid .primary{grid-column:auto}.office-treatment-status .status{align-self:flex-end}.office-note-copy p{display:none}}

/* v2.7 production readiness and financial clarity */
.factory-reset-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.factory-reset-mode{display:flex;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;cursor:pointer;background:var(--surface)}.factory-reset-mode:has(input:checked){border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}.factory-reset-mode input{margin-top:4px}.factory-reset-mode span{display:grid;gap:5px}.factory-reset-mode small{color:var(--muted);line-height:1.5}.office-debt-breakdown-v27{grid-template-columns:repeat(3,minmax(0,1fr))}.late-interest-line em,.late-interest-detail strong{color:#b45309}.late-interest-detail{background:rgba(245,158,11,.06)}
@media(max-width:767px){.factory-reset-modes{grid-template-columns:1fr}.office-debt-breakdown-v27{grid-template-columns:1fr}.factory-modal .modal-footer{position:sticky;bottom:0;background:var(--surface);z-index:2}}

/* v2.8.1 Beta — Final Office layout
   Scope: Office workspace only. No finance, form, route or data behavior changes. */
body.page-workspace{background:#f4f6fb}
body.page-workspace *,body.page-workspace *::before,body.page-workspace *::after{box-sizing:border-box}
body.page-workspace .workspace-command-bar,
body.page-workspace .desk-layout,
body.page-workspace .office-master-detail,
body.page-workspace .office-loan-panel,
body.page-workspace .office-treatment{min-width:0;width:100%}

/* Command bar */
body.page-workspace .workspace-command-bar.is-desk{
 display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:12px;
 margin-bottom:14px!important;padding:8px 10px;border:1px solid #e3e8f2;border-radius:16px;
 background:#fff;box-shadow:0 8px 24px rgba(28,43,75,.055)
}
body.page-workspace .workspace-tabs{display:flex;align-items:center;gap:4px;white-space:nowrap}
body.page-workspace .workspace-tabs a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 18px;border-radius:11px;color:#6b7890;font-size:.82rem;font-weight:750;text-decoration:none}
body.page-workspace .workspace-tabs a.active{background:#3157d5;color:#fff;box-shadow:0 7px 16px rgba(49,87,213,.2)}
body.page-workspace .workspace-command-search{display:flex;align-items:center;gap:10px;min-width:0;min-height:48px;padding:0 12px;border:1px solid #dfe5ef;border-radius:12px;background:#f8f9fc}
body.page-workspace .workspace-command-search>i{color:#8491a7}
body.page-workspace .workspace-command-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:.84rem}
body.page-workspace .workspace-command-search kbd{flex:0 0 auto;padding:4px 7px;border:1px solid #dfe5ef;border-radius:7px;background:#fff;color:#7c8799;font:600 .66rem/1 system-ui}
body.page-workspace .workspace-command-search button{display:none}
body.page-workspace .workspace-command-count{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid #cfd9fb;border-radius:11px;background:#f5f7ff;color:#3157d5;font-size:.76rem;font-weight:800;white-space:nowrap}

/* Primary office shell */
body.page-workspace .desk-layout.office-v251{display:grid;gap:14px;min-width:0}
body.page-workspace .office-master-detail{
 display:grid;grid-template-columns:285px minmax(0,1fr);align-items:stretch;overflow:hidden;
 min-height:340px;border:1px solid #e1e7f0!important;border-radius:18px!important;background:#fff;
 box-shadow:0 10px 28px rgba(28,43,75,.055)!important
}
body.page-workspace .office-client-panel{min-width:0;border-right:1px solid #e4e9f1;background:#fbfcfe}
body.page-workspace .office-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 16px 13px;border-bottom:1px solid #e7ebf2}
body.page-workspace .office-panel-head .eyebrow,
body.page-workspace .office-selected-client .eyebrow,
body.page-workspace .office-treatment .eyebrow{color:#3157d5;font-size:.58rem;letter-spacing:.07em;font-weight:850}
body.page-workspace .office-panel-head h2{margin:4px 0 0;font-size:1rem;line-height:1.2}
body.page-workspace .office-panel-head p{margin:5px 0 0;color:#8290a5;font-size:.69rem;line-height:1.45}
body.page-workspace .office-panel-head>strong{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#eef2ff;color:#3157d5;font-size:.72rem}
body.page-workspace .office-client-list{display:grid;align-content:start;gap:8px;max-height:440px!important;padding:12px!important;overflow:auto}
body.page-workspace .office-v251 .desk-client-card{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center;gap:10px;min-height:66px!important;padding:9px 10px!important;border:1px solid #e0e6ef!important;border-radius:13px!important;background:#fff!important;color:inherit;text-decoration:none;box-shadow:none!important}
body.page-workspace .office-v251 .desk-client-card:hover{border-color:#bfcdf7!important;background:#f8faff!important}
body.page-workspace .office-v251 .desk-client-card.active{border-color:#5e7ce7!important;background:#f7f9ff!important;box-shadow:inset 3px 0 0 #3157d5!important}
body.page-workspace .desk-client-card-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf2ff;color:#3157d5;font-size:.77rem;font-weight:850}
body.page-workspace .desk-client-card.active .desk-client-card-avatar{background:#3157d5;color:#fff}
body.page-workspace .desk-client-card-body{min-width:0}
body.page-workspace .desk-client-card-body strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
body.page-workspace .desk-client-card-body small{display:block;margin-top:3px;color:#7e899b;font-size:.66rem}
body.page-workspace .desk-client-card-state{display:flex;align-items:center;gap:9px;color:#a4afbf}
body.page-workspace .office-state-dot{font-size:.52rem}
body.page-workspace .office-state-dot.is-overdue{color:#dc2626}
body.page-workspace .office-state-dot.is-current{color:#16a34a}

/* Selected client and loan selector */
body.page-workspace .office-loan-panel{display:flex;flex-direction:column;min-width:0;background:#fff}
body.page-workspace .office-selected-client{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;border-bottom:1px solid #e6eaf1}
body.page-workspace .office-selected-client-main{display:flex;align-items:center;gap:13px;min-width:0}
body.page-workspace .office-selected-avatar{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:13px;background:#3157d5;color:#fff;font-size:.84rem;font-weight:850;box-shadow:0 8px 18px rgba(49,87,213,.18)}
body.page-workspace .office-selected-client h2{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.12rem;line-height:1.2}
body.page-workspace .office-selected-client p{display:flex;flex-wrap:wrap;gap:10px;margin:5px 0 0;color:#7b879a;font-size:.69rem}
body.page-workspace .office-selected-client p span{display:inline-flex;align-items:center;gap:5px}
body.page-workspace .office-client-profile-btn{flex:0 0 auto;min-height:40px;border:1px solid #dfe5ef!important;background:#fff!important;font-size:.73rem}
body.page-workspace .office-loan-panel-head{display:flex;align-items:center;justify-content:space-between;padding:13px 19px 6px}
body.page-workspace .office-loan-panel-head h3{margin:0;color:#3157d5;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
body.page-workspace .office-loan-panel-head p{display:none}
body.page-workspace .office-loan-panel-head>strong{display:grid;place-items:center;width:25px;height:25px;border-radius:999px;background:#eef2ff;color:#3157d5;font-size:.66rem}
body.page-workspace .office-loan-list{display:grid;gap:9px;padding:6px 19px 17px}
body.page-workspace .office-loan-card{position:relative;display:grid;gap:11px;min-width:0;padding:14px;border:1px solid #dfe5ef;border-radius:14px;background:#fff;box-shadow:none}
body.page-workspace .office-loan-card.active{border-color:#5d7be7;background:#fbfcff;box-shadow:inset 3px 0 0 #3157d5}
body.page-workspace .office-loan-title-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px}
body.page-workspace .office-loan-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eef2ff;color:#3157d5}
body.page-workspace .office-loan-title-row h4{margin:0;font-size:.92rem}
body.page-workspace .office-loan-title-row p{margin:3px 0 0;color:#8490a2;font-size:.66rem}
body.page-workspace .office-loan-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e7ebf2;border-bottom:1px solid #e7ebf2}
body.page-workspace .office-loan-metrics>div{min-width:0;padding:10px 12px;border-right:1px solid #e7ebf2}
body.page-workspace .office-loan-metrics>div:last-child{border-right:0}
body.page-workspace .office-loan-metrics span{display:block;color:#8590a3;font-size:.56rem;text-transform:uppercase;letter-spacing:.035em}
body.page-workspace .office-loan-metrics strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.79rem}
body.page-workspace .office-loan-progress{display:grid;gap:6px}
body.page-workspace .office-loan-progress>span{display:flex;justify-content:space-between;color:#748097;font-size:.65rem}
body.page-workspace .office-loan-progress .progress{height:5px;background:#e9edf5}
body.page-workspace .office-open-treatment{justify-self:end;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px!important;border-radius:10px;font-size:.73rem}

/* Active treatment */
body.page-workspace .office-treatment{overflow:hidden;border:1px solid #e1e7f0!important;border-radius:18px!important;background:#fff;box-shadow:0 10px 28px rgba(28,43,75,.055)!important}
body.page-workspace .office-treatment-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px!important;border-bottom:1px solid #e6eaf1;background:#fff}
body.page-workspace .desk-client-profile{display:flex;align-items:center;gap:11px;min-width:0}
body.page-workspace .office-treatment-head .profile-avatar-lg{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eef2ff;color:#3157d5;font-size:.75rem}
body.page-workspace .office-treatment-head h1{margin:2px 0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.03rem!important}
body.page-workspace .office-treatment-head p{margin:0;color:#7f8a9d;font-size:.68rem!important}
body.page-workspace .office-treatment-status{display:flex;align-items:center;gap:8px;flex:0 0 auto}
body.page-workspace .office-treatment-overview{display:grid!important;grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr)!important;gap:10px!important;padding:12px 13px 9px!important;background:#f8f9fc}
body.page-workspace .office-debt-summary{min-height:0!important;padding:15px!important;border-radius:14px!important;background:linear-gradient(145deg,#1d3153,#263f69)!important;color:#fff;box-shadow:none!important}
body.page-workspace .office-debt-summary>span{font-size:.58rem!important;letter-spacing:.04em;color:#bfcae0}
body.page-workspace .office-debt-summary>strong{display:block;margin:4px 0 10px!important;font-size:1.8rem!important;line-height:1.08}
body.page-workspace .office-debt-breakdown{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
body.page-workspace .office-debt-breakdown>span{display:grid;gap:4px;min-width:0;padding:8px 9px!important;border:1px solid rgba(255,255,255,.09);border-radius:9px!important;background:rgba(255,255,255,.07)!important}
body.page-workspace .office-debt-breakdown b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c9d3e6;font-size:.52rem!important;font-weight:650}
body.page-workspace .office-debt-breakdown em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:.69rem!important;font-style:normal;font-weight:800}
body.page-workspace .office-debt-breakdown .late-interest-line em{color:#ff9b43}
body.page-workspace .office-repayment-progress{display:grid;gap:5px;margin-top:10px}
body.page-workspace .office-repayment-progress .progress{height:5px;background:rgba(255,255,255,.16)}
body.page-workspace .office-repayment-progress small{display:flex;justify-content:space-between;color:#cbd5e7;font-size:.59rem}
body.page-workspace .office-treatment-metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
body.page-workspace .office-treatment-metrics article{position:relative;display:grid;align-content:center;min-width:0;min-height:78px!important;padding:11px 13px 11px 42px!important;border:1px solid #e1e7ef;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
body.page-workspace .office-treatment-metrics article>i{position:absolute;left:13px;top:14px;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef2ff;color:#3157d5;font-size:.7rem!important}
body.page-workspace .office-treatment-metrics article span{color:#8490a2;font-size:.55rem!important;text-transform:uppercase;letter-spacing:.035em}
body.page-workspace .office-treatment-metrics article strong{display:block;margin-top:4px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.87rem!important}
body.page-workspace .office-treatment-metrics article small{margin-top:2px;color:#8792a4;font-size:.58rem}
body.page-workspace .office-treatment-metrics article.is-alert{border-color:#fecaca;background:#fffafa!important}
body.page-workspace .office-treatment-metrics article.is-alert>i,
body.page-workspace .office-treatment-metrics article.is-alert strong{color:#dc2626}
body.page-workspace .office-next-step{display:flex;align-items:center;gap:11px;margin:0 13px 10px!important;padding:10px 12px!important;border:1px solid #e1e7ef;border-radius:11px!important;background:#fff;min-height:0!important}
body.page-workspace .office-next-step.is-urgent{border-color:#fecaca;background:#fff8f8}
body.page-workspace .office-next-step-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eef2ff;color:#3157d5}
body.page-workspace .office-next-step.is-urgent .office-next-step-icon{background:#fee2e2;color:#dc2626}
body.page-workspace .office-next-step strong{display:block;margin-top:2px;font-size:.73rem!important}
body.page-workspace .office-action-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;padding:0 13px 13px!important}
body.page-workspace .office-action-grid>a,
body.page-workspace .office-action-grid>button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:66px!important;padding:10px 8px!important;border:1px solid #dfe5ef;border-radius:11px!important;background:#fff;color:#46536a;font-size:.72rem!important;font-weight:800;text-align:center;text-decoration:none;line-height:1.25;box-shadow:none!important}
body.page-workspace .office-action-grid>a:hover,
body.page-workspace .office-action-grid>button:hover{transform:translateY(-1px);border-color:#bcc9ed}
body.page-workspace .office-action-grid i{flex:0 0 auto;font-size:.96rem!important}
body.page-workspace .office-action-grid .primary{border-color:#3157d5!important;background:#3157d5!important;color:#fff!important}
body.page-workspace .office-action-grid .primary:hover{background:#2748b7!important}
body.page-workspace .office-action-grid .settlement{border-color:#b8e2c5!important;background:#f1fbf4!important;color:#17743a!important}
body.page-workspace .office-action-grid .overview{border-color:#dc2626!important;background:#dc2626!important;color:#fff!important}
body.page-workspace .office-action-grid .overview:hover{background:#b91c1c!important}

/* Supporting Office sections */
body.page-workspace .office-note,
body.page-workspace .documents-card{overflow:hidden;border:1px solid #e1e7f0!important;border-radius:16px!important;background:#fff;box-shadow:0 8px 22px rgba(28,43,75,.04)!important}
body.page-workspace .office-note form{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);align-items:center;gap:14px;padding:13px 15px!important}
body.page-workspace .office-note-copy{display:flex;align-items:center;gap:11px;min-width:0}
body.page-workspace .office-note-copy h2{margin:2px 0;font-size:.88rem}
body.page-workspace .office-note-copy p{margin:0;color:#8190a4;font-size:.64rem}
body.page-workspace .office-note-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}
body.page-workspace .office-note-editor textarea{min-height:52px;resize:vertical}
body.page-workspace .office-note-editor .btn{min-width:130px}

/* Responsive */
@media(max-width:1180px){
 body.page-workspace .office-master-detail{grid-template-columns:245px minmax(0,1fr)}
 body.page-workspace .office-treatment-overview{grid-template-columns:1fr!important}
 body.page-workspace .office-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body.page-workspace .office-note form{grid-template-columns:1fr}
}
@media(max-width:860px){
 body.page-workspace .workspace-command-bar.is-desk{grid-template-columns:1fr auto}
 body.page-workspace .workspace-tabs{grid-column:1/-1}
 body.page-workspace .workspace-command-search{grid-column:1}
 body.page-workspace .workspace-command-count{grid-column:2}
 body.page-workspace .office-master-detail{grid-template-columns:1fr}
 body.page-workspace .office-client-panel{border-right:0;border-bottom:1px solid #e4e9f1}
 body.page-workspace .office-client-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px!important}
 body.page-workspace .office-selected-client{align-items:flex-start}
 body.page-workspace .office-loan-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.page-workspace .office-loan-metrics>div:nth-child(2){border-right:0}
 body.page-workspace .office-loan-metrics>div:nth-child(-n+2){border-bottom:1px solid #e7ebf2}
}
@media(max-width:640px){
 body.page-workspace .workspace-command-bar.is-desk{grid-template-columns:1fr;margin-bottom:10px!important;padding:7px}
 body.page-workspace .workspace-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}
 body.page-workspace .workspace-tabs a{min-height:44px;padding:0 8px}
 body.page-workspace .workspace-command-search,body.page-workspace .workspace-command-count{grid-column:1}
 body.page-workspace .workspace-command-search kbd{display:none}
 body.page-workspace .workspace-command-count{justify-self:start;min-height:36px}
 body.page-workspace .office-master-detail,body.page-workspace .office-treatment{border-radius:14px!important}
 body.page-workspace .office-client-list{grid-template-columns:1fr;max-height:190px!important;padding:9px!important}
 body.page-workspace .office-panel-head{padding:14px 12px 10px}
 body.page-workspace .office-panel-head p{display:none}
 body.page-workspace .office-selected-client{flex-direction:column;gap:10px;padding:13px 12px}
 body.page-workspace .office-client-profile-btn{width:100%}
 body.page-workspace .office-loan-panel-head{padding:11px 11px 5px}
 body.page-workspace .office-loan-list{padding:5px 9px 11px}
 body.page-workspace .office-loan-title-row{grid-template-columns:38px minmax(0,1fr)}
 body.page-workspace .office-loan-title-row>.status{grid-column:1/-1;justify-self:start}
 body.page-workspace .office-loan-metrics{grid-template-columns:1fr 1fr}
 body.page-workspace .office-open-treatment{justify-self:stretch;justify-content:center}
 body.page-workspace .office-treatment-head{align-items:flex-start;padding:12px!important}
 body.page-workspace .office-treatment-status{flex-direction:column;align-items:flex-end}
 body.page-workspace .office-treatment-status .btn span{display:none}
 body.page-workspace .office-treatment-overview{padding:8px!important}
 body.page-workspace .office-debt-summary{padding:13px!important}
 body.page-workspace .office-debt-summary>strong{font-size:1.52rem!important}
 body.page-workspace .office-debt-breakdown{grid-template-columns:1fr!important}
 body.page-workspace .office-treatment-metrics{grid-template-columns:1fr 1fr!important;gap:7px!important}
 body.page-workspace .office-treatment-metrics article{min-height:74px!important;padding:10px 9px 10px 38px!important}
 body.page-workspace .office-treatment-metrics article>i{left:10px;top:12px}
 body.page-workspace .office-next-step{margin:0 8px 8px!important}
 body.page-workspace .office-action-grid{grid-template-columns:1fr 1fr!important;padding:0 8px 9px!important;gap:7px!important}
 body.page-workspace .office-action-grid>a,body.page-workspace .office-action-grid>button{min-height:60px!important;font-size:.69rem!important}
 body.page-workspace .office-action-grid>button:last-child{grid-column:1/-1}
 body.page-workspace .office-note form{padding:11px!important}
 body.page-workspace .office-note-editor{grid-template-columns:1fr}
 body.page-workspace .office-note-editor .btn{width:100%;min-height:44px}
}
@media(max-width:410px){
 body.page-workspace .office-treatment-metrics{grid-template-columns:1fr!important}
 body.page-workspace .office-action-grid{grid-template-columns:1fr!important}
 body.page-workspace .office-action-grid>button:last-child{grid-column:1}
}

/* Office dark mode */
html[data-theme="dark"] body.page-workspace{background:#0b1220}
html[data-theme="dark"] body.page-workspace .workspace-command-bar.is-desk,
html[data-theme="dark"] body.page-workspace .office-master-detail,
html[data-theme="dark"] body.page-workspace .office-loan-panel,
html[data-theme="dark"] body.page-workspace .office-treatment,
html[data-theme="dark"] body.page-workspace .office-treatment-head,
html[data-theme="dark"] body.page-workspace .office-note,
html[data-theme="dark"] body.page-workspace .documents-card{background:var(--surface)!important;border-color:var(--border)!important}
html[data-theme="dark"] body.page-workspace .office-client-panel{background:#101827;border-color:var(--border)}
html[data-theme="dark"] body.page-workspace .office-v251 .desk-client-card,
html[data-theme="dark"] body.page-workspace .office-treatment-metrics article,
html[data-theme="dark"] body.page-workspace .office-next-step{background:#121c2d!important;border-color:#28344a!important}
html[data-theme="dark"] body.page-workspace .office-v251 .desk-client-card.active{background:#17233a!important}
html[data-theme="dark"] body.page-workspace .office-treatment-overview{background:#0f1726!important}
html[data-theme="dark"] body.page-workspace .workspace-command-search{background:#101827;border-color:#2a3549}
html[data-theme="dark"] body.page-workspace .workspace-command-search kbd{background:#162035;border-color:#2a3549}
html[data-theme="dark"] body.page-workspace .office-action-grid>a,
html[data-theme="dark"] body.page-workspace .office-action-grid>button{background:#121c2d;border-color:#2a3549;color:#d8e0ed}
html[data-theme="dark"] body.page-workspace .office-action-grid .settlement{background:#12331f!important;border-color:#23663a!important;color:#8be6a7!important}
