:root{--primary-color: #dba100;--primary-dark: #c9bc35;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--background: #f9fafb;--surface: #ffffff;--border: #e5e7eb;--border-light: #f3f4f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius: 12px;--radius-sm: 8px;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--text-primary);line-height:1.6}.app{min-height:100vh;background:linear-gradient(135deg,#01020a,#383838);position:relative}.dashboard{font-size:.75rem;--spacing-xs: .4em;--spacing-sm: .6em;--spacing-md: .85em;--spacing-lg: 1.1em;--spacing-xl: 1.6em;--spacing-2xl: 2.2em;--radius: 8px;--radius-sm: 5px;min-height:100vh;background:linear-gradient(135deg,#01020a,#383838);padding:var(--spacing-md);animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{text-align:center;margin-bottom:var(--spacing-xl);padding-top:var(--spacing-md)}.header-content h1{color:#fff;font-size:2em;font-weight:700;margin-bottom:var(--spacing-xs);text-shadow:0 2px 4px rgba(0,0,0,.3)}.header-subtitle{color:#ffffffe6;font-size:1em;font-weight:400}.dashboard-main{max-width:1000px;margin:0 auto}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;color:#fff;text-align:center}.loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-icon{font-size:3em;margin-bottom:var(--spacing-md)}.error-subtitle{opacity:.8;font-size:.85em}.summary-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);overflow:hidden}.summary-header{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;padding:var(--spacing-md);text-align:center}.summary-header h2{font-size:1.25em;font-weight:600;margin:0}.summary-content{padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:0}.summary-item{text-align:center;padding:var(--spacing-md);border-radius:var(--radius-sm);background:var(--border-light);transition:transform .2s ease;display:flex;flex-direction:column;justify-content:center}.summary-item:hover{transform:translateY(-1px)}.balance-item{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid var(--border)}.summary-label{font-size:.82em;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.summary-value{font-size:1.45em;font-weight:700;color:var(--text-primary)}.summary-value.paid{color:var(--success-color)}.summary-value.balance.negative{color:var(--danger-color)}.summary-value.balance.positive{color:var(--success-color)}.balance-alert,.balance-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-weight:500;box-shadow:var(--shadow-sm)}.balance-alert{background:linear-gradient(135deg,#fef3c7,#fed7aa);border:1px solid var(--warning-color);color:#92400e}.balance-info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;color:#001a60}.alert-icon,.info-icon{font-size:1.25em;flex-shrink:0}.alert-content,.info-content{display:flex;flex-direction:column;gap:1px}.alert-title,.info-title{font-weight:700;font-size:.9em}.alert-message,.info-message{font-size:.85em;opacity:.9}.statements-section{margin-bottom:var(--spacing-xl)}.section-title{color:#fff;font-size:1.4em;font-weight:600;margin-bottom:var(--spacing-md);text-shadow:0 2px 4px rgba(0,0,0,.3)}.statement-category{margin-bottom:var(--spacing-xl)}.category-title{color:#fff;font-size:1.1em;font-weight:600;margin-bottom:var(--spacing-md);text-shadow:0 2px 4px rgba(0,0,0,.3);padding:var(--spacing-sm) var(--spacing-md);background:#ffffff1a;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.statements-grid{display:grid;gap:var(--spacing-md)}.statement-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.statement-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.statement-card.paid-statement{opacity:.85;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.statement-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:#f8fafc;border-bottom:1px solid var(--border)}.statement-date{text-align:left}.date-main{font-size:1.05em;font-weight:600;color:var(--text-primary);margin-bottom:1px}.date-label{font-size:.72em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.due-badge{text-align:right;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75em;font-weight:600}.due-badge.paid{background:#bbf7d0;color:#059669}.due-badge.overdue{background:#fecaca;color:#dc2626}.due-badge.due-soon{background:#fed7aa;color:#ea580c}.due-badge.upcoming{background:#bbf7d0;color:#059669}.due-text{font-weight:700;margin-bottom:1px}.due-date{font-size:.7em;opacity:.8}.statement-summary{padding:var(--spacing-md) var(--spacing-lg);background:#fff}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);padding:2px 0}.summary-row:last-child{margin-bottom:0}.balance-row{border-top:1px solid var(--border-light);padding-top:var(--spacing-xs);margin-top:var(--spacing-xs)}.summary-label{font-weight:500;color:var(--text-secondary);font-size:.9em}.summary-amount{font-weight:700;font-size:.95em}.summary-amount.paid{color:var(--success-color)}.summary-amount.balance.negative{color:var(--danger-color);font-size:1.1em}.summary-amount.balance.positive{color:var(--success-color)}.expand-button{width:100%;display:flex;justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--border-light);border:none;border-top:1px solid var(--border);color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9em}.expand-button:hover{background:#e5e7eb;color:var(--text-primary)}.expand-icon{transition:transform .2s ease;font-size:.75rem}.expand-icon.expanded{transform:rotate(180deg)}.transactions-list{border-top:1px solid var(--border);background:#fff}.transactions-header{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-xs);background:#f8fafc}.transactions-header h3{margin:0;font-size:.95em;font-weight:600;color:var(--text-primary)}.transactions-content{padding:0 var(--spacing-lg) var(--spacing-md)}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs);border-radius:var(--radius-sm);border-left:3px solid transparent;background:var(--border-light);transition:all .2s ease}.transaction-item:last-child{margin-bottom:0}.transaction-item:hover{background:#e5e7eb;transform:translate(2px)}.transaction-item.paid{border-left-color:var(--success-color);background:#f0f9ff}.transaction-item.partial{border-left-color:var(--warning-color);background:#fffbeb}.transaction-item.unpaid{border-left-color:var(--danger-color);background:#fef2f2}.transaction-main{flex:1}.transaction-name{font-weight:600;color:var(--text-primary);margin-bottom:1px;font-size:.9em}.transaction-date{font-size:.78em;color:var(--text-muted)}.transaction-amounts{text-align:right;flex-shrink:0}.transaction-total{font-weight:700;font-size:.95em;color:var(--text-primary);margin-bottom:1px}.transaction-status{font-size:.75em;font-weight:500}.status-text{display:flex;align-items:center;gap:3px}.transaction-status.paid .status-text{color:var(--success-color)}.transaction-status.partial .status-text{color:var(--warning-color)}.transaction-status.unpaid .status-text{color:var(--danger-color)}@media (max-width: 768px){.dashboard{padding:var(--spacing-sm)}.header-content h1{font-size:1.6em}.summary-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.summary-value{font-size:1.4em}.statement-header{flex-direction:column;gap:var(--spacing-sm);text-align:center;padding:var(--spacing-md)}.statement-date,.due-badge{text-align:center}.transaction-item{flex-direction:row;align-items:center}.transaction-amounts{text-align:right;width:auto}}@media (max-width: 480px){.dashboard{padding:var(--spacing-xs)}.summary-content{padding:var(--spacing-sm)}.statement-header,.statement-summary,.transactions-header,.transactions-content{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.transaction-item{flex-direction:column;align-items:flex-start;gap:4px}.transaction-amounts{text-align:left;width:100%}}
