:root{--blue:#0b74bd;--dark:#102033;--muted:#64748b;--bg:#f6f8fb;--card:#fff;--line:#e5eaf1}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Arial,sans-serif;color:#111827}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--dark);font-weight:800;font-size:24px}.brand-logo{width:42px;height:42px;object-fit:contain;display:block}.brand-logo.large{width:52px;height:52px}.logo-dot{background:linear-gradient(135deg,#0b74bd,#19b4a7);color:#fff;border-radius:16px;width:42px;height:42px;display:grid;place-items:center}.nav{display:flex;align-items:center;gap:12px}.nav a{color:#334155;text-decoration:none;font-weight:600}.container{max-width:1320px;margin:24px auto;padding:0 20px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.06);padding:22px;margin-bottom:18px}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.h1{font-size:30px;font-weight:900;margin:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:20px}.stat .num{font-size:28px;font-weight:900;color:#0b74bd}.btn,button{background:#0b74bd;color:#fff;border:0;border-radius:10px;padding:11px 15px;font-weight:800;text-decoration:none;display:inline-block;cursor:pointer}.btn.secondary,button.secondary{background:#e8eef5;color:#0f172a}.btn.danger,button.danger{background:#dc2626;color:#fff}.small{padding:8px 11px;font-size:13px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-size:14px}label{display:block;font-weight:800;margin:12px 0 6px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.two{grid-template-columns:repeat(2,1fr)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{font-size:12px;color:#64748b;text-transform:uppercase}.actions{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef6ff;color:#0b74bd;font-weight:800}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);text-align:center}.alert{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:12px;border-radius:12px;margin-bottom:14px}.pagination{display:flex;gap:8px;align-items:center;justify-content:flex-end}.print-receipt{display:none}@media(max-width:900px){.grid,.form-grid,.two{grid-template-columns:1fr}.topbar{height:auto;padding:14px;align-items:flex-start}.nav{flex-wrap:wrap}.hero{display:block}}
@media print{.topbar,.no-print{display:none!important}.container{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:0}.print-receipt{display:block}.screen-only{display:none!important}body.thermal-print{background:#fff;font-family:Arial,sans-serif}.thermal-print .container{width:80mm;margin:0;padding:0}.thermal-print .thermal-card{width:80mm;padding:4mm;margin:0;border:0;box-shadow:none}.thermal-print .thermal-card *{font-size:11px}.thermal-print .thermal-title{font-size:16px!important;font-weight:900;text-align:center;margin-bottom:4px}.thermal-print .thermal-line{border-top:1px dashed #000;margin:7px 0}.thermal-print table{width:100%;border-collapse:collapse}.thermal-print td{padding:2px 0}.thermal-print .right{text-align:right}.thermal-print .total{font-weight:900;font-size:13px!important}}

.status-icon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;margin-left:8px;font-size:13px;font-weight:900;line-height:1;vertical-align:middle}.status-processed{background:#dcfce7;color:#15803d}.status-paid{background:#fef3c7;color:#b45309}.status-pending{background:#fee2e2;color:#b91c1c}.status-other{background:#e2e8f0;color:#334155}.company-logo-preview{max-width:90px;max-height:70px;object-fit:contain;display:block;margin-top:8px}.print-company-footer{text-align:center;margin-top:22px;padding-top:14px;border-top:1px solid var(--line);color:#334155}.print-company-footer img{max-width:95px;max-height:65px;object-fit:contain;margin-bottom:7px}
@media print{.print-company-footer{border-top:1px solid #ddd}.thermal-print .status-icon{width:14px;height:14px;font-size:9px;margin-left:3px}.thermal-print .print-company-footer{margin-top:10px;padding-top:7px;border-top:1px dashed #000}.thermal-print .print-company-footer img{max-width:55mm;max-height:18mm}}
