.appointment-groups {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0}
.appointment-groups label {display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.appointment-groups select {max-width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #bacbd2;border-radius:6px;background:#fff;color:#20343d;font:inherit}
.appointment-groups label>svg {flex-shrink:0;width:20px;height:20px}
.appointment-groups label {flex:1 1 180px}
.appointment-groups select {width:100%}
#appointmentCount {color:#586a74;font-size:14px}
#appointmentWorkspaceError {color:#a42626}
.appointment-dialog textarea {box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #b9cbd4;border-radius:6px;font:inherit;color:inherit;background:#fff;resize:vertical}
.appointment-dialog .appointment-choice {display:flex;align-items:center;gap:10px;grid-column:1/-1;font-weight:400}
.appointment-dialog .appointment-choice input {width:20px;min-height:20px;height:20px;flex-shrink:0}
.appointment-choice span {overflow-wrap:anywhere;min-width:0}
.appointment-person [data-booking-ungroup] {margin-top:6px}
body[data-page="organization"] :is(.appointment-dialog,#appointmentPanel) {font-family:Arial,Helvetica Neue,sans-serif;letter-spacing:0}
body[data-page="organization"] :is(.appointment-dialog,#appointmentPanel) * {box-sizing:border-box}
body[data-page="organization"] :is(.button-primary,.button-secondary,.icon-button) {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #bacbd2;border-radius:6px;background:#fff;color:#233942;font:inherit;cursor:pointer;text-decoration:none}
body[data-page="organization"] .button-primary {background:#087e70;color:#fff;border-color:#087e70}
body[data-page="organization"] .icon-button {width:44px;padding:8px;flex-shrink:0}
body[data-page="organization"] :is(.button-primary,.button-secondary,.icon-button) svg {width:20px;height:20px;flex-shrink:0}
body[data-page="organization"] .appointment-toolbar {display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body[data-page="organization"] .appointment-toolbar .search-control {display:flex;gap:8px;align-items:center;flex:1 1 220px;min-width:0}
body[data-page="organization"] .appointment-toolbar input,body[data-page="organization"] .appointment-toolbar select {min-height:44px;min-width:0;max-width:100%;padding:8px;border:1px solid #bacbd2;border-radius:6px;font:inherit}
body[data-page="organization"] .appointment-toolbar .search-control input {width:100%}
body[data-page="organization"] .appointment-row {display:grid;grid-template-columns:180px minmax(0,1fr) 250px;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #d5e1e5}
body[data-page="organization"] .appointment-time {display:grid;gap:6px;color:#08745f}
body[data-page="organization"] .appointment-time svg {width:20px;height:20px}
body[data-page="organization"] .appointment-time.is-soon {color:#654700;background:#fff1b8;border-left:3px solid #c69a00;padding:8px}
body[data-page="organization"] .appointment-time.is-overdue {color:#ad2525;background:#fff0f0;border-left:3px solid #cf3333;padding:8px}
body[data-page="organization"] .appointment-person {min-width:0;overflow-wrap:anywhere}
body[data-page="organization"] .appointment-person h3 {font-size:17px;margin:0 0 6px}
body[data-page="organization"] .appointment-person p {margin:4px 0;font-size:14px}
body[data-page="organization"] .appointment-actions {display:flex;flex-wrap:wrap;gap:8px}
body[data-page="organization"] .appointment-route {width:100%}
body[data-page="organization"] .appointment-dialog {box-sizing:border-box;width:min(700px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid #d8e2e8;border-radius:8px;padding:24px;color:#14242d}
body[data-page="organization"] .appointment-dialog::backdrop {background:rgb(16 32 40 / 45%)}
body[data-page="organization"] .appointment-dialog form {display:flex;flex-direction:column;max-height:calc(100dvh - 84px)}
body[data-page="organization"] .appointment-dialog header,body[data-page="organization"] .appointment-dialog footer {display:flex;gap:12px;justify-content:space-between;align-items:center;flex-shrink:0}
body[data-page="organization"] .appointment-dialog header {margin-bottom:20px}
body[data-page="organization"] .appointment-dialog footer {margin-top:20px;justify-content:flex-end}
body[data-page="organization"] .appointment-dialog h2 {margin:0;font-size:22px}
body[data-page="organization"] .appointment-dialog label {display:grid;gap:8px;font-size:16px;font-weight:600;min-width:0}
body[data-page="organization"] .appointment-dialog input,body[data-page="organization"] .appointment-dialog select {width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #b9cbd4;border-radius:6px;font:inherit;background:#fff;color:inherit}
body[data-page="organization"] .appointment-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;overflow-y:auto;padding:3px;margin:-3px}
body[data-page="organization"] .appointment-wide {grid-column:1/-1}
body[data-page="organization"] .appointment-dialog [hidden],#appointmentPanel [hidden] {display:none!important}
body[data-page="organization"] .appointment-dialog [role="alert"] {color:#a42626}
.appointment-dialog :focus-visible,#appointmentPanel :focus-visible {outline:2px solid #087e70;outline-offset:2px}
#appointmentEditor header [data-appointment-close]:focus-visible {outline-color:#9ca8ae}
@media(max-width:1100px){body[data-page="organization"] .appointment-row {grid-template-columns:180px minmax(0,1fr)}body[data-page="organization"] .appointment-actions {grid-column:1/-1}}
@media(max-width:600px){body[data-page="organization"] .appointment-row,body[data-page="organization"] .appointment-fields {grid-template-columns:minmax(0,1fr)}body[data-page="organization"] .appointment-dialog {padding:18px}.appointment-groups label {flex-basis:100%}.appointment-toolbar select {max-width:100%}}
