*{box-sizing:border-box;margin:0;padding:0}body{background:#faf9f7;color:#1f2937;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.card{background:#fff;border-radius:12px;border:1px solid #e5e2de;box-shadow:0 1px 3px rgba(0,0,0,.04);overflow:hidden}.card-header{padding:20px 24px 16px;border-bottom:1px solid #f0eeeb}.card-body{padding:20px 24px}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .15s;font-family:DM Sans,sans-serif}.btn-primary{background:#1a1a2e;color:#fff}.btn-primary:hover{background:#2d2d4a}.btn-secondary{background:#f8f7f6;color:#4b5563;border:1.5px solid #e5e2de}.btn-secondary:hover{background:#f0eeeb}.btn-danger{background:#fef2f2;color:#dc2626;border:1.5px solid #fecaca}.btn-danger:hover{background:#fee2e2}.btn-success{background:#f0fdf4;color:#16a34a;border:1.5px solid #bbf7d0}.btn-success:hover{background:#dcfce7}.input{width:100%;padding:10px 14px;background:#f8f7f6;border:1.5px solid #e5e2de;border-radius:8px;font-size:14px;color:#1f2937;outline:none;transition:border-color .15s}.input:focus{border-color:#1a1a2e}.input-mono{font-family:DM Mono,monospace}.label{display:block;font-size:12px;color:#6b7280;letter-spacing:.02em;margin-bottom:4px}.badge,.label{font-weight:600}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:11px;letter-spacing:.03em}.badge-green{background:#f0fdf4;color:#16a34a}.badge-yellow{background:#fffbeb;color:#d97706}.badge-red{background:#fef2f2;color:#dc2626}.badge-blue{background:#eff6ff;color:#2563eb}.badge-gray{background:#f3f4f6;color:#6b7280}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{padding:10px 16px;text-align:left;font-weight:600;color:#6b7280;font-size:11px;letter-spacing:.04em;text-transform:uppercase;background:#f8f7f6;border-bottom:1px solid #e5e2de}.table td{padding:12px 16px;border-bottom:1px solid #f0eeeb}.table tr:hover td{background:#fafaf9}.empty-state{padding:48px 24px;text-align:center;color:#9ca3af}.empty-state h3{font-size:16px;color:#6b7280;margin-bottom:4px}.empty-state p{font-size:13px;margin-bottom:16px}.status-draft{background:#f3f4f6;color:#6b7280}.status-calculated{background:#eff6ff;color:#2563eb}.status-invoiced{background:#f0fdf4;color:#16a34a}.status-sent{background:#eff6ff;color:#2563eb}.status-paid{background:#f0fdf4;color:#16a34a}.status-overdue{background:#fef2f2;color:#dc2626}.status-closed{background:#f3f4f6;color:#6b7280}