@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap');
:root{--brand:#172554;--brand2:#2563eb;--accent:#f97316;--soft:#eff6ff;--text:#0f172a}
*{font-family:'Prompt',sans-serif} body{background:#f8fafc;color:var(--text)}
.app-navbar{background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 8px 24px rgba(15,23,42,.16)}
.card{border:0;border-radius:20px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.stat-card{overflow:hidden;position:relative}.stat-card .icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--soft);font-size:24px;color:var(--brand2)}
.btn{border-radius:12px}.form-control,.form-select{border-radius:12px}.table thead th{background:#f1f5f9;color:#334155;white-space:nowrap}.badge{border-radius:999px;padding:.45rem .7rem}.page-title{font-weight:700;letter-spacing:-.03em}.action-bar{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.modal-content{border:0;border-radius:22px}.print-area{background:white}.invoice-box{max-width:960px;margin:auto;background:white;padding:32px;border-radius:20px}.brand-title{font-size:28px;font-weight:800;color:#172554}.small-muted{color:#64748b;font-size:.9rem}
@media print{.app-navbar,.no-print,.dataTables_filter,.dataTables_length,.dataTables_paginate,.dataTables_info{display:none!important} body{background:#fff}.card,.invoice-box{box-shadow:none;border-radius:0}.container-fluid{padding:0!important}}

.app-logo{width:34px;height:34px;object-fit:contain;border-radius:10px;background:#fff;padding:3px;box-shadow:0 8px 18px rgba(15,23,42,.18)}
.btn-primary{background:linear-gradient(135deg,var(--brand2),var(--brand));border-color:var(--brand2)}
.btn-outline-primary{border-color:var(--brand2);color:var(--brand2)}
.btn-outline-primary:hover{background:var(--brand2);border-color:var(--brand2)}
.text-primary{color:var(--brand2)!important}.bg-primary{background-color:var(--brand2)!important}
.color-dot{width:22px;height:22px;border-radius:50%;display:inline-block;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1}
.logo-preview{max-width:180px;max-height:90px;object-fit:contain;border:1px dashed #cbd5e1;border-radius:16px;padding:10px;background:#fff}
