/* Chardins v4.15.17.8.4.8.2 — pipeline cards and calculator details.
   Loaded last; no information, controls, pricing precision or access rules
   are removed. The calculator uses a single document scroll. */

/* Both calculator rails follow the document, at every viewport/container size. */
.ws-shell .ws-rail,.ws-shell .ws-quote{
  position:static!important;top:auto!important;bottom:auto!important;
  inset-block-start:auto!important;max-height:none!important;height:auto!important;
  overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;
}
.ws-shell .ws-rail .ws-day-list{
  max-height:none!important;overflow:visible!important;flex-wrap:wrap;
  scroll-snap-type:none;scrollbar-width:auto;
}
.ws-shell .ws-quote-card{overflow:hidden}
.ws-shell .ws-quote-hero{
  margin:0 12px 2px;padding:22px 18px;border-radius:15px;background:#14344b;
}
.ws-shell .ws-hero-price{font-size:34px;line-height:1.18;white-space:nowrap}
.ws-shell .ws-hero-note{font-size:11px;line-height:1.55}
.ws-shell .ws-metrics{
  grid-template-columns:minmax(0,1fr) minmax(78px,.88fr) minmax(0,1fr);gap:6px;
}
.ws-shell .ws-metrics>div{padding:11px 6px}
.ws-shell .ws-metrics>div>span{font-size:9px;letter-spacing:.035em}
.ws-shell .ws-metrics b{
  font:600 12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap;
  overflow-wrap:normal;word-break:normal;margin-top:8px;
}
.ws-shell .ws-quote-margin input{min-width:46px;width:46px;font-size:15px;padding-inline:2px}
.ws-shell .ws-quote-margin i{font-size:12px}
.ws-shell .ws-line b{font-size:12px;white-space:nowrap}

/* Reclaim the grip column when the day detail no longer renders a handle. */
.ws-shell .calc-day-head:not(:has(>.calc-day-handle)){grid-template-columns:46px minmax(0,1fr)}
.ws-shell .calc-day-head:not(:has(>.calc-day-handle))>.calc-day-num{grid-column:1}
.ws-shell .calc-day-head:not(:has(>.calc-day-handle))>.calc-day-copy{grid-column:2}

/* Pipeline: distinct white cards on a cool canvas, with anchored actions. */
.pipeline-workspace-v4 .pipeline-stage-main{
  container:pipeline-stage / inline-size;min-width:0;padding:21px;
  border:1px solid #c9d5de;border-radius:18px;background:#eaf0f4;
  box-shadow:0 3px 14px rgba(15,40,58,.035);
}
.pipeline-stage-main .pipeline-stage-heading{
  margin-bottom:18px;padding:1px 1px 18px;border-color:#d0dbe3;gap:18px;
}
.pipeline-stage-main .pipeline-stage-title h3{font-size:29px;line-height:1.15;color:#15364d}
.pipeline-stage-main .pipeline-stage-title>span{height:29px;min-width:29px;background:#fff;border:1px solid #c7d5df;color:#294a61}
.pipeline-stage-main .pipeline-stage-heading p{font-size:12px;line-height:1.55;color:#617888;margin-top:8px}
.pipeline-stage-main .pipeline-focus-tabs{gap:6px}
.pipeline-stage-main .pipeline-focus-tabs button{
  min-height:35px;padding:7px 10px;border-radius:9px;border-color:#c2d1dc;
  background:#fff;color:#4b6577;font-size:10px;
}
.pipeline-stage-main .pipeline-focus-tabs button.active{background:#17394f;border-color:#17394f;color:#fff}
.pipeline-stage-main .pipeline-focus-tabs button b{background:#edf2f6;color:#365970;font-size:10px;min-width:20px;height:20px}
.pipeline-stage-main .pipeline-focus-tabs button.active b{background:#d7b579;color:#122b3e}
.pipeline-stage-main .pipeline-lead-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:stretch}
.pipeline-stage-main .pipeline-lead-card{
  display:flex;flex-direction:column;min-width:0;height:100%;
  border:1px solid #beced9;border-left:4px solid #8ba4b6;border-radius:15px;
  background:#fff;overflow:hidden;
  box-shadow:0 5px 15px rgba(20,47,67,.075),0 1px 2px rgba(20,47,67,.03);
  transition:border-color .15s,box-shadow .15s;
}
.pipeline-stage-main .pipeline-lead-card.overdue{border-left-color:#b85f58}
.pipeline-stage-main .pipeline-lead-card.warm:not(.overdue){border-left-color:#b99759}
.pipeline-stage-main .pipeline-lead-card:hover{
  transform:none;border-color:#97b0c2;box-shadow:0 8px 22px rgba(20,47,67,.115);
}
.pipeline-stage-main .pipeline-lead-card.overdue:hover{border-left-color:#b85f58}
.pipeline-stage-main .pipeline-lead-card.warm:not(.overdue):hover{border-left-color:#b99759}
.pipeline-stage-main .pipeline-lead-primary{
  flex:1;display:flex;flex-direction:column;gap:15px;padding:19px 18px 17px;min-width:0;
}
.pipeline-stage-main .pipeline-lead-identity{gap:11px;align-items:flex-start}
.pipeline-stage-main .pipeline-lead-identity>div{flex:1;min-width:0}
.pipeline-stage-main .pipeline-lead-identity h4{
  font:600 21px/1.22 Georgia,serif;letter-spacing:-.012em;color:#173b53;
  margin:0 0 7px;overflow-wrap:break-word;
}
.pipeline-stage-main .pipeline-lead-identity p{font-size:11px;line-height:1.5;color:#6a7f8d;overflow-wrap:break-word}
.pipeline-stage-main .pipeline-drag-grip{
  display:grid;place-items:center;flex:0 0 22px;width:22px;min-height:32px;
  margin-top:1px;border-radius:7px;color:#7891a2;font-size:21px;cursor:grab;
}
.pipeline-stage-main .pipeline-drag-grip:hover{background:#edf3f7;color:#385c74}
.pipeline-stage-main .pipeline-drag-grip:active{cursor:grabbing}
.pipeline-stage-main .pipeline-score{
  min-width:37px;height:37px;padding:0 8px;border:1px solid #d3dfe7;border-radius:11px;
  background:#edf4f8;color:#31546c;font:700 12px/1 Arial,sans-serif;
}
.pipeline-stage-main .pipeline-lead-meta{gap:6px;margin-top:0;align-items:flex-start}
.pipeline-stage-main .pipeline-lead-meta>span{
  max-width:100%;padding:5px 8px;border:1px solid #dde6ec;border-radius:7px;
  background:#f2f6f8;color:#557083;font-size:10px;font-weight:650;line-height:1.45;
  white-space:normal;overflow-wrap:break-word;
}
.pipeline-stage-main .pipeline-lead-meta>.tag.gold{border-color:#e4d5b9;background:#fbf6e9;color:#80652f}
.pipeline-stage-main .pipeline-touchline{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9px;
  padding:0;margin-top:auto;border:0;
}
.pipeline-stage-main .pipeline-touchline>div{
  min-width:0;padding:12px;border:1px solid #e0e8ee;border-radius:10px;background:#f6f9fb;
}
.pipeline-stage-main .pipeline-touchline>div+div{padding:12px;border:1px solid #e0e8ee}
.pipeline-stage-main .pipeline-touchline>div.due{background:#fff6f3;border-color:#efdbd4}
.pipeline-stage-main .pipeline-touchline span{font-size:9px;letter-spacing:.09em;line-height:1.4;color:#778b99;margin-bottom:7px}
.pipeline-stage-main .pipeline-touchline strong{font-size:12px;line-height:1.5;font-weight:700;color:#274b63;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}
.pipeline-stage-main .pipeline-touchline small{font-size:10px;line-height:1.5;margin-top:5px;color:#6a7f8d;white-space:normal;overflow:visible;text-overflow:clip}
.pipeline-stage-main .pipeline-touchline .due strong{color:#a64f46}
.pipeline-stage-main .pipeline-lead-actions{
  margin-top:auto;padding:12px 16px;border-top:1px solid #dce5ec;background:#f7fafc;
  display:flex;align-items:center;min-height:62px;
}
.pipeline-stage-main .pipeline-lead-actions>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}
.pipeline-stage-main .pipeline-action{
  min-height:36px;padding:8px 12px;border:1px solid #cbd9e3;border-radius:8px;
  background:#fff;color:#3d5d73;font-size:11px;font-weight:700;line-height:1.25;white-space:nowrap;
}
.pipeline-stage-main .pipeline-action:hover{background:#edf4f8;border-color:#9bb5c6}
.pipeline-stage-main .pipeline-action.primary{background:#173c55;border-color:#173c55;color:#fff;padding-inline:15px}
.pipeline-stage-main .pipeline-action.primary:hover{background:#224d69;border-color:#224d69}
.pipeline-stage-main .pipeline-action:focus-visible{outline:2px solid #b89454;outline-offset:3px}

/* The expense form fills the modal; its earlier 900px cap left a blank strip. */
.modal-panel:has(.ebm-modal){width:min(1020px,calc(100vw - 40px));max-width:calc(100vw - 40px)}
.modal-content-pad.ws-modal.ebm-modal{
  width:100%;max-width:none;min-width:0;margin:0;padding:30px 32px 32px;gap:19px;
}
.ebm-modal .ws-modal-head{padding-right:35px}
.ebm-modal .ws-modal-head p{max-width:none;font-size:13px;line-height:1.6}
.ebm-modal .ebm-rows{min-width:0;width:100%;gap:17px}
.ebm-modal .ebm-row{min-width:0;width:100%;padding:18px;border:1px solid #d3dfe7;border-radius:14px;background:#fff;gap:15px}
.ebm-modal .ebm-row-head{padding-bottom:12px;border-color:#e1e8ed;gap:12px}
.ebm-modal .ebm-row-head>div{min-width:0}
.ebm-modal .ebm-row-head span{font-size:11px;color:#244a63}
.ebm-modal .ebm-row-head small{font-size:11px;line-height:1.5;color:#718592}
.ebm-modal .ws-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ebm-modal .ws-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ebm-modal .ws-grid-2>div,.ebm-modal .ws-grid-3>div{min-width:0}
.ebm-modal input,.ebm-modal select{min-width:0;width:100%;min-height:43px;font-size:13px}
.ebm-modal label{font-size:12px;margin:0 0 7px}
.ebm-modal .ebm-add{min-height:40px;font-size:12px}
.ebm-modal .ebm-remove{
  display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:0;
  border:1px solid #d4e0e8;background:#f5f9fb;color:#657f90;font:22px/1 Arial,sans-serif;
}

/* Native checkbox dimensions must not inherit the 44px text-field height. */
.ws-modal .ws-proposal-switch{padding:15px 16px}
.ws-modal .ws-proposal-switch>label{
  display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;
  margin:0;width:100%;font-size:13px;line-height:1.5;color:#24465d;
}
.ws-modal .ws-proposal-switch>label>input[type="checkbox"]{
  display:block;width:18px;height:18px;min-width:18px;min-height:18px;max-height:18px;
  padding:0;margin:1px 0 0;accent-color:#b28b48;flex:none;
}
.ws-modal .ws-proposal-switch>label>span{min-width:0;line-height:1.5}
.ws-modal .ws-proposal-switch>small{margin:7px 0 0 28px;font-size:12px;line-height:1.55;color:#69808e}
.modal-close{
  display:grid;place-items:center;padding:0!important;line-height:1;text-align:center;
  font-family:Arial,sans-serif;font-size:23px;text-indent:0;
}
.modal-close>svg{display:block;width:18px;height:18px;min-width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

@container calc-workspace (max-width:1250px){
  .ws-shell .ws-rail .ws-day-list{flex-wrap:wrap;gap:9px}
  .ws-shell .ws-rail .ws-day{flex:1 1 190px;width:auto;min-width:0;max-width:none}
}
@container calc-programme (max-width:520px){
  .ws-shell .calc-day-head:not(:has(>.calc-day-handle)){grid-template-columns:36px minmax(0,1fr)}
}
@container calc-quote (min-width:540px){
  .ws-shell .ws-quote-hero{margin:12px 0 12px 12px;align-self:stretch}
  .ws-shell .ws-quote-body{align-self:start}
}
@container calc-quote (max-width:285px){
  .ws-shell .ws-metrics{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ws-shell .ws-metrics>.ws-margin-metric{grid-column:1 / -1;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .ws-shell .ws-margin-metric .ws-quote-margin{max-width:105px;margin:0}
}
@container pipeline-stage (max-width:840px){
  .pipeline-stage-main .pipeline-lead-list{grid-template-columns:minmax(0,1fr)}
  .pipeline-stage-main .pipeline-stage-heading{align-items:flex-start;flex-direction:column;gap:14px}
  .pipeline-stage-main .pipeline-focus-tabs{justify-content:flex-start}
}
@container pipeline-stage (max-width:450px){
  .pipeline-stage-main .pipeline-lead-primary{padding:16px 14px;gap:13px}
  .pipeline-stage-main .pipeline-lead-identity{gap:8px}
  .pipeline-stage-main .pipeline-lead-identity h4{font-size:20px}
  .pipeline-stage-main .pipeline-touchline{grid-template-columns:minmax(0,1fr)}
  .pipeline-stage-main .pipeline-lead-actions{padding:12px}
  .pipeline-stage-main .pipeline-action{flex:1 1 auto}
  .pipeline-stage-main .pipeline-stage-title h3{font-size:25px}
}
@media(max-width:700px){
  .pipeline-workspace-v4 .pipeline-stage-main{padding:13px;border-radius:14px}
  .modal-panel:has(.ebm-modal){width:100%;max-width:100%;max-height:100dvh}
  .modal-content-pad.ws-modal.ebm-modal{padding:24px 16px;gap:16px}
  .ebm-modal .ebm-row{padding:14px}
  .ebm-modal .ws-grid-2,.ebm-modal .ws-grid-3{grid-template-columns:minmax(0,1fr);gap:13px}
  .ebm-modal .ebm-add{width:100%}
}
