*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Arial,sans-serif;margin:0;color:#111;background:#f6f7fb}
header{background:#0f172a;color:#fff;padding:12px 18px}
h1{margin:0;font-size:20px}
nav{margin-top:6px}
nav a{color:#cbd5e1;margin-right:12px;text-decoration:none}
nav a:hover{color:#fff;text-decoration:underline}
main{padding:18px}
table{border-collapse:collapse;width:100%;background:#fff}
th,td{border:1px solid #e5e7eb;padding:8px;vertical-align:top}
th{background:#f1f5f9;text-align:left}
form .row{display:flex;gap:12px;flex-wrap:wrap}
input,select,button,textarea{padding:8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}
button{cursor:pointer;background:#0ea5e9;color:#fff;border:none}
button.secondary{background:#64748b}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;margin-bottom:14px}
.printable{max-width:900px;margin:0 auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}
.print-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #111;margin-bottom:10px;padding-bottom:8px}
.muted{color:#6b7280}
@media print{
  header,nav,button{display:none}
  body{background:#fff}
  .printable{border:none;padding:0}
  .no-print{display:none}
}
/* === Buttons unificate === */
.button, button { display:inline-block; padding:6px 12px; border-radius:8px; border:1px solid #D1D5DB; background:#F3F4F6; color:#111827; text-decoration:none; cursor:pointer; }
.button:hover, button:hover { background:#E5E7EB; }
.button.secondary, button.secondary { background:#F3F4F6; }
.button.primary { background:#2563EB; border-color:#1D4ED8; color:white; }
.card table td a { display:inline-block; padding:6px 10px; border-radius:8px; border:1px solid #D1D5DB; background:#F3F4F6; text-decoration:none; color:#111827; margin-right:6px; }
nav a { border:none !important; background:transparent !important; }
.nav-user { margin-left:8px; color:#374151; }

/* === Login page === */
body.login { display:flex; align-items:center; justify-content:center; min-height:100vh; background:#f9fafb; font-family:system-ui,-apple-system,'Segoe UI',Roboto,Ubuntu,'Helvetica Neue',Arial; }
.login-card { background:white; padding:20px; border:1px solid #E5E7EB; border-radius:12px; width:330px; }
.login-card .col input { width:100%; margin-bottom:10px; padding:10px; border:1px solid #D1D5DB; border-radius:8px; }
.login-card button { width:100%; margin-top:6px; }
.err { color:#b91c1c; }
.printable h2 { margin: 0 0 6px 0; }
.print-head .muted { color:#6b7280; }
.card-like table { width:100%; border-collapse:collapse; }
.printable table { width:100%; border-collapse:collapse; }
.printable table th, .printable table td { border:1px solid #E5E7EB; padding:6px; font-size:13px; vertical-align:top; }
.no-print { display:inline-block; }
@media print { .no-print { display:none !important; } header nav a { display:none; } }