/* Calendar-specific Graphite Blue treatment. Preserve scheduling handlers; use the approved bay palette. */
@media screen {
.calendar-page .app{background:#202124}
.calendar-page .header{padding:16px 24px!important;border-bottom:1px solid #424952}
.calendar-page .header-row{min-height:44px}
.calendar-page .header-brand-link{font-size:clamp(29px,3vw,42px)!important;margin-bottom:8px!important}
.calendar-page .header-title{font-size:25px!important}
.calendar-page .header-back:not([data-nav-back]){display:none!important}
.calendar-page .save-indicator{font-style:normal;font-size:12px;color:#bdcbd7}
.calendar-page .toolbar{padding:16px 24px;gap:10px;border-bottom:0;align-items:center}
.calendar-page .toolbar button{min-height:46px;border-radius:12px!important;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;padding:0 16px;box-shadow:none;transition:background .15s,border-color .15s;touch-action:manipulation}
.calendar-page .toolbar button:hover:not(:disabled){transform:none;filter:brightness(.96)}
.calendar-page .toolbar button:disabled{opacity:.4}
.calendar-page .toolbar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.calendar-page .period-today{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #c8d3df;color:#303b47}
.calendar-page .seg-zoom{padding:4px;gap:3px;border-radius:14px;background:#2b3139;border:1px solid #535e6c}
.calendar-page .seg-zoom button{min-height:38px;border:0;background:transparent;color:#d7e2ee;padding:0 13px;font-size:13px}
.calendar-page .seg-zoom button.on{background:#e6eff7;color:#294c6a;box-shadow:0 1px 4px #0003}
.calendar-page .tb-meta{font-size:12px;line-height:1.5;letter-spacing:0;text-transform:none;white-space:normal;margin-left:5px;color:#bbc9d7}
.calendar-page .toolbar .btn-add{background:#75b9f4!important;color:#183b59!important;border:1px solid #75b9f4!important;padding:0 19px}
.calendar-page .toolbar .btn-add::before{font-size:23px;font-weight:400}
.calendar-page .btn-undo{border:1px solid #596777;background:#2b3139;color:#e4ebf3;padding:0 13px}
.calendar-page .btn-filters{border:1px solid #c8d3df;background:#fff;color:#303b47;gap:8px}
.calendar-page .btn-filters[aria-expanded=true]{background:#e6eff7;border-color:#75b9f4;color:#294c6a}
.calendar-page .view-switch{position:static;box-shadow:none;border:1px solid #596777;background:#2b3139;color:#e4ebf3;flex-shrink:0;gap:8px}
.calendar-page .queue-note{background:#f4e8da;color:#774824;border:1px solid #bd9978}
.calendar-page .filters-count{background:#294c6a;color:white;border-radius:6px;font-size:11px;padding:2px 6px}
.calendar-page .filters-popover{margin:0 24px 14px;padding:18px 20px;background:#f8fafc;border:1px solid #bdcbd9;border-radius:16px;max-height:35dvh;overflow:auto}
.calendar-page .filters-section-title{font-size:13px;letter-spacing:0;text-transform:none;margin-bottom:9px;color:#303b47}
.calendar-page .filters-chip-row{gap:8px}
.calendar-page .filter-chip{min-height:44px;padding:0 13px;border:1px solid #8fa9be;background:#e6eff7;color:#294c6a;font-size:13px;letter-spacing:0;text-transform:none;border-radius:10px}
.calendar-page .filter-chip:before{content:'✓';font-size:14px}
.calendar-page .filter-chip.off{background:white;color:#647180;border-color:#c8d3df}
.calendar-page .filter-chip.off:before{content:'−'}
.calendar-page .filter-chip .swatch{width:12px;height:12px}
.calendar-page .viewwrap{background:transparent;padding:0 24px 18px;gap:12px;border-radius:0!important}
.calendar-page .tl-card,.calendar-page .desk{border:1px solid #b5c5d4!important;border-radius:18px!important;box-shadow:0 8px 24px #0002!important}
.calendar-page .tl-scroll{scrollbar-color:#899bae #edf1f5;scrollbar-width:auto}
.calendar-page .axis{background:#e6eff7;border-color:#a9bfd2}
.calendar-page .ax-corner{background:#e6eff7;border-color:#a9bfd2;padding:0 16px 14px}
.calendar-page .ax-corner span{font-size:12px;text-transform:none;letter-spacing:0;color:#294c6a}
.calendar-page .ax-months{height:32px;border-color:#c6d5e1}
.calendar-page .ax-month{border-color:#b8cad9;overflow:clip}
.calendar-page .ax-month span{position:sticky;left:var(--railw);font-size:12px;font-weight:700;letter-spacing:.03em;color:#294c6a;padding:0 12px}
.calendar-page .ax-weeks{height:40px}
.calendar-page .ax-week{font-size:12px;font-weight:500;letter-spacing:0;padding-left:12px;color:#405d75;border-color:#ccd9e4}
.calendar-page .ax-week.is-today{background:#c5dcf0;color:#183b59;font-weight:700}
.calendar-page .today-flag{background:#294c6a;border-radius:5px;padding:3px 7px;font-size:10px;letter-spacing:0;top:3px}
.calendar-page .today-line{background:#527795;width:2px;opacity:.8}
.calendar-page .grp{padding:0;margin:0;border:0;border-bottom:1px solid #d7e0e8;border-radius:0;background:transparent}
.calendar-page .grp-rail{background:#fafbfd;border-color:#bdcbd9;padding:0 14px;gap:11px}
.calendar-page .grp-rail:before{display:none}
.calendar-page .avatar{width:38px;height:40px;border-radius:12px;font-size:17px;border:1px solid #00000012;font-weight:600}
.calendar-page .rail-txt{gap:5px}
.calendar-page .rail-name{font-size:14px;line-height:1.3;letter-spacing:-.15px;text-transform:none;white-space:normal;font-weight:650}
.calendar-page .rail-sub{font-size:11px;letter-spacing:0;text-transform:none;color:#647180}
.calendar-page .grp-lanes{background-color:#fff;background-image:linear-gradient(to right,#dfe6ed 1px,transparent 1px)}
.calendar-page .grp:nth-child(odd) .grp-lanes{background-color:#fafbfd}
.calendar-page .bar,.calendar-page .tl-preview{height:48px;border-radius:10px}
.calendar-page .bar{border:1px solid #0000001f;box-shadow:0 2px 3px #152c4014}
.calendar-page .bar-fill{border-radius:9px;overflow:clip}
.calendar-page .bar-strip{width:5px;opacity:.9}
.calendar-page .bar-txt{padding:0 12px;gap:3px;position:sticky;left:var(--railw);max-width:calc(100vw - var(--railw) - 60px)}
.calendar-page .bar-client{font-size:14px;font-weight:650;letter-spacing:0;line-height:1.15}
.calendar-page .bar-van{font-size:11px;font-weight:500;letter-spacing:0}
.calendar-page .bar--tight .bar-client{font-size:12px}
.calendar-page .bar-ext{font-size:12px;letter-spacing:0}
.calendar-page .bar:hover{box-shadow:0 3px 8px #152c4026}
.calendar-page .bar-resize{width:24px;opacity:.55;padding-right:7px}
.calendar-page .bar-resize i{height:18px;background:currentColor}
.calendar-page .bar.faded{opacity:.16}
.calendar-page .mm-card{height:46px;padding:8px 12px;border-radius:12px!important;background:#f6f8fa}
.calendar-page .mm-label{font-size:11px;letter-spacing:0;text-transform:none;color:#526171}
.calendar-page .mm-track{height:28px;border-radius:7px;background:#e4eaf0}
.calendar-page .mm-window{background:#52779520;border:1px solid #527795;border-radius:6px}
.calendar-page .queue{border-radius:0!important;background:#f4f7fa}
.calendar-page .queue-head{padding:16px!important}
.calendar-page .qh-title,.calendar-page .bh-name{font-size:15px;letter-spacing:0;text-transform:none}
.calendar-page .qh-count{border-radius:8px;background:#fff;color:#294c6a}
.calendar-page .qcard{border-radius:12px;padding:15px 42px 15px 12px;border-color:#c1ceda}
.calendar-page .qc-builder,.calendar-page .blk-builder{font-size:11px;letter-spacing:0;text-transform:none}
.calendar-page .qc-client{font-size:16px}
.calendar-page .pill,.calendar-page .chip-dur,.calendar-page .wk-tag,.calendar-page .cap{border-radius:6px;letter-spacing:0;text-transform:none}
.calendar-page .bay-head-row{background:#e6eff7}
.calendar-page .bay-head{padding:8px 12px}
.calendar-page .block{border-radius:10px;overflow:clip}
.calendar-page .blk-head{position:sticky;top:48px;z-index:2;min-height:36px;background:#e6eff7!important;border-bottom:1px solid #c2d2df}
.calendar-page .blk-client{font-size:13px;color:#294c6a}
.calendar-page .blk-body{padding-top:9px}
.calendar-page .toolbar .btn-undo{white-space:nowrap}
.calendar-page .week-label,.calendar-page .corner{background:#f2f6fa}
.calendar-page .wl-date{font-size:13px;letter-spacing:0}
.calendar-page .modal{border-radius:20px!important;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100dvh - 28px)}
.calendar-page .modal form{display:flex;flex-direction:column;min-height:0}
.calendar-page .modal .modal-body{overflow:auto;min-height:0}
.calendar-page .modal-head,.calendar-page .modal-footer{flex-shrink:0}
.calendar-page .modal-head{background:#e6eff7;padding:20px 22px;border-bottom:1px solid #a9bfd2}
.calendar-page .modal-title{color:#294c6a;font-size:23px;letter-spacing:-.4px;text-transform:none}
.calendar-page .modal-close{width:44px;height:44px;border-radius:12px;background:#fff;color:#303b47}
.calendar-page .form-label{font-size:13px;letter-spacing:0;text-transform:none;font-weight:600}
.calendar-page .form-input,.calendar-page .form-select{min-height:48px;border-radius:10px}
.calendar-page .form-textarea{border-radius:10px;font-size:15px}
.calendar-page .seg{border-radius:12px;padding:4px;gap:4px}
.calendar-page .seg-btn{min-height:48px;font-size:12px;letter-spacing:0;text-transform:none;border-radius:9px}
.calendar-page .modal-footer .btn{min-height:46px;font-size:14px;text-transform:none;letter-spacing:0}
.calendar-page .modal-footer .btn-primary{background:#303b47!important;color:#fff!important}
@media(max-width:1400px){
 .calendar-page .tb-meta{order:10;flex:1 0 55%;margin:0;font-size:12px}
 .calendar-page .toolbar .queue-note{order:11;min-height:32px;font-size:12px}
 .calendar-page .toolbar-spacer{display:none}
 .calendar-page .toolbar .btn-add{margin-left:auto}
}
@media(min-width:1280px){
 .calendar-page .header-brand-link{position:absolute!important;left:50%!important;top:50%;transform:translate(-50%,-50%)!important;flex:none!important;width:auto!important;margin:0!important;font-size:34px!important;white-space:nowrap!important}
}
@media(max-width:720px){
 .calendar-page .header{padding:12px 14px!important}
 .calendar-page .header-brand-link{font-size:29px!important;margin-bottom:6px!important}
 .calendar-page .header-title{font-size:21px!important;order:0!important;flex:1!important;width:auto!important}
 .calendar-page .header .mwc-nav{display:none}
 .calendar-page .header-row{gap:8px!important}
 .calendar-page .header-line{display:none}
 .calendar-page .save-indicator{font-size:10px;max-width:110px;white-space:normal;text-align:right}
 .calendar-page .toolbar{padding:10px 12px 12px;gap:8px}
 .calendar-page .toolbar button{font-size:12px;min-height:44px;padding:0 11px}
 .calendar-page .seg-zoom{margin-left:auto;padding:3px;gap:2px}
 .calendar-page .seg-zoom button{font-size:11px;padding:0 10px;min-height:38px}
 .calendar-page .toolbar .btn-add{padding:0 12px;margin-left:auto}
 .calendar-page .view-switch{gap:5px}
 .calendar-page .btn-undo{flex:1}
 .calendar-page .tb-meta{display:block;font-size:11px}
 .calendar-page .filters-popover{margin:0 12px 12px;padding:14px;max-height:28dvh}
 .calendar-page .viewwrap{padding:0 12px 12px;gap:8px;min-height:180px}
 .calendar-page .grp-rail{flex-direction:column;justify-content:center;gap:4px;padding:6px}
 .calendar-page .avatar{width:26px;height:27px;font-size:13px;border-radius:8px}
 .calendar-page .rail-txt{display:flex;gap:1px;text-align:center;width:100%}
 .calendar-page .rail-name{font-size:10px;line-height:1.15;white-space:nowrap;text-overflow:ellipsis}
 .calendar-page .rail-sub{font-size:9px;line-height:1.2}
 .calendar-page .ax-corner{padding:0 9px 14px;justify-content:center}
 .calendar-page .ax-corner span{font-size:11px}
 .calendar-page .today-flag{display:none}
 .calendar-page .mm-card{height:34px;padding:5px 8px}
 .calendar-page .mm-track{height:22px}
 .calendar-page .queue{max-height:210px}
 .calendar-page .queue-head{padding:10px 14px!important}
 .calendar-page .modal-body{padding:18px}
 .calendar-page .modal-head{padding:14px 18px}
 .calendar-page .modal-footer{padding:14px}
}
}

/* Approved option 4: graphite masthead, light working area, pale bay colours. */
@media screen {
body.calendar-page,.calendar-page .app{background:#E9EDF1!important}
.calendar-page .header{background:#20272E!important}
.calendar-page .toolbar{background:#E9EDF1!important}
.calendar-page .tb-meta,.calendar-page .tb-meta b{color:#586979!important}
.calendar-page .seg-zoom{background:#E6EDF4;border-color:#B8C6D3}
.calendar-page .seg-zoom button{color:#586979}
.calendar-page .seg-zoom button.on{background:#fff!important;color:#263442!important;box-shadow:0 1px 3px #162b4010}
.calendar-page .toolbar .btn-add{background:#CFE4F7!important;color:#263442!important;border-color:#7C9EBE!important}
.calendar-page .btn-undo,.calendar-page .view-switch{background:#fff;color:#263442;border-color:#B8C6D3}
.calendar-page .axis,.calendar-page .ax-corner,.calendar-page .bay-head-row{background:#E6EDF4;border-color:#B8C6D3}
.calendar-page .ax-month span,.calendar-page .ax-week,.calendar-page .ax-corner span,.calendar-page .bh-name{color:#263442}
.calendar-page .ax-week.is-today{background:#CFE4F7;color:#263442}
.calendar-page .grp-rail{background:#fff}
.calendar-page .grp:nth-child(odd) .grp-lanes{background-color:#F8FAFC}
.calendar-page .bar{box-shadow:0 1px 2px #1a304407}
.calendar-page .bar-strip{opacity:.55;width:3px}
.calendar-page .block{background:#fff;border-width:1px;border-style:solid}
.calendar-page .blk-head{background:var(--bay-fill,#E6EDF4)!important;border-color:#B8C6D3}
.calendar-page .blk-client,.calendar-page .modal-title{color:#263442}
.calendar-page .modal-head{background:#D5E8FA}
.calendar-page .btn-filters[aria-expanded=true],.calendar-page .filter-chip{color:#263442;background:#CFE4F7}
.calendar-page .mm-card{border:1px solid #B8C6D3}
}

/* Schedule-first calendar: compact chrome, all available height for the bays. */
@media screen {
 html:root body.calendar-page .mwc-floating-shelf{display:none!important}
 html:root body.calendar-page .header.mwc-floating-header{
  margin:8px 12px 0!important;padding:6px 12px!important;min-height:56px;
  border-radius:12px!important;box-shadow:none!important;
 }
 html:root body.calendar-page .header .header-row{flex-wrap:nowrap;gap:12px!important;min-height:44px}
 html:root body.calendar-page .header .header-title{order:0!important;flex:1!important;font-size:20px!important}
 html:root body.calendar-page .header .calendar-home{display:inline-flex!important;align-items:center;flex-shrink:0;padding:8px 12px!important;font-size:12px!important;text-decoration:none}
 html:root body.calendar-page .toolbar{padding:8px 12px;gap:8px;flex-shrink:0}
 html:root body.calendar-page .toolbar button{min-height:44px!important;padding:6px 12px!important;font-size:12px!important}
 html:root body.calendar-page .seg-zoom{padding:3px!important;gap:2px;border-radius:11px}
 html:root body.calendar-page .seg-zoom button{min-height:38px!important;padding:6px 10px!important}
 html:root body.calendar-page .toolbar .tb-meta{order:0;flex:0 1 auto;margin:0 4px;font-size:11px}
 html:root body.calendar-page .toolbar-spacer{display:block;flex:1}
 html:root body.calendar-page .viewwrap{padding:0 12px 10px;gap:6px;min-height:0}
 html:root body.calendar-page .tl-card{border-radius:12px!important}
 html:root body.calendar-page .ax-months{height:26px}
 html:root body.calendar-page .ax-weeks{height:32px}
 html:root body.calendar-page .ax-corner{padding-bottom:10px}
 html:root body.calendar-page .bar,html:root body.calendar-page .tl-preview{height:44px}
 html:root body.calendar-page .grp-rail{padding-left:10px;padding-right:8px;gap:8px}
 html:root body.calendar-page .avatar{width:30px;height:32px;font-size:15px;border-radius:9px}
 html:root body.calendar-page .mm-card{height:32px;padding:4px 10px}
 html:root body.calendar-page .mm-track{height:22px}
 html:root body.calendar-page .filters-popover{margin:0 12px 8px;padding:12px 14px}
 @media(max-width:1400px){html:root body.calendar-page .toolbar .tb-meta{display:none}}
 @media(max-width:720px){
  html:root body.calendar-page .header.mwc-floating-header{margin:6px 8px 0!important;padding:4px 8px!important;min-height:54px}
  html:root body.calendar-page .header .header-title{font-size:18px!important}
  html:root body.calendar-page .toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px 8px;gap:5px}
  html:root body.calendar-page .toolbar>button{justify-content:center;gap:5px;min-width:0;padding:6px!important;margin:0!important;font-size:11px!important}
  html:root body.calendar-page .toolbar svg{width:16px;height:16px}
  html:root body.calendar-page #today-btn{order:0}
  html:root body.calendar-page #view-switch{order:1}
  html:root body.calendar-page #filters-btn{order:2}
  html:root body.calendar-page #add-btn{order:3}
  html:root body.calendar-page #zoom-seg{order:4;grid-column:span 2;display:flex;margin:0;min-width:0}
  html:root body.calendar-page #zoom-seg button{flex:1;min-width:0;padding:5px 2px!important;font-size:10px!important}
  html:root body.calendar-page #undo-btn{order:5}
  html:root body.calendar-page #redo-btn{order:6}
  html:root body.calendar-page .toolbar .queue-note{order:7;grid-column:1/-1}
  html:root body.calendar-page .toolbar-spacer{display:none}
  html:root body.calendar-page .viewwrap{padding:0 8px 6px;gap:5px}
  html:root body.calendar-page .grp-rail{padding:4px;gap:3px}
  html:root body.calendar-page .avatar{width:24px;height:25px;font-size:12px}
  html:root body.calendar-page .save-indicator{max-width:86px;font-size:10px}
 }
}
