.kb-planner-table-scroll{max-height:calc(100dvh - var(--kb-app-bottom-nav-h,0px));border:var(--kb-space-px) solid var(--kb-color-subtle-border);border-radius:var(--kb-radius-md);overflow:auto;container-type:inline-size}.kb-planner-table{border-collapse:collapse;width:100%;min-width:1100px;font-family:var(--font-app);color:var(--kb-color-primary-text)}.kb-planner-table thead th{z-index:2;background:var(--kb-color-table-header-bg);text-align:left;white-space:nowrap;padding:var(--kb-space-3) var(--kb-space-4);box-shadow:inset 0 calc(-1 * var(--kb-space-px)) 0 var(--kb-color-subtle-border);font-size:var(--kb-font-size-label-sm);font-weight:var(--kb-font-weight-semibold);color:var(--kb-color-subtle-text);position:sticky;top:0}.kb-planner-week-spacer td{height:var(--kb-space-6);background:0 0;border:none;padding:0}.kb-planner-group-row td{background:var(--kb-color-surface-subtle);padding:var(--kb-space-3) 0;border-top:var(--kb-space-px) solid var(--kb-color-mid-border);border-bottom:var(--kb-space-px) solid var(--kb-color-subtle-border-2)}.kb-planner-group-bar{box-sizing:border-box;width:var(--kb-planner-visible-width,100cqw);padding:0 var(--kb-space-4);align-items:center;column-gap:var(--kb-space-4);row-gap:var(--kb-space-1);flex-wrap:wrap;display:flex;position:sticky;left:0}.kb-planner-week-add{cursor:pointer;font:inherit;font-size:var(--kb-font-size-body-sm);color:var(--kb-color-primary-text);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;text-decoration:underline}.kb-planner-week-add:focus-visible{outline:2px solid var(--kb-color-primary-text);outline-offset:2px}.kb-planner-group-toggle{align-items:center;gap:var(--kb-space-2);cursor:pointer;font:inherit;font-weight:var(--kb-font-weight-semibold);color:var(--kb-color-primary-text);background:0 0;border:none;padding:0;display:inline-flex}.kb-planner-group-caret{text-align:center;width:1em;color:var(--kb-color-subtle-icon);display:inline-block}.kb-planner-group-count{font-weight:var(--kb-font-weight-regular);color:var(--kb-color-subtle-text)}.kb-planner-data-row td{padding:var(--kb-space-2) var(--kb-space-4);border-bottom:var(--kb-space-px) solid var(--kb-color-subtle-border-2);font-size:var(--kb-font-size-body-sm);vertical-align:top;white-space:nowrap}.kb-planner-data-row--clickable{cursor:pointer}.kb-planner-data-row--clickable:hover td{background:var(--kb-color-surface-faint)}.kb-planner-data-row--clickable:focus-visible{outline:2px solid var(--kb-color-primary-text);outline-offset:-2px}.kb-planner-date-row td{padding:var(--kb-space-2) var(--kb-space-4);border-bottom:var(--kb-space-px) solid var(--kb-color-subtle-border-2);font-size:var(--kb-font-size-body-sm);font-weight:var(--kb-font-weight-semibold)}.kb-planner-date-row--day-off td{background:var(--kb-color-splash-button-purple-background);color:var(--kb-color-splash-button-purple-text)}.kb-planner-date-row--key-date td{background:var(--kb-color-splash-button-green-background);color:var(--kb-color-primary-text)}.kb-planner-date-row-content{left:var(--kb-space-4);gap:var(--kb-space-2);display:inline-flex;position:sticky}.kb-planner-date-row-day{font-weight:var(--kb-font-weight-regular)}.kb-planner-camp-cell{white-space:normal;flex-direction:column;display:flex}.kb-planner-camp-name{align-items:center;gap:var(--kb-space-2);flex-wrap:wrap;display:inline-flex}.kb-planner-session-name{color:var(--kb-color-subtle-text);font-size:var(--kb-font-size-label-sm)}.kb-planner-notes-cell{text-overflow:ellipsis;white-space:nowrap;max-width:220px;display:block;overflow:hidden}.kb-planner-notes-cell--editable{gap:var(--kb-space-1);white-space:normal;flex-direction:column;max-width:220px;display:flex}.kb-planner-notes-textarea{resize:none;border:var(--kb-space-px) solid var(--kb-color-subtle-border);border-radius:var(--kb-radius-sm);width:100%;min-height:1.6em;padding:var(--kb-space-1) var(--kb-space-2);font:inherit;font-size:var(--kb-font-size-body-sm);color:var(--kb-color-primary-text);background:var(--kb-color-primary-background);overflow:hidden}.kb-planner-notes-textarea:focus-visible{outline:2px solid var(--kb-color-primary-text);outline-offset:-1px}.kb-planner-notes-status{font-size:var(--kb-font-size-label-sm);color:var(--kb-color-subtle-text)}.kb-planner-notes-status--error{color:var(--kb-color-error-text)}.kb-planner-notes-retry{font:inherit;font-size:inherit;color:var(--kb-color-error-text);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}
