.board-controls{display:grid;gap:8px;margin-bottom:9px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.board-search{display:grid;grid-template-columns:1fr auto;gap:7px}.board-search label{display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #ccd7e3;border-radius:8px}.board-search input{width:100%;padding:9px 0;border:0;outline:0}.board-search button,.board-control-row button,.board-past-panel button{border:1px solid #c8d5e3;border-radius:8px;background:#edf4fb;color:#175a96;font-weight:800}.board-control-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.board-range-switch{display:flex;border:1px solid #cbd6e2;border-radius:8px;overflow:hidden}.board-range-switch button{min-width:52px;padding:8px;border:0;border-right:1px solid #cbd6e2;border-radius:0;background:#fff;color:#536274}.board-range-switch button:last-child{border-right:0}.board-range-switch button.active{background:#1769e0;color:#fff}.board-assignee-label{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:12px}.board-assignee-label select{padding:8px;border:1px solid #cbd6e2;border-radius:8px}.board-control-row>button{padding:8px 11px}.board-past-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:7px;padding:9px;border-radius:8px;background:#f5f7fa}.board-past-panel label{display:grid;gap:3px;font-size:10px}.board-past-panel input,.board-past-panel select{padding:7px;border:1px solid #cbd6e2;border-radius:6px}.board-past-panel button{align-self:end;padding:8px}.board-search-results{position:relative;z-index:10;display:grid;gap:5px;max-height:360px;padding:9px;border:1px solid #bfcddd;border-radius:9px;background:#fff;box-shadow:0 14px 38px #10243b22;overflow:auto}.board-search-results header{display:flex;justify-content:space-between;position:sticky;top:-9px;padding:7px;background:#fff}.board-search-results header button{border:0;background:#eef2f6;border-radius:50%;width:28px;height:28px}.board-search-results>button{display:grid;gap:2px;padding:8px;border:0;border-left:4px solid #1769e0;border-radius:6px;background:#f3f7fc;text-align:left}.board-search-results>button span{font-size:10px;color:#607087}.board-date-head{display:grid;grid-template-columns:52px repeat(var(--board-days),minmax(0,1fr));position:sticky;top:0;z-index:8;border:1px solid var(--line);border-bottom:0;background:#fff}.board-date-head>div{display:grid;place-items:center;padding:7px;border-left:1px solid var(--line)}.board-date-head small{font-size:10px}.board-date-head b{font-size:14px}.board-date-head .today{background:#e8f1fd;color:#155da5}.board-section-title{display:flex;justify-content:space-between;align-items:center;padding:7px 9px;border:1px solid var(--line);background:#eff3f7;color:#536276;font-size:11px}.board-period-grid{display:grid;grid-template-columns:repeat(var(--board-days),minmax(0,1fr));grid-template-rows:repeat(var(--board-bar-rows),28px);gap:3px;max-height:420px;padding:5px;border:1px solid var(--line);border-top:0;background:#fff;overflow-y:auto}.board-period-event{position:relative;min-width:0;border-radius:6px;color:#fff;overflow:hidden}.board-period-event>button:first-child{display:grid;width:100%;height:100%;padding:4px 29px 4px 7px;border:0;background:transparent;color:inherit;text-align:left}.board-period-event b,.board-period-event small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-period-event b{font-size:9px}.board-period-event small{font-size:7px}.board-period-chat{position:absolute;right:3px;top:3px;width:22px;height:22px;padding:0;border:0;border-radius:5px;background:#fff3}.board-more-bars{width:100%;padding:8px;border:1px solid var(--line);border-top:0;background:#fff;color:#1769e0;font-weight:850}.board-empty{grid-column:1/-1;margin:4px;color:#657185;font-size:11px}.board-time-scroll{height:min(68vh,720px);border:1px solid var(--line);border-top:0;overflow:auto;background:#fff}.board-time-grid{display:grid;grid-template-columns:52px repeat(var(--board-days),minmax(120px,1fr));grid-template-rows:42px var(--canvas-height);min-width:calc(52px + var(--board-days)*120px);position:relative}.board-time-corner{position:sticky;top:0;left:0;z-index:12;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fafc;color:#758196;font-size:9px}.board-day-header{position:sticky;top:0;z-index:10;display:flex;gap:4px;align-items:center;justify-content:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.board-day-header.today{background:#e8f1fd;color:#155da5}.board-day-header small{font-size:9px}.board-day-header b{font-size:13px}.board-time-axis{position:sticky;left:0;z-index:7;grid-column:1;grid-row:2;height:var(--canvas-height);border-right:1px solid var(--line);background:#fff}.board-time-axis span{position:absolute;right:5px;transform:translateY(-6px);color:#728094;font-size:8px}.board-day-column{position:relative;grid-row:2;height:var(--canvas-height);border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,#fff 0,#fff calc(var(--hour-height) - 1px),#dfe5ec var(--hour-height))}.board-day-column.today{background:repeating-linear-gradient(to bottom,#f9fcff 0,#f9fcff calc(var(--hour-height) - 1px),#cfddeb var(--hour-height))}.board-timed-event{position:absolute;z-index:2;top:var(--event-top);left:calc((100% / var(--event-lanes))*var(--event-lane) + 1px);width:calc(100% / var(--event-lanes) - 2px);height:var(--event-height);min-height:24px;border-left:4px solid #153e69;border-radius:5px;background:var(--event-color);color:var(--event-text);overflow:hidden}.board-timed-event:hover{z-index:6;box-shadow:0 5px 18px #10243b44}.board-timed-event.external-only{background-image:repeating-linear-gradient(135deg,#fff5 0,#fff5 6px,#0001 6px,#0001 12px)}.board-timed-event>button:first-child{display:grid;align-content:start;width:100%;height:100%;gap:1px;padding:4px 21px 4px 4px;border:0;background:transparent;color:inherit;text-align:left;overflow:hidden}.board-timed-event b{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-timed-event strong{font-size:8px;line-height:1.15}.board-timed-event small,.board-timed-event em,.board-timed-event i{font-size:6px;font-style:normal}.board-event-chat{position:absolute;right:2px;top:2px;width:18px;height:18px;padding:0;border:0;border-radius:4px;background:#fff8;font-size:9px}.board-now-line{position:absolute;z-index:5;left:0;right:0;height:2px;background:#e43f47}.board-now-line:before{content:'';position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#e43f47}
@media(max-width:800px){.board-controls{padding:8px}.board-control-row{display:grid;grid-template-columns:auto 1fr auto}.board-assignee-label{margin:0;font-size:9px}.board-assignee-label select{width:100%;min-width:0}.board-past-panel{grid-template-columns:1fr 1fr}.board-past-panel label:nth-child(3),.board-past-panel button{grid-column:1/-1}.board-date-head{grid-template-columns:42px repeat(var(--board-days),minmax(0,1fr))}.board-date-head>div{padding:5px}.board-period-grid{max-height:340px}.board-period-event b{font-size:7px}.board-period-event small{font-size:6px}.board-section-title small{font-size:7px}.board-time-scroll{height:64vh}.board-time-grid{grid-template-columns:42px repeat(var(--board-days),minmax(105px,1fr));min-width:calc(42px + var(--board-days)*105px)}.board-timed-event{border-left-width:3px}.board-timed-event>button:first-child{padding:3px 15px 3px 2px}.board-timed-event b{font-size:6px}.board-timed-event strong{font-size:6px}.board-timed-event small,.board-timed-event em,.board-timed-event i{font-size:5px}.board-event-chat{width:14px;height:14px;font-size:7px}.board-search-results{max-height:52vh}}
.board-period-event.status-unassigned{background-image:repeating-linear-gradient(135deg,transparent 0,transparent 7px,#21070d2e 7px,#21070d2e 10px)}.board-period-event.status-checking{background-image:radial-gradient(#fff5 1.2px,transparent 1.4px);background-size:8px 8px}.board-period-event.status-arranged{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 12px,#fff2 12px,#fff2 15px)}.board-period-event.status-completed{background-image:linear-gradient(135deg,transparent 48%,#fff3 49%,#fff3 51%,transparent 52%)}.board-status-marker,.board-type-marker{display:inline-grid;place-items:center;min-width:15px;height:13px;margin-right:3px;padding:0 2px;border:1px solid currentColor;border-radius:3px;background:#fff4;font-size:8px;line-height:1}.board-section-title small b{display:inline-grid;place-items:center;min-width:14px;height:14px;border:1px solid currentColor;border-radius:3px}
.board-timed-event{z-index:calc(2 + var(--event-lane));left:calc(var(--event-left) + 1px);width:calc(var(--event-width) - 2px);min-height:36px;border-radius:6px;box-shadow:0 2px 6px #10243b38}.board-timed-event:hover,.board-timed-event:focus-within{z-index:20;box-shadow:0 6px 20px #10243b66}.board-timed-event>button:first-child{gap:2px;padding:5px 22px 5px 5px}.board-timed-event b{display:flex;align-items:center;gap:3px;font-size:9px;line-height:1.15}.board-assignee-name,.board-event-type{min-width:0;overflow:hidden;text-overflow:ellipsis}.board-event-type{display:flex;align-items:center}.board-timed-event strong{font-size:9px;line-height:1.2}.board-timed-event small,.board-timed-event em,.board-timed-event i{font-size:7px;line-height:1.15}.board-timed-event .board-type-marker{flex:0 0 auto;margin:0 3px 0 0}.board-event-chat{width:19px;height:19px;background:#fffb}
@media(max-width:800px){.board-period-event b{font-size:9px}.board-period-event small{font-size:8px}.board-timed-event>button:first-child{padding:5px 18px 5px 5px}.board-timed-event b{display:grid;gap:1px;font-size:10px;line-height:1.15;white-space:normal}.board-assignee-name{display:block;font-size:10px;font-weight:950;white-space:nowrap}.board-event-type{font-size:9px;white-space:nowrap}.board-timed-event strong{font-size:9px;line-height:1.2}.board-timed-event small,.board-timed-event em,.board-timed-event i{font-size:8px}.board-event-chat{width:17px;height:17px;font-size:9px}}

/* Keep a reliable tap target exposed on every overlapping schedule. */
.board-timed-event>button:first-child{padding-left:25px;padding-right:5px}
.board-event-chat{left:2px;right:auto}
@media(max-width:800px){.board-timed-event>button:first-child{padding-left:22px;padding-right:4px}}

/* Cancelled schedules stay searchable and auditable, but are visibly inactive. */
.board-timed-event.cancelled{filter:grayscale(1);opacity:.62;background:#6b7280!important;border-left-color:#374151}
.board-timed-event.cancelled>button:first-child strong{text-decoration:line-through}
.board-search-results>button.cancelled{border-left-color:#6b7280;background:#f3f4f6;opacity:.78}
