/* =========================================================
   PORTAL REDLINES v9 (additive, visual-preserving)
   Implements PR #8 user feedback set A/B/C:
     A. PlanHub Command Center reorder + working quick icons
     B. Schedule Alerts directly under Lily (matching width)
     C. Service Schedule Monday-Friday board

   All styles are namespaced .pr9-* and reuse existing
   --teal/--navy/--bd/--tx/--coral/--amber tokens. No
   overrides of existing component CSS.
   ========================================================= */

/* ---------- A. PlanHub Command Center quick-icon bar ---------- */
.pr9-quick-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: .75rem 0 .25rem;
  border-bottom: 1px solid var(--bd-lt, #eef4f3);
  margin-bottom: .75rem;
}
.pr9-quick-bar-title {
  width: 100%;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy, #141310);
  letter-spacing: .4px;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.pr9-quick-tile {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 8px 12px;
  min-width: 132px;
  background: var(--teal-lt, #FFF0E5);
  border: 1px solid var(--teal-md, #FFD4B0);
  border-radius: 10px;
  cursor: pointer;
  font-family: 'Barlow', sans-serif;
  color: var(--tx, #1a2e2b);
  transition: transform .12s, box-shadow .12s, border-color .12s;
}
.pr9-quick-tile:hover, .pr9-quick-tile:focus {
  border-color: var(--teal, #FF6B00);
  box-shadow: 0 4px 12px rgba(255,107,0,.18);
  transform: translateY(-1px);
  outline: none;
}
.pr9-quick-tile .pr9-q-name {
  font-weight: 700;
  font-size: 13px;
  color: var(--navy, #141310);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
.pr9-quick-tile .pr9-q-sub {
  font-size: 10px;
  color: var(--tx-md, #4a6b65);
  text-transform: uppercase;
  letter-spacing: .35px;
}
.pr9-quick-tile.pr9-q-request {
  background: #fff7e6;
  border-color: #f3d99c;
}
.pr9-quick-tile.pr9-q-request .pr9-q-sub { color: #8c6b1f; }
.pr9-quick-empty {
  font-size: 12px;
  color: var(--tx-lt, #8aada8);
  padding: 6px 4px;
}

/* ---------- A. Owner/admin-gated collapse for plan/discipline folders ---------- */
.phcc-section.pr9-collapsible {
  border: 1px solid var(--bd, #d8e8e5);
  border-radius: 12px;
  padding: 10px 14px;
  margin-bottom: .9rem;
  background: #fff;
}
.phcc-section.pr9-collapsible > h3 {
  cursor: pointer;
  user-select: none;
}
.phcc-section.pr9-collapsible .pr9-toggle-caret {
  display: inline-block;
  margin-left: 6px;
  font-size: 11px;
  color: var(--tx-lt, #8aada8);
  transition: transform .15s;
}
.phcc-section.pr9-collapsed .pr9-toggle-caret { transform: rotate(-90deg); }
.phcc-section.pr9-collapsed .phcc-folders { display: none; }
.pr9-owner-only {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: var(--navy, #141310);
  color: #fff;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.pr9-locked-hint {
  font-size: 11px;
  color: var(--tx-md, #4a6b65);
  font-style: italic;
  padding: 6px 0;
  display: none;
}
.phcc-section.pr9-locked .phcc-folders { display: none; }
.phcc-section.pr9-locked .pr9-locked-hint { display: block; }

/* ---------- A. Lily uncertain intake → text-thread question ---------- */
.pr9-lily-question {
  border: 1px dashed #d2b96b;
  background: #fffbe9;
  border-radius: 10px;
  padding: 10px 12px;
  margin: .6rem 0;
}
.pr9-lily-question h5 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #8c6b1f;
  margin-bottom: 4px;
  letter-spacing: .3px;
  text-transform: uppercase;
}
.pr9-lily-thread {
  background: #fff;
  border: 1px solid var(--bd-lt, #eef4f3);
  border-radius: 8px;
  padding: 6px 10px;
  margin-top: 8px;
  max-height: 180px;
  overflow-y: auto;
}
.pr9-lily-msg {
  font-size: 12px;
  margin: 4px 0;
  color: var(--tx, #1a2e2b);
}
.pr9-lily-msg .who {
  font-weight: 700;
  margin-right: 6px;
  color: var(--navy, #141310);
}
.pr9-lily-msg.lily .who { color: #8a5cc0; }
.pr9-lily-form {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}
.pr9-lily-form input {
  flex: 1;
  padding: 6px 10px;
  border: 1px solid var(--bd, #d8e8e5);
  border-radius: 6px;
  font-family: 'Barlow', sans-serif;
  font-size: 12px;
}
.pr9-lily-form button {
  padding: 6px 12px;
  background: var(--teal, #FF6B00);
  color: #fff;
  border: 0;
  border-radius: 6px;
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
}

/* ---------- B. Schedule Alerts under Lily, matching Lily width ---------- */
/* Ensures alerts panel mounted under Lily uses the same horizontal extent
   as the Lily ribbon. The center column .sv4-side-center is the constraint. */
.sv4-side-center .pr9-alerts-under-lily {
  width: 100%;
  margin-top: .6rem;
}
.sv4-side-center #sv6AlertsPanel.pr9-alerts-under-lily,
.sv4-side-center .sr8-ribbon-stack #sv6AlertsPanel {
  width: 100%;
  display: block;
  box-sizing: border-box;
}

/* ---------- C. Service Schedule Mon-Fri board ---------- */
.pr9-svc-board-wrap {
  margin-top: 12px;
  border: 1px solid var(--bd, #d8e8e5);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.pr9-svc-board-hdr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: var(--teal-lt, #FFF0E5);
  border-bottom: 1px solid var(--bd, #d8e8e5);
}
.pr9-svc-board-hdr h4 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy, #141310);
  letter-spacing: .35px;
  text-transform: uppercase;
}
.pr9-svc-board-hdr .pr9-svc-week {
  font-size: 12px;
  color: var(--tx-md, #4a6b65);
}
.pr9-svc-board {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--bd-lt, #eef4f3);
}
.pr9-svc-col {
  background: #fff;
  min-height: 200px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pr9-svc-col h5 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy, #141310);
  text-transform: uppercase;
  letter-spacing: .4px;
  padding: 4px 6px;
  margin-bottom: 4px;
  background: var(--teal-lt, #FFF0E5);
  border-radius: 6px;
}
.pr9-svc-job {
  background: #fff;
  border: 1px solid var(--bd, #d8e8e5);
  border-left: 3px solid var(--teal, #FF6B00);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 12px;
  color: var(--tx, #1a2e2b);
  cursor: pointer;
  transition: box-shadow .12s, border-color .12s;
}
.pr9-svc-job:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,.08);
  border-color: var(--teal, #FF6B00);
}
.pr9-svc-job .pr9-svc-job-cust {
  font-weight: 700;
  color: var(--navy, #141310);
}
.pr9-svc-job .pr9-svc-job-meta {
  font-size: 10px;
  color: var(--tx-md, #4a6b65);
  text-transform: uppercase;
  letter-spacing: .3px;
  margin-top: 2px;
}
.pr9-svc-empty {
  font-size: 11px;
  color: var(--tx-lt, #8aada8);
  font-style: italic;
  padding: 6px 4px;
}

@media (max-width: 768px) {
  .pr9-svc-board { grid-template-columns: 1fr; }
}
