/* COSAI.TAX styles */
:root { --brand:#0b5fff; --ink:#1a2b49; }
* { box-sizing: border-box; }
body { font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }

.sidebar-link { display:flex; align-items:center; gap:.65rem; padding:.6rem .9rem; border-radius:.5rem; color:#cbd5e1; font-size:.9rem; cursor:pointer; transition:.15s; }
.sidebar-link:hover { background:rgba(255,255,255,.08); color:#fff; }
.sidebar-link.active { background:var(--brand); color:#fff; }
.sidebar-link i { width:20px; text-align:center; }

.card { background:#fff; border-radius:.75rem; box-shadow:0 1px 3px rgba(16,24,40,.08); border:1px solid #eef1f6; }
.btn { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .9rem; border-radius:.5rem; font-size:.85rem; font-weight:600; cursor:pointer; transition:.15s; border:1px solid transparent; }
.btn-primary { background:var(--brand); color:#fff; }
.btn-primary:hover { background:#0847c7; }
.btn-ghost { background:#fff; color:var(--ink); border-color:#d7deea; }
.btn-ghost:hover { background:#f3f6fb; }
.btn-sm { padding:.3rem .6rem; font-size:.78rem; }

.tbl { width:100%; border-collapse:collapse; font-size:.85rem; }
.tbl th { text-align:left; font-weight:600; color:#64748b; padding:.55rem .6rem; border-bottom:2px solid #eef1f6; font-size:.75rem; text-transform:uppercase; letter-spacing:.03em; }
.tbl td { padding:.55rem .6rem; border-bottom:1px solid #f1f4f9; vertical-align:top; }
.tbl tr:hover td { background:#fafcff; }
.num { text-align:right; font-variant-numeric: tabular-nums; }

.badge { display:inline-block; padding:.15rem .5rem; border-radius:1rem; font-size:.7rem; font-weight:700; }
.badge-green { background:#dcfce7; color:#166534; }
.badge-amber { background:#fef3c7; color:#92400e; }
.badge-gray { background:#e5e7eb; color:#374151; }
.badge-blue { background:#dbeafe; color:#1e40af; }
.badge-red { background:#fee2e2; color:#991b1b; }

.input { width:100%; padding:.5rem .65rem; border:1px solid #d7deea; border-radius:.5rem; font-size:.85rem; }
.input:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(11,95,255,.12); }
label.lbl { font-size:.78rem; font-weight:600; color:#475569; display:block; margin-bottom:.25rem; }

.bas-field { display:flex; justify-content:space-between; align-items:center; padding:.6rem .9rem; border-bottom:1px solid #eef1f6; }
.bas-box { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:30px; padding:0 .5rem; border:1.5px solid var(--ink); border-radius:4px; font-weight:800; font-size:.78rem; background:#f8fafc; }
.bas-amt { font-variant-numeric: tabular-nums; font-weight:700; min-width:120px; text-align:right; }

.modal-bg { position:fixed; inset:0; background:rgba(15,23,42,.5); display:flex; align-items:center; justify-content:center; z-index:50; padding:1rem; }
.modal { background:#fff; border-radius:.75rem; width:100%; max-height:90vh; overflow:auto; }

@media print {
  .no-print { display:none !important; }
  .no-print-ml { margin-left:0 !important; padding:0 !important; }
  body { background:#fff; }
  .card { box-shadow:none; border:none; }
  /* Statements pack: force each A4 page to start fresh */
  .stmt-page { page-break-after:always; break-after:page; box-shadow:none !important; border:none !important; margin:0 !important; }
  .stmt-page:last-child { page-break-after:auto; break-after:auto; }
  .stmt-pack { max-width:none !important; }
}
@page { size:A4; margin:16mm 14mm; }

/* Report section headings */
.rep-head { font-weight:700; color:#0f766e; font-size:.95rem; border-bottom:2px solid #0f766e; padding-bottom:2px; margin-bottom:4px; }

/* ---- Financial Statements pack (print-to-PDF) ---- */
.stmt-pack { max-width:820px; margin:0 auto; }
.stmt-page { background:#fff; border:1px solid #e2e8f0; border-radius:.5rem; padding:48px 56px; margin-bottom:24px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.stmt-letterhead { display:flex; justify-content:space-between; align-items:flex-start; border-bottom:3px solid #0f766e; padding-bottom:14px; margin-bottom:8px; }
.stmt-firm { font-size:1.6rem; font-weight:900; color:#0f172a; letter-spacing:-.5px; }
.stmt-firm .dot { color:#0f766e; }
.stmt-firm-tag { font-size:.72rem; color:#64748b; margin-top:2px; }
.stmt-doc-meta { text-align:right; font-size:.72rem; color:#64748b; }
.stmt-cover-title { text-align:center; margin:120px 0 8px; font-size:2.1rem; font-weight:800; color:#0f172a; }
.stmt-cover-sub { text-align:center; font-size:1.1rem; color:#0f766e; font-weight:600; }
.stmt-cover-entity { text-align:center; margin-top:64px; }
.stmt-cover-entity .en { font-size:1.5rem; font-weight:700; color:#0f172a; }
.stmt-cover-entity .ab { font-size:.9rem; color:#64748b; margin-top:4px; }
.stmt-cover-foot { margin-top:120px; font-size:.72rem; color:#94a3b8; text-align:center; }
.stmt-sec-title { font-size:1.25rem; font-weight:800; color:#0f172a; }
.stmt-sec-sub { font-size:.8rem; color:#64748b; margin-bottom:18px; }
.stmt-line { display:flex; justify-content:space-between; padding:3px 0; font-size:.86rem; color:#334155; }
.stmt-line .lbl { color:#475569; }
.stmt-subtotal { display:flex; justify-content:space-between; padding:6px 0; border-top:1px solid #cbd5e1; font-weight:700; font-size:.88rem; color:#0f172a; }
.stmt-grand { display:flex; justify-content:space-between; padding:8px 0; border-top:2px solid #0f766e; border-bottom:2px double #0f766e; font-weight:800; font-size:1rem; color:#0f766e; margin-top:4px; }
.stmt-group-head { font-weight:700; color:#0f766e; font-size:.92rem; margin:16px 0 4px; }
.stmt-notice { font-size:.8rem; color:#475569; line-height:1.55; }
.stmt-num { font-variant-numeric:tabular-nums; }
