/* v2: mobile improvements + calendar + notices */
body { background: #f6f7fb; }
.navbar-brand { font-weight: 700; letter-spacing: 0.2px; }
.card { border: 0; border-radius: 14px; box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.table thead th { background: #fff; position: sticky; top: 0; z-index: 1; }
.badge { border-radius: 999px; }
.form-control, .form-select { border-radius: 10px; }
.btn { border-radius: 10px; }
.small-muted { color:#6c757d; font-size: 0.9rem; }

@media (max-width: 576px){
  .display-6 { font-size: 1.6rem; }
  .card { border-radius: 12px; }
  .table { font-size: .9rem; }
  .navbar .small-muted { display:none; }
  .btn { padding: .45rem .7rem; }
  .table-responsive { -webkit-overflow-scrolling: touch; }
}

.calendar td, .calendar th { vertical-align: top; }
.calendar .daycell { min-height: 92px; border-radius: 10px; padding: 6px; }
.calendar .date-num { font-weight: 700; font-size: .95rem; }
.calendar .item { font-size: .78rem; line-height: 1.1; margin-top: 4px; padding: 2px 6px; border-radius: 999px; display: inline-block; }
.dow-Sun { background: rgba(255,193,7,.16); }
.dow-Mon { background: rgba(13,110,253,.12); }
.dow-Tue { background: rgba(25,135,84,.12); }
.dow-Wed { background: rgba(13,202,240,.12); }
.dow-Thu { background: rgba(108,117,125,.12); }
.dow-Fri { background: rgba(111,66,193,.12); }
.dow-Sat { background: rgba(220,53,69,.08); }

.item.leave { background: rgba(220,53,69,.18); border: 1px dashed rgba(220,53,69,.45); }
.item.notice { background: rgba(13,110,253,.10); border: 1px solid rgba(13,110,253,.18); }
.item.alert { background: rgba(255,193,7,.14); border: 1px solid rgba(255,193,7,.25); }
