.navlink{display:block;padding:.625rem .75rem;border-radius:.625rem;color:#334155}
.navlink.active,.navlink:hover{background:#e2f2ff;color:#0369a1}
.btn{background:#0284c7;color:white;padding:.5rem .8rem;border-radius:.6rem}
.btn:hover{filter:brightness(0.95)}
.btn-light{background:#e2e8f0;color:#0f172a;padding:.5rem .8rem;border-radius:.6rem}
.btn-danger{background:#ef4444;color:white;padding:.5rem .8rem;border-radius:.6rem}
.input,.select,textarea.input{border:1px solid #e2e8f0;border-radius:.6rem;padding:.55rem .7rem;width:100%}
.badge{padding:.125rem .5rem;border-radius:999px;font-size:.75rem}
.card{background:white;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem}
.kpi{background:white;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem}
.table{background:white;border:1px solid #e5e7eb;border-radius:1rem}
.table .thead,.table .trow{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr 1.4fr 1fr 1.6fr;gap:.75rem;padding:.6rem .8rem;align-items:center}
.table .thead{background:#f8fafc;font-weight:600}
.table:has(.trow) .trow:nth-child(odd){background:#fcfcfd}
.toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}
.lbl{display:block;font-size:.8rem;color:#475569;margin-bottom:.25rem}
.dialog{position:fixed;inset:0;background:rgba(2,6,23,.5);display:flex;align-items:center;justify-content:center;padding:1rem}
.dialog-panel{background:white;border-radius:1rem;padding:1rem;max-width:720px;width:100%}
.dialog-title{font-weight:600;margin-bottom:.5rem}
.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
