/* Fil-Co team pages (team.html, my-time-off.html, staff-calendar.html) */
.tm-wrap { max-width: 1000px; margin: 0 auto; padding-bottom: 70px; }
.tm-notice { background:#fef3c7; color:#92400e; border:1px solid #f59e0b; border-radius:10px; padding:10px 14px; font-weight:600; font-size:14px; margin:0 0 14px; }
.tm-tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(175px, 1fr)); gap:12px; margin:6px 0 18px; }
.tm-tile { display:flex; flex-direction:column; gap:4px; background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:16px; text-decoration:none; color:#111827; transition:border-color .15s, transform .15s, box-shadow .15s; }
.tm-tile:hover { border-color:#c8102e; transform:translateY(-1px); box-shadow:0 6px 16px rgba(17,24,39,.08); }
.tm-tile .tm-ico { font-size:22px; line-height:1; }
.tm-tile b { font-size:15px; }
.tm-tile span:last-child { color:#6b7280; font-size:13px; line-height:1.35; }
.tm-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tm-card { background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:16px 18px; margin:0 0 14px; }
.tm-card h2 { margin:0 0 10px; font-size:17px; color:#111827; }
.tm-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px; }
.tm-card-head h2 { margin:0; }
.tm-line { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid #f1f5f9; font-size:14px; flex-wrap:wrap; }
.tm-line:last-child { border-bottom:none; }
.tm-dim { color:#6b7280; font-size:13px; }
.tm-line .tm-dim { margin-left:auto; }
.tm-empty { color:#6b7280; font-size:14px; margin:4px 0; }
.tm-more { display:inline-block; margin-top:10px; color:#c8102e; font-weight:700; font-size:14px; text-decoration:none; }
.tm-pill { display:inline-block; padding:2px 8px; border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.tm-pill.off { background:#e0e7ff; color:#3730a3; }
.tm-pill.hol { background:#fee2e2; color:#991b1b; }
.tm-pill.pending { background:#fef3c7; color:#92400e; }
.tm-pill.approved { background:#dcfce7; color:#166534; }
.tm-pill.denied { background:#f3f4f6; color:#4b5563; }
.tm-post { border-top:1px solid #f1f5f9; padding:12px 0; }
.tm-post:first-child { border-top:none; }
.tm-post h3 { margin:4px 0 6px; font-size:16px; color:#111827; }
.tm-post p { margin:0 0 6px; font-size:14px; line-height:1.55; color:#374151; }
.tm-post.pinned { background:#fffbeb; margin:0 -18px; padding:12px 18px; }
.tm-btn { font:700 14px system-ui, sans-serif; padding:9px 14px; border-radius:9px; border:1px solid #d1d5db; background:#fff; color:#111827; cursor:pointer; }
.tm-btn.primary { background:#c8102e; border-color:#c8102e; color:#fff; }
.tm-btn:disabled { opacity:.55; cursor:not-allowed; }
.tm-link { background:none; border:none; padding:0; color:#c8102e; font:inherit; cursor:pointer; text-decoration:underline; }
.tm-form { display:grid; gap:10px; margin:6px 0 14px; padding:14px; background:#f9fafb; border-radius:12px; }
.tm-form label { display:grid; gap:4px; font-size:13px; font-weight:700; color:#374151; }
.tm-form input, .tm-form select, .tm-form textarea { font:15px system-ui, sans-serif; padding:9px 10px; border:1px solid #d1d5db; border-radius:9px; background:#fff; width:100%; box-sizing:border-box; }
.tm-form .tm-check { display:flex; align-items:center; gap:8px; font-weight:600; }
.tm-form .tm-check input { width:auto; }
.tm-row2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tm-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.tm-msg { font-size:14px; font-weight:600; }
.tm-msg.ok { color:#166534; } .tm-msg.err { color:#991b1b; }
/* calendar */
.cal-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.cal-head h2 { margin:0; flex:1; }
.cal-grid { display:grid; grid-template-columns:repeat(7, 1fr); border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; }
.cal-dow { background:#f9fafb; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#6b7280; padding:6px; text-align:center; }
.cal-day { min-height:92px; border-top:1px solid #f1f5f9; border-left:1px solid #f1f5f9; padding:5px; font-size:12px; background:#fff; }
.cal-day:nth-child(7n+1) { border-left:none; }
.cal-day.other { background:#fafafa; color:#9ca3af; }
.cal-day.today { box-shadow:inset 0 0 0 2px #c8102e; }
.cal-day.hol { background:#fff1f2; }
.cal-num { font-weight:800; margin-bottom:3px; }
.cal-chip { display:block; border-radius:6px; padding:2px 5px; margin:2px 0; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cal-chip.off { background:#e0e7ff; color:#3730a3; }
.cal-chip.hol { background:#fee2e2; color:#991b1b; }
@media (max-width: 760px) {
  .tm-grid { grid-template-columns:1fr; }
  .tm-row2 { grid-template-columns:1fr; }
  .cal-grid { display:none; }
  .tm-post.pinned { margin:0 -18px; }
}
@media (min-width: 761px) { .cal-list-phone { display:none; } }

[hidden] { display:none !important; }
