[hidden] { display: none !important; }
.ops-repeat { min-width: 0; padding: 16px; border: 1px solid var(--border-color, #e4e7ec); border-radius: 12px; }
.ops-repeat .wf-field { margin: 8px 0; }
.ops-repeat legend { font-weight: 600; padding: 0 6px; }
.ops-weekdays { display: flex; flex-wrap: wrap; gap: 10px; }
.ops-weekdays label { display: flex; gap: 6px; align-items: center; padding: 8px; }
.ops-weekdays input, .ops-roster-item input { width: auto; min-height: 20px; }
.ops-roster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-height: 440px; overflow: auto; }
.ops-roster-item { display: flex; align-items: center; gap: 12px; border: 1px solid var(--border-color, #e4e7ec); padding: 14px; border-radius: 10px; }
.ops-roster-item small { display: block; margin-top: 4px; }
.ops-roster-item:has(input:checked) { background: var(--primary-soft, #eef2ff); }
.wf-form .full, .wf-form > .ops-repeat { grid-column: 1 / -1; }
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"] { border: 2px solid #b42318; }
.ops-required-note { margin: 0 0 6px; }
@media(max-width: 620px) { .ops-roster { grid-template-columns: 1fr; } .ops-repeat { padding: 10px; } }

/* 0.5.5 roster visibility */
.roster-actionbar .wf-actions{display:flex!important;grid-auto-flow:column;gap:8px}.ops-roster-item small{overflow-wrap:anywhere}.ops-roster-item span{min-width:0}.ops-roster-item strong{display:block}.ops-roster-item:has(input:checked){border-color:#c7d2fe;box-shadow:0 0 0 1px #eef2ff inset}

/* 0.6.2 schedule appearance controls. */
.schedule-appearance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:18px;border:1px solid var(--border-color,#e4e7ec);border-radius:14px;background:linear-gradient(180deg,#fff,#fcfcfd)}
.schedule-appearance-intro{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--border-color,#e4e7ec)}
.schedule-appearance-intro>div:first-child{min-width:0}.schedule-appearance-kicker{display:block;margin-bottom:4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#465fff}.schedule-appearance-intro strong{display:block;font-size:14px}.schedule-appearance-intro p{margin:4px 0 0;font-size:11px;line-height:1.6}
.schedule-color-preview{display:flex;align-items:center;gap:10px;flex:0 0 min(300px,42%);padding:11px 12px;border:1px solid var(--border-color,#e4e7ec);border-radius:11px;background:#fff}.schedule-color-preview>span:last-child{min-width:0}.schedule-color-preview b{display:block;font-size:11px}.schedule-color-preview small{display:block;margin-top:2px;font-size:9px;line-height:1.45;color:#667085}
.schedule-color-swatch{display:block;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:var(--calendar-color,#465fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--calendar-color,#465fff) 14%,transparent)}
.schedule-appearance>[data-calendar-color-custom]{min-width:0}.schedule-appearance input[type=color]{height:48px;padding:5px;cursor:pointer}.schedule-preview-color{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;border:1px solid var(--border-color,#e4e7ec);border-radius:12px;background:#fcfcfd}.schedule-preview-color strong,.schedule-preview-color span{display:block}.schedule-preview-color strong{font-size:12px}.schedule-preview-color div>span{margin-top:2px;font-size:10px;color:#667085}
.dark .schedule-appearance,.dark .schedule-color-preview,.dark .schedule-preview-color{background:#1a2231;border-color:#344054}.dark .schedule-appearance-intro{border-color:#344054}.dark .schedule-color-preview small,.dark .schedule-preview-color div>span{color:#98a2b3}
@media(max-width:720px){.schedule-appearance{grid-template-columns:1fr;padding:14px}.schedule-appearance-intro{flex-direction:column;align-items:stretch}.schedule-color-preview{flex-basis:auto;width:100%}}

.schedule-color-swatch{background:var(--calendar-color,#465fff);box-shadow:0 0 0 4px var(--calendar-border,#d7ddff)}

/* 0.6.3.1 scheduling confirmation clarity. */
.schedule-preview-pending{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 18px;align-items:center;margin:0 0 16px;padding:14px 16px;border:1px solid #f5c36b;border-radius:12px;background:#fffaeb;color:#7a2e0e}
.schedule-preview-pending strong{font-size:12px}.schedule-preview-pending span{font-size:10px;line-height:1.5;color:#93370d}.schedule-preview-pending a{grid-column:2;grid-row:1/3;align-self:center;font-size:10px;font-weight:750;color:#b54708;white-space:nowrap}
.schedule-confirm-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin:2px 0 18px;padding:15px 16px;border:1px solid #a4bcfd;border-radius:12px;background:#f5f8ff;box-shadow:0 6px 20px rgba(70,95,255,.06)}
.schedule-confirm-bar>div{display:grid;gap:4px}.schedule-confirm-bar strong{font-size:12px;color:#3538cd}.schedule-confirm-bar span{font-size:10px;line-height:1.5;color:#475467}.schedule-confirm-bar .wf-form{margin:0!important;display:flex!important;align-items:center!important}.schedule-confirm-bar .wf-form .wf-form-actions{margin:0!important}.schedule-confirm-bar .wf-form .button{min-height:42px;white-space:nowrap}
@media(max-width:760px){.schedule-preview-pending,.schedule-confirm-bar{grid-template-columns:1fr}.schedule-preview-pending a{grid-column:1;grid-row:auto}.schedule-confirm-bar .wf-form,.schedule-confirm-bar .wf-form .button{width:100%}}
