html, body { height: 100%; }
body { display: flex; flex-direction: column; }
main { flex: 1 0 auto; }
.footer { flex-shrink: 0; }

/* Kalendar zauzeća */
.cal { table-layout: fixed; font-size: 12px; }
.cal th, .cal td { padding: 2px 1px; text-align: center; vertical-align: middle; height: 30px; }
.cal .cal-name { width: 180px; text-align: left; padding-left: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal .cal-name.virtual { padding-left: 20px; color: #666; }
.cal th.cal-weekend, .cal td.cal-weekend { background: #f3f4f6; }
.cal th.cal-today { background: #fff3cd; }
.cal td.cal-free a { display: block; height: 26px; }
.cal td.cal-free a:hover { background: #d1e7dd; }
.cal td.cal-term { padding: 1px; }
.cal td.cal-term a { display: block; color: #fff; background: #0d6efd; border-radius: 4px; padding: 3px 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; text-align: left; }
.cal td.cal-term.status-1 a { background: #6c757d; }
.cal td.cal-term.status-2 a { background: #fd7e14; }
.cal td.cal-blocked { background: repeating-linear-gradient(45deg, #e9ecef, #e9ecef 3px, #fff 3px, #fff 7px); }
.cal-wrap { overflow-x: auto; }
