/* Calendar operations board — mini month + daily schedule + upcoming */
body.gce-calendar-mockup .cal-page--board{gap:8px;overflow:hidden;color:#0f172a}
.cal-page--board .cal-page-head{padding:2px 4px 0}
.cal-page--board .cal-page-head-row{align-items:center;flex-wrap:nowrap}
.cal-page--board .cal-topbar-right{min-width:0;flex-wrap:nowrap}
.cal-board-search{width:250px;min-width:150px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #d8e0ea;border-radius:9px;background:#fff;color:#64748b}
.cal-board-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#0f172a;font:inherit;font-size:14px}
.cal-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px;flex:0 0 auto}
.cal-board-toolbar .cal-toolbar-center{display:flex;align-items:center;gap:7px}
.cal-board-shell{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr) minmax(230px,280px);gap:8px;overflow:hidden}
.cal-board-left,.cal-board-right{min-width:0;min-height:0;overflow:auto;padding:10px;border:1px solid #d8e0ea;border-radius:13px;background:rgba(255,255,255,.92)}
.cal-board-center{min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.cal-board-mini{padding-bottom:12px;border-bottom:1px solid #e2e8f0}
.cal-board-mini-head{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;margin-bottom:8px}
.cal-board-mini-head b{text-align:center;font-size:15px}
.cal-board-mini-head button{width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:#475569;cursor:pointer}
.cal-board-mini-head button:hover{background:#dbeafe;color:#1e3a8a}
.cal-board-mini-weekdays,.cal-board-mini-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.cal-board-mini-weekdays span{padding:3px 0;text-align:center;color:#64748b;font-size:11px;font-weight:800}
.cal-board-mini-day{aspect-ratio:1;min-width:0;border:0;border-radius:50%;background:transparent;color:#334155;font:inherit;font-size:12px;cursor:pointer}
.cal-board-mini-day:hover{background:#dbeafe;color:#1e3a8a}
.cal-board-mini-day.is-muted{color:#cbd5e1}
.cal-board-mini-day.is-today{box-shadow:inset 0 0 0 1px #93c5fd}
.cal-board-mini-day.is-selected{background:#1e3a8a;color:#fff;box-shadow:none}
.cal-board-new-side{width:100%;margin-top:10px;padding:8px 10px;border:0;border-radius:8px;background:#1e3a8a;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.cal-board-side-section{padding-top:12px}
.cal-board-side-section h4,.cal-board-crew-filter{display:block;margin:0 0 8px;color:#475569;font-size:12px;font-weight:800}
.cal-board-side-section h4:not(:first-child){margin-top:15px}
.cal-board-filter-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:24px}
.cal-board-filter-row>span{width:7px;height:7px;border-radius:50%}
.cal-board-filter-row b{font-size:12px;font-weight:650}
.cal-board-filter-row em{min-width:18px;padding:2px 5px;border-radius:999px;background:#f1f5f9;color:#64748b;text-align:center;font-size:11px;font-style:normal}
.cal-board-crew-filter select{width:100%;margin-top:6px;padding:7px 9px;border:1px solid #d8e0ea;border-radius:7px;background:#fff;color:#334155;font:inherit;font-size:12px}
.cal-board-legend{display:flex;flex-direction:column;gap:7px}
.cal-board-legend span{display:flex;align-items:center;gap:7px;color:#475569;font-size:12px}
.cal-board-legend i{width:7px;height:7px;border-radius:50%}
.cal-board-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:0 0 auto;border:1px solid #d8e0ea;border-radius:11px;overflow:hidden;background:#fff}
.cal-board-week-day{min-width:0;min-height:65px;padding:8px 5px;border:0;border-right:1px solid #e2e8f0;background:#fff;color:#334155;text-align:center;cursor:pointer}
.cal-board-week-day:last-child{border-right:0}
.cal-board-week-day span,.cal-board-week-day b,.cal-board-week-day small{display:block}
.cal-board-week-day span{font-size:11px;font-weight:700;color:#64748b}
.cal-board-week-day b{margin:3px 0;font-size:13px}
.cal-board-week-day small{font-size:10px;color:#64748b}
.cal-board-week-day small i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:#22c55e}
.cal-board-week-day.is-selected{background:#1e3a8a;color:#fff;box-shadow:inset 0 -3px 0 #172554}
.cal-board-week-day.is-selected :is(span,small){color:#dbeafe}
.cal-board-week-day.is-selected small i{background:#fff}
.cal-board-day,.cal-board-agenda,.cal-board-month,.cal-board-week{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid #d8e0ea;border-radius:11px;background:#fff}
.cal-board-day{display:flex;flex-direction:column;overflow:hidden}
.cal-board-day-head{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-bottom:1px solid #e2e8f0}
.cal-board-day-head b{font-size:14px}.cal-board-day-head span{font-size:11px;color:#64748b}
.cal-board-day-list{flex:1;min-height:0;overflow:auto;padding:6px 10px}
.cal-board-list-row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start;gap:8px;padding:5px 0;border-bottom:1px solid #eef2f7}
.cal-board-list-row:last-child{border-bottom:0}
.cal-board-list-row>time{padding-top:13px;color:#64748b;text-align:right;font-size:11px;font-weight:700}
.cal-board-list-event{width:100%;min-height:54px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--event-border);border-left:3px solid var(--event-color);border-radius:8px;background:var(--event-bg);color:#0f172a;text-align:left;cursor:pointer;overflow:hidden}
.cal-board-list-event:hover{filter:saturate(1.08);box-shadow:0 4px 12px rgba(15,23,42,.08)}
.cal-board-timeline{flex:1;min-height:480px;display:grid;grid-template-columns:58px minmax(0,1fr);overflow:auto}
.cal-board-hours{display:grid;grid-template-rows:repeat(12,minmax(42px,1fr));border-right:1px solid #e2e8f0;background:#f8fafc}
.cal-board-hours div{padding:6px 8px 0 0;border-bottom:1px solid #eef2f7;color:#64748b;text-align:right;font-size:11px}
.cal-board-track{position:relative;min-height:504px;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(8.3333% - 1px),#eef2f7 calc(8.3333% - 1px),#eef2f7 8.3333%)}
.cal-board-event{position:absolute;top:var(--event-top);left:8px;right:8px;height:var(--event-height);min-height:38px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 10px;border:1px solid var(--event-border);border-left:3px solid var(--event-color);border-radius:8px;background:var(--event-bg);color:#0f172a;text-align:left;cursor:pointer;overflow:hidden}
.cal-board-event:hover{filter:saturate(1.08);box-shadow:0 4px 12px rgba(15,23,42,.08)}
.cal-board-event-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--event-color);color:#fff;font-size:14px}
.cal-board-event-copy{min-width:0;display:flex;flex-direction:column}
.cal-board-event-copy small{font-size:10px;color:#64748b}
.cal-board-event-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.cal-board-event-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:10px;font-style:normal}
.cal-board-event-meta{text-align:right}.cal-board-event-meta b,.cal-board-event-meta small{display:block;white-space:nowrap;font-size:10px}.cal-board-event-meta small{color:#64748b}
.cal-board-right{display:flex;flex-direction:column;gap:10px}
.cal-board-right-card{padding-bottom:10px;border-bottom:1px solid #e2e8f0}.cal-board-right-card:last-child{border-bottom:0}
.cal-board-right-card header{display:flex;align-items:center;justify-content:space-between}
.cal-board-right-card h3,.cal-board-agenda h3{margin:0 0 10px;font-size:14px}
.cal-board-right-card header button,.cal-board-right-card>button{border:0;background:transparent;color:#1e3a8a;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.cal-board-upcoming-row{width:100%;display:grid;grid-template-columns:28px 6px minmax(0,1fr);align-items:center;gap:7px;padding:7px 0;border:0;border-bottom:1px solid #f1f5f9;background:transparent;color:#0f172a;text-align:left;cursor:pointer}
.cal-board-upcoming-row time{display:flex;flex-direction:column;text-align:center}.cal-board-upcoming-row time b{font-size:10px;color:#64748b}.cal-board-upcoming-row time span{font-size:12px;font-weight:800}
.cal-board-upcoming-row>i{width:5px;height:5px;border-radius:50%}.cal-board-upcoming-row div{min-width:0}
.cal-board-upcoming-row div b,.cal-board-upcoming-row div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-board-upcoming-row div b{font-size:11px}.cal-board-upcoming-row div small{font-size:10px;color:#64748b}
.cal-board-task-stat{display:flex;align-items:center;gap:10px;padding:8px 0}.cal-board-task-stat>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#dbeafe;color:#1e3a8a}
.cal-board-task-stat b,.cal-board-task-stat small{display:block}.cal-board-task-stat b{font-size:20px}.cal-board-task-stat small{font-size:11px;color:#64748b}
.cal-board-agenda{padding:14px}.cal-board-agenda-row{width:100%;display:grid;grid-template-columns:7px 130px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:0;border-bottom:1px solid #e2e8f0;background:transparent;color:#0f172a;text-align:left;cursor:pointer}
.cal-board-agenda-row>span{width:7px;height:7px;border-radius:50%}.cal-board-agenda-row time{font-size:12px;color:#64748b}.cal-board-agenda-row b,.cal-board-agenda-row small{display:block}.cal-board-agenda-row b{font-size:13px}.cal-board-agenda-row small{font-size:11px;color:#64748b}
.cal-board-month .cal-day{min-height:70px}.cal-board-week .cal-time-body-row{min-height:500px}
body.gce-calendar-mockup:not([data-gce-mode="light"]) .cal-page--board{color:#e2e8f0}
body.gce-calendar-mockup:not([data-gce-mode="light"]) :is(.cal-board-left,.cal-board-right,.cal-board-week-strip,.cal-board-day,.cal-board-agenda,.cal-board-month,.cal-board-week,.cal-board-week-day){background:#121622;border-color:rgba(148,163,184,.18);color:#e2e8f0}
body.gce-calendar-mockup:not([data-gce-mode="light"]) .cal-board-track{background-color:#121622}
body.gce-calendar-mockup:not([data-gce-mode="light"]) .cal-board-search,body.gce-calendar-mockup:not([data-gce-mode="light"]) .cal-board-crew-filter select{background:#0b0e14;border-color:rgba(148,163,184,.2);color:#e2e8f0}
@media(max-width:1450px){.cal-board-shell{grid-template-columns:190px minmax(0,1fr) 220px}.cal-board-search{width:190px}}
@media(max-width:1100px){
  body.gce-calendar-mockup main,body.gce-calendar-mockup #gce-main{overflow:auto!important}
  .cal-page--board{overflow:visible}.cal-page--board .cal-page-head-row{align-items:flex-start;flex-wrap:wrap}
  .cal-board-shell{grid-template-columns:1fr;overflow:visible}.cal-board-left,.cal-board-right{overflow:visible}
  .cal-board-left{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:12px}.cal-board-right{display:grid;grid-template-columns:1fr 1fr}
}
