@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=DM+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--surface: #181c25;--surface2: #1e2330;--border: #2a3045;--border2: #3a4260;--text: #e8eaf0;--text-2: #8e97b0;--text-3: #5a6380;--accent: #f5a623;--accent-2: #e8941a;--accent-bg: rgba(245, 166, 35, .1);--accent-bg2:rgba(245, 166, 35, .18);--green: #34c97a;--green-bg: rgba(52, 201, 122, .1);--red: #f05252;--red-bg: rgba(240, 82, 82, .1);--blue: #60a5fa;--blue-bg: rgba(96, 165, 250, .1);--sidebar-w: 220px;--radius: 8px;--radius-lg: 12px;font-family:DM Sans,sans-serif;font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}body,#root{min-height:100vh}h1{font-size:22px;font-weight:600;letter-spacing:-.3px}h2{font-size:18px;font-weight:600;letter-spacing:-.2px}h3{font-size:15px;font-weight:500}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s ease;white-space:nowrap}.btn-primary{background:var(--accent);color:#1a1000}.btn-primary:hover{background:var(--accent-2);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface2);color:var(--text);border-color:var(--border2)}.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid rgba(240,82,82,.2)}.btn-danger:hover{background:#f052522e}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:7px;border-radius:var(--radius)}.input,.select,textarea{width:100%;padding:9px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:13px;transition:border-color .15s;outline:none}.input:focus,.select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.input::placeholder{color:var(--text-3)}select.select option{background:var(--surface2)}label{display:block;font-size:12px;font-weight:500;color:var(--text-2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.field{margin-bottom:14px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;padding:10px 14px;font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--border)}tbody tr{border-bottom:1px solid var(--border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--surface2)}tbody td{padding:11px 14px;color:var(--text);vertical-align:middle}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:500;letter-spacing:.3px}.badge-green{background:var(--green-bg);color:var(--green)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-amber{background:var(--accent-bg2);color:var(--accent)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-gray{background:var(--surface2);color:var(--text-2)}.page-header{display:flex;align-items:center;justify-content:space-between;padding-top:24px;margin-bottom:24px;gap:16px;flex-wrap:wrap}.page-header h1{font-size:20px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.stat-card .stat-label{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}.stat-card .stat-value{font-size:22px;font-weight:600;color:var(--text);font-family:DM Mono,monospace;letter-spacing:-.5px}.stat-card .stat-sub{font-size:12px;color:var(--text-3);margin-top:4px}.stat-card.accent{border-color:#f5a6234d}.stat-card.accent .stat-value{color:var(--accent)}.stat-card.green{border-color:#34c97a40}.stat-card.green .stat-value{color:var(--green)}.stat-card.red{border-color:#f0525240}.stat-card.red .stat-value{color:var(--red)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .15s ease}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slide-up .2s ease}.modal-lg{max-width:700px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:16px}.modal-body{padding:22px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--border)}.search-bar{position:relative;display:flex;align-items:center}.search-bar svg{position:absolute;left:10px;color:var(--text-3);pointer-events:none}.search-bar .input{padding-left:34px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-3)}.empty-state svg{margin:0 auto 14px;opacity:.3}.empty-state p{font-size:14px;margin-top:4px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;min-width:260px;animation:slide-up .2s ease;display:flex;align-items:center;gap:8px}.toast-success{background:var(--green-bg);color:var(--green);border:1px solid rgba(52,201,122,.2)}.toast-error{background:var(--red-bg);color:var(--red);border:1px solid rgba(240,82,82,.2)}.toast-info{background:var(--blue-bg);color:var(--blue);border:1px solid rgba(96,165,250,.2)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .7s linear infinite}.mono{font-family:DM Mono,monospace}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-amber{color:var(--accent)}.text-muted{color:var(--text-2)}.text-right,.right{text-align:right}.flex{display:flex;align-items:center;gap:8px}.flex-between{display:flex;align-items:center;justify-content:space-between}.receipt-preview{font-family:DM Mono,monospace;font-size:12px}.receipt-preview h2{font-size:14px;font-weight:700;text-align:center;margin-bottom:2px;letter-spacing:0}.receipt-preview .center{text-align:center}.receipt-preview .divider{border-top:1px dashed var(--border2);margin:8px 0}.receipt-preview table{font-size:11px}.receipt-preview thead th{padding:4px;font-size:10px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border2)}.receipt-preview tbody tr{border-bottom:none}.receipt-preview tbody tr:hover{background:transparent}.receipt-preview tbody td{padding:4px;vertical-align:top;color:var(--text)}.receipt-preview table.items th:nth-child(1),.receipt-preview table.items td:nth-child(1){width:42%}.receipt-preview table.items th:nth-child(2),.receipt-preview table.items td:nth-child(2){width:8%}.receipt-preview table.items th:nth-child(3),.receipt-preview table.items td:nth-child(3){width:24%}.receipt-preview table.items th:nth-child(4),.receipt-preview table.items td:nth-child(4){width:26%}.receipt-preview table.vat-summary tbody td,.receipt-preview table.totals tbody td{padding:3px 4px}.receipt-preview table.vat-summary tbody tr,.receipt-preview table.totals tbody tr{border-bottom:none}.ledger-filter-row{display:flex;gap:8px;align-items:center}.ledger-dropdowns{display:flex;gap:8px;align-items:center;flex:1;min-width:0}@media (max-width: 767px){.ledger-filter-row{flex-wrap:wrap}.ledger-dropdowns{width:100%;flex-basis:100%}}.layout-root{height:100vh;height:100dvh}@media (max-width: 640px){.field-row{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}}
