@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;700&display=swap";:root{--data-supreme: #6f46d4;--data-paramount: #0472e7;--data-dominant: #007795;--data-principal: #006b98;--data-major: #00a8c8;--data-minor: #2ad42a;--data-subordinate: #4895cb;--data-peripheral: #10217a;--brand-primary: #0472e7;--brand-accent: rgb(29, 121, 175);--success: #007795;--warning: #006b98;--danger: #fe1616;--caution: #f59e0b;--text: #d4e4f8;--text-muted: #5a7a9a;--text-faint: #94a3b8;--text-on-dark: #ffffff;--text-danger: #ff0055;--text-danger-hover: #ff0f6b;--text-danger-soft: #f23535;--surface-bg: #020810;--surface-abyss: #04081c;--neutral: #94a3b8;--bg: var(--surface-bg);--bg-card: rgba(4, 8, 28, .88);--bg-glass: rgba(4, 114, 231, .02);--bg-navbar: rgba(2, 8, 16, .92);--bg-overlay: rgba(0, 0, 0, .65);--bg-overlay-deep: rgba(0, 0, 0, .85);--bg-scrim: rgba(17, 19, 31, .7);--bg-input: rgba(255, 255, 255, .05);--bg-input-focus: rgba(255, 255, 255, .08);--bg-btn-secondary: rgba(255, 255, 255, .07);--bg-btn-hover: rgba(255, 255, 255, .12);--bg-row-hover: rgba(255, 255, 255, .02);--bg-row-total: rgba(255, 255, 255, .04);--bg-dropdown-hover: rgba(4, 114, 231, .1);--bg-success: rgba(0, 119, 149, .15);--bg-warning: rgba(0, 107, 152, .15);--bg-danger: rgba(69, 10, 189, .18);--bg-neutral: rgba(148, 163, 184, .15);--bg-caution: rgba(245, 158, 11, .1);--border: rgba(4, 114, 231, .14);--border-hover: rgba(4, 114, 231, .32);--border-active: rgba(4, 114, 231, .2);--border-subtle: rgba(255, 255, 255, .03);--border-divider: rgba(255, 255, 255, .1);--border-divider-strong: rgba(255, 255, 255, .2);--border-success: rgba(0, 119, 149, .4);--border-warning: rgba(0, 107, 152, .4);--border-danger: rgba(69, 10, 189, .4);--border-danger-hover: rgba(69, 10, 189, .35);--border-caution: rgba(245, 158, 11, .4);--shadow-card: 0 8px 32px rgba(0, 0, 0, .4), 0 0 18px rgba(4, 114, 231, .45);--shadow-card-hover: 0 12px 48px rgba(0, 0, 0, .6), 0 0 20px rgba(4, 114, 231, .45);--shadow-glow-color: rgba(4, 114, 231, .45);--shadow-overlay: rgba(4, 114, 231, .26);--shadow-mid: rgba(0, 0, 0, .5);--chart-1: var(--data-paramount);--chart-2: var(--data-dominant);--chart-3: var(--data-minor);--chart-4: var(--data-principal);--chart-5: var(--data-subordinate);--chart-6: var(--data-peripheral);--chart-7: var(--data-major);--chart-8: var(--data-supreme);--chart-other: #0c5c34;--chart-cursor: rgba(255, 255, 255, .05);--chart-grid: rgba(255, 255, 255, .05);--chart-stroke-faint: rgba(255, 255, 255, .06);--chart-stroke-mid: rgba(255, 255, 255, .4);--chart-stroke-bright: rgba(255, 255, 255, .6);--chart-stroke-white: rgba(255, 255, 255, .75);--chart-shadow: rgba(0, 0, 0, .15);--chart-shadow-deep: rgba(0, 0, 0, .3);--gradient-blue: rgba(4, 114, 231, .07);--gradient-teal: rgba(0, 119, 149, .05);--blur-glass: blur(12px);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg);color:var(--text);font-family:Inter,sans-serif;background-image:radial-gradient(circle at 20% 20%,var(--gradient-blue) 0%,transparent 40%),radial-gradient(circle at 80% 80%,var(--gradient-teal) 0%,transparent 40%)}h1,h2,h3,h4{font-family:Outfit,sans-serif;font-weight:700;letter-spacing:-.02em}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:36px;height:36px;border:3px solid var(--border-divider);border-top-color:var(--brand-accent);border-radius:50%;animation:spin .75s linear infinite}.dashboard-container{max-width:1200px;margin:0 auto;padding:2rem 2rem 0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.dashboard-scroll-area{flex:1;overflow-y:auto;padding-bottom:2rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);border:1px solid var(--border);border-radius:16px;padding:10px 10px 10px 24px;box-shadow:var(--shadow-card);transition:var(--transition);margin-bottom:10px;overflow:hidden}.glass-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card-hover)}.glass-card:focus,.glass-card:focus-visible,.glass-card *:focus,.glass-card *:focus-visible,.glass-card svg:focus,.glass-card svg *:focus{outline:none}.btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:var(--transition);border:none;font-family:Inter,sans-serif;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:var(--brand-accent);color:var(--text-on-dark)}.btn-secondary{background:var(--bg-btn-secondary);color:var(--text-muted);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-btn-hover);color:var(--text)}.btn-primary:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 4px 20px var(--shadow-glow-color)}.dropdown-item:hover{background:var(--bg-dropdown-hover)!important;color:var(--text)!important}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.input{margin-left:0}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.875rem;color:var(--text-muted);font-weight:500}input,select{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:.75rem;color:var(--text-on-dark);font-family:Inter,sans-serif;transition:var(--transition)}input:focus,select:focus{outline:none;border-color:var(--brand-accent);background:var(--bg-input-focus)}table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:1rem}th{text-align:left;padding:.5rem .125rem;color:var(--text-muted);font-weight:600;font-size:.875rem;border-bottom:1px solid var(--border)}th:last-child,td:last-child{width:4rem;white-space:nowrap;text-align:right}td{padding:.15rem .125rem;border-bottom:1px solid var(--border-subtle);font-size:.8125rem;line-height:1.3;overflow:hidden}@media(min-width:768px){th{padding:.5rem .2rem}td{padding:.2rem}}tr.month-divider td{box-shadow:inset 0 1px 0 var(--border-divider-strong);padding-top:.6rem}tr.month-total-row td{background:var(--bg-row-total);box-shadow:inset 0 1px 0 var(--border-divider),inset 0 -1px 0 var(--border-divider);padding-top:.3rem;padding-bottom:.3rem}.month-total-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.month-total-value{font-weight:700;color:var(--text-on-dark)}tr:hover td{background:var(--bg-row-hover)}.text-accent-purple{color:var(--brand-accent)}.text-accent-blue{color:var(--brand-primary)}.text-accent-green{color:var(--success)}.text-accent-orange{color:var(--warning)}.badge{padding:.25rem .625rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-success{background:var(--bg-success);color:var(--success)}.badge-warning{background:var(--bg-warning);color:var(--warning)}.badge-danger{background:var(--bg-danger);color:var(--text-danger)}.badge-secondary{background:var(--bg-neutral);color:var(--text-faint)}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--chart-grid)}.recharts-default-tooltip{background-color:var(--bg-card)!important;border:1px solid var(--border)!important;border-radius:8px!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.purchase-form-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:end}@media(min-width:768px){.purchase-form-grid{grid-template-columns:2fr 1.5fr 1.5fr auto}}.input-with-button{display:flex;position:relative}.input-with-button input{flex:1;border-top-right-radius:0;border-bottom-right-radius:0}.input-adjunct-btn{background:var(--bg-input);border:1px solid var(--border);border-left:none;border-top-right-radius:8px;border-bottom-right-radius:8px;padding:0 .75rem;color:var(--text-muted);cursor:pointer;transition:var(--transition)}.input-adjunct-btn:hover{background:var(--bg-btn-secondary);color:var(--text-on-dark)}.accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;padding:0 0 12px;margin-bottom:1.5rem;font-family:inherit;text-align:left}.accordion-header h2{color:var(--text-muted);font-size:1.2rem}.accordion-header:hover h2{color:var(--text-on-dark)}.btn-delete{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:6px;display:inline-flex;align-items:center;transition:var(--transition)}.btn-delete:hover{color:var(--text-danger-hover);background:var(--bg-danger);border:1px solid var(--border-danger-hover)}@media(max-width:767px){.charts-row{flex-direction:column!important}.charts-row>*{flex:1 1 100%!important;width:100%!important}}
