#main.annual-planning-page .annual-planning-page__search-toggle { display: none; }
#main.annual-planning-page .annual-planning-page__header-actions { align-items: center; display: flex; gap: .55rem; }
#main.annual-planning-page .annual-planning-page__create { align-items: center; display: inline-flex; gap: .4rem; white-space: nowrap; }
#main.annual-planning-page .annual-planning-page__options { align-items: center; display: inline-flex; height: 42px; justify-content: center; padding: 0; width: 42px; }
#main.annual-planning-page .annual-planning-page__options-menu { background: var(--ictus-white); color: var(--ictus-graphite); min-width: 265px; padding: .45rem; z-index: 1050; }
#main.annual-planning-page .annual-planning-page__options-menu .dropdown-header { color: var(--ictus-lead); font-size: .67rem; font-weight: 850; letter-spacing: .045em; padding: .45rem .7rem .35rem; text-transform: uppercase; }
#main.annual-planning-page .annual-planning-page__options-menu .dropdown-item { align-items: center; border-radius: 7px; color: var(--ictus-graphite); display: flex; font-size: .78rem; gap: .15rem; min-height: 40px; padding: .55rem .7rem; white-space: normal; width: 100%; }
#main.annual-planning-page .annual-planning-page__options-menu .dropdown-item i { color: var(--ictus-ocean); flex: 0 0 auto; }
#main.annual-planning-page .annual-planning-page__options-menu .dropdown-item:is(:hover, :focus) { background: var(--ictus-cyan-mist); color: var(--ictus-blue); }
body.theme-dark #main.annual-planning-page .annual-planning-page__options-menu { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); color: var(--ictus-screen); }
body.theme-dark #main.annual-planning-page .annual-planning-page__options-menu .dropdown-header { color: var(--ictus-dark-muted); }
body.theme-dark #main.annual-planning-page .annual-planning-page__options-menu .dropdown-item { color: var(--ictus-screen); }
body.theme-dark #main.annual-planning-page .annual-planning-page__options-menu .dropdown-item:is(:hover, :focus) { background: var(--ictus-dark-surface-hover); color: var(--ictus-cyan-light); }

.annual-planning-page__toolbar {
  align-items: center;
}

.annual-planning-page__filters {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.annual-planning-page__filter > .btn {
  align-items: center;
  display: inline-flex;
  gap: .5rem;
  min-height: 42px;
  white-space: nowrap;
}

.annual-planning-page__filter-menu {
  max-height: min(420px, 70vh);
  min-width: 245px;
  overflow-y: auto;
}

.annual-planning-page__category-option {
  align-items: center;
  display: flex;
  gap: .55rem;
}

.annual-planning-page__category-option > i {
  border-radius: 4px;
  display: inline-block;
  height: 12px;
  width: 12px;
}

.annual-planning-page__tab-icon {
  margin-right: .4rem;
}

.annual-planning-page__panel {
  min-height: 420px;
}

.planning-dashboard { background: var(--ictus-screen); padding: 1rem; }
.planning-dashboard__status { align-items: center; color: var(--ictus-ocean); display: flex; font-size: .76rem; font-weight: 750; gap: .55rem; justify-content: center; min-height: 420px; }
.planning-dashboard__status--error { color: var(--ictus-danger); flex-direction: column; }
.planning-dashboard__status--error > span { align-items: center; display: flex; gap: .45rem; }
.planning-dashboard__warning { align-items: center; display: flex; font-size: .68rem; gap: .5rem; margin-bottom: .8rem; }
.planning-dashboard__hero { align-items: center; background: linear-gradient(135deg, var(--ictus-blue), #13588c); border-radius: 12px; color: var(--ictus-white); display: flex; justify-content: space-between; margin-bottom: .85rem; min-height: 128px; overflow: hidden; padding: 1.15rem 1.35rem; position: relative; }
.planning-dashboard__hero::after { background: rgba(255, 255, 255, .07); border-radius: 999px; content: ''; height: 230px; position: absolute; right: -42px; top: -105px; width: 230px; }
.planning-dashboard__hero > div:first-child { max-width: 760px; min-width: 0; position: relative; z-index: 1; }
.planning-dashboard__hero > div:first-child > span { color: var(--ictus-cyan-light); font-size: .61rem; font-weight: 900; letter-spacing: .09em; }
.planning-dashboard__hero h4 { color: inherit; font-size: 1.2rem; font-weight: 850; margin: .2rem 0; }
.planning-dashboard__hero p { color: rgba(255, 255, 255, .78); font-size: .72rem; margin: 0; }
.planning-dashboard__hero-number { align-items: flex-end; display: flex; flex-direction: column; min-width: 150px; position: relative; z-index: 1; }
.planning-dashboard__hero-number strong { color: var(--ictus-white); font-size: 2.1rem; line-height: 1; }
.planning-dashboard__hero-number span { color: rgba(255, 255, 255, .75); font-size: .62rem; margin-top: .25rem; }
.planning-dashboard__kpis { display: grid; gap: .75rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: .85rem; }
.planning-dashboard-kpi { --dashboard-kpi-color: var(--ictus-blue); align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-top: 3px solid var(--dashboard-kpi-color); border-radius: 11px; display: flex; gap: .75rem; min-height: 100px; padding: .8rem; }
.planning-dashboard-kpi > i { align-items: center; background: color-mix(in srgb, var(--dashboard-kpi-color) 11%, transparent); border-radius: 10px; color: var(--dashboard-kpi-color); display: inline-flex; flex: 0 0 42px; font-size: 1rem; height: 42px; justify-content: center; width: 42px; }
.planning-dashboard-kpi > div { display: flex; flex-direction: column; min-width: 0; }
.planning-dashboard-kpi strong { color: var(--dashboard-kpi-color); font-size: 1.35rem; line-height: 1; }
.planning-dashboard-kpi span { color: var(--ictus-blue); font-size: .71rem; font-weight: 850; margin-top: .22rem; }
.planning-dashboard-kpi small { color: var(--ictus-lead); font-size: .58rem; line-height: 1.25; margin-top: .12rem; }
.planning-dashboard-kpi--green { --dashboard-kpi-color: #299D6A; }
.planning-dashboard-kpi--violet { --dashboard-kpi-color: #8B5CF6; }
.planning-dashboard-kpi--orange { --dashboard-kpi-color: #D97924; }
.planning-dashboard__grid { align-items: stretch; display: grid; gap: .85rem; margin-bottom: .85rem; }
.planning-dashboard__grid--charts { grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr); }
.planning-dashboard__grid--operations { grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); }
.planning-dashboard-card { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 12px; overflow: hidden; }
.planning-dashboard-card__header { align-items: center; border-bottom: 1px solid var(--ictus-border); display: flex; justify-content: space-between; min-height: 82px; padding: .8rem 1rem; }
.planning-dashboard-card__header > div { display: flex; flex-direction: column; min-width: 0; }
.planning-dashboard-card__header > div > span { color: var(--ictus-ocean); font-size: .57rem; font-weight: 900; letter-spacing: .08em; }
.planning-dashboard-card__header h5 { color: var(--ictus-blue); font-size: .92rem; font-weight: 850; margin: .1rem 0; }
.planning-dashboard-card__header p { color: var(--ictus-lead); font-size: .63rem; margin: 0; }
.planning-dashboard-card__header > i { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 10px; color: var(--ictus-ocean); display: inline-flex; flex: 0 0 42px; font-size: 1rem; height: 42px; justify-content: center; margin-left: .75rem; width: 42px; }
.planning-dashboard-card__header > strong { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 999px; color: var(--ictus-ocean); display: inline-flex; flex: 0 0 32px; font-size: .72rem; height: 32px; justify-content: center; margin-left: .75rem; min-width: 32px; padding: 0 .45rem; }
.planning-dashboard-calendar__bars { align-items: end; display: grid; gap: .4rem; grid-template-columns: repeat(12, minmax(24px, 1fr)); height: 252px; padding: 1rem 1rem .85rem; }
.planning-dashboard-calendar__bars button { align-items: center; align-self: stretch; background: transparent; border: 0; color: var(--ictus-lead); display: grid; gap: .35rem; grid-template-rows: 18px minmax(80px, 1fr) 18px; justify-items: center; min-width: 0; padding: 0; }
.planning-dashboard-calendar__bars button:hover, .planning-dashboard-calendar__bars button:focus-visible { color: var(--ictus-ocean); outline: none; }
.planning-dashboard-calendar__value { font-size: .58rem; font-weight: 800; }
.planning-dashboard-calendar__track { align-items: flex-end; background: var(--ictus-screen); border-radius: 6px 6px 3px 3px; display: flex; height: 100%; overflow: hidden; width: min(26px, 80%); }
.planning-dashboard-calendar__track i { background: linear-gradient(180deg, var(--ictus-cyan), var(--ictus-ocean)); border-radius: inherit; display: block; min-height: 3px; transition: height .2s ease; width: 100%; }
.planning-dashboard-calendar__bars strong { font-size: .57rem; }
.planning-dashboard-categories__list { display: flex; flex-direction: column; padding: .6rem 1rem .85rem; }
.planning-dashboard-categories__list button { background: transparent; border: 0; border-bottom: 1px solid var(--ictus-border); display: flex; flex-direction: column; gap: .42rem; padding: .62rem 0; text-align: left; width: 100%; }
.planning-dashboard-categories__list button:last-child { border-bottom: 0; }
.planning-dashboard-categories__list button:hover:not(:disabled), .planning-dashboard-categories__list button:focus-visible:not(:disabled) { color: var(--ictus-ocean); outline: none; }
.planning-dashboard-categories__label { align-items: center; color: var(--ictus-blue); display: grid; font-size: .67rem; gap: .45rem; grid-template-columns: 8px minmax(0, 1fr) auto; width: 100%; }
.planning-dashboard-categories__label > i { border-radius: 999px; height: 8px; width: 8px; }
.planning-dashboard-categories__label strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-dashboard-categories__label b { font-size: .7rem; }
.planning-dashboard-categories__track { background: var(--ictus-screen); border-radius: 999px; height: 5px; overflow: hidden; width: 100%; }
.planning-dashboard-categories__track i { border-radius: inherit; display: block; height: 100%; }
.planning-dashboard-upcoming__list, .planning-dashboard-attention__list { align-items: stretch; display: flex; flex-direction: column; inline-size: 100%; width: 100%; }
.planning-dashboard-upcoming__list > button { align-items: center; align-self: stretch; background: transparent; border: 0; border-bottom: 1px solid var(--ictus-border); box-sizing: border-box; color: inherit; display: grid; gap: .75rem; grid-template-columns: minmax(112px, .42fr) minmax(0, 1.6fr) minmax(80px, .42fr) 16px; inline-size: 100%; justify-content: stretch; justify-items: stretch; margin: 0; max-width: none; min-height: 76px; padding: .65rem 1rem; text-align: left; width: 100%; }
.planning-dashboard-upcoming__list > button:last-child { border-bottom: 0; }
.planning-dashboard-upcoming__list > button:hover, .planning-dashboard-upcoming__list > button:focus-visible, .planning-dashboard-attention__list > button:hover, .planning-dashboard-attention__list > button:focus-visible { background: var(--ictus-screen); outline: none; }
.planning-dashboard-upcoming__date, .planning-dashboard-upcoming__content > span, .planning-dashboard-attention__date, .planning-dashboard-attention__event > span { display: flex; flex-direction: column; min-width: 0; }
.planning-dashboard-upcoming__date strong, .planning-dashboard-attention__date strong { color: var(--ictus-blue); font-size: .66rem; }
.planning-dashboard-upcoming__date small, .planning-dashboard-upcoming__content small, .planning-dashboard-attention__date small, .planning-dashboard-attention__event small { color: var(--ictus-lead); font-size: .59rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-dashboard-upcoming__content, .planning-dashboard-attention__event { align-items: center; display: flex; gap: .55rem; min-width: 0; }
.planning-dashboard-upcoming__date, .planning-dashboard-upcoming__content { justify-self: stretch; width: 100%; }
.planning-dashboard-upcoming__type, .planning-dashboard-upcoming__list > button > i:last-child { justify-self: end; }
.planning-dashboard-upcoming__content > i, .planning-dashboard-attention__event > i { border-radius: 999px; flex: 0 0 5px; height: 34px; }
.planning-dashboard-upcoming__content strong, .planning-dashboard-attention__event strong { color: var(--ictus-blue); font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-dashboard-upcoming__type { background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 999px; color: var(--ictus-lead); font-size: .57rem; font-weight: 800; padding: .3rem .5rem; white-space: nowrap; }
.planning-dashboard-progress__list { align-items: stretch; display: flex; flex-direction: column; inline-size: 100%; padding: .45rem 0 .75rem; width: 100%; }
.planning-dashboard-progress__list > button { align-items: center; align-self: stretch; background: transparent; border: 0; border-bottom: 1px solid var(--ictus-border); box-sizing: border-box; color: inherit; display: grid; gap: .75rem; grid-template-columns: 42px minmax(0, 1fr) 16px; inline-size: 100%; justify-content: stretch; justify-items: stretch; margin: 0; max-width: none; min-height: 76px; padding: .6rem 1rem; text-align: left; width: 100%; }
.planning-dashboard-progress__list > button:last-child { border-bottom: 0; }
.planning-dashboard-progress__list > button:hover, .planning-dashboard-progress__list > button:focus-visible { color: var(--ictus-ocean); outline: none; }
.planning-dashboard-progress__icon { align-items: center; background: color-mix(in srgb, var(--dashboard-progress-color) 11%, transparent); border-radius: 9px; color: var(--dashboard-progress-color); display: inline-flex; height: 38px; justify-content: center; width: 38px; }
.planning-dashboard-progress__content { display: flex; flex-direction: column; gap: .28rem; justify-self: stretch; min-width: 0; width: 100%; }
.planning-dashboard-progress__list > button > i:last-child { justify-self: end; }
.planning-dashboard-progress__content > span { align-items: center; display: flex; gap: .5rem; justify-content: space-between; }
.planning-dashboard-progress__content strong { color: var(--ictus-blue); font-size: .66rem; }
.planning-dashboard-progress__content b { color: var(--ictus-blue); font-size: .65rem; }
.planning-dashboard-progress__content > i { background: var(--ictus-border); border-radius: 999px; display: block; height: 5px; overflow: hidden; }
.planning-dashboard-progress__content > i > b { border-radius: inherit; display: block; height: 100%; }
.planning-dashboard-progress__content small { color: var(--ictus-lead); font-size: .56rem; }
.planning-dashboard-attention { margin-bottom: 0; }
.planning-dashboard-attention__list > button { align-items: center; align-self: stretch; background: transparent; border: 0; border-bottom: 1px solid var(--ictus-border); box-sizing: border-box; color: inherit; display: grid; gap: .8rem; grid-template-columns: minmax(118px, .45fr) minmax(240px, 1.45fr) minmax(220px, .85fr) 16px; inline-size: 100%; justify-content: stretch; justify-items: stretch; margin: 0; max-width: none; min-height: 78px; padding: .65rem 1rem; text-align: left; width: 100%; }
.planning-dashboard-attention__date, .planning-dashboard-attention__event { justify-self: stretch; width: 100%; }
.planning-dashboard-attention__list > button > i:last-child { justify-self: end; }
.planning-dashboard-attention__list > button:last-child { border-bottom: 0; }
.planning-dashboard-attention__reasons { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: flex-end; }
.planning-dashboard-attention__reasons em { background: #fff3dc; border-radius: 999px; color: #9b6500; font-size: .57rem; font-style: normal; font-weight: 800; padding: .34rem .52rem; white-space: nowrap; }
.planning-dashboard-empty { align-items: center; color: var(--ictus-lead); display: flex; flex-direction: column; justify-content: center; min-height: 190px; padding: 1.5rem; text-align: center; }
.planning-dashboard-empty > i { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 999px; color: var(--ictus-ocean); display: inline-flex; font-size: 1.2rem; height: 46px; justify-content: center; margin-bottom: .5rem; width: 46px; }
.planning-dashboard-empty strong { color: var(--ictus-blue); font-size: .78rem; }
.planning-dashboard-empty span { font-size: .63rem; margin-top: .12rem; }
.planning-dashboard-empty--success > i { background: rgba(41, 157, 106, .1); color: #299D6A; }

.planning-pre-overview { background: var(--ictus-screen); display: block; padding: 1rem; }
.planning-pre-overview__status { align-items: center; color: var(--ictus-ocean); display: flex; font-size: .76rem; font-weight: 750; gap: .55rem; justify-content: center; min-height: 360px; }
.planning-pre-overview__status--error { color: var(--ictus-danger); flex-direction: column; }
.planning-pre-overview__status--error > span { align-items: center; display: flex; gap: .45rem; }
.planning-pre-overview__hero { align-items: center; background: linear-gradient(135deg, var(--ictus-blue), var(--ictus-ocean)); border-radius: 12px; color: var(--ictus-white); display: flex; justify-content: space-between; margin-bottom: 1rem; min-height: 118px; overflow: hidden; padding: 1.15rem 1.35rem; position: relative; }
.planning-pre-overview__hero::after { background: rgba(255, 255, 255, .07); border-radius: 999px; content: ''; height: 190px; position: absolute; right: -45px; top: -75px; width: 190px; }
.planning-pre-overview__hero > div { max-width: 720px; position: relative; z-index: 1; }
.planning-pre-overview__hero span { color: var(--ictus-cyan-light); font-size: .61rem; font-weight: 900; letter-spacing: .09em; }
.planning-pre-overview__hero h4 { color: inherit; font-size: 1.18rem; font-weight: 850; margin: .2rem 0; }
.planning-pre-overview__hero p { color: rgba(255, 255, 255, .72); font-size: .72rem; margin: 0; }
.planning-pre-overview__hero > i { align-items: center; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; display: inline-flex; flex: 0 0 58px; font-size: 1.45rem; height: 58px; justify-content: center; position: relative; width: 58px; z-index: 1; }
.planning-pre-overview__metrics { display: grid; gap: .75rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 1rem; }
.planning-pre-metric { --planning-metric-color: var(--ictus-blue); align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-top: 3px solid var(--planning-metric-color); border-radius: 10px; display: flex; gap: .8rem; min-height: 100px; padding: .85rem; }
.planning-pre-metric > i { align-items: center; background: color-mix(in srgb, var(--planning-metric-color) 10%, transparent); border-radius: 10px; color: var(--planning-metric-color); display: inline-flex; flex: 0 0 40px; font-size: 1rem; height: 40px; justify-content: center; width: 40px; }
.planning-pre-metric > div { display: grid; min-width: 0; }
.planning-pre-metric strong { color: var(--planning-metric-color); font-size: 1.35rem; line-height: 1; }
.planning-pre-metric span { color: var(--ictus-blue); font-size: .72rem; font-weight: 800; margin-top: .25rem; }
.planning-pre-metric small { color: var(--ictus-lead); font-size: .61rem; }
.planning-pre-metric--cyan { --planning-metric-color: var(--ictus-ocean); }
.planning-pre-metric--green { --planning-metric-color: #299D6A; }
.planning-pre-metric--orange { --planning-metric-color: #D97924; }
.planning-pre-overview__layout { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.planning-pre-section { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 11px; overflow: hidden; }
.planning-pre-section--configured { margin-top: 1rem; }
.planning-pre-section__header { align-items: center; border-bottom: 1px solid var(--ictus-border); display: flex; justify-content: space-between; min-height: 78px; padding: .8rem 1rem; }
.planning-pre-section__header > div { display: flex; flex-direction: column; min-width: 0; }
.planning-pre-section__header span { color: var(--ictus-ocean); font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.planning-pre-section__header h5 { color: var(--ictus-blue); font-size: .92rem; font-weight: 850; margin: .12rem 0; }
.planning-pre-section__header p { color: var(--ictus-lead); font-size: .65rem; margin: 0; }
.planning-pre-section__header > strong { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 999px; color: var(--ictus-ocean); display: inline-flex; flex: 0 0 30px; font-size: .72rem; height: 30px; justify-content: center; margin-left: .75rem; min-width: 30px; padding: 0 .45rem; }
.planning-pre-section--attention .planning-pre-section__header > strong { background: #fff3dc; color: #9b6500; }
.planning-pre-list { display: flex; flex-direction: column; }
.planning-pre-row { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--ictus-border); color: inherit; display: grid; gap: .8rem; grid-template-columns: 128px minmax(0, 1fr) auto 16px; min-height: 74px; padding: .65rem 1rem; text-align: left; transition: background-color .15s ease; width: 100%; }
.planning-pre-row:last-child { border-bottom: 0; }
.planning-pre-row:hover, .planning-pre-row:focus-visible, .planning-pre-configured__row:hover, .planning-pre-configured__row:focus-visible { background: var(--ictus-screen); outline: none; }
.planning-pre-row__date, .planning-pre-row__content { display: flex; flex-direction: column; min-width: 0; }
.planning-pre-row__date strong { color: var(--ictus-blue); font-size: .68rem; text-transform: capitalize; }
.planning-pre-row__date small, .planning-pre-row__content small { color: var(--ictus-lead); font-size: .62rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-pre-row__content strong { color: var(--ictus-blue); font-size: .75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-pre-row__tag, .planning-pre-row__action { background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 999px; color: var(--ictus-ocean); font-size: .6rem; font-weight: 800; padding: .35rem .55rem; white-space: nowrap; }
.planning-pre-row__action { background: #fff3dc; color: #9b6500; }
.planning-pre-row > i { color: var(--ictus-lead); }
.planning-pre-empty { align-items: center; color: var(--ictus-lead); display: flex; flex-direction: column; justify-content: center; min-height: 190px; padding: 1.5rem; text-align: center; }
.planning-pre-empty > i { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 999px; color: var(--ictus-ocean); display: inline-flex; font-size: 1.25rem; height: 48px; justify-content: center; margin-bottom: .55rem; width: 48px; }
.planning-pre-empty strong { color: var(--ictus-blue); font-size: .8rem; }
.planning-pre-empty span { font-size: .66rem; margin-top: .15rem; }
.planning-pre-empty--success > i { background: rgba(41, 157, 106, .1); color: #299D6A; }
.planning-pre-configured { display: flex; flex-direction: column; }
.planning-pre-configured__row { align-items: center; align-self: stretch; background: transparent; border: 0; border-bottom: 1px solid var(--ictus-border); box-sizing: border-box; color: inherit; display: grid; gap: .85rem; grid-template-columns: 5px minmax(260px, 1fr) fit-content(620px) minmax(72px, auto) 20px; inline-size: 100%; justify-content: stretch; margin: 0; max-width: none; min-height: 84px; padding: .75rem 1rem; text-align: left; width: 100%; }
.planning-pre-configured__row:last-child { border-bottom: 0; }
.planning-pre-configured__color { border-radius: 999px; height: 38px; width: 5px; }
.planning-pre-configured__event, .planning-pre-configured__count { display: flex; flex-direction: column; min-width: 0; }
.planning-pre-configured__event { justify-self: stretch; width: 100%; }
.planning-pre-configured__event strong { color: var(--ictus-blue); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-pre-configured__event small { color: var(--ictus-lead); font-size: .62rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-pre-configured__meetings { align-items: center; display: flex; gap: .35rem; justify-self: end; min-width: 0; overflow: visible; }
.planning-pre-configured__meetings em { background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 7px; color: var(--ictus-blue); display: flex; flex: 0 0 auto; flex-direction: column; font-size: .58rem; font-style: normal; font-weight: 800; min-width: 138px; padding: .3rem .42rem; white-space: nowrap; }
.planning-pre-configured__meetings em small { color: var(--ictus-lead); font-size: .54rem; font-weight: 650; }
.planning-pre-configured__meetings b { color: var(--ictus-ocean); font-size: .62rem; }
.planning-pre-configured__count { align-items: flex-end; color: var(--ictus-lead); justify-self: end; min-width: 0; }
.planning-pre-configured__count strong { color: var(--ictus-blue); font-size: .9rem; }
.planning-pre-configured__count small { font-size: .58rem; }
.planning-pre-configured__row > i:last-child { color: var(--ictus-lead); justify-self: end; }

.annual-calendar { border: 1px solid var(--ictus-border); border-radius: 10px; box-shadow: 0 4px 14px rgba(var(--ictus-midnight-rgb), .05); overflow: hidden; }
.annual-calendar__header { align-items: center; background: var(--ictus-blue); color: var(--ictus-white); display: flex; justify-content: space-between; min-height: 66px; padding: .7rem 1rem; }
.annual-calendar__navigation { align-items: center; display: flex; gap: .7rem; }
.annual-calendar__nav-button { align-items: center; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; color: inherit; display: inline-flex; flex: 0 0 34px; height: 34px; justify-content: center; padding: 0; transition: background-color .15s ease, transform .15s ease; width: 34px; }
.annual-calendar__nav-button:hover, .annual-calendar__nav-button:focus-visible { background: rgba(255, 255, 255, .24); color: inherit; outline: none; transform: translateY(-1px); }
.annual-calendar__nav-button:disabled, .annual-calendar__today:disabled { cursor: wait; opacity: .82; transform: none; }
.annual-calendar__nav-button .spinner-border { height: .82rem; width: .82rem; }
.annual-calendar__title { min-width: 160px; text-align: center; }
.annual-calendar__title > span { color: var(--ictus-cyan-light); display: block; font-size: .61rem; font-weight: 900; letter-spacing: .09em; line-height: 1; }
.annual-calendar__title h4 { color: inherit; display: inline-block; font-size: 1.05rem; font-weight: 850; margin: .25rem 0 0; position: relative; text-transform: capitalize; }
.annual-calendar__title-loading { align-items: center; display: inline-flex; left: calc(100% + .45rem); position: absolute; top: 50%; transform: translateY(-50%); }
.annual-calendar__title-loading .spinner-border { height: .78rem; width: .78rem; }
.annual-calendar__header-actions { align-items: center; display: flex; gap: .5rem; }
.annual-calendar__header { flex-wrap: wrap; gap: 12px; }
.annual-calendar__view-switch { display: inline-flex; padding: 3px; gap: 3px; border: 1px solid rgba(255,255,255,.22); border-radius: 9px; }
.annual-calendar .annual-calendar__view-switch > button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 6px; padding: 7px 10px; min-height: 32px; color: #e3f4fa; background: transparent; font-size: .76rem; font-weight: 600; }
.annual-calendar .annual-calendar__view-switch > button.is-active { color: var(--ictus-blue); background: var(--ictus-cyan-light); }
.annual-calendar .annual-calendar__view-switch > button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.annual-calendar .annual-calendar__print { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 7px; min-height: 38px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.38); border-radius: 4px; background: rgba(255,255,255,.08); color: inherit; font-size: .78rem; font-weight: 600; }
.annual-calendar__print > .bi { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; font-size: 16px; line-height: 1; }
.annual-calendar .annual-calendar__print:hover:not(:disabled) { background: rgba(255,255,255,.18); }
.annual-calendar .annual-calendar__print:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.annual-calendar__print:disabled { opacity: .55; cursor: wait; }
.annual-running { --running-muted: var(--ictus-lead); padding: 24px; min-width: 0; background: var(--ictus-screen); }
.annual-running__overview { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.annual-running__overview > div > span { color: var(--ictus-ocean); font-size: .68rem; letter-spacing: .1em; font-weight: 800; }
.annual-running__overview h5 { margin: 5px 0 7px; color: var(--ictus-blue); font-size: 1.25rem; }
.annual-running__overview p { margin: 0; color: var(--running-muted); font-size: .83rem; }
.annual-running__metrics { display: flex; gap: 20px; flex-shrink: 0; }
.annual-running__metrics > span { display: flex; flex-direction: column; gap: 2px; color: var(--running-muted); font-size: .72rem; }
.annual-running__metrics strong { color: var(--ictus-blue); font-size: 1.55rem; line-height: 1.15; }
.annual-running__months { display: flex; flex-wrap: wrap; gap: 7px; }
.annual-running .annual-running__months > button { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; flex: 1 0 66px; min-height: 40px; padding: 7px 10px; border: 1px solid var(--ictus-border); border-radius: 8px; background: var(--ictus-white); color: var(--ictus-blue); font-size: .7rem; font-weight: 700; }
.annual-running__months small { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; border-radius: 6px; color: var(--ictus-ocean); background: rgba(var(--ictus-cyan-rgb),.12); font-size: .65rem; }
.annual-running__hint { display: flex; gap: 7px; margin: 12px 0 22px; color: var(--running-muted); font-size: .72rem; line-height: 1.5; }
.annual-running__month { scroll-margin-top: 145px; margin-bottom: 24px; border: 1px solid var(--ictus-border); border-radius: 12px; background: var(--ictus-white); overflow: hidden; }
.annual-running__month:last-child { margin-bottom: 0; }
.annual-running__month > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--ictus-border); background: linear-gradient(110deg, rgba(var(--ictus-cyan-rgb),.1), transparent); }
.annual-running__month > header > div { display: flex; align-items: center; gap: 11px; }
.annual-running__month > header > div > span { display: inline-flex; align-items: center; justify-content: center; width: 35px; height: 35px; flex: 0 0 35px; border-radius: 9px; background: var(--ictus-blue); color: var(--ictus-white); font-size: .8rem; font-weight: 700; }
.annual-running__month h5 { display: flex; align-items: baseline; gap: 8px; margin: 0; color: var(--ictus-blue); font-size: 1.05rem; }
.annual-running__month h5 small { color: var(--running-muted); font-size: .75rem; font-weight: 400; }
.annual-running__count { padding: 5px 10px; border-radius: 20px; border: 1px solid var(--ictus-border); background: var(--ictus-white); color: var(--running-muted); font-size: .7rem; white-space: nowrap; }
.annual-running__table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .76rem; color: var(--ictus-graphite); }
.annual-running__table th { text-align: left; padding: 10px 14px; font-size: .64rem; letter-spacing: .045em; text-transform: uppercase; color: var(--running-muted); background: var(--ictus-screen); }
.annual-running__table td { padding: 16px 14px; vertical-align: top; border-top: 1px solid var(--ictus-border); overflow-wrap: anywhere; line-height: 1.5; }
.annual-running__table th:nth-child(1) { width: 26%; }
.annual-running__table th:nth-child(2) { width: 13%; }
.annual-running__table th:nth-child(3) { width: 10%; }
.annual-running__table th:nth-child(4) { width: 14%; }
.annual-running__table th:nth-child(5) { width: 12%; }
.annual-running__table th:nth-child(6) { width: 25%; }
.annual-running__activity { position: relative; }
.annual-running__activity > i { position: absolute; top: 20px; left: 0; width: 4px; height: 27px; border-radius: 0 3px 3px 0; }
.annual-running .annual-running__activity button { display: inline; padding: 0; border: 0; background: transparent; color: var(--ictus-blue); text-align: left; font-size: .82rem; font-weight: 700; line-height: 1.45; }
.annual-running__activity button > i { margin-left: 5px; color: var(--ictus-ocean); font-size: .65rem; }
.annual-running__activity small { display: block; margin-top: 5px; color: var(--running-muted); font-size: .68rem; }
.annual-running__activity em { display: inline-block; margin-top: 6px; color: var(--ictus-ocean); font-size: .64rem; font-style: normal; }
.annual-running__period, .annual-running__time { font-variant-numeric: tabular-nums; }
.annual-running__notes { white-space: pre-line; }
.annual-running__notes.is-empty { color: var(--running-muted); font-style: italic; font-size: .7rem; }
.annual-running__empty { display: flex; align-items: center; gap: 10px; padding: 18px; color: var(--running-muted); font-size: .78rem; }
.annual-running__empty > i { font-size: 1.05rem; color: var(--ictus-ocean); }
body.annual-planning-calendar-focus .annual-running { flex: 1 1 auto; min-height: 0; overflow: auto; }
body.annual-planning-calendar-focus .annual-running__month { scroll-margin-top: 12px; }
body.theme-dark .annual-running { --running-muted: var(--ictus-dark-muted); --ictus-ocean: var(--ictus-cyan-light); --ictus-border: rgba(157,180,203,.24); background: var(--ictus-midnight); }
body.theme-dark .annual-running__month, body.theme-dark .annual-running .annual-running__months > button, body.theme-dark .annual-running__count { background: var(--ictus-dark-surface); }
body.theme-dark .annual-running__overview h5, body.theme-dark .annual-running__metrics strong, body.theme-dark .annual-running__month h5, body.theme-dark .annual-running .annual-running__activity button, body.theme-dark .annual-running .annual-running__months > button { color: var(--ictus-screen); }
body.theme-dark .annual-running__table { color: #d9e4ef; }
body.theme-dark .annual-running__table th { background: var(--ictus-midnight); }
.planning-print { display: none; }
@media (max-width: 767.98px) {
  .annual-calendar__header-actions { flex-wrap: wrap; justify-content: flex-end; }
  .annual-calendar__header-actions .annual-calendar__print { width: 34px; height: 34px; min-height: 34px; padding: 0; justify-content: center; }
  .annual-calendar__print > span { display: none; }
  .annual-calendar .annual-calendar__view-switch > button { padding: 6px 8px; font-size: .7rem; }
  .annual-running { padding: 14px 10px; }
  .annual-running__overview { align-items: flex-start; flex-direction: column; gap: 16px; }
  .annual-running__overview h5 { font-size: 1.1rem; }
  .annual-running__metrics { gap: 28px; }
  .annual-running .annual-running__months > button { flex-basis: calc(25% - 7px); min-width: 0; }
  .annual-running__month > header { padding: 13px 12px; }
  .annual-running__month h5 { flex-direction: column; gap: 2px; }
  .annual-running__month h5 small { font-size: .66rem; }
  .annual-running__table, .annual-running__table tbody { display: block; }
  .annual-running__table thead { display: none; }
  .annual-running__table tr { display: grid; grid-template-columns: 1fr 1fr; padding: 14px; gap: 12px; border-bottom: 1px solid var(--ictus-border); }
  .annual-running__table tr:last-child { border-bottom: 0; }
  .annual-running__table td { display: block; padding: 0; border: 0; font-size: .78rem; }
  .annual-running__table td::before { content: attr(data-label); display: block; color: var(--running-muted); text-transform: uppercase; font-size: .6rem; letter-spacing: .05em; margin-bottom: 3px; }
  .annual-running__table td.annual-running__activity, .annual-running__table td.annual-running__notes { grid-column: 1 / -1; }
  .annual-running__table td.annual-running__activity { padding-left: 11px; }
  .annual-running__activity > i { top: 3px; height: calc(100% - 6px); border-radius: 3px; }
  .annual-running__table td.annual-running__activity::before { display: none; }
}
@page planning-calendar { size: A4 landscape; margin: 10mm; }
@media print {
  body.annual-planning-print { margin: 0 !important; padding: 0 !important; background: white !important; color: #172c46 !important; overflow: visible !important; }
  body.annual-planning-print #app > :not(.planning-print), body.annual-planning-print .modal, body.annual-planning-print .modal-backdrop { display: none !important; }
  body.annual-planning-print .planning-print { display: block !important; page: planning-calendar; padding: 0; margin: 0; background: white; color: #172c46; font: 9pt/1.4 Arial, sans-serif; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .planning-print__header { display: flex; justify-content: space-between; gap: 20px; border-bottom: 2px solid #002a5c; padding-bottom: 8px; margin-bottom: 12px; }
  .planning-print__header span { letter-spacing: .1em; font-size: 7pt; color: #087e9c; font-weight: bold; }
  .planning-print__header h1 { color: #002a5c; font-size: 17pt; margin: 3px 0; }
  .planning-print__header p { margin: 2px 0; font-size: 8pt; }
  .planning-print__header aside { text-align: right; flex-shrink: 0; }
  .planning-print__header aside small { font-size: 7pt; color: #526079; }
  .planning-print table { width: 100%; table-layout: fixed; border-collapse: collapse; }
  .planning-print th { text-align: left; background: #edf5f9; padding: 6px; font-size: 7pt; color: #002a5c; }
  .planning-print td { padding: 6px; border: 1px solid #d6dfe8; vertical-align: top; overflow-wrap: anywhere; }
  .planning-print thead { display: table-header-group; }
  .planning-print tr { break-inside: avoid; }
  .planning-print__calendar td { height: 22mm; font-size: 7pt; }
  .planning-print__calendar th { text-align: center; width: 14.285%; }
  .planning-print__calendar td.is-outside { color: #66758a; background: #f7f8fa; }
  .planning-print__holiday { display: block; font-size: 6pt; }
  .planning-print__event { border-left: 2px solid #087e9c; padding-left: 4px; margin-top: 4px; }
  .planning-print__month { margin: 0 0 14px; }
  .planning-print__month h2 { display: flex; justify-content: space-between; font-size: 12pt; color: #002a5c; margin: 0; padding: 7px; background: #edf5f9; break-after: avoid; }
  .planning-print__month h2 small { font-size: 8pt; font-weight: normal; }
  .planning-print__agenda { font-size: 8pt; }
  .planning-print__agenda th:nth-child(1) { width: 26%; }
  .planning-print__agenda th:nth-child(2) { width: 15%; }
  .planning-print__agenda th:nth-child(3) { width: 16%; }
  .planning-print__agenda th:nth-child(4) { width: 11%; }
  .planning-print__agenda th:nth-child(5) { width: 32%; }
  .planning-print__agenda small { display: block; font-size: 7pt; color: #526079; }
  .planning-print__notes { white-space: pre-line; }
}
.annual-calendar__today { align-items: center; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .38); color: inherit; display: inline-flex; gap: .45rem; }
.annual-calendar__today .spinner-border { height: .78rem; width: .78rem; }
.annual-calendar__focus { align-items: center; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .38); color: inherit; display: inline-flex; flex: 0 0 38px; height: 38px; justify-content: center; padding: 0; width: 38px; }
.annual-calendar__today:hover, .annual-calendar__today:focus-visible, .annual-calendar__focus:hover, .annual-calendar__focus:focus-visible { background: var(--ictus-white); border-color: var(--ictus-white); color: var(--ictus-blue); }
.annual-calendar__weekdays, .annual-calendar__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.annual-calendar__weekdays { background: var(--ictus-ocean); color: var(--ictus-white); }
.annual-calendar__weekdays > div { border-right: 1px solid rgba(255, 255, 255, .16); font-size: .65rem; font-weight: 850; letter-spacing: .035em; padding: .48rem .25rem; text-align: center; text-transform: uppercase; }
.annual-calendar__weekdays > div:last-child { border-right: 0; }
.annual-calendar__weekday-short { display: none; }
.annual-calendar__day { background: var(--ictus-white); border-bottom: 1px solid var(--ictus-border); border-right: 1px solid var(--ictus-border); min-height: 122px; min-width: 0; padding: .4rem; position: relative; transition: background-color .15s ease, box-shadow .15s ease; }
.annual-calendar__day:nth-child(7n) { border-right: 0; }
.annual-calendar__day:nth-last-child(-n + 7) { border-bottom: 0; }
.annual-calendar__day:hover { background: #fafdff; box-shadow: inset 0 0 0 1px var(--ictus-cyan-light); }
.annual-calendar__day.is-outside { background: var(--ictus-screen); }
.annual-calendar__day.is-outside .annual-calendar__day-number { color: #9aa7b7; }
.annual-calendar__day.is-weekend:not(.is-outside) { background: #fbfcfe; }
.annual-calendar__day.is-today { background: rgba(var(--ictus-cyan-rgb), .065); }
.annual-calendar__day.is-selected { box-shadow: inset 0 0 0 2px var(--ictus-cyan); z-index: 1; }
.annual-calendar__day-button { align-items: center; background: transparent; border: 0; color: var(--ictus-lead); display: flex; justify-content: flex-end; margin: 0 0 .3rem auto; min-width: 0; padding: 0; width: 100%; }
.annual-calendar__day-button:focus-visible { outline: 2px solid var(--ictus-cyan); outline-offset: 2px; }
.annual-calendar__holiday { align-items: center; color: #B42318; display: inline-flex; font-size: .54rem; font-weight: 800; gap: .22rem; margin-right: auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.annual-calendar__holiday i { flex: 0 0 auto; font-size: .62rem; }
.annual-calendar__day-add { color: var(--ictus-ocean); font-size: .8rem; margin-right: .15rem; opacity: 0; transform: scale(.8); transition: opacity .15s ease, transform .15s ease; }
.annual-calendar__day:hover .annual-calendar__day-add, .annual-calendar__day-button:focus-visible .annual-calendar__day-add { opacity: 1; transform: scale(1); }
.annual-calendar__day-number { align-items: center; border-radius: 999px; display: inline-flex; font-size: .73rem; font-weight: 850; height: 25px; justify-content: center; width: 25px; }
.annual-calendar__day.is-holiday:not(.is-today) .annual-calendar__day-number { color: #B42318; }
.annual-calendar__day.is-today .annual-calendar__day-number { background: var(--ictus-blue); color: var(--ictus-white); }
.annual-calendar__day-weekday { display: none; }
.annual-calendar__events { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.annual-calendar__event { align-items: center; border: 0; border-left: 3px solid var(--ictus-cyan); border-radius: 4px; color: var(--ictus-graphite); display: grid; font-size: .64rem; font-weight: 750; gap: 4px; grid-template-columns: 5px minmax(0, 1fr) auto; line-height: 1.25; min-width: 0; padding: 4px 5px; position: relative; text-align: left; width: 100%; }
.annual-calendar__event.is-draggable { cursor: grab; }
.annual-calendar__event.is-draggable:active { cursor: grabbing; }
.annual-calendar__event.is-dragging { filter: saturate(.65); opacity: .38; transform: scale(.97); }
.annual-calendar__event.is-ordering { opacity: .55; pointer-events: none; }
.annual-calendar__grid.is-dragging-event .annual-calendar__day { transition: background-color .12s ease, box-shadow .12s ease, transform .12s ease; }
.annual-calendar__grid.is-dragging-event .annual-calendar__day.is-drop-target { background: rgba(var(--ictus-cyan-rgb), .14); box-shadow: inset 0 0 0 3px var(--ictus-cyan); transform: translateY(-1px); z-index: 2; }
.annual-calendar__event.is-drop-before::before, .annual-calendar__event.is-drop-after::after { background: var(--ictus-navy); border-radius: 999px; content: ''; height: 3px; left: -2px; pointer-events: none; position: absolute; right: -2px; z-index: 3; }
.annual-calendar__event.is-drop-before::before { top: -3px; }
.annual-calendar__event.is-drop-after::after { bottom: -3px; }
.annual-calendar__event:hover, .annual-calendar__event:focus-visible { filter: brightness(.96); outline: 1px solid var(--ictus-cyan); }
.annual-calendar__event > i { background: var(--ictus-cyan); border-radius: 999px; height: 5px; width: 5px; }
.annual-calendar__event > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.annual-calendar__event > small { color: var(--ictus-lead); font-size: .57rem; font-weight: 700; }
.annual-calendar__status { align-items: center; border-bottom: 1px solid var(--ictus-border); display: flex; font-size: .76rem; font-weight: 700; gap: .55rem; justify-content: center; min-height: 42px; padding: .45rem .75rem; }
.annual-calendar__status--error { color: var(--ictus-danger); justify-content: space-between; }
.annual-calendar__status--error > span { align-items: center; display: flex; gap: .45rem; }
.annual-calendar__more { background: transparent; border: 0; color: var(--ictus-ocean); font-size: .61rem; font-weight: 800; padding: 2px 4px; text-align: left; }
.annual-calendar__footer { background: var(--ictus-blue); color: var(--ictus-white); }
.annual-calendar__months { display: grid; grid-template-columns: repeat(12, minmax(46px, 1fr)); overflow-x: auto; scrollbar-width: none; }
.annual-calendar__months::-webkit-scrollbar { display: none; }
.annual-calendar__months button { align-items: center; background: transparent; border: 0; border-right: 1px solid rgba(255, 255, 255, .08); border-top: 3px solid transparent; color: rgba(255, 255, 255, .58); display: inline-flex; font-size: .61rem; font-weight: 850; justify-content: center; min-height: 38px; padding: .35rem .2rem; }
.annual-calendar__months button:hover, .annual-calendar__months button:focus-visible { background: rgba(255, 255, 255, .08); color: var(--ictus-white); outline: none; }
.annual-calendar__months button.is-active { background: rgba(255, 255, 255, .12); border-top-color: var(--ictus-cyan-light); color: var(--ictus-white); }
.annual-calendar__months button:disabled { cursor: wait; opacity: .78; }
.annual-calendar__months button.is-loading { background: rgba(255, 255, 255, .16); color: var(--ictus-white); opacity: 1; }
.annual-calendar__months .spinner-border { height: .72rem; width: .72rem; }
.annual-calendar__empty, .annual-calendar__summary { align-items: center; border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .7); display: flex; font-size: .68rem; gap: .4rem; justify-content: center; margin: 0; min-height: 32px; padding: .35rem .75rem; }

body.annual-planning-calendar-focus { overflow: hidden; }
body.annual-planning-calendar-focus .annual-calendar { background: var(--ictus-white); border: 0; border-radius: 0; bottom: 0; box-shadow: none; display: flex; flex-direction: column; height: 100vh; height: 100dvh; left: 0; position: fixed; right: 0; top: 0; width: 100vw; z-index: 1040; }
body.annual-planning-calendar-focus .annual-calendar__header, body.annual-planning-calendar-focus .annual-calendar__footer, body.annual-planning-calendar-focus .annual-calendar__status { flex: 0 0 auto; }
body.annual-planning-calendar-focus .annual-calendar__viewport { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
body.annual-planning-calendar-focus .annual-calendar__weekdays { flex: 0 0 auto; }
body.annual-planning-calendar-focus .annual-calendar__grid { flex: 1 1 auto; grid-template-rows: repeat(6, minmax(0, 1fr)); min-height: 0; overflow: hidden; }
body.annual-planning-calendar-focus .annual-calendar__day { min-height: 0; overflow: hidden; }
body.annual-planning-calendar-focus .annual-calendar__events { max-height: calc(100% - 29px); overflow: hidden; }
.planning-day-modal .modal-content { border: 0; border-radius: 14px; box-shadow: 0 24px 64px rgba(var(--ictus-midnight-rgb), .24); overflow: hidden; }
.planning-day-modal__header { align-items: center; background: linear-gradient(135deg, var(--ictus-blue), var(--ictus-ocean)); border: 0; color: var(--ictus-white); min-height: 76px; padding: .9rem 1.25rem; }
.planning-day-modal__heading { align-items: center; display: flex; gap: .75rem; min-width: 0; }
.planning-day-modal__heading > div { min-width: 0; }
.planning-day-modal__heading span { color: var(--ictus-cyan-light); display: block; font-size: .62rem; font-weight: 900; letter-spacing: .09em; }
.planning-day-modal__heading h4 { color: inherit; font-size: 1.05rem; font-weight: 850; margin: .15rem 0 0; overflow: hidden; text-overflow: ellipsis; text-transform: capitalize; white-space: nowrap; }
.planning-day-modal__back { align-items: center; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; color: inherit; display: inline-flex; flex: 0 0 36px; height: 36px; justify-content: center; padding: 0; width: 36px; }
.planning-day-modal__back:hover, .planning-day-modal__back:focus-visible { background: rgba(255, 255, 255, .24); outline: none; }
.planning-day-modal .planning-day-modal__header .planning-day-modal__back i { display: flex; font-size: 1rem; height: 1rem; line-height: 1; width: 1rem; }
.planning-day-modal__body { background: var(--ictus-screen); padding: 1.25rem; }
.planning-day-modal__summary { align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 10px; display: flex; justify-content: space-between; margin-bottom: 1rem; padding: .8rem 1rem; }
.planning-day-modal__summary > div { display: flex; flex-direction: column; }
.planning-day-modal__summary strong { color: var(--ictus-blue); font-size: .9rem; }
.planning-day-modal__summary span { color: var(--ictus-lead); font-size: .72rem; }
.planning-day-modal__summary .btn { align-items: center; display: inline-flex; gap: .4rem; }
.planning-day-modal__holiday { align-items: center; background: #FFF7ED; border: 1px solid #FED7AA; border-radius: 10px; color: #B54708; display: flex; gap: .7rem; margin: -0.25rem 0 1rem; padding: .65rem .85rem; }
.planning-day-modal__holiday > i { align-items: center; background: var(--ictus-white); border-radius: 8px; display: inline-flex; flex: 0 0 34px; height: 34px; justify-content: center; width: 34px; }
.planning-day-modal__holiday > div { display: flex; flex-direction: column; min-width: 0; }
.planning-day-modal__holiday span { font-size: .55rem; font-weight: 900; letter-spacing: .07em; }
.planning-day-modal__holiday strong { color: #9A3412; font-size: .77rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-day-modal__loading { align-items: center; color: var(--ictus-ocean); display: flex; font-size: .76rem; font-weight: 700; gap: .5rem; justify-content: center; min-height: 70px; }
.planning-day-modal__empty { align-items: center; background: var(--ictus-white); border: 1px dashed var(--ictus-border); border-radius: 12px; color: var(--ictus-lead); display: flex; flex-direction: column; min-height: 270px; padding: 2rem; text-align: center; }
.planning-day-modal__empty > i { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 999px; color: var(--ictus-ocean); display: inline-flex; font-size: 1.45rem; height: 54px; justify-content: center; margin-bottom: .8rem; width: 54px; }
.planning-day-modal__empty strong { color: var(--ictus-blue); font-size: 1rem; }
.planning-day-modal__empty span { font-size: .76rem; margin: .25rem 0 1rem; }
.planning-day-plans { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 12px; margin-bottom: 1rem; overflow: hidden; }
.planning-day-plans__header { align-items: center; background: linear-gradient(90deg, rgba(var(--ictus-cyan-rgb), .1), rgba(var(--ictus-cyan-rgb), .025)); border-bottom: 1px solid var(--ictus-border); display: flex; gap: .7rem; padding: .75rem 1rem; }
.planning-day-plans__header-icon { align-items: center; background: var(--ictus-white); border: 1px solid rgba(var(--ictus-cyan-rgb), .3); border-radius: 9px; color: var(--ictus-ocean); display: inline-flex; flex: 0 0 38px; height: 38px; justify-content: center; width: 38px; }
.planning-day-plans__header > div { display: flex; flex-direction: column; min-width: 0; }
.planning-day-plans__header strong { color: var(--ictus-blue); font-size: .8rem; }
.planning-day-plans__header small { color: var(--ictus-lead); font-size: .66rem; }
.planning-day-plans__list { display: flex; flex-direction: column; }
.planning-day-plan { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--ictus-border); color: inherit; display: grid; gap: 1rem; grid-template-columns: 88px minmax(0, 1fr) minmax(110px, auto) 18px; min-height: 88px; padding: .85rem 1rem; text-align: left; transition: background-color .15s ease; width: 100%; }
.planning-day-plan:last-child { border-bottom: 0; }
.planning-day-plan:hover:not(:disabled), .planning-day-plan:focus-visible:not(:disabled) { background: var(--ictus-screen); outline: none; }
.planning-day-plan:disabled { cursor: default; opacity: 1; }
.planning-day-plan__time { align-items: flex-start; align-self: stretch; border-right: 1px solid var(--ictus-border); display: flex; flex-direction: column; justify-content: center; min-width: 0; padding-right: .75rem; }
.planning-day-plan__time strong { color: var(--ictus-blue); font-size: 1.02rem; letter-spacing: -.02em; }
.planning-day-plan__time small { color: var(--ictus-lead); font-size: .63rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.planning-day-plan__content { display: flex; flex-direction: column; min-width: 0; }
.planning-day-plan__content > strong { color: var(--ictus-blue); font-size: .82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-day-plan__content > small { color: var(--ictus-lead); font-size: .65rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-day-plan__songs { align-items: center; color: var(--ictus-ocean); display: flex; font-size: .62rem; gap: .2rem; margin-top: .2rem; min-width: 0; overflow: hidden; white-space: nowrap; }
.planning-day-plan__songs > i { flex: 0 0 auto; margin-right: .15rem; }
.planning-day-plan__songs > span { overflow: hidden; text-overflow: ellipsis; }
.planning-day-plan__songs em { background: rgba(var(--ictus-cyan-rgb), .12); border-radius: 999px; flex: 0 0 auto; font-style: normal; font-weight: 800; padding: .08rem .35rem; }
.planning-day-plan__badge { align-items: center; background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 999px; color: var(--ictus-lead); display: inline-flex; font-size: .63rem; font-weight: 750; gap: .35rem; max-width: 180px; overflow: hidden; padding: .32rem .55rem; text-overflow: ellipsis; white-space: nowrap; }
.planning-day-plan__badge i { background: var(--planning-team-color); border-radius: 999px; flex: 0 0 7px; height: 7px; width: 7px; }
.planning-day-plan__arrow { color: var(--ictus-lead); }
.planning-day-modal__events { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 10px; overflow: hidden; }
.planning-day-event { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--ictus-border); color: inherit; display: grid; gap: .8rem; grid-template-columns: 5px 40px minmax(0, 1fr) auto 18px; min-height: 78px; padding: .75rem 1rem; text-align: left; transition: background-color .15s ease; width: 100%; }
.planning-day-event:last-child { border-bottom: 0; }
.planning-day-event:hover, .planning-day-event:focus-visible { background: var(--ictus-screen); outline: none; }
.planning-day-event__color { border-radius: 999px; height: 38px; width: 5px; }
.planning-day-event__icon { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 10px; color: var(--ictus-ocean); display: inline-flex; font-size: 1rem; height: 40px; justify-content: center; width: 40px; }
.planning-day-event__content { display: flex; flex-direction: column; min-width: 0; }
.planning-day-event__content strong { color: var(--ictus-blue); font-size: .86rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-day-event__content small { color: var(--ictus-lead); font-size: .68rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-day-event__period { background: var(--ictus-screen); border-radius: 999px; color: var(--ictus-lead); font-size: .66rem; font-weight: 750; padding: .35rem .65rem; white-space: nowrap; }
.planning-day-event__arrow { color: var(--ictus-lead); }
.planning-event-form { background: var(--ictus-screen); display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.planning-event-form__body { display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem; }
.planning-readonly-fields { border: 0; display: flex; flex-direction: column; gap: 1rem; margin: 0; min-width: 0; padding: 0; }
.planning-event-form__intro { align-items: flex-end; display: flex; justify-content: space-between; }
.planning-event-form__intro > div { display: flex; flex-direction: column; }
.planning-event-form__intro span { color: var(--ictus-ocean); font-size: .61rem; font-weight: 900; letter-spacing: .08em; }
.planning-event-form__intro strong { color: var(--ictus-blue); font-size: 1rem; }
.planning-event-form__intro small { color: var(--ictus-lead); font-size: .7rem; }
.planning-event-form__types { display: grid; gap: .55rem; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.planning-event-form__types label { align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 10px; color: var(--ictus-lead); cursor: pointer; display: flex; flex-direction: column; font-size: .67rem; font-weight: 750; gap: .35rem; justify-content: center; min-height: 72px; padding: .55rem .3rem; text-align: center; transition: border-color .15s ease, box-shadow .15s ease, color .15s ease; }
.planning-event-form__types label:hover { border-color: var(--ictus-cyan); color: var(--ictus-ocean); }
.planning-event-form__types label.is-selected { border-color: var(--ictus-ocean); box-shadow: 0 0 0 2px rgba(var(--ictus-cyan-rgb), .2); color: var(--ictus-blue); }
.planning-event-form__types input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.planning-event-form__types i { font-size: 1.05rem; }
.planning-event-form__section { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 12px; padding: 1rem; }
.planning-event-form__section--accent { border-left: 4px solid var(--ictus-cyan); }
.planning-event-special { border-left: 4px solid var(--planning-special-color, var(--ictus-cyan)); position: relative; }
.planning-event-special::after { background: var(--planning-special-color, var(--ictus-cyan)); border-radius: 999px; content: ''; height: 42px; opacity: .07; pointer-events: none; position: absolute; right: 1rem; top: 1rem; width: 42px; }
.planning-event-special--vacation { --planning-special-color: #e3a21a; }
.planning-event-special--trip { --planning-special-color: #4f8c48; }
.planning-event-special--attention { --planning-special-color: #c94c67; }
.planning-event-special--pre-meeting { --planning-special-color: #7650a3; }
.planning-event-special .planning-event-form__section-title > i { background: color-mix(in srgb, var(--planning-special-color) 12%, transparent); color: var(--planning-special-color); }
.planning-event-special__hint { color: var(--ictus-lead); display: block; font-size: .64rem; line-height: 1.35; margin-top: .35rem; }
.planning-pre-meetings { border-left: 4px solid #F0643B; }
.planning-pre-meetings__heading { margin-bottom: 0; }
.planning-pre-meetings__heading > div { flex: 1; min-width: 0; }
.planning-pre-meetings__heading > i { background: rgba(240, 100, 59, .1); color: #D94F28; }
.planning-pre-meetings__switch { align-items: center; display: flex; flex: 0 0 auto; gap: .45rem; margin: 0 0 0 auto; min-height: 34px; padding: .35rem .65rem; }
.planning-pre-meetings__switch .form-check-input { float: none; margin: 0; }
.planning-pre-meetings__switch span { color: var(--ictus-blue); font-size: .69rem; font-weight: 800; }
.planning-pre-meetings__loading, .planning-pre-meetings__notice { align-items: center; border-top: 1px solid var(--ictus-border); color: var(--ictus-lead); display: flex; font-size: .69rem; gap: .5rem; margin-top: .9rem; padding-top: .9rem; }
.planning-pre-meetings__notice i { color: #D94F28; }
.planning-pre-meetings__content { border-top: 1px solid var(--ictus-border); display: flex; flex-direction: column; gap: .75rem; margin-top: .9rem; padding-top: .9rem; }
.planning-pre-meetings__count { max-width: 210px; }
.planning-pre-meeting-row { background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 10px; padding: .8rem; }
.planning-pre-meeting-row__index { align-items: center; display: flex; gap: .55rem; margin-bottom: .7rem; }
.planning-pre-meeting-row__index > span { align-items: center; background: #FFEFDE; border-radius: 999px; color: #D94F28; display: inline-flex; flex: 0 0 28px; font-size: .7rem; font-weight: 900; height: 28px; justify-content: center; }
.planning-pre-meeting-row__index > div { display: flex; flex-direction: column; min-width: 0; }
.planning-pre-meeting-row__index strong { color: var(--ictus-blue); font-size: .75rem; }
.planning-pre-meeting-row__index small { color: #D94F28; font-size: .63rem; font-weight: 750; text-transform: capitalize; }
.planning-pre-meeting-row__fields { display: grid; gap: .65rem; grid-template-columns: 1.1fr .7fr 1fr 1fr; }
.planning-pre-meeting-row__objective { grid-column: 1 / -1; }
.planning-event-copy { border-left: 4px solid var(--ictus-ocean); }
.planning-event-copy__heading { margin-bottom: 0; }
.planning-event-copy__heading > div { flex: 1; min-width: 0; }
.planning-event-copy__heading > .btn { align-items: center; display: inline-flex; flex: 0 0 auto; gap: .35rem; }
.planning-event-copy__content { border-top: 1px solid var(--ictus-border); margin-top: .85rem; padding-top: .85rem; }
.planning-event-copy__search { margin-bottom: .65rem; }
.planning-event-copy__picker { align-items: stretch; display: grid; gap: .55rem; grid-template-columns: minmax(0, 1fr) auto; }
.planning-event-copy__picker .btn { align-items: center; display: inline-flex; gap: .4rem; justify-content: center; white-space: nowrap; }
.planning-event-copy__empty, .planning-event-copy__error { align-items: center; color: var(--ictus-lead); display: flex; font-size: .68rem; gap: .45rem; justify-content: center; min-height: 46px; }
.planning-event-copy__error { color: var(--ictus-danger); }
.planning-event-copy__applied { align-items: center; background: rgba(41, 157, 106, .08); border: 1px solid rgba(41, 157, 106, .22); border-radius: 8px; color: #227B55; display: flex; font-size: .67rem; gap: .5rem; margin-top: .8rem; padding: .55rem .7rem; }
.planning-event-copy__applied > i { flex: 0 0 auto; font-size: .9rem; }
.planning-event-form__section-title { align-items: center; display: flex; gap: .65rem; margin-bottom: .9rem; }
.planning-event-form__section-title > i { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 9px; color: var(--ictus-ocean); display: inline-flex; flex: 0 0 36px; height: 36px; justify-content: center; width: 36px; }
.planning-event-form__section-title > div { display: flex; flex-direction: column; }
.planning-event-form__section-title strong { color: var(--ictus-blue); font-size: .84rem; }
.planning-event-form__section-title span { color: var(--ictus-lead); font-size: .67rem; }
.planning-event-form .form-label { color: var(--ictus-graphite); font-size: .72rem; font-weight: 750; margin-bottom: .35rem; }
.planning-event-form__all-day { align-items: center; background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 8px; cursor: pointer; display: flex; gap: .65rem; min-height: 42px; padding: .35rem .75rem; }
.planning-event-form__all-day span { display: flex; flex-direction: column; }
.planning-event-form__all-day strong { color: var(--ictus-blue); font-size: .72rem; line-height: 1.2; }
.planning-event-form__all-day small { color: var(--ictus-lead); font-size: .61rem; }
.planning-event-form__footer { background: var(--ictus-white); border-top: 1px solid var(--ictus-border); display: flex; justify-content: space-between; min-height: 72px; padding: .75rem 1.25rem; }
.planning-event-form__actions { display: flex; gap: .5rem; margin-left: auto; }
.planning-event-form__actions .btn { align-items: center; display: inline-flex; gap: .4rem; }
.planning-event-form__secondary-actions { align-items: center; display: flex; gap: .35rem; }
.planning-event-form__actions.is-read-only { grid-template-columns: 1fr; }
.planning-event-form__duplicate { align-items: center; display: inline-flex; gap: .4rem; }
.planning-event-form__danger .btn-link { align-items: center; display: inline-flex; gap: .4rem; text-decoration: none; }
.planning-event-form__delete-confirm { align-items: center; background: #fff2f2; border: 1px solid #ffd1d1; border-radius: 8px; display: flex; gap: .45rem; padding: .35rem .45rem .35rem .65rem; }
.planning-event-form__delete-confirm span { color: var(--ictus-danger); font-size: .68rem; font-weight: 750; }
.planning-day-event__recurrence { color: var(--ictus-ocean); font-size: .7rem; margin-left: .25rem; }
.planning-recurrence__heading { align-items: center; margin-bottom: 0; }
.planning-recurrence__heading > div { flex: 1; min-width: 0; }
.planning-recurrence__switch { align-items: center; display: flex; flex: 0 0 auto; gap: .45rem; margin: 0 0 0 auto; min-height: 34px; padding: .35rem .65rem; }
.planning-recurrence__switch .form-check-input { float: none; margin: 0; }
.planning-recurrence__switch span { color: var(--ictus-blue); font-size: .69rem; font-weight: 800; }
.planning-recurrence__content { border-top: 1px solid var(--ictus-border); margin-top: .9rem; padding-top: .9rem; }
.planning-recurrence__patterns { display: grid; gap: .5rem; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.planning-recurrence__patterns label { background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 9px; cursor: pointer; display: flex; flex-direction: column; min-height: 64px; padding: .65rem .7rem; position: relative; }
.planning-recurrence__patterns label:hover { border-color: var(--ictus-cyan); }
.planning-recurrence__patterns label.is-selected { background: rgba(var(--ictus-cyan-rgb), .08); border-color: var(--ictus-ocean); box-shadow: 0 0 0 2px rgba(var(--ictus-cyan-rgb), .12); }
.planning-recurrence__patterns input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.planning-recurrence__patterns strong { color: var(--ictus-blue); font-size: .72rem; }
.planning-recurrence__patterns span { color: var(--ictus-lead); font-size: .61rem; line-height: 1.35; margin-top: .15rem; }
.planning-recurrence__end { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .85rem; }
.planning-recurrence__label { color: var(--ictus-graphite); font-size: .7rem; font-weight: 850; margin-right: .15rem; }
.planning-recurrence__end > label { align-items: center; border: 1px solid transparent; border-radius: 999px; color: var(--ictus-lead); cursor: pointer; display: inline-flex; font-size: .68rem; font-weight: 750; gap: .35rem; margin: 0; padding: .4rem .65rem; }
.planning-recurrence__end > label.is-selected { background: rgba(var(--ictus-cyan-rgb), .1); border-color: rgba(var(--ictus-cyan-rgb), .35); color: var(--ictus-blue); }
.planning-recurrence__end > label input { margin: 0; }
.planning-recurrence__end > .form-control { max-width: 180px; }
.planning-recurrence__count { max-width: 220px; }
.planning-recurrence__preview { align-items: center; background: rgba(var(--ictus-cyan-rgb), .07); border: 1px solid rgba(var(--ictus-cyan-rgb), .24); border-radius: 10px; display: flex; gap: 1rem; justify-content: space-between; margin-top: .85rem; padding: .7rem .8rem; }
.planning-recurrence__preview > div { align-items: center; color: var(--ictus-ocean); display: flex; flex: 0 0 auto; font-size: .69rem; gap: .45rem; }
.planning-recurrence__preview > div span { display: flex; flex-direction: column; }
.planning-recurrence__preview ol { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: flex-end; list-style: none; margin: 0; padding: 0; }
.planning-recurrence__preview li { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 999px; color: var(--ictus-blue); font-size: .61rem; font-weight: 750; padding: .25rem .5rem; white-space: nowrap; }
.planning-recurrence__preview li.is-more { background: var(--ictus-blue); border-color: var(--ictus-blue); color: var(--ictus-white); }
.planning-series-scope { border-left: 4px solid var(--ictus-ocean); }
.planning-series-scope fieldset { display: grid; gap: .5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.planning-series-scope legend { color: var(--ictus-graphite); font-size: .68rem; font-weight: 850; margin-bottom: .4rem; }
.planning-series-scope fieldset > label { align-items: flex-start; background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 9px; cursor: pointer; display: flex; gap: .55rem; min-width: 0; padding: .65rem; }
.planning-series-scope fieldset > label.is-selected { background: rgba(var(--ictus-cyan-rgb), .08); border-color: var(--ictus-ocean); box-shadow: 0 0 0 2px rgba(var(--ictus-cyan-rgb), .12); }
.planning-series-scope fieldset input { margin-top: .15rem; }
.planning-series-scope fieldset span { display: flex; flex-direction: column; min-width: 0; }
.planning-series-scope fieldset strong { color: var(--ictus-blue); font-size: .7rem; }
.planning-series-scope fieldset small { color: var(--ictus-lead); font-size: .61rem; line-height: 1.35; }
.planning-move-modal .modal-content { border: 0; border-radius: 14px; box-shadow: 0 24px 64px rgba(var(--ictus-midnight-rgb), .24); overflow: hidden; }
.planning-move-modal__header { align-items: center; background: var(--ictus-white); border-bottom: 1px solid var(--ictus-border); padding: 1rem 1.1rem; }
.planning-move-modal__title { align-items: center; display: flex; gap: .7rem; min-width: 0; }
.planning-move-modal__title > i { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 10px; color: var(--ictus-ocean); display: inline-flex; flex: 0 0 40px; font-size: 1rem; height: 40px; justify-content: center; width: 40px; }
.planning-move-modal__title > div { min-width: 0; }
.planning-move-modal__title span { color: var(--ictus-ocean); display: block; font-size: .59rem; font-weight: 900; letter-spacing: .08em; }
.planning-move-modal__title h4 { color: var(--ictus-blue); font-size: 1rem; font-weight: 850; margin: .1rem 0 0; }
.planning-move-modal__body { background: var(--ictus-screen); display: flex; flex-direction: column; gap: .85rem; padding: 1rem; }
.planning-move-modal__event { align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 10px; display: flex; gap: .65rem; padding: .7rem .8rem; }
.planning-move-modal__event > i { border-radius: 999px; flex: 0 0 5px; height: 36px; }
.planning-move-modal__event > div { display: flex; flex-direction: column; min-width: 0; }
.planning-move-modal__event strong { color: var(--ictus-blue); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-move-modal__event span { color: var(--ictus-lead); font-size: .65rem; }
.planning-move-modal__route { align-items: stretch; display: grid; gap: .6rem; grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr); }
.planning-move-modal__route > div { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 10px; display: flex; flex-direction: column; padding: .65rem .75rem; }
.planning-move-modal__route > div small { color: var(--ictus-lead); font-size: .59rem; font-weight: 850; text-transform: uppercase; }
.planning-move-modal__route > div strong { color: var(--ictus-blue); font-size: .7rem; line-height: 1.4; text-transform: capitalize; }
.planning-move-modal__route > i { align-self: center; color: var(--ictus-ocean); justify-self: center; }
.planning-move-modal__scope { display: grid; gap: .45rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.planning-move-modal__scope legend { color: var(--ictus-graphite); font-size: .68rem; font-weight: 850; margin-bottom: .25rem; }
.planning-move-modal__scope label { align-items: flex-start; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 9px; cursor: pointer; display: flex; gap: .45rem; min-width: 0; padding: .6rem; }
.planning-move-modal__scope label.is-selected { border-color: var(--ictus-ocean); box-shadow: 0 0 0 2px rgba(var(--ictus-cyan-rgb), .14); }
.planning-move-modal__scope input { margin-top: .12rem; }
.planning-move-modal__scope span { display: flex; flex-direction: column; min-width: 0; }
.planning-move-modal__scope strong { color: var(--ictus-blue); font-size: .67rem; }
.planning-move-modal__scope small { color: var(--ictus-lead); font-size: .58rem; line-height: 1.35; }
.planning-move-modal__footer { border-top: 1px solid var(--ictus-border); gap: .5rem; padding: .75rem 1rem; }
.planning-move-modal__footer .btn { align-items: center; display: inline-flex; gap: .4rem; justify-content: center; }
.planning-logistics { background: var(--ictus-screen); padding: 1rem; }
.planning-logistics__hero { align-items: center; background: linear-gradient(135deg, var(--ictus-blue), #164f86); border-radius: 12px; color: var(--ictus-white); display: flex; justify-content: space-between; margin-bottom: .85rem; min-height: 118px; padding: 1.15rem 1.25rem; }
.planning-logistics__hero > div:first-child { min-width: 0; }
.planning-logistics__hero > div:first-child > span { color: var(--ictus-cyan-light); font-size: .61rem; font-weight: 900; letter-spacing: .09em; }
.planning-logistics__hero h4 { color: inherit; font-size: 1.15rem; font-weight: 850; margin: .2rem 0; }
.planning-logistics__hero p { color: rgba(255, 255, 255, .8); font-size: .72rem; margin: 0; max-width: 720px; }
.planning-logistics__month .btn { align-items: center; background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .45); color: var(--ictus-white); display: flex; gap: .5rem; min-width: 160px; }
.planning-logistics__status { align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 10px; color: var(--ictus-blue); display: flex; gap: .6rem; justify-content: center; min-height: 180px; padding: 1rem; }
.planning-logistics__status--error { color: var(--bs-danger); flex-wrap: wrap; }
.planning-logistics__metrics { display: grid; gap: .75rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: .85rem; }
.planning-logistics__metrics article { align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 11px; display: flex; gap: .7rem; min-height: 92px; padding: .8rem; }
.planning-logistics__metrics article > i { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 10px; color: var(--ictus-ocean); display: inline-flex; flex: 0 0 40px; font-size: 1rem; height: 40px; justify-content: center; }
.planning-logistics__metrics article.is-success > i { background: #e3f7ee; color: #188b61; }
.planning-logistics__metrics article.is-warning > i { background: #fff4d8; color: #a66a00; }
.planning-logistics__metrics article.is-danger > i { background: #fde9eb; color: #bd4050; }
.planning-logistics__metrics article > div { display: flex; flex-direction: column; min-width: 0; }
.planning-logistics__metrics strong { color: var(--ictus-blue); font-size: 1.25rem; line-height: 1; }
.planning-logistics__metrics span { color: var(--ictus-graphite); font-size: .7rem; font-weight: 800; margin-top: .18rem; }
.planning-logistics__metrics small { color: var(--ictus-lead); font-size: .58rem; }
.planning-logistics__table { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 12px; overflow: hidden; }
.planning-logistics__table-header { align-items: center; display: flex; justify-content: space-between; min-height: 78px; padding: .85rem 1rem; }
.planning-logistics__table-header > div { display: flex; flex-direction: column; }
.planning-logistics__table-header span { color: var(--ictus-ocean); font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.planning-logistics__table-header h5 { color: var(--ictus-blue); font-size: .95rem; font-weight: 850; margin: .1rem 0 0; }
.planning-logistics__table-header > strong { align-items: center; background: rgba(var(--ictus-cyan-rgb), .1); border-radius: 999px; color: var(--ictus-ocean); display: inline-flex; font-size: .7rem; height: 30px; justify-content: center; min-width: 30px; }
.planning-logistics__columns, .planning-logistics__row { display: grid; gap: .75rem; grid-template-columns: 120px minmax(220px, 1.4fr) minmax(145px, 1fr) minmax(135px, .9fr) minmax(130px, .8fr) 90px; }
.planning-logistics__columns { background: var(--ictus-screen); border-top: 1px solid var(--ictus-border); color: var(--ictus-lead); font-size: .59rem; font-weight: 850; letter-spacing: .035em; padding: .55rem 1rem; text-transform: uppercase; }
.planning-logistics__row { align-items: center; background: var(--ictus-white); border: 0; border-top: 1px solid var(--ictus-border); color: inherit; min-height: 76px; padding: .65rem 1rem; text-align: left; transition: background .15s ease, transform .15s ease; width: 100%; }
.planning-logistics__row:hover, .planning-logistics__row:focus-visible { background: rgba(var(--ictus-cyan-rgb), .045); outline: 0; }
.planning-logistics__date, .planning-logistics__event > span, .planning-logistics__progress > span { display: flex; flex-direction: column; min-width: 0; }
.planning-logistics__date strong, .planning-logistics__event strong { color: var(--ictus-blue); font-size: .7rem; }
.planning-logistics__date small, .planning-logistics__event small, .planning-logistics__progress small { color: var(--ictus-lead); font-size: .6rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-logistics__event em { color: var(--ictus-ocean); font-size: .57rem; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-logistics__event { align-items: center; display: flex; gap: .55rem; min-width: 0; }
.planning-logistics__event > i { border-radius: 999px; flex: 0 0 5px; height: 36px; }
.planning-logistics__value { align-items: center; color: var(--ictus-graphite); display: flex; font-size: .66rem; font-weight: 700; gap: .35rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-logistics__value > i { color: var(--ictus-ocean); }
.planning-logistics__value.is-missing { color: #a66a00; font-weight: 750; }
.planning-logistics__progress { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.planning-logistics__progress > span { flex-direction: row; justify-content: space-between; }
.planning-logistics__progress strong { color: var(--ictus-blue); font-size: .68rem; }
.planning-logistics__progress > i, .planning-logistics-modal__progress > i { background: var(--ictus-border); border-radius: 999px; display: block; height: 5px; overflow: hidden; width: 100%; }
.planning-logistics__progress > i > b, .planning-logistics-modal__progress > i > b { background: #22a875; border-radius: inherit; display: block; height: 100%; transition: width .2s ease; }
.planning-logistics__action { align-items: center; border: 1px solid var(--ictus-border); border-radius: 8px; color: var(--ictus-blue); display: inline-flex; font-size: .63rem; font-weight: 800; gap: .35rem; justify-content: center; min-height: 34px; }
.planning-logistics__empty { align-items: center; color: var(--ictus-lead); display: flex; flex-direction: column; justify-content: center; min-height: 250px; padding: 2rem; text-align: center; }
.planning-logistics__empty > i { color: var(--ictus-ocean); font-size: 2rem; margin-bottom: .45rem; }
.planning-logistics__empty strong { color: var(--ictus-blue); font-size: .85rem; }
.planning-logistics__empty span { font-size: .68rem; }
.planning-logistics-modal .modal-content { border: 0; border-radius: 14px; box-shadow: 0 24px 64px rgba(var(--ictus-midnight-rgb), .24); overflow: hidden; }
.planning-logistics-modal__header { align-items: flex-start; background: var(--ictus-blue); color: var(--ictus-white); padding: 1rem 1.15rem; }
.planning-logistics-modal__header > div { min-width: 0; }
.planning-logistics-modal__header span { color: var(--ictus-cyan-light); display: block; font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.planning-logistics-modal__header h4 { color: inherit; font-size: 1rem; font-weight: 850; margin: .12rem 0; }
.planning-logistics-modal__header small { color: rgba(255, 255, 255, .75); font-size: .64rem; }
.planning-logistics-modal__body { background: var(--ictus-screen); display: flex; flex-direction: column; gap: 1rem; padding: 1rem; }
.planning-logistics-modal__context { align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 10px; display: flex; gap: .65rem; padding: .7rem .8rem; }
.planning-logistics-modal__context > i { border-radius: 999px; flex: 0 0 5px; height: 36px; }
.planning-logistics-modal__context > div { display: flex; flex-direction: column; }
.planning-logistics-modal__context strong { color: var(--ictus-blue); font-size: .7rem; }
.planning-logistics-modal__context span { color: var(--ictus-lead); font-size: .62rem; }
.planning-logistics-modal__body .form-label { color: var(--ictus-graphite); font-size: .7rem; font-weight: 800; }
.planning-logistics-modal__checklist { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 11px; padding: .85rem; }
.planning-logistics-modal__checklist > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: .7rem; }
.planning-logistics-modal__checklist > header > div:first-child { display: flex; flex-direction: column; }
.planning-logistics-modal__checklist > header strong { color: var(--ictus-blue); font-size: .76rem; }
.planning-logistics-modal__checklist > header span { color: var(--ictus-lead); font-size: .61rem; }
.planning-logistics-modal__progress { align-items: center; display: flex; gap: .45rem; min-width: 110px; }
.planning-logistics-modal__progress > i { width: 70px; }
.planning-logistics-modal__items { display: flex; flex-direction: column; gap: .4rem; }
.planning-logistics-modal__items label { align-items: center; display: grid; gap: .5rem; grid-template-columns: 20px minmax(0, 1fr) 32px; margin: 0; }
.planning-logistics-modal__items label.is-done .form-control { color: var(--ictus-lead); text-decoration: line-through; }
.planning-logistics-modal__items button { background: transparent; border: 0; color: var(--ictus-lead); height: 32px; }
.planning-logistics-modal__items button:hover { color: var(--bs-danger); }
.planning-logistics-modal__no-items { color: var(--ictus-lead); font-size: .65rem; margin: .35rem 0 .7rem; }
.planning-logistics-modal__add { display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto; margin-top: .65rem; }
.planning-logistics-modal__add .btn, .planning-logistics-modal__footer .btn { align-items: center; display: inline-flex; gap: .35rem; justify-content: center; }
.planning-logistics-modal__footer { border-top: 1px solid var(--ictus-border); gap: .5rem; padding: .75rem 1rem; }

planning-responsible-field { display: block; min-width: 0; }
.planning-responsible-field { min-width: 0; }
.planning-responsible-field__types { background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 8px; display: grid; gap: 3px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: .45rem; padding: 3px; }
.planning-responsible-field__types button { align-items: center; background: transparent; border: 0; border-radius: 6px; color: var(--ictus-lead); display: inline-flex; font-size: .67rem; font-weight: 800; gap: .35rem; justify-content: center; min-height: 34px; padding: .35rem .45rem; }
.planning-responsible-field__types button:hover, .planning-responsible-field__types button:focus-visible { color: var(--ictus-ocean); outline: none; }
.planning-responsible-field__types button.is-active { background: var(--ictus-white); box-shadow: 0 1px 4px rgba(var(--ictus-midnight-rgb), .12); color: var(--ictus-blue); }
.planning-responsible-field__person { align-items: center; background: var(--ictus-white); border: 1px dashed var(--ictus-border); border-radius: 8px; color: var(--ictus-lead); display: grid; gap: .75rem; grid-template-columns: 44px minmax(0, 1fr) 18px; justify-content: stretch; justify-items: start; min-height: 66px; padding: .55rem .75rem; text-align: left; width: 100%; }
.planning-responsible-field__person:hover, .planning-responsible-field__person:focus-visible { border-color: var(--ictus-cyan); box-shadow: 0 0 0 3px rgba(var(--ictus-cyan-rgb), .12); outline: none; }
.planning-responsible-field__avatar { align-items: center; align-self: center; background: var(--ictus-cyan-mist); border-radius: 999px; color: var(--ictus-ocean); display: inline-flex; font-size: .72rem; font-weight: 850; height: 44px; justify-content: center; justify-self: start; overflow: hidden; position: relative; width: 44px; }
.planning-responsible-field__avatar img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.planning-responsible-field__identity { align-items: flex-start; display: flex; flex-direction: column; justify-self: stretch; min-width: 0; text-align: left; width: 100%; }
.planning-responsible-field__person strong { color: var(--ictus-blue); font-size: .76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-responsible-field__person small, .planning-responsible-field__hint { color: var(--ictus-lead); font-size: .6rem; }
.planning-responsible-field__contacts { align-items: center; color: var(--ictus-lead); display: flex; flex-wrap: wrap; font-size: .62rem; gap: .2rem .85rem; margin-top: .15rem; min-width: 0; text-align: left; }
.planning-responsible-field__contacts > span { align-items: center; display: inline-flex; gap: .3rem; min-width: 0; overflow-wrap: anywhere; }
.planning-responsible-field__contacts i { color: var(--ictus-ocean); flex: 0 0 auto; }
.planning-responsible-field__person > i { align-self: center; color: var(--ictus-ocean); justify-self: end; }
.planning-responsible-field__person.has-person { border-style: solid; }
.planning-responsible-field__hint { display: block; margin-top: .3rem; }
.planning-category-page__title-row { align-items: center; display: flex; justify-content: space-between; width: 100%; }
.planning-category-page__title-copy { align-items: center; display: flex; gap: .75rem; min-width: 0; }
.planning-category-page__title-copy h3 { margin-bottom: .2rem; }
.planning-category-page__breadcrumb { float: none; margin: 0; }
.planning-category-catalog, .planning-category-form { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 12px; box-shadow: 0 5px 18px rgba(var(--ictus-midnight-rgb), .05); overflow: hidden; }
.planning-category-catalog__toolbar { align-items: center; border-bottom: 1px solid var(--ictus-border); display: flex; gap: 1rem; justify-content: space-between; padding: 1rem; }
.planning-category-catalog__search { max-width: 420px; }
.planning-category-catalog__state, .planning-category-form__state { align-items: center; color: var(--ictus-blue); display: flex; flex-direction: column; gap: .75rem; justify-content: center; min-height: 280px; }
.planning-category-catalog__empty { align-items: center; color: var(--ictus-lead); display: flex; flex-direction: column; justify-content: center; min-height: 300px; padding: 2rem; text-align: center; }
.planning-category-catalog__empty > i { color: var(--ictus-ocean); font-size: 2rem; margin-bottom: .55rem; }
.planning-category-catalog__empty strong { color: var(--ictus-blue); font-size: 1rem; }
.planning-category-catalog__empty span { font-size: .75rem; margin-top: .2rem; }
.planning-category-catalog__help { align-items: center; color: var(--ictus-lead); display: flex; font-size: .68rem; gap: 1rem; min-height: 46px; padding: .65rem 1rem; }
.planning-category-catalog__help > span { align-items: center; display: inline-flex; gap: .3rem; }
.planning-category-table { border-top: 1px solid var(--ictus-border); }
.planning-category-table thead th { background: var(--ictus-screen); color: var(--ictus-lead); font-size: .66rem; font-weight: 850; letter-spacing: .035em; padding: .7rem .8rem; text-transform: uppercase; }
.planning-category-table tbody td { border-color: var(--ictus-border); padding: .75rem .8rem; }
.planning-category-table__drag { text-align: center; width: 48px; }
.planning-category-drag-handle { background: transparent; border: 0; color: var(--ictus-lead); cursor: grab; font-size: 1.1rem; padding: .3rem; touch-action: none; }
.planning-category-drag-handle:active { cursor: grabbing; }
.planning-category-drag-handle:disabled { cursor: not-allowed; opacity: .35; }
.planning-category-row--dragging { opacity: .45; }
.planning-category-row--drop-before > td { box-shadow: inset 0 3px 0 var(--ictus-cyan); }
.planning-category-row--drop-after > td { box-shadow: inset 0 -3px 0 var(--ictus-cyan); }
.planning-category-chip { align-items: center; border: 1px solid; border-radius: 999px; display: inline-flex; font-size: .72rem; font-weight: 800; gap: .45rem; max-width: 100%; padding: .35rem .65rem; }
.planning-category-chip > i { border-radius: 999px; flex: 0 0 8px; height: 8px; width: 8px; }
.planning-category-form { overflow: visible; }
.planning-category-form__card { padding: 1.5rem; }
.planning-category-form__lead { border-bottom: 1px solid var(--ictus-border); margin-bottom: 1.25rem; padding-bottom: 1rem; }
.planning-category-form__lead > span { color: var(--ictus-ocean); font-size: .62rem; font-weight: 900; letter-spacing: .08em; }
.planning-category-form__lead h4 { color: var(--ictus-blue); font-size: 1.1rem; font-weight: 850; margin: .2rem 0; }
.planning-category-form__lead p { color: var(--ictus-lead); font-size: .75rem; margin: 0; }
.planning-category-form .form-label { color: var(--ictus-graphite); font-size: .74rem; font-weight: 750; }
.planning-category-form__colors { display: flex; flex-wrap: wrap; gap: .55rem; }
.planning-category-form__colors button { border: 3px solid var(--ictus-white); border-radius: 999px; box-shadow: 0 0 0 1px var(--ictus-border); height: 34px; padding: 0; transition: box-shadow .15s ease, transform .15s ease; width: 34px; }
.planning-category-form__colors button:hover, .planning-category-form__colors button:focus-visible { transform: translateY(-1px); }
.planning-category-form__colors button.is-selected { box-shadow: 0 0 0 3px var(--ictus-ocean); }
.planning-category-form__manual-color { display: flex; gap: .5rem; margin-top: .8rem; max-width: 250px; }
.planning-category-form__manual-color .form-control-color { flex: 0 0 48px; }
.planning-category-form__preview { background: var(--ictus-screen); border: 1px solid var(--ictus-border); border-radius: 12px; padding: 1rem; }
.planning-category-form__preview > span { color: var(--ictus-ocean); font-size: .61rem; font-weight: 900; letter-spacing: .08em; }
.planning-category-form__preview-day { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 9px; margin: .65rem 0; min-height: 130px; padding: .65rem; }
.planning-category-form__preview-day > strong { color: var(--ictus-blue); display: block; font-size: .75rem; margin-bottom: .8rem; text-align: right; }
.planning-category-form__preview-event { align-items: center; border-left: 3px solid currentColor; border-radius: 5px; display: grid; font-size: .68rem; font-weight: 800; gap: .4rem; grid-template-columns: 6px minmax(0, 1fr) auto; padding: .45rem .55rem; }
.planning-category-form__preview-event > i { border-radius: 999px; height: 6px; width: 6px; }
.planning-category-form__preview-event > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-category-form__preview-event small { font-size: .58rem; }
.planning-category-form__preview p { color: var(--ictus-lead); font-size: .67rem; margin: 0; }
.planning-category-form__system-note { align-items: center; background: rgba(var(--ictus-cyan-rgb), .08); border: 1px solid rgba(var(--ictus-cyan-rgb), .24); border-radius: 9px; color: var(--ictus-ocean); display: flex; gap: .7rem; margin-top: 1.25rem; padding: .75rem; }
.planning-category-form__system-note > i { font-size: 1.2rem; }
.planning-category-form__system-note > div { display: flex; flex-direction: column; }
.planning-category-form__system-note strong { font-size: .75rem; }
.planning-category-form__system-note span { color: var(--ictus-lead); font-size: .66rem; }
.planning-category-form__footer { align-items: center; background: var(--ictus-screen); border-top: 1px solid var(--ictus-border); display: flex; gap: .5rem; justify-content: flex-end; padding: .85rem 1.5rem; }
body.theme-dark .annual-calendar { border-color: var(--ictus-dark-border); }
body.theme-dark .planning-pre-overview { background: var(--ictus-dark-canvas); }
body.theme-dark .planning-pre-metric, body.theme-dark .planning-pre-section { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); }
body.theme-dark .planning-pre-section__header, body.theme-dark .planning-pre-row, body.theme-dark .planning-pre-configured__row, body.theme-dark .planning-pre-configured__meetings em { border-color: var(--ictus-dark-border); }
body.theme-dark .planning-pre-configured__meetings em { background: var(--ictus-dark-canvas); }
body.theme-dark .annual-calendar__day { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); }
body.theme-dark .annual-calendar__day.is-outside { background: var(--ictus-dark-canvas); }
body.theme-dark .annual-calendar__day.is-weekend:not(.is-outside) { background: var(--ictus-midnight); }
body.theme-dark .annual-calendar__day:hover { background: var(--ictus-dark-surface-hover); }
body.theme-dark .annual-calendar__holiday, body.theme-dark .annual-calendar__day.is-holiday:not(.is-today) .annual-calendar__day-number { color: #FDA29B; }
body.theme-dark .annual-calendar__event { color: var(--ictus-dark-text); }
body.theme-dark .planning-responsible-field__types { background: var(--ictus-dark-canvas); border-color: var(--ictus-dark-border); }
body.theme-dark .planning-responsible-field__types button.is-active, body.theme-dark .planning-responsible-field__person { background: var(--ictus-dark-surface); color: var(--ictus-dark-text); }
body.theme-dark .planning-responsible-field__person strong { color: var(--ictus-dark-text); }
body.theme-dark .planning-day-modal__body, body.theme-dark .planning-event-form { background: var(--ictus-dark-canvas); }
body.theme-dark .planning-day-modal__summary, body.theme-dark .planning-day-modal__empty, body.theme-dark .planning-day-plans, body.theme-dark .planning-day-modal__events, body.theme-dark .planning-event-form__section, body.theme-dark .planning-event-form__footer, body.theme-dark .planning-event-form__types label { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); color: var(--ictus-dark-text); }
body.theme-dark .planning-day-plans__header, body.theme-dark .planning-day-plan, body.theme-dark .planning-day-plan__time, body.theme-dark .planning-day-plan__badge { border-color: var(--ictus-dark-border); }
body.theme-dark .planning-day-plans__header-icon, body.theme-dark .planning-day-plan__badge { background: var(--ictus-dark-canvas); }
body.theme-dark .planning-day-modal__holiday { background: rgba(180, 83, 9, .14); border-color: rgba(253, 186, 116, .35); color: #FDBA74; }
body.theme-dark .planning-day-modal__holiday > i { background: var(--ictus-dark-surface); }
body.theme-dark .planning-day-modal__holiday strong { color: #FED7AA; }
body.theme-dark .planning-event-special { border-left-color: var(--planning-special-color); }
body.theme-dark .planning-pre-meetings { border-left-color: #F0643B; }
body.theme-dark .planning-event-copy__content { border-color: var(--ictus-dark-border); }
body.theme-dark .planning-event-copy__applied { color: #75D4AA; }
body.theme-dark .planning-pre-meeting-row { background: var(--ictus-dark-canvas); border-color: var(--ictus-dark-border); }
body.theme-dark .planning-recurrence__content, body.theme-dark .planning-recurrence__patterns label, body.theme-dark .planning-recurrence__preview, body.theme-dark .planning-recurrence__preview li, body.theme-dark .planning-series-scope fieldset > label { border-color: var(--ictus-dark-border); }
body.theme-dark .planning-recurrence__patterns label, body.theme-dark .planning-recurrence__preview li, body.theme-dark .planning-series-scope fieldset > label { background: var(--ictus-dark-canvas); }
body.theme-dark .planning-move-modal__header, body.theme-dark .planning-move-modal__event, body.theme-dark .planning-move-modal__route > div, body.theme-dark .planning-move-modal__scope label, body.theme-dark .planning-move-modal__footer { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); }
body.theme-dark .planning-move-modal__body { background: var(--ictus-dark-canvas); }
body.theme-dark .planning-logistics { background: var(--ictus-dark-canvas); }
body.theme-dark .planning-logistics__metrics article, body.theme-dark .planning-logistics__table, body.theme-dark .planning-logistics__row, body.theme-dark .planning-logistics__status, body.theme-dark .planning-logistics-modal__context, body.theme-dark .planning-logistics-modal__checklist, body.theme-dark .planning-logistics-modal__footer { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); }
body.theme-dark .planning-logistics__columns, body.theme-dark .planning-logistics-modal__body { background: var(--ictus-dark-canvas); border-color: var(--ictus-dark-border); }
body.theme-dark .planning-logistics__row:hover { background: var(--ictus-dark-surface-hover); }
body.theme-dark .planning-category-catalog, body.theme-dark .planning-category-form, body.theme-dark .planning-category-form__preview-day { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); }

/* Locações de espaços */
.planning-locations-page__header-actions { align-items: center; display: flex; gap: .55rem; }
.planning-locations-page__header-actions .btn { align-items: center; display: inline-flex; min-height: 42px; }
.planning-locations-page__search-toggle { display: none; }
.planning-locations { overflow: visible; }
.planning-locations__toolbar { align-items: center; }
.planning-locations__filters { display: flex; flex: 1 1 auto; gap: .6rem; }
.planning-locations__search { flex: 0 1 620px; margin-left: auto; max-width: 620px; }
.planning-locations__location-filter { flex: 0 0 auto; }
.planning-locations__location-filter > .btn { align-items: center; display: inline-flex; gap: .5rem; min-height: 42px; white-space: nowrap; }
.planning-locations__filter-menu { max-height: min(420px, 70vh); min-width: 245px; overflow-y: auto; }
.planning-locations__location-option { align-items: center; display: flex; gap: .55rem; }
.planning-locations__location-option > i { border-radius: 4px; display: inline-block; height: 12px; width: 12px; }
.planning-locations__search-button { min-height: 42px; }
.planning-locations__subheader { justify-content: space-between; }
.planning-locations__tabs { align-items: center; display: flex; gap: .35rem; min-width: 0; }
.planning-locations__tabs button { align-items: center; display: inline-flex; gap: .42rem; }
.planning-locations__tab-icon { font-size: .9rem; }
.planning-locations__total { border: 1px solid var(--ictus-border); border-radius: 999px; color: var(--ictus-lead); font-size: .7rem; font-weight: 750; padding: .38rem .72rem; white-space: nowrap; }
.planning-locations__state { align-items: center; color: var(--ictus-blue); display: flex; flex-direction: column; gap: .7rem; justify-content: center; min-height: 360px; }
.planning-locations__content { background: var(--ictus-screen); padding: 1rem 1.25rem 1.25rem; }
.planning-locations__metrics { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1rem; }
.planning-location-metric { --metric-color: #D97924; align-items: center; background: var(--ictus-white); border: 1px solid var(--ictus-border); border-top: 3px solid var(--metric-color); border-radius: 10px; display: flex; gap: .75rem; min-height: 82px; padding: .75rem 1rem; }
.planning-location-metric > i { align-items: center; background: color-mix(in srgb, var(--metric-color) 11%, transparent); border-radius: 9px; color: var(--metric-color); display: inline-flex; flex: 0 0 38px; font-size: 1rem; height: 38px; justify-content: center; width: 38px; }
.planning-location-metric > div { display: flex; flex-direction: column; }
.planning-location-metric strong { color: var(--ictus-blue); font-size: 1.25rem; line-height: 1; }
.planning-location-metric span { color: var(--ictus-lead); font-size: .64rem; font-weight: 700; margin-top: .25rem; }
.planning-location-metric--blue { --metric-color: var(--ictus-ocean); }
.planning-location-metric--green { --metric-color: #299D6A; }
.planning-location-timeline, .planning-location-list__group { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-radius: 11px; overflow: hidden; }
.planning-location-timeline__navigation { align-items: center; border-bottom: 1px solid var(--ictus-border); display: flex; justify-content: space-between; min-height: 62px; padding: .65rem .85rem; }
.planning-location-timeline__navigation > strong { color: var(--ictus-blue); font-size: .76rem; text-transform: capitalize; }
.planning-location-timeline__navigation > div { display: flex; gap: .4rem; }
.planning-location-timeline__navigation .btn { align-items: center; display: inline-flex; gap: .3rem; }
.planning-location-timeline__scroll { overflow-x: auto; }
.planning-location-timeline table { border-collapse: separate; border-spacing: 0; min-width: 920px; table-layout: fixed; width: 100%; }
.planning-location-timeline th, .planning-location-timeline td { border-bottom: 1px solid var(--ictus-border); border-right: 1px solid var(--ictus-border); padding: .4rem; vertical-align: top; }
.planning-location-timeline thead th { background: #f6f8fb; color: var(--ictus-lead); font-size: .61rem; font-weight: 850; height: 54px; text-align: center; text-transform: uppercase; }
.planning-location-timeline thead th:first-child { background: var(--ictus-blue); color: var(--ictus-white); left: 0; min-width: 160px; position: sticky; text-align: left; width: 160px; z-index: 3; }
.planning-location-timeline thead th strong { display: block; font-size: .72rem; margin-top: .15rem; }
.planning-location-timeline thead th.is-today { background: var(--ictus-ocean); color: var(--ictus-white); }
.planning-location-timeline tbody th { align-items: center; background: var(--ictus-white); color: var(--ictus-blue); display: flex; gap: .55rem; left: 0; min-height: 92px; position: sticky; width: 160px; z-index: 2; }
.planning-location-timeline tbody th > div { display: flex; flex-direction: column; min-width: 0; }
.planning-location-timeline tbody th strong { font-size: .7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-location-timeline tbody th small { color: var(--ictus-lead); font-size: .58rem; }
.planning-location-dot { border-radius: 999px; flex: 0 0 10px; height: 10px; width: 10px; }
.planning-location-timeline tbody td { background: var(--ictus-white); min-height: 92px; }
.planning-location-timeline tbody td.is-weekend { background: #fafbfc; }
.planning-location-timeline tbody td.is-today { box-shadow: inset 0 0 0 2px rgba(var(--ictus-cyan-rgb), .22); }
.planning-location-booking { background: color-mix(in srgb, var(--location-color) 9%, white); border: 0; border-left: 3px solid var(--location-color); border-radius: 6px; color: var(--ictus-blue); display: flex; flex-direction: column; margin-bottom: .3rem; padding: .35rem .4rem; text-align: left; width: 100%; }
.planning-location-booking:hover { filter: brightness(.97); }
.planning-location-booking strong { font-size: .61rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.planning-location-booking small { color: var(--ictus-lead); font-size: .54rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.planning-location-quick-add { background: transparent; border: 1px dashed transparent; border-radius: 6px; color: var(--ictus-lead); font-size: .57rem; opacity: 0; padding: .24rem; transition: opacity .15s ease; width: 100%; }
.planning-location-timeline td:hover .planning-location-quick-add, .planning-location-quick-add:focus-visible { border-color: var(--ictus-border); opacity: 1; }
.planning-location-empty { color: var(--ictus-lead); font-size: .72rem; padding: 2rem !important; text-align: center; }
.planning-location-list { display: flex; flex-direction: column; gap: 1rem; }
.planning-location-list__group > h4 { align-items: center; border-bottom: 1px solid var(--ictus-border); color: var(--ictus-blue); display: flex; font-size: .78rem; font-weight: 850; gap: .45rem; margin: 0; min-height: 54px; padding: .7rem 1rem; text-transform: uppercase; }
.planning-location-list__group > h4 span { align-items: center; background: rgba(var(--ictus-cyan-rgb), .12); border-radius: 999px; color: var(--ictus-ocean); display: inline-flex; font-size: .62rem; height: 25px; justify-content: center; min-width: 25px; padding: 0 .35rem; }
.planning-location-row { align-items: center; border-bottom: 1px solid var(--ictus-border); display: grid; gap: .8rem; grid-template-columns: 110px minmax(220px, 1fr) minmax(130px, auto) 82px; min-height: 76px; padding: .65rem 1rem; }
.planning-location-row:last-child { border-bottom: 0; }
.planning-location-list__rows.is-history .planning-location-row { opacity: .68; }
.planning-location-row__date, .planning-location-row__main { display: flex; flex-direction: column; min-width: 0; }
.planning-location-row__date strong, .planning-location-row__main strong { color: var(--ictus-blue); font-size: .72rem; }
.planning-location-row__date small, .planning-location-row__main small { color: var(--ictus-lead); font-size: .61rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.planning-location-chip { align-items: center; background: color-mix(in srgb, var(--location-color) 9%, white); border: 1px solid color-mix(in srgb, var(--location-color) 30%, white); border-radius: 999px; color: var(--location-color); display: inline-flex; font-size: .61rem; font-weight: 800; gap: .35rem; justify-self: start; max-width: 190px; overflow: hidden; padding: .32rem .55rem; text-overflow: ellipsis; white-space: nowrap; }
.planning-location-chip i { background: var(--location-color); border-radius: 999px; flex: 0 0 7px; height: 7px; width: 7px; }
.planning-location-row__actions { display: flex; gap: .3rem; justify-content: flex-end; }
.planning-location-spaces { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.planning-location-card { background: var(--ictus-white); border: 1px solid var(--ictus-border); border-top: 4px solid var(--location-color); border-radius: 11px; display: flex; flex-direction: column; min-height: 235px; padding: 1rem; text-align: left; }
.planning-location-card__top { align-items: center; display: flex; justify-content: space-between; }
.planning-location-card__top > span { align-items: center; background: color-mix(in srgb, var(--location-color) 10%, white); border-radius: 9px; color: var(--location-color); display: inline-flex; height: 38px; justify-content: center; width: 38px; }
.planning-location-card__actions { display: flex; gap: .25rem; }
.planning-location-card__actions button { align-items: center; background: transparent; border: 0; border-radius: 7px; color: var(--ictus-lead); display: inline-flex; height: 32px; justify-content: center; width: 32px; }
.planning-location-card__actions button:hover { background: var(--ictus-screen); color: var(--ictus-blue); }
.planning-location-card h4 { color: var(--ictus-blue); font-size: .88rem; font-weight: 850; margin: .75rem 0 .2rem; }
.planning-location-card p { color: var(--ictus-lead); flex: 1; font-size: .64rem; line-height: 1.45; margin-bottom: .8rem; }
.planning-location-card__numbers { background: var(--ictus-screen); border-radius: 8px; display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: .75rem; padding: .55rem; }
.planning-location-card__numbers span { align-items: center; border-right: 1px solid var(--ictus-border); color: var(--ictus-lead); display: flex; flex-direction: column; font-size: .54rem; }
.planning-location-card__numbers span:last-child { border-right: 0; }
.planning-location-card__numbers strong { color: var(--ictus-blue); font-size: .82rem; }
.planning-location-card--add { align-items: center; border: 2px dashed var(--ictus-border); color: var(--ictus-lead); gap: .5rem; justify-content: center; }
.planning-location-card--add > i { align-items: center; background: var(--ictus-screen); border-radius: 999px; display: inline-flex; font-size: 1rem; height: 42px; justify-content: center; width: 42px; }
.planning-location-modal .modal-header > div > span { color: var(--ictus-ocean); display: block; font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.planning-location-modal .modal-title { color: var(--ictus-blue); font-size: 1.05rem; font-weight: 850; }
.planning-location-modal__colors { align-items: center; display: flex; flex-wrap: wrap; gap: .42rem; min-height: 38px; }
.planning-location-modal__colors button { border: 2px solid var(--ictus-white); border-radius: 999px; box-shadow: 0 0 0 1px var(--ictus-border); height: 26px; padding: 0; width: 26px; }
.planning-location-modal__colors button.is-selected { box-shadow: 0 0 0 3px var(--ictus-blue); }
.planning-location-modal__colors input { background: transparent; border: 1px solid var(--ictus-border); border-radius: 999px; height: 28px; padding: 2px; width: 32px; }
.planning-location-modal__hint { align-items: center; background: rgba(var(--ictus-cyan-rgb), .08); border-radius: 8px; color: var(--ictus-lead); display: flex; font-size: .63rem; gap: .5rem; margin-top: 1rem; padding: .65rem .75rem; }
.planning-location-modal__hint i { color: var(--ictus-ocean); font-size: .9rem; }

body.theme-dark .planning-dashboard { background: var(--ictus-dark-canvas); }
body.theme-dark .planning-dashboard-kpi, body.theme-dark .planning-dashboard-card { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); }
body.theme-dark .planning-dashboard-card__header, body.theme-dark .planning-dashboard-categories__list button, body.theme-dark .planning-dashboard-upcoming__list > button, body.theme-dark .planning-dashboard-progress__list > button, body.theme-dark .planning-dashboard-attention__list > button { border-color: var(--ictus-dark-border); }
body.theme-dark .planning-dashboard-calendar__track, body.theme-dark .planning-dashboard-categories__track, body.theme-dark .planning-dashboard-upcoming__type { background: var(--ictus-dark-canvas); border-color: var(--ictus-dark-border); }
body.theme-dark .planning-dashboard-attention__reasons em { background: rgba(217, 121, 36, .16); color: #F4BD82; }
body.theme-dark .planning-locations, body.theme-dark .planning-location-metric, body.theme-dark .planning-location-timeline, body.theme-dark .planning-location-list__group, body.theme-dark .planning-location-card, body.theme-dark .planning-location-timeline tbody th, body.theme-dark .planning-location-timeline tbody td { background: var(--ictus-dark-surface); border-color: var(--ictus-dark-border); }

/* Espaços: cores da marca e dos ambientes são decorativas, não cores de texto.
   Os modais ficam fora de #main e precisam do mesmo tratamento de contraste. */
body.theme-dark .planning-locations__content,
body.theme-dark .planning-location-card__numbers,
body.theme-dark .planning-location-card--add > i,
body.theme-dark .planning-location-timeline tbody td.is-weekend {
  background: var(--ictus-midnight);
}
body.theme-dark .planning-location-metric { --metric-color: #f4bd82; border-top-color: var(--metric-color); }
body.theme-dark .planning-location-metric--blue { --metric-color: var(--ictus-cyan-light); }
body.theme-dark .planning-location-metric--green { --metric-color: var(--ictus-healthy-on-dark); }
body.theme-dark .planning-location-card:not(.planning-location-card--add) { border-top-color: var(--location-color); }

body.theme-dark .planning-location-metric strong,
body.theme-dark .planning-location-timeline__navigation > strong,
body.theme-dark .planning-location-timeline tbody th,
body.theme-dark .planning-location-booking,
body.theme-dark .planning-location-list__group > h4,
body.theme-dark .planning-location-row__date strong,
body.theme-dark .planning-location-row__main strong,
body.theme-dark .planning-location-card h4,
body.theme-dark .planning-location-card__numbers strong,
body.theme-dark .planning-location-modal .modal-title,
body.theme-dark .planning-location-modal .planning-responsible-field__types button,
body.theme-dark .planning-location-modal .planning-responsible-field__person strong {
  color: var(--ictus-screen);
}

body.theme-dark .planning-locations__total,
body.theme-dark .planning-locations__state,
body.theme-dark .planning-location-metric span,
body.theme-dark .planning-location-timeline tbody th small,
body.theme-dark .planning-location-booking small,
body.theme-dark .planning-location-quick-add,
body.theme-dark .planning-location-empty,
body.theme-dark .planning-location-row__date small,
body.theme-dark .planning-location-row__main small,
body.theme-dark .planning-location-card p,
body.theme-dark .planning-location-card__numbers span,
body.theme-dark .planning-location-card--add,
body.theme-dark .planning-location-card__actions button,
body.theme-dark .planning-location-modal__hint,
body.theme-dark .planning-location-modal .planning-responsible-field__person small,
body.theme-dark .planning-location-modal .planning-responsible-field__contacts,
body.theme-dark .planning-location-modal .planning-responsible-field__hint {
  color: var(--ictus-dark-muted);
}

body.theme-dark .planning-locations__total,
body.theme-dark .planning-location-card__numbers span {
  border-color: var(--ictus-dark-border);
}

/* Restaura também largura/estilo: o reset do tema dark zera as bordas da tabela. */
body.theme-dark .planning-location-timeline { --spaces-grid-line: #6b849f; border-color: var(--spaces-grid-line); }
body.theme-dark .planning-location-timeline :is(th, td) {
  border-right: 1px solid var(--spaces-grid-line);
  border-bottom: 1px solid var(--spaces-grid-line);
}
body.theme-dark .planning-location-timeline__navigation { border-bottom-color: var(--spaces-grid-line); }
body.theme-dark .planning-location-list__group > h4,
body.theme-dark .planning-location-row { border-color: #6b849f; }
/* Mantém a divisória da coluna fixa alinhada à linha inteira, mesmo com várias reservas. */
body.theme-dark .planning-location-timeline tbody th { display: table-cell; vertical-align: middle; }
body.theme-dark .planning-location-timeline tbody th > .planning-location-dot { display: inline-block; margin-right: .55rem; vertical-align: middle; }
body.theme-dark .planning-location-timeline tbody th > div { display: inline-flex; vertical-align: middle; width: calc(100% - 24px); }

body.theme-dark .planning-location-timeline thead th {
  background: var(--ictus-midnight);
  color: var(--ictus-dark-muted);
}
body.theme-dark .planning-location-timeline thead th:is(:first-child, .is-today) {
  background: var(--ictus-dark-surface-hover);
  color: var(--ictus-screen);
}
body.theme-dark .planning-location-timeline thead th.is-today {
  box-shadow: inset 0 -3px var(--ictus-cyan);
}

body.theme-dark .planning-location-booking,
body.theme-dark .planning-location-chip,
body.theme-dark .planning-location-card__top > span {
  background: var(--ictus-dark-surface-hover);
  color: var(--ictus-screen);
}
body.theme-dark .planning-location-chip { border-color: var(--ictus-dark-border); }
body.theme-dark .planning-location-booking:hover { background: #10416c; filter: none; }
body.theme-dark .planning-location-list__rows.is-history .planning-location-row { opacity: 1; }
body.theme-dark .planning-location-list__group > h4 span,
body.theme-dark .planning-location-modal .modal-header > div > span,
body.theme-dark .planning-location-modal__hint i,
body.theme-dark .planning-location-modal .planning-responsible-field__contacts i,
body.theme-dark .planning-location-modal .planning-responsible-field__person > i {
  color: var(--ictus-cyan-light);
}
body.theme-dark .planning-location-card__actions button:hover {
  background: var(--ictus-dark-surface-hover);
  color: var(--ictus-screen);
}

body.theme-dark #main.planning-locations-page :is(.btn-outline-primary, .btn-outline-secondary),
body.theme-dark .planning-location-modal .btn-outline-secondary {
  background: transparent;
  border-color: #72849a;
  color: var(--ictus-screen);
}
body.theme-dark #main.planning-locations-page .btn-outline-danger {
  border-color: var(--ictus-critical-on-dark);
  color: var(--ictus-critical-on-dark);
}
body.theme-dark #main.planning-locations-page :is(.btn-outline-primary, .btn-outline-secondary, .btn-outline-danger):is(:hover, :focus-visible, :active, .show),
body.theme-dark .planning-location-modal .btn-outline-secondary:is(:hover, :focus-visible, :active) {
  background: var(--ictus-dark-surface-hover);
  color: var(--ictus-white);
}
body.theme-dark #main.planning-locations-page .planning-locations__filter-menu .btn-link {
  color: var(--ictus-cyan-light);
}
body.theme-dark #main.planning-locations-page .form-control::placeholder,
body.theme-dark .planning-location-modal .form-control::placeholder {
  color: var(--ictus-dark-muted);
  opacity: 1;
}
body.theme-dark .planning-location-modal :is(input, select) { color-scheme: dark; }
body.theme-dark .planning-location-modal .form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b9c5d3' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
body.theme-dark .planning-location-modal .btn-close { filter: invert(1); opacity: .85; }
body.theme-dark .planning-location-modal .btn-close:is(:hover, :focus-visible) { opacity: 1; }
body.theme-dark .planning-locations .alert-danger {
  /* O componente compartilhado define estas duas propriedades com !important. */
  background: #402c40 !important;
  border-color: var(--ictus-critical-on-dark);
  color: #ffd7d7 !important;
}
body.theme-dark .planning-location-modal .planning-responsible-field__types button.is-active {
  background: var(--ictus-dark-surface-hover);
  color: var(--ictus-white);
}
body.theme-dark .planning-location-modal .planning-responsible-field__avatar {
  background: var(--ictus-dark-surface-hover);
  color: var(--ictus-cyan-light);
}
body.theme-dark .planning-location-modal .planning-responsible-field__person { border-color: var(--ictus-dark-border); }
body.theme-dark .planning-location-modal__colors button.is-selected { box-shadow: 0 0 0 3px var(--ictus-cyan-light); }
body.theme-dark .planning-locations-page :is(.planning-location-booking, .planning-location-quick-add, .planning-location-card--add, .planning-location-card__actions button):focus-visible,
body.theme-dark .planning-location-modal .planning-responsible-field__types button:focus-visible {
  outline: 2px solid var(--ictus-cyan-light);
  outline-offset: 2px;
}
body.theme-dark .planning-category-table thead th, body.theme-dark .planning-category-form__preview, body.theme-dark .planning-category-form__footer { background: var(--ictus-dark-canvas); border-color: var(--ictus-dark-border); }

@media (max-width: 1199.98px) {
  .annual-planning-page__toolbar { align-items: stretch; }
  .annual-planning-page__filters { width: 100%; }
  .annual-planning-page__toolbar .entity-list__search { margin-left: 0; }
  .planning-dashboard__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-dashboard__grid--charts, .planning-dashboard__grid--operations { grid-template-columns: 1fr; }
  .planning-pre-overview__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-pre-overview__layout { grid-template-columns: 1fr; }
  .planning-pre-configured__row { grid-template-columns: 5px minmax(180px, 1fr) fit-content(450px) 64px 16px; }
  .planning-pre-configured__meetings em { min-width: 126px; }
  .planning-logistics__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-logistics__table { overflow-x: auto; }
  .planning-logistics__columns, .planning-logistics__row { min-width: 980px; }
}

@media (max-width: 767.98px) {
  body #main.annual-planning-page .page-content {
    margin-top: 120px;
    padding-top: 12px;
  }

  #main.annual-planning-page .page-heading.fixed-top {
    border-bottom: 0;
    box-shadow: none !important;
    padding: 10px 12px;
    z-index: 990;
  }

  #main.annual-planning-page .visitors-list-page__title-row { gap: 4px; }
  #main.annual-planning-page .visitors-list-page__title-copy { gap: 6px; min-width: 0; }
  #main.annual-planning-page .annual-planning-page__header-actions { display: flex; flex-direction: row; gap: 0; margin: 0; }
  #main.annual-planning-page .annual-planning-page__search-toggle {
    align-items: center;
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    padding: 0;
    width: 40px;
  }
  #main.annual-planning-page .annual-planning-page__create,
  #main.annual-planning-page .annual-planning-page__options { border: 0; border-radius: 0; box-shadow: none; flex: 0 0 40px; height: 40px; justify-content: center; padding: 0; width: 40px; }
  #main.annual-planning-page .annual-planning-page__header-actions > .dropdown { background: transparent; border: 0; box-shadow: none; }
  #main.annual-planning-page .annual-planning-page__options-menu { height: auto; max-height: calc(100vh - 76px); max-width: calc(100vw - 24px); overflow-y: auto; width: min(290px, calc(100vw - 24px)); }
  #main.annual-planning-page .annual-planning-page__create { background: transparent; color: var(--ictus-blue); }
  #main.annual-planning-page .annual-planning-page__create span { display: none; }

  #main.annual-planning-page .annual-planning-page__tabs {
    background: var(--ictus-blue);
    border: 0;
    border-radius: 0;
    box-shadow: 0 4px 12px rgba(var(--ictus-midnight-rgb), .12);
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    height: 60px;
    left: 0;
    margin: 0;
    overflow: hidden;
    padding: 0 4px;
    position: fixed;
    right: 0;
    top: 60px;
    width: 100%;
    z-index: 989;
  }

  #main.annual-planning-page .annual-planning-page__tabs .visitors-list-page__tab {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    box-shadow: none;
    color: var(--ictus-white);
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    margin: 0;
    min-height: 60px;
    opacity: .78;
    padding: 6px 5px;
  }

  #main.annual-planning-page .annual-planning-page__tabs .visitors-list-page__tab.is-active {
    background: transparent;
    border-bottom-color: var(--ictus-cyan-light);
    color: var(--ictus-white);
    opacity: 1;
  }

  #main.annual-planning-page .annual-planning-page__tabs .visitors-list-page__tab:not(.is-active):hover,
  #main.annual-planning-page .annual-planning-page__tabs .visitors-list-page__tab:not(.is-active):focus {
    background: transparent;
    color: var(--ictus-white);
    opacity: 1;
  }

  #main.annual-planning-page .annual-planning-page__tab-icon {
    display: inline-block;
    font-size: 19px;
    line-height: 1;
    margin: 0;
  }

  #main.annual-planning-page .annual-planning-page__tabs .visitors-list-page__tab span {
    color: inherit;
    font-size: 10px;
    line-height: 1.2;
  }

  #main.annual-planning-page #annual-planning-search-panel { display: none; }
  #main.annual-planning-page #annual-planning-search-panel.is-open { display: flex; }

  #main.annual-planning-page .annual-planning-page__filters {
    display: grid;
    gap: .35rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
  }

  #main.annual-planning-page .annual-planning-page__filter {
    min-width: 0;
    width: 100%;
  }

  #main.annual-planning-page .annual-planning-page__filter > .btn {
    height: 42px;
    justify-content: center;
    overflow: visible;
    padding: 0;
    position: relative;
    width: 100%;
  }

  #main.annual-planning-page .annual-planning-page__filter > .btn > span:not(.badge),
  #main.annual-planning-page .annual-planning-page__filter > .btn.dropdown-toggle::after { display: none; }

  #main.annual-planning-page .annual-planning-page__filter .badge {
    align-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    display: inline-flex;
    font-size: .59rem;
    height: 19px;
    justify-content: center;
    min-width: 19px;
    padding: 0 3px;
    position: absolute;
    right: -5px;
    top: -5px;
  }

  .annual-planning-page__panel { min-height: 300px; padding: .75rem; }
  .planning-dashboard { padding: .65rem; }
  .planning-dashboard__hero { align-items: flex-start; min-height: 144px; padding: .9rem; }
  .planning-dashboard__hero h4 { font-size: 1rem; }
  .planning-dashboard__hero p { font-size: .65rem; padding-right: .75rem; }
  .planning-dashboard__hero-number { align-items: flex-end; min-width: 70px; }
  .planning-dashboard__hero-number strong { font-size: 1.55rem; }
  .planning-dashboard__hero-number span { max-width: 76px; text-align: right; }
  .planning-dashboard__kpis { gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-dashboard-kpi { align-items: flex-start; flex-direction: column; gap: .45rem; min-height: 142px; padding: .7rem; }
  .planning-dashboard-kpi > i { flex-basis: 34px; height: 34px; width: 34px; }
  .planning-dashboard-kpi strong { font-size: 1.15rem; }
  .planning-dashboard-kpi span { font-size: .65rem; }
  .planning-dashboard-card__header { align-items: flex-start; min-height: 88px; padding: .7rem; }
  .planning-dashboard-card__header p { font-size: .59rem; }
  .planning-dashboard-calendar__bars { gap: .18rem; height: 220px; padding: .75rem .5rem .65rem; }
  .planning-dashboard-calendar__track { width: min(18px, 82%); }
  .planning-dashboard-calendar__bars strong, .planning-dashboard-calendar__value { font-size: .49rem; }
  .planning-dashboard-upcoming__list > button { gap: .45rem; grid-template-columns: 82px minmax(0, 1fr) 14px; min-height: 74px; padding: .6rem .7rem; }
  .planning-dashboard-upcoming__type { display: none; }
  .planning-dashboard-attention__list > button { align-items: start; gap: .45rem; grid-template-columns: 82px minmax(0, 1fr) 14px; padding: .65rem .7rem; }
  .planning-dashboard-attention__reasons { grid-column: 2; justify-content: flex-start; }
  .planning-dashboard-attention__list > button > i:last-child { grid-column: 3; grid-row: 1 / span 2; margin-top: .35rem; }
  .planning-dashboard-attention__reasons em { font-size: .52rem; }
  .planning-pre-overview { padding: .65rem; }
  .planning-pre-overview__hero { align-items: flex-start; min-height: 124px; padding: .9rem; }
  .planning-pre-overview__hero h4 { font-size: 1rem; }
  .planning-pre-overview__hero p { font-size: .66rem; padding-right: 2.5rem; }
  .planning-pre-overview__hero > i { flex-basis: 42px; font-size: 1rem; height: 42px; width: 42px; }
  .planning-pre-overview__metrics { gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-pre-metric { align-items: flex-start; flex-direction: column; gap: .45rem; min-height: 132px; padding: .7rem; }
  .planning-pre-metric > i { flex-basis: 34px; height: 34px; width: 34px; }
  .planning-pre-metric strong { font-size: 1.15rem; }
  .planning-pre-metric span { font-size: .66rem; }
  .planning-pre-section__header { align-items: flex-start; min-height: 86px; padding: .7rem; }
  .planning-pre-section__header p { font-size: .61rem; }
  .planning-pre-row { gap: .45rem; grid-template-columns: 82px minmax(0, 1fr) 14px; min-height: 76px; padding: .6rem .7rem; }
  .planning-pre-row__tag, .planning-pre-row__action { display: none; }
  .planning-pre-row__date strong { font-size: .61rem; }
  .planning-pre-row__content strong { font-size: .69rem; }
  .planning-pre-configured__row { gap: .5rem; grid-template-columns: 4px minmax(0, 1fr) 46px 14px; min-height: 76px; padding: .6rem .7rem; }
  .planning-pre-configured__meetings { display: none; }
  .planning-pre-configured__count strong { font-size: .78rem; }
  .planning-pre-configured__event strong { font-size: .7rem; }
  .planning-pre-configured__event small { white-space: normal; }
  .planning-logistics { padding: .65rem; }
  .planning-logistics__hero { align-items: stretch; flex-direction: column; gap: .75rem; padding: .9rem; }
  .planning-logistics__hero h4 { font-size: 1rem; }
  .planning-logistics__month .btn { justify-content: space-between; width: 100%; }
  .planning-logistics__metrics { gap: .5rem; }
  .planning-logistics__metrics article { align-items: flex-start; flex-direction: column; gap: .45rem; min-height: 128px; padding: .7rem; }
  .planning-logistics__metrics article > i { flex-basis: 34px; height: 34px; width: 34px; }
  .planning-logistics__table { overflow-x: visible; }
  .planning-logistics__columns { display: none; }
  .planning-logistics__row { align-items: start; gap: .5rem; grid-template-columns: 82px minmax(0, 1fr) 34px; min-width: 0; padding: .75rem; }
  .planning-logistics__event { grid-column: 2; grid-row: 1; }
  .planning-logistics__date { grid-column: 1; grid-row: 1; }
  .planning-logistics__value { grid-column: 1 / 3; padding-left: 87px; }
  .planning-logistics__progress { grid-column: 1 / 3; padding-left: 87px; }
  .planning-logistics__action { grid-column: 3; grid-row: 1 / 5; min-height: 34px; }
  .planning-logistics__action span { display: none; }
  .planning-logistics-modal .modal-dialog { align-items: flex-end; height: 100%; margin: 0; max-width: none; width: 100%; }
  .planning-logistics-modal .modal-content { border-radius: 16px 16px 0 0; max-height: 94vh; }
  .planning-logistics-modal__add { grid-template-columns: 1fr; }
  .planning-logistics-modal__add .btn { width: 100%; }
  .planning-logistics-modal__footer { display: grid; grid-template-columns: 1fr 1.35fr; }
  .planning-logistics-modal__footer .btn { width: 100%; }
  .annual-calendar__header { min-height: 58px; padding: .55rem .65rem; }
  .annual-calendar__navigation { gap: .4rem; }
  .annual-calendar__nav-button { flex-basis: 32px; height: 32px; width: 32px; }
  .annual-calendar__title { min-width: 118px; }
  .annual-calendar__title > span { display: none; }
  .annual-calendar__title h4 { font-size: .91rem; margin: 0; }
  .annual-calendar__today { height: 34px; padding: 0 .65rem; }
  .annual-calendar__today span { display: none; }
  .annual-calendar__header-actions { gap: .35rem; }
  .annual-calendar__focus { flex-basis: 34px; height: 34px; width: 34px; }
  .annual-calendar__weekday-full { display: none; }
  .annual-calendar__weekday-short { display: inline; }
  .annual-calendar__weekdays > div { font-size: .58rem; padding: .38rem .1rem; }
  .annual-calendar__day { min-height: 75px; padding: .22rem; }
  .annual-calendar__day-button { margin-bottom: .16rem; }
  .annual-calendar__holiday { flex: 0 0 12px; font-size: 0; gap: 0; height: 12px; justify-content: center; margin-right: auto; width: 12px; }
  .annual-calendar__holiday i { font-size: .58rem; }
  .annual-calendar__day-number { font-size: .67rem; height: 22px; width: 22px; }
  .annual-calendar__day-add { display: none; }
  .annual-calendar__event { border-left-width: 0; display: flex; gap: 2px; justify-content: center; min-height: 8px; padding: 1px; }
  .annual-calendar__event > i { height: 6px; width: 6px; }
  .annual-calendar__event > span, .annual-calendar__event > small { display: none; }
  .annual-calendar__more { font-size: .52rem; overflow: hidden; padding: 0; text-align: center; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
  .annual-calendar__months { grid-template-columns: repeat(12, minmax(28px, 1fr)); }
  body.annual-planning-calendar-focus .annual-calendar__day { min-height: 0; }
  .planning-day-modal .modal-dialog { height: 100%; margin: 0; max-width: none; width: 100%; }
  .planning-day-modal .modal-content { border-radius: 0; height: 100%; }
  .planning-day-modal__header { min-height: 66px; padding: .7rem .85rem; }
  .planning-day-modal__heading h4 { font-size: .9rem; }
  .planning-day-modal__body, .planning-event-form__body { padding: .8rem; }
  .planning-day-modal__summary { align-items: stretch; flex-direction: column; gap: .65rem; }
  .planning-day-modal__summary .btn { justify-content: center; width: 100%; }
  .planning-day-plans__header { padding: .7rem; }
  .planning-day-plan { gap: .6rem; grid-template-columns: 58px minmax(0, 1fr) 14px; min-height: 80px; padding: .7rem; }
  .planning-day-plan__time { padding-right: .55rem; }
  .planning-day-plan__time strong { font-size: .85rem; }
  .planning-day-plan__badge { display: none; }
  .planning-day-plan__content > small { white-space: normal; }
  .planning-day-event { gap: .55rem; grid-template-columns: 4px 34px minmax(0, 1fr) 14px; min-height: 72px; padding: .65rem .7rem; }
  .planning-day-event__icon { height: 34px; width: 34px; }
  .planning-day-event__period { display: none; }
  .planning-event-form__intro { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .planning-event-form__types { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .planning-event-form__types label { min-height: 66px; }
  .planning-event-form__section { padding: .8rem; }
  .planning-event-copy__heading { align-items: flex-start; flex-wrap: wrap; }
  .planning-event-copy__heading > .btn { margin-left: 42px; }
  .planning-event-copy__picker { grid-template-columns: 1fr; }
  .planning-event-copy__picker .btn { width: 100%; }
  .planning-event-form__footer { align-items: stretch; flex-direction: column-reverse; gap: .6rem; padding: .7rem .8rem; }
  .planning-event-form__actions { display: grid; grid-template-columns: 1fr 1.35fr; margin: 0; width: 100%; }
  .planning-event-form__actions .btn { justify-content: center; }
  .planning-event-form__danger { width: 100%; }
  .planning-event-form__secondary-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .planning-event-form__duplicate { justify-content: center; width: 100%; }
  .planning-event-form__delete-confirm { justify-content: space-between; }
  .planning-recurrence__heading { align-items: flex-start; flex-wrap: wrap; }
  .planning-recurrence__switch { margin-left: 42px; }
  .planning-recurrence__patterns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-recurrence__patterns label:last-child { grid-column: 1 / -1; }
  .planning-recurrence__end { align-items: stretch; }
  .planning-recurrence__label { flex-basis: 100%; }
  .planning-recurrence__end > .form-control, .planning-recurrence__count { flex: 1 1 100%; max-width: none; }
  .planning-recurrence__preview { align-items: flex-start; flex-direction: column; }
  .planning-recurrence__preview ol { justify-content: flex-start; }
  .planning-series-scope fieldset { grid-template-columns: 1fr; }
  .planning-pre-meetings__heading { align-items: flex-start; flex-wrap: wrap; }
  .planning-pre-meetings__switch { margin-left: 42px; }
  .planning-pre-meetings__count { max-width: none; }
  .planning-pre-meeting-row__fields { grid-template-columns: 1fr; }
  .planning-pre-meeting-row__objective { grid-column: auto; }
  .planning-move-modal .modal-dialog { align-items: flex-end; height: 100%; margin: 0; max-width: none; width: 100%; }
  .planning-move-modal .modal-content { border-radius: 16px 16px 0 0; max-height: 92vh; }
  .planning-move-modal__route { grid-template-columns: 1fr; }
  .planning-move-modal__route > i { transform: rotate(90deg); }
  .planning-move-modal__scope { grid-template-columns: 1fr; }
  .planning-move-modal__footer { display: grid; grid-template-columns: 1fr 1.35fr; }
  .planning-move-modal__footer .btn { width: 100%; }
  body #main.planning-category-page .page-content { padding-top: 12px; }
  #main.planning-category-page .page-heading.fixed-top { border-bottom: 1px solid var(--ictus-border); padding: 10px 12px; }
  .planning-category-page__title-copy { gap: 6px; }
  .planning-category-page__title-copy h3 { font-size: 1.08rem; margin: 0; }
  .planning-category-page__title-copy p { display: none; }
  .planning-category-page__breadcrumb { display: none; }
  .planning-category-catalog__toolbar { align-items: stretch; flex-direction: column; gap: .65rem; padding: .75rem; }
  .planning-category-catalog__search { max-width: none; }
  .planning-category-catalog__toolbar .btn { width: 100%; }
  .planning-category-catalog__help { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .planning-category-table tbody td { padding: .65rem .5rem; }
  .planning-category-table__drag { width: 38px; }
  .planning-category-chip { font-size: .66rem; }
  .planning-category-form__card { padding: .9rem; }
  .planning-category-form__footer { display: grid; grid-template-columns: 1fr 1.35fr; padding: .75rem .9rem; }
  .planning-category-form__footer .btn { width: 100%; }
  #main.planning-locations-page .visitors-list-page__title-row { gap: 4px; }
  #main.planning-locations-page .visitors-list-page__title-copy { gap: 6px; min-width: 0; }
  #main.planning-locations-page .visitors-list-page__title-copy h3 { font-size: 1.08rem; margin: 0; }
  #main.planning-locations-page .planning-locations-page__header-actions { display: flex; flex-direction: row; gap: 0; margin: 0; }
  #main.planning-locations-page .planning-locations-page__search-toggle,
  #main.planning-locations-page .planning-locations-page__new-reservation {
    align-items: center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    min-height: 40px;
    padding: 0;
    width: 40px;
  }
  #main.planning-locations-page .planning-locations-page__new-reservation { background: transparent; color: var(--ictus-blue); }
  #main.planning-locations-page .planning-locations-page__new-reservation span { display: none; }
  #main.planning-locations-page .planning-locations-page__new-reservation .me-2 { margin: 0 !important; }
  #main.planning-locations-page #spaces-search-panel { display: none; }
  #main.planning-locations-page #spaces-search-panel.is-open { display: flex; }
  .planning-locations__toolbar { align-items: stretch; flex-direction: column; padding: .75rem; }
  .planning-locations__filters { width: 100%; }
  .planning-locations__search { flex-basis: auto; margin-left: 0; max-width: none; min-width: 0; width: 100%; }
  .planning-locations__location-filter { flex: 1 1 auto; min-width: 0; width: 100%; }
  #main.planning-locations-page .planning-locations__location-filter > .btn { justify-content: center; width: 100%; }
  .planning-locations__tabs { flex: 1 0 auto; justify-content: stretch; width: 100%; }
  #main.planning-locations-page .planning-locations__tabs .visitors-list-page__tab { flex: 1 0 88px; }
  #main.planning-locations-page .planning-locations__tab-icon { display: inline-block; font-size: 19px; line-height: 1; margin: 0; }
  .planning-locations__total { display: none; }
  .planning-locations__content { padding: .7rem; }
  .planning-locations__metrics { display: flex; overflow-x: auto; padding-bottom: .25rem; }
  .planning-location-metric { flex: 0 0 175px; min-height: 72px; }
  .planning-location-timeline__navigation { gap: .4rem; padding: .55rem; }
  .planning-location-timeline__navigation .btn span { display: none; }
  .planning-location-timeline__navigation > strong { font-size: .64rem; text-align: center; }
  .planning-location-row { align-items: start; grid-template-columns: 76px minmax(0, 1fr) auto; padding: .65rem .7rem; }
  .planning-location-chip { grid-column: 2; }
  .planning-location-row__actions { grid-column: 3; grid-row: 1 / span 2; }
  .planning-location-spaces { grid-template-columns: 1fr; }
  #planningLocationModal .modal-dialog, #planningReservationModal .modal-dialog { align-items: flex-end; height: 100%; margin: 0; max-width: none; width: 100%; }
  .planning-location-modal.modal-content { border-radius: 16px 16px 0 0; max-height: 94vh; overflow-y: auto; }
}

/* Espaços: use the same light/dark tokens as the existing workspace. */
.planning-location-timeline tbody th { display: table-cell; vertical-align: middle; }
.planning-location-timeline tbody th > .planning-location-dot { display: inline-block; margin-right: .55rem; vertical-align: middle; }
.planning-location-timeline tbody th > div { display: inline-flex; vertical-align: middle; width: calc(100% - 24px); }
.planning-locations__filters .space-site-filter,
.planning-locations__filters .space-status-filter { width: auto; min-width: 150px; max-width: 225px; }
.planning-locations__filters { flex-wrap: wrap; }
.planning-locations__location-option > i { flex: 0 0 12px; }
.planning-locations__location-option > span { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.planning-locations__location-option strong,
.planning-locations__location-option small { display: block; }
.planning-locations__location-option small { color: var(--ictus-lead); margin-top: .15rem; }
body.theme-dark .planning-locations__location-option small { color: var(--ictus-dark-muted); }
.space-catalog-form { padding: 1rem; border: 1px solid var(--bs-border-color, #dce3ed); border-radius: 12px; }
.space-catalog-list { display: grid; gap: .65rem; }
.space-catalog-list article { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem; border: 1px solid var(--bs-border-color, #dce3ed); border-radius: 12px; }
.space-catalog-list article > div:first-child { min-width: 0; overflow-wrap: anywhere; }
.space-catalog-list small { display: block; color: var(--bs-secondary-color, #64748b); }
.space-block-pill { display: block; border: 1px dashed #bb7045; color: #8e3d10; background: #fff0df; border-radius: 8px; padding: .45rem; font-size: .75rem; margin-bottom: .4rem; }
.space-block-pill small { display: block; }
.space-policy-summary, .space-site-label { font-size: .78rem; overflow-wrap: anywhere; }
.space-policy-form { border-top: 1px solid var(--bs-border-color, #dce3ed); padding-top: 1rem; }
.space-policy-form legend { float: none; width: auto; }
.space-policy-form .form-check-label { font-size: .88rem; }
.space-qr-code { background: #fff; padding: 18px; display: inline-block; max-width: 100%; border-radius: 12px; }
.space-qr-code img, .space-qr-code canvas { max-width: 100%; height: auto; }
.space-qr-link { display: block; overflow-wrap: anywhere; font-size: .8rem; }
.planning-location-row { grid-template-columns: 110px minmax(180px, 1fr) minmax(130px, auto) 190px; }
.planning-location-row__actions { flex-wrap: wrap; max-width: 190px; }
.planning-location-row__actions .btn { white-space: nowrap; }
body.theme-dark .space-catalog-form,
body.theme-dark .space-catalog-list article,
body.theme-dark .space-policy-form { border-color: var(--ictus-dark-border, #53657b); color: #f1f5f9; }
body.theme-dark .space-catalog-list small { color: #cbd5e1; }
body.theme-dark .space-block-pill { color: #ffdeb5; background: #49341e; border-color: #e4a86e; }
body.theme-dark .planning-location-modal .alert-secondary { background: #25364a; color: #edf5ff; border-color: #566a82; }
body.theme-dark .planning-location-modal .alert-info,
body.theme-dark #main.planning-locations-page .alert-info { background: #153d54; color: #def4ff; border-color: #567e97; }
body.theme-dark .planning-location-modal .alert-danger { background: #512832; color: #ffe3e8; border-color: #a66878; }
body.theme-dark .planning-location-modal .btn-outline-primary { color: #a6e4ff; border-color: #7bc8e8; }
body.theme-dark .planning-location-modal .btn-outline-primary:is(:hover, :focus-visible) { color: #fff; background: #164967; }
body.theme-dark .planning-locations-page .btn-outline-success { color: #b7f3cc; border-color: #72c793; }
body.theme-dark .planning-locations-page .btn-outline-success:is(:hover, :focus-visible) { color: #fff; background: #225c3a; }
body.theme-dark #main.planning-locations-page .space-booking-status.text-warning { color: #ffe08a !important; }
@media (max-width: 767px) {
  .planning-locations__filters .space-site-filter,
  .planning-locations__filters .space-status-filter { flex: 1 1 140px; max-width: 100%; min-width: 0; }
  .planning-location-row__actions { max-width: 80px; }
  .planning-location-row { grid-template-columns: 65px minmax(0, 1fr) 80px; gap: .5rem; }
  .space-catalog-list article { align-items: flex-start; }
}
@media print {
  body:has(#spaceQrModal.show) { background: #fff !important; }
  body:has(#spaceQrModal.show) #main, body:has(#spaceQrModal.show) #sidebar,
  body:has(#spaceQrModal.show) .modal-backdrop, body:has(#spaceQrModal.show) .modal:not(#spaceQrModal),
  #spaceQrModal .modal-header, #spaceQrModal .modal-footer { display: none !important; }
  #spaceQrModal.show { position: static !important; overflow: visible !important; color: #111 !important; }
  #spaceQrModal .modal-content { border: 0; box-shadow: none; color: #111 !important; background: #fff !important; }
  #spaceQrModal .space-qr-print,
  #spaceQrModal .space-qr-print :is(h3, p, a) { color: #111 !important; }
}
