:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#121212;background-color:#f6f8fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f6f8fb}a{color:inherit;text-decoration:none}ul{list-style:none;padding:0;margin:0}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.app-shell.sidebar-collapsed{grid-template-columns:88px 1fr}.app-sidebar{background:linear-gradient(180deg,#101928,#1b2c44);color:#fff;padding:32px 24px;display:flex;flex-direction:column;gap:32px}.app-shell.sidebar-collapsed .app-sidebar{padding:24px 16px;align-items:center;gap:24px}.sidebar-header .sidebar-logo{display:block;max-width:160px;width:100%;height:auto}.app-shell.sidebar-collapsed .sidebar-header .sidebar-logo{max-width:48px}.sidebar-tagline{margin-top:4px;font-size:.9rem;opacity:.7}.app-sidebar nav ul{display:flex;flex-direction:column;gap:12px}.sidebar-collapse-btn{width:100%;background:#ffffff14;border:none;color:#ffffffe6;border-radius:8px;padding:10px 14px;font-weight:600;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .2s ease,color .2s ease;margin-bottom:12px}.sidebar-collapse-btn:hover,.sidebar-collapse-btn:focus{background-color:#ffffff29;outline:none}.sidebar-settings{margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}.sidebar-settings a{display:block;padding:10px 14px;border-radius:8px;font-weight:500;color:#fffc;transition:background .2s ease,color .2s ease}.sidebar-settings a:hover,.sidebar-settings a.active{background-color:#ffffff29;color:#fff}button.sidebar-toggle{width:100%;text-align:left;padding:10px 14px;border-radius:8px;font-weight:500;color:#fffc;background:transparent;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s ease,color .2s ease}button.sidebar-toggle:hover,button.sidebar-toggle:focus{background-color:#ffffff29;color:#fff;outline:none}.sidebar-subnav{list-style:none;padding-left:0;margin:6px 0 0;display:flex;flex-direction:column;gap:6px}.app-sidebar a{padding:10px 14px;border-radius:8px;display:flex;align-items:center;gap:10px;font-weight:500;color:#fffc;transition:background .2s ease,color .2s ease}.app-sidebar a.active,.app-sidebar a:hover{background-color:#ffffff29;color:#fff}.sidebar-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:currentColor}.sidebar-toggle-label{display:inline-flex;align-items:center;gap:10px}.sidebar-toggle-arrow{color:#fff9}.app-shell.sidebar-collapsed .sidebar-label,.app-shell.sidebar-collapsed .sidebar-toggle-arrow{display:none}.app-shell.sidebar-collapsed .sidebar-settings{padding-top:12px;margin-top:12px}.app-shell.sidebar-collapsed .sidebar-collapse-btn{justify-content:center;background:#ffffff14}.app-shell.sidebar-collapsed .sidebar-collapse-btn .sidebar-icon{margin:0}.app-shell.sidebar-collapsed .sidebar-subnav{display:none}.app-shell.sidebar-collapsed button.sidebar-toggle{justify-content:center}.app-main{padding:32px;background-color:#f6f8fb;display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1;display:flex;flex-direction:column}.app-footer{margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb;text-align:center;font-size:.9rem;color:#6b7280}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{margin:0;font-size:1.8rem}.header-actions{display:flex;align-items:center;gap:16px;width:100%}.header-actions .muted{margin:0;flex:1}.grid{display:grid;gap:24px}.grid.columns-2{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 40px #0f172a14}.stat-group{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.stat-card h2{margin:0;font-size:.9rem;text-transform:uppercase;color:#6b7280;letter-spacing:.08em}.stat-card strong{display:block;font-size:2rem;margin-top:8px}table{width:100%;border-collapse:collapse;font-size:.95rem}thead{background-color:#eef2ff;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.table-sort-button{background:none;border:none;font:inherit;padding:0;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.table-sort-button:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px;flex-wrap:wrap;gap:12px}.pagination-buttons{display:flex;align-items:center;gap:12px}tbody tr:hover{background-color:#f9fafb}.table-row-clickable{cursor:pointer}.table-row-clickable:hover{background-color:#eef2ff}.invoice-view{width:100%;display:grid;gap:16px}.invoice-header{display:grid;grid-template-columns:1fr 1fr;align-items:start}.invoice-right{justify-self:end;text-align:right}.invoice-logo{height:64px;object-fit:contain;margin-bottom:6px}.invoice-meta{margin:0;display:grid;justify-content:end;gap:6px}.invoice-meta dt{font-size:.75rem;color:#6b7280}.invoice-meta dd{margin:0;font-weight:600}.invoice-billto{margin-top:8px}.invoice-origin{font-size:.5rem;text-decoration:underline}.invoice-table thead th{background:#f3f4f6}.invoice-summary{margin-left:auto;width:min(420px,100%);display:grid;gap:8px}.invoice-summary .summary-row{display:flex;justify-content:space-between;border-bottom:1px dashed #e5e7eb;padding-bottom:6px}.invoice-summary .summary-row.total,.invoice-summary .summary-row.total-row{background:#e8f5e9;border-radius:8px;padding:10px 12px;border-bottom:0}.invoice-footer{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;color:#111827}@page{size:A4;margin:10mm 8mm}@media print{:root{background:#fff}body{margin:0;background:#fff;color:#111827;font-size:12px}.app-shell{display:block}.app-sidebar,.page-header{display:none!important}.app-main{padding:0}.card{box-shadow:none;border:0;border-radius:0;padding:16px;max-width:210mm;margin:0 auto}.invoice-view{gap:10px}.invoice-header{grid-template-columns:1.2fr 1fr;gap:8px}.invoice-logo{height:52px}table{font-size:.85rem}thead{font-size:.7rem}th,td{padding:6px 8px}.invoice-summary{width:100%;max-width:360px;gap:6px}.invoice-summary .summary-row{padding:6px 8px}.invoice-summary .summary-row.total,.invoice-summary .summary-row.total-row{padding:8px 10px}.invoice-footer{margin-top:12px;gap:6px;font-size:.8rem}.invoice-billto{margin-top:4px}.invoice-billto p{margin:2px 0}.invoice-table tr,.invoice-summary,.invoice-footer,.invoice-header,.invoice-billto{page-break-inside:avoid;break-inside:avoid}}form{display:grid;gap:16px}.form-section{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.form-section h3{margin:0 0 12px;font-size:1rem;color:#1f2937}.form-grid{display:grid;gap:12px}.form-grid.columns-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label{display:flex;flex-direction:column;gap:6px;font-weight:500;color:#1f2937}input,textarea,select{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit}textarea{min-height:100px;resize:vertical}button{padding:10px 18px;border-radius:8px;border:none;font-weight:600;font-size:.95rem;cursor:pointer;background:#2563eb;color:#fff;transition:transform .1s ease,box-shadow .1s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2563eb33}.icon-button{background:transparent;border:none;color:#2563eb;padding:4px 6px;font-size:1.1rem;cursor:pointer;border-radius:6px;transition:background .2s ease,color .2s ease}.icon-button+.icon-button{margin-left:6px}.icon-button:hover{background-color:#2563eb1f;transform:none;box-shadow:none}.icon-button.delete{color:#dc2626}.icon-button.delete:hover{background-color:#dc26261f}.icon-button:disabled{opacity:.5;cursor:not-allowed;background:transparent}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal{background:#fff;border-radius:16px;width:min(520px,100%);max-height:90vh;overflow-y:auto;padding:24px;box-shadow:0 30px 80px #0f172a33}.modal.large{width:min(760px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-actions{display:flex;align-items:center;gap:8px}.modal-close{background:none;border:none;font-size:1.6rem;line-height:1;padding:0;cursor:pointer;color:#64748b;transition:color .2s ease}.modal-close:hover{color:#0f172a;box-shadow:none;transform:none}.modal form{display:grid;gap:16px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tab{padding:8px 14px;border-radius:999px;border:1px solid transparent;background:#f1f5f9;color:#1f2937;font-weight:600;cursor:pointer;transition:all .2s ease}.tab:hover{background:#e2e8f0}.tab.active{background:#2563eb;color:#fff}.tab-panel{background:#f8fafc;border-radius:16px;padding:20px;box-shadow:inset 0 0 0 1px #e2e8f0}.detail-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.detail-item{display:flex;flex-direction:column;gap:6px}.detail-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.detail-value{font-size:1.05rem;color:#0f172a;word-break:break-word}.muted{color:#6b7280}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.badge.success{background-color:#16a34a1f;color:#15803d}.badge.warning{background-color:#d977061f;color:#b45309}.badge.info{background-color:#2563eb1f;color:#2563eb}.invoice-list-card{display:flex;flex-direction:column;gap:16px;border-top:4px solid #e2e8f0;box-shadow:0 30px 60px #0f172a14}.invoice-list-card.accent-warning{border-top-color:#f97316;background:linear-gradient(180deg,#f9731614,#fff0)}.invoice-list-card.accent-info{border-top-color:#2563eb;background:linear-gradient(180deg,#2563eb14,#fff0)}.invoice-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.invoice-list-heading h2{margin:0}.invoice-card-list{display:flex;flex-direction:column;gap:12px}.invoice-card{border:1px solid #e2e8f0;border-radius:16px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:12px}.invoice-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.invoice-number{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0}.invoice-client{margin:4px 0 0;font-size:1.1rem;font-weight:600;color:#0f172a}.invoice-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.invoice-card-meta .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;display:block;margin-bottom:2px}.invoice-card-meta strong{font-size:1rem;color:#0f172a}.finance-dashboard{display:flex;flex-direction:column;gap:32px}.finance-dashboard__top{display:flex;justify-content:space-between;align-items:center;gap:24px}.finance-dashboard__top h1{margin:0}.finance-dashboard__actions{display:flex;align-items:center;gap:16px}.pill-button{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;border:none;background:#6366f11f;color:#4338ca;font-weight:600;cursor:pointer}.pill-icon{font-size:1rem}.icon-button-group{display:flex;gap:10px}.icon-button-group button{border:none;border-radius:999px;padding:10px 14px;background:#6366f114;color:#4338ca;font-weight:600;cursor:pointer;transition:background .2s ease}.icon-button-group button.primary{background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff}.icon-button-group button:hover{background:#6366f129}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.summary-card{position:relative;padding:20px;background:linear-gradient(180deg,#ffffffe6,#f8fafc);box-shadow:0 25px 35px #0f172a14}.summary-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.summary-card__header h2{margin:0;font-size:.95rem;color:#64748b}.summary-card__value{margin-top:12px;font-size:2rem;font-weight:700;color:#0f172a}.summary-trend{margin-top:6px;font-weight:600;font-size:.8rem}.summary-trend span{font-weight:400;color:#94a3b8;margin-left:6px}.summary-trend.positive{color:#16a34a}.summary-trend.negative{color:#dc2626}.chip{border:none;border-radius:999px;padding:6px 12px;font-weight:600;background:#6366f11a;color:#4338ca;cursor:pointer}.main-widgets{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:24px}.money-flow-card,.budget-card{display:flex;flex-direction:column;gap:18px}.money-flow-card__header,.budget-card__header{display:flex;justify-content:space-between;align-items:center}.money-flow-card__filters{display:flex;gap:10px;font-weight:600}.legend.income{color:#6366f1}.legend.expense{color:#a855f7}.money-flow-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:14px;background:linear-gradient(180deg,#6366f114,#fff0);border-radius:20px;padding:20px 16px 16px}.money-flow-column{display:flex;flex-direction:column;align-items:center;gap:12px}.money-flow-column .bars{display:flex;align-items:flex-end;gap:6px;height:160px}.money-flow-column .bar{width:18px;border-radius:12px;background:linear-gradient(180deg,#6366f1,#a855f7)}.money-flow-column .bar.expense{background:linear-gradient(180deg,#a855f7,#ec4899)}.money-flow-column span{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.budget-card__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}.budget-donut{position:relative;width:200px;height:200px;margin:auto}.budget-donut__ring svg{width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:4}.budget-donut__segment{stroke-linecap:round}.budget-donut__center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);text-align:center}.budget-donut__center strong{font-size:1.4rem;color:#0f172a}.budget-donut__center span{display:block;font-size:.8rem;color:#94a3b8}.budget-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.budget-legend li{display:flex;align-items:center;gap:10px;font-weight:600}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-percent{margin-left:auto;color:#64748b}.secondary-widgets{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}.tertiary-widgets{display:grid;grid-template-columns:minmax(0,1fr)}.open-invoices-card{display:flex;flex-direction:column;gap:16px}.open-invoices-card table{width:100%;border-collapse:collapse}.open-invoices-card th,.open-invoices-card td{padding:12px 10px;text-align:left;border-bottom:1px solid #e2e8f0}.open-invoices-card th{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:#94a3b8}.open-invoices-card__header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.status-dropdown{position:relative;display:inline-flex}.status-pill{border:none;border-radius:999px;padding:6px 14px;font-weight:600;font-size:.75rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform .2s ease}.status-open{background:#f9731626;color:#b45309}.status-paid{background:#22c55e2e;color:#15803d}.status-overdue{background:#ef44442e;color:#b91c1c}.status-dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:#fff;box-shadow:0 18px 32px #0f172a29;border-radius:12px;padding:8px;min-width:150px;z-index:10}.status-dropdown:hover .status-dropdown-menu,.status-dropdown:focus-within .status-dropdown-menu{display:flex;flex-direction:column;gap:6px}.status-dropdown-item{border:none;border-radius:999px;padding:6px 12px;text-align:left;font-weight:600;cursor:pointer;background:transparent}.status-dropdown-item:hover{transform:translate(2px)}.transactions-card table{width:100%;border-collapse:collapse}.transactions-card th,.transactions-card td{padding:12px 8px;text-align:left;border-bottom:1px solid #e2e8f0}.transactions-card th{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:#94a3b8}.transactions-card td.negative{color:#dc2626}.transactions-card td.positive{color:#16a34a}.goals-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.goal-header{display:flex;justify-content:space-between;font-weight:600}.goal-amount{color:#64748b}.goal-progress{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:6px 0}.goal-progress-fill{height:100%;border-radius:999px}.goal-progress-label{font-size:.8rem;color:#64748b}.form-actions{display:flex;justify-content:flex-end}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:sticky;top:0;z-index:100;flex-direction:row;justify-content:space-between;align-items:center}.app-sidebar nav ul{flex-direction:row;gap:8px}}
