:root{ --tps-green:#1f7a4d; --tps-green-d:#155c39; --tps-ink:#23303a; }
.tps-nav{ background:linear-gradient(90deg,var(--tps-green),var(--tps-green-d)); }
.navbar-dark .nav-link.active{ background:rgba(255,255,255,.18); border-radius:.4rem; }
.card{ border:0; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.card-header{ background:#fff; font-weight:600; border-bottom:2px solid var(--tps-green); }
.btn-tps{ background:var(--tps-green); border-color:var(--tps-green); color:#fff; }
.btn-tps:hover{ background:var(--tps-green-d); border-color:var(--tps-green-d); color:#fff; }
.text-tps{ color:var(--tps-green)!important; }
.calc-box{ background:#eef7f1; border:1px solid #cfe7da; border-radius:.5rem; }
.calc-box .val{ font-weight:700; color:var(--tps-green-d); }
.jobcard-table td,.jobcard-table th{ vertical-align:middle; }
.section-title{ background:var(--tps-ink); color:#fff; padding:.4rem .8rem; border-radius:.4rem; font-weight:600; }
.req:after{ content:" *"; color:#c0392b; }
@media print{
  .tps-nav,.no-print,footer,.btn{ display:none!important; }
  body{ background:#fff; }
  .container-fluid{ max-width:100%; }
  .card{ box-shadow:none; border:1px solid #999; }
}
.sticker{ width:90mm; border:1px solid #000; padding:6px 10px; font-family:Arial,Helvetica,sans-serif; }
.sticker h6{ text-align:center; margin:0 0 4px; font-weight:800; border-bottom:1px solid #000; padding-bottom:3px; }
.sticker .row-l{ display:flex; gap:6px; font-size:13px; padding:1px 0; }
.sticker .row-l b{ min-width:78px; display:inline-block; }
