/* Client portal demo (Nov 5). Light by default; [data-theme="dark"] on <html> switches the variables. */
.pt, .pt-signin, .pt-signin__wx { --pt-bg: #F3F6F9; --pt-card: #FFFFFF; --pt-ink: #15253A; --pt-body: #3B4A5E; --pt-muted: #556578; --pt-line: #DCE4EC; --pt-soft: #EAF3FB; --pt-bluet: #1B5E96; --pt-bar2: #9CC8EA;
  --pt-ok: #17734B; --pt-okbg: #E2F4EA; --pt-warn: #8F5200; --pt-warnbg: #FFF0D1; --pt-bad: #A8241C; --pt-badbg: #FCE7E5; }
[data-theme="dark"] .pt, [data-theme="dark"] .pt-signin, [data-theme="dark"] .pt-signin__wx { --pt-bg: #0D1724; --pt-card: #14212F; --pt-ink: #E8EEF5; --pt-body: #C9D5E2; --pt-muted: #9FB4CB; --pt-line: #263A50; --pt-soft: #18324D; --pt-bluet: #7DD2F6; --pt-bar2: #3C6C93;
  --pt-ok: #6FD8A6; --pt-okbg: #103626; --pt-warn: #F5B323; --pt-warnbg: #36290E; --pt-bad: #FF9A90; --pt-badbg: #3B1816; }

/* ---- sign in ---- */
.pt-signin { display: flex; flex-wrap: wrap; background: var(--navy); min-height: 640px; }
.pt-signin__pitch { flex: 1 1 520px; padding: 64px clamp(20px, 6vw, 88px); display: flex; flex-direction: column; justify-content: center; gap: 20px; color: var(--on-dark); }
.pt-signin__pitch .h-hero { color: #fff; margin: 0; }
.pt-signin__pitch .lede { color: var(--on-dark); margin: 0; }
.pt-signin__pitch .eyebrow { margin: 0; }
.pt-signin__points { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 600px; }
.pt-signin__points li { border-top: 2px solid var(--cyan); padding-top: 12px; display: flex; flex-direction: column; }
.pt-signin__points strong { color: #fff; font-family: var(--display); font-size: 20px; }
.pt-signin__points span { color: var(--on-dark-muted); font-size: 14px; }
.pt-signin__panel { flex: 1 1 420px; display: flex; align-items: center; justify-content: center; padding: 40px 16px; background: var(--pt-bg); }
.pt-signin__card { width: 100%; max-width: 440px; background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 12px; padding: 32px; display: flex; flex-direction: column; gap: 16px; color: var(--pt-body); }
.pt-signin__card h2 { margin: 0; color: var(--pt-ink); }
.pt-signin__card p { margin: 0; }
.pt-ms { font: 600 15px "Segoe UI", var(--sans); display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 46px; padding: 0 18px; border: 1px solid #8C8C8C; background: #fff; color: #5E5E5E; border-radius: 4px; cursor: pointer; }
.pt-ms:hover { background: #F3F3F3; }
a.pt-ms { text-decoration: none; box-sizing: border-box; }
.pt-signin__fine, .pt-signin__help { font-size: 13px; color: var(--pt-muted); }
.pt-signin__msg { font-size: 14px; background: var(--pt-soft); color: var(--pt-ink); border-radius: 8px; padding: 10px 12px; }
.pt-signin__err { font-size: 14px; background: var(--pt-badbg); color: var(--pt-bad); border-radius: 8px; padding: 10px 12px; }
.pt-signin__demo { display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--pt-line); padding-top: 16px; }
.pt-signin__demo .btn { align-self: flex-start; }
.pt-signin__or { font: 600 12px var(--sans); text-transform: uppercase; letter-spacing: .06em; color: var(--pt-muted); }

/* ---- portal frame ---- */
.pt { background: var(--pt-bg); color: var(--pt-body); font-size: 15px; line-height: 1.5; padding-bottom: 64px; }
.pt-wrap { max-width: var(--wrap); margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.pt-sample { background: #FFF0D1; color: #5C3A00; font-size: 13px; text-align: center; padding: 6px 16px; }
.pt-head { background: var(--navy); color: var(--on-dark); }
.pt-head__in { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; padding-top: 14px; padding-bottom: 14px; }
.pt-head__label { font: 600 13px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--sky); }
.pt-head__co { color: #fff; font-family: var(--display); font-weight: 700; font-size: 18px; border-left: 1px solid var(--navy-line); padding-left: 20px; }
.pt-head__grow, .pt-grow { flex-grow: 1; }
.pt-head__user { display: inline-flex; align-items: center; gap: 10px; line-height: 1.25; }
.pt-head__user strong { display: block; color: #fff; font-size: 14px; }
.pt-head__user small { color: var(--on-dark-muted); font-size: 12px; }
.pt-head__out { background: none; border: 1px solid var(--navy-line); color: var(--on-dark); border-radius: 8px; min-height: 36px; padding: 0 12px; font: 500 13px var(--sans); cursor: pointer; }
.pt-head__out:hover { border-color: var(--sky); color: #fff; }
.pt-head form { margin: 0; }
.pt-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--blue); color: #fff; display: inline-flex; align-items: center; justify-content: center; font: 600 13px var(--sans); flex: none; }
.pt-avatar--soft { width: 32px; height: 32px; background: var(--pt-soft); color: var(--pt-bluet); font-size: 12px; }
.pt-tabs { background: var(--pt-card); border-bottom: 1px solid var(--pt-line); overflow-x: clip; }
.pt-tabs__in { display: flex; align-items: center; gap: 24px; overflow: visible; position: relative; }
.pt-tab[hidden], .pt-more[hidden], .pt-more__menu[hidden] { display: none; }
.pt-more { position: relative; flex: none; }
.pt-more__menu { position: absolute; top: calc(100% + 4px); left: 0; z-index: 30; min-width: 220px; display: flex; flex-direction: column; background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 12px; box-shadow: 0 12px 32px rgba(11, 35, 64, .18); padding: 6px; }
.pt-more__it { display: flex; align-items: center; gap: 8px; text-align: left; background: none; border: 0; border-radius: 8px; padding: 10px 12px; min-height: 40px; font: 500 15px var(--sans); color: var(--pt-ink); cursor: pointer; white-space: nowrap; }
.pt-more__it:hover { background: var(--pt-bg); }
.pt-more__it.is-on { color: var(--blue); font-weight: 600; }
.pt-tabs__in > .pt-tab { flex: none; }
.pt-tab { font: 500 15px var(--sans); color: var(--pt-muted); background: none; border: 0; border-bottom: 3px solid transparent; padding: 14px 2px 11px; cursor: pointer; white-space: nowrap; display: inline-flex; gap: 8px; align-items: center; }
.pt-tab:hover { color: var(--pt-ink); }
.pt-tab--on { color: var(--pt-ink); border-bottom-color: var(--blue); font-weight: 600; }
.pt-count { font: 600 12px var(--sans); background: var(--pt-soft); color: var(--pt-bluet); border-radius: 999px; padding: 1px 8px; }
.pt-tabs .btn { margin: 8px 0; flex: none; }
.pt-main { padding-top: 28px; display: flex; flex-direction: column; gap: 24px; }
.pt-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: var(--navy); color: #fff; padding: 12px 20px; border-radius: 10px; box-shadow: 0 8px 24px rgba(11, 35, 64, .3); font-size: 14px; max-width: calc(100% - 32px); z-index: 60; }
.pt-toast[hidden] { display: none; }

/* ---- building blocks ---- */
.pt-h1 { font-family: var(--display); font-weight: 800; font-size: 30px; line-height: 1.15; color: var(--pt-ink); margin: 0; }
.pt-h2 { font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--pt-ink); margin: 0; }
.pt-h2--lg { font-size: 22px; line-height: 1.25; }
.pt-muted { color: var(--pt-muted); margin: 4px 0 0; }
.pt-small { display: block; font-size: 13px; color: var(--pt-muted); margin: 0; }
.pt-strong { color: var(--pt-ink); font-weight: 500; }
.pt-mono { font-family: var(--mono); font-size: 13px; }
.pt-num { text-align: right; }
.pt-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pt-card { background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 12px; padding: 20px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.pt-card p { margin: 0; }
.pt-flush { padding: 0; gap: 0; overflow: hidden; }
.pt-scroll { overflow-x: auto; }
.pt-pad { padding: 18px 20px; }
.pt-stack { display: flex; flex-direction: column; gap: 16px; }
.pt-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 12px; }
.pt-row strong { color: var(--pt-ink); }
.pt-titlebar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; }
.pt-tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.pt-grid4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.pt-grid3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.pt-split { display: flex; flex-wrap: wrap; gap: 16px; }
.pt-split--top { align-items: flex-start; }
.pt-split__main { flex: 2 1 520px; }
.pt-split__side { flex: 1 1 380px; }
.pt-split--top .pt-split__main { flex: 1 1 480px; }
.pt-split--top .pt-split__side { flex: 1 1 440px; }
.btn.pt-btn-sm { min-height: 36px; padding: 0 14px; font-size: 14px; }
.pt-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.pt-btns--end { justify-content: flex-end; }
.pt-kpi__label { font-size: 13px; color: var(--pt-muted); }
.pt-kpi__value { font: 800 34px var(--display); color: var(--pt-ink); line-height: 1.1; }
.pt-kpi__value small { font-size: 16px; color: var(--pt-muted); font-weight: 700; }
.pt-kpi__note { font-size: 13px; color: var(--pt-muted); }
.pt-kpi { gap: 4px; }
.pt-big { font: 800 28px var(--display); color: var(--pt-ink); line-height: 1.1; }
.pt-pill { font: 600 12px var(--sans); border-radius: 999px; padding: 3px 10px; white-space: nowrap; display: inline-block; vertical-align: middle; }
.pt-pill--info { background: var(--pt-soft); color: var(--pt-bluet); }
.pt-pill--ok { background: var(--pt-okbg); color: var(--pt-ok); }
.pt-pill--warn { background: var(--pt-warnbg); color: var(--pt-warn); }
.pt-pill--bad { background: var(--pt-badbg); color: var(--pt-bad); }
.pt-pill--plain { background: var(--pt-bg); color: var(--pt-muted); }
.pt-h1 .pt-pill { font-size: 12px; margin-left: 6px; }
.pt-meter { height: 8px; border-radius: 999px; background: var(--pt-bg); overflow: hidden; border: 1px solid var(--pt-line); }
.pt-meter span { display: block; height: 100%; background: var(--blue); border-radius: 999px; }
.pt-seg { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--pt-line); border-radius: 9px; overflow: hidden; background: var(--pt-card); }
.pt-seg button { font: 500 14px var(--sans); color: var(--pt-body); background: none; border: 0; border-right: 1px solid var(--pt-line); padding: 0 14px; min-height: 40px; cursor: pointer; }
.pt-seg button:last-child { border-right: 0; }
.pt-seg .pt-seg--on { background: var(--navy); color: #fff; }
[data-theme="dark"] .pt-seg .pt-seg--on { background: var(--blue); }
.pt-search { display: block; width: 260px; max-width: 100%; }
.pt-search input, .pt-field input, .pt-field select, .pt-field textarea { font: 400 15px var(--sans); color: var(--pt-ink); background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 8px; padding: 9px 12px; min-height: 42px; width: 100%; box-sizing: border-box; }
.pt-field { display: flex; flex-direction: column; gap: 6px; font: 500 13px var(--sans); color: var(--pt-ink); }
.pt-field textarea { min-height: 110px; resize: vertical; }
.pt-form { display: flex; flex-direction: column; gap: 14px; }
.pt-form__2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

/* overview */
.pt-legend { display: flex; gap: 16px; font-size: 13px; color: var(--pt-muted); }
.pt-key { display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: var(--blue); margin-right: 6px; }
.pt-key--2 { background: var(--pt-bar2); }
.pt-bars { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; align-items: end; border-bottom: 1px solid var(--pt-line); padding: 8px 4px 0; }
.pt-bars__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; min-height: 180px; }
.pt-bars--sm .pt-bars__col { min-height: 128px; }
.pt-bars__pair { display: flex; align-items: flex-end; gap: 4px; }
.pt-bar { display: block; width: 18px; background: var(--blue); border-radius: 3px 3px 0 0; }
.pt-bar--2 { background: var(--pt-bar2); }
.pt-bar--wide { width: 100%; max-width: 44px; }
.pt-bars__lbl { font-size: 12px; color: var(--pt-muted); white-space: nowrap; padding-bottom: 6px; }
.pt-att { display: flex; gap: 12px; align-items: flex-start; border-top: 1px solid var(--pt-line); padding-top: 12px; }
.pt-att .btn { flex: none; white-space: nowrap; }
.pt-att__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.pt-att__txt strong { color: var(--pt-ink); font-weight: 500; }
.pt-att__txt span { font-size: 13px; color: var(--pt-muted); }
.pt-date-row { display: flex; gap: 14px; align-items: flex-start; }
.pt-date-row strong { display: block; color: var(--pt-ink); font-weight: 500; }
.pt-date { min-width: 52px; text-align: center; border: 1px solid var(--pt-line); border-radius: 8px; padding: 4px 0; display: flex; flex-direction: column; flex: none; }
.pt-date small { font-size: 11px; text-transform: uppercase; color: var(--pt-muted); letter-spacing: .05em; }
.pt-date b { font: 800 20px var(--display); color: var(--pt-ink); line-height: 1.1; }
.pt-date--lg { min-width: 60px; padding: 6px 0; }
.pt-date--lg b { font-size: 24px; }

/* tickets */
.pt-trow { width: 100%; text-align: left; display: flex; justify-content: space-between; gap: 6px 14px; padding: 14px 16px; background: var(--pt-card); border: 0; border-bottom: 1px solid var(--pt-line); cursor: pointer; font: inherit; color: var(--pt-body); }
.pt-trow:last-child { border-bottom: 0; }
.pt-trow:hover { background: var(--pt-bg); }
.pt-trow--on, .pt-trow--on:hover { background: var(--pt-soft); }
.pt-trow__main { min-width: 0; display: flex; flex-direction: column; }
.pt-trow__main strong { color: var(--pt-ink); font-weight: 500; }
.pt-trow__side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: none; }
.pt-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pt-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin: 0; font-size: 14px; }
.pt-facts dt { color: var(--pt-muted); }
.pt-facts dd { margin: 0; color: var(--pt-ink); }
.pt-approve { border: 1px solid var(--pt-warn); background: var(--pt-warnbg); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 10px; color: var(--pt-ink); }
.pt-thread { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--pt-line); padding-top: 16px; }
.pt-msg { border: 1px solid var(--pt-line); border-radius: 12px; padding: 12px 14px; max-width: 92%; min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.pt-thread, .pt-detail { min-width: 0; }
.pt-msg strong { color: var(--pt-ink); }
.pt-msg p { margin: 4px 0 0; }
.pt-msg--time { border-style: dashed; }
.pt-timepill { display: inline-flex; align-items: center; gap: 4px; margin-left: 4px; padding: 1px 8px; font-size: 11.5px; }
.pt-ico--sm { width: 14px; height: 14px; flex: none; }
.pt-worked { display: flex; align-items: flex-start; gap: 8px; margin: 6px 0 4px; padding: 10px 12px; border-radius: 10px; background: var(--pt-soft); color: var(--pt-ink); font-size: 14px; }
.pt-worked .pt-ico--sm { margin-top: 3px; color: var(--pt-bluet); }
.pt-worked__who { display: block; color: var(--pt-muted); font-size: 13px; margin-top: 2px; }
.pt-msg--mine { align-self: flex-end; background: var(--pt-soft); border-color: transparent; }
.pt-rate { border-top: 1px solid var(--pt-line); padding-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.pt-rate strong { color: var(--pt-ink); }
.pt-star { background: none; border: 1px solid var(--pt-line); border-radius: 8px; min-width: 44px; min-height: 44px; cursor: pointer; font-size: 22px; color: var(--pt-muted); }
.pt-star--on { color: var(--gold); border-color: var(--gold); }
[data-theme="dark"] .pt-star--on { color: var(--gold-light); border-color: var(--gold-light); }

/* grid tables */
.pt-gt { min-width: 960px; }
.pt-gh, .pt-gr { display: grid; gap: 0 12px; align-items: center; padding: 0 16px; border-bottom: 1px solid var(--pt-line); }
.pt-gh { font: 600 12px var(--sans); text-transform: uppercase; letter-spacing: .04em; color: var(--pt-muted); padding-top: 10px; padding-bottom: 10px; }
.pt-gr { font-size: 14px; padding-top: 12px; padding-bottom: 12px; }
.pt-gr:last-child { border-bottom: 0; }
.pt-gt--calls { grid-template-columns: 140px minmax(0, 1.4fr) 110px 70px 110px minmax(0, 1.3fr) 170px; }
.pt-gt--visits { grid-template-columns: 130px 110px minmax(0, 2fr) 110px 170px; }
.pt-gt--dev { grid-template-columns: 120px minmax(0, 1.2fr) 100px minmax(0, 1.3fr) 100px 150px 100px 120px; }
.pt-gt--lic { grid-template-columns: minmax(0, 1.8fr) 90px 160px 130px 110px 110px; }

/* visits, security */
.pt-visit { display: flex; gap: 14px; align-items: flex-start; }
.pt-visit__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; font-size: 14px; }
.pt-visit__txt strong { color: var(--pt-ink); font-size: 15px; }
.pt-visit__tech { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--pt-line); padding-top: 12px; font-size: 14px; }
.pt-visit__tech strong { color: var(--pt-ink); }
.pt-score { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.pt-ring { fill: none; stroke: var(--pt-line); stroke-width: 12; }
.pt-ring--on { stroke: var(--blue); stroke-linecap: round; }
.pt-ring__n { font: 800 34px var(--display); fill: var(--pt-ink); }
.pt-ctl { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--pt-line); }
.pt-ctl .pt-pill { min-width: 64px; text-align: center; }
.pt-ctl > span:nth-child(2) { flex: 1 1 auto; color: var(--pt-ink); }
.pt-ctl .pt-small { text-align: right; }

@media (max-width: 700px) {
  .pt-wrap { padding-left: 16px; padding-right: 16px; }
  .pt-head__co { border-left: 0; padding-left: 0; width: 100%; order: 2; }
  .pt-head__grow { display: none; }
  .pt-signin__points { grid-template-columns: 1fr; }
  .pt-signin__pitch { padding: 40px 16px; }
  .pt-signin__card { padding: 24px 20px; }
  .pt-h1 { font-size: 26px; }
  .pt-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .pt-grid4 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .pt-grid4 .pt-card { padding: 14px; }
  .pt-kpi__value { font-size: 28px; }
  .pt-big { font-size: 24px; }
  .pt-search { width: 100%; }
  .pt-form__2, .pt-facts { grid-template-columns: 1fr; }
  .pt-split__main, .pt-split__side, .pt-split--top .pt-split__main, .pt-split--top .pt-split__side { flex-basis: 100%; }
  .pt-bars__lbl { font-size: 11px; white-space: normal; text-align: center; }
  .pt-bar { width: 12px; }
  .pt-ctl { flex-wrap: wrap; }
  .pt-ctl .pt-small { width: 100%; text-align: left; padding-left: 76px; }
  .pt-visit { flex-wrap: wrap; }
}

/* device reports (Nov 5): computers; servers & network */
.pt-h3 { font: 600 12px var(--sans); text-transform: uppercase; letter-spacing: .05em; color: var(--pt-muted); margin: 0 0 6px; }
.pt-gt--wide { min-width: 1150px; }
.pt-gt--wide .pt-gr > span:first-child { display: flex; flex-direction: column; }
.pt-gt--fleet { grid-template-columns: 112px minmax(0, 1fr) 96px minmax(0, 1.4fr) 76px 140px minmax(0, 1.3fr) 88px 128px; }
/* Badges in the device tables wrap inside their own column instead of running into the next one. */
.pt-gt--wide .pt-gr .pt-pill { white-space: normal; line-height: 1.35; max-width: 100%; }
.pt-gt--infra { grid-template-columns: 136px minmax(0, 1.5fr) 96px minmax(0, 1.4fr) 76px 140px minmax(0, 1.3fr) 88px 128px; }
.pt-gt--vm { grid-template-columns: 150px minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.4fr); }
.pt-gt--vmw { min-width: 760px; }
.pt-sort { font: inherit; text-transform: inherit; letter-spacing: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.pt-sort:hover, .pt-sort--on { color: var(--pt-ink); }
.pt-plan { display: flex; flex-direction: column; gap: 12px; }
.pt-plan__row { display: grid; grid-template-columns: 84px minmax(0, 1fr) 120px; gap: 12px; align-items: center; }
.pt-plan__y { font-weight: 600; color: var(--pt-ink); }
.pt-plan__bar { height: 14px; background: var(--pt-bg); border: 1px solid var(--pt-line); border-radius: 999px; overflow: hidden; }
.pt-plan__bar span { display: block; height: 100%; background: var(--blue); border-radius: 999px; }
.pt-plan__row:first-child .pt-plan__bar span { background: var(--pt-warn); }
.pt-plan__v { text-align: right; line-height: 1.25; }
.pt-plan__v strong { color: var(--pt-ink); font-size: 16px; }
.pt-bar--old { background: var(--pt-warn); }
.pt-mixes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; border-top: 1px solid var(--pt-line); padding-top: 12px; }
.pt-mix { display: grid; grid-template-columns: minmax(0, 1fr) 70px 28px; gap: 8px; align-items: center; font-size: 13px; padding: 3px 0; }
.pt-mix strong { color: var(--pt-ink); text-align: right; }
.pt-mix__bar { height: 6px; background: var(--pt-bg); border-radius: 999px; overflow: hidden; }
.pt-mix__bar span { display: block; height: 100%; background: var(--pt-bar2); }
.pt-lic .pt-mix, .pt-card > .pt-mix { grid-template-columns: minmax(0, 1fr) 28px; border-top: 1px solid var(--pt-line); padding-top: 6px; }
.pt-lic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pt-lic strong { display: block; color: var(--pt-ink); font: 700 18px var(--display); }
.pt-locstats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; border-top: 1px solid var(--pt-line); padding-top: 12px; }
.pt-locstats span { display: flex; flex-direction: column; font-size: 12px; color: var(--pt-muted); line-height: 1.3; }
.pt-locstats b { font: 800 22px var(--display); color: var(--pt-ink); }
@media (max-width: 700px) {
  .pt-mixes { grid-template-columns: 1fr; }
  .pt-plan__row { grid-template-columns: 64px minmax(0, 1fr) 96px; }
  .pt-locstats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* replacement budget planner (Nov 5) */
.pt-key--3 { background: #0B2340; }
[data-theme="dark"] .pt-key--3 { background: #7DD2F6; }
.pt-ybars { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; align-items: end; border-bottom: 1px solid var(--pt-line); padding-top: 8px; }
.pt-ybar { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; min-height: 190px; }
.pt-ybar__stack { width: 100%; max-width: 54px; display: flex; flex-direction: column; border-radius: 4px 4px 0 0; overflow: hidden; }
.pt-ybar__i { background: #0B2340; display: block; }
[data-theme="dark"] .pt-ybar__i { background: #7DD2F6; }
.pt-ybar__c { background: var(--blue); display: block; }
.pt-pol { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); column-gap: 32px; }
.pt-gt--pol { grid-template-columns: minmax(0, 1fr) 92px 112px; padding: 8px 0; gap: 8px; }
.pt-inline { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--pt-muted); }
.pt-inline input { width: 100%; min-width: 0; font: 500 14px var(--sans); color: var(--pt-ink); background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 6px; padding: 6px 8px; min-height: 36px; }
.pt-board { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 10px; align-items: stretch; scroll-snap-type: x proximity; }
.pt-bcol { flex: 0 0 172px; background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 10px; display: flex; flex-direction: column; min-height: 260px; scroll-snap-align: start; }
.pt-bcol--now { border-color: var(--pt-warn); }
.pt-bcol--bin { background: var(--pt-bg); border-style: dashed; }
.pt-bcol--over { outline: 2px solid var(--blue); outline-offset: -2px; background: var(--pt-soft); }
.pt-bcol__h { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; padding: 10px 12px; border-bottom: 1px solid var(--pt-line); font-size: 13px; }
.pt-bcol__h strong { color: var(--pt-ink); }
.pt-bcol__h > span { font-weight: 600; color: var(--pt-ink); }
.pt-bcol__b { padding: 8px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pt-chip { text-align: left; display: flex; flex-direction: column; gap: 1px; padding: 7px 9px; border-radius: 8px; border: 1px solid var(--pt-line); border-left: 4px solid var(--blue); background: var(--pt-card); color: var(--pt-body); font: 400 12px var(--sans); cursor: grab; }
.pt-chip--infra { border-left-color: #0B2340; }
[data-theme="dark"] .pt-chip--infra { border-left-color: #7DD2F6; }
.pt-chip:hover { border-color: var(--blue); }
.pt-chip--on { background: var(--pt-soft); border-color: var(--blue); }
.pt-chip--moved .pt-chip__c { color: var(--pt-bluet); }
.pt-chip--drag { opacity: .5; }
.pt-chip__n { font: 500 12px var(--mono); color: var(--pt-ink); }
.pt-chip__w { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-chip__c { font-weight: 600; color: var(--pt-ink); }
.pt-budedit { border-color: var(--blue); }
@media (max-width: 700px) {
  .pt-bcol { flex-basis: 150px; }
  .pt-ybar { min-height: 160px; }
  .pt-ybar .pt-small { font-size: 10px; }
}

/* ---- renewals ---- */
.pt-rn-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.pt-rn-tile { background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.pt-rn-tile strong { font: 800 28px/1.1 var(--display); color: var(--pt-ink); }
.pt-rn-tile span { font-size: 13px; color: var(--pt-muted); }
.pt-rn-seg { align-self: flex-start; }
.pt-gt--rn { min-width: 760px; }
.pt-gt--renew { grid-template-columns: 120px 170px minmax(0, 1.6fr) minmax(0, 1.4fr) 90px; }

/* ---- CAL IT Bridge ---- */
.pt-head { border-bottom: 2px solid var(--cyan); }
.pt-head .br-logo { margin-right: 4px; }
.pt-head__co { border-left-color: var(--navy-line); }
.pt-titlebar .pt-eyebrow + .pt-h1 { margin-top: 0; }
.pt-gt--calls .pt-mono { white-space: nowrap; }
.pt-gt--satw { min-width: 640px; }
.pt-gt--sat { grid-template-columns: minmax(0, 1.6fr) 120px minmax(0, 1.2fr) 150px; }
.pt-gt--sat > span:nth-child(3) { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }

/* ---- quotes ---- */
.pt-gt--qw { min-width: 720px; }
.pt-gt--quotes { grid-template-columns: minmax(0, 2fr) 120px minmax(0, 1.4fr) 120px 200px; }
.pt-rowbtn { width: 100%; text-align: left; background: none; border: 0; border-top: 1px solid var(--pt-line); font: inherit; color: inherit; cursor: pointer; }
.pt-rowbtn:hover { background: var(--pt-soft, rgba(27,117,187,.06)); }
.pt-gt--q { margin-bottom: 8px; }
.pt-gt--qline { grid-template-columns: minmax(0, 1fr) 70px 110px 120px; }
.pt-gt--qline > span:first-child { display: flex; flex-direction: column; gap: 2px; }
.pt-q-period { font: 600 12px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--blue); margin: 18px 0 6px; }
.pt-q-sum { border-top: 1px solid var(--pt-line); }
.pt-q-opt { color: var(--blue); font-style: italic; }
.pt-q-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 14px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pt-line); }
.pt-q-ask { flex: 1 1 340px; max-width: 520px; display: flex; flex-direction: column; gap: 10px; }
.pt-q-ask textarea { font: 400 15px var(--sans); padding: 8px 12px; border-radius: 10px; border: 1px solid var(--pt-line); background: var(--pt-card); color: var(--pt-ink); min-height: 80px; }
@media (max-width: 600px) { .pt-gt--qline { grid-template-columns: minmax(0, 1fr) 40px 80px 90px; } }
.pt-gt.pt-gt--q { min-width: 0; }
@media (max-width: 600px) { .pt-gt--qline > span { font-size: 13px; } .pt-gt--qline { gap: 6px; } }

/* ---- weather report (vendor outages) ---- */
.pt-wx { display: flex; gap: 12px; align-items: flex-start; border-radius: 12px; padding: 12px 14px; margin: 0 0 18px; border: 1px solid; }
.pt-wx--minor { background: var(--pt-warnbg); border-color: color-mix(in srgb, var(--pt-warn) 35%, transparent); color: var(--pt-ink); }
.pt-wx--major { background: var(--pt-badbg); border-color: color-mix(in srgb, var(--pt-bad) 40%, transparent); color: var(--pt-ink); }
.pt-wx img { flex: none; margin-top: 1px; }
.pt-wx__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; gap: 2px 10px; font-size: 14px; }
.pt-wx__txt strong { color: var(--pt-ink); }
.pt-wx__txt a { color: inherit; font-weight: 600; }
.pt-wx__txt .pt-small { flex-basis: 100%; }
.pt-wx__x { flex: none; background: none; border: 0; font-size: 22px; line-height: 1; color: var(--pt-muted); cursor: pointer; min-width: 32px; min-height: 32px; border-radius: 6px; }
.pt-wx__x:hover { color: var(--pt-ink); background: color-mix(in srgb, var(--pt-ink) 8%, transparent); }

/* ---- signal flags (ticket and visit progress) ---- */
.pt-flags { list-style: none; margin: 14px 0 16px; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.pt-flags__s { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 12.5px; color: var(--pt-muted); text-align: center; padding: 0 4px; }
.pt-flags__s small { display: block; font-size: 11.5px; color: var(--pt-muted); }
.pt-flags__s::before { content: ""; position: absolute; top: 7px; left: calc(-50% + 9px); right: calc(50% + 9px); height: 2px; background: var(--pt-line); }
.pt-flags__s:first-child::before { display: none; }
.pt-flags__dot { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--pt-line); background: var(--pt-card); position: relative; z-index: 1; }
.pt-flags__s.is-done { color: var(--pt-body); }
.pt-flags__s.is-done .pt-flags__dot { background: var(--blue); border-color: var(--blue); }
.pt-flags__s.is-done::before, .pt-flags__s.is-now::before { background: var(--blue); }
.pt-flags__s.is-now { color: var(--pt-ink); font-weight: 600; }
.pt-flags__s.is-now .pt-flags__dot { border-color: var(--blue); box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue) 22%, transparent); }
.pt-flags__s.is-wait .pt-flags__dot { border-color: var(--pt-warn); box-shadow: 0 0 0 4px color-mix(in srgb, var(--pt-warn) 22%, transparent); }
.pt-flags--visit { margin: 16px 0 4px; }

/* ---- shipping ---- */
.pt-ship { display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--pt-line); border-radius: 10px; padding: 10px 12px; margin: 0 0 14px; font-size: 14px; }
.pt-ship strong { color: var(--pt-ink); }
.pt-ship__it { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--pt-bluet); text-decoration: none; font-size: 14px; }
.pt-ship__it:hover span:last-child { text-decoration: underline; }
.pt-ship__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; border-top: 1px solid var(--pt-line); padding-top: 10px; }
.pt-ship__row > span { display: flex; flex-direction: column; min-width: 0; }
.pt-ship__row strong { color: var(--pt-ink); }

/* ---- port call today ---- */
.pt-pc__card { margin-bottom: 18px; border-left: 4px solid var(--cyan); }
.pt-pc { display: flex; gap: 16px; align-items: center; }
.pt-pc__txt { min-width: 0; }
.pt-pc__txt .pt-h2 { margin: 2px 0 2px; }
.pt-face { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; }
.pt-face--lg { width: 56px; height: 56px; font-size: 17px; }
img.pt-face { background: var(--pt-soft); }

/* ---- crew ---- */
.pt-crew { display: flex; gap: 14px; align-items: center; }
.pt-crew .pt-h2 { margin: 0; }
.pt-crew .pt-small { margin: 2px 0 6px; }

/* ---- ledger ---- */
.pt-gt--inv { grid-template-columns: 150px 140px 140px minmax(0, 1fr) 70px; }
.pt-gt:has(.pt-gt--inv) { min-width: 560px; }
.pt-gr.pt-gt--inv a { color: var(--pt-bluet); font-weight: 600; }

/* ---- alerts ---- */
.pt-al__list { display: flex; flex-direction: column; gap: 4px; }
.pt-al__ev { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 2px 10px; min-height: 40px; padding: 4px 0; font-size: 15px; color: var(--pt-ink); cursor: pointer; }
.pt-al__ev input { width: 18px; height: 18px; accent-color: var(--blue); margin: 0; }
.pt-al__ev input:disabled + * , .pt-al__ev:has(input:disabled) { color: var(--pt-muted); cursor: default; }
.pt-al__ev .pt-small { grid-column: 2; }

/* ---- Ask the Bridge ---- */
.pt-askfab { position: fixed; right: 20px; bottom: 20px; z-index: 40; display: inline-flex; align-items: center; gap: 8px; background: var(--navy); color: #fff; border: 1px solid var(--navy-line); border-radius: 999px; padding: 0 18px 0 14px; min-height: 48px; font: 600 15px var(--sans); cursor: pointer; box-shadow: 0 6px 24px rgba(11, 35, 64, .28); }
.pt-askfab:hover { border-color: var(--sky); }
.pt-askfab[hidden], .pt-ask[hidden] { display: none; }
.pt-ask { position: fixed; right: 20px; bottom: 20px; z-index: 41; width: min(420px, calc(100vw - 32px)); height: min(620px, calc(100vh - 40px)); display: flex; flex-direction: column; background: var(--pt-card); color: var(--pt-body); border: 1px solid var(--pt-line); border-radius: 16px; box-shadow: 0 16px 48px rgba(11, 35, 64, .32); overflow: hidden; }
.pt-ask__head { display: flex; align-items: center; gap: 10px; background: var(--navy); color: #fff; padding: 12px 12px 12px 16px; }
.pt-ask__head strong { font: 700 16px var(--display); }
.pt-ask__ai { font: 600 11px var(--sans); letter-spacing: .06em; border: 1px solid var(--sky); color: var(--sky); border-radius: 999px; padding: 1px 7px; }
.pt-ask__x { background: none; border: 0; color: #fff; font-size: 24px; line-height: 1; min-width: 36px; min-height: 36px; border-radius: 8px; cursor: pointer; }
.pt-ask__x:hover { background: rgba(255, 255, 255, .1); }
.pt-ask__log { flex: 1 1 auto; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.pt-ask__m { max-width: 88%; border-radius: 14px; padding: 9px 12px; font-size: 14.5px; }
.pt-ask__m p { margin: 0; }
.pt-ask__m .pt-btns { margin-top: 8px; }
.pt-ask__m--user { align-self: flex-end; background: var(--blue); color: #fff; border-bottom-right-radius: 4px; }
.pt-ask__m--assistant { align-self: flex-start; background: var(--pt-bg); color: var(--pt-ink); border: 1px solid var(--pt-line); border-bottom-left-radius: 4px; }
.pt-ask__m.is-err { border-color: color-mix(in srgb, var(--pt-warn) 45%, transparent); background: var(--pt-warnbg); }
.pt-ask__hi p { margin: 0 0 8px; color: var(--pt-muted); font-size: 14px; }
.pt-ask__eg { display: block; width: 100%; text-align: left; background: var(--pt-bg); border: 1px solid var(--pt-line); color: var(--pt-ink); border-radius: 10px; padding: 9px 12px; margin: 0 0 6px; font: 500 14px var(--sans); cursor: pointer; }
.pt-ask__eg:hover { border-color: var(--blue); }
.pt-ask__form { display: flex; gap: 8px; align-items: flex-end; padding: 10px 12px 6px; border-top: 1px solid var(--pt-line); }
.pt-ask__form textarea { flex: 1 1 auto; resize: none; min-height: 44px; max-height: 120px; border: 1px solid var(--pt-line); border-radius: 10px; padding: 9px 10px; font: 15px var(--sans); background: var(--pt-bg); color: var(--pt-ink); }
.pt-ask__form textarea:focus { outline: 2px solid var(--blue); outline-offset: 0; border-color: transparent; }
.pt-ask__form .btn { min-height: 44px; }
.pt-ask__note { margin: 0; padding: 0 12px 10px; font-size: 11.5px; color: var(--pt-muted); }
.pt-ask__dots { display: inline-flex; gap: 4px; padding: 4px 0; }
.pt-ask__dots span { width: 7px; height: 7px; border-radius: 50%; background: var(--pt-muted); animation: pt-dot 1s infinite ease-in-out; }
.pt-ask__dots span:nth-child(2) { animation-delay: .15s; } .pt-ask__dots span:nth-child(3) { animation-delay: .3s; }
@keyframes pt-dot { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .pt-ask__dots span { animation: none; opacity: .6; } }
@media (max-width: 600px) {
  .pt-ask { right: 0; bottom: 0; width: 100vw; height: 100dvh; border-radius: 0; border: 0; }
  .pt-askfab { right: 16px; bottom: 16px; }
  .pt-flags__s { font-size: 11.5px; }
  .pt-pc { align-items: flex-start; }
}

/* ---- sign-in: open sea ---- */
/* Images in CSS keep their address between releases and Cloudflare caches them: change ?v= whenever the file changes. */
.pt-signin--sea { background: #06162a url(/img/carrier.svg?v=20261110) center 62% / cover no-repeat; min-height: calc(100vh - 120px); align-items: stretch; }
.pt-signin--sea .pt-signin__pitch { background: none; text-shadow: 0 1px 12px rgba(4, 14, 28, .55); }
.pt-signin--sea .pt-signin__pitch::before { opacity: .07; }
.pt-signin--sea .pt-signin__pitch::after { display: none; }
.pt-signin--sea .pt-signin__panel { background: none; }
.pt-signin--sea .pt-signin__card { background: rgba(255, 255, 255, .92); border-color: rgba(255, 255, 255, .6); border-radius: 18px; box-shadow: 0 24px 64px rgba(2, 10, 22, .45); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
[data-theme="dark"] .pt-signin--sea .pt-signin__card { background: rgba(16, 29, 45, .9); border-color: rgba(125, 210, 246, .18); }
.pt-signin--sea .br-tiles { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); max-width: 700px; }
/* Three tiles a row on wider screens, two on narrow ones; a tile left alone on the last row sits in the middle. */
@media (min-width: 600px) { .pt-signin--sea .br-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pt-signin--sea .br-tiles li:last-child:nth-child(3n+1) { grid-column: 2; } }
@media (max-width: 599px) { .pt-signin--sea .br-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pt-signin--sea .br-tiles li:last-child:nth-child(2n+1) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 4px); } }
.pt-signin--sea .br-tiles li { background: rgba(6, 22, 42, .45); border-color: rgba(125, 210, 246, .25); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); text-shadow: none; }
.pt-signin--sea .h-hero { text-shadow: 0 2px 24px rgba(4, 14, 28, .6); }
@media (max-width: 900px) {
  .pt-signin--sea { background-position: 70% 60%; }
  .pt-signin--sea .pt-signin__panel { padding-top: 8px; padding-bottom: 48px; }
}
.pt-grid4--one { grid-template-columns: minmax(0, 360px); }
.pt-signin--sea .br-tiles { gap: 8px; }
.pt-signin--sea .br-tiles li { padding: 8px 11px; }
.pt-signin--sea .br-tiles strong { font-size: 15px; }
.pt-signin--sea .br-tiles span { font-size: 12.5px; }
.pt-signin--sea .pt-signin__card .pt-ms, .pt-signin--sea .pt-signin__card .pt-signin__email { border-radius: 10px; }
@media (max-width: 900px) { .pt-signin--sea .pt-signin__panel { order: -1; padding: 24px 16px 8px; } .pt-signin--sea .pt-signin__pitch { padding-top: 24px; } }

/* ---- the menu under the person's name ---- */
.pt-um { position: relative; }
.pt-um__btn { background: none; border: 1px solid transparent; border-radius: 10px; padding: 4px 8px 4px 4px; cursor: pointer; text-align: left; font: inherit; color: inherit; }
.pt-um__btn:hover, .pt-um__btn[aria-expanded="true"] { border-color: var(--navy-line); background: rgba(255, 255, 255, .05); }
.pt-um__chev { color: var(--on-dark-muted); flex: none; }
.pt-um__menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 50; min-width: 200px; display: flex; flex-direction: column; background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 12px; box-shadow: 0 14px 36px rgba(4, 14, 28, .28); padding: 6px; }
.pt-um__menu[hidden] { display: none; }
.pt-um__menu form { margin: 0; border-top: 1px solid var(--pt-line); margin-top: 4px; padding-top: 4px; }
.pt-um__it { display: flex; align-items: center; width: 100%; text-align: left; background: none; border: 0; border-radius: 8px; min-height: 40px; padding: 0 12px; font: 500 15px var(--sans); color: var(--pt-ink); cursor: pointer; }
.pt-um__it[hidden] { display: none; }
.pt-um__it:hover, .pt-um__it:focus-visible { background: var(--pt-bg); outline: none; }
.pt-um__out { color: var(--pt-bad); }
@media (max-width: 600px) { .pt-um__btn small, .pt-um__btn strong { display: none; } }
.pt-um__who { display: none; margin: 0; padding: 8px 12px 10px; border-bottom: 1px solid var(--pt-line); margin-bottom: 4px; }
.pt-um__who strong { display: block; color: var(--pt-ink); font-size: 15px; }
.pt-um__who small { color: var(--pt-muted); font-size: 13px; }
@media (max-width: 600px) { .pt-um__who { display: block; } }
.br-oldbar { margin: 0; padding: 10px 16px; text-align: center; font-size: 14px; background: #0B2340; color: #C9D8E8; border-bottom: 1px solid rgba(125, 210, 246, .18); }
.br-oldbar a { color: #7DD2F6; font-weight: 600; }
.br-oldbar a:hover { color: #fff; }
.br-old { font-size: 13.5px; color: #C9D8E8; margin-right: 16px; white-space: nowrap; }
.br-old a { color: #7DD2F6; font-weight: 600; }
.br-old a:hover { color: #fff; }
@media (max-width: 760px) { .br-old__q { display: none; } .br-old { margin-right: 10px; } }
.pb-theme__i { display: none; font-size: 16px; line-height: 1; }
@media (max-width: 480px) { .pb-theme__t { display: none; } .pb-theme__i { display: inline; } .pb-top .pb-theme { padding: 0 10px; } .br-old { font-size: 13px; margin-right: 8px; } .pb-top .br-logo img.br-logo__img { height: 22px; } .pb-top .br-logo__txt { font-size: 16px; } }
.br-old__s { display: none; }
@media (max-width: 760px) { .br-old__s { display: inline; } }
.pb-theme { display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 480px) { .pb-theme__i { display: block; } }
@media (max-width: 360px) { .pb-top .br-logo img.br-logo__img { height: 18px; } .pb-top .br-logo__txt { font-size: 14px; } .pb-top .br-logo__img + .br-logo__txt { padding-left: 6px; } .br-old { margin-right: 6px; font-size: 12.5px; } .pb-top .pb-theme { padding: 0 8px; min-width: 34px; } }
/* page and tile icons */
.pt-ico { flex: none; color: var(--blue); }
.pt-h1--ico { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pt-ico--h1 { width: 30px; height: 30px; padding: 6px; box-sizing: content-box; border-radius: 10px; background: color-mix(in srgb, var(--blue) 12%, transparent); color: var(--blue); }
[data-theme="dark"] .pt-ico--h1 { color: #7DD2F6; background: rgba(125, 210, 246, .12); }
.pt-more__it .pt-ico { width: 18px; height: 18px; }
.br-tiles li { position: relative; padding-left: 48px !important; }
.br-ico { position: absolute; left: 13px; top: 11px; color: #7DD2F6; }
.pt-sort { display: inline-flex; align-items: center; gap: 4px; background: none; border: 0; padding: 0; font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; text-align: left; }
.pt-sort:hover, .pt-sort.is-on { color: var(--pt-ink); }
.pt-sort__a { font-size: 9px; opacity: .55; }
.pt-sort.is-on .pt-sort__a { opacity: 1; color: var(--blue); }
.pt-dir { display: block; }
.pt-dir--out { color: var(--pt-bluet); }
@media (max-width: 380px) { .pt-head .br-logo img.br-logo__img { height: 20px; } .pt-head .br-logo__txt { font-size: 15px; } .pt-head .br-logo__img + .br-logo__txt { padding-left: 6px; } .pt-head .pt-um__btn { padding: 2px; } .pt-head__in { gap: 8px; } }
.pt-gt--lic2 { grid-template-columns: minmax(0, 2.4fr) 90px minmax(0, 1.3fr) 150px; }
.pt-gt:has(.pt-gt--lic2) { min-width: 620px; }

/* Weather Report page */
.pt-svcgrid { margin-top: 16px; align-items: start; }
.pt-svc { display: flex; flex-direction: column; }
.pt-svc__row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--pt-line); }
.pt-svc__row:first-child { border-top: 0; }
.pt-svc__name { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pt-svc__name a { color: var(--pt-ink); text-decoration: none; font-weight: 600; }
.pt-svc__name a:hover { text-decoration: underline; }
.pt-svc__dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.pt-svc__dot--ok { background: #22a06b; }
.pt-svc__dot--minor { background: #e0a100; }
.pt-svc__dot--major { background: #d93636; }
.pt-svc__dot--unk { background: var(--pt-muted); opacity: .5; }
.pt-rate--reopen { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pt-full { margin-top: 6px; }
.pt-full summary { cursor: pointer; font-size: 13px; color: var(--pt-muted); }
.pt-full summary:hover { color: var(--pt-ink); }
.pt-full p { margin-top: 6px; font-size: 13px; color: var(--pt-muted); white-space: pre-wrap; overflow-wrap: anywhere; }
.pt-head__co { display: inline-flex; align-items: center; gap: 12px; }
.pt-head__logo { height: 34px; max-width: 140px; object-fit: contain; background: #fff; border-radius: 6px; padding: 3px 7px; box-sizing: content-box; }
@media (max-width: 480px) { .pt-head__logo { height: 26px; max-width: 100px; } }
.pt-rate--reopen { border-top: 0; border-bottom: 1px solid var(--pt-line); padding: 0 0 14px; }
.pt-sec-h { margin: 12px 0 0; }
/* Lookout: every area's headline cards together at the top, details below. */
.pt-ov { display: grid; gap: 18px; padding: 18px; border: 1px solid var(--pt-line, rgba(127,127,127,.25)); border-radius: 14px; background: var(--pt-sunk, transparent); }
.pt-ov__g .pt-h3 { margin: 0 0 8px; }
.pt-ov__a { color: inherit; text-decoration: none; }
.pt-ov__a:hover, .pt-ov__a:focus-visible { color: var(--pt-bluet, var(--blue)); text-decoration: underline; text-underline-offset: 3px; }
.pt-main > .pt-sec-h[id] { scroll-margin-top: 20px; outline: none; }
@media (max-width: 720px) { .pt-ov { padding: 12px; gap: 14px; } }
.pt-main > .pt-sec-h + * { margin-top: -12px; }
.pt-main > .pt-titlebar + .pt-sec-h { margin-top: -4px; }
.pt-kpi__txt { font-size: 22px; line-height: 1.2; overflow-wrap: break-word; }
@media (max-width: 480px) { .pt-kpi__txt { font-size: 17px; } }
.pt-gt--avw { min-width: 640px; }
.pt-gt--av { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) 190px minmax(0, 1fr); }
.pt-gt--av > span:nth-child(4), .pt-gt--av > span:first-child { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.pt-gt--pa { grid-template-columns: minmax(0, 1.5fr) 80px 160px 110px minmax(0, 1fr) minmax(0, 1fr); }
.pt-gt--pa > span:first-child, .pt-gt--pa > span:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.pt-gt--paw { min-width: 820px; }
.pt-gt--m365w { min-width: 560px; }
.pt-gt--m365 { grid-template-columns: minmax(0, 2fr) 80px 80px 100px minmax(80px, 1fr); }
.pt-gt--m365 > span:first-child { display: flex; flex-direction: column; gap: 2px; }
.pt-meter { display: block; height: 8px; border-radius: 99px; background: var(--pt-line); overflow: hidden; }
.pt-meter > span { display: block; height: 100%; background: var(--blue); border-radius: 99px; }
.pt-pad-top > .pt-row, .pt-pad-top > .pt-small { padding: 0 20px; }
.pt-pad-top > .pt-row { padding-top: 18px; }
.pt-pad-top > .pt-small { margin: 6px 0 10px; }
.pt-gt--alw { min-width: 620px; }
.pt-gt--al { grid-template-columns: minmax(0, 2.2fr) 100px 150px 100px; }
.pt-gt--al > span:first-child { display: flex; flex-direction: column; gap: 2px; }
.pt-nomfa summary { cursor: pointer; }
.pt-nomfa ul { margin: 10px 0 0; padding-left: 18px; display: grid; gap: 6px; }
/* Sign-in page: weather report banner / all-clear link */
.pt-signin__wx.pt-wx { margin: 0 0 4px; max-width: 640px; color: var(--pt-ink); }
.pt-signin__ok { font-size: 14px; color: var(--on-dark, #dbe7f5); display: inline-flex; align-items: center; gap: 8px; }
.pt-signin__ok a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.pt-signin__dot { width: 9px; height: 9px; border-radius: 50%; background: #2ecc71; box-shadow: 0 0 0 3px rgba(46, 204, 113, .25); }
.pt-signin__wx .pt-wx__x { margin-left: auto; }
/* The weather report floats centered at the bottom of the screen, so it never pushes the sign-in card or the pitch down. */
.pt-signin__wx.pt-wx { position: fixed; left: 0; right: 0; bottom: 16px; margin-inline: auto !important; transform: none; width: min(760px, calc(100% - 24px)); max-width: none; margin-block: 0; z-index: 50; box-shadow: 0 12px 34px rgba(2, 10, 22, .45); }
.pt-signin__wx.pt-wx--minor { background: linear-gradient(var(--pt-warnbg), var(--pt-warnbg)), var(--pt-card); }
.pt-signin__wx.pt-wx--major { background: linear-gradient(var(--pt-badbg), var(--pt-badbg)), var(--pt-card); }
/* Sign-in card lines up with the top of the pitch instead of floating mid-page. */
@media (min-width: 901px) {
  .pt-signin--sea .pt-signin__pitch { justify-content: flex-start; }
  .pt-signin--sea .pt-signin__panel { align-items: flex-start; padding-top: 64px; }
}
.pt-signin--sea .pt-signin__points { max-width: 700px; }
.pt-signin--sea .pt-signin__points strong { font-size: 18px; }
.pt-signin--sea .pt-signin__points span { color: var(--on-dark); }
@media (max-width: 640px) { .pt-signin__points { grid-template-columns: 1fr; gap: 12px; } }
/* The weather report's × hides it: [hidden] must win over the banner's display: flex. */
.pt-signin__wx[hidden], .pt-wx[hidden] { display: none !important; }

/* ---- Setting Sail (onboarding plan) ---- */
.pt-ob-bar { height: 8px; border-radius: 999px; background: var(--pt-bg); overflow: hidden; margin: 2px 0 6px; }
.pt-ob-bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.pt-ob-summary { margin: 0; color: var(--pt-body); line-height: 1.6; }
.pt-ob-h { margin: 28px 0 12px; }
.pt-ob-mss { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.pt-ob-ms { background: var(--pt-card); border: 1px solid var(--pt-line); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.pt-ob-ms__label { font: 600 12px var(--sans); text-transform: uppercase; letter-spacing: .06em; color: var(--pt-bluet); }
.pt-ob-ms strong { font-family: var(--display); font-size: 19px; color: var(--pt-ink); }
.pt-ob-ms span:last-child { font-size: 13px; color: var(--pt-muted); }
.pt-ob-ms--past { opacity: .7; }
.pt-ob-ms--past .pt-ob-ms__label { color: var(--pt-ok); }
.pt-ob-ms--next { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue) inset; }
.pt-ob-tl { position: relative; display: flex; gap: 4px; margin: 20px 0 8px; padding-top: 18px; }
.pt-ob-tl__seg { border-radius: 8px; padding: 8px 10px; min-width: 0; display: flex; flex-direction: column; background: var(--pt-soft); color: var(--pt-ink); }
.pt-ob-tl__seg b { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-ob-tl__seg small { font-size: 12px; color: var(--pt-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-ob-tl__seg--on { background: var(--blue); color: #fff; }
.pt-ob-tl__seg--on small { color: rgba(255, 255, 255, .85); }
.pt-ob-tl__now { position: absolute; top: 0; bottom: -4px; width: 2px; background: var(--cyan); margin-left: -1px; }
.pt-ob-tl__now em { position: absolute; top: -2px; left: 6px; font: 600 11px var(--sans); font-style: normal; color: var(--pt-bluet); white-space: nowrap; }
.pt-ob-phase { margin-top: 28px; scroll-margin-top: 90px; }
.pt-ob-phase__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 10px; }
.pt-ob-phase__head .pt-muted { margin: 4px 0 0; }
.pt-gt--ob { grid-template-columns: 44px minmax(0, 2.4fr) minmax(0, 1fr) 120px 120px minmax(0, 1.4fr); }
.pt-gt--ob > span:nth-child(2), .pt-gt--ob > span:nth-child(5) { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.pt-gt--obw { min-width: 900px; }
.pt-ob-down { color: var(--pt-warn); }
.pt-ob-note { font-size: 13px; color: var(--pt-body); background: var(--pt-bg); border-radius: 6px; padding: 4px 8px; margin-top: 2px; }
.pt-ob-cks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pt-ob-cks li { display: flex; gap: 10px; align-items: flex-start; }
.pt-ob-ck { flex: none; width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid var(--pt-line); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: #fff; margin-top: 1px; }
.pt-ob-ck--done .pt-ob-ck { background: var(--pt-ok); border-color: var(--pt-ok); }
.pt-ob-ck--done { color: var(--pt-muted); }
@media (max-width: 700px) { .pt-ob-tl__seg small { display: none; } .pt-ob-phase__head { flex-direction: column; align-items: flex-start; } }

/* ---- Lifeboats (backups) ---- */
.pt-gt--bk { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr) 130px; }
.pt-gt--bk > span { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.pt-gt--bkw { min-width: 760px; }
.pt-bk-m { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; align-items: center; }
.pt-bk-m .pt-h2 .pt-pill { margin-left: 8px; }
.pt-bk-m p { margin: 4px 0 0; }
.pt-bk-ns { display: flex; gap: 10px; flex-wrap: wrap; }
.pt-bk-n { background: var(--pt-bg); border-radius: 10px; padding: 10px 14px; min-width: 120px; display: flex; flex-direction: column; }
.pt-bk-n strong { font-family: var(--display); font-size: 22px; color: var(--pt-ink); }
.pt-bk-n span { font-size: 12px; color: var(--pt-muted); }
@media (max-width: 700px) {
  .pt-gt--obw, .pt-gt--bkw { min-width: 0; }
  .pt-gt--obw .pt-gh, .pt-gt--bkw .pt-gh { display: none; }
  .pt-gt--ob { grid-template-columns: 34px minmax(0, 1fr); row-gap: 4px; }
  .pt-gt--ob > span:nth-child(n+3) { grid-column: 2; }
  .pt-gt--ob > span:nth-child(5) { flex-direction: row; align-items: center; gap: 8px; }
  .pt-gt--bk { grid-template-columns: minmax(0, 1fr) auto; row-gap: 4px; }
  .pt-gt--bk > span:nth-child(2), .pt-gt--bk > span:nth-child(3), .pt-gt--bk > span:nth-child(4) { grid-column: 1; }
  .pt-gt--bk > span:nth-child(5) { grid-column: 2; grid-row: 1; align-items: flex-end; }
  .pt-gt--ob > span[data-l]:not([data-l="Status"]) { display: flex; flex-direction: column; }
  .pt-gt--ob > span[data-l]::before, .pt-gt--bk > span[data-l]::before { content: attr(data-l); display: block; font: 600 11px var(--sans); text-transform: uppercase; letter-spacing: .05em; color: var(--pt-muted); margin-top: 2px; }
  .pt-gt--bk > span:nth-child(5) { max-width: 140px; text-align: right; }
  .pt-gt--ob > span[data-l="Status"]::before { content: none; }
}
/* Voyage Plan: assumptions (lifespan, replacement model with its picture, quarterly price increase) and picture chips. */
.pt-vpol { display: grid; gap: 4px; }
.pt-vrow { display: grid; grid-template-columns: 64px minmax(120px, 1fr) auto minmax(220px, 1.4fr); align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--pt-line); }
.pt-vrow--rate { grid-template-columns: minmax(120px, 1fr) auto minmax(220px, 1.4fr); border-bottom: 0; }
.pt-vrow > span:not(.pt-vimg), .pt-vrow > span > .pt-small { display: flex; flex-direction: column; }
.pt-vimg { width: 64px; height: 48px; border-radius: 8px; background: #F3F6F9; border: 1px solid var(--pt-line); object-fit: contain; padding: 4px; box-sizing: border-box; }
[data-theme="dark"] .pt-vimg { background: #E9EEF4; }
.pt-vrow .pt-inline input { width: 64px; }
.pt-vmodel select, .pt-budedit select { font: 400 14px var(--sans); min-height: 38px; padding: 6px 10px; border-radius: 8px; border: 1px solid var(--pt-line); background: var(--pt-card); color: var(--pt-ink); width: 100%; }
.pt-vcost { margin: 4px 0 10px; font-size: 15px; }
.pt-link { background: none; border: 0; padding: 0; color: var(--pt-bluet); font: inherit; text-decoration: underline; cursor: pointer; }
.pt-bcol--tray { background: var(--pt-warnbg, #FFF7E6); border-style: dashed; }
.pt-chip__img { width: 40px; height: 30px; object-fit: contain; align-self: flex-start; margin-bottom: 3px; border-radius: 4px; background: #F3F6F9; }
.pt-chip--unknown { border-left-color: #B26B00; }
.pt-chip--unknown .pt-chip__c { color: var(--pt-warn, #8A5300); font-weight: 600; }
@media (max-width: 760px) { .pt-vrow, .pt-vrow--rate { grid-template-columns: 1fr; } .pt-vimg { display: none; } }
.pt-vrow:has(.pt-vtiers) { grid-template-columns: minmax(110px, .7fr) auto minmax(0, 2.6fr); align-items: start; }
.pt-vtiers { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.pt-vtier { display: flex; gap: 10px; align-items: center; padding: 8px; border: 1px solid var(--pt-line); border-radius: 10px; min-width: 0; }
.pt-vtier > span { display: flex; flex-direction: column; min-width: 0; }
.pt-vtier__t { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pt-bluet); }
@media (max-width: 760px) { .pt-vrow:has(.pt-vtiers) { grid-template-columns: 1fr; } .pt-vtiers .pt-vimg { display: block; } }
/* Lookout · email protection */
.pt-ebars { display: flex; align-items: flex-end; gap: 4px; height: 124px; padding-top: 8px; }
.pt-ebars .pt-bars__col { flex: 1; display: flex; align-items: flex-end; min-width: 0; }
.pt-ebar { display: flex; flex-direction: column-reverse; width: 100%; border-radius: 3px 3px 0 0; background: var(--blue); overflow: hidden; }
.pt-ebar__b { display: block; width: 100%; background: #C0392B; }
.pt-key--bad { background: #C0392B; }
.pt-ekinds { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.pt-ekinds > div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 10px; background: var(--pt-soft); }
.pt-ekinds strong { font-size: 22px; }
.pt-ekinds span { font-size: 13px; color: var(--pt-muted); }
.pt-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pt-qbr { border-left: 3px solid var(--cyan); }
/* Lifeboats › Microsoft 365 breakdown */
.pt { --m3-ok: #2E9E68; --m3-bad: #D2453A; --m3-warn: #E39A1B; --m3-unl: #C9A15A; --m3-idle: #A7B98A; --m3-blk: #7B8CA0; --m3-gone: #A9B6C4; --m3-greybg: #EEF2F6; }
[data-theme="dark"] .pt { --m3-ok: #3FB27A; --m3-bad: #E5675C; --m3-unl: #9C8150; --m3-idle: #6F8259; --m3-blk: #6D8199; --m3-gone: #4E6278; --m3-greybg: #1B2B3C; }
.pt-m3-sum { margin-top: 18px; padding: 12px 14px; border-radius: 10px; background: var(--pt-soft); color: var(--pt-ink); font-size: 14px; }
.pt-m3-kinds { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; margin: 20px 0 12px; }
.pt-m3-kind { border: 1px solid var(--pt-line); border-radius: 10px; padding: 18px; min-width: 0; }
.pt-m3-kh { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.pt-m3-kh strong { color: var(--pt-ink); }
.pt-m3-h { font-family: var(--display); font-weight: 700; font-size: 16px; color: var(--pt-ink); margin: 0; }
.pt-m3-bar { display: flex; height: 12px; border-radius: 99px; overflow: hidden; margin: 12px 0 6px; background: var(--m3-greybg); }
.pt-m3-bar i { display: block; height: 100%; min-width: 3px; }
.pt-m3-bar i[style="width:0.00%"] { display: none; }
.pt-m3-legend { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--pt-muted); margin-bottom: 12px; }
.pt-m3-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 5px; }
.m3-ok { background: var(--m3-ok); } .m3-bad { background: var(--m3-bad); } .m3-warn { background: var(--m3-warn); } .m3-unl { background: var(--m3-unl); }
.m3-idle { background: var(--m3-idle); } .m3-blk { background: var(--m3-blk); } .m3-gone { background: var(--m3-gone); }
.pt-m3-grp { border-top: 1px solid var(--pt-line); }
.pt-m3-grp summary { list-style: none; display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: start; padding: 11px 0; cursor: pointer; }
.pt-m3-grp summary::-webkit-details-marker { display: none; }
.pt-m3-chev { color: var(--pt-muted); transition: transform .15s; margin-top: 1px; }
.pt-m3-grp[open] .pt-m3-chev { transform: rotate(90deg); }
.pt-m3-t strong { display: block; color: var(--pt-ink); font-size: 14px; }
.pt-m3-t span { display: block; font-size: 13px; color: var(--pt-muted); }
.pt-m3-attn .pt-m3-t strong { color: var(--pt-bad); }
.pt-m3-n { font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--pt-ink); min-width: 28px; text-align: right; line-height: 1.2; }
.pt-m3-tag { font: 600 11px var(--sans); padding: 1px 8px; border-radius: 99px; white-space: nowrap; margin-top: 2px; }
.pt-m3-tag--act { background: var(--pt-badbg); color: var(--pt-bad); } .pt-m3-tag--rev { background: var(--pt-warnbg); color: var(--pt-warn); } .pt-m3-tag--exp { background: var(--m3-greybg); color: var(--pt-muted); }
.pt-m3-who { margin: 0 0 12px 22px; font-size: 13px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 14px; }
.pt-m3-who > span { overflow-wrap: anywhere; color: var(--pt-body); }
.pt-m3-who > span:nth-child(even) { color: var(--pt-muted); text-align: right; white-space: nowrap; }
.pt-m3-who:not(.all) > span:nth-child(n+11) { display: none; }
.pt-m3-who .pt-link { grid-column: 1 / -1; justify-self: start; font-size: 13px; }
@media (max-width: 560px) { .pt-m3-kinds { grid-template-columns: 1fr; } .pt-m3-kind { padding: 14px; } .pt-m3-who { margin-left: 0; } }

/* Orders: the picked computer's warranty (included, or an upgrade at its price) */
.pt-dev__ws { margin-top: 12px; }
.pt-dev__w { display: flex; gap: 8px; align-items: baseline; font-size: 14px; margin: 6px 0; color: var(--pt-body); cursor: pointer; }
.pt-dev__w input { margin: 0; flex: none; }
.pt-dev__w strong { color: var(--pt-ink); }

/* Engine Room: Veeam mark on servers in a Veeam backup job (green good, amber warning, red failed, grey unknown) */
.pt-veeam { display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 4px; margin-left: 6px; vertical-align: -2px;
  font: 800 10px/1 var(--sans); color: #fff; background: #00b336; cursor: help; }
.pt-veeam--warning { background: #d68a00; } .pt-veeam--failed { background: #c62828; } .pt-veeam--unknown { background: #8a9aad; }

/* Voyage Plan: the Unplanned column stays on the left while the quarters scroll */
.pt-bcol--stick { position: sticky; left: 0; z-index: 3; background: var(--pt-bg); box-shadow: 8px 0 10px -8px rgba(11, 35, 64, .25); }
[data-theme="dark"] .pt-bcol--stick { box-shadow: 8px 0 10px -8px rgba(0, 0, 0, .6); }

/* Orders: products with a quantity each, a warranty under a picked computer, and how a new employee gets a computer */
.pt-dev__modes { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 8px 0 4px; }
.pt-dev__opt { flex-wrap: wrap; cursor: default; }
.pt-dev__opt--on { border-color: var(--blue); box-shadow: 0 0 0 1px var(--blue) inset; }
.pt-dev__qty { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: 12px; color: var(--pt-muted); flex: none; margin: 0; }
.pt-dev__qty input { width: 68px; text-align: center; font-variant-numeric: tabular-nums; }
.pt-dev__more { flex-basis: 100%; padding-left: 118px; }
.pt-dev__more .pt-dev__ws { margin-top: 0; }
@media (max-width: 600px) { .pt-dev__more { padding-left: 0; } .pt-dev__qty { flex-direction: row; } }
