:root{--blue:#0055A4;--blue2:#0d6ec7;--bg:#f3f7fb;--card:#fff;--text:#17324d;--muted:#66788a;--border:#dce6ef;--ski:#dceeff;--board:#eee3ff;--tube:#fff0d1;--yes:#dff5e5;--no:#ffe2e2;--partial:#fff2c9;--unknown:#eef1f4}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}.top{background:var(--blue);color:#fff;padding:14px max(18px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{display:flex;flex-direction:column}.brand strong{font-size:21px}.brand span{font-size:13px;opacity:.86;margin-top:2px}.top nav{display:flex;gap:8px;flex-wrap:wrap}.top nav a{color:#fff;text-decoration:none;padding:9px 11px;border-radius:8px;background:rgba(255,255,255,.1)}.wrap{max-width:1180px;margin:22px auto;padding:0 16px}.panel,.day-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,40,80,.05)}h1{margin:0 0 6px;font-size:28px}h2{font-size:20px;margin:0 0 10px}.muted{color:var(--muted)}.day-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.date{font-weight:700;font-size:19px}.opening{color:var(--blue);font-weight:700}.sessions{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700;border:1px solid transparent}.badge.ski{background:var(--ski);border-color:#b9daf8}.badge.snowboard{background:var(--board);border-color:#d8c4fb}.badge.tubing{background:var(--tube);border-color:#f1d698}.availability-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.choice{border:1px solid var(--border);border-radius:10px;padding:11px;background:#fff}.choice label{display:flex;gap:8px;align-items:center;font-weight:700;cursor:pointer}.custom-times{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding-left:25px}.custom-times input{padding:8px;border:1px solid #cbd8e4;border-radius:8px;font-size:16px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.btn,button{appearance:none;border:0;border-radius:9px;padding:11px 16px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer;text-decoration:none;font-size:15px}.btn.secondary,button.secondary{background:#e6eef6;color:var(--blue)}.btn.danger,button.danger{background:#a72d2d}.flash{border-radius:10px;padding:12px 14px;margin-bottom:14px}.flash.ok{background:var(--yes)}.flash.error{background:var(--no)}.login{max-width:420px;margin:50px auto}.field{margin:13px 0}.field label{display:block;font-weight:700;margin-bottom:5px}.field input,.field select{width:100%;padding:11px;border:1px solid #cbd8e4;border-radius:9px;font-size:16px}.table-wrap{overflow-x:auto}.rota{width:100%;border-collapse:collapse;min-width:720px}.rota th,.rota td{border-bottom:1px solid var(--border);padding:10px 9px;text-align:left;vertical-align:top}.rota th{background:#f7fafc;font-size:13px}.status{display:inline-block;padding:6px 8px;border-radius:7px;font-weight:700;font-size:13px}.status.yes{background:var(--yes)}.status.no{background:var(--no)}.status.partial{background:var(--partial)}.status.unknown{background:var(--unknown);color:#687784}.summary-row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.summary-pill{padding:8px 10px;background:#eef5fb;border-radius:9px;font-weight:700}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.user-row{display:grid;grid-template-columns:1.3fr 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--border);padding:11px 0}.small{font-size:13px}.warning{background:#fff3cd;border:1px solid #ffe69c;padding:11px;border-radius:9px}footer{max-width:1180px;margin:24px auto;padding:0 16px 30px;color:var(--muted);font-size:12px}@media(max-width:700px){.availability-options{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.user-row{grid-template-columns:1fr}.top{align-items:flex-start}.wrap{margin-top:14px}h1{font-size:24px}}

/* Visual admin rota */
.rota-key{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:13px;font-weight:700}.rota-key span{display:inline-flex;align-items:center;gap:6px}.key-swatch{width:16px;height:10px;border-radius:3px;display:inline-block;border:1px solid rgba(0,0,0,.08)}.key-swatch.available{background:#bfe8c9}.key-swatch.ski{background:#b9daf8}.key-swatch.snowboard{background:#d8c4fb}.key-swatch.tubing{background:#f1d698}.key-swatch.unavailable{background:#f2bcbc}.key-swatch.awaiting{background:#dfe5ea}.key-swatch.shift{background:#fff;border:2px solid #174f7a}.summary-row.compact{margin:0}.visual-day{padding-bottom:20px}.timeline-scroll{overflow-x:auto;margin-top:16px;padding-bottom:4px}.visual-rota{display:grid;grid-template-columns:150px minmax(720px,1fr);min-width:870px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.timeline-label{padding:9px 10px;border-bottom:1px solid var(--border);background:#f8fafc;font-size:13px;font-weight:700;display:flex;align-items:center;min-height:56px}.activity-label{min-height:68px;color:var(--blue)}.instructor-name{white-space:normal;overflow:visible;text-overflow:clip;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0}.instructor-name .small-edit-link{margin-left:0;margin-top:5px}.timeline-track{position:relative;border-bottom:1px solid var(--border);min-height:56px;background:#fff;overflow:hidden}.activity-track{min-height:68px;padding-top:21px}.time-line{position:absolute;top:0;bottom:0;width:1px;background:#e7edf3;z-index:1}.time-label{position:absolute;top:3px;transform:translateX(-50%);font-size:10px;color:var(--muted);z-index:4;white-space:nowrap}.time-label:first-of-type{transform:none}.session-bar,.availability-bar{position:absolute;z-index:3;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;border:1px solid rgba(0,0,0,.08)}.session-bar{top:23px;height:37px;flex-direction:column;gap:0;line-height:1.05}.session-bar small{font-size:9px;font-weight:400}.session-bar.ski{background:var(--ski);border-color:#b9daf8}.session-bar.snowboard{background:var(--board);border-color:#d8c4fb}.session-bar.tubing{background:var(--tube);border-color:#f1d698}.availability-bar{top:5px;height:46px;padding:0 8px;align-items:flex-start;padding-top:4px}.availability-time{font-size:10px;font-weight:700;opacity:.9}.availability-bar.available{background:var(--yes);border-color:#b7dfc1;color:#1b6430}.availability-bar.unavailable{background:var(--no);border-color:#efbcbc;color:#8a2525}.availability-bar.awaiting{background:repeating-linear-gradient(135deg,#eef1f4,#eef1f4 8px,#e4e8ec 8px,#e4e8ec 16px);color:#687784;border-color:#d7dde2;align-items:center;justify-content:center;padding-top:0}.no-sessions{position:absolute;left:12px;top:31px;font-size:12px;color:var(--muted);z-index:2}.visual-rota>*:nth-last-child(-n+2){border-bottom:0}@media(max-width:700px){.visual-rota{grid-template-columns:110px minmax(650px,1fr);min-width:760px}.timeline-label{padding-left:7px;padding-right:7px}.summary-row.compact{margin-top:10px}}

/* Month navigation and invitation UI */
.month-nav{display:grid;grid-template-columns:48px minmax(160px,1fr) 48px;align-items:center;gap:10px;max-width:420px;margin:18px auto 0;text-align:center}.month-nav strong{font-size:20px}.month-arrow{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;background:var(--blue);color:#fff;text-decoration:none;font-size:30px;line-height:1}.invite-link input{width:100%;padding:10px;border:1px solid #cbd8e4;border-radius:8px;font-size:14px}.user-row{grid-template-columns:minmax(220px,1.5fr) repeat(3,auto)}@media(max-width:700px){.month-nav{grid-template-columns:44px minmax(120px,1fr) 44px}.month-nav strong{font-size:18px}.user-row{grid-template-columns:1fr}}

.admin-tag{display:block;font-size:11px;font-weight:600;opacity:.65;margin-top:6px;line-height:1.2}

select{width:100%;padding:10px 11px;border:1px solid #cbd8e4;border-radius:8px;background:#fff;color:var(--text);font-size:16px}
.danger-outline{background:#fff;color:#9a2525;border:1px solid #d9a9a9}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.shift-list{padding-top:6px}.shift-row{display:grid;grid-template-columns:minmax(170px,1fr) auto minmax(150px,1fr);gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border)}.shift-row:last-child{border-bottom:0}.shift-duty{display:inline-block;background:#e8f1fa;border:1px solid #c8dced;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.shift-note{font-size:13px;color:var(--muted)}
.shift-admin-day{padding:10px 0 16px;border-bottom:1px solid var(--border)}.shift-admin-day:last-child{border-bottom:0}.assigned-shift{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:9px 10px;background:#f7fafc;border:1px solid var(--border);border-radius:9px}.assigned-summary{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0 4px}.assigned-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#e8f1fa;border:1px solid #c8dced;font-size:12px;font-weight:700}
@media(max-width:700px){.field-row{grid-template-columns:1fr}.shift-row{grid-template-columns:1fr}.assigned-shift{align-items:flex-start;flex-direction:column}}
.small-edit-link{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;text-decoration:none}.user-row>.btn{white-space:nowrap}

.shift-bar{position:absolute;z-index:20;top:14px;height:30px;border-radius:6px;background:#ffffff;border:3px solid #174f7a;color:#123d5d;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;overflow:hidden;white-space:nowrap;font-size:11px;line-height:1;box-shadow:0 2px 5px rgba(0,0,0,.18)}.shift-bar b{overflow:hidden;text-overflow:ellipsis}.shift-bar small{font-size:9px;font-weight:700}

/* Rota alignment and assigned-shift colour */
.availability-bar.awaiting{
  display:grid !important;
  place-items:center !important;
  top:5px !important;
  height:46px !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
}
.shift-bar{
  z-index:60 !important;
  top:11px !important;
  height:34px !important;
  background:#2f7d45 !important;
  border:2px solid #1f5f31 !important;
  color:#fff !important;
  box-shadow:0 2px 5px rgba(0,0,0,.20) !important;
}
.shift-bar b,.shift-bar small{color:#fff !important;}

/* Colour-first rota refresh */
:root{
  --opening:#087f8c;
  --opening-soft:#d9f3f5;
  --ski-strong:#1976d2;
  --ski-soft:#d6eaff;
  --board-strong:#7b3fc6;
  --board-soft:#eadcff;
  --tube-strong:#e67e00;
  --tube-soft:#ffe2b8;
  --avail-strong:#67b978;
  --avail-soft:#d9f2df;
  --assigned:#176b37;
  --assigned-border:#0f4f28;
  --danger-strong:#c94848;
}
.opening-pill{display:inline-flex;align-items:center;margin-top:5px;padding:5px 9px;border-radius:999px;background:var(--opening-soft);color:#075d65;border:1px solid #8fd3d9;font-weight:800}
.rota-key{padding:10px 12px;border-radius:10px;background:#f7fafc;border:1px solid var(--border)}
.key-swatch.openinghours{background:var(--opening);border-color:#066873}.key-swatch.ski{background:var(--ski-strong);border-color:#105da8}.key-swatch.snowboard{background:var(--board-strong);border-color:#5d2f98}.key-swatch.tubing{background:var(--tube-strong);border-color:#b86200}.key-swatch.available{background:var(--avail-strong);border-color:#459759}.key-swatch.shift{background:var(--assigned);border-color:var(--assigned-border)}
.session-bar.ski,.badge.ski{background:var(--ski-strong)!important;border-color:#105da8!important;color:#fff!important}.session-bar.snowboard,.badge.snowboard{background:var(--board-strong)!important;border-color:#5d2f98!important;color:#fff!important}.session-bar.tubing,.badge.tubing{background:var(--tube-strong)!important;border-color:#b86200!important;color:#fff!important}
.session-bar small{color:inherit!important;opacity:.92}.colorful-sessions .badge{box-shadow:0 1px 2px rgba(0,0,0,.12)}
.opening-label{background:#e8f8f9!important;color:#075d65!important}.opening-track{min-height:62px;padding-top:24px;background:#f7fdfd}.opening-hours-bar{position:absolute;z-index:3;top:25px;height:28px;border-radius:6px;background:var(--opening);border:1px solid #066873;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.activity-label{background:#f5f1fb!important;color:#5d2f98!important}
.availability-bar.available{background:var(--avail-strong)!important;border-color:#459759!important;color:#123f1e!important}.availability-bar.unavailable{background:#efaaaa!important;border-color:#d66d6d!important;color:#702020!important}.availability-bar.awaiting{background:repeating-linear-gradient(135deg,#eceff2,#eceff2 8px,#dce2e7 8px,#dce2e7 16px)!important;color:#56636d!important}
.shift-bar{background:var(--assigned)!important;border-color:var(--assigned-border)!important;color:#fff!important;z-index:80!important;box-shadow:0 2px 7px rgba(15,79,40,.34)!important}
.instructor-track{background:#fbfdfb}.instructor-name{background:#f7fafc!important}.person-name{font-weight:800;line-height:1.15}.role-tag{display:inline-block;margin-top:7px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;line-height:1.2}.role-instructor{background:#d6eaff;color:#145ba3}.role-staff{background:#ffe2b8;color:#925000}.role-admin{background:#eadcff;color:#6535a3}.small-edit-link{margin-top:7px!important}
.summary-pill.responded{background:#d9f2df;color:#216738}.summary-pill.waiting{background:#edf0f3;color:#5d6870}.summary-pill.unavailable-count{background:#f9d7d7;color:#8b3030}
.availability-day{border-left:6px solid var(--opening)}.availability-day.rostered-day{border-left-color:var(--assigned);box-shadow:0 0 0 2px rgba(23,107,55,.08)}
.availability-options .choice{transition:border-color .15s ease,background .15s ease}.choice-all{background:#edf9f0;border-color:#b9dfc2}.choice-custom{background:#f1f7ff;border-color:#c7dcf3}.choice-no{background:#fff1f1;border-color:#efc4c4}.choice:has(input:checked){outline:2px solid rgba(0,85,164,.18);outline-offset:1px}.choice-all:has(input:checked){background:#d9f2df;border-color:#67b978}.choice-custom:has(input:checked){background:#dfeeff;border-color:#6da7df}.choice-no:has(input:checked){background:#f9d7d7;border-color:#d66d6d}
.custom-times select{width:auto;min-width:105px;padding:8px 10px;border:1px solid #9ebbd2;border-radius:8px;background:#fff;font-weight:700;color:#234}
.rostered-warning{margin:10px 0 2px;padding:10px 12px;border-radius:9px;background:#dff1e5;border:1px solid #8bc59a;color:#174c28}.rostered-warning strong{color:#0f4f28}
.admin-alerts{border-left:6px solid #e09b22;background:#fffaf0}.admin-alert{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-top:1px solid #f0dfbd}.admin-alert:first-of-type{border-top:0}.admin-alert .small{margin-top:4px;color:#6e5a34}
@media(max-width:700px){.admin-alert{align-items:flex-start;flex-direction:column}.custom-times select{min-width:96px}.rota-key{gap:9px}}

/* Rostered availability remains editable, with assigned sessions shown visually */
.assigned-availability-visual{
  position:relative;
  height:44px;
  margin:10px 0 12px;
  border:1px solid #9fb7c9;
  border-radius:9px;
  overflow:hidden;
  background:#eef6fb;
}
.assigned-availability-visual .opening-mini{
  position:absolute; inset:0 auto 0 0;
  background:#d9eefc;
}
.assigned-availability-visual .shift-mini{
  position:absolute;
  top:5px;
  bottom:5px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:56px;
  padding:0 6px;
  border:2px solid #14532d;
  border-radius:7px;
  background:#166534;
  color:#fff;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  z-index:3;
}
.changed-rota-day{
  border:3px solid #d97706 !important;
  box-shadow:0 0 0 3px rgba(217,119,6,.13);
}
.date-warning-badge{
  display:inline-block;
  margin-left:8px;
  padding:4px 7px;
  border-radius:999px;
  background:#fff3cd;
  border:1px solid #f59e0b;
  color:#92400e;
  font-size:12px;
  font-weight:800;
  vertical-align:middle;
}

/* Staffing demand / coverage on shift allocation */
.staffing-overview{border-top:5px solid #075a9c}.staffing-days{display:grid;gap:12px}.staffing-day{border:1px solid var(--border);border-left:6px solid #5aa469;border-radius:10px;padding:12px;background:#fff}.staffing-day.staffing-short{border-left-color:#d97706;background:#fffaf2}.staffing-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.staffing-day-head>div{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.coverage-chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}.coverage-chip.covered{background:#d7f0df;color:#155b2c;border:1px solid #8fc89f}.coverage-chip.partial{background:#fff0c7;color:#865200;border:1px solid #e9bd59}.coverage-chip.uncovered{background:#f9d4d4;color:#8b2222;border:1px solid #e59a9a}.coverage-chip.quiet{background:#edf1f4;color:#66737d;border:1px solid #d8dfe5}.coverage-blocks{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.coverage-block{min-width:145px;display:grid;gap:2px;padding:8px 9px;border-radius:8px;border:1px solid #c9d4dc;background:#f6f9fb;font-size:12px}.coverage-block b{font-size:13px}.coverage-block strong{font-size:12px}.coverage-block small{opacity:.8}.coverage-block.covered{background:#e5f5e9;border-color:#9dccaa;color:#17592a}.coverage-block.partial{background:#fff2ce;border-color:#e7c36a;color:#7b5100}.coverage-block.uncovered{background:#fde0e0;border-color:#e8a6a6;color:#862525}.shift-cover-hint{margin:8px 0 12px;padding:10px 11px;border-radius:8px;font-size:13px;font-weight:700}.shift-cover-hint.covered{background:#e5f5e9;border:1px solid #9dccaa;color:#17592a}.shift-cover-hint.warning{background:#fff2ce;border:1px solid #e7c36a;color:#7b5100}

/* Make assigned shift unmistakable over availability */
.shift-bar{
  z-index:100 !important;
  top:8px !important;
  height:40px !important;
  background:repeating-linear-gradient(135deg,#0f5f30,#0f5f30 9px,#19723b 9px,#19723b 18px) !important;
  border:3px solid #073f1e !important;
  color:#fff !important;
  box-shadow:0 0 0 2px #fff,0 3px 8px rgba(0,0,0,.34) !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.shift-bar b{font-size:11px;background:#fff;color:#0f5f30!important;border-radius:4px;padding:2px 5px;line-height:1.1}.shift-bar small{font-size:10px!important;color:#fff!important;text-transform:none;letter-spacing:0;font-weight:800!important}
@media(max-width:700px){.staffing-day-head{align-items:flex-start}.coverage-block{min-width:130px;flex:1 1 130px}}

/* Shift allocation: requirements left, schedule form to the side */
.shift-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.shift-page-main{min-width:0}
.shift-page-side{min-width:0}
.shift-form-panel{position:sticky;top:16px}
.shift-form-panel form{display:grid;gap:10px}
.shift-form-panel .field-row.side-times{grid-template-columns:1fr 1fr}

/* Whole Bookwhen lessons: one clear row per lesson */
.whole-lesson-cover-list{display:grid;gap:8px;margin-top:10px}
.whole-lesson-cover{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d7dee7;border-radius:9px;background:#fff}
.whole-lesson-cover.covered{border-left:6px solid #18864b;background:#f1fbf5}
.whole-lesson-cover.partial{border-left:6px solid #e59a15;background:#fff8e8}
.whole-lesson-cover.uncovered{border-left:6px solid #c9342c;background:#fff1f0}
.whole-lesson-main{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.lesson-activity{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800;border:1px solid rgba(0,0,0,.12)}
.lesson-activity.ski{background:#d9ecff;color:#0b4f8a}
.lesson-activity.snowboard{background:#eadcff;color:#5a2d91}
.whole-cover-status{font-size:13px;font-weight:800;white-space:nowrap}
.whole-cover-status.covered{color:#146c3c}
.whole-cover-status.partial{color:#9a6400}
.whole-cover-status.uncovered{color:#a5231e}

@media(max-width:900px){
  .shift-page-layout{grid-template-columns:1fr}
  .shift-form-panel{position:static}
}
@media(max-width:600px){
  .whole-lesson-cover{align-items:flex-start;flex-direction:column}
  .whole-cover-status{white-space:normal}
}


/* Combined day-by-day admin rota + shift assignment */
.daily-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.daily-date-nav{display:grid;grid-template-columns:46px minmax(220px,1fr) 46px;align-items:center;max-width:620px;margin:18px auto 10px;gap:12px}
.daily-date-center{text-align:center;display:flex;flex-direction:column;gap:3px}
.daily-date-center strong{font-size:20px}.daily-date-center span{color:var(--blue);font-weight:700}
.month-arrow.disabled{opacity:.25;pointer-events:none}
.jump-date-form{max-width:420px;margin:0 auto}.jump-date-form label{font-weight:700}.jump-date-form select{width:100%;margin-top:5px;padding:9px;border:1px solid #cbd8e4;border-radius:8px;background:#fff}
.daily-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}
.daily-admin-main{min-width:0}.daily-admin-side{min-width:0}.sticky-shift-panel{position:sticky;top:14px}
.daily-visual-panel{padding:10px}
.daily-visual-rota{grid-template-columns:170px minmax(820px,1fr);min-width:990px}
.daily-lessons-label{align-items:flex-start;padding-top:29px}
.daily-lessons-track{position:relative;min-height:76px;overflow:hidden;border-bottom:1px solid var(--border)}
.daily-lesson-bar{position:absolute;z-index:3;height:32px;border-radius:6px;padding:3px 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;justify-content:center;line-height:1.05}
.daily-lesson-bar b{overflow:hidden;text-overflow:ellipsis}.daily-lesson-bar small{font-size:9px;font-weight:400}
.daily-lesson-bar.ski{background:var(--ski);border-color:#b9daf8}.daily-lesson-bar.snowboard{background:var(--board);border-color:#d8c4fb}.daily-lesson-bar.tubing{background:var(--tube);border-color:#f1d698}
.daily-person-track{cursor:default}.daily-person-track .availability-bar.available{appearance:none;width:auto;border-radius:6px;cursor:pointer}
.daily-person-track .availability-bar.available:hover{filter:brightness(.97);outline:2px solid rgba(0,85,164,.2)}
.daily-shift-bar{z-index:5}
.daily-cover-summary{margin-bottom:12px}
.daily-assigned-list .assigned-shift{margin-top:8px}
.daily-assigned-list .assigned-shift:first-of-type{margin-top:0}
@media(max-width:980px){.daily-admin-layout{grid-template-columns:1fr}.sticky-shift-panel{position:static}.daily-admin-side{display:grid;grid-template-columns:1fr 1fr;gap:16px}.daily-admin-side .panel{margin-bottom:0}}
@media(max-width:700px){.daily-admin-side{grid-template-columns:1fr}.daily-date-nav{grid-template-columns:42px 1fr 42px}.daily-title-row .btn{width:100%;text-align:center}}
