.nav-link{display:flex;align-items:center;gap:.6rem;padding:.45rem .75rem;border-radius:.5rem;color:#cbd5e1;font-size:.875rem}
.nav-link:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-link.active{background:#14857a;color:#fff}
.nav-sub{padding-left:2.1rem;font-size:.82rem}
.nav-group{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding:.9rem .75rem .3rem}
.card{background:#fff;border-radius:.85rem;box-shadow:0 1px 2px rgba(15,23,42,.06),0 0 0 1px rgba(15,23,42,.04)}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:.15s;white-space:nowrap}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primary{background:#14857a;color:#fff}.btn-primary:hover:not(:disabled){background:#0f6d64}
.btn-light{background:#fff;color:#334155;box-shadow:0 0 0 1px #cbd5e1 inset}.btn-light:hover:not(:disabled){background:#f8fafc}
.btn-green{background:#16a34a;color:#fff}.btn-green:hover{background:#15803d}
.btn-red{background:#dc2626;color:#fff}.btn-red:hover{background:#b91c1c}
.btn-amber{background:#f59e0b;color:#fff}.btn-amber:hover{background:#d97706}
.btn-sm{padding:.25rem .6rem;font-size:.78rem}
.inp{width:100%;border:1px solid #cbd5e1;border-radius:.5rem;padding:.45rem .65rem;font-size:.875rem;background:#fff}
.inp:focus{outline:none;border-color:#14857a;box-shadow:0 0 0 3px rgba(20,133,122,.15)}
.inp:disabled{background:#f1f5f9;color:#64748b}
.lbl{display:block;font-size:.78rem;font-weight:500;color:#475569;margin-bottom:.25rem}
.tbl{width:100%;font-size:.82rem}
.tbl th{background:#f8fafc;color:#475569;font-weight:600;text-align:left;padding:.55rem .65rem;border-bottom:1px solid #e2e8f0;white-space:nowrap;position:sticky;top:0;z-index:1}
.tbl td{padding:.5rem .65rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}
.tbl tr:hover td{background:#f8fafc}
.tbl .r{text-align:right;font-variant-numeric:tabular-nums}
.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}
.num{font-variant-numeric:tabular-nums}
.flow-step{position:relative;padding:.7rem .9rem;border-radius:.6rem;background:#f8fafc}
.flow-arrow{text-align:center;color:#94a3b8;font-size:.8rem;line-height:1}
.tab{padding:.5rem .9rem;font-size:.85rem;border-bottom:2px solid transparent;color:#64748b}
.tab.active{border-color:#14857a;color:#0f6d64;font-weight:600}
.scroll-x{overflow-x:auto}
.max-h-table{max-height:65vh;overflow:auto}
@media print{aside,header,.no-print{display:none!important}main{margin:0!important}}
