.island.overlap { background:#fff5cd; color:#705500; border-color:#ead478; border-left-color:#d7a900 }
.island.overlap small { color:#806d2d }
.warning { margin:12px; padding:12px 14px; border:1px solid #ead478; border-radius:10px; background:#fff8dc; color:#705500 }
.combo { position:relative }.combo-input { width:100% }
.combo-menu { display:none; position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:80; max-height:304px; overflow-y:auto; padding:5px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 14px 34px rgba(25,45,75,.16) }
.combo.open .combo-menu { display:grid }.combo-menu button { border:0; border-radius:7px; text-align:left; background:#fff; font-weight:500 }.combo-menu button:hover { background:var(--a-soft) }
.busy { padding:13px; border:1px solid var(--line); border-radius:11px; background:#fafbfc }.busy-days { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; margin:9px 0 }
.busy-days span { padding:7px 2px; border-radius:7px; text-align:center; background:#fff; border:1px solid #edf0f4 }.busy-days span.taken { background:#fff2b8; border-color:#e5cb5f; color:#705500; font-weight:700 }
.busy .warning { margin:9px 0 0 }.busy small { color:var(--muted) }
.scale { display:flex; align-items:center; gap:6px; margin:-6px 0 14px }
.scale span { margin-right:5px; color:var(--muted); font-size:13px }
.scale button { padding:7px 11px; white-space:nowrap }
.scale button.active { border-color:var(--a); background:var(--a-soft); color:var(--a-dark) }
.scale #toToday { margin-left:auto }
.ganttbox { position:relative }
.gantt { min-width:0 }
.ghead, .growx { width:max-content }
.ghead .corner, .glabel { position:sticky; left:0; z-index:12; background:#fff; box-shadow:8px 0 14px -14px rgba(24,32,44,.7) }
.ghead .corner { z-index:16; text-align:left }
.ghead > div:not(.corner) { min-width:0; padding:7px 1px; overflow:hidden }
.ghead > div:not(.corner) { overflow:visible }
.ghead > div:not(.corner) b { position:relative; z-index:2; font-size:11px }
.ghead > div small, .ghead > div b { display:block; line-height:1.1; white-space:nowrap }
.ghead > div small { font-size:10px; font-weight:500 }
.ggrid { grid-column:2/-1!important; display:grid; background:none!important; overflow:hidden }
.dayband { min-width:0; border-left:1px solid #edf0f4; background:#fff }
.ghead .weekend, .dayband.weekend { background:#fff1df }
.ghead .today, .dayband.today { background:#deebff; box-shadow:inset 1px 0 #8cb2eb,inset -1px 0 #8cb2eb }
.ghead .today { color:var(--a-dark) }
.island { min-width:0 }
@media(max-width:700px){.scale{overflow-x:auto;padding-bottom:4px}.scale #toToday{margin-left:6px}}
