.scheduling-page { box-sizing: border-box; height: calc(100vh - 115px); min-height: 0; overflow: hidden; color: var(--text); background: var(--bg); } .scheduling-public-page { width: min(920px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 48px; } .scheduling-public-page .loading-frame { min-height: 240px; } .scheduling-public-content, .scheduling-public-access-form, .scheduling-public-slots { display: grid; gap: 14px; } .scheduling-public-deep-link, .scheduling-public-actions { display: flex; justify-content: flex-end; margin-bottom: 12px; } .scheduling-public-actions { margin: 0; } .scheduling-public-description { white-space: pre-wrap; } .scheduling-public-summary { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 14px; margin: 12px 0; } .scheduling-public-summary dt { color: var(--muted); } .scheduling-public-summary dd { margin: 0; } .scheduling-public-slot { min-width: 0; margin: 0; padding: 14px; border: var(--border-line); border-radius: var(--radius-md); } .scheduling-public-slot legend { padding: 0 4px; color: var(--text-strong); font-weight: 650; } .scheduling-public-slot p { margin: 4px 0; } .scheduling-public-choice-group { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .scheduling-public-choice-group label { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 7px 12px; border: var(--border-line); border-radius: var(--radius-md); background: var(--panel-soft); cursor: pointer; } .scheduling-public-choice-group label:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); } @media (max-width: 680px) { .scheduling-public-page { width: min(100% - 20px, 920px); padding-top: 12px; } .scheduling-public-page .form-grid.two-col { grid-template-columns: 1fr; } .scheduling-public-summary { grid-template-columns: 1fr; } } .scheduling-page *, .scheduling-page *::before, .scheduling-page *::after { box-sizing: border-box; } .scheduling-workspace { width: 100%; height: 100%; min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; border: var(--border-line); background: var(--bg); } .scheduling-workspace-layout { min-width: 0; min-height: 0; flex: 1 1 auto; display: grid; grid-template-columns: minmax(310px, 370px) minmax(0, 1fr); overflow: hidden; } .scheduling-request-sidebar, .scheduling-main-panel, .scheduling-editor-surface { min-width: 0; min-height: 0; } .scheduling-request-sidebar { padding: 12px; border-right: var(--border-line); background: var(--panel-soft); } .scheduling-request-sidebar > .card { height: 100%; display: flex; flex-direction: column; } .scheduling-request-sidebar > .card > .card-body { min-height: 0; flex: 1 1 auto; overflow: auto; padding: 10px 12px; } .scheduling-sidebar-actions { display: flex; align-items: center; gap: 6px; } .scheduling-sidebar-actions .btn { display: inline-flex; align-items: center; gap: 5px; } .scheduling-main-panel { display: flex; flex-direction: column; overflow: hidden; background: var(--bg); } .scheduling-main-panel > .alert { flex: 0 0 auto; margin: 12px 14px 0; } .scheduling-editor-surface { flex: 1 1 auto; display: flex; flex-direction: column; overflow: hidden; } .scheduling-page-header { min-height: 58px; flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: var(--border-line); background: var(--panel-header); } .scheduling-page-title, .scheduling-page-actions, .scheduling-card-actions, .scheduling-actions, .scheduling-status-row { display: flex; align-items: center; gap: 8px; } .scheduling-page-title { min-width: 0; } .scheduling-page-title > div { min-width: 0; } .scheduling-page-title h1 { margin: 0; color: var(--text-strong); font-size: 19px; } .scheduling-page-title p { margin: 3px 0 0; color: var(--muted); font-size: 12px; } .scheduling-page-actions, .scheduling-card-actions, .scheduling-actions { flex-wrap: wrap; justify-content: flex-end; } .scheduling-page-actions { margin-left: auto; } .scheduling-page-actions .btn, .scheduling-card-actions .btn, .scheduling-actions .btn, .scheduling-response-card + .btn { min-height: 34px; display: inline-flex; align-items: center; gap: 6px; } .scheduling-detail, .scheduling-editor-scroll { flex: 1 1 auto; min-width: 0; min-height: 0; overflow: auto; padding: 14px; } .scheduling-detail, .scheduling-editor-scroll { display: grid; align-content: start; gap: 12px; } .scheduling-request-group + .scheduling-request-group { margin-top: 14px; padding-top: 14px; border-top: var(--border-line); } .scheduling-request-group h2 { margin: 0 0 8px; color: var(--text-strong); font-size: 13px; } .scheduling-list-group { min-height: 52px; max-height: min(31vh, 320px); overflow: auto; } .scheduling-request-list { gap: 4px; } .scheduling-list-item { min-height: 50px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; } .scheduling-list-item > span { min-width: 0; display: grid; gap: 3px; } .scheduling-list-item strong, .scheduling-list-item small, .scheduling-compact-row span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .scheduling-list-item small, .scheduling-note, .scheduling-list-empty, .scheduling-compact-row small { color: var(--muted); font-size: 12px; } .scheduling-list-empty { margin: 3px 0 8px; } .scheduling-status-row { flex-wrap: wrap; } .scheduling-slot-title { min-width: 0; display: grid; justify-items: start; } .scheduling-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .scheduling-compact-row { min-height: 36px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; border-bottom: var(--border-line); } .scheduling-compact-row:last-child { border-bottom: 0; } .scheduling-response-card { display: grid; gap: 12px; } .scheduling-response-card > p { margin: 0; } .scheduling-response-grid { display: grid; gap: 6px; } .scheduling-response-grid label { min-width: 0; display: grid; grid-template-columns: minmax(220px, 1fr) minmax(160px, 240px); gap: 12px; align-items: center; padding: 8px 0; border-bottom: var(--border-line); } .scheduling-response-grid label:last-child { border-bottom: 0; } .scheduling-response-grid label > span { min-width: 0; display: grid; gap: 3px; } .scheduling-response-grid small { color: var(--muted); } .scheduling-action-help { margin: 0; } .scheduling-empty { padding: 28px; color: var(--muted); text-align: center; } .scheduling-setting-with-field { min-width: 0; display: grid; gap: 10px; } .scheduling-setting-with-field .form-field { padding-left: 48px; } .scheduling-capability-note { margin: 10px 0 0; color: var(--muted); font-size: 12px; } .scheduling-selected-calendar { max-width: 520px; } @media (max-width: 900px) { .scheduling-workspace-layout { grid-template-columns: minmax(270px, 320px) minmax(0, 1fr); } } @media (max-width: 820px) { .scheduling-page { height: auto; min-height: calc(100vh - 115px); overflow: auto; } .scheduling-workspace, .scheduling-workspace-layout, .scheduling-main-panel, .scheduling-editor-surface, .scheduling-detail, .scheduling-editor-scroll { height: auto; overflow: visible; } .scheduling-workspace-layout { display: grid; grid-template-columns: minmax(0, 1fr); } .scheduling-request-sidebar { max-height: 48vh; border-right: 0; border-bottom: var(--border-line); } .scheduling-columns { grid-template-columns: minmax(0, 1fr); } .scheduling-page-header { align-items: flex-start; flex-wrap: wrap; } .scheduling-page-actions, .scheduling-card-actions, .scheduling-actions { width: 100%; } .scheduling-page-actions .btn:last-child, .scheduling-card-actions .btn:last-child, .scheduling-actions .btn:last-child { margin-left: auto; } .scheduling-response-grid label { grid-template-columns: minmax(0, 1fr); } }