/* ИРИАЛЛ: календарь, Важное, Сотрудники и график. */
#iriall-reception {
  --ir-rec-surface: #f1f6fd;
  --ir-rec-card: #ffffff;
  --ir-rec-border: #e0eaf6;
  --ir-rec-ink: #082a54;
  --ir-rec-muted: #526d91;
  --ir-rec-blue: #0098f4;
  --ir-rec-button: #0074bf;
  --ir-rec-button-ink: #ffffff;
  --ir-rec-icon: #eaf6ff;
  --ir-rec-empty: #f5faff;
  --ir-rec-shadow: rgba(20, 63, 112, .045);
  --ir-rec-meeting: #258be2;
  --ir-rec-deal: #7954d4;
  --ir-rec-showing: #168663;
  --ir-rec-viewing: #ba861a;
  --ir-rec-consultation: #ac588d;
  --ir-rec-other: #72859e;
  container-type: inline-size;
  container-name: iriall-reception;
  width: 100%;
  min-width: 0;
}
#iriall-reception, #iriall-reception * { box-sizing: border-box; }
#iriall-reception [hidden] { display: none !important; }
#iriall-reception .ir-rec-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: 16px; }
#iriall-reception .ir-rec-card { font-family: "Segoe UI", Arial, sans-serif; color: var(--ir-rec-ink); min-width: 0; padding: 20px; border: 1px solid var(--ir-rec-border); border-radius: 18px; background: var(--ir-rec-card); box-shadow: 0 5px 18px var(--ir-rec-shadow); }
#iriall-reception .ir-rec-header, #iriall-reception .ir-rec-heading, #iriall-reception .ir-rec-toolbar, #iriall-reception .ir-rec-date-nav, #iriall-reception .ir-rec-actions { display: flex; align-items: center; gap: 8px; }
#iriall-reception .ir-rec-header { justify-content: space-between; gap: 12px; flex-wrap: wrap; }
#iriall-reception .ir-rec-heading { gap: 10px; }
#iriall-reception .ir-rec-heading h2 { margin: 0; font-size: 18px; line-height: 24px; font-weight: 500; }
#iriall-reception .ir-rec-heading-icon { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: var(--ir-rec-icon); color: var(--ir-rec-blue); }
#iriall-reception .ir-rec-heading-icon svg { width: 19px; height: 19px; stroke-width: 1.6; }
#iriall-reception .ir-rec-timezone { color: var(--ir-rec-muted); font-size: 12px; line-height: 18px; }
#iriall-reception .ir-rec-toolbar { justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
#iriall-reception .ir-rec-date-nav { flex-wrap: wrap; min-width: 0; }
#iriall-reception .ir-rec-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 9px 12px; border: 1px solid var(--ir-rec-border); border-radius: 10px; background: var(--ir-rec-card); color: var(--ir-rec-button); font-family: inherit; font-size: 13px; line-height: 20px; font-weight: 500; text-decoration: none; white-space: nowrap; }
#iriall-reception .ir-rec-button svg { width: 16px; height: 16px; stroke-width: 1.7; }
#iriall-reception .ir-rec-arrow { width: 40px; padding: 9px; }
#iriall-reception .ir-rec-button--primary { background: var(--ir-rec-button); border-color: var(--ir-rec-button); color: var(--ir-rec-button-ink); }
#iriall-reception .ir-rec-calendar input, #iriall-reception .ir-rec-calendar select { min-width: 0; min-height: 40px; padding: 9px 11px; border: 1px solid var(--ir-rec-border); border-radius: 10px; background: var(--ir-rec-card); color: var(--ir-rec-ink); font-family: inherit; font-size: 13px; line-height: 20px; }
#iriall-reception .ir-rec-date-input { width: 156px; }
#iriall-reception .ir-rec-modes { display: flex; align-items: center; gap: 3px; padding: 4px; border-radius: 12px; background: var(--ir-rec-surface); }
#iriall-reception .ir-rec-mode { min-height: 34px; padding: 6px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--ir-rec-muted); font-family: inherit; font-size: 13px; line-height: 20px; font-weight: 500; }
#iriall-reception .ir-rec-mode[aria-pressed="true"] { background: var(--ir-rec-button); color: var(--ir-rec-button-ink); }
#iriall-reception .ir-rec-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: 12px; margin-top: 16px; }
#iriall-reception .ir-rec-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
#iriall-reception .ir-rec-field-label { color: var(--ir-rec-muted); font-size: 12px; line-height: 18px; }
#iriall-reception .ir-rec-actions { grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-end; }
#iriall-reception .ir-rec-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--ir-rec-border); color: var(--ir-rec-muted); font-size: 12px; line-height: 18px; }
#iriall-reception .ir-rec-legend-item { display: inline-flex; align-items: center; gap: 6px; }
#iriall-reception .ir-rec-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ir-rec-other); }
#iriall-reception .ir-rec-dot--meeting { background: var(--ir-rec-meeting); }
#iriall-reception .ir-rec-dot--deal { background: var(--ir-rec-deal); }
#iriall-reception .ir-rec-dot--showing { background: var(--ir-rec-showing); }
#iriall-reception .ir-rec-dot--viewing { background: var(--ir-rec-viewing); }
#iriall-reception .ir-rec-dot--consultation { background: var(--ir-rec-consultation); }
#iriall-reception .ir-rec-calendar-body { margin-top: 16px; padding: 14px; border: 1px solid var(--ir-rec-border); border-radius: 14px; background: var(--ir-rec-empty); }
#iriall-reception .ir-rec-period { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
#iriall-reception .ir-rec-period-label { font-size: 13px; line-height: 20px; font-weight: 500; }
#iriall-reception .ir-rec-count { padding: 3px 8px; border-radius: 8px; background: var(--ir-rec-icon); color: var(--ir-rec-button); font-size: 12px; line-height: 18px; font-weight: 500; font-variant-numeric: tabular-nums; }
#iriall-reception .ir-rec-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 20px 8px 12px; text-align: center; }
#iriall-reception .ir-rec-empty-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-bottom: 5px; border-radius: 12px; background: var(--ir-rec-icon); color: var(--ir-rec-blue); }
#iriall-reception .ir-rec-empty-icon svg { width: 21px; height: 21px; stroke-width: 1.6; }
#iriall-reception .ir-rec-empty-title { margin: 0; font-size: 14px; line-height: 20px; font-weight: 500; }
#iriall-reception .ir-rec-empty-description { margin: 0; color: var(--ir-rec-muted); font-size: 12px; line-height: 18px; }
#iriall-reception .ir-rec-sidebar { display: grid; gap: 16px; align-items: start; }
#iriall-reception .ir-rec-notification-empty { padding: 24px 2px 20px; }
#iriall-reception .ir-rec-notification-empty .ir-rec-empty-description { font-size: 13px; line-height: 20px; }
#iriall-reception .ir-rec-notification-action { width: 100%; }
#iriall-reception .ir-rec-staff { padding: 0; }
#iriall-reception .ir-rec-staff summary { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 16px; font-size: 13px; line-height: 20px; font-weight: 500; list-style: none; }
#iriall-reception .ir-rec-staff summary::-webkit-details-marker { display: none; }
#iriall-reception .ir-rec-staff summary svg { width: 18px; height: 18px; stroke-width: 1.6; color: var(--ir-rec-blue); }
#iriall-reception .ir-rec-staff .ir-rec-chevron { margin-left: auto; display: flex; }
#iriall-reception .ir-rec-staff[open] .ir-rec-chevron { transform: rotate(180deg); }
#iriall-reception .ir-rec-staff-content { padding: 0 16px 16px; }
#iriall-reception .ir-rec-date-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin-top: 12px; }
#iriall-reception .ir-rec-weekday { text-align: center; color: var(--ir-rec-muted); font-size: 12px; line-height: 18px; }
#iriall-reception .ir-rec-day { min-width: 0; min-height: 36px; padding: 6px 2px; border: 0; border-radius: 8px; background: var(--ir-rec-card); color: var(--ir-rec-ink); font-family: inherit; font-size: 13px; line-height: 20px; font-weight: 400; }
#iriall-reception .ir-rec-day--outside { color: var(--ir-rec-muted); background: transparent; }
#iriall-reception .ir-rec-day[aria-pressed="true"] { background: var(--ir-rec-button); color: var(--ir-rec-button-ink); }
/* Viewport fallbacks also work when container queries are unavailable. The
   container rules below refine this layout to the actual cabinet width. */
@media (max-width: 1250px) {
  #iriall-reception .ir-rec-layout { grid-template-columns: minmax(0, 1fr); }
  #iriall-reception .ir-rec-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  #iriall-reception .ir-rec-sidebar, #iriall-reception .ir-rec-filters { grid-template-columns: minmax(0, 1fr); }
  #iriall-reception .ir-rec-actions { justify-content: flex-start; }
  #iriall-reception .ir-rec-calendar input, #iriall-reception .ir-rec-calendar select { font-size: 16px; }
}
@media (max-width: 380px) {
  #iriall-reception .ir-rec-date-nav { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; width: 100%; }
  #iriall-reception .ir-rec-date-input { width: 100%; padding: 8px 4px; }
  #iriall-reception .ir-rec-today { grid-column: 1 / -1; }
}
@container iriall-reception (min-width: 1300px) { #iriall-reception .ir-rec-filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; } #iriall-reception .ir-rec-actions { grid-column: auto; } }
@container iriall-reception (max-width: 999px) { #iriall-reception .ir-rec-layout { grid-template-columns: 1fr; } #iriall-reception .ir-rec-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container iriall-reception (max-width: 599px) { #iriall-reception .ir-rec-sidebar { grid-template-columns: 1fr; } #iriall-reception .ir-rec-card { padding: 16px; } #iriall-reception .ir-rec-staff { padding: 0; } #iriall-reception .ir-rec-filters { grid-template-columns: 1fr; } #iriall-reception .ir-rec-actions { justify-content: flex-start; } #iriall-reception .ir-rec-calendar input, #iriall-reception .ir-rec-calendar select { font-size: 16px; } #iriall-reception .ir-rec-date-input { width: 148px; } }
@container iriall-reception (max-width: 349px) { #iriall-reception .ir-rec-date-nav { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; width: 100%; } #iriall-reception .ir-rec-date-input { width: 100%; padding: 8px 4px; } #iriall-reception .ir-rec-today { grid-column: 1 / -1; } }

#iriall-reception button, #iriall-reception summary { cursor: pointer; }

/* CRM adapters: only these reception panels; existing tasks, Domix and other pages keep their styles. */
#iriall-reception .ir-rec-layout { align-items: stretch; }
#iriall-reception .wd-main-column { gap: 16px; }
#iriall-reception .ir-rec-header { margin-bottom: 0; }
#iriall-reception .ir-rec-heading-icon { flex-shrink: 0; }
#iriall-reception .ir-rec-calendar input { margin: 0; }
#iriall-reception .ir-rec-field select { width: 100%; }
#iriall-reception .ir-rec-mode { border: 0; min-height: 34px; padding: 6px 11px; background: transparent; }
#iriall-reception .ir-rec-mode[aria-pressed="true"] { border: 0; background: var(--ir-rec-button); color: #fff; }
#iriall-reception .ir-rec-button:disabled { opacity: .55; cursor: wait; }
#iriall-reception .ir-rec-button:hover { background: var(--ir-rec-empty); }
#iriall-reception .ir-rec-button--primary:hover, #iriall-reception .ir-rec-mode[aria-pressed="true"]:hover { background: #0064a6; }
#iriall-reception .ir-rec-notification-action { flex-direction: row-reverse; margin-top: 12px; }
#iriall-reception .ir-rec-important .wd-notice-list { margin: 18px 0 0; padding-right: 0; }
#iriall-reception .ir-rec-important .wd-empty { padding: 6px 0; text-align: center; font-size: 13px; font-weight: 400; line-height: 20px; color: var(--ir-rec-muted); }
#iriall-reception .ir-rec-important .wd-notice strong { color: var(--ir-rec-ink); font-weight: 500; }
#iriall-reception .ir-rec-important .wd-notice p { color: var(--ir-rec-muted); }
#iriall-reception .ir-rec-important .wd-notice .wd-button { font-size: 12px; font-weight: 500; }
#iriall-reception .ir-rec-count { height: auto; min-width: 24px; color: var(--ir-rec-button) !important; font-weight: 500; }
#iriall-reception .ir-rec-staff summary { color: var(--ir-rec-ink); }
#iriall-reception .ir-rec-staff summary > svg { flex-shrink: 0; }
#iriall-reception .ir-rec-staff-content { display: block; }
#iriall-reception .ir-rec-person { display: flex; flex-direction: column; gap: 3px; border-top: 1px solid var(--ir-rec-border); padding: 12px 0; overflow-wrap: anywhere; }
#iriall-reception .ir-rec-person:last-child { padding-bottom: 0; }
#iriall-reception .ir-rec-person strong { font-size: 13px; font-weight: 500; line-height: 20px; }
#iriall-reception .ir-rec-person > span { font-size: 12px; line-height: 18px; color: var(--ir-rec-muted); }
#iriall-reception .wd-calendar-days { margin-top: 16px; gap: 12px; }
#iriall-reception .wd-calendar-days:is(.week,.month) { grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); }
#iriall-reception .wd-day.ir-rec-calendar-body { margin-top: 0; border-color: var(--ir-rec-border); background: var(--ir-rec-empty); }
#iriall-reception .wd-day.today { border-color: #b9daf7; }
#iriall-reception .wd-day > header { margin-bottom: 12px; }
#iriall-reception .wd-day h3 { color: var(--ir-rec-ink); font-size: 13px; font-weight: 500; }
#iriall-reception .wd-day > header > span { white-space: normal; font-size: 12px; }
#iriall-reception .wd-work-hours { color: var(--ir-rec-muted); font-size: 12px; }
#iriall-reception .wd-events > .ir-rec-empty { grid-column: 1 / -1; }
#iriall-reception .wd-event { border-radius: 11px; font-family: inherit; }
#iriall-reception .wd-event strong, #iriall-reception .wd-event-time { font-weight: 500; }
#iriall-reception .ir-rec-load-status { display: none; }
#iriall-reception :is(#wdCalendar,#wdLawyerCalendar)[aria-busy="true"] .ir-rec-load-status { display: block; }
#iriall-reception .ir-rec-load-status, #iriall-reception .ir-rec-initial-loading { color: var(--ir-rec-muted); font-size: 13px; line-height: 20px; margin: 16px 0 0; }
#iriall-reception .ir-rec-button:focus-visible, #iriall-reception .ir-rec-staff summary:focus-visible, #iriall-reception .ir-rec-calendar input:focus-visible, #iriall-reception .ir-rec-calendar select:focus-visible { outline: 3px solid #69b5f0; outline-offset: 3px; }
@container iriall-reception (max-width: 999px) {
  #iriall-reception .ir-rec-layout { grid-template-columns: 1fr; align-items: start; }
  #iriall-reception .wd-main-column, #iriall-reception .wd-side-column { display: contents; }
  #iriall-reception .ir-rec-calendar { order: 1; }
  #iriall-reception .ir-rec-sidebar { order: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #iriall-reception .wd-reception-tasks { order: 3; }
  #iriall-reception .wd-domix { order: 4; margin-top: 0; }
}
@container iriall-reception (max-width: 599px) {
  #iriall-reception .ir-rec-sidebar { grid-template-columns: 1fr; }
  #iriall-reception .ir-rec-modes { width: auto; }
  #iriall-reception .ir-rec-actions { width: 100%; justify-content: flex-start; }
  #iriall-reception .ir-rec-actions > button { flex: 0 1 auto; }
  #iriall-reception .wd-calendar-days:is(.week,.month) { grid-template-columns: 1fr; }
  #iriall-reception .wd-calendar-days.day .wd-events { grid-template-columns: 1fr; }
  #iriall-reception .ir-rec-important .wd-notice .wd-button { min-height: 44px; }
}
@container iriall-reception (max-width: 349px) {
  #iriall-reception .ir-rec-date-nav > .ir-rec-field { display: block; }
}

#iriall-reception .ir-rec-dot--call{background:#197b83}

/* Shared task calendar: one Monday-first grid for every staff cabinet. */
:is(#wdCalendar,#wdLawyerCalendar) { min-width: 0; max-width: 100%; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar { --tc-ink:#173554; --tc-muted:#6d829a; --tc-line:#e4ebf4; color:var(--tc-ink); min-width:0; width:100%; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar * { box-sizing:border-box; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 16px; flex-wrap:wrap; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-heading h2 { display:flex; align-items:center; gap:10px; margin:0; font-size:20px; line-height:1.35; font-weight:650; color:var(--tc-ink); }
:is(#wdCalendar,#wdLawyerCalendar) .tc-heading h2>span { width:8px; height:8px; flex:none; background:#28bdca; border-radius:50%; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-modes { display:flex; gap:3px; padding:4px; border:1px solid var(--tc-line); background:#f2f5fa; border-radius:12px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-modes button { min-height:38px; min-width:64px; padding:9px 12px; border:0; border-radius:9px; color:#667d97; background:transparent; font:inherit; font-size:13px; cursor:pointer; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-modes button[aria-pressed="true"] { background:#168ddd; color:white; box-shadow:0 3px 8px #168ddd24; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-period-bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; border-top:1px solid var(--tc-line); border-bottom:1px solid var(--tc-line); background:#f8faff; padding:12px 10px; margin-bottom:14px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-period-nav,:is(#wdCalendar,#wdLawyerCalendar) .tc-date-controls { display:flex; align-items:center; gap:8px; min-width:0; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-period-nav { flex:1 1 240px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-period-nav strong { font-size:14px; line-height:1.5; font-weight:600; text-transform:capitalize; min-width:0; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-period-nav button { display:grid; place-items:center; width:32px; min-width:32px; height:36px; padding:5px; border:0; border-radius:8px; background:white; color:#3283b7; cursor:pointer; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-period-nav svg { width:18px; height:18px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-today { border:1px solid #dce8f4; background:white; color:#2583bf; border-radius:9px; font:inherit; font-size:12px; padding:8px 10px; min-height:36px; cursor:pointer; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-date-controls input { width:137px; min-width:0; min-height:36px; padding:6px 8px; border:1px solid #dce8f4; border-radius:9px; color:var(--tc-ink); font:inherit; font-size:12px; background:white; margin:0; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-timezone { color:var(--tc-muted); font-size:11px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-tools { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-filters { display:flex; flex-wrap:wrap; gap:10px; flex:1; min-width:0; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-filters label { display:grid; gap:5px; min-width:135px; max-width:230px; flex:1; color:var(--tc-muted); font-size:11px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-filters select { display:block; width:100%; min-width:0; min-height:38px; border:1px solid #dce8f4; border-radius:9px; background:white; color:var(--tc-ink); font:inherit; font-size:12px; padding:8px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-actions { display:flex; flex-wrap:wrap; gap:6px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-actions .wd-button { min-height:38px; padding:8px 10px; font-size:12px; font-weight:500; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-scroll { overflow-x:auto; overscroll-behavior-x:contain; max-width:100%; min-width:0; padding:2px 1px 8px; -webkit-overflow-scrolling:touch; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-grid.month,:is(#wdCalendar,#wdLawyerCalendar) .tc-grid.week { min-width:784px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-weekdays { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin-bottom:9px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-weekdays>span { display:flex; justify-content:center; align-items:center; min-height:37px; background:#27bfcc; color:white; border-radius:9px; font-size:13px; font-weight:600; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .wd-calendar-days { margin:0; gap:8px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .wd-calendar-days.week,:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .wd-calendar-days.month { grid-template-columns:repeat(7,minmax(0,1fr)); }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .wd-calendar-days.day { grid-template-columns:minmax(0,1fr); }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-day { margin:0; padding:7px; min-height:124px; min-width:0; border:1px solid var(--tc-line); border-radius:11px; background:white; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .week .tc-day { min-height:310px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-day.outside { background:#fafbfd; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-day.today { border-color:#79cced; background:#f3fbff; box-shadow:inset 0 2px 0 #27b9df; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-day>header { display:flex; align-items:center; justify-content:space-between; gap:4px; margin-bottom:5px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-day-number { min-height:29px; border:0; border-radius:7px; padding:3px 5px; background:transparent; color:var(--tc-ink); text-align:left; font:inherit; font-size:15px; cursor:pointer; }
:is(#wdCalendar,#wdLawyerCalendar) .outside .tc-day-number { color:#aebbc9; }
:is(#wdCalendar,#wdLawyerCalendar) .today .tc-day-number { font-weight:650; color:#008ccc; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-day-count { font-size:12px; color:var(--tc-muted); }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-events { display:flex; flex-direction:column; gap:6px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event { display:flex; flex-direction:column; align-items:flex-start; gap:3px; width:100%; margin:0; min-width:0; padding:7px 7px 8px; border:1px solid var(--event-border,#d5e3f0); border-left:3px solid var(--event-color,#209acc); border-radius:8px; background:var(--event-bg,#f1f8ff); color:var(--tc-ink); text-align:left; font:inherit; cursor:pointer; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event:hover { box-shadow:0 2px 7px #163c5914; filter:brightness(.985); }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event-time { display:flex; flex-wrap:wrap; align-items:baseline; gap:0; color:var(--event-color,#187eb0); font-size:11px; line-height:1.35; font-weight:650; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event-time>span { display:inline; font-size:inherit; color:inherit; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event-type { color:var(--event-color,#187eb0); font-size:10px; line-height:1.35; overflow-wrap:anywhere; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; color:var(--tc-ink); font-size:11px; line-height:1.4; font-weight:600; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event-owner { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:anywhere; color:#60758e; font-size:10px; line-height:1.4; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event-status { font-size:10px; line-height:1.4; color:#517e67; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-event.task-finished { background:#f1faed; border-color:#c6e9b8; border-left-color:#7abc58; opacity:1; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-more { width:100%; min-height:30px; margin-top:5px; padding:5px 3px; border:0; border-radius:7px; background:#f2f7fb; color:#277eae; font:inherit; font-size:11px; cursor:pointer; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-day { min-height:200px; padding:14px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-day-number { font-size:15px; font-weight:600; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event { padding:12px 14px; display:grid; grid-template-columns:100px minmax(0,1fr); column-gap:14px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event-time { grid-column:1; grid-row:1 / 3; font-size:13px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event-type,:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event-title,:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event-owner,:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event-status { grid-column:2; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event-type { font-size:11px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event-title { font-size:14px; -webkit-line-clamp:unset; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event-owner { font-size:12px; -webkit-line-clamp:unset; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-empty { margin:22px 0; color:var(--tc-muted); font-size:13px; text-align:center; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-scroll-hint { display:none; color:var(--tc-muted); font-size:11px; line-height:1.5; margin:0 0 8px; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar button:focus-visible,:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar input:focus-visible,:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar select:focus-visible,:is(#wdCalendar,#wdLawyerCalendar) .tc-scroll:focus-visible { outline:2px solid #129cdb; outline-offset:2px; }
@media(max-width:1600px) {
  :is(#wdCalendar,#wdLawyerCalendar) .tc-scroll-hint { display:block; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-date-controls { flex-wrap:wrap; }
}
@media(max-width:760px) {
  :is(#wdCalendar,#wdLawyerCalendar) .tc-heading { gap:12px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-heading h2 { font-size:18px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-modes { margin-left:auto; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-modes button { min-height:42px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-period-bar { padding:10px 0; background:white; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-period-nav { flex-basis:100%; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-period-nav strong { flex:1; text-align:center; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-period-nav button { height:40px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-date-controls { width:100%; justify-content:space-between; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-date-controls input,:is(#wdCalendar,#wdLawyerCalendar) .tc-filters select { font-size:16px; min-height:42px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-date-controls input { width:148px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-today { min-height:42px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-filters { flex-basis:100%; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-filters label { min-width:0; max-width:none; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-actions { width:100%; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-actions .wd-button { flex:1; min-height:42px; padding:8px; font-size:11px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-day { padding:8px; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event { grid-template-columns:1fr; }
  :is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .day .tc-event>* { grid-column:1; grid-row:auto; }
}
@media(prefers-reduced-motion:reduce) { :is(#wdCalendar,#wdLawyerCalendar) * { scroll-behavior:auto; } }

#wdLawyerCalendarCard { grid-column:1 / -1; width:100%; max-width:none; min-width:0; margin:0 0 20px; }
#wdLawyerCalendarCard .wd-lawyer-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
#wdLawyerCalendarCard .wd-lawyer-calendar-header h2{font-size:20px;margin:0}
#wdLawyerCalendarCard.is-collapsed .wd-lawyer-calendar-header{margin-bottom:0}
#wdLawyerCalendar[hidden]{display:none!important}
#wdLawyerCalendar .tc-heading h2{display:none}
#wdLawyerCalendar .tc-heading{justify-content:flex-end}
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-busy { --event-bg:#f3f5f8; --event-border:#d9e0e9; --event-color:#687b90; cursor:default; }
:is(#wdCalendar,#wdLawyerCalendar) .tc-calendar .tc-busy:hover { box-shadow:none; filter:none; }
/* Work schedules are all-day information, separate from task counts. */
.tc-schedules{display:grid;gap:5px;margin:0 0 7px;min-width:0}
.tc-schedule{display:grid;gap:2px;min-width:0;padding:7px 6px;border-radius:7px;border:1px solid #ded8ed;background:#f4f1fa;color:#514466;text-align:left;overflow-wrap:anywhere}
.tc-schedule strong{font-size:11px;line-height:1.35;font-weight:650;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-schedule span{font-size:11px;line-height:1.35}
.tc-schedule-work{background:#f0f7f3;border-color:#d7e6dc;color:#41624f}
.tc-calendar[data-calendar-mode="day"] .tc-schedules{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
