:root { color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 320px; }
input, select, textarea, button { font: inherit; }
.form-input {
    width: 100%; border: 1px solid #dbe3ec; border-radius: .85rem; background: #fff;
    padding: .78rem .9rem; color: #0f172a; outline: none; transition: .18s ease;
}
.form-input:focus { border-color: #0c8de9; box-shadow: 0 0 0 4px rgba(12,141,233,.10); }
.form-label { display: block; margin-bottom: .45rem; font-size: .82rem; font-weight: 700; color: #334155; }
.card { border: 1px solid #e5ebf2; border-radius: 1.2rem; background: #fff; box-shadow: 0 12px 32px rgba(15,64,108,.055); }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:.8rem; background:#07599f; padding:.72rem 1rem; color:#fff; font-size:.875rem; font-weight:700; transition:.18s ease; }
.btn-primary:hover { background:#0f406c; transform:translateY(-1px); }
.btn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border:1px solid #dbe3ec; border-radius:.8rem; background:#fff; padding:.7rem 1rem; color:#334155; font-size:.875rem; font-weight:700; transition:.18s ease; }
.btn-secondary:hover { border-color:#7cc7fd; color:#07599f; }
.btn-danger { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:.8rem; background:#dc2626; padding:.72rem 1rem; color:#fff; font-size:.875rem; font-weight:700; }
.table-wrap { overflow-x:auto; }
.data-table { width:100%; border-collapse:separate; border-spacing:0; }
.data-table th { background:#f8fafc; padding:.85rem 1rem; text-align:left; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#64748b; white-space:nowrap; }
.data-table td { border-top:1px solid #eef2f6; padding:.95rem 1rem; vertical-align:middle; font-size:.875rem; }
.data-table tbody tr:hover { background:#fbfdff; }
.modal-backdrop { background:rgba(15,23,42,.48); backdrop-filter:blur(3px); }
@media print {
    aside, header, footer, .no-print { display:none !important; }
    .lg\:pl-72 { padding-left:0 !important; }
    main { padding:0 !important; }
    body { background:white !important; }
    .card { box-shadow:none !important; }
}
