/* Visual views own their scroll surface; grid virtualization must not resize them. */
.grid-wrap.visual-view{overflow:auto;overscroll-behavior:contain;overflow-anchor:none;scroll-behavior:auto;padding:16px}
.visual-view .kanban-board{width:max-content;min-width:100%;align-items:flex-start}
.visual-view .kanban-column{flex:0 0 286px;min-width:0}
.visual-view .kanban-column>header strong{min-width:0;overflow-wrap:anywhere}
.visual-view .view-record-card{box-sizing:border-box;min-width:0}
.visual-view .view-record-card>strong{overflow-wrap:anywhere}
.visual-view .view-record-card>span{min-width:0;overflow:hidden}
.visual-view .calendar-view{min-width:760px;width:100%;box-sizing:border-box;overflow:visible;border-radius:10px}
.visual-view .calendar-view>header{position:sticky;top:-16px;left:0;z-index:3;background:#fff;padding:12px;gap:12px;min-height:60px;width:var(--calendar-viewport-width,100%);box-sizing:border-box;border-radius:10px 10px 0 0;flex-wrap:wrap}
.calendar-navigation{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.visual-view .calendar-view h2{font-size:16px;line-height:24px;min-width:158px;text-align:center;font-weight:600}
.calendar-navigation button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dde3df;background:#fff;color:#32453c;min-height:32px;font:500 12px Inter,sans-serif;cursor:pointer}
.calendar-navigation button:hover{background:#f1f5f2}
.calendar-navigation button:disabled{opacity:.4;cursor:default}
.calendar-step{width:32px;padding:6px;flex:none}
.calendar-step .lucide{width:16px;height:16px}
.calendar-step[data-calendar-step="-1"] .lucide{transform:rotate(180deg)}
.calendar-today{padding:6px 12px}
.calendar-month-picker input{box-sizing:border-box;border:1px solid #dde3df;border-radius:7px;padding:6px 8px;height:32px;max-width:156px;background:#fff;color:#32453c;font:400 12px Inter,sans-serif}
.visual-view .calendar-weekdays,.visual-view .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.visual-view .calendar-weekdays{position:sticky;top:calc(var(--calendar-header-height,60px) - 16px);z-index:2;background:#f8faf8}
.visual-view .calendar-day{box-sizing:border-box;min-width:0;min-height:152px;padding:8px;overflow:hidden;background:#fff}
.visual-view .calendar-day.outside{background:#f7f9f7}
.visual-view .calendar-events{min-width:0;max-height:228px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;margin-top:4px}
.visual-view .calendar-record{box-sizing:border-box;min-width:0;max-width:100%;padding:6px 8px;margin:0 0 5px;border-radius:5px;background:#edf1ee;color:#30463a;font-size:12px;font-weight:500;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:filter .12s}
.visual-view .calendar-record:hover{filter:brightness(.95)}
.visual-view .calendar-record:focus-visible,.calendar-navigation button:focus-visible,.calendar-month-picker input:focus-visible{outline:2px solid #1e604a;outline-offset:2px}
.calendar-month-picker .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.visual-view .calendar-view>header{align-items:flex-start}.calendar-navigation{max-width:440px}.calendar-month-picker input{max-width:145px}}
@media(max-width:600px){
    .shell:has(.visual-view),.shell.main-nav-collapsed:has(.visual-view){grid-template-columns:56px minmax(0,1fr)}
    .shell:has(.visual-view)>.main-nav{padding-inline:5px;width:56px}
    .shell:has(.visual-view) .main-nav .brand{padding:0;justify-content:center}
    .shell:has(.visual-view) .main-nav .brand-logo,.shell:has(.visual-view) .main-nav .nav-item>span,.shell:has(.visual-view) #toggleMainNav{display:none!important}
    .shell:has(.visual-view) .main-nav .brand-symbol{display:block!important;width:30px;height:30px}
    .shell:has(.visual-view) .main-nav .nav-item{justify-content:center;padding:10px 5px;min-width:0}
    .shell:has(.visual-view) .nav-footer{justify-content:center}
    .shell:has(.visual-view) .stage>header{padding-inline:10px}
    .shell:has(.visual-view) .header-actions .search{display:none}
    .visual-view .calendar-view h2{min-width:130px;font-size:14px}
    .calendar-navigation{gap:6px}
    .visual-view .calendar-field-button{flex:1 1 100%;min-width:0}
}
