/* LYCOS Exploitation IDAS — styles custom */
* { -webkit-tap-highlight-color: transparent; }
body { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.drawer { transition: transform .2s ease; }
.drawer.collapsed { display: none !important; }
@media (max-width: 1023px) {
  .drawer { position: fixed; top:0; left:0; bottom:0; z-index: 30; transform: translateX(-100%); height:100vh; padding-top: 3.5rem; }
  .drawer.open { transform: translateX(0); }
}
.tbl { width:100%; border-collapse: collapse; font-size: .82rem; }
.tbl th { text-align:left; font-weight:600; color:#475569; background:#f1f5f9; padding:.5rem .6rem; white-space:nowrap; position:sticky; top:0; }
.tbl td { padding:.45rem .6rem; border-top:1px solid #e2e8f0; vertical-align: top; }
.tbl tr:hover td { background:#f8fafc; }
.btn { display:inline-flex; align-items:center; gap:.35rem; font-size:.78rem; font-weight:500; padding:.4rem .7rem; border-radius:.5rem; cursor:pointer; border:1px solid transparent; }
.btn-primary { background:#0284c7; color:#fff; } .btn-primary:hover { background:#0369a1; }
.btn-dark { background:#1e293b; color:#fff; } .btn-dark:hover { background:#334155; }
.btn-ghost { background:#fff; color:#475569; border-color:#cbd5e1; } .btn-ghost:hover { background:#f8fafc; }
.btn-danger { background:#fee2e2; color:#b91c1c; } .btn-danger:hover { background:#fecaca; }
.btn-ai { background:#9333ea; color:#fff; } .btn-ai:hover { background:#7e22ce; }
.inp { width:100%; border:1px solid #cbd5e1; border-radius:.5rem; padding:.45rem .6rem; font-size:.85rem; outline:none; }
.inp:focus { border-color:#0ea5e9; box-shadow:0 0 0 1px #0ea5e9; }
.card { background:#fff; border:1px solid #e2e8f0; border-radius:.85rem; padding:1rem 1.1rem; }
.kpi { background:#fff; border:1px solid #e2e8f0; border-radius:.85rem; padding:.9rem 1rem; }
.kpi .v { font-size:1.5rem; font-weight:700; color:#0f172a; }
.kpi .l { font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; color:#64748b; }
.navlink { display:flex; align-items:center; gap:.6rem; padding:.5rem .9rem; font-size:.85rem; color:#cbd5e1; cursor:pointer; border-radius:0; }
.navlink:hover { background:#334155; color:#fff; }
.navlink.active { background:#0284c7; color:#fff; }
.navsection { font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; color:#64748b; padding:.8rem .9rem .3rem; }
.badge { display:inline-block; font-size:.68rem; font-weight:600; padding:.1rem .45rem; border-radius:.4rem; }
.tab { padding:.5rem .9rem; font-size:.85rem; font-weight:500; cursor:pointer; border-bottom:2px solid transparent; color:#64748b; }
.tab.active { color:#0f172a; border-color:#0284c7; }
.bar { height:.6rem; border-radius:.4rem; background:#e2e8f0; overflow:hidden; }
.bar > span { display:block; height:100%; }
@media print { .tp-no-print, header, #drawer, #aiToggle, #aiPanel, #notifBanner { display:none !important; } main { padding:0 !important; } }
