:root{--navy: #0c1222;--navy-2: #151c2e;--accent: #0f766e;--accent-2: #14b8a6;--accent-soft: #ccfbf1;--bg: #f6f4f1;--surface: #ffffff;--surface-2: #faf9f7;--border: #e7e3dc;--border-strong: #d6d1c7;--text: #111827;--muted: #6b7280;--success: #047857;--success-bg: #d1fae5;--warning: #b45309;--warning-bg: #fef3c7;--danger: #b91c1c;--danger-bg: #fee2e2;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(12, 18, 34, .04), 0 8px 24px rgba(12, 18, 34, .04);--shadow-sm: 0 1px 2px rgba(12, 18, 34, .05);--sidebar: 252px;--font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font);font-size:15.5px;line-height:1.5;color:var(--text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;background:var(--bg)}button,input,select,textarea{font-family:inherit}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);background:var(--navy);color:#e5e7eb;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1.35rem 1.15rem 1.1rem}.logo{width:36px;height:36px;background:linear-gradient(160deg,var(--accent-2),var(--accent));color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;letter-spacing:-.02em;flex-shrink:0}.brand-name{font-weight:700;font-size:1.02rem;color:#fff;letter-spacing:-.02em}.brand-sub{display:block;font-size:.7rem;font-weight:500;color:#94a3b8;margin-top:1px}.nav{flex:1;padding:.4rem .7rem;display:flex;flex-direction:column;gap:2px;overflow:auto}.nav-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding:.9rem .7rem .35rem;font-weight:600}.nav-item{background:transparent;border:none;text-align:left;padding:.55rem .7rem;border-radius:9px;font:inherit;font-size:.92rem;color:#cbd5e1;cursor:pointer;display:flex;align-items:center;gap:.65rem;transition:background .15s,color .15s}.nav-item svg{width:18px;height:18px;flex-shrink:0;opacity:.85}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:#14b8a629;color:#5eead4;font-weight:600}.nav-item.active svg{opacity:1}.sidebar-footer{margin:.6rem .7rem .85rem;padding:.75rem .8rem;border-radius:10px;background:var(--navy-2);font-size:.75rem;color:#94a3b8;line-height:1.4}.sidebar-footer strong{color:#e2e8f0;font-weight:600}.main-wrap{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:.85rem;padding:.7rem 1.5rem;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.page-title{margin:0;font-size:1.15rem;font-weight:650;letter-spacing:-.02em;flex:1}.menu-toggle{display:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:38px;height:38px;font-size:1.15rem;cursor:pointer}.topbar-actions{display:flex;gap:.5rem;align-items:center}.content{padding:1.5rem 1.6rem 2.5rem;flex:1;max-width:1180px;width:100%;margin:0 auto}.page{display:none}.page.active{display:block;animation:fade .18s ease}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-head{margin-bottom:1.25rem}.page-head h2{margin:0 0 .2rem;font-size:1.55rem;letter-spacing:-.03em;font-weight:700}.page-head p{margin:0;color:var(--muted);font-size:.95rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.25rem;box-shadow:var(--shadow-sm)}.card h2,.card h3{margin:0 0 .85rem;letter-spacing:-.02em;font-size:1.05rem}.card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem}.card-head h2,.card-head h3{margin:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin:0 0 1.25rem}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.05rem .95rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:3px 0 0 3px}.metric-label{font-size:.75rem;color:var(--muted);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.metric-value{font-size:1.55rem;font-weight:700;margin-top:.35rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.metric-note{font-size:.75rem;color:var(--muted);margin-top:.2rem}.quick-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}.split{display:grid;gap:1rem}@media (min-width: 860px){.split{grid-template-columns:1.4fr .8fr;align-items:start}}.btn{font:inherit;font-weight:600;font-size:.9rem;padding:.55rem .95rem;border-radius:10px;border:1px solid transparent;cursor:pointer;min-height:40px;transition:background .15s,border-color .15s,transform .05s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#0d6b64}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-2)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:#fecaca}.btn-danger:hover{background:#fecaca}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}.btn-sm{padding:.35rem .65rem;min-height:32px;font-size:.82rem;border-radius:8px}fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 .9rem;padding:.85rem 1rem .4rem;background:var(--surface-2)}legend{font-weight:650;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:0 .35rem}label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.7rem;color:#374151}input,select,textarea{display:block;width:100%;margin-top:.3rem;padding:.55rem .7rem;border:1px solid var(--border-strong);border-radius:9px;font:inherit;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0f766e26}.grid-2,.grid-3{display:grid;gap:.7rem}@media (min-width: 640px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}}.item-row{display:grid;gap:.45rem;margin-bottom:.55rem;padding:.55rem;background:#fff;border:1px solid var(--border);border-radius:9px}@media (min-width: 720px){.item-row{grid-template-columns:2fr .7fr 1fr 1fr auto;align-items:end}}.item-row label{margin:0;font-size:.72rem}.actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.4rem;align-items:center}.receipt-layout{display:grid;gap:1rem}@media (min-width: 1040px){.receipt-layout{grid-template-columns:1.15fr .85fr;align-items:start}}.preview-card{position:sticky;top:72px}.receipt-preview{border:1px solid var(--border);border-radius:10px;min-height:300px;padding:1.15rem 1.1rem;background:#fffefb;font-size:.88rem;box-shadow:inset 0 0 0 1px #fff9}.receipt-preview h3{font-size:1.15rem;letter-spacing:-.02em}.receipt-preview table{width:100%;border-collapse:collapse;margin:.7rem 0;font-size:.82rem}.receipt-preview th{text-align:left;padding:.35rem .2rem;border-bottom:1px solid var(--border-strong);color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.receipt-preview td{text-align:left;padding:.4rem .2rem;border-bottom:1px solid var(--border)}.receipt-preview .totals{margin-top:.4rem}.receipt-preview .totals div{display:flex;justify-content:space-between;padding:.18rem 0}.receipt-preview .grand{font-weight:700;font-size:1.05rem;border-top:1px solid var(--border-strong);margin-top:.25rem;padding-top:.4rem}.records-list{list-style:none;padding:0;margin:0}.records-list li{display:flex;justify-content:space-between;align-items:center;padding:.8rem .15rem;border-bottom:1px solid var(--border);gap:.6rem;flex-wrap:wrap}.records-list li:last-child{border-bottom:none}.row-title{font-weight:650;letter-spacing:-.01em}.row-meta{color:var(--muted);font-size:.82rem;margin-top:.15rem}.row-actions{display:flex;gap:.4rem}.badge{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}.badge-paid{background:var(--success-bg);color:var(--success)}.badge-partial{background:var(--warning-bg);color:var(--warning)}.badge-unpaid{background:var(--danger-bg);color:var(--danger)}.badge-info{background:#e0f2fe;color:#0369a1}.badge-neutral{background:#f3f4f6;color:#4b5563}.empty-state{text-align:center;padding:2.2rem 1.2rem;color:var(--muted)}.empty-state .empty-icon{width:48px;height:48px;margin:0 auto .7rem;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.empty-state h3{margin:0 0 .3rem;color:var(--text);font-size:1.05rem}.empty-state p{margin:0;font-size:.9rem;max-width:36rem;margin-inline:auto}.section-note{background:#f0fdfa;border:1px solid #99f6e4;color:#115e59;border-radius:10px;padding:.7rem .85rem;font-size:.85rem;margin-bottom:.9rem}.error-text{color:var(--danger);font-size:.85rem;min-height:1.1em;margin:.2rem 0 .4rem}.settings-grid{display:grid;gap:.85rem}@media (min-width: 800px){.settings-grid{grid-template-columns:1fr 1fr}}.setting-row{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:none}.setting-row strong{display:block;font-size:.92rem}.setting-row span{color:var(--muted);font-size:.82rem}@media (max-width: 980px){.metrics{grid-template-columns:1fr 1fr}}@media (max-width: 899px){.sidebar{position:fixed;left:0;top:0;z-index:100;transform:translate(-105%);transition:transform .2s ease;box-shadow:8px 0 30px #00000040}.sidebar.open{transform:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.content{padding:1rem .9rem 2rem}.preview-card{position:static}}@media (max-width: 520px){.metrics{grid-template-columns:1fr}.page-head h2{font-size:1.3rem}}@media print{.sidebar,.topbar,.form-card,.actions,.records-list,.quick-actions,.metrics,.page-head,.nav,.sidebar-footer{display:none!important}.preview-card,.receipt-preview{border:none;box-shadow:none;background:#fff}body,.content{background:#fff;padding:0}.page{display:block!important}}
