* { box-sizing: border-box; }
.languages { padding: 6px 0; text-align: right; }
@media print { .languages { display: none; } }
html[dir="rtl"] body { font-family: Tahoma, Arial, sans-serif; }
html[dir="rtl"] th, html[dir="rtl"] td { text-align: right; }
html[dir="rtl"] input[type="date"], html[dir="rtl"] input[type="number"] { direction: ltr; text-align: right; }
body { margin: 0; background: #f3f5f7; color: #29343e; font: 15px Arial, sans-serif; line-height: 1.5; }
.wrap { width: 1000px; margin: auto; }
header { background: #345b78; color: white; padding: 18px 0; }
header h1 { margin: 0; font-size: 26px; }
header p { margin: 4px 0 0; font-size: 14px; }
nav { background: #e5edf3; border-bottom: 1px solid #bccbd7; padding: 8px 0; }
nav a { display: inline-block; margin-right: 5px; padding: 6px 10px; text-decoration: none; }
nav .selected { font-weight: bold; color: #234966; background: #d2e0eb; }
a { color: #174b8a; }
main { min-height: 65vh; padding: 20px 0; }
h2 { font-size: 22px; margin: 0 0 18px; }
h3 { font-size: 17px; margin-top: 0; }
.box { background: white; padding: 20px; border: 1px solid #c9d1d8; margin-bottom: 20px; }
.small { max-width: 380px; }
.form-box { max-width: 680px; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
label { display: block; margin-bottom: 12px; }
input, select, textarea { display: block; width: 100%; padding: 8px; border: 1px solid #aab8c3; border-radius: 3px; font: inherit; margin-top: 5px; background: white; }
textarea { min-height: 65px; }
button, .button { display: inline-block; padding: 7px 14px; border: 1px solid #345b78; border-radius: 3px; background: #3e6b8d; color: white; font: inherit; cursor: pointer; text-decoration: none; }
button:hover, .button:hover { background: #315671; }
.secondary { background: #e5edf3; color: #294d68; border-color: #b1c1ce; }
.danger { color: white; background: #a34f49; border-color: #91443f; }
.logout { display: inline-block; margin: 0; }
.cards { display: flex; flex-wrap: nowrap; gap: 12px; margin-bottom: 20px; }
.card { flex: 1; min-width: 140px; background: white; border: 1px solid #c9d1d8; padding: 14px; }
.card strong { display: block; font-size: 23px; color: #345b78; }
.table-wrap { overflow-x: auto; margin: 15px 0; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; }
th, td { text-align: left; padding: 10px; border: 1px solid #c6d0d8; font-size: 14px; }
td { background: white; }
th { background: #dfe9f0; }
.toolbar { margin-bottom: 15px; }
.toolbar label { display: inline-block; vertical-align: bottom; width: 230px; max-width: 100%; margin-right: 10px; margin-bottom: 0; }
.notice { background: #eff6ec; border: 1px solid #a9b8a1; padding: 10px; }
.error { color: #942626; border: 1px solid #c6a0a0; padding: 10px; }
.muted { color: #555; font-size: 13px; }
.badge { font-size: 14px; }
.late { color: #942626; font-weight: bold; }
.inline { display: inline; }
.inline button { padding: 2px 7px; font-size: 13px; }
.total { font-size: 18px; font-weight: bold; }
footer { border-top: 1px solid #aaa; padding: 12px 0; font-size: 13px; }
@media print { nav, footer, .no-print { display: none; } body { background: white; } .wrap { width: 100%; } header { background: white; color: black; } .box { border: 0; padding: 0; } }
