:root{--bg:#f6f7f8;--card:#fff;--ink:#151515;--muted:#6f7479;--line:#e3e6e8;--accent:#111;--danger:#b42318;--warn:#9a6700;--ok:#067647}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}.top{background:#111;color:#fff;padding:14px 22px;display:flex;justify-content:space-between;align-items:center}.wrap{max-width:1400px;margin:auto;padding:20px}.nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.nav a{background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:10px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}.kpi{font-size:28px;font-weight:700}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}th{background:#f0f2f4}input,select,button,textarea{padding:10px;border:1px solid #cfd4d8;border-radius:9px;font:inherit}button,.btn{background:#111;color:#fff;border:0;cursor:pointer;padding:10px 14px;border-radius:9px}.danger{color:var(--danger);font-weight:700}.ok{color:var(--ok);font-weight:700}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:5px}.login{max-width:420px;margin:8vh auto}.alert{padding:10px 12px;border-radius:10px;background:#fff4e5;border:1px solid #f5c26b}.success{padding:10px 12px;border-radius:10px;background:#ecfdf3;border:1px solid #abefc6}
@media print{.top,.nav,.no-print{display:none!important}.wrap{max-width:none;padding:0}body{background:#fff}}

.card-link{display:block;transition:.15s ease}.card-link:hover{border-color:#b9bec3;transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.05)}
