.co-toolbar,.co-tabs,.co-actions,.co-dialog-head { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }
.co-toolbar { justify-content:space-between;margin-bottom:14px; }
.co-tabs button[aria-pressed="false"] { background:#e7edf3;color:#16314b; }
.co-toolbar label { display:flex;align-items:center;gap:8px; }
.co-toolbar select,.co-toolbar input { width:auto;max-width:220px; }
.co-calendar-scroll { max-height:640px;overflow:auto;border:1px solid #d8e1e8;border-radius:8px;background:white; }
.co-calendar { display:grid;grid-template-columns:58px repeat(7,minmax(115px,1fr));min-width:880px; }
.co-time-head,.co-day-head { position:sticky;top:0;z-index:4;background:#eff5fa;text-align:center;padding:12px 4px;border-bottom:1px solid #cdd9e4;font-size:13px; }
.co-today { background:#d5efff;color:#005b85;font-weight:bold; }
.co-hours,.co-day { position:relative;height:1536px; }
.co-hours span { position:absolute;right:7px;font-size:11px;color:#5d6f81; }
.co-slot { display:block;width:100%;height:32px;margin:0;border:0;border-radius:0;border-right:1px solid #e0e6ed;border-bottom:1px solid #edf1f5;background:white;padding:0;box-shadow:none; }
.co-slot:nth-child(2n) { border-bottom-color:#d5dfe7; }
.co-slot:hover,.co-slot:focus-visible { background:#e5f5ff; }
.co-event { position:absolute;z-index:2;min-height:25px;overflow:hidden;border:1px solid white;border-radius:5px;padding:3px 5px;text-align:left;font-size:11px;line-height:1.25;box-shadow:none;color:#16314b;background:#dbeafe; }
.co-event strong,.co-event span { display:block; }
.co-event:hover { background:#c7e3f9;color:#102033; }
.co-colour-1 { background:#d7f4e2; }.co-colour-2 { background:#e9ddff; }.co-colour-3 { background:#fff0c8; }
.co-record { display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px; }.co-record button { flex-shrink:0; }
.co-pre { white-space:pre-wrap;overflow-wrap:anywhere; }.co-overdue { color:#a32b24; }
.co-dialog { width:min(820px,95vw);max-height:90vh;overflow:auto;border:1px solid #d0dde7;border-radius:12px;padding:24px;color:#102033; }
.co-dialog::backdrop { background:rgba(10,28,46,.62); }.co-dialog-head { justify-content:space-between; }
.co-editor { padding:12px 0 24px;border-bottom:1px solid #d8e1e8;margin-bottom:20px; }
.co-editor details { margin-top:16px; }.co-editor summary { cursor:pointer;font-weight:bold; }.co-editor textarea { min-height:80px; }
.co-editor .form { margin-top:12px; }.co-editor li { margin:8px 0;overflow-wrap:anywhere; }
.suite-sidebar .co-nav { padding-left:28px; }
@media(max-width:700px){.co-record{display:block}.co-dialog{padding:16px}.co-toolbar{align-items:start}.co-toolbar label{flex-wrap:wrap}}
.list > .co-toolbar, .list > #coContent { min-width:0;max-width:100%; }
.co-calendar-scroll { width:100%; }

.co-slot { touch-action:none;user-select:none; }
.co-slot.co-selected { background:#bde9fa;box-shadow:inset 0 0 0 1px #008fc7; }
.co-travel { position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#d8e1e8,#d8e1e8 4px,#f3f7fa 4px,#f3f7fa 8px);color:#34485c;font-size:10px;padding:2px 4px;overflow:hidden; }
.co-work-label { position:absolute;left:4px;right:4px;overflow:hidden; }
.co-event { padding:0; }
.co-timing { font-size:12px;line-height:1.6;color:#40556b; }
.co-selection-summary { color:#005f8f;font-size:13px; }

.co-event.co-technician-event { background:var(--co-tech-soft);border-left:4px solid var(--co-tech-colour);color:#102033; }
.co-event.co-technician-event:hover { background:var(--co-tech-soft);outline:2px solid var(--co-tech-colour); }
.co-tech-picker { position:relative;min-width:0;width:100%;text-transform:none;letter-spacing:normal; }
.co-tech-native { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;clip-path:inset(50%);overflow:hidden;opacity:0; }
.co-tech-picker .co-tech-trigger,.co-tech-picker .co-tech-options button { display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:white;color:#102033;box-shadow:none;font-size:13px;font-weight:400;line-height:1.4;padding:9px 10px;border:1px solid #d0dde7;border-radius:6px; }
.co-tech-trigger::after { content:'▾';margin-left:auto; }
.co-tech-dot { display:inline-block;width:12px;height:12px;flex:0 0 12px;border-radius:50%;box-shadow:0 0 0 1px #0002; }
.co-tech-options { position:absolute;top:100%;left:0;right:0;z-index:20;min-width:220px;max-height:280px;overflow:auto;background:white;border:1px solid #d0dde7;border-radius:6px;box-shadow:0 8px 24px #10203326; }
.co-tech-options[hidden] { display:none; }
.co-tech-picker .co-tech-options button { border:0;border-bottom:1px solid #e5edf3;border-radius:0; }
.co-tech-picker .co-tech-options button:hover,.co-tech-picker .co-tech-options button:focus-visible,.co-tech-picker .co-tech-options button[aria-selected=true] { background:#eef6fb; }
.co-tech-picker button:focus-visible { outline:2px solid #008fc7;outline-offset:-2px; }
.co-tech-trigger span:not(.co-tech-dot),.co-tech-options button span:not(.co-tech-dot) { overflow-wrap:anywhere;min-width:0; }
.co-toolbar > label:has(.co-tech-picker) { min-width:240px; }

.co-now-line { position:absolute;left:0;right:0;height:2px;background:#d52235;z-index:3;pointer-events:none; }
.co-now-line::before { content:'';position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#d52235; }
.co-now-label { position:absolute;right:2px;bottom:3px;border-radius:3px;padding:2px 4px;background:#d52235;color:#fff;font:bold 10px Arial,sans-serif;line-height:1.2; }
