:root {
  --blue: #2563EB;
  --blue-light: #EFF6FF;
  --blue-mid: #DBEAFE;
  --green: #10B981;
  --green-light: #ECFDF5;
  --green-mid: #D1FAE5;
  --navy: #1B2A4A;
  --white: #FFFFFF;
  --gray-50: #F9FAFB;
  --gray-100: #F3F4F6;
  --gray-200: #E5E7EB;
  --gray-300: #D1D5DB;
  --gray-400: #9CA3AF;
  --gray-500: #6B7280;
  --gray-600: #4B5563;
  --gray-700: #374151;
  --gray-900: #111827;
  --red: #EF4444;
  --red-light: #FEF2F2;
  --yellow: #F59E0B;
  --yellow-light: #FFFBEB;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--gray-50);color:var(--gray-900);line-height:1.5;}
.hidden{display:none!important;}

/* SCREENS */
.screen{display:none;min-height:100vh;}
.screen.active{display:flex;flex-direction:column;}
.screen.full-center{align-items:center;justify-content:center;}

/* SIDEBAR LAYOUT */
.app-shell{display:flex;min-height:100vh;}
.sidebar{width:224px;background:var(--navy);padding:24px 0;flex-shrink:0;display:flex;flex-direction:column;}
.sidebar-logo{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:12px;}
.sidebar-logo .logo-text{font-family:'DM Serif Display',serif;font-size:17px;color:white;line-height:1.2;}
.sidebar-logo .logo-sub{font-size:10px;color:rgba(255,255,255,0.35);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;}
.sidebar-nav{list-style:none;flex:1;}
.sidebar-nav li a,.sidebar-nav li button{display:flex;align-items:center;gap:10px;padding:10px 20px;color:rgba(255,255,255,0.55);text-decoration:none;font-size:13.5px;font-weight:500;transition:all .15s;cursor:pointer;width:100%;background:none;border:none;font-family:'DM Sans',sans-serif;text-align:left;}
.sidebar-nav li a:hover,.sidebar-nav li button:hover{color:white;background:rgba(255,255,255,0.07);}
.sidebar-nav li a.active,.sidebar-nav li button.active{color:white;background:rgba(255,255,255,0.09);border-left:3px solid var(--green);padding-left:17px;}
.sidebar-icon{width:17px;height:17px;flex-shrink:0;}
.sidebar-divider{height:1px;background:rgba(255,255,255,0.08);margin:8px 20px;}
.main-content{flex:1;overflow-y:auto;padding:32px;background:var(--gray-50);}

/* TOPBAR */
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;}
.topbar h1{font-family:'DM Serif Display',serif;font-size:26px;color:var(--navy);}
.topbar-actions{display:flex;gap:10px;align-items:center;}

/* BUTTONS */
.btn{padding:9px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:all .15s;display:inline-flex;align-items:center;gap:6px;}
.btn-primary{background:var(--blue);color:white;}
.btn-primary:hover{background:#1D4ED8;}
.btn-secondary{background:white;color:var(--gray-700);border:1px solid var(--gray-200);}
.btn-secondary:hover{background:var(--gray-50);}
.btn-green{background:var(--green);color:white;}
.btn-green:hover{background:#059669;}
.btn-danger{background:var(--red-light);color:var(--red);border:1px solid #FECACA;}
.btn-sm{padding:6px 13px;font-size:13px;}
.btn-lg{padding:13px 24px;font-size:15px;}
.btn:disabled{opacity:.5;cursor:not-allowed;}

/* CARDS */
.card{background:white;border-radius:12px;border:1px solid var(--gray-200);overflow:hidden;}
.card-body{padding:20px;}
.card-header{padding:16px 20px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;}
.card-header h2{font-size:15px;font-weight:700;color:var(--navy);}
.card-header h3{font-size:14px;font-weight:700;color:var(--navy);}

/* STAT GRID */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.stat-card{background:white;border-radius:12px;padding:20px;border:1px solid var(--gray-200);}
.stat-label{font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.stat-value{font-family:'DM Serif Display',serif;font-size:28px;color:var(--navy);line-height:1;margin-bottom:3px;}
.stat-sub{font-size:12px;color:var(--gray-400);}
.stat-card.green .stat-value{color:var(--green);}

/* TABLE */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;}
th{text-align:left;padding:10px 16px;font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:1px solid var(--gray-200);}
td{padding:13px 16px;font-size:14px;color:var(--gray-700);border-bottom:1px solid var(--gray-100);}
tr:last-child td{border-bottom:none;}
tbody tr:hover td{background:var(--gray-50);cursor:pointer;}
.td-name{font-weight:600;color:var(--navy);}
.td-green{color:var(--green);font-weight:700;}
.td-num{font-variant-numeric:tabular-nums;font-weight:600;}

/* BADGES */
.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:600;}
.badge-green{background:var(--green-light);color:#059669;}
.badge-yellow{background:var(--yellow-light);color:#D97706;}
.badge-blue{background:var(--blue-light);color:var(--blue);}
.badge-gray{background:var(--gray-100);color:var(--gray-500);}
.badge-red{background:var(--red-light);color:var(--red);}

/* FORMS */
.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:16px;}
.form-label{font-size:13px;font-weight:600;color:var(--gray-700);}
.form-sublabel{font-size:12px;color:var(--gray-400);margin-top:2px;}
.form-input{padding:10px 14px;border:1.5px solid var(--gray-200);border-radius:8px;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--gray-900);background:white;outline:none;transition:border-color .15s;width:100%;}
.form-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,0.08);}
.form-input::placeholder{color:var(--gray-300);}
select.form-input{cursor:pointer;}
textarea.form-input{resize:vertical;min-height:90px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-row.col3{grid-template-columns:1fr 1fr 1fr;}
.radio-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.radio-opt{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid var(--gray-200);border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;color:var(--gray-700);transition:all .15s;user-select:none;}
.radio-opt.sel{border-color:var(--blue);background:var(--blue-light);color:var(--blue);}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;}
.check-opt{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1.5px solid var(--gray-200);border-radius:8px;cursor:pointer;font-size:13px;color:var(--gray-700);transition:all .15s;}
.check-opt.sel{border-color:var(--blue);background:var(--blue-light);color:var(--blue);}
.check-opt input,.radio-opt input{display:none;}
.form-section-title{font-size:13px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin:24px 0 12px;padding-top:20px;border-top:1px solid var(--gray-100);}
.form-section-title:first-child{margin-top:0;padding-top:0;border-top:none;}
.input-prefix-wrap{position:relative;}
.input-prefix{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--gray-400);font-size:14px;pointer-events:none;}
.input-prefix-wrap .form-input{padding-left:26px;}
.error-msg{color:var(--red);font-size:13px;margin-top:6px;display:none;}
.error-msg.show{display:block;}
.success-msg{color:var(--green);font-size:13px;margin-top:6px;}

/* LOGIN */
.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#F0F7FF 0%,#F0FDF4 100%);}
.login-card{background:white;border-radius:20px;padding:48px;width:420px;box-shadow:0 8px 40px rgba(0,0,0,0.09);border:1px solid var(--gray-200);}
.login-logo{text-align:center;margin-bottom:32px;}
.logo-mark{width:50px;height:50px;background:var(--navy);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;}
.logo-mark span{font-family:'DM Serif Display',serif;color:var(--green);font-size:24px;}
.login-logo h1{font-family:'DM Serif Display',serif;font-size:22px;color:var(--navy);margin-bottom:4px;}
.login-logo p{font-size:14px;color:var(--gray-400);}
.login-footer{text-align:center;margin-top:24px;font-size:13px;color:var(--gray-400);font-style:italic;}
.login-error{background:var(--red-light);border:1px solid #FECACA;border-radius:8px;padding:10px 14px;font-size:13px;color:var(--red);margin-bottom:16px;display:none;}
.login-error.show{display:block;}

/* CLIENT HERO */
.client-hero{background:linear-gradient(135deg,var(--navy) 0%,#2D3F6B 100%);border-radius:16px;padding:36px;color:white;margin-bottom:24px;position:relative;overflow:hidden;}
.client-hero::before{content:'';position:absolute;top:-40px;right:-40px;width:220px;height:220px;background:rgba(16,185,129,0.09);border-radius:50%;}
.client-hero::after{content:'';position:absolute;bottom:-60px;right:60px;width:160px;height:160px;background:rgba(37,99,235,0.12);border-radius:50%;}
.hero-greeting{font-size:14px;color:rgba(255,255,255,0.55);margin-bottom:5px;font-weight:500;}
.hero-headline{font-family:'DM Serif Display',serif;font-size:32px;margin-bottom:4px;line-height:1.2;position:relative;z-index:1;}
.hero-headline span{color:var(--green);}
.hero-subline{font-size:15px;color:rgba(255,255,255,0.65);margin-bottom:22px;}
.hero-date-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,0.45);margin-bottom:3px;}
.hero-date{font-family:'DM Serif Display',serif;font-size:28px;color:var(--green);position:relative;z-index:1;}
.progress-bar-wrap{margin-top:20px;position:relative;z-index:1;}
.progress-label{display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,0.45);margin-bottom:6px;}
.progress-track{height:8px;background:rgba(255,255,255,0.13);border-radius:100px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--green),#34D399);border-radius:100px;transition:width 1.2s ease;}

/* CLIENT CARDS */
.client-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.client-card{background:white;border-radius:12px;border:1px solid var(--gray-200);padding:20px;}
.client-card h3{font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;}
.numbers-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.number-label{font-size:11px;color:var(--gray-400);margin-bottom:2px;}
.number-value{font-size:20px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;}
.number-value.green{color:var(--green);}

/* SESSION CARDS */
.session-card{background:white;border-radius:12px;border:1px solid var(--gray-200);padding:20px;margin-bottom:12px;}
.session-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.session-num{font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-light);padding:3px 10px;border-radius:100px;}
.session-date{font-size:13px;color:var(--gray-400);}
.session-debt{font-family:'DM Serif Display',serif;font-size:22px;color:var(--navy);margin-bottom:14px;}
.session-section{margin-bottom:12px;}
.session-section-label{font-size:10px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;}
.session-topics{display:flex;flex-wrap:wrap;gap:5px;}
.topic-chip{font-size:12px;background:var(--blue-light);color:var(--blue);padding:3px 10px;border-radius:100px;font-weight:500;}
.action-items{list-style:none;}
.action-items li{font-size:14px;color:var(--gray-700);padding:5px 0 5px 24px;position:relative;}
.action-items li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:15px;height:15px;border:2px solid var(--gray-300);border-radius:4px;}

/* DETAIL TABS */
.detail-tabs{display:flex;border-bottom:2px solid var(--gray-200);margin-bottom:24px;gap:0;}
.detail-tab{padding:10px 20px;font-size:14px;font-weight:600;color:var(--gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;font-family:'DM Sans',sans-serif;background:none;border-top:none;border-left:none;border-right:none;}
.detail-tab.active{color:var(--blue);border-bottom-color:var(--blue);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* CLIENT DETAIL HEADER */
.client-detail-header{background:white;border-radius:12px;border:1px solid var(--gray-200);padding:24px;margin-bottom:24px;}
.cdh-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;}
.cdh-meta h2{font-family:'DM Serif Display',serif;font-size:24px;color:var(--navy);margin-bottom:4px;}
.cdh-meta p{font-size:14px;color:var(--gray-500);}
.cdh-stats{display:flex;gap:28px;}
.cdh-stat{text-align:right;}
.cdh-stat-label{font-size:10px;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;}
.cdh-stat-value{font-family:'DM Serif Display',serif;font-size:22px;color:var(--navy);}
.cdh-stat-value.green{color:var(--green);}
.cdh-stat-value.blue{color:var(--blue);font-size:17px;}
.cdh-progress{margin-top:4px;}
.cdh-progress-track{height:6px;background:var(--gray-100);border-radius:100px;overflow:hidden;margin-bottom:4px;}
.cdh-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),#34D399);border-radius:100px;}

/* BUDGET */
.budget-category{margin-bottom:14px;}
.budget-cat-header{display:flex;justify-content:space-between;margin-bottom:4px;}
.budget-cat-name{font-size:13px;font-weight:600;color:var(--gray-700);}
.budget-cat-amount{font-size:13px;color:var(--gray-500);font-variant-numeric:tabular-nums;}
.budget-bar-track{height:6px;background:var(--gray-100);border-radius:100px;overflow:hidden;}
.budget-bar-fill{height:100%;border-radius:100px;}
.surplus-box{border-radius:10px;padding:14px 18px;margin-bottom:20px;display:flex;align-items:center;gap:14px;}
.surplus-box.positive{background:var(--green-light);border:1px solid var(--green-mid);}
.surplus-box.negative{background:var(--red-light);border:1px solid #FECACA;}
.surplus-label{font-size:13px;font-weight:600;}
.surplus-amount{font-family:'DM Serif Display',serif;font-size:24px;}

/* INTAKE */
.intake-wrap{background:linear-gradient(135deg,#F0F7FF,#F0FDF4);min-height:100vh;padding:40px 20px;}
.intake-shell{max-width:680px;margin:0 auto;}
.intake-header{text-align:center;margin-bottom:28px;}
.intake-header h1{font-family:'DM Serif Display',serif;font-size:22px;color:var(--navy);margin-bottom:4px;}
.intake-header p{font-size:14px;color:var(--gray-400);}
.intake-progress{display:flex;gap:6px;margin-bottom:28px;}
.intake-step-bar{flex:1;height:4px;background:var(--gray-200);border-radius:100px;transition:background .3s;}
.intake-step-bar.done{background:var(--green);}
.intake-step-bar.active{background:var(--blue);}
.intake-card{background:white;border-radius:16px;border:1px solid var(--gray-200);padding:32px;}
.intake-card h2{font-family:'DM Serif Display',serif;font-size:22px;color:var(--navy);margin-bottom:4px;}
.intake-sub{font-size:14px;color:var(--gray-500);margin-bottom:24px;}
.intake-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--gray-100);}
.step-indicator{font-size:13px;color:var(--gray-400);font-weight:500;}

/* DEBT TABLE */
.debt-table-wrap{overflow-x:auto;margin-bottom:10px;}
.debt-table{width:100%;border-collapse:collapse;}
.debt-table th{font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;padding:8px 6px;text-align:left;background:transparent;border-bottom:1px solid var(--gray-200);}
.debt-table td{padding:5px 4px;}
.debt-table .form-input{padding:8px 10px;font-size:13px;}
.add-row-btn{margin-top:8px;font-size:13px;color:var(--blue);background:none;border:1.5px dashed var(--blue);border-radius:8px;padding:8px 16px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:600;width:100%;transition:all .15s;}
.add-row-btn:hover{background:var(--blue-light);}
.debt-total-bar{margin-top:14px;padding:14px 18px;background:var(--navy);border-radius:10px;display:flex;justify-content:space-between;align-items:center;}
.debt-total-bar span:first-child{font-size:14px;color:rgba(255,255,255,0.6);font-weight:600;}
.debt-total-bar span:last-child{font-family:'DM Serif Display',serif;font-size:24px;color:white;}

/* TWO COL */
.two-col{display:grid;grid-template-columns:1fr 320px;gap:20px;}
.section-label{font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px;}

/* MINI CHART (pure CSS sparkline placeholder) */
.chart-placeholder{background:var(--gray-50);border-radius:8px;height:120px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--gray-200);color:var(--gray-400);font-size:13px;}

/* NOTIFICATION TOAST */
.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:white;padding:14px 20px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,0.15);z-index:9999;transform:translateY(80px);opacity:0;transition:all .3s;max-width:340px;}
.toast.show{transform:translateY(0);opacity:1;}
.toast.green{background:var(--green);}
.toast.red{background:var(--red);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:100;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.show{display:flex;}
.modal{background:white;border-radius:16px;padding:32px;max-width:500px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,0.15);}
.modal h2{font-family:'DM Serif Display',serif;font-size:22px;color:var(--navy);margin-bottom:6px;}
.modal p{font-size:14px;color:var(--gray-500);margin-bottom:20px;}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;}

/* LOADING */
.loading-overlay{position:fixed;inset:0;background:rgba(255,255,255,0.85);z-index:200;display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px;}
.loading-overlay.show{display:flex;}
.spinner{width:36px;height:36px;border:3px solid var(--gray-200);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.loading-text{font-size:14px;color:var(--gray-500);font-weight:500;}

/* MOBILE NAV BAR */
.mobile-nav{display:none;background:var(--navy);padding:8px 16px 12px;gap:4px;justify-content:space-around;border-top:1px solid rgba(255,255,255,0.1);}
.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;color:rgba(255,255,255,0.5);font-size:10px;font-weight:600;cursor:pointer;transition:all .15s;padding:8px 8px;border-radius:10px;min-width:48px;}
.mobile-nav-item.active{color:white;background:rgba(255,255,255,0.1);}
.mobile-nav-item:hover{color:white;}
.mobile-nav-item svg{width:22px;height:22px;}

/* ADMIN MOBILE TOPBAR */
.admin-mobile-header{display:none;background:var(--navy);padding:14px 16px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
.admin-mobile-header .logo-text{font-family:'DM Serif Display',serif;font-size:17px;color:white;}
.admin-mobile-menu-btn{background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.7);padding:6px;}
.admin-mobile-drawer{position:fixed;inset:0;z-index:200;display:none;}
.admin-mobile-drawer.open{display:block;}
.admin-mobile-drawer-bg{position:absolute;inset:0;background:rgba(0,0,0,0.5);}
.admin-mobile-drawer-panel{position:absolute;top:0;left:0;bottom:0;width:260px;background:var(--navy);padding:24px 0;overflow-y:auto;}
.admin-mobile-drawer-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:rgba(255,255,255,0.6);font-size:22px;}

/* MOBILE BREAKPOINTS */
@media(max-width:768px){
  /* Layout */
  .sidebar{display:none !important;}
  .app-shell{flex-direction:column;}
  .main-content{padding:16px;padding-bottom:100px;}
  .mobile-nav{display:flex !important;}
  .admin-mobile-header{display:flex !important;}

  /* Grids */
  .stat-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .client-card-grid{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr !important;}
  .form-row.col3{grid-template-columns:1fr !important;}

  /* Typography */
  .topbar h1{font-size:22px;}
  .topbar{flex-wrap:wrap;gap:10px;margin-bottom:20px;}
  .topbar-actions{flex-wrap:wrap;}

  /* Hero */
  .client-hero{padding:24px 20px;}
  .hero-headline{font-size:24px;}
  .hero-date{font-size:22px;}

  /* Client detail */
  .cdh-top{flex-direction:column;gap:14px;}
  .cdh-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .cdh-stat{text-align:left;}
  .cdh-stat-value{font-size:18px;}
  .detail-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;display:block;}
  .detail-tab{display:inline-block;white-space:nowrap;}

  /* Cards */
  .card-header{flex-wrap:wrap;gap:10px;}
  .stat-value{font-size:22px;}
  .login-card{width:100%;max-width:400px;padding:32px 24px;margin:0 16px;}

  /* Tables — scrollable on mobile */
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table{min-width:600px;}

  /* Intake */
  .intake-wrap{padding:20px 14px;}
  .intake-card{padding:22px 18px;}
  .debt-table th,.debt-table td{padding:4px 3px;}
  .debt-table .form-input{padding:7px 8px;font-size:12px;}

  /* Numbers */
  .number-value{font-size:17px;}
  .numbers-grid{gap:10px;}

  /* Modals */
  .modal{padding:24px 20px;margin:0 8px;}
  .modal-overlay{padding:10px;}

  /* Session cards */
  .session-card{padding:16px;}

  /* Budget */
  .surplus-amount{font-size:20px;}
}

@media(max-width:400px){
  .stat-grid{grid-template-columns:1fr;}
  .main-content{padding:12px;padding-bottom:100px;}
}

/* ── CRM ── */
.lead-status-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:600;white-space:nowrap;}
.crm-interaction-entry{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--gray-100);}
.crm-interaction-entry:last-child{border-bottom:none;}
.crm-method-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:100px;font-size:11px;font-weight:700;background:var(--blue-light);color:var(--blue);}
.crm-log-form{background:var(--gray-50);border-radius:10px;padding:16px;margin-bottom:20px;}
.crm-lead-info{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--gray-700);}
/* ── PROMO RATE BADGES ── */
.promo-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap;}
.promo-active{background:#FEF3C7;color:#92400E;border:1px solid #FDE68A;}
.promo-warning{background:#FEE2E2;color:#991B1B;border:1px solid #FECACA;}
.promo-info-box{background:#FFFBEB;border:1px solid #FDE68A;border-radius:8px;padding:10px 14px;margin-top:10px;font-size:13px;color:#92400E;line-height:1.5;}
.promo-expiring-panel{background:#FEF3C7;border:1px solid #FDE68A;border-radius:10px;padding:12px 16px;margin-bottom:12px;}
/* ── EDIT DEBT MODAL ── */
.edit-debt-section-title{font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.07em;padding:14px 0 8px;border-top:1px solid var(--gray-100);margin-top:6px;}
.edit-debt-section-title:first-of-type{border-top:none;padding-top:0;}
/* ── CALCULATOR SECTION ── */
.calc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;}
.calc-tab-btn{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;background:white;border:1.5px solid var(--gray-200);color:var(--gray-600);font-family:'DM Sans',sans-serif;transition:all .15s;white-space:nowrap;}
.calc-tab-btn.active{background:var(--navy);color:white;border-color:var(--navy);}
.calc-tab-btn:hover:not(.active){border-color:var(--gray-400);color:var(--navy);}
.calc-panel{display:none;}
.calc-panel.active{display:block;}
.calc-card{background:white;border-radius:14px;border:1px solid var(--gray-200);padding:24px;margin-bottom:16px;}
.calc-prefill-note{background:var(--blue-light);border:1px solid var(--blue-mid);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--blue);margin-bottom:16px;font-weight:500;}
.calc-result-box{background:linear-gradient(135deg,var(--navy) 0%,#2D3F6B 100%);border-radius:12px;padding:20px;color:white;margin-top:16px;}
.calc-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
@media(max-width:480px){.calc-method-grid{grid-template-columns:1fr;}}
.calc-method-card{background:rgba(255,255,255,0.09);border-radius:10px;padding:16px;}
.calc-method-title{font-size:13px;font-weight:700;margin-bottom:12px;color:rgba(255,255,255,0.9);}
.calc-stat-label{font-size:10px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;}
.calc-stat-value{font-family:'DM Serif Display',serif;font-size:22px;color:white;margin-bottom:10px;}
.calc-savings-bar{background:rgba(16,185,129,0.2);border:1px solid rgba(16,185,129,0.4);border-radius:8px;padding:10px 14px;font-size:13px;font-weight:700;color:#6EE7B7;text-align:center;margin-top:10px;}
.calc-result-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.08);font-size:14px;}
.calc-result-row:last-child{border-bottom:none;}
.calc-result-label{color:rgba(255,255,255,0.6);}
.calc-result-value{font-weight:700;color:white;}
.calc-result-value.green{color:#6EE7B7;}
.calc-result-value.yellow{color:#FDE68A;}
.calc-result-value.red{color:#FCA5A5;}
.calc-debt-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 24px;gap:6px;align-items:center;margin-bottom:6px;}
@media(max-width:600px){.calc-debt-row{grid-template-columns:1fr 1fr;}}
/* ── DEBT FEATURE ENHANCEMENTS ── */
/* Paid-off state */
.debt-paid-off{text-decoration:line-through;color:var(--gray-400);}
.paid-off-badge{display:inline-flex;align-items:center;gap:3px;background:var(--green-light);color:#059669;border:1px solid var(--green-mid);border-radius:100px;font-size:10px;font-weight:700;padding:2px 8px;vertical-align:middle;margin-left:6px;}
/* Strategy toggle */
.strategy-toggle{display:inline-flex;background:var(--gray-100);border-radius:10px;padding:3px;gap:2px;}
.strategy-toggle-btn{padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;background:none;border:none;color:var(--gray-500);font-family:'DM Sans',sans-serif;transition:all .15s;line-height:1.2;}
.strategy-toggle-btn.active{background:white;color:var(--navy);box-shadow:0 1px 4px rgba(0,0,0,.08);}
/* Admin inline balance edit */
.balance-edit-wrap{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;}
.balance-input{width:100px;padding:5px 8px 5px 22px;border:1.5px solid var(--blue);border-radius:6px;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;}
.balance-input:focus{box-shadow:0 0 0 3px rgba(37,99,235,0.1);}
/* History row */
.hist-row{background:var(--gray-50);}
.hist-row td{padding:10px 16px;}
/* Client balance edit inline */
.client-bal-edit{margin-top:12px;background:var(--blue-light);border:1px solid var(--blue-mid);border-radius:10px;padding:12px 14px;}
.client-bal-edit-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
/* Projection calculator */
.projection-calc{background:white;border-radius:14px;border:1px solid var(--gray-200);padding:20px;margin-top:20px;}
.proj-slider{width:100%;accent-color:var(--blue);margin:8px 0;}
.proj-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.proj-result-item{background:var(--gray-50);border-radius:8px;padding:12px;text-align:center;}
.proj-result-label{font-size:10px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.proj-result-value{font-family:'DM Serif Display',serif;font-size:18px;color:var(--navy);}
.proj-result-value.green{color:var(--green);}
.proj-result-value.blue{color:var(--blue);}

/* EMPTY STATE */
.empty-state{text-align:center;padding:48px 20px;color:var(--gray-400);}
.empty-state .empty-icon{font-size:40px;margin-bottom:12px;}
.empty-state h3{font-size:15px;font-weight:600;color:var(--gray-500);margin-bottom:6px;}
.empty-state p{font-size:13px;}

/* BACK LINK */
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--gray-500);font-weight:600;cursor:pointer;text-decoration:none;margin-bottom:20px;transition:color .15s;}
.back-link:hover{color:var(--navy);}

/* ── Admin Dashboard Responsive Grid ── */
.admin-dash-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;}
@media(max-width:900px){.admin-dash-grid{grid-template-columns:1fr;}}

/* ── Budget Builder ── */
.budget-section{background:white;border-radius:12px;border:1px solid var(--gray-200);margin-bottom:12px;overflow:hidden;transition:box-shadow .15s;}
.budget-section:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);}
.budget-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;user-select:none;}
.budget-section-title{font-size:15px;font-weight:600;color:var(--navy);}
.budget-section-meta{display:flex;align-items:center;gap:12px;}
.budget-section-amt{font-size:14px;font-weight:600;color:var(--blue);}
.budget-section-chevron{font-size:18px;color:var(--gray-400);transition:transform .2s;line-height:1;}
.budget-section.open .budget-section-chevron{transform:rotate(90deg);}
.budget-section-body{border-top:1px solid var(--gray-100);padding:4px 0;display:none;}
.budget-section.open .budget-section-body{display:block;}
.budget-line{display:flex;align-items:center;padding:7px 18px;gap:12px;}
.budget-line-label{flex:1;font-size:13.5px;color:var(--gray-700);}
.budget-line-input{width:100px;text-align:right;padding:6px 10px;border:1px solid var(--gray-200);border-radius:6px;font-size:13.5px;font-family:'DM Sans',sans-serif;color:var(--gray-900);background:var(--gray-50);}
.budget-line-input:focus{outline:none;border-color:var(--blue);background:white;}
.budget-sticky-footer{position:sticky;bottom:0;background:var(--navy);color:white;padding:14px 20px;display:flex;gap:0;border-top:2px solid rgba(255,255,255,.1);z-index:10;}
.budget-sticky-footer-inner{display:flex;width:100%;justify-content:space-around;}
.budget-footer-item{display:flex;flex-direction:column;align-items:center;gap:2px;}
.budget-footer-label{font-size:11px;opacity:.55;text-transform:uppercase;letter-spacing:.06em;}
.budget-footer-value{font-size:17px;font-weight:700;}
.budget-footer-value.green{color:#6EE7B7;}
.budget-footer-value.red{color:#FCA5A5;}
.budget-autosave{font-size:12px;color:var(--gray-400);text-align:right;min-height:18px;padding:2px 0 8px;}
.budget-readonly-section{background:white;border-radius:10px;border:1px solid var(--gray-200);margin-bottom:10px;padding:14px 18px;}
.budget-readonly-title{font-size:13px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.budget-readonly-line{display:flex;justify-content:space-between;font-size:13.5px;padding:3px 0;border-bottom:1px solid var(--gray-50);}
.budget-readonly-line:last-child{border-bottom:none;}

/* DOCUMENTS */
.doc-list{display:flex;flex-direction:column;gap:8px;}
.doc-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:white;border:1px solid var(--gray-200);border-radius:10px;transition:box-shadow .15s;}
.doc-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);}
.doc-icon{width:36px;height:36px;background:var(--blue-light);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.doc-meta{flex:1;min-width:0;}
.doc-name{font-size:14px;font-weight:600;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.doc-sub{font-size:12px;color:var(--gray-400);margin-top:1px;}
.doc-actions{display:flex;gap:8px;flex-shrink:0;}
.doc-upload-zone{border:2px dashed var(--gray-200);border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .15s;position:relative;}
.doc-upload-zone:hover,.doc-upload-zone.drag{border-color:var(--blue);background:var(--blue-light);}
.doc-upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.doc-upload-icon{font-size:32px;margin-bottom:8px;}
.doc-upload-text{font-size:14px;font-weight:600;color:var(--gray-600);}
.doc-upload-sub{font-size:12px;color:var(--gray-400);margin-top:4px;}

/* SIGNUP / VERIFY / PENDING SCREENS */
.verify-card{background:white;border-radius:20px;padding:48px;width:460px;max-width:calc(100vw - 40px);box-shadow:0 8px 40px rgba(0,0,0,0.09);border:1px solid var(--gray-200);text-align:center;}
.verify-icon{font-size:56px;margin-bottom:20px;}
.verify-card h1{font-family:'DM Serif Display',serif;font-size:24px;color:var(--navy);margin-bottom:10px;}
.verify-card p{font-size:14px;color:var(--gray-500);line-height:1.7;margin-bottom:16px;}
.verify-email-highlight{font-weight:700;color:var(--navy);}

/* ADMIN NAV BADGE */
.nav-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:white;font-size:10px;font-weight:700;border-radius:100px;min-width:18px;height:18px;padding:0 5px;margin-left:6px;}

/* ── GOALS ── */
.goals-section-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px;}
.goals-section-label .goals-count{display:inline-flex;align-items:center;justify-content:center;background:var(--blue-light);color:var(--blue);font-size:11px;font-weight:700;border-radius:100px;min-width:20px;height:20px;padding:0 6px;}
.goals-section-label .goals-count.achieved{background:var(--green-light);color:#059669;}
.goals-list{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
.goal-card{background:white;border-radius:16px;border:1.5px solid var(--gray-200);padding:22px;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden;}
.goal-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--blue);border-radius:4px 0 0 4px;}
.goal-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.07);transform:translateY(-2px);}
.goal-card.achieved{border-color:#A7F3D0;background:linear-gradient(135deg,#F0FDF4 0%,#ECFDF5 100%);}
.goal-card.achieved::before{background:var(--green);}
.goal-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px;flex-wrap:wrap;}
.goal-cat-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:700;}
.goal-achieved-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:700;background:var(--green-light);color:#059669;border:1px solid #A7F3D0;}
.goal-title{font-family:'DM Serif Display',serif;font-size:21px;color:var(--navy);line-height:1.25;margin-bottom:8px;}
.goal-card.achieved .goal-title{color:#065F46;}
.goal-description{font-size:14px;color:var(--gray-500);line-height:1.6;margin-bottom:10px;}
.goal-date-line{font-size:13px;color:var(--gray-400);font-weight:500;display:flex;align-items:center;gap:6px;}
.goal-date-line.soon{color:#D97706;font-weight:600;}
.goal-date-line.today{color:var(--green);font-weight:700;}
.goal-achieved-date{font-size:13px;color:#059669;font-weight:600;}
/* Admin goal cards */
.goal-admin-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;background:white;border:1px solid var(--gray-200);border-radius:12px;margin-bottom:10px;}
.goal-admin-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.05);}
.goal-admin-body{flex:1;min-width:0;}
.goal-admin-cat{font-size:12px;font-weight:700;color:var(--gray-400);margin-bottom:3px;}
.goal-admin-title{font-size:15px;font-weight:600;color:var(--navy);margin-bottom:3px;}
.goal-admin-desc{font-size:13px;color:var(--gray-500);margin-bottom:3px;}
.goal-admin-date{font-size:12px;color:var(--gray-400);}
.goal-admin-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:768px){
  .goal-card{padding:16px 16px 16px 20px;}
  .goal-title{font-size:18px;}
  .goal-admin-item{flex-direction:column;}
  .goal-admin-actions{flex-direction:row;}
}

/* ═══════════════════════════════════════════════
   SPENDING TAB
   ═══════════════════════════════════════════════ */
.month-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.month-pill{padding:7px 16px;border-radius:100px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--gray-200);background:white;color:var(--gray-600);transition:all .15s;font-family:'DM Sans',sans-serif;}
.month-pill:hover{border-color:var(--blue);color:var(--blue);}
.month-pill.active{background:var(--blue);color:white;border-color:var(--blue);}
.spend-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;}
.spend-sum-card{background:white;border-radius:12px;border:1px solid var(--gray-200);padding:16px 20px;}
.spend-sum-label{font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.spend-sum-value{font-family:'DM Serif Display',serif;font-size:26px;color:var(--navy);}
.spend-sum-value.red{color:var(--red);}
.spend-sum-value.green{color:var(--green);}
.spend-table{width:100%;border-collapse:collapse;}
.spend-table th{text-align:left;padding:10px 16px;font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--gray-50);border-bottom:1px solid var(--gray-200);}
.spend-table th:not(:first-child){text-align:right;}
.spend-table td{padding:11px 16px;font-size:13.5px;color:var(--gray-700);border-bottom:1px solid var(--gray-100);}
.spend-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;}
.spend-table tr:last-child td{border-bottom:none;}
.spend-section-row{cursor:pointer;}
.spend-section-row td{background:var(--gray-50);font-weight:700;color:var(--navy);font-size:13px;}
.spend-section-row:hover td{background:var(--blue-light);}
.spend-item-row td:first-child{padding-left:36px;color:var(--gray-600);font-size:13px;}
.spend-over{color:var(--red);font-weight:700;}
.spend-under{color:var(--green);font-weight:600;}
.spend-zero{color:var(--gray-300);}
.spend-empty{background:white;border-radius:12px;border:1px solid var(--gray-200);padding:48px;text-align:center;color:var(--gray-400);}
.spend-acct-badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:11px;font-weight:600;background:var(--blue-mid);color:var(--blue);margin-left:4px;}
/* Import modal */
.import-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;}
.import-modal{background:white;border-radius:16px;width:100%;max-width:840px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;}
.import-modal-header{padding:20px 24px;border-bottom:1px solid var(--gray-100);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.import-modal-body{padding:24px;overflow-y:auto;flex:1;}
.import-modal-footer{padding:16px 24px;border-top:1px solid var(--gray-100);display:flex;justify-content:flex-end;gap:10px;flex-shrink:0;}
.txn-preview-table{width:100%;border-collapse:collapse;font-size:13px;}
.txn-preview-table th{text-align:left;padding:8px 10px;font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;background:var(--gray-50);border-bottom:1px solid var(--gray-200);}
.txn-preview-table td{padding:6px 10px;border-bottom:1px solid var(--gray-100);color:var(--gray-700);vertical-align:middle;}
.txn-preview-table tr:last-child td{border-bottom:none;}
.txn-row-toggle{cursor:pointer;font-size:15px;user-select:none;}
.txn-cat-select{font-size:12px;padding:4px 6px;border:1px solid var(--gray-200);border-radius:6px;background:white;color:var(--gray-700);max-width:210px;font-family:'DM Sans',sans-serif;}
.txn-amt-expense{color:var(--gray-900);font-weight:600;font-variant-numeric:tabular-nums;}
.txn-amt-credit{color:var(--green);font-weight:600;font-variant-numeric:tabular-nums;}
@media(max-width:640px){
  .spend-summary{grid-template-columns:1fr 1fr;}
  .spend-sum-value{font-size:20px;}
}
/* Custom budget line items */
.budget-custom-item{gap:8px;align-items:center;}
.budget-custom-label{flex:1;min-width:0;padding:6px 10px;border:1px solid var(--gray-200);border-radius:6px;font-size:13.5px;font-family:'DM Sans',sans-serif;color:var(--gray-900);background:var(--gray-50);}
.budget-custom-label:focus{outline:none;border-color:var(--blue);background:white;}
.budget-custom-del{background:none;border:none;cursor:pointer;color:var(--gray-300);font-size:18px;padding:0 4px;line-height:1;flex-shrink:0;transition:color .15s;}
.budget-custom-del:hover{color:var(--red);}
.budget-add-custom{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px dashed var(--gray-300);background:transparent;color:var(--gray-500);font-family:'DM Sans',sans-serif;margin:4px 18px 10px;transition:all .15s;}
.budget-add-custom:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light);}
.budget-custom-tag{display:inline-block;font-size:10px;font-weight:700;color:var(--blue);background:var(--blue-mid);border-radius:4px;padding:1px 5px;margin-left:4px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em;}

/* ═══ SCREENSHOT-PARITY UI (June 2026) ═══ */
/* Dashboard stat row */
.dash-stat-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px;}
.dash-stat{background:white;border:1px solid var(--gray-200);border-radius:14px;padding:13px 14px 12px;}
.dash-stat-label{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gray-400);margin-bottom:5px;}
.dash-stat-value{font-family:'DM Serif Display',serif;font-size:19px;color:var(--navy);}
.dash-stat-value.green{color:var(--green);}
.dash-stat-value.red{color:var(--red);}
/* Debt group labels */
.debt-group-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);margin:4px 4px 10px;}
/* More bottom sheet */
.more-sheet{position:fixed;inset:0;z-index:300;display:none;}
.more-sheet.open{display:block;}
.more-sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.more-sheet-panel{position:absolute;left:0;right:0;bottom:0;background:white;border-radius:20px 20px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 32px rgba(0,0,0,.18);}
.more-sheet-handle{width:38px;height:4px;background:var(--gray-200);border-radius:99px;margin:4px auto 10px;}
.more-sheet-link{display:flex;align-items:center;gap:10px;padding:14px 6px;font-size:15px;font-weight:600;color:var(--navy);border-bottom:1px solid var(--gray-100);cursor:pointer;}
.more-sheet-link:last-child{border-bottom:none;}
/* Next-session banner (sessions page) */
.next-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--green-light);border:1px solid var(--green-mid);border-radius:14px;padding:13px 16px;margin-bottom:16px;flex-wrap:wrap;}
.next-banner .nb-a{font-size:13.5px;font-weight:700;color:#065F46;}
.next-banner .nb-b{font-size:11.5px;color:#059669;margin-top:1px;}
.next-banner .nb-btn{background:var(--green);color:white;font-size:11.5px;font-weight:700;padding:7px 14px;border-radius:99px;text-decoration:none;white-space:nowrap;}
/* Checkable action items */
.ai-list{display:flex;flex-direction:column;}
.ai-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--gray-100);cursor:pointer;user-select:none;}
.ai-item:last-child{border-bottom:none;}
.ai-check{width:21px;height:21px;border-radius:7px;border:2px solid var(--gray-300);flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:white;transition:all .15s;}
.ai-item.done .ai-check{background:var(--green);border-color:var(--green);}
.ai-text{font-size:14px;color:var(--gray-700);line-height:1.45;transition:color .15s;}
.ai-item.done .ai-text{color:var(--gray-400);text-decoration:line-through;}
/* Spending hero */
.spend-hero{border-radius:16px;padding:18px 20px;color:white;margin-bottom:14px;position:relative;overflow:hidden;}
.spend-hero.good{background:linear-gradient(140deg,#065F46,#10B981);}
.spend-hero.bad{background:linear-gradient(140deg,#7F1D1D,#EF4444);}
.spend-hero::before{content:'';position:absolute;top:-44px;right:-44px;width:160px;height:160px;background:rgba(255,255,255,.10);border-radius:50%;}
.spend-hero .sh-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:4px;font-weight:700;}
.spend-hero .sh-value{font-family:'DM Serif Display',serif;font-size:30px;}
.spend-hero .sh-sub{font-size:12px;color:rgba(255,255,255,.75);margin-top:4px;}
/* Command center */
.att-row{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--gray-100);cursor:pointer;}
.att-row:last-child{border-bottom:none;}
.att-row:hover{background:var(--gray-50);}
.att-ico{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.att-dot-red{background:var(--red-light);}
.att-dot-yellow{background:var(--yellow-light);}
.att-dot-blue{background:var(--blue-light);}
.att-who{font-size:13.5px;font-weight:700;color:var(--navy);}
.att-why{font-size:11.5px;color:var(--gray-500);margin-top:1px;}
.att-pill{font-size:9px;font-weight:800;padding:2px 8px;border-radius:100px;margin-left:6px;letter-spacing:.03em;white-space:nowrap;}
.att-pill-red{background:#FEE2E2;color:#991B1B;}
.att-pill-yellow{background:#FEF3C7;color:#92400E;}
.att-pill-blue{background:#DBEAFE;color:#1D4ED8;}
.att-open{font-size:11.5px;font-weight:700;color:var(--blue);white-space:nowrap;flex-shrink:0;}

/* Mobile polish */
@media(max-width:768px){
  .form-input{font-size:16px;}             /* prevents iOS zoom-on-focus */
  .mobile-nav-item{min-width:56px;padding:8px 4px;}
  .dash-stat-value{font-size:17px;}
  .spend-table{min-width:0;}
  .spend-table th,.spend-table td{padding:9px 8px;font-size:12px;}
  .next-banner .nb-btn{padding:8px 16px;}
}


/* ═══════════════ BUDGET LINE SCHEDULES ═══════════════ */
.budget-line-name { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.budget-line-sched { font-size:11.5px; color:var(--gray-400); font-weight:500; }
.budget-sched-btn {
  background:none; border:1px solid var(--gray-200); border-radius:8px;
  width:34px; height:34px; flex-shrink:0; cursor:pointer; font-size:15px;
  display:flex; align-items:center; justify-content:center; opacity:.7;
}
.budget-sched-btn:hover { opacity:1; border-color:var(--blue); background:var(--blue-light); }
.cf-cad { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.cf-cad-opt {
  padding:10px 12px; border:1.5px solid var(--gray-200); border-radius:10px;
  background:var(--white); cursor:pointer; font-size:13px; font-weight:600; color:var(--gray-600);
}
.cf-cad-opt.sel { border-color:var(--blue); background:var(--blue-light); color:var(--blue); }

/* ═══════════════ CASH FLOW TAB ═══════════════ */
.cf-monthnav { display:flex; align-items:center; gap:10px; }
.cf-month { font-weight:700; color:var(--navy); font-size:14px; min-width:120px; text-align:center; }
.cf-balcard { background:var(--gray-50); border:1px solid var(--gray-200); border-radius:14px; padding:16px 18px; margin-bottom:16px; }
.cf-bal-label { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--gray-400); margin-bottom:8px; }
.cf-bal-row { display:flex; gap:10px; align-items:center; }
.cf-hint { font-size:12px; color:var(--gray-500); margin-top:8px; line-height:1.5; }
.cf-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.cf-sum { border:1px solid var(--gray-200); border-radius:12px; padding:12px 14px; }
.cf-sum-l { font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--gray-400); }
.cf-sum-v { font-size:20px; font-weight:800; color:var(--navy); margin-top:4px; }
.cf-sum-v.cf-neg { color:#EF4444; }
.cf-sum-s { font-size:11px; color:var(--gray-500); margin-top:2px; }
.cf-warn { background:#FEF2F2; border:1px solid #FECACA; color:#991B1B; border-radius:12px; padding:12px 16px; font-size:13.5px; margin-bottom:14px; line-height:1.5; }
.cf-ok { background:var(--green-light); border:1px solid var(--green-mid); color:#065F46; border-radius:12px; padding:12px 16px; font-size:13.5px; margin-bottom:14px; }
.cf-badge { background:#EFF6FF; border:1px solid #BFDBFE; color:#1E40AF; border-radius:12px; padding:10px 16px; font-size:13px; font-weight:600; margin-bottom:14px; }
.cf-empty { color:var(--gray-500); font-size:13.5px; padding:18px; text-align:center; background:var(--gray-50); border-radius:12px; }
.cf-timeline { border:1px solid var(--gray-200); border-radius:14px; overflow:hidden; }
.cf-row { display:grid; grid-template-columns:64px 1fr auto 96px; align-items:center; gap:10px; padding:11px 14px; border-bottom:1px solid var(--gray-100); }
.cf-row:last-child { border-bottom:none; }
.cf-date { font-size:12px; font-weight:700; color:var(--gray-500); }
.cf-ev-label { font-size:13.5px; color:var(--navy); font-weight:600; }
.cf-ev-sec { font-size:11px; color:var(--gray-400); }
.cf-amt { font-size:13.5px; font-weight:700; font-variant-numeric:tabular-nums; text-align:right; }
.cf-amt.cf-in { color:var(--green); }
.cf-amt.cf-out { color:#EF4444; }
.cf-run { font-size:13.5px; font-weight:700; color:var(--navy); text-align:right; font-variant-numeric:tabular-nums; }
.cf-run.cf-neg { color:#EF4444; }
.cf-unsched { margin-top:14px; border:1px dashed var(--gray-300); border-radius:12px; padding:12px 16px; }
.cf-unsched-h { font-size:12px; font-weight:700; color:var(--gray-500); margin-bottom:8px; }
.cf-unsched-row { display:flex; justify-content:space-between; font-size:13px; color:var(--gray-600); padding:3px 0; }
@media (max-width:600px) {
  .cf-summary { grid-template-columns:1fr; }
  .cf-row { grid-template-columns:52px 1fr auto 84px; gap:8px; padding:10px; }
}

/* Budget line schedule — keep tidy on small screens */
.budget-line-name .budget-custom-label { width:100%; }
@media (max-width:600px) {
  .budget-line { gap:8px; padding:7px 14px; }
  .budget-sched-btn { width:32px; height:32px; font-size:14px; }
  .budget-line .input-prefix-wrap { width:104px !important; }
}
