/* DELL - Dynamic Education Loan Ledger Styles */
.dell-app{max-width:1200px;margin:0 auto;padding:0 24px 80px;transition:max-width 0.5s cubic-bezier(.4,0,.2,1)}
body.workspace-maximized .dell-app{max-width:96%}
.dell-grid{display:flex;gap:24px;align-items:flex-start;transition:gap 0.5s cubic-bezier(.4,0,.2,1)}
.events-row{display:grid;grid-template-columns:380px minmax(0,1fr) minmax(0,1fr);gap:24px;margin-bottom:24px;transition:all 0.5s cubic-bezier(.4,0,.2,1)}
body.workspace-maximized .events-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
@media(max-width:900px){
  .dell-grid{flex-direction:column;width:100%} 
  .events-row{grid-template-columns:1fr}
  .config-panel{width:100% !important;max-width:100%;flex:none !important;height:auto;overflow:visible} 
  .main-content{width:100% !important;max-width:100%;min-width:0}
  .overview-split{grid-template-columns:1fr !important}
}
@media(max-width:600px){
  .event-form{grid-template-columns:1fr !important}
  .summary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap: 8px !important;}
  .dell-app{padding: 0 12px 80px !important;}
}
body.workspace-maximized .dell-grid{gap:0px}
.config-panel{display:flex;flex-direction:column;gap:20px;width:380px;flex:0 0 380px;transition:all 0.5s cubic-bezier(.4,0,.2,1);overflow:hidden}
.overview-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
body.workspace-maximized .config-panel{width:0;flex:0 0 0px;opacity:0;transform:scale(0.95);pointer-events:none}
.main-content{flex:1;min-width:0;width:100%;max-width:100%;transition:all 0.5s cubic-bezier(.4,0,.2,1)}
.event-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}

.form-field{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-width:0}
.form-field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}
.form-field input,.form-field select{padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-light);color:var(--text-primary);font-family:inherit;font-size:14px;font-weight:500;outline:none;transition:var(--transition);width:100%;min-width:0;box-sizing:border-box}
.form-field input:focus,.form-field select:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px rgba(139,92,246,.15)}
.rate-display-box{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:12px 16px;background:rgba(139,92,246,.08);border-radius:10px}
.rate-display-value{font-size:20px;font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.btn-primary{padding:10px 20px;border-radius:10px;border:none;background:var(--gradient-accent);color:#fff;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:6px}
.btn-primary:hover{box-shadow:0 4px 20px rgba(139,92,246,.4);transform:translateY(-1px)}
.btn-secondary{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition)}
.btn-secondary:hover{border-color:var(--accent-purple);color:var(--accent-purple)}
.btn-danger{padding:4px 8px;border-radius:6px;border:1px solid rgba(239,68,68,.3);background:rgba(239,68,68,.08);color:#ef4444;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition)}
.btn-danger:hover{background:rgba(239,68,68,.2)}
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.toggle-row:last-child{border-bottom:none}
.toggle-info{display:flex;flex-direction:column;gap:2px}
.toggle-title{font-size:13px;font-weight:600;color:var(--text-primary)}
.toggle-desc{font-size:11px;color:var(--text-muted)}
.switch{position:relative;width:44px;height:24px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:24px;transition:.3s}
.switch-slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}
.switch input:checked+.switch-slider{background:var(--gradient-accent)}
.switch input:checked+.switch-slider::before{transform:translateX(20px)}
.event-log{max-height:400px;overflow-y:auto}
.event-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--bg-light);transition:background .2s}
.event-item:hover{background:var(--bg-light)}
.event-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.event-icon.disbursement{background:rgba(139,92,246,.12)}
.event-icon.payment{background:rgba(16,185,129,.12)}
.event-icon.rate_change{background:rgba(249,115,22,.12)}
.event-details{flex:1;min-width:0}
.event-type{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.event-type.disbursement{color:var(--accent-purple)}
.event-type.payment{color:#10b981}
.event-type.rate_change{color:#f97316}
.event-date{font-size:11px;color:var(--text-muted)}
.event-amount{font-size:15px;font-weight:700;text-align:right;white-space:nowrap}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
@media(max-width:600px){.summary-grid{grid-template-columns:repeat(2,1fr)}}
.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;text-align:center;position:relative;overflow:hidden;transition:var(--transition);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-card)}
.summary-card::before{content:"";position:absolute;inset:0;background:var(--gradient-card);pointer-events:none;opacity:.5}
.summary-card:hover{border-color:var(--border-active);transform:translateY(-2px);box-shadow:var(--shadow-glow),var(--shadow-card)}
.summary-card .s-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}
.summary-card .s-value{font-size:18px;font-weight:800;line-height:1}
.whatif-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}
@media(max-width:600px){.whatif-grid{grid-template-columns:minmax(0,1fr)}}
.whatif-card{min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px;transition:var(--transition);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-card);position:relative;overflow:hidden}
.whatif-card::before{content:"";position:absolute;inset:0;background:var(--gradient-card);pointer-events:none;opacity:.5}
.whatif-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-glow),var(--shadow-card)}
.whatif-card h4{font-size:13px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.whatif-row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--bg-light)}
.whatif-row:last-child{border-bottom:none}
.whatif-row .wlabel{color:var(--text-muted)}
.whatif-row .wval{font-weight:600}
.ledger-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);max-height:500px;overflow-y:auto}
.main-tabs{display:flex;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:4px;margin-bottom:20px;flex-wrap:nowrap;align-items:center}
.main-tab{position:relative;z-index:2;padding:9px 18px;border-radius:9px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:color 0.3s ease;white-space:nowrap}
.main-tab:hover{color:var(--text-primary)}
.main-tab.active{color:var(--text-inverse)}
.tab-slider{position:absolute;top:0;left:0;height:100%;background:var(--gradient-accent);border-radius:9px;box-shadow:0 4px 16px rgba(139,92,246,.4);transition:transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), width 0.4s cubic-bezier(0.4, 0, 0.2, 1);z-index:0;pointer-events:none}
@keyframes tabFadeIn { from { opacity: 0; transform: translateY(10px) scale(0.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
.tab-content{display:none}
.tab-content.active{display:block;animation:tabFadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards}
.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}
.empty-state i{font-size:32px;margin-bottom:12px;opacity:.3}
.empty-state p{font-size:13px}
