/* Native Coordinate visual: deliberately sharp, compact, and product-like. */
.visual-coordinate {
  isolation: isolate;
  padding: 0 !important;
  overflow: hidden;
  background:
    linear-gradient(128deg, rgba(10, 42, 58, .94), rgba(8, 28, 42, .98) 58%, rgba(8, 47, 59, .88)),
    #082031 !important;
}
.visual-coordinate::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(111, 208, 208, .11) 1px, transparent 1px) 0 0 / 42px 42px,
    linear-gradient(rgba(111, 208, 208, .08) 1px, transparent 1px) 0 0 / 42px 42px,
    radial-gradient(circle at 82% 16%, rgba(39, 151, 160, .36), transparent 34%);
  opacity: .56;
}
.visual-coordinate .calendar-card {
  position: absolute;
  left: 24px;
  top: 30px;
  width: 62%;
  height: 220px;
  padding: 17px 17px 15px;
  color: #d7eef0;
  border: 1px solid rgba(128, 219, 218, .47);
  background: linear-gradient(150deg, rgba(24, 69, 85, .96), rgba(10, 36, 53, .98));
  box-shadow: 12px 13px 0 rgba(4, 17, 27, .38), inset 0 1px 0 rgba(227, 255, 255, .15);
  transform: perspective(900px) rotateY(3deg) rotateX(1deg);
}
.visual-coordinate .calendar-head {
  color: #a8cbd0;
  font: 800 9px/1.2 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .15em;
}
.visual-coordinate .calendar-head::before {
  content: "INSTALL SCHEDULE";
  display: block;
  margin-bottom: 8px;
  color: #70d8d1;
  font-size: 8px;
}
.visual-coordinate .calendar-head b {
  color: #eafafa;
  font-size: 8px;
}
.visual-coordinate .calendar-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(129, 199, 205, .25);
}
.visual-coordinate .calendar-grid i {
  height: 20px;
  border: 1px solid rgba(139, 207, 211, .19);
  background: rgba(170, 209, 219, .10);
}
.visual-coordinate .calendar-grid i:nth-child(5),
.visual-coordinate .calendar-grid i:nth-child(6),
.visual-coordinate .calendar-grid i:nth-child(10) {
  border-color: rgba(101, 222, 211, .8);
  background: linear-gradient(180deg, rgba(89, 212, 200, .88), rgba(27, 129, 143, .86));
}
.visual-coordinate .calendar-event {
  position: relative;
  margin-top: 13px;
  padding: 10px 11px;
  color: #f3ffff;
  border: 1px solid #64d7cf;
  background: linear-gradient(90deg, rgba(21, 109, 121, .95), rgba(13, 57, 72, .98));
  box-shadow: inset 3px 0 0 #a2efe5;
  font: 800 9px/1.1 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .10em;
}
.visual-coordinate .calendar-event::after {
  content: "JOB 105 · READY";
  display: block;
  margin-top: 5px;
  color: #9fc5cb;
  font-size: 7px;
  letter-spacing: .13em;
}
.visual-coordinate .supply-marker {
  right: 17px;
  bottom: 21px;
  width: 47%;
  padding: 15px 16px 14px;
  color: #adced3;
  border: 1px solid rgba(103, 220, 210, .72);
  border-left: 3px solid #70dcd3;
  background: linear-gradient(145deg, rgba(19, 81, 94, .97), rgba(9, 40, 53, .98));
  box-shadow: 10px 11px 0 rgba(3, 15, 24, .4), inset 0 1px 0 rgba(230, 255, 255, .12);
  font: 800 8px/1.45 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: .14em;
}
.visual-coordinate .supply-marker::before {
  content: "MATERIAL READINESS";
  display: block;
  margin-bottom: 9px;
  color: #7badaf;
  font-size: 7px;
}
.visual-coordinate .supply-marker b {
  display: block;
  color: #ecffff;
  font-size: 12px;
  letter-spacing: .04em;
}
.visual-coordinate .supply-marker::after {
  content: "PURCHASE ORDER · TRACKED";
  display: block;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid rgba(145, 205, 207, .24);
  color: #70d9d1;
  font-size: 7px;
  letter-spacing: .12em;
}
@media (max-width: 760px) {
  .visual-coordinate .calendar-card { left: 17px; top: 23px; width: 66%; transform: none; }
  .visual-coordinate .supply-marker { right: 13px; bottom: 18px; width: 53%; }
}

/* A compact, data-led operational view rather than a decorative diagram. */
.visual-coordinate.is-data-view { padding: 18px !important; }
.visual-coordinate.is-data-view::before { opacity: .36; }
.coordinate-data-shell { position:relative; height:100%; min-height:250px; display:grid; grid-template-columns:1.18fr .82fr; gap:10px; color:#d8edf0; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.coord-data-head { grid-column:1 / -1; display:flex; justify-content:space-between; align-items:center; padding:0 2px 7px; border-bottom:1px solid rgba(126,204,207,.28); font-size:8px; font-weight:800; letter-spacing:.14em; }
.coord-data-head span { color:#78ddd5; }
.coord-data-head b { color:#cce8eb; font-size:7px; letter-spacing:.12em; }
.coord-calendar { position:relative; overflow:hidden; min-height:182px; padding:12px 11px; border:1px solid rgba(117,203,207,.38); background:linear-gradient(145deg,rgba(27,78,91,.88),rgba(8,36,51,.97)); box-shadow:inset 0 1px 0 rgba(235,255,255,.10); }
.coord-calendar-top { display:flex; justify-content:space-between; color:#a8c6cc; font-size:7px; font-weight:800; letter-spacing:.12em; }
.coord-calendar-top b { color:#eefeff; font-size:8px; }
.coord-days { display:grid; grid-template-columns:repeat(5,1fr); margin:12px 0 7px; color:#84aab2; font-size:7px; font-weight:800; text-align:center; }
.coord-grid { position:relative; height:120px; background:linear-gradient(rgba(126,199,204,.16) 1px,transparent 1px) 0 0 / 100% 24px, linear-gradient(90deg,rgba(126,199,204,.14) 1px,transparent 1px) 0 0 / 20% 100%; border-top:1px solid rgba(126,199,204,.16); border-bottom:1px solid rgba(126,199,204,.16); }
.coord-event { position:absolute; min-height:21px; padding:5px 6px; color:#ebffff; border-left:2px solid #adf0e9; background:linear-gradient(90deg,rgba(29,147,154,.96),rgba(19,101,120,.94)); box-shadow:inset 0 1px rgba(230,255,255,.18); font-size:7px; font-weight:800; letter-spacing:.07em; white-space:nowrap; }
.coord-event small { display:block; margin-top:2px; color:#bce6e7; font-size:6px; letter-spacing:.05em; }
.coord-event.e1 { left:21%; top:24px; width:26%; }
.coord-event.e2 { left:3%; top:73px; width:16%; background:linear-gradient(90deg,#397fa9,#285b7d); }
.coord-event.e3 { left:63%; top:48px; width:19%; background:linear-gradient(90deg,#3b8f80,#296d69); }
.coord-event.e4 { left:80%; top:96px; width:16%; background:linear-gradient(90deg,#bd8b37,#94712e); }
.coord-readiness { position:relative; min-height:182px; padding:13px 12px; border:1px solid rgba(105,220,210,.62); border-left:3px solid #6bd8d1; background:linear-gradient(145deg,rgba(14,65,77,.96),rgba(7,34,48,.99)); box-shadow:10px 10px 0 rgba(3,15,23,.26), inset 0 1px 0 rgba(235,255,255,.12); }
.coord-readiness-label { color:#85c9c8; font-size:7px; font-weight:800; letter-spacing:.15em; }
.coord-readiness h4 { margin:5px 0 10px; color:#f0ffff; font-size:14px; line-height:1; letter-spacing:-.03em; }
.coord-stat { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-top:1px solid rgba(131,203,206,.20); font-size:8px; font-weight:700; }
.coord-stat small { display:block; margin-top:3px; color:#90b6be; font-size:6px; font-weight:800; letter-spacing:.10em; }
.coord-stat b { color:#6ee0d6; font-size:13px; }
.coord-stat.warn b { color:#f2bb52; }
.coord-progress { display:grid; grid-template-columns:2fr 1fr; gap:3px; margin-top:9px; height:4px; }
.coord-progress i { background:#65d9cf; }
.coord-progress i:last-child { background:#d4a746; }
.coord-readiness::after { content:"JOB 105 · INSTALL 10:00 AM"; position:absolute; right:11px; bottom:10px; color:#7eb1b8; font-size:6px; font-weight:800; letter-spacing:.11em; }
@media(max-width:760px){ .coordinate-data-shell{min-height:252px;grid-template-columns:1fr .78fr;gap:8px}.coord-event{font-size:6px;padding:5px}.coord-event small{display:none}.coord-readiness{padding:11px 9px}.coord-readiness h4{font-size:12px}.coord-stat{font-size:7px}.coord-stat b{font-size:11px} }

.visual-field.has-review-image { display:block; padding:0 !important; background:#081c2b; }
.visual-field.has-review-image img { display:block; width:100%; height:100%; min-height:287px; object-fit:cover; object-position:center; }
@media(max-width:760px){ .visual-field.has-review-image img { min-height:254px; } }

/* Service is a connected-history view: a ticket has the whole job behind it. */
.visual-service.is-history-view { padding:18px !important; overflow:hidden; background:linear-gradient(145deg,#092d40,#071e30) !important; }
.visual-service.is-history-view::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 84% 20%,rgba(40,154,159,.25),transparent 36%),linear-gradient(90deg,rgba(110,210,208,.09) 1px,transparent 1px) 0 0 / 36px 36px,linear-gradient(rgba(110,210,208,.07) 1px,transparent 1px) 0 0 / 36px 36px; opacity:.72; }
.service-history { position:relative; height:100%; min-height:250px; display:grid; grid-template-columns:.7fr 1.3fr; gap:14px; color:#dceef0; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.service-history-summary { padding:13px 12px; border:1px solid rgba(117,206,207,.40); background:linear-gradient(145deg,rgba(20,72,87,.92),rgba(7,35,49,.98)); box-shadow:inset 0 1px 0 rgba(230,255,255,.10); }
.service-history-kicker { color:#78d9d1; font-size:7px; font-weight:800; letter-spacing:.16em; }
.service-history-summary h4 { margin:7px 0 3px; color:#f2ffff; font-size:13px; letter-spacing:-.035em; }
.service-history-summary>p { margin:0 0 12px; color:#a5c6cb; font-size:8px; line-height:1.4; }
.service-history-stat { margin-top:8px; padding-top:8px; border-top:1px solid rgba(128,204,205,.22); }
.service-history-stat span { display:block; color:#83adb5; font-size:6px; font-weight:800; letter-spacing:.12em; }
.service-history-stat b { display:block; margin-top:3px; color:#efffff; font-size:12px; letter-spacing:-.03em; }
.service-history-stat.teal b { color:#73ddd4; }
.service-history-map { position:relative; min-height:215px; border:1px solid rgba(114,204,207,.34); background:rgba(5,28,42,.48); }
.service-history-map::before { content:""; position:absolute; left:17%; right:13%; top:50%; border-top:1px solid #66d5ce; opacity:.88; }
.service-history-map::after { content:""; position:absolute; left:50%; top:16%; bottom:16%; border-left:1px solid #66d5ce; opacity:.74; }
.history-map-title { position:absolute; top:10px; left:12px; color:#a9cbd0; font-size:7px; font-weight:800; letter-spacing:.14em; }
.history-map-title b { margin-left:6px; color:#71d9d1; }
.history-node { position:absolute; z-index:1; min-width:73px; padding:8px 8px 7px; border:1px solid rgba(130,204,208,.38); background:linear-gradient(145deg,rgba(36,82,96,.97),rgba(14,53,68,.98)); box-shadow:inset 0 1px 0 rgba(232,255,255,.10); }
.history-node span { display:block; color:#a3c6cb; font-size:6px; font-weight:800; letter-spacing:.11em; }
.history-node b { display:block; margin-top:4px; color:#f1ffff; font-size:8px; line-height:1.1; }
.history-node small { display:block; margin-top:5px; color:#69d8cf; font-size:6px; font-weight:800; letter-spacing:.07em; }
.history-node.order { left:7%; top:35%; }
.history-node.purchase { left:36%; top:15%; }
.history-node.install { left:36%; bottom:14%; }
.history-node.service { right:7%; top:35%; border-color:#72ddd3; background:linear-gradient(145deg,rgba(19,119,121,.98),rgba(9,68,80,.98)); }
.history-node.service small { color:#cdfaf4; }
.history-dot { position:absolute; z-index:2; width:7px; height:7px; border-radius:50%; background:#72ddd4; box-shadow:0 0 0 3px rgba(114,221,212,.13); }
.history-dot.d1{left:31%;top:48%}.history-dot.d2{left:49%;top:48%}.history-dot.d3{left:69%;top:48%}
@media(max-width:760px){.visual-service.is-history-view{padding:13px!important}.service-history{gap:8px}.service-history-summary{padding:10px 9px}.service-history-summary h4{font-size:11px}.history-node{min-width:58px;padding:6px}.history-node b{font-size:7px}.history-node small,.history-node span{font-size:5px}.history-map-title{font-size:6px}.history-node.purchase{left:34%}.history-node.install{left:34%}}

/* Jobs-style service intelligence: a dense record map, not an abstract flowchart. */
.visual-service.is-history-view { padding:13px !important; }
.service-history.job-intelligence { display:block; min-height:258px; height:100%; }
.job-board-head { display:flex; justify-content:space-between; align-items:center; padding:0 3px 8px; color:#91c2c8; border-bottom:1px solid rgba(125,205,205,.25); font-size:7px; font-weight:800; letter-spacing:.14em; }
.job-board-head b { color:#7ae0d7; font-size:7px; }
.job-board { position:relative; height:207px; overflow:hidden; padding:13px 9px 8px; }
.job-board::before { content:""; position:absolute; left:30%; right:8%; top:50%; border-top:1px solid #6cd8d0; opacity:.85; }
.job-board::after { content:""; position:absolute; left:31%; top:12%; bottom:10%; border-left:1px solid #6cd8d0; opacity:.8; }
.job-root { position:absolute; z-index:2; left:2%; top:50%; width:27%; padding:10px 8px; transform:translateY(-50%); border:1px solid rgba(129,211,210,.6); border-left:3px solid #6bd9d0; background:linear-gradient(145deg,rgba(24,95,105,.98),rgba(11,57,70,.99)); box-shadow:inset 0 1px 0 rgba(235,255,255,.14); }
.job-root span,.job-node span { display:block; color:#b0d2d5; font-size:6px; font-weight:800; letter-spacing:.11em; }
.job-root b { display:block; margin-top:5px; color:#f0ffff; font-size:9px; line-height:1.1; letter-spacing:-.025em; }
.job-root small { display:block; margin-top:6px; color:#8bc9ca; font-size:6px; line-height:1.35; }
.mini-finance { display:flex; gap:5px; margin-top:8px; padding-top:7px; border-top:1px solid rgba(159,220,220,.24); }
.mini-finance i { display:block; height:3px; flex:1; background:#67dbd2; }.mini-finance i:last-child { background:#e7ae4b; }
.job-lane { position:absolute; left:35%; right:2%; height:39%; }
.job-lane.upper { top:10%; }.job-lane.lower { bottom:6%; }
.job-direct { position:absolute; left:0; top:50%; width:24%; padding:7px 5px; transform:translateY(-50%); border:1px solid rgba(135,205,209,.33); background:rgba(30,72,87,.97); text-align:center; }
.job-direct b { display:block; color:#f0ffff; font-size:7px; line-height:1.1; }.job-direct small { display:block; margin-top:4px; color:#9dc5ca; font-size:5px; font-weight:800; letter-spacing:.08em; }
.job-order { position:absolute; left:30%; top:50%; width:24%; padding:8px 5px; transform:translateY(-50%); border:1px solid #68d9d0; background:linear-gradient(145deg,rgba(24,154,149,.98),rgba(13,107,114,.98)); text-align:center; }
.job-order b { display:block; color:#f2ffff; font-size:8px; }.job-order small { display:block; margin-top:4px; color:#d2fbf6; font-size:5px; font-weight:800; letter-spacing:.07em; }
.job-cluster { position:absolute; right:0; top:50%; width:38%; display:grid; grid-template-columns:1fr 1fr; gap:4px; transform:translateY(-50%); }
.job-node { min-height:34px; padding:5px; border:1px solid rgba(135,205,209,.32); background:linear-gradient(145deg,rgba(41,83,96,.98),rgba(19,58,72,.99)); }
.job-node b { display:block; margin-top:3px; color:#efffff; font-size:6px; line-height:1.08; }.job-node small { display:block; margin-top:3px; color:#67d9d0; font-size:5px; font-weight:800; }
.job-node.service-node { border-color:rgba(108,219,210,.72); background:linear-gradient(145deg,rgba(24,124,123,.98),rgba(13,82,91,.99)); }
.job-connection { position:absolute; z-index:1; width:5px; height:5px; border-radius:50%; background:#72ddd4; box-shadow:0 0 0 3px rgba(114,221,212,.12); }
.job-connection.c1{left:33%;top:48%}.job-connection.c2{left:57%;top:48%}.job-connection.c3{left:71%;top:48%}
@media(max-width:760px){.job-board{height:207px}.job-root b{font-size:8px}.job-root span,.job-node span,.job-node small,.job-order small,.job-direct small{font-size:5px}.job-node b{font-size:6px}.job-order b,.job-direct b{font-size:7px}}

/* Service Intelligence: the white operational surface used by Metrics and Insights. */
.visual-service.is-history-view { padding:0 !important; background:#edf4f6 !important; }
.visual-service.is-history-view::before { display:none; }
.service-history.service-intelligence { display:block; min-height:287px; height:100%; overflow:hidden; color:#133049; font-family:Inter,ui-sans-serif,system-ui,sans-serif; background:#edf4f6; }
.service-intel-hero { position:relative; min-height:66px; padding:13px 14px; color:#f5ffff; background:linear-gradient(104deg,#0b2941,#105a68 66%,#259b92); overflow:hidden; }
.service-intel-hero::after { content:""; position:absolute; width:100px; height:100px; right:-32px; top:-50px; border:1px solid rgba(211,255,249,.32); border-radius:50%; box-shadow:0 0 0 17px rgba(198,255,248,.06); }
.service-intel-kicker { position:relative; z-index:1; color:#89e0d7; font-size:7px; font-weight:800; letter-spacing:.16em; }
.service-intel-hero h4 { position:relative; z-index:1; margin:5px 0 0; font-size:15px; letter-spacing:-.035em; }
.service-intel-hero p { position:relative; z-index:1; margin:4px 0 0; color:#d4ecee; font-size:7px; }
.service-intel-content { padding:10px; }
.service-intel-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.service-intel-metric { min-height:45px; padding:8px 7px; border:1px solid #cfe1e5; border-top:2px solid #43c7bc; background:#fff; box-shadow:0 4px 10px rgba(17,49,68,.05); }
.service-intel-metric span { display:block; color:#557793; font-size:6px; font-weight:800; letter-spacing:.10em; }.service-intel-metric b { display:block; margin-top:5px; color:#102c46; font-size:14px; letter-spacing:-.04em; }.service-intel-metric:nth-child(2){border-top-color:#65b5e5}.service-intel-metric:nth-child(3){border-top-color:#e7a73d}
.service-intel-grid { display:grid; grid-template-columns:1.03fr .97fr; gap:7px; margin-top:8px; }
.service-intel-panel { min-height:117px; padding:9px; border:1px solid #cfdfe4; background:#fff; box-shadow:0 4px 10px rgba(17,49,68,.04); }
.service-intel-panel h5 { margin:0 0 8px; color:#16334f; font-size:8px; letter-spacing:-.01em; }.service-intel-panel h5 span { float:right; color:#168c91; font-size:6px; letter-spacing:.11em; }
.service-timeline-row { display:grid; grid-template-columns:7px 1fr auto; gap:5px; align-items:center; padding:5px 0; border-top:1px solid #e3ecee; font-size:7px; font-weight:700; }.service-timeline-row i { width:6px; height:6px; border-radius:50%; background:#56cbbb; }.service-timeline-row b { color:#375d78; font-size:6px; }.service-timeline-row.active i{background:#1693a0;box-shadow:0 0 0 3px #d7f1ed}.service-timeline-row.active{color:#0b7179}
.service-record-map { position:relative; height:83px; overflow:hidden; border:1px solid #d9e6e9; background:linear-gradient(90deg,#f5fafb,#fff); }.service-record-map::before{content:"";position:absolute;left:10%;right:9%;top:49%;border-top:1px solid #34aaa4}.service-record-map::after{content:"";position:absolute;left:50%;top:15%;bottom:13%;border-left:1px solid #52c2bb}.service-record-node{position:absolute;z-index:1;padding:4px 5px;border:1px solid #a9d8d8;background:#fff;color:#315a74;font-size:5px;font-weight:800;letter-spacing:.05em;box-shadow:0 2px 4px rgba(15,49,68,.08)}.service-record-node b{display:block;margin-top:3px;color:#15354e;font-size:6px}.service-record-node.order{left:4%;top:37%}.service-record-node.po{left:36%;top:9%}.service-record-node.install{left:35%;bottom:8%}.service-record-node.ticket{right:4%;top:37%;border-color:#3abbb1;background:#e8faf6}.service-record-node.ticket b{color:#0e7f81}
@media(max-width:760px){.service-intel-hero{min-height:62px;padding:11px}.service-intel-hero h4{font-size:13px}.service-intel-content{padding:8px}.service-intel-metric{padding:6px}.service-intel-metric b{font-size:12px}.service-intel-grid{gap:5px}.service-intel-panel{padding:7px}.service-record-node{padding:3px;font-size:5px}}

/* Compact dashboard framing: all of the space belongs to the operational story. */
.service-history.service-intelligence { min-height:287px; }
.service-intel-hero { min-height:31px; padding:9px 12px; }
.service-intel-hero::after { width:58px; height:58px; right:-16px; top:-32px; }
.service-intel-kicker { display:inline; font-size:7px; }
.service-intel-hero h4,.service-intel-hero p { display:none; }
.service-intel-content { padding:7px; }
.service-intel-metrics { gap:5px; }
.service-intel-metric { min-height:42px; padding:7px; }
.service-intel-workspace { position:relative; height:187px; margin-top:6px; overflow:hidden; background:linear-gradient(132deg,#113f56,#092939 70%); border:1px solid #1d7280; box-shadow:inset 0 1px 0 rgba(223,255,255,.12); }
.service-intel-workspace::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(119,218,214,.08) 1px,transparent 1px) 0 0 / 37px 37px,linear-gradient(rgba(119,218,214,.07) 1px,transparent 1px) 0 0 / 37px 37px; }
.service-workspace-title { position:absolute; z-index:2; left:10px; top:8px; color:#a3d5d5; font-size:7px; font-weight:800; letter-spacing:.14em; }.service-workspace-title b{color:#6ddbd2;margin-left:7px;font-size:6px}
.service-root-card { position:absolute; z-index:2; left:10px; top:43px; bottom:13px; width:30%; padding:10px 8px; border:1px solid rgba(132,214,210,.60); border-left:3px solid #75ddd4; background:linear-gradient(145deg,rgba(24,103,112,.97),rgba(11,61,74,.98)); }.service-root-card span,.service-work-node span{display:block;color:#b0d5d7;font-size:6px;font-weight:800;letter-spacing:.10em}.service-root-card b{display:block;margin-top:5px;color:#f2ffff;font-size:10px;line-height:1.08}.service-root-card small{display:block;margin-top:6px;color:#b8d9dc;font-size:6px;line-height:1.35}.service-root-bar{display:flex;gap:4px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(183,235,230,.25)}.service-root-bar i{height:3px;flex:1;background:#73dbd2}.service-root-bar i:last-child{background:#f0b348}
.service-work-link { position:absolute; z-index:1; left:34%; right:7%; top:54%; border-top:1px solid #6bd8d0; }.service-work-link::before { content:""; position:absolute; left:25%; top:-46px; height:92px; border-left:1px solid #6bd8d0; }.service-work-dot{position:absolute;z-index:2;width:6px;height:6px;border-radius:50%;background:#71ddd4;box-shadow:0 0 0 3px rgba(113,221,212,.13)}.service-work-dot.d1{left:43%;top:52%}.service-work-dot.d2{left:59%;top:52%}.service-work-dot.d3{left:75%;top:52%}
.service-work-node { position:absolute; z-index:2; padding:7px 7px; border:1px solid rgba(137,213,212,.34); background:linear-gradient(145deg,rgba(47,92,105,.98),rgba(19,57,71,.98)); box-shadow:inset 0 1px 0 rgba(234,255,255,.10); }.service-work-node b{display:block;margin-top:4px;color:#f1ffff;font-size:7px;line-height:1.1}.service-work-node small{display:block;margin-top:4px;color:#70dad1;font-size:5px;font-weight:800;letter-spacing:.08em}.service-work-node.n1{left:39%;top:31%}.service-work-node.n2{left:55%;top:18%}.service-work-node.n3{left:55%;bottom:10%}.service-work-node.n4{right:5%;top:31%;border-color:#71ddd4;background:linear-gradient(145deg,rgba(18,122,119,.98),rgba(13,81,90,.98))}
@media(max-width:760px){.service-intel-workspace{height:184px}.service-root-card{width:31%;padding:8px 6px}.service-root-card b{font-size:9px}.service-work-node{padding:5px}.service-work-node b{font-size:6px}.service-work-node span,.service-work-node small{font-size:5px}}

/* Final Service composition: two full dashboard surfaces, no decorative dead space. */
.service-history.service-intelligence { background:linear-gradient(135deg,#edf9f8,#eef3f8 58%,#e4f5f2); }
.service-intelligence .service-intel-content { height:100%; padding:0; }
.service-intelligence .service-intel-grid { height:100%; min-height:287px; margin:0; grid-template-columns:1fr 1.18fr; gap:0; }
.service-intelligence .service-intel-panel { min-height:100%; padding:16px 13px; border:0; border-radius:0; box-shadow:none; background:linear-gradient(160deg,#f9ffff,#e8f7f5); }
.service-intelligence .service-intel-panel + .service-intel-panel { border-left:1px solid #b9ddd9; background:linear-gradient(150deg,#ffffff,#edf7f8); }
.service-intelligence .service-intel-panel h5 { margin-bottom:12px; color:#12324f; font-size:9px; }.service-intelligence .service-intel-panel h5 span{color:#118e8e;font-size:7px}
.service-intelligence .service-timeline-row { grid-template-columns:8px 1fr auto; padding:11px 0; border-color:#cde4e2; color:#1a4a64; font-size:8px; }.service-intelligence .service-timeline-row i{width:7px;height:7px;background:#51c9bc}.service-intelligence .service-timeline-row.active{margin:0 -4px;padding-left:4px;padding-right:4px;background:linear-gradient(90deg,rgba(61,194,181,.16),transparent);color:#0d7278}.service-intelligence .service-timeline-row b{color:#39708a;font-size:7px}.service-intelligence .service-record-map{height:205px;border-color:#c6dfdf;background:linear-gradient(135deg,#e8f6f5,#fafdfe);}.service-intelligence .service-record-map::before{border-color:#33aaa3}.service-intelligence .service-record-map::after{border-color:#55c2bb}.service-intelligence .service-record-node{padding:7px 6px;border-color:#9bd5d0;background:#fff;color:#33617a;box-shadow:0 4px 10px rgba(14,62,74,.08)}.service-intelligence .service-record-node b{font-size:7px}.service-intelligence .service-record-node.ticket{background:linear-gradient(135deg,#d7f5ef,#f4fffd);border-color:#30b6aa}.service-intelligence .service-record-node.ticket b{color:#0f7779}
@media(max-width:760px){.service-intelligence .service-intel-panel{padding:11px 9px}.service-intelligence .service-timeline-row{padding:9px 0;font-size:7px}.service-intelligence .service-record-map{height:196px}.service-intelligence .service-record-node{padding:5px}.service-intelligence .service-record-node b{font-size:6px}}

/* Full-bleed connected job map, based on the real Jobs intelligence composition. */
.visual-service.is-history-view { padding:0 !important; background:#103e55 !important; }
.service-history.service-intelligence { min-height:287px; overflow:hidden; background:linear-gradient(112deg,#133c55,#105163 70%,#147e82); color:#ecffff; }
.service-intelligence .service-intel-content { height:100%; padding:0; }
.service-intelligence .service-intel-grid { position:relative; display:block; height:100%; min-height:287px; margin:0; }
.service-intelligence .service-intel-panel { position:absolute; min-height:0; padding:0; border:0; background:transparent; box-shadow:none; }
.service-intelligence .service-intel-panel:first-child { display:none; }
.service-intelligence .service-intel-panel + .service-intel-panel { position:static; display:block; min-height:287px; border:0; background:transparent; }
.service-intelligence .service-intel-panel h5 { display:none; }
.service-intelligence .service-record-map { position:relative; width:100%; height:287px; overflow:hidden; border:0; background:transparent; }
.service-intelligence .service-record-map::before { content:""; position:absolute; left:23%; right:4%; top:50%; border-top:1px solid #70ded5; background:none; }
.service-intelligence .service-record-map::after { content:""; position:absolute; left:33%; top:21%; bottom:19%; border-left:1px solid #70ded5; }
.service-intelligence .service-record-node { position:absolute; z-index:2; padding:7px 7px; border:1px solid rgba(162,217,217,.39); border-radius:16px; background:linear-gradient(145deg,rgba(61,104,124,.96),rgba(36,78,98,.96)); color:#eaffff; box-shadow:inset 0 1px rgba(255,255,255,.10); font-size:5px; font-weight:800; letter-spacing:.07em; }
.service-intelligence .service-record-node b { display:block; margin-top:3px; color:#f4ffff; font-size:7px; letter-spacing:0; }.service-intelligence .service-record-node.order { left:3%; top:42%; width:21%; padding:14px 7px; border-radius:18px; text-align:center; }.service-intelligence .service-record-node.order b { font-size:9px; }.service-intelligence .service-record-node.po { left:37%; top:20%; width:20%; padding:10px 7px; border-radius:16px; background:linear-gradient(145deg,#1da292,#157c7e); }.service-intelligence .service-record-node.install { left:37%; bottom:18%; width:20%; padding:10px 7px; border-radius:16px; background:linear-gradient(145deg,#1da292,#157c7e); }.service-intelligence .service-record-node.ticket { right:4%; top:43%; width:16%; padding:10px 5px; border-radius:14px; border-color:rgba(148,236,227,.64); background:linear-gradient(145deg,#248f8e,#19666f); }.service-intelligence .service-record-node.ticket b{color:#efffff;font-size:7px}
.service-map-source { position:absolute; left:26%; top:42%; z-index:2; width:11%; padding:7px 3px; transform:translateY(-1px); border:1px solid rgba(165,216,219,.45); border-radius:14px; background:rgba(53,93,111,.96); text-align:center; color:#efffff; font-size:5px; font-weight:800; line-height:1.2; }
.service-map-rail { position:absolute; left:59%; right:22%; top:50%; z-index:1; border-top:1px solid #70ded5; }
.service-map-cluster { position:absolute; right:22%; top:13%; width:18%; display:grid; grid-template-columns:1fr 1.35fr; gap:4px; }.service-map-cluster.lower{top:auto;bottom:13%;}.service-map-mini { min-height:34px; padding:5px; border:1px solid rgba(162,217,217,.36); border-radius:12px; background:linear-gradient(145deg,rgba(61,104,124,.95),rgba(35,77,96,.96)); color:#dfffff; font-size:5px; font-weight:800; letter-spacing:.07em; }.service-map-mini b{display:block;margin-top:3px;color:#fff;font-size:6px;letter-spacing:0}.service-map-mini strong{display:block;margin-top:5px;padding-top:4px;border-top:1px solid rgba(195,244,241,.24);color:#71ddd4;font-size:5px}.service-map-mini.wide{grid-column:span 1}.service-map-mini:nth-child(2),.service-map-mini:nth-child(4){grid-column:span 1}.service-map-mini.purchase{grid-column:span 1}.service-map-mini.service{border-color:rgba(135,230,218,.58);background:linear-gradient(145deg,#2b8183,#225d6d)}
.service-map-divider { position:absolute; left:33%; top:21%; bottom:19%; z-index:1; border-left:1px solid #70ded5; }.service-map-divider.right{left:59%;}.service-map-dot { position:absolute; z-index:3; width:5px; height:5px; border-radius:50%; background:#75e4d9; box-shadow:0 0 0 3px rgba(117,228,217,.12); }.service-map-dot.one{left:32%;top:49%}.service-map-dot.two{left:58%;top:49%}.service-map-dot.three{left:77%;top:49%}
.service-map-legend { position:absolute; right:9px; top:8px; display:flex; gap:8px; color:#cbe6e7; font-size:5px; font-weight:800; letter-spacing:.08em; }.service-map-legend i{display:inline-block;width:10px;border-top:2px solid #6bded4;vertical-align:middle}.service-map-legend i.amber{border-color:#efb047}.service-map-legend i.gray{border-color:#a6bec4}
@media(max-width:760px){.service-intelligence .service-record-node.order{padding:11px 5px}.service-intelligence .service-record-node.po,.service-intelligence .service-record-node.install{padding:8px 5px}.service-map-mini{padding:4px;font-size:4px}.service-map-mini b,.service-map-mini strong{font-size:5px}.service-map-cluster{right:21%;width:19%}.service-intelligence .service-record-node.ticket{right:3%;width:17%}}

/* The connected-job map needs a wide canvas, so Service intentionally breaks the shared side-by-side pattern. */
@media(min-width:761px){
  .lifecycle-panel.service-stacked { grid-template-columns:1fr; gap:32px; padding-bottom:54px; }
  .lifecycle-panel.service-stacked .lifecycle-copy { display:grid; grid-template-columns:1.08fr .92fr; column-gap:54px; align-items:end; }
  .lifecycle-panel.service-stacked .panel-label,
  .lifecycle-panel.service-stacked .lifecycle-copy h3 { grid-column:1; }
  .lifecycle-panel.service-stacked .lifecycle-copy p { grid-column:2; grid-row:1 / span 2; align-self:end; }
  .lifecycle-panel.service-stacked .proof-row { grid-column:1; }
  .lifecycle-panel.service-stacked .job-visual { width:100%; min-height:360px; }
  .lifecycle-panel.service-stacked .service-history.service-intelligence,
  .lifecycle-panel.service-stacked .service-intelligence .service-intel-grid,
  .lifecycle-panel.service-stacked .service-intelligence .service-intel-panel + .service-intel-panel,
  .lifecycle-panel.service-stacked .service-intelligence .service-record-map { min-height:360px; height:360px; }
  .lifecycle-panel.service-stacked .service-record-node.order { width:21%; padding:18px 12px; }
  .lifecycle-panel.service-stacked .service-record-node.order b { font-size:15px; }
  .lifecycle-panel.service-stacked .service-record-node.po,
  .lifecycle-panel.service-stacked .service-record-node.install { width:20%; padding:14px 10px; }
  .lifecycle-panel.service-stacked .service-record-node.po b,
  .lifecycle-panel.service-stacked .service-record-node.install b { font-size:12px; }
  .lifecycle-panel.service-stacked .service-record-node.ticket { padding:14px 10px; }
  .lifecycle-panel.service-stacked .service-map-source { padding:10px 6px; font-size:7px; }
  .lifecycle-panel.service-stacked .service-map-mini { min-height:53px; padding:8px; font-size:7px; }
  .lifecycle-panel.service-stacked .service-map-mini b { font-size:9px; }
  .lifecycle-panel.service-stacked .service-map-mini strong { font-size:7px; }
  .lifecycle-panel.service-stacked .service-map-legend { font-size:7px; }
}

/* Metrics-style header inside the full Service Intelligence surface. */
.service-map-header { position:absolute; z-index:4; left:0; right:0; top:0; min-height:67px; padding:14px 18px; display:flex; justify-content:space-between; align-items:flex-start; color:#f3ffff; background:linear-gradient(103deg,#0d3049,#126173 68%,#279e94); overflow:hidden; }
.service-map-header::after { content:""; position:absolute; width:120px; height:120px; right:-42px; top:-71px; border:1px solid rgba(209,255,249,.32); border-radius:50%; box-shadow:0 0 0 18px rgba(203,255,248,.06); }
.service-map-header-copy { position:relative; z-index:1; }.service-map-header span { display:block; color:#8fe4dc; font-size:7px; font-weight:800; letter-spacing:.16em; }.service-map-header h4 { margin:5px 0 0; font-size:15px; letter-spacing:-.035em; }.service-map-header p { margin:3px 0 0; color:#d4eeef; font-size:7px; }.service-map-period { position:relative; z-index:1; padding:7px 9px; border:1px solid rgba(220,255,252,.47); border-radius:5px; color:#eaffff; background:rgba(10,54,67,.30); font-size:7px; font-weight:800; }
.service-intelligence .service-record-map::before { top:62%; }.service-intelligence .service-record-map::after { top:31%; bottom:14%; }.service-intelligence .service-record-node.order { top:60%; }.service-intelligence .service-map-source { top:60%; }.service-intelligence .service-record-node.po { top:35%; }.service-intelligence .service-record-node.install { bottom:11%; }.service-intelligence .service-record-node.ticket { top:60%; }.service-intelligence .service-map-cluster { top:29%; }.service-intelligence .service-map-cluster.lower { bottom:8%; }.service-intelligence .service-map-divider { top:31%; bottom:14%; }.service-intelligence .service-map-divider.right { top:31%; bottom:14%; }.service-intelligence .service-map-dot.one,.service-intelligence .service-map-dot.two,.service-intelligence .service-map-dot.three { top:61%; }
@media(max-width:760px){.service-map-header{min-height:58px;padding:11px}.service-map-header h4{font-size:12px}.service-map-header p{font-size:6px}.service-map-period{padding:6px;font-size:6px}.service-intelligence .service-record-map::before{top:65%}.service-intelligence .service-record-node.order,.service-intelligence .service-map-source,.service-intelligence .service-record-node.ticket{top:63%}.service-intelligence .service-record-node.po{top:36%}.service-intelligence .service-map-cluster{top:30%}}

/* Narrow-card adaptation: redraw the record path vertically instead of shrinking a landscape map. */
.service-intelligence .service-record-map.vertical-job-map { background:linear-gradient(158deg,#edf8f7,#f9fcfd); }
.service-intelligence .service-record-map.vertical-job-map::before,.service-intelligence .service-record-map.vertical-job-map::after { display:none; }
.vertical-job-flow { position:absolute; left:0; right:0; top:56px; bottom:8px; padding:7px 12px; display:grid; grid-template-columns:1fr; gap:5px; }
.vertical-job-flow::before { content:""; position:absolute; left:50%; top:20px; bottom:21px; border-left:1px solid #39aba4; z-index:0; }
.vertical-job-node { position:relative; z-index:1; justify-self:center; width:78%; padding:7px 9px; border:1px solid #a9dbd6; background:linear-gradient(110deg,#ffffff,#e8f7f5); box-shadow:0 3px 8px rgba(16,61,73,.08); color:#315e78; }
.vertical-job-node span { display:block; color:#5c8498; font-size:6px; font-weight:800; letter-spacing:.12em; }.vertical-job-node b { display:block; margin-top:3px; color:#14334d; font-size:8px; line-height:1.1; }.vertical-job-node small { display:block; margin-top:3px; color:#148d8c; font-size:6px; font-weight:800; letter-spacing:.05em; }
.vertical-job-node.primary { border-left:3px solid #56cdc2; background:linear-gradient(120deg,#dbf6f0,#f7fffd); }.vertical-job-node.primary b { font-size:10px; }.vertical-job-node.active { border-color:#43bcb1; background:linear-gradient(110deg,#d5f6ef,#f7fffd); }.vertical-job-node.active b { color:#0d777b; }
.vertical-job-pair { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:5px; width:100%; }.vertical-job-pair .vertical-job-node { width:auto; min-height:37px; padding:6px; }.vertical-job-pair .vertical-job-node b { font-size:7px; }.vertical-job-pair .vertical-job-node small { font-size:5px; }
@media(max-width:760px){.vertical-job-flow{top:54px;padding:6px 8px}.vertical-job-node{width:82%;padding:6px 7px}.vertical-job-node.primary b{font-size:9px}.vertical-job-node span{font-size:5px}.vertical-job-node b{font-size:7px}.vertical-job-node small{font-size:5px}}

/* Service remains side-by-side with its copy; the narrow surface simply tells the record story vertically. */
.service-intelligence .service-record-map.vertical-job-map { height:287px; background:linear-gradient(158deg,#e7f6f4,#fbfefe); }
.vertical-job-map .service-map-header { min-height:51px; padding:9px 11px; }
.vertical-job-map .service-map-header h4 { margin-top:3px; font-size:10px; letter-spacing:-.025em; }
.vertical-job-map .service-map-header span { font-size:6px; }.vertical-job-map .service-map-period { padding:5px 6px; font-size:6px; }
.vertical-job-map .vertical-job-flow { top:51px; bottom:7px; padding:7px 10px; gap:4px; }
.vertical-job-map .vertical-job-node { width:82%; padding:6px 8px; border-color:#a2d9d3; box-shadow:0 3px 9px rgba(11,55,70,.08); }
.vertical-job-map .vertical-job-node span { font-size:5px; }.vertical-job-map .vertical-job-node b { margin-top:2px; font-size:8px; }.vertical-job-map .vertical-job-node small { margin-top:2px; font-size:5px; }
.vertical-job-map .vertical-job-node.primary b { font-size:9px; }.vertical-job-map .vertical-job-pair .vertical-job-node { min-height:31px; padding:5px; }.vertical-job-map .vertical-job-pair .vertical-job-node b { font-size:6px; }

/* A restrained product signature closes every tab without competing with its content. */
.lifecycle-shell { position:relative; }
.lifecycle-panel { position:relative; }
.tab-intelligence-signature { position:absolute; left:58px; right:58px; bottom:12px; z-index:5; display:flex; justify-content:flex-end; align-items:center; gap:7px; padding-top:8px; border-top:1px solid rgba(125,226,214,.24); }
.tab-intelligence-signature>small { color:#71939e; font:650 5px/1 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:.11em; text-transform:uppercase; white-space:nowrap; }
.side-product-mark { box-sizing:border-box; display:grid; grid-template-columns:10px minmax(0,1fr); align-items:center; column-gap:6px; width:145px; margin:0; padding:4px 5px 4px 3px; border:1px solid rgba(125,226,214,.18); border-radius:6px; background:linear-gradient(135deg,rgba(53,173,160,.13),rgba(255,255,255,.035)); color:#8fe0d7; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-transform:uppercase; line-height:1; white-space:nowrap; }
.side-product-mark::before { content:""; justify-self:start; width:9px; height:9px; background:radial-gradient(circle at 1.5px 1.5px,#b8fff4 0 1.1px,transparent 1.5px),radial-gradient(circle at 7.5px 2.5px,#70e3d4 0 1px,transparent 1.4px),radial-gradient(circle at 4px 7.5px,#70e3d4 0 1px,transparent 1.4px); filter:drop-shadow(0 0 3px #78eadd); animation:aiMarkSparkle 2.8s ease-in-out infinite; }
.side-product-mark .side-product-copy { box-sizing:border-box; display:flex; align-items:center; min-width:0; height:100%; padding:0; text-align:left; white-space:nowrap; transform:translateY(-.2px); }
.side-product-mark .side-product-copy>span { display:block; font-size:6.8px; font-weight:650; line-height:1; letter-spacing:1px; white-space:nowrap; }
@keyframes aiMarkSparkle { 0%,100%{opacity:.72;transform:translate3d(0,0,0) rotate(0deg);filter:drop-shadow(0 0 3px #78eadd)} 38%{opacity:1;transform:translate3d(1px,-1px,0) rotate(7deg);filter:drop-shadow(0 0 7px #b8fff4)} 68%{opacity:.86;transform:translate3d(-1px,1px,0) rotate(-4deg);filter:drop-shadow(0 0 4px #78eadd)} }
@media(prefers-reduced-motion:reduce){.side-product-mark::before{animation:none!important}} @media(max-width:760px){.tab-intelligence-signature{position:static;grid-column:1/-1;width:100%;margin-top:-12px;padding-top:10px}.side-product-mark{width:145px}}

/* Service mirrors the Metrics visual: a dashboard header over an anonymized, horizontal connected-job surface. */
.service-intelligence .service-record-map.horizontal-job-map { height:287px; background:#edf5f7; }
.horizontal-job-map::before,.horizontal-job-map::after { display:none !important; }
.horizontal-job-map .service-map-header { min-height:74px; padding:12px 14px; background:linear-gradient(108deg,#10344e,#0e6171 67%,#2b9e93); }
.horizontal-job-map .service-map-header h4 { margin-top:4px; font-size:13px; }.horizontal-job-map .service-map-header p { display:block; font-size:6px; }.horizontal-job-map .service-map-period { padding:6px 7px; font-size:6px; }
.horizontal-job-flow { position:absolute; inset:74px 0 0; overflow:hidden; background:linear-gradient(135deg,#f9fcfd,#e9f5f5); }
.horizontal-job-flow::before { content:""; position:absolute; left:21%; right:10%; top:50%; border-top:1px solid #50bcb5; }.horizontal-job-flow::after { content:""; position:absolute; left:44%; top:22%; bottom:20%; border-left:1px solid #69d0c7; }
.horizontal-job-root,.horizontal-job-node { position:absolute; z-index:2; border:1px solid #a7d8d4; background:linear-gradient(145deg,#fff,#e6f6f4); box-shadow:0 4px 9px rgba(19,68,81,.08); color:#315e78; }.horizontal-job-root span,.horizontal-job-node span{display:block;color:#5f8096;font-size:5px;font-weight:800;letter-spacing:.12em}.horizontal-job-root b,.horizontal-job-node b{display:block;margin-top:3px;color:#12334d;font-size:7px;line-height:1.1}.horizontal-job-root small,.horizontal-job-node small{display:block;margin-top:3px;color:#10898a;font-size:5px;font-weight:800;letter-spacing:.04em}
.horizontal-job-root { left:5%; top:35%; width:19%; padding:8px 6px; border-left:3px solid #59cabf; }.horizontal-job-root b{font-size:9px}.horizontal-job-root i{display:inline-block;width:34%;height:3px;margin:7px 3px 0 0;background:#54c8bd}.horizontal-job-root i:last-child{background:#efaf41}
.horizontal-job-node { padding:7px 6px; }.horizontal-job-node.order{left:30%;top:37%;width:15%;}.horizontal-job-node.purchasing{left:52%;top:12%;width:20%;}.horizontal-job-node.install{left:52%;bottom:10%;width:18%;}.horizontal-job-node.service{right:5%;top:37%;width:14%;border-color:#55c3b8;background:linear-gradient(145deg,#ddf6f1,#f7fffd)}.horizontal-job-node.service b{color:#0e777b}
.horizontal-job-line { position:absolute; z-index:1; border-color:#50bcb5; }.horizontal-job-line.one{left:24%;right:70%;top:50%;border-top:1px solid #50bcb5}.horizontal-job-line.two{left:45%;top:26%;height:24%;border-left:1px solid #50bcb5}.horizontal-job-line.three{left:45%;top:50%;right:29%;border-top:1px solid #50bcb5}
@media(max-width:760px){.horizontal-job-map .service-map-header{min-height:65px;padding:10px}.horizontal-job-map .service-map-header h4{font-size:11px}.horizontal-job-flow{inset:65px 0 0}.horizontal-job-root{left:4%;width:21%;padding:6px 5px}.horizontal-job-node{padding:5px}.horizontal-job-node.order{left:30%;width:16%}.horizontal-job-node.purchasing{left:53%;width:20%}.horizontal-job-node.install{left:53%;width:18%}.horizontal-job-node.service{right:3%;width:15%}.horizontal-job-root b{font-size:8px}.horizontal-job-root span,.horizontal-job-node span,.horizontal-job-root small,.horizontal-job-node small{font-size:4px}.horizontal-job-node b{font-size:6px}}

/* Restore the full connected-job landscape: anonymized data, same dense horizontal dashboard anatomy. */
.service-intelligence .service-record-map.dashboard-job-map { height:287px; background:linear-gradient(112deg,#133c55,#105163 70%,#147e82); }
.dashboard-job-map::before { display:block !important; top:50% !important; }.dashboard-job-map::after { display:block !important; top:21% !important; bottom:19% !important; }
.dashboard-job-map .service-record-node.order { top:42% !important; }.dashboard-job-map .service-map-source { top:42% !important; }.dashboard-job-map .service-record-node.po { top:20% !important; }.dashboard-job-map .service-record-node.install { bottom:18% !important; }.dashboard-job-map .service-record-node.ticket { top:43% !important; }.dashboard-job-map .service-map-cluster { top:13% !important; }.dashboard-job-map .service-map-cluster.lower { top:auto !important; bottom:13% !important; }.dashboard-job-map .service-map-divider { top:21% !important; bottom:19% !important; }.dashboard-job-map .service-map-dot.one,.dashboard-job-map .service-map-dot.two,.dashboard-job-map .service-map-dot.three { top:49% !important; }

/* MacBook-width cleanup: fewer downstream records and enough room for every label. */
.dashboard-job-map .service-record-node.order { left:2% !important; width:24% !important; padding:11px 6px !important; overflow:hidden; }
.dashboard-job-map .service-record-node.order b { max-width:100%; font-size:7px !important; line-height:1.15; overflow-wrap:anywhere; }
.dashboard-job-map .service-map-source { left:27%; width:12%; }
.dashboard-job-map .service-record-node.po,.dashboard-job-map .service-record-node.install { left:40%; width:20%; }
.dashboard-job-map .service-map-divider { left:35%; }.dashboard-job-map .service-map-divider.right { left:61%; }
.dashboard-job-map .service-map-rail { left:61%; right:3%; }
.dashboard-job-map .service-map-cluster { right:3% !important; width:34% !important; grid-template-columns:1fr 1fr; gap:4px; }
.dashboard-job-map .service-map-mini { min-width:0; min-height:31px; padding:4px; border-radius:9px; overflow:hidden; }
.dashboard-job-map .service-map-mini.service { grid-column:1/-1; min-height:27px; }
.dashboard-job-map .service-map-mini b,.dashboard-job-map .service-map-mini strong { overflow-wrap:anywhere; }
.dashboard-job-map .service-map-dot.one { left:34%; }.dashboard-job-map .service-map-dot.two { left:60%; }.dashboard-job-map .service-map-dot.three { display:none; }
.service-mobile-job-flow { display:none; }

/* Mobile turns the connected-job map into a full-width vertical record flow. */
@media(max-width:760px){
  .lifecycle-panel { grid-template-columns:1fr; }
  .lifecycle-panel .lifecycle-copy,.lifecycle-panel .job-visual { width:100%; min-width:0; }
  .service-intelligence .service-record-map.dashboard-job-map { height:auto; min-height:530px; padding:14px; }
  .dashboard-job-map::before,.dashboard-job-map::after,.dashboard-job-map>.service-map-legend,.dashboard-job-map>.service-record-node,.dashboard-job-map>.service-map-source,.dashboard-job-map>.service-map-divider,.dashboard-job-map>.service-map-rail,.dashboard-job-map>.service-map-cluster,.dashboard-job-map>.service-map-dot { display:none !important; }
  .service-mobile-job-flow { position:relative; display:grid; gap:12px; width:100%; }
  .service-mobile-job-flow::before { content:""; position:absolute; left:20px; top:53px; bottom:54px; border-left:1px solid #6bd8d0; opacity:.78; }
  .mobile-job-card,.mobile-order-group { position:relative; z-index:1; width:100%; border:1px solid rgba(152,220,215,.42); background:linear-gradient(145deg,rgba(52,100,119,.98),rgba(25,68,86,.98)); color:#efffff; box-shadow:inset 0 1px 0 rgba(255,255,255,.1); }
  .mobile-job-card { padding:15px 16px; border-left:3px solid #70ddd3; }
  .mobile-job-card span,.mobile-order-group header span { display:block; color:#9bc8ca; font-size:7px; font-weight:800; letter-spacing:.12em; }
  .mobile-job-card b { display:block; margin-top:4px; font-size:16px; }.mobile-job-card small{display:block;margin-top:5px;color:#77ded4;font-size:8px;font-weight:800}
  .mobile-order-group { padding:13px; }
  .mobile-order-group header { display:flex; justify-content:space-between; align-items:center; padding-bottom:10px; border-bottom:1px solid rgba(189,235,231,.22); }
  .mobile-order-group header b { font-size:13px; }.mobile-order-group>div{display:grid;grid-template-columns:1fr;gap:7px;padding-top:9px}.mobile-order-group>div>span{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;background:rgba(7,39,54,.35);font-size:10px;font-weight:750}.mobile-order-group small{color:#78dcd3;font-size:8px;font-weight:800}
}

/* Stack before narrow columns can crop product imagery or compress interface diagrams. */
@media (min-width:761px) and (max-width:1100px) {
  .lifecycle-panel,
  .lifecycle-panel.service-stacked {
    grid-template-columns:minmax(0,1fr);
    gap:38px;
    align-items:stretch;
    min-height:0;
    padding:46px 48px 60px;
  }
  .lifecycle-panel .lifecycle-copy,
  .lifecycle-panel .job-visual { width:100%; min-width:0; }
  .lifecycle-panel.service-stacked .lifecycle-copy { display:block; }
  .lifecycle-panel.service-stacked .lifecycle-copy p,
  .lifecycle-panel.service-stacked .panel-label,
  .lifecycle-panel.service-stacked .lifecycle-copy h3,
  .lifecycle-panel.service-stacked .proof-row { grid-column:auto; grid-row:auto; }
  .visual-sell,
  .visual-insight,
  .visual-field.has-review-image { min-height:0; }
  .visual-sell img,
  .visual-insight img,
  .visual-field.has-review-image img {
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
  }
}

@media (max-width:760px) {
  .visual-sell,
  .visual-insight,
  .visual-field.has-review-image { min-height:0; }
  .visual-sell img,
  .visual-insight img,
  .visual-field.has-review-image img {
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
  }
}
