/* ==================================================================
   SCHEDULE CSS — v1.45.11
   Values copied from 04_Schedule_APPROVED_LOCKED.html (the final
   "compact Teamup-inspired" rules, merged in the file's own cascade
   order), tagged "file 04". Text at 10/11px bumped one step per
   amendment 4j. Spanning multi-day bars per amendment 8.
   ================================================================== */

[data-new-ui] .nu-sc-context { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 13px; }   /* file 04 */
[data-new-ui] .nu-sc-h1 { margin: 0; font-size: 31px; line-height: 1.1; font-weight: 900; letter-spacing: -.03em; color: var(--nu-c-text-primary); }   /* file 04 */
[data-new-ui] .nu-sc-actions { display: flex; align-items: center; gap: 8px; }   /* file 04 */
[data-new-ui] .nu-sc-btn {
  height: 40px; border: 1px solid #cbd9e7; border-radius: 6px; background: #fff;   /* file 04 */
  color: #1d3d5a; padding: 0 13px; font-family: var(--nu-t-family);                /* file 04 */
  font-weight: 800; font-size: 13px; cursor: pointer;                               /* file 04 */
}
[data-new-ui] .nu-sc-btn-primary { background: #1b70e5; color: #fff; border-color: #1b70e5; }   /* file 04 */

[data-new-ui] .nu-sc-toolbar {
  background: #fff; border: 1px solid #d7e3ec; border-radius: 6px;                  /* file 04 */
  box-shadow: 0 7px 18px rgba(8,32,51,.055); padding: 9px 12px;                     /* file 04 */
  display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px;   /* file 04 */
}
[data-new-ui] .nu-sc-tl, [data-new-ui] .nu-sc-tr { display: flex; align-items: center; gap: 7px; }   /* file 04 */
[data-new-ui] .nu-sc-arrow { height: 36px; font-size: 16px; }                         /* file 04 */
[data-new-ui] .nu-sc-select {
  height: 36px; border: 1px solid #cbd9e7; border-radius: 5px; background: #fff;     /* file 04 */
  padding: 0 10px; font-family: var(--nu-t-family); font-size: 14px; font-weight: 700; color: #294763;   /* file 04 */
}
[data-new-ui] .nu-sc-viewbtn {
  height: 40px; min-width: 82px; border: 1px solid #cbd9e7; border-radius: 5px;     /* file 04 */
  background: #fff; color: #22445f; font-family: var(--nu-t-family);                 /* file 04 */
  font-weight: 900; padding: 0 16px; font-size: 14px; cursor: pointer;               /* file 04 */
}
[data-new-ui] .nu-sc-viewbtn.nu-active { background: #183f5d; color: #fff; }          /* file 04 */

[data-new-ui] .nu-sc-card {
  background: #fff; border: 1px solid #d7e3ec; border-radius: 6px;                  /* file 04 */
  box-shadow: 0 7px 18px rgba(8,32,51,.055); overflow: hidden;                      /* file 04 */
}
[data-new-ui] .nu-sc-head { display: flex; align-items: center; padding: 12px 14px; border-bottom: 1px solid #d7e3ec; gap: 12px; }   /* file 04 */
[data-new-ui] .nu-sc-title { font-size: 21px; font-weight: 900; color: #0b2540; }    /* file 04 */

/* Day-of-week header */
[data-new-ui] .nu-sc-dows { display: grid; grid-template-columns: repeat(7, 1fr); background: #d9e3eb; }   /* file 04 */
[data-new-ui] .nu-sc-dow {
  font-size: 13px; color: #536c83; font-weight: 900; text-align: left;              /* file 04 (4j: was 11px) */
  padding: 9px; background: #eef3f6;                                                 /* file 04 */
  border-right: 1px solid #d9e3eb; border-bottom: 1px solid #d2dee7;                 /* file 04 */
}

/* Week rows — day boxes behind, bars on top (amendment 8) */
[data-new-ui] .nu-sc-week {
  display: grid; grid-template-columns: repeat(7, 1fr);
  min-height: 154px; background: #d9e3eb;                                            /* file 04 */
}
[data-new-ui] .nu-sc-day {
  position: relative; z-index: 0; min-width: 0;
  background: #fff; border: 1px solid #dce5ec; border-radius: 8px;                  /* file 04 */
  border-right-color: #d9e3eb; border-bottom-color: #d9e3eb;                         /* file 04 */
}
[data-new-ui] .nu-sc-day.nu-sc-other { background: #f4f7f9; }                         /* file 04 */
[data-new-ui] .nu-sc-day.nu-sc-today {
  border: 2px solid #18b690; background: #f8fffc;                                    /* file 04 */
  box-shadow: inset 0 3px 0 #18b690;                                                  /* file 04 */
}
[data-new-ui] .nu-sc-num {
  position: relative; z-index: 1; display: block; text-align: right;                 /* file 04 */
  font-size: 12px; color: #38536b; margin-bottom: 5px; padding: 7px 7px 0;           /* file 04 */
}
[data-new-ui] .nu-sc-week .nu-sc-other ~ .nu-sc-num { color: #38536b; }

/* Job bars */
[data-new-ui] .nu-sc-bar {
  position: relative; z-index: 1;
  width: 100%; border: 1px solid transparent; border-left: 4px solid currentColor; border-radius: 3px;  /* file 04 + amendment 11 fine border */
  text-align: left; padding: 4px 6px; margin: 0 0 3px; cursor: pointer;             /* file 04 */
  display: flex; align-items: center; gap: 5px; min-height: 22px;                    /* file 04 */
  font-family: var(--nu-t-family); font-weight: 800; box-shadow: none;               /* file 04 */
  text-decoration: none; min-width: 0; box-sizing: border-box;
}
[data-new-ui] .nu-sc-bar span { font-size: 12px; font-weight: 900; min-width: 45px; flex: none; }   /* file 04 (4j: was 10px) */
[data-new-ui] .nu-sc-bar strong {
  font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;   /* file 04 (4j: was 10px) */
  min-width: 0; flex: 1;
}
[data-new-ui] .nu-sc-bar:hover { box-shadow: 0 1px 4px rgba(8,32,51,.10); }           /* file 04 */
[data-new-ui] .nu-sc-bar.urgent { background: #fde9e8; color: #c93836; border-color: #eeb0ae; border-left-color: currentColor; }   /* file 04; border = amendment 11 */
[data-new-ui] .nu-sc-bar.high   { background: #fff1d7; color: #9b680d; border-color: #e6c88e; border-left-color: currentColor; }   /* file 04; border = amendment 11 */
[data-new-ui] .nu-sc-bar.medium { background: #e7f0fb; color: #286ab8; border-color: #b3cbeb; border-left-color: currentColor; }   /* file 04; border = amendment 11 */
[data-new-ui] .nu-sc-bar.low    { background: #e9eef2; color: #657a8c; border-color: #c4ced7; border-left-color: currentColor; }   /* file 04; border = amendment 11 */

/* Spanning (multi-day) bars — amendment 8 */
[data-new-ui] .nu-sc-span,
[data-new-ui] .nu-sc-cell { width: auto; margin: 0 7px 3px; align-self: start; }
[data-new-ui] .nu-sc-more.nu-sc-cell { justify-self: start; }
[data-new-ui] .nu-sc-span.nu-sc-contto { margin-right: 0; border-right-width: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }

[data-new-ui] .nu-sc-more {
  border: 0; background: transparent; color: #1a68bf; font-family: var(--nu-t-family);   /* file 04 */
  font-size: 13px; font-weight: 900; padding: 3px 0; cursor: pointer;                 /* file 04 (4j: was 11px) */
}

/* Legend */
[data-new-ui] .nu-sc-legend {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;                   /* file 04 */
  padding: 9px 12px; background: #fafcfd; border-top: 1px solid #d7e3ec;            /* file 04 */
  color: #5f7690; font-size: 13px; font-weight: 700;                                  /* file 04 (4j: was 11px) */
}
[data-new-ui] .nu-sc-legend span { display: flex; align-items: center; gap: 5px; }   /* file 04 */
[data-new-ui] .nu-sc-ldot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }   /* file 04 */
[data-new-ui] .nu-sc-ldot.urgent { background: #df4442; }   /* file 04 */
[data-new-ui] .nu-sc-ldot.high   { background: #dfa117; }   /* file 04 */
[data-new-ui] .nu-sc-ldot.medium { background: #3a79cb; }   /* file 04 */
[data-new-ui] .nu-sc-ldot.low    { background: #8295a5; }   /* file 04 */

/* Hover / click preview card */
[data-new-ui] .nu-sc-preview {
  position: fixed; z-index: 60; width: 320px; background: #fff;                     /* file 04 */
  border: 1px solid #cbd9e4; border-radius: 6px;                                     /* file 04 */
  box-shadow: 0 14px 34px rgba(8,32,51,.18); padding: 12px; right: 24px; bottom: 24px;   /* file 04 */
}
[data-new-ui] .nu-sc-preview[hidden] { display: none; }
[data-new-ui] .nu-sc-pv-top { display: flex; justify-content: space-between; gap: 12px; }   /* file 04 */
[data-new-ui] .nu-sc-pv-job { font-size: 13px; font-weight: 900; color: #637b91; }   /* file 04 (4j: was 11px) */
[data-new-ui] .nu-sc-pv-title { font-size: 18px; line-height: 1.2; font-weight: 900; color: #0b243e; margin-top: 2px; }   /* file 04 */
[data-new-ui] .nu-sc-pv-close { border: 0; background: none; font-size: 22px; line-height: 1; color: #678096; cursor: pointer; }   /* file 04 */
[data-new-ui] .nu-sc-pv-time { display: flex; align-items: center; gap: 9px; margin-top: 8px; font-size: 13px; font-weight: 900; color: #2d4963; flex-wrap: wrap; }   /* file 04 */
[data-new-ui] .nu-sc-pv-pill { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 12px; font-size: 12px; font-weight: 900; }   /* file 04 (4j: was 10px) */
[data-new-ui] .nu-sc-pv-pill.urgent { background: #fde9e8; color: #c93836; }   /* file 04 */
[data-new-ui] .nu-sc-pv-pill.high   { background: #fff1d7; color: #9b680d; }   /* file 04 */
[data-new-ui] .nu-sc-pv-pill.medium { background: #e7f0fb; color: #286ab8; }   /* file 04 */
[data-new-ui] .nu-sc-pv-pill.low    { background: #e9eef2; color: #657a8c; }   /* file 04 */
[data-new-ui] .nu-sc-pv-details { margin-top: 8px; color: #5d748c; font-size: 13px; font-weight: 650; }   /* file 04 */
[data-new-ui] .nu-sc-pv-actions { margin-top: 12px; }   /* file 04 */
[data-new-ui] .nu-sc-pv-open {
  height: 36px; border: 0; border-radius: 5px; background: #0cab78; color: #fff;    /* file 04 */
  font-family: var(--nu-t-family); font-weight: 900; padding: 0 13px; cursor: pointer;   /* file 04 */
}

/* Phone: days stacked top to bottom (amendment 10) */
[data-new-ui] .nu-sc-mobile { display: none; }
[data-new-ui] .nu-sc-mday { background: #fff; border-bottom: 1px solid #d9e3eb; padding: 9px 12px 6px; }
[data-new-ui] .nu-sc-mday > b { display: block; font-size: 13px; color: #38536b; margin-bottom: 6px; }
[data-new-ui] .nu-sc-mday.nu-sc-today { background: #f8fffc; box-shadow: inset 3px 0 0 #18b690; }
[data-new-ui] .nu-sc-mempty { color: var(--nu-c-text-muted); font-size: 13px; padding: 4px 0 6px; }

@media (max-width: 760px) {
  [data-new-ui] .nu-sc-desktop { display: none; }
  [data-new-ui] .nu-sc-mobile { display: block; }
  [data-new-ui] .nu-sc-context { display: block; }
  [data-new-ui] .nu-sc-actions { margin-top: 10px; flex-wrap: wrap; }   /* file 04 */
  [data-new-ui] .nu-sc-toolbar { flex-wrap: wrap; }                    /* file 04 */
  [data-new-ui] .nu-sc-preview { left: 12px; right: 12px; bottom: 12px; width: auto; }   /* file 04 */
}

/* v2.0.2 (Phil): which layout shows is decided in the script (upright phone = list, sideways / tablet = grid, or the switch) */
@media (max-width: 760px) {
  [data-new-ui] .nu-sc-card.nu-sc-show-grid .nu-sc-desktop { display: block; overflow-x: auto; }
  [data-new-ui] .nu-sc-card.nu-sc-show-grid .nu-sc-mobile { display: none; }
}
[data-new-ui] .nu-sc-card.nu-sc-show-list .nu-sc-desktop { display: none; }
[data-new-ui] .nu-sc-card.nu-sc-show-list .nu-sc-mobile { display: block; }
[data-new-ui] .nu-sc-layoutsw { display: none; margin-left: 10px; }
@media (max-width: 1100px) { [data-new-ui] .nu-sc-layoutsw { display: inline-flex; gap: inherit; } }
[data-new-ui] .nu-sc-flash { animation: nuScFlash 1.6s ease; }
@keyframes nuScFlash { 0%, 60% { box-shadow: inset 0 0 0 3px #18b690, 0 0 0 4px rgba(24,182,144,.25); } 100% { box-shadow: none; } }
