@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Serif+Display&family=JetBrains+Mono:wght@500;700&display=swap";:root{--color-bg: #ffffff;--color-surface: #f5f7fa;--color-navy: #0f2557;--color-navy-dark: #091a3e;--color-navy-light: #1e3a8a;--color-gold: #d4a843;--color-text: #111827;--color-muted: #6b7280;--color-border: #e5e7eb;--color-success: #059669;--color-danger: #dc2626;--color-warning: #d97706}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:DM Sans,sans-serif}h1,h2,h3,h4{font-family:"DM Serif Display",serif}.page{padding:1rem}.navbar{position:fixed;top:0;left:0;right:0;background:var(--color-navy);height:64px;z-index:10}.navbar-inner{max-width:1200px;margin:0 auto;padding:0 1rem;height:100%;display:flex;align-items:center;justify-content:space-between}.logo{color:#fff;text-decoration:none;font-family:"DM Serif Display",serif}.nav-links{display:flex;gap:1rem}.nav-links a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em;border-bottom:2px solid transparent}.nav-links a.active{border-color:var(--color-gold)}.menu-btn{display:none;border:none;background:transparent;color:#fff}.app-shell{min-height:100vh;display:flex;flex-direction:column}.main-shell{display:flex;flex:1;padding-top:64px}.sidebar{width:220px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:1rem .75rem;gap:.4rem}.sidebar a{display:flex;gap:.5rem;align-items:center;text-decoration:none;color:var(--color-text);padding:.6rem .7rem;border-radius:8px}.sidebar a.active{background:var(--color-navy-light);color:#fff}.sidebar.collapsed{width:72px}.sidebar.collapsed span{display:none}.content-shell{flex:1}.footer{background:var(--color-navy);color:#94a3b8}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.copyright{background:var(--color-navy-dark);text-align:center;padding:.75rem;font-size:.75rem}.btn{border-radius:6px;padding:12px 28px;transition:.2s ease;cursor:pointer;border:none;font-weight:600}.btn-primary{background:var(--color-navy);color:#fff}.btn-primary:hover{background:var(--color-navy-dark)}.btn-secondary{background:#fff;color:var(--color-navy);border:2px solid var(--color-navy)}.btn-secondary:hover{background:#f8fafc}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#b91c1c}.auth-page{display:grid;place-items:center;min-height:calc(100vh - 180px)}.auth-form{width:100%;max-width:420px;border:1px solid var(--color-border);border-radius:12px;padding:1.2rem;background:#fff}.auth-help{margin-top:0;color:var(--color-muted);font-size:.85rem;line-height:1.4}.input-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.input-field input{border:1px solid var(--color-border);border-radius:6px;padding:.65rem .75rem}.field-error{color:var(--color-danger);font-size:.75rem}.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{position:relative;background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1rem 1rem 1rem 1.3rem;box-shadow:0 2px 8px #0000000f}.summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:12px 0 0 12px}.summary-card.income:before{background:var(--color-success)}.summary-card.expense:before{background:var(--color-danger)}.summary-card.net:before{background:var(--color-navy-light)}.summary-card p{font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:700}.chart-grid{margin-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.panel{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1rem}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--color-border);border-radius:12px}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;border-bottom:1px solid var(--color-border);text-align:left}.records-toolbar{margin-bottom:.8rem}.records-toolbar input{width:280px;max-width:100%;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:6px}.page{width:100%;overflow-x:hidden}@media (max-width: 1200px){.page{padding:.75rem}}@media (max-width: 1024px){.sidebar{width:72px}.sidebar span{display:none}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}.page{padding:.75rem}}@media (max-width: 820px){.main-shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;overflow-x:auto;padding:.5rem 0;border-right:none;border-bottom:1px solid var(--color-border)}.sidebar a{white-space:nowrap;flex-shrink:0}.card-grid,.chart-grid{grid-template-columns:1fr}}@media (max-width: 768px){.menu-btn{display:block}.nav-links{display:none}.footer-grid{grid-template-columns:1fr}.page{padding:.5rem}.panel{padding:.75rem}table{font-size:.9rem}th,td{padding:.5rem}.btn{padding:10px 20px;font-size:.9rem}}@media (max-width: 640px){.main-shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;overflow-x:auto}.card-grid{grid-template-columns:1fr}.page{padding:.35rem}.panel{padding:.5rem;margin-bottom:.75rem}.btn{padding:8px 16px;font-size:.85rem}.auth-form{padding:1rem;border-radius:8px}h1,h2,h3,h4{font-size:1rem}table{font-size:.8rem}th,td{padding:.35rem}}@media (max-width: 480px){.page{padding:.25rem}.panel{padding:.35rem}.btn{padding:6px 12px;font-size:.8rem;width:100%}.sidebar{gap:.25rem;padding:.35rem 0}.sidebar a{padding:.5rem}.input-field input{padding:.5rem .6rem;font-size:16px}.summary-card p{font-size:1.4rem}.navbar-inner{padding:0 .5rem}}.navbar .menu-btn{transition:color .2s ease}.navbar .menu-btn:hover{color:var(--color-gold)}.nav-links a{padding-bottom:.15rem}.nav-logout-btn{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:999px;padding:.45rem .9rem;font:inherit;cursor:pointer;transition:background .2s ease,border-color .2s ease}.nav-logout-btn:hover{background:#ffffff1a;border-color:#ffffff7a}.mobile-nav{display:none}@media (max-width: 1024px){.nav-links{gap:.75rem}.nav-links a{font-size:.85rem}}@media (max-width: 768px){.navbar{height:auto;min-height:64px}.navbar-inner{min-height:64px}.logo{max-width:calc(100% - 56px);font-size:1.05rem}.menu-btn{display:block}.nav-links{display:none}.mobile-nav.open{display:flex;flex-direction:column;gap:.35rem;padding:0 1rem 1rem;background:var(--color-navy);border-top:1px solid rgba(255,255,255,.08)}.mobile-nav a,.mobile-logout-btn{width:100%;display:flex;align-items:center;justify-content:flex-start;text-decoration:none;color:#fff;padding:.85rem .9rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;text-transform:uppercase;letter-spacing:.05em;font-size:.88rem}.mobile-nav a.active{background:#ffffff24;border-color:#d4a843a6}.mobile-logout-btn{justify-content:center}}@media (max-width: 640px){.navbar{height:auto;min-height:56px}.navbar-inner{min-height:56px;padding:0 .75rem}.logo{font-size:.95rem;max-width:calc(100% - 48px)}.mobile-nav.open{padding:0 .75rem .75rem}.mobile-nav a,.mobile-logout-btn{padding:.7rem .75rem;border-radius:8px;font-size:.8rem}}@media (max-width: 480px){.navbar-inner{padding:0 .5rem}.logo{font-size:.9rem;max-width:calc(100% - 40px)}.mobile-nav.open{padding:0 .5rem .5rem;gap:.25rem}.mobile-nav a,.mobile-logout-btn{padding:.6rem;border-radius:6px;font-size:.75rem}.navbar .menu-btn{width:40px;height:40px;padding:0}}.footer h4{color:#dbe6ff;margin-bottom:.5rem;word-break:break-word}.footer p{margin:0;line-height:1.5;word-break:break-word;overflow-wrap:break-word}@media (max-width: 768px){.footer h4{font-size:1rem}.footer p{font-size:.9rem}}@media (max-width: 480px){.footer h4{font-size:.95rem;margin-bottom:.35rem}.footer p{font-size:.85rem}}.dashboard-page h3{color:var(--color-navy-dark)}.panel h3{margin-bottom:.85rem}@media (max-width: 1200px){.dashboard-page h3{font-size:1.2rem}}@media (max-width: 1024px){.dashboard-page h3{font-size:1.1rem}}@media (max-width: 768px){.dashboard-page h3{font-size:1rem}.panel h3{margin-bottom:.7rem}}@media (max-width: 640px){.dashboard-page h3{font-size:.95rem}.panel h3{margin-bottom:.6rem}}@media (max-width: 480px){.dashboard-page h3{font-size:.9rem}.panel h3{margin-bottom:.5rem}}.record-form-panel,.records-filters-panel,.record-detail-panel,.records-empty-state{margin-bottom:1rem}.records-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap}.records-heading-compact{margin-bottom:.75rem}.records-heading h3{margin:0}.records-heading p{margin:.35rem 0 0;color:var(--color-muted);line-height:1.5}.record-form,.records-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;overflow-x:hidden}.records-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.record-form .input-field,.records-filters .input-field{margin-bottom:0;width:100%}.record-form select,.record-form textarea,.records-filters select{width:100%;border:1px solid var(--color-border);border-radius:6px;padding:.65rem .75rem;font:inherit;background:#fff;resize:vertical;box-sizing:border-box}.record-form-notes{grid-column:1 / -1}.record-form-actions,.records-filter-actions,.records-actions,.records-pagination{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;width:100%}.record-form-actions{grid-column:1 / -1}.records-filter-actions{margin-top:1rem}.records-actions .btn,.records-pagination .btn{padding:.55rem .9rem}.form-feedback{margin:0;font-size:.9rem}.form-feedback.error{color:var(--color-danger)}.form-feedback.success{color:var(--color-success)}.records-sync-status{color:var(--color-muted);font-size:.9rem;white-space:nowrap}.record-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;width:100%}.record-detail-item{border:1px solid var(--color-border);border-radius:10px;padding:.85rem;background:var(--color-surface);word-break:break-word;overflow-wrap:break-word}.record-detail-item span{display:block;color:var(--color-muted);font-size:.85rem;margin-bottom:.35rem}.record-detail-full{display:flex;flex-direction:column;gap:1.5rem;width:100%}.record-detail-section{width:100%}.record-details-heading{margin:0 0 .75rem;color:var(--color-navy-dark);font-size:1.1rem}.record-detail-notes{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1rem;line-height:1.6;word-break:break-word;overflow-wrap:break-word;min-height:100px}.record-detail-notes p{margin:0;color:var(--color-text)}.records-desktop-table{display:block;overflow-x:auto}.records-page table td:nth-child(6){width:260px}.records-mobile-list{display:none}.record-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1rem;margin-bottom:.85rem;width:100%;box-sizing:border-box;overflow-x:hidden}.record-card-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.record-card-top h4{margin:0;word-break:break-word}.record-card-top p{margin:.35rem 0 0;color:var(--color-muted)}.record-card-grid{margin-top:.8rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;color:var(--color-muted);font-size:.95rem;width:100%}.record-card-notes{margin:.9rem 0;color:var(--color-text);line-height:1.5;word-break:break-word;overflow-wrap:break-word}.record-amount{font-family:JetBrains Mono,monospace;font-size:1rem}.record-amount.income{color:var(--color-success)}.record-amount.expense{color:var(--color-danger)}.records-pagination{justify-content:center;margin-top:1rem}.records-empty-state p{color:var(--color-muted);margin-bottom:0}@media (max-width: 1200px){.records-filters,.record-form,.record-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1024px){.records-filters,.record-detail-grid,.record-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.record-form,.records-filters,.record-detail-grid,.record-card-grid{grid-template-columns:1fr}.records-heading{flex-direction:column;gap:.5rem}.records-desktop-table{display:none}.records-mobile-list{display:block}.record-form-notes,.record-form-actions{grid-column:1}.record-detail-full{gap:1rem}.record-details-heading{font-size:1rem}}@media (max-width: 640px){.records-pagination{align-items:stretch}.records-pagination .btn,.records-actions .btn,.record-form-actions .btn,.records-filter-actions .btn{width:100%;justify-content:center}.record-card-top{flex-direction:column}.record-form select,.record-form textarea,.records-filters select{font-size:16px}.record-detail-item{padding:.65rem}.record-detail-notes{padding:.75rem;min-height:80px}}@media (max-width: 480px){.record-form,.records-filters,.record-detail-grid,.record-card-grid{grid-template-columns:1fr;gap:.5rem}.records-heading{flex-direction:column;gap:.35rem}.records-heading h3{font-size:1rem}.record-card{padding:.75rem;margin-bottom:.75rem}.records-pagination .btn,.records-actions .btn{padding:.5rem .75rem;font-size:.8rem}.records-actions{flex-direction:column;gap:.5rem}.records-actions .btn{width:100%}.record-detail-item{padding:.5rem}.record-detail-item span{font-size:.8rem}.record-detail-item strong{font-size:.95rem}.record-detail-notes{padding:.5rem}.record-details-heading{font-size:.9rem;margin-bottom:.5rem}.record-details-heading .page h2{color:var(--color-navy-dark)}.record-details-heading .page p{color:var(--color-muted)}.record-details-heading .users-page .users-form{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1rem;margin-bottom:1rem}.record-details-heading .users-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;width:100%}.record-details-heading .users-form-grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.record-details-heading .users-form-grid input,.record-details-heading .users-form-grid select{border:1px solid var(--color-border);border-radius:6px;padding:.55rem .65rem;width:100%;box-sizing:border-box;font-size:.95rem}.record-details-heading .users-actions{display:flex;gap:.5rem;flex-wrap:wrap}.record-details-heading .nav-logout-btn{border:1px solid #ffffff66;background:transparent;color:#fff;border-radius:6px;padding:.35rem .6rem;cursor:pointer;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}.record-details-heading .nav-logout-btn:hover{border-color:var(--color-gold);color:var(--color-gold)}@media (max-width: 1200px){.record-details-heading .users-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1024px){.record-details-heading .users-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.record-details-heading .users-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.record-details-heading .users-form{padding:.75rem}.record-details-heading .users-form-grid input,.record-details-heading .users-form-grid select{font-size:16px}}@media (max-width: 640px){.record-details-heading .users-form-grid{grid-template-columns:1fr;gap:.5rem}.record-details-heading .users-form{padding:.5rem}.record-details-heading .users-form-grid label{font-size:.85rem}.record-details-heading .users-actions{width:100%;flex-direction:column;gap:.4rem}.record-details-heading .users-actions .btn{width:100%}}.record-details-heading .users-form-grid{grid-template-columns:1fr;gap:.35rem}.record-details-heading .users-form{padding:.35rem;margin-bottom:.75rem}.record-details-heading .users-form-grid label{font-size:.8rem}.record-details-heading .users-form-grid input,.record-details-heading .users-form-grid select{padding:.45rem .5rem;font-size:14px}}
