/* Regional Rep dashboard rebuild: scoped strictly to Regional Rep dashboard */
.vesta-hsp-rep-dashboard{--rep-border:#e8e5df;--rep-soft:#f7f6f3;--rep-text:#171717;--rep-muted:#6d6a66;--rep-accent:#c9742f;--rep-blue:#1f5fae;--rep-green:#15803d;--rep-red:#b42318;--rep-shadow:0 14px 36px rgba(15,23,42,.045)}
.vesta-hsp-rep-dashboard .vesta-page-header{margin-bottom:16px}.vesta-hsp-rep-dashboard .vesta-card{border:1px solid var(--rep-border);border-radius:18px;box-shadow:var(--rep-shadow);background:#fff}.vesta-hsp-rep-dashboard .vesta-card__header{padding:18px 22px 0;align-items:center}.vesta-hsp-rep-dashboard .vesta-card__header h3{font-size:16px;line-height:1.2;margin:0;color:var(--rep-text);font-weight:750}.vesta-hsp-rep-dashboard .vesta-card__body{padding:18px 22px 22px}.vesta-hsp-hidden-note{display:none!important}
.vesta-hsp-rep-command{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:24px;align-items:center;background:#fff;border:1px solid var(--rep-border);border-radius:16px;padding:20px 24px;margin-bottom:16px;box-shadow:0 10px 28px rgba(15,23,42,.035)}
.vesta-hsp-rep-command__intro h2{margin:0 0 8px;font-size:20px;letter-spacing:-.02em;color:var(--rep-text)}.vesta-hsp-rep-command__intro p{display:flex;gap:9px;align-items:center;margin:0 0 8px;color:var(--rep-muted);font-size:13px}.vesta-hsp-rep-time{font-size:12px!important}.vesta-hsp-rep-command__metrics{display:grid;grid-template-columns:repeat(5,145px);gap:12px}.vesta-hsp-rep-mini-kpi{display:block;padding:14px 14px 12px;border:1px solid var(--rep-border);border-radius:12px;background:#fff;text-decoration:none;color:inherit;min-height:78px;transition:.16s ease}.vesta-hsp-rep-mini-kpi:hover{border-color:#d6d0c8;transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.05)}.vesta-hsp-rep-mini-kpi span{display:block;font-size:11px;color:#252525;font-weight:700;margin-bottom:6px}.vesta-hsp-rep-mini-kpi strong{display:block;font-size:24px;line-height:1;color:#101010;margin-bottom:8px}.vesta-hsp-rep-mini-kpi small{display:block;font-size:11px;color:var(--rep-muted)}
.vesta-hsp-rep-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.vesta-hsp-rep-maincol,.vesta-hsp-rep-sidecol{display:grid;gap:14px}.vesta-hsp-rep-sidecol{position:sticky;top:88px}.vesta-hsp-rep-card-actions{display:flex;gap:8px;align-items:center}.vesta-hsp-rep-card-actions button{height:32px;border:1px solid var(--rep-border);border-radius:8px;background:#fff;color:#222;font-weight:650;font-size:12px;padding:0 12px;cursor:pointer}.vesta-hsp-rep-card-actions button:hover{background:var(--rep-soft)}
.vesta-hsp-rep-pipeline{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--rep-border);border-radius:12px;overflow:hidden;background:#fff}.vesta-hsp-rep-stage{min-height:92px;padding:13px 14px;border-right:1px solid var(--rep-border);position:relative;background:linear-gradient(180deg,#fafafa,#fff)}.vesta-hsp-rep-stage:last-child{border-right:0}.vesta-hsp-rep-stage:nth-child(2){background:linear-gradient(180deg,#eef7fb,#fff)}.vesta-hsp-rep-stage:nth-child(3){background:linear-gradient(180deg,#f1faf2,#fff)}.vesta-hsp-rep-stage:nth-child(4){background:linear-gradient(180deg,#fff6ea,#fff)}.vesta-hsp-rep-stage:nth-child(5){background:linear-gradient(180deg,#f7f0ff,#fff)}.vesta-hsp-rep-stage:nth-child(6){background:linear-gradient(180deg,#eef5ff,#fff)}.vesta-hsp-rep-stage:nth-child(7){background:linear-gradient(180deg,#edf8f0,#fff)}.vesta-hsp-rep-stage span{display:block;font-size:12px;font-weight:700;color:#313131;margin-bottom:16px}.vesta-hsp-rep-stage strong{display:block;font-size:24px;color:#111;margin-bottom:10px}.vesta-hsp-rep-stage small{display:block;font-size:11px;color:var(--rep-muted)}.vesta-hsp-rep-stage small:before{content:'';display:inline-block;width:6px;height:6px;border-radius:999px;background:#9aa1aa;margin-right:7px;vertical-align:middle}.vesta-hsp-rep-progressline{height:6px;background:#f0eee9;border-radius:999px;overflow:hidden;margin:14px 0}.vesta-hsp-rep-progressline i{display:block;height:100%;background:#111;border-radius:999px;transition:width .22s ease}.vesta-hsp-rep-pipeline-foot{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#333}.vesta-hsp-rep-pipeline-foot a,.vesta-hsp-rep-link{color:#0b55b7;text-decoration:none;font-weight:700;font-size:13px}.vesta-hsp-rep-pipeline-foot a:hover,.vesta-hsp-rep-link:hover{text-decoration:underline}
.vesta-hsp-rep-tabs{display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--rep-border);margin-bottom:0;overflow:auto}.vesta-hsp-rep-tabs button{border:0;background:transparent;padding:0 0 12px;color:#222;font-weight:700;font-size:12px;white-space:nowrap;cursor:pointer}.vesta-hsp-rep-tabs button.is-active{border-bottom:2px solid #111}.vesta-hsp-rep-table{border:1px solid var(--rep-border);border-radius:12px;overflow:hidden;margin-top:12px}.vesta-hsp-rep-table__head,.vesta-hsp-rep-live-row{display:grid;grid-template-columns:1.5fr .8fr .9fr 1.2fr 1.2fr .8fr .8fr;gap:12px;align-items:center}.vesta-hsp-rep-table__head{background:#fafafa;border-bottom:1px solid var(--rep-border);padding:12px 14px;color:#313131;font-size:11px;font-weight:800}.vesta-hsp-rep-live-row{padding:13px 14px;border-bottom:1px solid var(--rep-border);font-size:12px}.vesta-hsp-rep-live-row:last-child{border-bottom:0}.vesta-hsp-rep-live-row strong{font-size:13px;color:#111}.vesta-hsp-rep-live-row small{display:block;color:var(--rep-muted);margin-top:3px}.vesta-hsp-rep-badge{display:inline-flex;align-items:center;width:max-content;border-radius:7px;padding:5px 8px;background:#f4f4f5;color:#222;font-weight:750;font-size:11px}.vesta-hsp-rep-badge.is-high{background:#fff1f1;color:var(--rep-red)}.vesta-hsp-rep-badge.is-medium{background:#fff7ed;color:#b45309}.vesta-hsp-rep-badge.is-low{background:#ecfdf3;color:var(--rep-green)}.vesta-hsp-rep-actions-row{display:flex;gap:6px}.vesta-hsp-rep-actions-row a{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--rep-border);border-radius:8px;color:#111;text-decoration:none}.vesta-hsp-rep-empty{text-align:center;padding:48px 20px;color:var(--rep-muted);min-height:185px}.vesta-hsp-rep-empty strong{display:block;color:#111;font-size:15px;margin-bottom:8px}.vesta-hsp-rep-empty p{margin:0 0 14px}.vesta-hsp-rep-empty a{display:inline-flex;align-items:center;gap:6px;background:#111;color:#fff;text-decoration:none;border-radius:8px;padding:10px 16px;font-weight:750;font-size:12px}
.vesta-hsp-rep-activity-list{display:grid}.vesta-hsp-rep-activity-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--rep-border);padding:13px 0}.vesta-hsp-rep-activity-item:first-child{padding-top:0}.vesta-hsp-rep-activity-item:last-child{border-bottom:0;padding-bottom:0}.vesta-hsp-rep-activity-icon{width:28px;height:28px;border-radius:999px;background:#eef7f1;display:grid;place-items:center;color:#16763a;font-size:13px}.vesta-hsp-rep-activity-item strong{display:block;color:#111;font-size:13px}.vesta-hsp-rep-activity-item p{margin:3px 0 0;color:var(--rep-muted);font-size:12px}.vesta-hsp-rep-activity-item small{color:#555;font-size:12px;text-align:right}.vesta-hsp-rep-focus-panel .vesta-card__body>p{margin:0 0 14px;color:var(--rep-muted);font-size:13px}.vesta-hsp-rep-focus-panel .vesta-card__body>a:not(.vesta-hsp-rep-link){display:flex;align-items:center;justify-content:space-between;border:1px solid var(--rep-border);border-bottom:0;padding:13px 14px;color:#111;text-decoration:none;font-weight:700;font-size:12px}.vesta-hsp-rep-focus-panel .vesta-card__body>a:not(.vesta-hsp-rep-link):first-of-type{border-radius:10px 10px 0 0}.vesta-hsp-rep-focus-panel .vesta-card__body>a:not(.vesta-hsp-rep-link):nth-of-type(4){border-bottom:1px solid var(--rep-border);border-radius:0 0 10px 10px}.vesta-hsp-rep-focus-panel .vesta-hsp-rep-link{display:block;text-align:center;margin-top:14px}
.vesta-hsp-rep-alert-panel .vesta-card__body{display:grid;gap:0}.vesta-hsp-rep-alert-panel .vesta-card__body>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:13px 14px;border:1px solid var(--rep-border);border-bottom:0;background:#fff}.vesta-hsp-rep-alert-panel .vesta-card__body>div:first-child{border-radius:10px 10px 0 0;background:#fff8f7}.vesta-hsp-rep-alert-panel .vesta-card__body>div:nth-child(2){background:#fffaf3}.vesta-hsp-rep-alert-panel .vesta-card__body>div:nth-child(3){background:#f6faff}.vesta-hsp-rep-alert-panel .vesta-card__body>div:last-child{border-bottom:1px solid var(--rep-border);border-radius:0 0 10px 10px;background:#f8fffa}.vesta-hsp-rep-alert-panel strong{font-size:12px;color:#111}.vesta-hsp-rep-alert-panel span{font-size:11px;color:var(--rep-muted)}.vesta-hsp-rep-alert-panel small{grid-row:1/3;grid-column:2;color:#555;font-size:11px;align-self:center}.vesta-hsp-target-mini{display:grid;gap:0}.vesta-hsp-target-mini p{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rep-border);padding:12px 0;margin:0}.vesta-hsp-target-mini p:first-child{padding-top:0}.vesta-hsp-target-mini span{font-size:13px;color:var(--rep-muted)}.vesta-hsp-target-mini strong{font-size:18px;color:#111;font-weight:500}.vesta-hsp-target-mini .vesta-hsp-rep-link{display:block;text-align:center;margin-top:14px}
@media(max-width:1320px){.vesta-hsp-rep-command{grid-template-columns:1fr}.vesta-hsp-rep-command__metrics{grid-template-columns:repeat(5,minmax(120px,1fr))}.vesta-hsp-rep-grid{grid-template-columns:1fr}.vesta-hsp-rep-sidecol{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.vesta-hsp-rep-alert-panel,.vesta-hsp-rep-target-panel{align-self:start}}
@media(max-width:980px){.vesta-hsp-rep-command__metrics,.vesta-hsp-rep-sidecol{grid-template-columns:repeat(2,minmax(0,1fr))}.vesta-hsp-rep-pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.vesta-hsp-rep-stage{border-bottom:1px solid var(--rep-border)}.vesta-hsp-rep-table__head{display:none}.vesta-hsp-rep-live-row{grid-template-columns:1fr 1fr}.vesta-hsp-rep-live-row>*{min-width:0}}
@media(max-width:680px){.vesta-hsp-rep-command{padding:16px}.vesta-hsp-rep-command__metrics,.vesta-hsp-rep-sidecol,.vesta-hsp-rep-pipeline{grid-template-columns:1fr}.vesta-hsp-rep-live-row{grid-template-columns:1fr}.vesta-hsp-rep-pipeline-foot{display:grid;gap:8px}.vesta-hsp-rep-card-actions{display:none}}

/* Phase 8.27 — Regional Rep KPI intelligence layer (dashboard only) */
.vesta-hsp-rep-dashboard .vesta-hsp-rep-kpi-intel .vesta-hsp-rep-mini-kpi strong{font-size:22px;line-height:1.05;display:flex;align-items:baseline;gap:4px;}
.vesta-hsp-rep-dashboard .vesta-hsp-rep-kpi-intel .vesta-hsp-rep-mini-kpi strong b{font:inherit;color:inherit;}
.vesta-hsp-rep-dashboard .vesta-hsp-rep-mini-kpi.is-performance{position:relative;overflow:hidden;}
.vesta-hsp-rep-dashboard .vesta-hsp-rep-mini-kpi.is-performance:after{content:'';position:absolute;left:14px;right:14px;bottom:9px;height:3px;border-radius:999px;background:#eee9e2;}
.vesta-hsp-rep-dashboard .vesta-hsp-rep-mini-kpi.is-performance small{padding-bottom:6px;}
.vesta-hsp-rep-dashboard .vesta-hsp-target-mini p:nth-child(n+4){background:#fbfaf8;margin-left:-2px;margin-right:-2px;padding-left:2px;padding-right:2px;}
@media(max-width:1320px){.vesta-hsp-rep-command__metrics.vesta-hsp-rep-kpi-intel{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media(max-width:980px){.vesta-hsp-rep-command__metrics.vesta-hsp-rep-kpi-intel{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.vesta-hsp-rep-command__metrics.vesta-hsp-rep-kpi-intel{grid-template-columns:1fr;}}

/* Phase 8.32 — Admin Sales Reps control center */
.vesta-hsp-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.vesta-hsp-admin-tabs button{border:1px solid var(--vesta-border,#e7e2db);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;font-size:12px;color:var(--vesta-muted,#777);cursor:pointer}
.vesta-hsp-admin-tabs button.is-active{background:#111;color:#fff;border-color:#111}
.vesta-hsp-admin-tab-panel{display:none}
.vesta-hsp-admin-tab-panel.is-active{display:block}
.vesta-hsp-admin-monitor .vesta-card__header{align-items:flex-start;gap:16px}
@media (max-width: 980px){.vesta-hsp-admin-monitor .vesta-card__header{flex-direction:column}.vesta-hsp-admin-tabs{width:100%}}

/* Phase 8.44 — Mobile Dashboard Hardening Pass
   Fixes horizontal clipping/overflow on the Regional Rep dashboard without changing engine logic. */
@media (max-width: 767px) {
  html,
  body,
  .vesta-app-shell,
  .vesta-app-shell__main,
  .vesta-page-shell,
  .vesta-hsp,
  .vesta-hsp-rep-dashboard {
    max-width: 100%;
    overflow-x: hidden;
  }

  .vesta-hsp-rep-dashboard,
  .vesta-hsp-rep-dashboard *,
  .vesta-hsp-rep-dashboard *::before,
  .vesta-hsp-rep-dashboard *::after {
    box-sizing: border-box;
  }

  .vesta-hsp-rep-dashboard .vesta-card,
  .vesta-hsp-rep-dashboard .vesta-card__header,
  .vesta-hsp-rep-dashboard .vesta-card__body,
  .vesta-hsp-rep-command,
  .vesta-hsp-rep-grid,
  .vesta-hsp-rep-maincol,
  .vesta-hsp-rep-sidecol,
  .vesta-hsp-rep-command__intro,
  .vesta-hsp-rep-command__metrics,
  .vesta-hsp-rep-pipeline,
  .vesta-hsp-rep-table,
  .vesta-hsp-rep-table__body,
  .vesta-hsp-rep-focus-panel,
  .vesta-hsp-rep-reports-module,
  .vesta-hsp-rep-alert-panel,
  .vesta-hsp-rep-target-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .vesta-hsp-rep-dashboard .vesta-card {
    overflow: hidden;
    border-radius: 18px;
  }

  .vesta-hsp-rep-dashboard .vesta-card__header {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 18px 0;
  }

  .vesta-hsp-rep-dashboard .vesta-card__header > * {
    min-width: 0;
  }

  .vesta-hsp-rep-dashboard .vesta-card__body {
    padding: 16px 18px 18px;
  }

  .vesta-hsp-rep-command {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px;
    margin-bottom: 16px;
  }

  .vesta-hsp-rep-command__intro h2 {
    font-size: 20px;
    line-height: 1.25;
  }

  .vesta-hsp-rep-command__metrics,
  .vesta-hsp-rep-command__metrics.vesta-hsp-rep-kpi-intel,
  .vesta-hsp-rep-grid,
  .vesta-hsp-rep-maincol,
  .vesta-hsp-rep-sidecol {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 14px;
  }

  .vesta-hsp-rep-mini-kpi {
    width: 100%;
    min-width: 0;
  }

  .vesta-hsp-rep-pipeline {
    display: grid;
    grid-template-columns: 1fr !important;
    overflow: hidden;
  }

  .vesta-hsp-rep-stage {
    width: 100%;
    min-width: 0;
    min-height: 86px;
    border-right: 0 !important;
    border-bottom: 1px solid var(--rep-border, #e9e4dd);
    padding: 14px 16px;
  }

  .vesta-hsp-rep-stage:last-child {
    border-bottom: 0;
  }

  .vesta-hsp-rep-stage span,
  .vesta-hsp-rep-stage strong,
  .vesta-hsp-rep-stage small {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .vesta-hsp-rep-pipeline-foot {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .vesta-hsp-rep-tabs {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .vesta-hsp-rep-tabs::-webkit-scrollbar {
    display: none;
  }

  .vesta-hsp-rep-tabs button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .vesta-hsp-rep-table {
    overflow: hidden;
  }

  .vesta-hsp-rep-table__head {
    display: none !important;
  }

  .vesta-hsp-rep-live-row {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 8px;
    width: 100%;
    min-width: 0;
  }

  .vesta-hsp-rep-live-row > * {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .vesta-hsp-rep-empty {
    width: 100%;
    min-width: 0;
    padding: 42px 14px;
  }

  .vesta-hsp-rep-empty a,
  .vesta-hsp-rep-report-actions a,
  .vesta-hsp-rep-focus-panel .vesta-card__body > a:not(.vesta-hsp-rep-link) {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .vesta-hsp-rep-empty a {
    justify-content: center;
    text-align: center;
  }

  .vesta-hsp-rep-report-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
  }

  .vesta-hsp-rep-report-actions a {
    display: grid;
    gap: 4px;
  }

  .vesta-hsp-rep-report-actions a span,
  .vesta-hsp-rep-report-actions a strong {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .vesta-hsp-target-mini p {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    width: 100%;
  }

  .vesta-hsp-target-mini span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .vesta-hsp-rep-activity-item {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .vesta-hsp-rep-activity-item small {
    grid-column: 2;
    text-align: left;
  }

  .vesta-hsp-rep-alert-panel .vesta-card__body > div {
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
  }
}

@media (max-width: 420px) {
  .vesta-hsp-rep-dashboard .vesta-card__header,
  .vesta-hsp-rep-dashboard .vesta-card__body {
    padding-left: 16px;
    padding-right: 16px;
  }

  .vesta-hsp-rep-tabs {
    gap: 16px;
  }

  .vesta-hsp-rep-stage strong {
    font-size: 22px;
  }
}

/* Phase 8.52 Regional Rep Planner / Kanban / Gantt */
.vesta-hsp-planner-topbar,.vesta-hsp-view-toolbar{display:flex;gap:14px;align-items:center;justify-content:flex-end;margin:-8px 0 18px}.vesta-hsp-planner-topbar .vesta-input,.vesta-hsp-view-toolbar .vesta-input{max-width:260px}.vesta-hsp-planner-kpis,.vesta-hsp-kanban-kpis,.vesta-hsp-gantt-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.vesta-hsp-kanban-kpis{grid-template-columns:repeat(8,minmax(0,1fr))}.vesta-hsp-gantt-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.vesta-hsp-planner-kpis>div,.vesta-hsp-kanban-kpis>div,.vesta-hsp-gantt-kpis>div{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:16px;padding:18px 20px;box-shadow:0 10px 28px rgba(15,23,42,.04);position:relative;min-height:96px}.vesta-hsp-planner-kpis small,.vesta-hsp-kanban-kpis small,.vesta-hsp-gantt-kpis small{display:block;color:#111827;font-weight:700;margin-bottom:8px}.vesta-hsp-planner-kpis strong,.vesta-hsp-kanban-kpis strong,.vesta-hsp-gantt-kpis strong{font-size:34px;line-height:1}.vesta-hsp-planner-kpis span,.vesta-hsp-kanban-kpis span,.vesta-hsp-gantt-kpis span{position:absolute;right:18px;top:20px;background:#fff4e8;color:#d7782c;border-radius:12px;padding:10px}.vesta-hsp-planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.vesta-hsp-planner-main{min-width:0}.vesta-hsp-planner-filters,.vesta-hsp-kanban-filters,.vesta-hsp-gantt-controls{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.vesta-hsp-planner-filters .vesta-input:first-child{min-width:300px}.vesta-hsp-planner-table-wrap{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:14px;overflow:auto}.vesta-hsp-planner-table{width:100%;border-collapse:collapse;min-width:1100px}.vesta-hsp-planner-table th,.vesta-hsp-planner-table td{padding:14px 16px;border-bottom:1px solid rgba(17,24,39,.08);font-size:13px;text-align:left;vertical-align:middle}.vesta-hsp-planner-table th{font-weight:800;color:#111827;background:#fbfcfd;white-space:nowrap}.vesta-hsp-planner-table td.is-missing{color:#ef4444;font-weight:800}.vesta-hsp-stage-chip,.vesta-hsp-status-chip,.vesta-hsp-priority-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:7px;font-size:12px;font-weight:800;line-height:1.1;white-space:nowrap}.vesta-hsp-stage-chip{background:#dbeafe;color:#1d4ed8}.vesta-hsp-stage-chip.is-stage-contact-provider,.is-stage-contact-provider{background:#e0f2fe;color:#0369a1}.vesta-hsp-stage-chip.is-stage-book-meeting,.is-stage-book-meeting{background:#dbeafe;color:#1d4ed8}.vesta-hsp-stage-chip.is-stage-physical-visit,.is-stage-physical-visit{background:#dcfce7;color:#15803d}.vesta-hsp-stage-chip.is-stage-submit-contract,.is-stage-submit-contract{background:#ede9fe;color:#6d28d9}.vesta-hsp-stage-chip.is-stage-follow-up,.is-stage-follow-up{background:#fef3c7;color:#b45309}.vesta-hsp-stage-chip.is-stage-contract-signed,.is-stage-contract-signed{background:#ccfbf1;color:#0f766e}.vesta-hsp-stage-chip.is-stage-accredited-provider,.is-stage-accredited-provider{background:#dcfce7;color:#15803d}.vesta-hsp-status-chip.is-completed{background:#dcfce7;color:#166534}.vesta-hsp-status-chip.is-planned{background:#e0f2fe;color:#0369a1}.vesta-hsp-status-chip.is-pending{background:#fef3c7;color:#92400e}.vesta-hsp-status-chip.is-overdue{background:#fee2e2;color:#b91c1c}.vesta-hsp-status-chip.is-not_due,.vesta-hsp-status-chip.is-not-due{background:#f3f4f6;color:#6b7280}.vesta-hsp-priority-chip.is-high,.is-high{background:#fee2e2;color:#dc2626}.vesta-hsp-priority-chip.is-medium,.is-medium{background:#fef3c7;color:#b45309}.vesta-hsp-priority-chip.is-low,.is-low{background:#dcfce7;color:#16a34a}.vesta-hsp-priority-chip.is-critical{background:#111827;color:#fff}.vesta-hsp-planner-pager{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid rgba(17,24,39,.08);border-top:0;border-radius:0 0 14px 14px;padding:12px 16px;color:#6b7280}.vesta-hsp-planner-pager button{border:1px solid rgba(17,24,39,.08);background:#fff;border-radius:8px;padding:8px 12px}.vesta-hsp-planner-pager button.is-active{background:#f97316;color:#fff;border-color:#f97316}.vesta-hsp-planner-calendar{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:16px;padding:16px;margin-top:16px}.vesta-hsp-planner-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid rgba(17,24,39,.08);border-radius:12px;overflow:hidden}.vesta-hsp-planner-day{min-height:140px;border-right:1px solid rgba(17,24,39,.08);padding:12px;background:#fff}.vesta-hsp-planner-day:last-child{border-right:0}.vesta-hsp-planner-day strong{display:block;font-size:12px;margin-bottom:10px}.vesta-hsp-planner-day strong span{display:inline-flex;background:#dcfce7;color:#166534;border-radius:6px;padding:2px 7px;margin-left:6px}.vesta-hsp-planner-day p{margin:0 0 8px;font-size:12px}.vesta-hsp-planner-day small{display:block;color:#64748b}.vesta-hsp-planner-day em{display:block;font-style:normal;font-size:11px;margin-top:4px}.vesta-hsp-planner-legend,.vesta-hsp-gantt-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#64748b}.vesta-hsp-planner-panel{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:16px;box-shadow:0 16px 32px rgba(15,23,42,.06);position:sticky;top:86px;max-height:calc(100vh - 110px);overflow:auto}.vesta-hsp-planner-panel__head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(17,24,39,.08);padding:14px 16px}.vesta-hsp-planner-panel__head h3{margin:0}.vesta-hsp-planner-panel__head button{border:0;background:#fff;font-size:24px}.vesta-hsp-planner-form{padding:14px 16px;display:grid;gap:10px}.vesta-hsp-planner-form label{font-size:12px;font-weight:800;color:#4b5563}.vesta-hsp-planner-form .vesta-input{margin-top:5px}.vesta-hsp-planner-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:8px}.vesta-hsp-kanban-board{display:grid;grid-template-columns:repeat(8,minmax(190px,1fr));gap:10px;overflow:auto;padding-bottom:8px}.vesta-hsp-kanban-col{background:#fbfdff;border:1px solid rgba(17,24,39,.08);border-radius:12px;min-height:590px;display:flex;flex-direction:column}.vesta-hsp-kanban-col header{font-weight:900;padding:14px 12px;border-bottom:1px solid rgba(17,24,39,.08);display:flex;justify-content:space-between}.vesta-hsp-kanban-col header span{background:#dbeafe;border-radius:6px;padding:2px 7px}.vesta-hsp-kanban-col article{position:relative;background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:10px;margin:8px;padding:12px;box-shadow:0 8px 18px rgba(15,23,42,.04)}.vesta-hsp-kanban-col article strong{display:block;font-size:13px;margin-bottom:8px}.vesta-hsp-kanban-col article small{display:block;color:#64748b;margin:4px 0}.vesta-hsp-kanban-col article em{position:absolute;right:10px;bottom:10px;background:#eef2f7;border-radius:999px;padding:6px;font-style:normal;font-size:11px}.vesta-hsp-kanban-col button{margin:8px;border:0;background:#fff;color:#2563eb;font-weight:800;padding:12px;border-radius:10px}.vesta-hsp-view-toggle{margin-left:auto;display:flex;border:1px solid rgba(17,24,39,.08);border-radius:10px;overflow:hidden}.vesta-hsp-view-toggle button,.vesta-hsp-view-toggle a{border:0;background:#fff;padding:10px 18px;font-weight:800;text-decoration:none;color:#111827}.vesta-hsp-view-toggle .is-active{background:#dbeafe;color:#1d4ed8}.vesta-hsp-kanban-footer{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;margin-top:16px}.vesta-hsp-kanban-footer>div{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:14px;padding:16px}.vesta-hsp-kanban-footer span{display:inline-flex;margin:0 12px 8px 0}.vesta-hsp-gantt-controls label{display:flex;align-items:center;gap:8px;color:#4b5563}.vesta-hsp-gantt-scale{margin-left:auto;display:flex;border:1px solid rgba(17,24,39,.08);border-radius:10px;overflow:hidden}.vesta-hsp-gantt-scale button{border:0;background:#fff;padding:10px 18px}.vesta-hsp-gantt-scale button.is-active{background:#dbeafe;color:#1d4ed8;font-weight:800}.vesta-hsp-gantt-chart{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:14px;overflow:auto}.vesta-hsp-gantt-grid{min-width:1320px}.vesta-hsp-gantt-head,.vesta-hsp-gantt-row{display:grid;grid-template-columns:44px 170px 130px repeat(31,42px);align-items:stretch}.vesta-hsp-gantt-head{background:#fbfcfd;border-bottom:1px solid rgba(17,24,39,.08);font-weight:900}.vesta-hsp-gantt-head span,.vesta-hsp-gantt-head em,.vesta-hsp-gantt-row>span,.vesta-hsp-gantt-row>strong,.vesta-hsp-gantt-row>b{border-right:1px solid rgba(17,24,39,.08);padding:12px 10px;font-style:normal}.vesta-hsp-gantt-row{min-height:74px;border-bottom:1px solid rgba(17,24,39,.08);position:relative}.vesta-hsp-gantt-row strong small{display:block;color:#64748b;font-weight:500;margin-top:3px}.vesta-hsp-gantt-bar{align-self:center;z-index:2;border-radius:8px;padding:9px 12px;font-style:normal;font-size:12px;font-weight:800;box-shadow:0 6px 18px rgba(15,23,42,.08);overflow:hidden;white-space:nowrap}.vesta-hsp-gantt-bar small{display:block;font-weight:500;margin-top:2px}.vesta-hsp-gantt-row::after{content:"";grid-column:4/-1;grid-row:1;z-index:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 41px,rgba(17,24,39,.06) 41px,rgba(17,24,39,.06) 42px)}
@media(max-width:1100px){.vesta-hsp-planner-layout{grid-template-columns:1fr}.vesta-hsp-planner-panel{position:relative;top:auto;max-height:none}.vesta-hsp-planner-kpis,.vesta-hsp-gantt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vesta-hsp-kanban-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vesta-hsp-planner-week{grid-template-columns:1fr}.vesta-hsp-planner-day{border-right:0;border-bottom:1px solid rgba(17,24,39,.08)}.vesta-hsp-planner-topbar,.vesta-hsp-view-toolbar{justify-content:stretch;flex-wrap:wrap}.vesta-hsp-planner-topbar .vesta-input,.vesta-hsp-view-toolbar .vesta-input{max-width:none;flex:1 1 100%}.vesta-hsp-kanban-board{grid-template-columns:repeat(8,260px)}.vesta-hsp-kanban-footer{grid-template-columns:1fr}}
@media(max-width:640px){.vesta-hsp-planner-kpis,.vesta-hsp-kanban-kpis,.vesta-hsp-gantt-kpis{grid-template-columns:1fr}.vesta-hsp-planner-filters .vesta-input:first-child{min-width:0;width:100%}.vesta-hsp-planner-filters,.vesta-hsp-kanban-filters,.vesta-hsp-gantt-controls{display:grid;grid-template-columns:1fr}.vesta-hsp-gantt-scale,.vesta-hsp-view-toggle{margin-left:0;width:100%;justify-content:stretch}.vesta-hsp-gantt-scale button,.vesta-hsp-view-toggle button,.vesta-hsp-view-toggle a{flex:1;text-align:center}.vesta-hsp-planner-table{min-width:980px}.vesta-hsp-planner-pager{align-items:flex-start;gap:10px;flex-direction:column}}


/* Phase 8.54 - Planner/Kanban/Gantt routing, regional rep interaction and layout hardening */
.vesta-hsp-planner-shell,.vesta-hsp-kanban-shell,.vesta-hsp-gantt-shell{max-width:100%;overflow:hidden;box-sizing:border-box;}
.vesta-hsp-planner-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;}
.vesta-hsp-planner-main{min-width:0;max-width:100%;overflow:hidden;}
.vesta-hsp-planner-table-wrap{max-width:100%;overflow-x:auto;overflow-y:hidden;border-radius:16px;background:#fff;}
.vesta-hsp-planner-table{width:100%;min-width:1120px;table-layout:auto;}
.vesta-hsp-planner-table th,.vesta-hsp-planner-table td{white-space:nowrap;}
.vesta-hsp-planner-table td:nth-child(4),.vesta-hsp-planner-table td:nth-child(5),.vesta-hsp-planner-table td:nth-child(6){white-space:normal;min-width:140px;}
.vesta-hsp-planner-table tr[data-planner-edit]{cursor:pointer;}
.vesta-hsp-planner-table tr[data-planner-edit]:hover{background:#fffaf4;}
.vesta-hsp-planner-panel{min-width:0;z-index:2;background:#fff;}
.vesta-hsp-planner-panel__head{position:sticky;top:0;background:#fff;z-index:3;}
.vesta-hsp-planner-form{padding-bottom:26px;}
.vesta-hsp-planner-form label{min-width:0;}
.vesta-hsp-planner-form .vesta-input{width:100%;max-width:100%;}
.vesta-hsp-kanban-shell{overflow:visible;}
.vesta-hsp-kanban-board{display:grid;grid-template-columns:repeat(8,250px);gap:12px;overflow-x:auto;overflow-y:hidden;padding-bottom:16px;scroll-snap-type:x proximity;}
.vesta-hsp-kanban-col{scroll-snap-align:start;min-width:250px;}
.vesta-hsp-kanban-col article{cursor:pointer;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;}
.vesta-hsp-kanban-col article:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,23,42,.08);border-color:rgba(215,120,44,.35);}
.vesta-hsp-kanban-col button[data-planner-new-stage]{width:calc(100% - 16px);text-align:center;}
.vesta-hsp-kanban-footer{align-items:start;}
.vesta-hsp-kanban-footer span,.vesta-hsp-gantt-legend span,.vesta-hsp-planner-legend span{border-radius:6px;padding:3px 7px;background:#f8fafc;line-height:1.5;}
.vesta-hsp-gantt-chart{max-width:100%;overflow:auto;border:1px solid rgba(17,24,39,.08);}
.vesta-hsp-gantt-grid{min-width:1550px;}
.vesta-hsp-gantt-bar{cursor:pointer;transition:transform .16s ease, box-shadow .16s ease;}
.vesta-hsp-gantt-bar:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.14);}
.vesta-hsp-gantt-head{position:sticky;top:0;z-index:5;}
.vesta-hsp-gantt-row strong,.vesta-hsp-gantt-row b{background:#fff;z-index:1;}
@media(max-width:1200px){
  .vesta-hsp-planner-layout{grid-template-columns:1fr;}
  .vesta-hsp-planner-panel{position:relative;top:auto;max-height:none;}
}
@media(max-width:780px){
  .vesta-hsp-view-toolbar,.vesta-hsp-planner-topbar{display:grid;grid-template-columns:1fr;gap:10px;}
  .vesta-hsp-kanban-board{grid-template-columns:repeat(8,82vw);}
  .vesta-hsp-kanban-col{min-width:82vw;}
  .vesta-hsp-planner-panel{display:none;}
  .vesta-hsp-planner-panel.is-open{display:block;}
  .vesta-hsp-planner-table{min-width:980px;}
}

/* Phase 8.58: Planner/Kanban/Gantt containment + true activity drawer */
.vesta-hsp-planner-shell,
.vesta-hsp-kanban-shell,
.vesta-hsp-gantt-shell{width:100%;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box;}
.vesta-hsp-planner-topbar,
.vesta-hsp-view-toolbar{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:100%;}
.vesta-hsp-planner-topbar .vesta-input,
.vesta-hsp-view-toolbar .vesta-input{min-width:210px;max-width:340px;}
.vesta-hsp-planner-kpis,.vesta-hsp-gantt-kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px;min-width:0;}
.vesta-hsp-kanban-kpis{display:grid;grid-template-columns:repeat(8,minmax(150px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px;}
.vesta-hsp-kanban-kpis>div,.vesta-hsp-planner-kpis>div,.vesta-hsp-gantt-kpis>div{min-width:0;overflow:hidden;}
.vesta-hsp-planner-layout{display:block !important;grid-template-columns:none !important;width:100%;min-width:0;}
.vesta-hsp-planner-main{width:100%;min-width:0;max-width:100%;overflow:hidden;}
.vesta-hsp-planner-table-wrap{width:100%;max-width:100%;overflow:auto;border-radius:16px;background:#fff;}
.vesta-hsp-planner-table{min-width:1180px;width:100%;}
.vesta-hsp-planner-panel{position:fixed !important;top:0;right:0;bottom:0;width:min(430px,92vw);height:100vh;max-height:100vh;z-index:99999;background:#fff;border-left:1px solid rgba(17,24,39,.12);box-shadow:-24px 0 70px rgba(15,23,42,.18);transform:translateX(104%);transition:transform .22s ease;overflow:auto;border-radius:0 !important;}
.vesta-hsp-planner-panel.is-open{transform:translateX(0);}
.vesta-hsp-planner-panel__head{position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid rgba(17,24,39,.08);}
.vesta-hsp-planner-form{padding:18px;}
body.vesta-hsp-drawer-open:after{content:"";position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:99998;pointer-events:none;}
body.vesta-hsp-drawer-open .vesta-hsp-planner-panel{pointer-events:auto;}
.vesta-hsp-kanban-board{display:grid;grid-template-columns:repeat(8,minmax(245px,245px));gap:12px;overflow-x:auto;overflow-y:hidden;padding:0 0 18px;max-width:100%;}
.vesta-hsp-kanban-col{min-width:245px;max-width:245px;}
.vesta-hsp-kanban-col article{overflow:hidden;}
.vesta-hsp-kanban-col article strong,.vesta-hsp-kanban-col article small{overflow:hidden;text-overflow:ellipsis;}
.vesta-hsp-kanban-footer{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;max-width:100%;}
.vesta-hsp-gantt-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:100%;}
.vesta-hsp-gantt-chart{width:100%;max-width:100%;overflow:auto;overscroll-behavior-x:contain;background:#fff;}
.vesta-hsp-gantt-grid{min-width:1500px;}
.vesta-hsp-empty-line{padding:22px;border:1px dashed rgba(17,24,39,.14);border-radius:14px;color:#64748b;background:#fff;}
@media(max-width:1200px){.vesta-hsp-planner-kpis,.vesta-hsp-gantt-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.vesta-hsp-kanban-kpis{grid-template-columns:repeat(4,180px);}.vesta-hsp-kanban-footer{grid-template-columns:1fr;}}
@media(max-width:700px){.vesta-hsp-planner-topbar,.vesta-hsp-view-toolbar,.vesta-hsp-gantt-controls{display:grid;grid-template-columns:1fr;}.vesta-hsp-planner-topbar .vesta-input,.vesta-hsp-view-toolbar .vesta-input{max-width:none;width:100%;}.vesta-hsp-planner-kpis,.vesta-hsp-gantt-kpis{grid-template-columns:1fr;}.vesta-hsp-kanban-kpis{grid-template-columns:repeat(8,76vw);}.vesta-hsp-kanban-board{grid-template-columns:repeat(8,82vw);}.vesta-hsp-kanban-col{min-width:82vw;max-width:82vw;}.vesta-hsp-planner-panel{width:94vw;}.vesta-hsp-planner-table{min-width:1050px;}}

/* HSP v1.8.6.59 Planner/Kanban/Gantt containment hardening */
.vesta-app-content,
.vesta-hsp-workspace,
.vesta-hsp-planner-shell,
.vesta-hsp-kanban-shell,
.vesta-hsp-gantt-shell{min-width:0;max-width:100%;box-sizing:border-box;}
.vesta-hsp-planner-topbar,.vesta-hsp-view-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto auto;align-items:center;gap:12px;justify-content:normal;}
.vesta-hsp-planner-topbar .vesta-input,.vesta-hsp-view-toolbar .vesta-input{width:100%;max-width:none;}
.vesta-hsp-planner-filters{display:grid;grid-template-columns:1fr;gap:10px;}
.vesta-hsp-planner-filters .vesta-input:first-child{min-width:0;width:100%;}
.vesta-hsp-planner-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;}
.vesta-hsp-planner-main{width:100%;max-width:100%;overflow:visible;}
.vesta-hsp-planner-layout{grid-template-columns:minmax(0,1fr) !important;}
.vesta-hsp-kanban-board{display:flex !important;gap:12px;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:18px;scrollbar-gutter:stable;}
.vesta-hsp-kanban-col{flex:0 0 280px;min-width:280px;max-width:280px;}
.vesta-hsp-kanban-footer{max-width:100%;overflow:hidden;}
.vesta-hsp-gantt-chart{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;scrollbar-gutter:stable;background:#fff;}
.vesta-hsp-gantt-grid{width:max-content;min-width:1320px;}
@media(max-width:900px){.vesta-hsp-planner-topbar,.vesta-hsp-view-toolbar{grid-template-columns:1fr;}.vesta-hsp-kanban-col{flex-basis:82vw;min-width:82vw;max-width:82vw;}.vesta-hsp-kanban-footer{grid-template-columns:1fr;}}

/* HSP v1.8.6.60 - Planner/Kanban/Gantt UI containment correction */
.vesta-page-shell.vesta-hsp{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
  box-sizing:border-box;
}
.vesta-hsp-planner-shell,
.vesta-hsp-kanban-shell,
.vesta-hsp-gantt-shell{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  box-sizing:border-box;
}
.vesta-hsp-planner-topbar{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto !important;
  gap:12px;
  align-items:center;
  width:100%;
  max-width:100%;
  margin:0 0 20px !important;
}
.vesta-hsp-view-toolbar{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto auto !important;
  gap:12px;
  align-items:center;
  width:100%;
  max-width:100%;
  margin:0 0 20px !important;
}
.vesta-hsp-planner-topbar .vesta-input,
.vesta-hsp-view-toolbar .vesta-input{
  min-width:0 !important;
  width:100% !important;
  max-width:none !important;
}
.vesta-hsp-planner-topbar .vesta-button,
.vesta-hsp-view-toolbar .vesta-button{
  white-space:nowrap;
  width:auto !important;
  min-width:88px;
}
.vesta-hsp-planner-kpis,
.vesta-hsp-gantt-kpis{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  gap:16px;
  width:100%;
  max-width:100%;
  margin:0 0 20px !important;
}
.vesta-hsp-kanban-kpis{
  display:flex !important;
  gap:14px;
  width:100%;
  max-width:100%;
  overflow-x:auto !important;
  overflow-y:hidden;
  padding:0 0 12px !important;
  margin:0 0 18px !important;
  scrollbar-gutter:stable;
}
.vesta-hsp-kanban-kpis>div{
  flex:0 0 190px;
  min-width:190px !important;
  max-width:190px;
}
.vesta-hsp-planner-kpis>div,
.vesta-hsp-gantt-kpis>div,
.vesta-hsp-kanban-kpis>div{
  box-sizing:border-box;
  min-height:108px;
  padding:18px 20px !important;
}
.vesta-hsp-planner-kpis small,
.vesta-hsp-gantt-kpis small,
.vesta-hsp-kanban-kpis small{
  display:block;
  max-width:calc(100% - 46px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.vesta-hsp-planner-filters{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px;
  width:100%;
  max-width:100%;
  margin:0 0 18px !important;
}
.vesta-hsp-planner-filters .vesta-input{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}
#hspPlannerFilterBtn{
  width:max-content !important;
  min-width:88px;
  justify-self:start !important;
  align-self:start;
  padding-left:18px;
  padding-right:18px;
}
.vesta-hsp-kanban-filters{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px;
  width:100%;
  max-width:100%;
  margin:0 0 18px !important;
}
.vesta-hsp-kanban-filters .vesta-input{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}
.vesta-hsp-view-toggle{
  justify-self:end;
  margin-left:0 !important;
  max-width:100%;
}
.vesta-hsp-kanban-board{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 0 20px !important;
  box-sizing:border-box;
  scrollbar-gutter:stable;
}
.vesta-hsp-kanban-col{
  flex:0 0 285px !important;
  min-width:285px !important;
  max-width:285px !important;
  box-sizing:border-box;
}
.vesta-hsp-kanban-footer{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 210px !important;
  gap:16px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.vesta-hsp-gantt-controls{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center;
  gap:12px;
  width:100%;
  max-width:100%;
  margin:0 0 16px !important;
}
.vesta-hsp-gantt-controls label{
  flex:0 1 auto;
  min-width:150px;
}
.vesta-hsp-gantt-controls .vesta-input{
  min-width:0;
}
.vesta-hsp-gantt-scale{
  margin-left:auto !important;
  flex:0 0 auto;
}
.vesta-hsp-gantt-chart{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto !important;
  overflow-y:visible !important;
  box-sizing:border-box;
  scrollbar-gutter:stable;
}
.vesta-hsp-gantt-grid{
  width:max-content !important;
  min-width:1320px !important;
}
.vesta-hsp-planner-pager{
  display:grid !important;
  grid-template-columns:minmax(150px,1fr) auto minmax(160px,1fr);
  gap:14px;
  align-items:center;
}
.vesta-hsp-planner-pager select{
  width:100%;
  min-width:0;
}
@media(max-width:1100px){
  .vesta-hsp-planner-topbar,
  .vesta-hsp-view-toolbar{grid-template-columns:1fr 1fr !important;}
  .vesta-hsp-planner-topbar .vesta-button,
  .vesta-hsp-view-toolbar .vesta-button{justify-self:start;}
  .vesta-hsp-kanban-footer{grid-template-columns:1fr !important;}
}
@media(max-width:720px){
  .vesta-hsp-planner-topbar,
  .vesta-hsp-view-toolbar{grid-template-columns:1fr !important;}
  .vesta-hsp-view-toggle{justify-self:stretch;display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .vesta-hsp-planner-kpis,
  .vesta-hsp-gantt-kpis{grid-template-columns:1fr !important;}
  .vesta-hsp-kanban-kpis>div{flex-basis:78vw;min-width:78vw !important;max-width:78vw;}
  .vesta-hsp-kanban-col{flex-basis:84vw !important;min-width:84vw !important;max-width:84vw !important;}
  .vesta-hsp-planner-pager{grid-template-columns:1fr;}
}

/* HSP v1.8.6.62 - Phase 1 Planner exact reference UI rebuild */
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-planner-shell){
  background:#f8fafc;
  padding:18px 28px 28px !important;
  overflow-x:hidden !important;
}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-planner-shell) .vesta-page-header{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  margin:0 0 18px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-planner-shell) .vesta-page-header__content{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-planner-shell) .vesta-page-header__icon{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border:1px solid #e5e7eb !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#0f172a !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 1px 2px rgba(15,23,42,.03) !important;
}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-planner-shell) .vesta-page-header h1{
  margin:0 !important;
  font-size:24px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  color:#111827 !important;
}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-planner-shell) .vesta-page-header p{
  margin:6px 0 0 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  color:#6b7280 !important;
}
body .vesta-hsp-planner-shell{
  --hsp-orange:#ff6b00;
  --hsp-orange-dark:#dd5d00;
  --hsp-border:#e5e7eb;
  --hsp-soft:#f8fafc;
  --hsp-text:#0f172a;
  --hsp-muted:#64748b;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}
body .vesta-hsp-planner-topbar{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) minmax(280px,1fr) auto !important;
  gap:14px !important;
  align-items:center !important;
  margin:0 0 18px !important;
  width:100% !important;
}
body .vesta-hsp-planner-topbar .vesta-input,
body .vesta-hsp-planner-filters .vesta-input,
body .vesta-hsp-planner-form .vesta-input{
  height:40px !important;
  min-height:40px !important;
  border:1px solid var(--hsp-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
  font-size:14px !important;
  color:#111827 !important;
  padding:0 14px !important;
  max-width:none !important;
}
body .vesta-hsp-planner-topbar .vesta-button,
body #hspPlannerFilterBtn{
  height:40px !important;
  min-height:40px !important;
  border-radius:8px !important;
  padding:0 20px !important;
  font-size:14px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  justify-self:end !important;
}
body .vesta-hsp-planner-topbar .vesta-button--primary{
  background:var(--hsp-orange) !important;
  border-color:var(--hsp-orange) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(255,107,0,.16) !important;
}
body .vesta-hsp-planner-kpis{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 0 18px !important;
  width:100% !important;
}
body .vesta-hsp-planner-kpis>div{
  min-height:82px !important;
  height:82px !important;
  padding:16px 18px !important;
  border:1px solid var(--hsp-border) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.035) !important;
  position:relative !important;
  overflow:hidden !important;
}
body .vesta-hsp-planner-kpis small{
  display:block !important;
  margin:0 0 9px !important;
  color:#0f172a !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  max-width:calc(100% - 52px) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .vesta-hsp-planner-kpis strong{
  display:block !important;
  font-size:30px !important;
  line-height:.95 !important;
  letter-spacing:-.04em !important;
  font-weight:800 !important;
  color:#0f172a !important;
}
body .vesta-hsp-planner-kpis span{
  position:absolute !important;
  right:18px !important;
  top:22px !important;
  width:40px !important;
  height:40px !important;
  border-radius:10px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff1e5 !important;
  color:#ff6b00 !important;
  font-size:17px !important;
}
body .vesta-hsp-planner-layout{
  display:block !important;
  grid-template-columns:none !important;
  width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}
body .vesta-hsp-planner-main{
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}
body .vesta-hsp-planner-filters{
  display:grid !important;
  grid-template-columns:minmax(260px,1.35fr) minmax(120px,.45fr) minmax(130px,.45fr) minmax(150px,.5fr) auto !important;
  gap:10px !important;
  align-items:center !important;
  margin:0 0 14px !important;
  width:100% !important;
}
body .vesta-hsp-planner-filters .vesta-input:first-child{
  min-width:0 !important;
  width:100% !important;
}
body #hspPlannerFilterBtn{
  background:#fff !important;
  border:1px solid var(--hsp-border) !important;
  color:#111827 !important;
  box-shadow:none !important;
  min-width:86px !important;
  width:auto !important;
}
body .vesta-hsp-planner-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  border:1px solid var(--hsp-border) !important;
  border-radius:10px 10px 0 0 !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(15,23,42,.025) !important;
}
body .vesta-hsp-planner-table{
  width:100% !important;
  min-width:1180px !important;
  border-collapse:collapse !important;
  table-layout:auto !important;
  background:#fff !important;
}
body .vesta-hsp-planner-table th,
body .vesta-hsp-planner-table td{
  padding:11px 12px !important;
  border-bottom:1px solid #eef2f7 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  vertical-align:middle !important;
  color:#111827 !important;
  white-space:nowrap !important;
}
body .vesta-hsp-planner-table th{
  height:38px !important;
  background:#fbfcfd !important;
  font-size:12px !important;
  font-weight:800 !important;
  color:#111827 !important;
}
body .vesta-hsp-planner-table tr:hover td{background:#fffaf5 !important;}
body .vesta-hsp-planner-table td:nth-child(4),
body .vesta-hsp-planner-table td:nth-child(5),
body .vesta-hsp-planner-table td:nth-child(6){white-space:normal !important;min-width:118px !important;}
body .vesta-hsp-stage-chip,
body .vesta-hsp-status-chip,
body .vesta-hsp-priority-chip{
  height:24px !important;
  padding:0 10px !important;
  border-radius:6px !important;
  font-size:11px !important;
  font-weight:800 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}
body .vesta-hsp-planner-table button[data-planner-edit]{
  height:26px !important;
  padding:0 8px !important;
  border:1px solid #d1d5db !important;
  border-radius:6px !important;
  background:#f8fafc !important;
  color:#374151 !important;
  font-size:12px !important;
}
body .vesta-hsp-planner-pager{
  display:grid !important;
  grid-template-columns:minmax(170px,1fr) auto minmax(130px,150px) !important;
  align-items:center !important;
  gap:12px !important;
  padding:10px 14px !important;
  border:1px solid var(--hsp-border) !important;
  border-top:0 !important;
  border-radius:0 0 10px 10px !important;
  background:#fff !important;
  color:#64748b !important;
  margin:0 0 14px !important;
  font-size:13px !important;
}
body .vesta-hsp-planner-pager button{
  height:28px !important;
  min-width:30px !important;
  padding:0 8px !important;
  border-radius:7px !important;
  font-size:13px !important;
}
body .vesta-hsp-planner-pager button.is-active{
  background:var(--hsp-orange) !important;
  border-color:var(--hsp-orange) !important;
  color:#fff !important;
}
body .vesta-hsp-planner-pager select{
  height:36px !important;
  min-height:36px !important;
}
body .vesta-hsp-planner-calendar{
  margin-top:12px !important;
  padding:12px 14px !important;
  border:1px solid var(--hsp-border) !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(15,23,42,.025) !important;
}
body .vesta-hsp-planner-calendar .vesta-card__header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin:0 0 9px !important;
  padding:0 !important;
}
body .vesta-hsp-planner-calendar h3{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#111827 !important;
}
body .vesta-hsp-planner-calendar .vesta-text-button{
  color:#d85f00 !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
body .vesta-hsp-planner-week{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  border:1px solid #e8edf3 !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:#fff !important;
}
body .vesta-hsp-planner-day{
  min-height:110px !important;
  padding:10px 11px !important;
  border-right:1px solid #e8edf3 !important;
  background:#fff !important;
}
body .vesta-hsp-planner-day:last-child{border-right:0 !important;}
body .vesta-hsp-planner-day strong{
  display:block !important;
  margin:0 0 10px !important;
  font-size:12px !important;
  font-weight:700 !important;
  color:#111827 !important;
}
body .vesta-hsp-planner-day strong span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:20px !important;
  min-width:20px !important;
  padding:0 7px !important;
  margin-left:6px !important;
  border-radius:7px !important;
  background:#bbf7d0 !important;
  color:#166534 !important;
  font-size:11px !important;
}
body .vesta-hsp-planner-day p{margin:0 0 8px !important;font-size:12px !important;line-height:1.25 !important;}
body .vesta-hsp-planner-day b{display:block !important;font-size:12px !important;color:#111827 !important;}
body .vesta-hsp-planner-day small{display:block !important;font-size:11px !important;color:#64748b !important;}
body .vesta-hsp-planner-day em{display:inline-block !important;margin-top:4px !important;font-size:10px !important;font-style:normal !important;border-radius:4px !important;padding:2px 5px !important;}
body .vesta-hsp-planner-legend{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  margin-top:10px !important;
  font-size:11px !important;
  color:#64748b !important;
}
body .vesta-hsp-planner-legend span{
  padding:3px 8px !important;
  border-radius:6px !important;
  background:#f8fafc !important;
  line-height:1.4 !important;
}
body .vesta-hsp-planner-panel{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:340px !important;
  max-width:92vw !important;
  height:100vh !important;
  max-height:100vh !important;
  z-index:99999 !important;
  transform:translateX(104%) !important;
  transition:transform .22s ease !important;
  background:#fff !important;
  border:0 !important;
  border-left:1px solid var(--hsp-border) !important;
  border-radius:0 !important;
  box-shadow:-18px 0 40px rgba(15,23,42,.12) !important;
  overflow-y:auto !important;
}
body .vesta-hsp-planner-panel.is-open{transform:translateX(0) !important;}
body .vesta-hsp-planner-panel__head{
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  height:48px !important;
  padding:0 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  border-bottom:1px solid var(--hsp-border) !important;
  background:#fff !important;
}
body .vesta-hsp-planner-panel__head h3{
  margin:0 !important;
  font-size:14px !important;
  font-weight:800 !important;
  color:#111827 !important;
}
body .vesta-hsp-planner-panel__head button{
  width:30px !important;
  height:30px !important;
  border:0 !important;
  background:#fff !important;
  color:#111827 !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
body .vesta-hsp-planner-form{
  padding:12px 14px 74px !important;
  display:grid !important;
  gap:9px !important;
}
body .vesta-hsp-planner-form label{
  display:block !important;
  margin:0 !important;
  color:#374151 !important;
  font-size:11px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}
body .vesta-hsp-planner-form .vesta-input{
  margin-top:5px !important;
  height:35px !important;
  min-height:35px !important;
  padding:0 10px !important;
  font-size:12px !important;
  border-radius:6px !important;
  width:100% !important;
}
body .vesta-hsp-planner-form textarea.vesta-input{
  height:auto !important;
  min-height:64px !important;
  padding:9px 10px !important;
  line-height:1.35 !important;
  resize:vertical !important;
}
body .vesta-hsp-planner-actions{
  position:fixed !important;
  right:0 !important;
  bottom:0 !important;
  width:340px !important;
  max-width:92vw !important;
  display:grid !important;
  grid-template-columns:1fr 1.25fr !important;
  gap:10px !important;
  padding:12px 14px !important;
  background:#fff !important;
  border-top:1px solid var(--hsp-border) !important;
  z-index:4 !important;
}
body .vesta-hsp-planner-actions .vesta-button{
  height:38px !important;
  border-radius:7px !important;
  font-size:12px !important;
  font-weight:800 !important;
}
body .vesta-hsp-planner-actions .vesta-button--primary{
  background:var(--hsp-orange) !important;
  border-color:var(--hsp-orange) !important;
  color:#fff !important;
}
body.vesta-hsp-drawer-open:after{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:99998 !important;
  background:rgba(15,23,42,.10) !important;
  pointer-events:none !important;
}
@media (min-width:1280px){
  body.vesta-hsp-drawer-open .vesta-page-shell.vesta-hsp:has(.vesta-hsp-planner-shell){padding-right:368px !important;}
}
@media (max-width:980px){
  body .vesta-hsp-planner-topbar,
  body .vesta-hsp-planner-filters{grid-template-columns:1fr !important;}
  body .vesta-hsp-planner-topbar .vesta-button,
  body #hspPlannerFilterBtn{justify-self:stretch !important;width:100% !important;}
  body .vesta-hsp-planner-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body .vesta-hsp-planner-week{grid-template-columns:1fr !important;}
  body .vesta-hsp-planner-day{border-right:0 !important;border-bottom:1px solid #e8edf3 !important;}
}
@media (max-width:620px){
  body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-planner-shell){padding:14px !important;}
  body .vesta-hsp-planner-kpis{grid-template-columns:1fr !important;}
}

/* HSP v1.8.6.63 - Phase 2 Kanban exact reference UI rebuild */
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-kanban-shell){
  background:#f8fafc;
  padding:18px 28px 28px !important;
  overflow-x:hidden !important;
}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-kanban-shell) .vesta-page-header{
  display:flex !important;align-items:center !important;gap:16px !important;margin:0 0 18px !important;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important;
}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-kanban-shell) .vesta-page-header__content{display:flex !important;align-items:center !important;gap:14px !important;}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-kanban-shell) .vesta-page-header__icon{width:48px !important;height:48px !important;min-width:48px !important;border:1px solid #e5e7eb !important;border-radius:14px !important;background:#fff !important;color:#0f172a !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 1px 2px rgba(15,23,42,.03) !important;}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-kanban-shell) .vesta-page-header h1{margin:0 !important;font-size:24px !important;line-height:1.15 !important;font-weight:800 !important;letter-spacing:-.02em !important;color:#111827 !important;}
body .vesta-page-shell.vesta-hsp:has(.vesta-hsp-kanban-shell) .vesta-page-header p{margin:6px 0 0 !important;font-size:15px !important;line-height:1.35 !important;color:#6b7280 !important;}
body .vesta-hsp-kanban-shell{--hsp-orange:#ff6b00;--hsp-border:#e5e7eb;--hsp-muted:#64748b;display:block !important;width:100% !important;max-width:100% !important;overflow:hidden !important;}
body .vesta-hsp-kanban-shell .vesta-hsp-view-toolbar{display:grid !important;grid-template-columns:minmax(210px,1fr) minmax(260px,1fr) auto auto !important;gap:14px !important;align-items:center !important;margin:0 0 18px !important;width:100% !important;}
body .vesta-hsp-kanban-shell .vesta-hsp-view-toolbar .vesta-input{height:40px !important;min-height:40px !important;border:1px solid var(--hsp-border) !important;border-radius:8px !important;background:#fff !important;box-shadow:none !important;font-size:14px !important;padding:0 14px !important;max-width:none !important;width:100% !important;}
body .vesta-hsp-kanban-shell .vesta-hsp-view-toolbar .vesta-button{height:40px !important;min-height:40px !important;border-radius:8px !important;padding:0 20px !important;font-size:14px !important;font-weight:800 !important;white-space:nowrap !important;}
body .vesta-hsp-kanban-shell .vesta-hsp-view-toolbar .vesta-button--primary{background:var(--hsp-orange) !important;border-color:var(--hsp-orange) !important;color:#fff !important;box-shadow:0 10px 22px rgba(255,107,0,.16) !important;}
body .vesta-hsp-kanban-kpis{display:grid !important;grid-template-columns:repeat(8,minmax(128px,1fr)) !important;gap:10px !important;overflow:visible !important;padding:0 !important;margin:0 0 18px !important;width:100% !important;}
body .vesta-hsp-kanban-kpis>div{min-width:0 !important;max-width:none !important;min-height:82px !important;height:82px !important;padding:16px 16px !important;border:1px solid var(--hsp-border) !important;border-radius:8px !important;background:#fff !important;box-shadow:0 8px 20px rgba(15,23,42,.035) !important;position:relative !important;overflow:hidden !important;}
body .vesta-hsp-kanban-kpis small{display:block !important;margin:0 0 9px !important;color:#0f172a !important;font-size:12px !important;line-height:1.2 !important;font-weight:800 !important;max-width:calc(100% - 44px) !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
body .vesta-hsp-kanban-kpis strong{display:block !important;font-size:30px !important;line-height:.95 !important;letter-spacing:-.04em !important;font-weight:800 !important;color:#0f172a !important;}
body .vesta-hsp-kanban-kpis span{position:absolute !important;right:14px !important;top:24px !important;width:38px !important;height:38px !important;border-radius:9px !important;padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;background:#eef2ff !important;color:#2563eb !important;font-size:17px !important;}
body .vesta-hsp-kanban-kpis .is-kpi-book_meeting span{background:#fff7ed !important;color:#f97316 !important;}
body .vesta-hsp-kanban-kpis .is-kpi-physical_visit span,body .vesta-hsp-kanban-kpis .is-kpi-contract_signed span{background:#dcfce7 !important;color:#16a34a !important;}
body .vesta-hsp-kanban-kpis .is-kpi-submit_contract span{background:#ede9fe !important;color:#7c3aed !important;}
body .vesta-hsp-kanban-kpis .is-kpi-accredited_provider span{background:#fff7ed !important;color:#ff6b00 !important;}
body .vesta-hsp-kanban-filters{display:grid !important;grid-template-columns:minmax(190px,1.2fr) minmax(120px,.58fr) minmax(120px,.58fr) minmax(120px,.58fr) minmax(160px,.75fr) minmax(235px,.95fr) !important;gap:12px !important;align-items:center !important;margin:0 0 14px !important;width:100% !important;}
body .vesta-hsp-kanban-search{display:flex !important;height:38px !important;background:#fff !important;border:1px solid var(--hsp-border) !important;border-radius:7px !important;overflow:hidden !important;}
body .vesta-hsp-kanban-search .vesta-input{border:0 !important;border-radius:0 !important;height:100% !important;min-height:0 !important;padding:0 13px !important;background:#fff !important;box-shadow:none !important;}
body .vesta-hsp-kanban-search button{width:38px !important;border:0 !important;border-left:1px solid #edf2f7 !important;background:#fff !important;color:#334155 !important;font-weight:800 !important;}
body .vesta-hsp-kanban-filters>.vesta-input,body .vesta-hsp-kanban-sort .vesta-input{height:38px !important;min-height:38px !important;border:1px solid var(--hsp-border) !important;border-radius:7px !important;background:#fff !important;box-shadow:none !important;padding:0 12px !important;font-size:13px !important;max-width:none !important;width:100% !important;}
body .vesta-hsp-kanban-sort{display:grid !important;grid-template-columns:auto 1fr !important;gap:8px !important;align-items:center !important;margin:0 !important;color:#111827 !important;font-size:12px !important;font-weight:700 !important;}
body .vesta-hsp-view-toggle{display:grid !important;grid-template-columns:1fr 1fr !important;border:1px solid var(--hsp-border) !important;border-radius:7px !important;overflow:hidden !important;height:38px !important;margin:0 !important;justify-self:stretch !important;}
body .vesta-hsp-view-toggle button,body .vesta-hsp-view-toggle a{height:38px !important;padding:0 12px !important;display:flex !important;align-items:center !important;justify-content:center !important;border:0 !important;background:#fff !important;font-size:13px !important;font-weight:800 !important;text-decoration:none !important;color:#0f172a !important;white-space:nowrap !important;}
body .vesta-hsp-view-toggle .is-active{background:#dbeafe !important;color:#1d4ed8 !important;}
body .vesta-hsp-kanban-board{display:flex !important;flex-wrap:nowrap !important;gap:8px !important;width:100% !important;max-width:100% !important;overflow-x:auto !important;overflow-y:hidden !important;padding:0 0 14px !important;box-sizing:border-box !important;scrollbar-gutter:stable !important;}
body .vesta-hsp-kanban-col{flex:1 0 150px !important;min-width:150px !important;max-width:none !important;min-height:575px !important;background:#fff !important;border:1px solid var(--hsp-border) !important;border-radius:7px !important;overflow:hidden !important;display:flex !important;flex-direction:column !important;}
body .vesta-hsp-kanban-col header{min-height:46px !important;padding:11px 10px !important;border-bottom:1px solid var(--hsp-border) !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:8px !important;font-size:12px !important;font-weight:900 !important;line-height:1.2 !important;color:#0f172a !important;}
body .vesta-hsp-kanban-col header b{font-weight:900 !important;}
body .vesta-hsp-kanban-col header span{height:22px !important;min-width:22px !important;border-radius:6px !important;background:#bfdbfe !important;color:#1d4ed8 !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:12px !important;font-weight:900 !important;padding:0 6px !important;}
body .vesta-hsp-kanban-col.is-stage-identify-provider header{background:#eff6ff !important;}
body .vesta-hsp-kanban-col.is-stage-contact-provider header{background:#f0f9ff !important;color:#0369a1 !important;}
body .vesta-hsp-kanban-col.is-stage-book-meeting header{background:#fffbeb !important;}
body .vesta-hsp-kanban-col.is-stage-physical-visit header{background:#f0fdf4 !important;color:#15803d !important;}
body .vesta-hsp-kanban-col.is-stage-submit-contract header{background:#f5f3ff !important;color:#6d28d9 !important;}
body .vesta-hsp-kanban-col.is-stage-follow-up header{background:#fef2f2 !important;color:#dc2626 !important;}
body .vesta-hsp-kanban-col.is-stage-contract-signed header{background:#eff6ff !important;color:#1d4ed8 !important;}
body .vesta-hsp-kanban-col.is-stage-accredited-provider header{background:#f0fdf4 !important;color:#15803d !important;}
body .vesta-hsp-kanban-card-stack{display:flex !important;flex-direction:column !important;gap:7px !important;padding:7px !important;flex:1 !important;background:linear-gradient(180deg,rgba(248,250,252,.65),#fff) !important;}
body .vesta-hsp-kanban-col article{position:relative !important;margin:0 !important;padding:10px 10px 29px !important;background:#fff !important;border:1px solid #e5e7eb !important;border-radius:7px !important;box-shadow:0 5px 14px rgba(15,23,42,.045) !important;min-height:82px !important;cursor:pointer !important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease !important;}
body .vesta-hsp-kanban-col article:hover{transform:translateY(-1px) !important;box-shadow:0 10px 20px rgba(15,23,42,.075) !important;border-color:rgba(255,107,0,.28) !important;}
body .vesta-hsp-kanban-col article strong{display:block !important;margin:0 0 8px !important;font-size:12px !important;line-height:1.25 !important;font-weight:900 !important;color:#0f172a !important;white-space:normal !important;}
body .vesta-hsp-kanban-col article small{display:block !important;margin:4px 0 !important;color:#475569 !important;font-size:10.5px !important;line-height:1.25 !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;}
body .vesta-hsp-kanban-col article em{position:absolute !important;right:9px !important;bottom:9px !important;width:26px !important;height:26px !important;padding:0 !important;border-radius:999px !important;background:#eef2f7 !important;color:#111827 !important;display:flex !important;align-items:center !important;justify-content:center !important;font-style:normal !important;font-size:10px !important;font-weight:800 !important;}
body .vesta-hsp-kanban-col article .vesta-hsp-priority-chip{position:absolute !important;left:9px !important;bottom:10px !important;height:18px !important;padding:0 7px !important;font-size:9.5px !important;border-radius:4px !important;}
body .vesta-hsp-kanban-col button[data-planner-new-stage]{margin:auto 7px 7px !important;height:38px !important;border:0 !important;background:#fff !important;color:#2563eb !important;font-weight:900 !important;font-size:13px !important;border-radius:7px !important;width:calc(100% - 14px) !important;}
body .vesta-hsp-kanban-col.is-stage-book-meeting button[data-planner-new-stage],body .vesta-hsp-kanban-col.is-stage-accredited-provider button[data-planner-new-stage]{color:#f97316 !important;}
body .vesta-hsp-kanban-col.is-stage-physical-visit button[data-planner-new-stage]{color:#16a34a !important;}
body .vesta-hsp-kanban-col.is-stage-submit-contract button[data-planner-new-stage]{color:#7c3aed !important;}
body .vesta-hsp-kanban-col.is-stage-follow-up button[data-planner-new-stage]{color:#ef4444 !important;}
body .vesta-hsp-kanban-footer{display:grid !important;grid-template-columns:minmax(0,1fr) 118px !important;gap:12px !important;margin-top:8px !important;align-items:stretch !important;max-width:100% !important;overflow:hidden !important;}
body .vesta-hsp-kanban-footer>div{background:#fff !important;border:1px solid var(--hsp-border) !important;border-radius:8px !important;padding:13px 14px !important;box-shadow:0 8px 20px rgba(15,23,42,.025) !important;}
body .vesta-hsp-kanban-footer strong{display:block !important;margin:0 0 10px !important;font-size:12px !important;font-weight:900 !important;color:#111827 !important;}
body #hspKanbanLegend{display:grid !important;grid-template-columns:repeat(8,minmax(82px,1fr)) !important;gap:10px !important;align-items:start !important;font-size:10px !important;color:#475569 !important;}
body #hspKanbanLegend span{display:block !important;margin:0 !important;padding:0 !important;background:transparent !important;border-radius:0 !important;color:#334155 !important;line-height:1.35 !important;}
body .vesta-hsp-kanban-footer>div:last-child span{display:flex !important;align-items:center !important;gap:7px !important;background:transparent !important;margin:7px 0 0 !important;padding:0 !important;font-size:11px !important;}
body .vesta-hsp-kanban-footer>div:last-child span:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;display:inline-block;}
@media(max-width:1280px){body .vesta-hsp-kanban-kpis{grid-template-columns:repeat(8,170px) !important;overflow-x:auto !important;padding-bottom:8px !important;}body .vesta-hsp-kanban-col{flex:0 0 190px !important;min-width:190px !important;}.vesta-hsp-kanban-board{overflow-x:auto !important;}body #hspKanbanLegend{grid-template-columns:repeat(4,minmax(100px,1fr)) !important;}}
@media(max-width:900px){body .vesta-hsp-kanban-shell .vesta-hsp-view-toolbar,body .vesta-hsp-kanban-filters{grid-template-columns:1fr !important;}body .vesta-hsp-kanban-col{flex-basis:82vw !important;min-width:82vw !important;max-width:82vw !important;}body .vesta-hsp-kanban-footer{grid-template-columns:1fr !important;}body #hspKanbanLegend{grid-template-columns:1fr 1fr !important;}}

/* Phase 8.64 - Gantt UI parity rebuild based on locked approved Gantt reference */
.vesta-hsp-gantt-shell{
  padding:0 !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.vesta-hsp-gantt-shell .vesta-hsp-view-toolbar{
  display:grid !important;
  grid-template-columns:minmax(220px,1fr) minmax(280px,1fr) auto auto !important;
  gap:16px !important;
  align-items:center !important;
  margin:0 0 22px !important;
}
.vesta-hsp-gantt-kpis{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:0 0 22px !important;
}
.vesta-hsp-gantt-kpis>div{
  min-height:104px !important;
  padding:20px 24px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:none !important;
  position:relative !important;
}
.vesta-hsp-gantt-kpis small{
  font-size:14px !important;
  line-height:1.2 !important;
  color:#0f172a !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
.vesta-hsp-gantt-kpis strong{
  display:block !important;
  margin-top:10px !important;
  color:#0f172a !important;
  font-size:32px !important;
  line-height:1 !important;
  letter-spacing:-.03em !important;
}
.vesta-hsp-gantt-kpis span{
  position:absolute !important;
  right:22px !important;
  top:34px !important;
  width:42px !important;
  height:42px !important;
  border-radius:10px !important;
  display:grid !important;
  place-items:center !important;
  background:#eef4ff !important;
  font-size:18px !important;
}
.vesta-hsp-gantt-controls{
  display:grid !important;
  grid-template-columns:auto minmax(150px,180px) auto minmax(120px,150px) auto minmax(120px,150px) auto minmax(110px,120px) minmax(180px,230px) auto !important;
  gap:10px 12px !important;
  align-items:center !important;
  margin:0 0 14px !important;
}
.vesta-hsp-gantt-controls label{
  display:contents !important;
  min-width:0 !important;
  color:#334155 !important;
  font-size:14px !important;
  font-weight:500 !important;
}
.vesta-hsp-gantt-controls label>.vesta-input{
  height:44px !important;
  min-height:44px !important;
  border-radius:9px !important;
}
.vesta-hsp-gantt-controls>.vesta-button{
  height:44px !important;
  padding:0 20px !important;
  border-radius:9px !important;
}
.vesta-hsp-gantt-zoom{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  height:44px !important;
  justify-content:center !important;
}
.vesta-hsp-gantt-zoom button{
  width:42px !important;
  height:42px !important;
  border-radius:9px !important;
  border:1px solid rgba(15,23,42,.12) !important;
  background:#fff !important;
  color:#0f172a !important;
  font-weight:800 !important;
}
.vesta-hsp-gantt-zoom span{
  width:72px !important;
  height:1px !important;
  background:#cbd5e1 !important;
  position:relative !important;
}
.vesta-hsp-gantt-zoom span:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:10px;height:10px;
  border-radius:999px;
  background:#fff;
  border:1px solid #cbd5e1;
  transform:translate(-50%,-50%);
}
.vesta-hsp-gantt-scale{
  display:flex !important;
  margin-left:0 !important;
  height:44px !important;
  border:1px solid rgba(15,23,42,.12) !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.vesta-hsp-gantt-scale button{
  width:72px !important;
  border:0 !important;
  border-right:1px solid rgba(15,23,42,.08) !important;
  background:#fff !important;
  color:#0f172a !important;
  font-weight:700 !important;
}
.vesta-hsp-gantt-scale button:last-child{border-right:0 !important;}
.vesta-hsp-gantt-scale button.is-active{background:#dbeafe !important;color:#2563eb !important;}
.vesta-hsp-gantt-chart{
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:10px !important;
  background:#fff !important;
  overflow:auto !important;
  max-width:100% !important;
  box-shadow:none !important;
}
.vesta-hsp-gantt-grid--phase3{
  min-width:1500px !important;
  width:max-content !important;
  position:relative !important;
}
.vesta-hsp-gantt-head,
.vesta-hsp-gantt-row{
  grid-template-columns:48px 190px 150px repeat(31,38px) !important;
}
.vesta-hsp-gantt-head--weeks{
  display:grid !important;
  min-height:50px !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  background:#fff !important;
  position:sticky !important;
  top:0 !important;
  z-index:10 !important;
}
.vesta-hsp-gantt-head--days{
  display:grid !important;
  min-height:34px !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  background:#fff !important;
  position:sticky !important;
  top:50px !important;
  z-index:9 !important;
}
.vesta-hsp-gantt-head span,
.vesta-hsp-gantt-head em{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 10px !important;
  border-right:1px solid rgba(15,23,42,.08) !important;
  font-style:normal !important;
  color:#0f172a !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-align:center !important;
}
.vesta-hsp-gantt-head--weeks span:nth-child(2),
.vesta-hsp-gantt-head--weeks span:nth-child(3){justify-content:flex-start !important;}
.vesta-hsp-gantt-head em.is-week{
  flex-direction:column !important;
  gap:2px !important;
  font-size:13px !important;
}
.vesta-hsp-gantt-head em.is-week small{
  font-size:11px !important;
  color:#64748b !important;
  font-weight:500 !important;
}
.vesta-hsp-gantt-head--days em.is-today{background:#fff7ed !important;color:#f97316 !important;}
.vesta-hsp-gantt-row{
  display:grid !important;
  min-height:74px !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  position:relative !important;
  background:#fff !important;
}
.vesta-hsp-gantt-row>span,
.vesta-hsp-gantt-row>strong,
.vesta-hsp-gantt-row>b{
  display:flex !important;
  align-items:center !important;
  padding:12px 14px !important;
  border-right:1px solid rgba(15,23,42,.08) !important;
  background:#fff !important;
  z-index:2 !important;
}
.vesta-hsp-gantt-row>span{justify-content:center !important;font-weight:700 !important;color:#0f172a !important;}
.vesta-hsp-gantt-row>strong{
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  font-size:14px !important;
  line-height:1.25 !important;
}
.vesta-hsp-gantt-row>strong small{
  display:block !important;
  margin-top:3px !important;
  color:#475569 !important;
  font-size:12px !important;
  font-weight:500 !important;
}
.vesta-hsp-gantt-row:after{
  content:"" !important;
  grid-column:4/-1 !important;
  grid-row:1 !important;
  z-index:0 !important;
  background:repeating-linear-gradient(90deg,transparent 0,transparent 37px,rgba(15,23,42,.07) 37px,rgba(15,23,42,.07) 38px) !important;
}
.vesta-hsp-gantt-row:before{
  content:"" !important;
  position:absolute !important;
  top:0;bottom:0;
  left:calc(48px + 190px + 150px + (38px * 4));
  border-left:1px dashed #ef4444 !important;
  z-index:1 !important;
}
.vesta-hsp-gantt-bar{
  align-self:center !important;
  justify-self:stretch !important;
  height:38px !important;
  min-width:84px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border-radius:6px !important;
  padding:6px 12px !important;
  font-size:12px !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  color:#0f172a !important;
  z-index:3 !important;
  box-shadow:0 6px 16px rgba(15,23,42,.08) !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.vesta-hsp-gantt-bar small{font-size:10px !important;font-weight:600 !important;color:#334155 !important;margin-top:3px !important;}
.vesta-hsp-gantt-bar.is-stage-identify{background:#bfdbfe !important;}
.vesta-hsp-gantt-bar.is-stage-contact{background:#a5f3fc !important;}
.vesta-hsp-gantt-bar.is-stage-meeting{background:#c7d2fe !important;}
.vesta-hsp-gantt-bar.is-stage-visit{background:#bbf7d0 !important;}
.vesta-hsp-gantt-bar.is-stage-contract{background:#ddd6fe !important;}
.vesta-hsp-gantt-bar.is-stage-follow{background:#fde68a !important;}
.vesta-hsp-gantt-bar.is-stage-signed{background:#99f6e4 !important;}
.vesta-hsp-gantt-bar.is-stage-accredited{background:#bbf7d0 !important;}
.vesta-hsp-gantt-foot{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:14px 16px !important;
  color:#64748b !important;
  font-size:13px !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
}
.vesta-hsp-gantt-legend{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:18px !important;
  margin-top:14px !important;
  align-items:center !important;
}
.vesta-hsp-gantt-legend span{
  background:transparent !important;
  padding:0 !important;
  font-size:12px !important;
  color:#0f172a !important;
}
@media(max-width:1300px){
  .vesta-hsp-gantt-kpis{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .vesta-hsp-gantt-controls{grid-template-columns:auto minmax(150px,1fr) auto minmax(120px,1fr) auto minmax(120px,1fr) auto auto !important;}
  .vesta-hsp-gantt-zoom{grid-column:auto/span 1;}
  .vesta-hsp-gantt-scale{grid-column:auto/span 1;}
}
@media(max-width:760px){
  .vesta-hsp-gantt-shell .vesta-hsp-view-toolbar,
  .vesta-hsp-gantt-controls{grid-template-columns:1fr !important;}
  .vesta-hsp-gantt-controls label{display:grid !important;gap:6px !important;}
  .vesta-hsp-gantt-kpis{grid-template-columns:1fr !important;}
  .vesta-hsp-gantt-scale button{flex:1;width:auto !important;}
}

/* Phase 8.65 – Planner/Kanban/Gantt sync interaction states */
body .vesta-hsp-kanban-col.is-drop-target{outline:2px dashed #ff6b00 !important;outline-offset:-4px !important;background:#fff7ed !important;}
body .vesta-hsp-kanban-col article[draggable="true"]{cursor:grab !important;}
body .vesta-hsp-kanban-col article.is-dragging{opacity:.55 !important;transform:scale(.985) !important;cursor:grabbing !important;}
body .vesta-hsp-gantt-bar[data-gantt-planner-id]{cursor:pointer !important;}

/* Phase 5 Planner/Kanban/Gantt workflow controls */
body .vesta-hsp-kanban-col.is-drop-target{outline:3px solid rgba(249,115,22,.35) !important;outline-offset:-3px !important;background:#fff7ed !important;}
body .vesta-hsp-kanban-col article.is-dragging{opacity:.55 !important;transform:rotate(1deg) scale(.99) !important;}
body .vesta-hsp-kanban-col article[draggable="true"]{cursor:grab !important;}
body .vesta-hsp-kanban-col article[draggable="true"]:active{cursor:grabbing !important;}
body .vesta-hsp-planner-form label.is-full{grid-column:1/-1 !important;}
body .vesta-hsp-planner-form textarea.vesta-input{resize:vertical !important;}
body #hspPlannerExport,body #hspKanbanExport,body #hspGanttExport{white-space:nowrap !important;}

/* Phase 8.68 Planner engine wiring: strict rep region, fixed toolbar and real pager */
body .vesta-hsp-planner-topbar{
  grid-template-columns:minmax(240px,1fr) minmax(300px,1fr) auto auto !important;
}
body .vesta-hsp-planner-topbar #hspPlannerNew,
body .vesta-hsp-planner-topbar #hspPlannerExport{
  justify-self:end !important;
}
body .vesta-hsp-planner-topbar .is-rep-region-locked{
  background:#f8fafc !important;
  color:#0f172a !important;
  font-weight:700 !important;
}
body .vesta-hsp-planner-pager button[disabled]{
  opacity:.45 !important;
  cursor:not-allowed !important;
}
body .vesta-hsp-planner-pager #hspPlannerPager{
  display:flex !important;
  gap:4px !important;
  justify-content:center !important;
  align-items:center !important;
}
@media(max-width:900px){
  body .vesta-hsp-planner-topbar{grid-template-columns:1fr !important;}
  body .vesta-hsp-planner-topbar #hspPlannerNew,
  body .vesta-hsp-planner-topbar #hspPlannerExport{justify-self:stretch !important;width:100% !important;}
}
/* Phase 8.69 Kanban engine wiring fixes */
.vesta-hsp-view-toggle button{cursor:pointer;}
.vesta-hsp-kanban-list{margin-top:0;}
.vesta-hsp-kanban-list[hidden],.vesta-hsp-kanban-board[hidden]{display:none!important;}
.vesta-hsp-kanban-col.is-drop-target{outline:2px dashed rgba(249,115,22,.55);outline-offset:3px;background:#fff7ed;}

/* HSP v1.8.6.73 - Region/date toolbar containment repair */
body .vesta-hsp-planner-shell > .vesta-hsp-planner-topbar{
  display:grid !important;
  grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) minmax(160px,.8fr) auto auto !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 18px !important;
}
body .vesta-hsp-kanban-shell > .vesta-hsp-view-toolbar{
  display:grid !important;
  grid-template-columns:minmax(220px,1.4fr) minmax(160px,.8fr) minmax(160px,.8fr) auto auto !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 18px !important;
}
body .vesta-hsp-planner-shell > .vesta-hsp-planner-topbar .vesta-input,
body .vesta-hsp-kanban-shell > .vesta-hsp-view-toolbar .vesta-input{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:40px !important;
  box-sizing:border-box !important;
}
body .vesta-hsp-planner-shell > .vesta-hsp-planner-topbar .vesta-button,
body .vesta-hsp-kanban-shell > .vesta-hsp-view-toolbar .vesta-button{
  width:auto !important;
  min-width:118px !important;
  justify-self:end !important;
  white-space:nowrap !important;
  height:40px !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
}
body .vesta-hsp-gantt-shell > .vesta-hsp-view-toolbar{
  display:grid !important;
  grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) minmax(160px,.8fr) minmax(220px,1.2fr) !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 18px !important;
}
body .vesta-hsp-gantt-shell > .vesta-hsp-view-toolbar .vesta-input{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:40px !important;
  box-sizing:border-box !important;
}
body .vesta-hsp-gantt-shell > .vesta-hsp-view-toolbar .vesta-button{
  width:auto !important;
  min-width:130px !important;
  justify-self:start !important;
  white-space:nowrap !important;
  height:40px !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
}
body .vesta-hsp-gantt-shell > .vesta-hsp-view-toolbar #hspGanttExport{
  justify-self:start !important;
}
body .vesta-hsp-planner-shell .is-rep-region-locked,
body .vesta-hsp-kanban-shell .is-rep-region-locked,
body .vesta-hsp-gantt-shell .is-rep-region-locked{
  font-weight:800 !important;
  color:#0f172a !important;
  background:#fff !important;
  opacity:1 !important;
  cursor:not-allowed !important;
}
body .vesta-hsp-gantt-controls{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  padding-bottom:4px !important;
}
body .vesta-hsp-gantt-controls label{
  flex:0 0 auto !important;
  min-width:auto !important;
}
body .vesta-hsp-gantt-controls label .vesta-input{
  min-width:160px !important;
}
body .vesta-hsp-gantt-zoom{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  flex:0 0 220px !important;
}
body .vesta-hsp-gantt-zoom button{
  width:34px !important;
  height:34px !important;
  border:1px solid #e5e7eb !important;
  background:#fff !important;
  border-radius:8px !important;
  font-weight:800 !important;
}
body .vesta-hsp-gantt-zoom input{
  width:140px !important;
}
@media(max-width:1180px){
  body .vesta-hsp-planner-shell > .vesta-hsp-planner-topbar,
  body .vesta-hsp-kanban-shell > .vesta-hsp-view-toolbar{
    grid-template-columns:1fr 1fr !important;
  }
  body .vesta-hsp-planner-shell > .vesta-hsp-planner-topbar .vesta-button,
  body .vesta-hsp-kanban-shell > .vesta-hsp-view-toolbar .vesta-button{
    justify-self:start !important;
  }
  body .vesta-hsp-gantt-shell > .vesta-hsp-view-toolbar{
    grid-template-columns:1fr 1fr !important;
  }
}
@media(max-width:720px){
  body .vesta-hsp-planner-shell > .vesta-hsp-planner-topbar,
  body .vesta-hsp-kanban-shell > .vesta-hsp-view-toolbar,
  body .vesta-hsp-gantt-shell > .vesta-hsp-view-toolbar{
    grid-template-columns:1fr !important;
  }
  body .vesta-hsp-planner-shell > .vesta-hsp-planner-topbar .vesta-button,
  body .vesta-hsp-kanban-shell > .vesta-hsp-view-toolbar .vesta-button,
  body .vesta-hsp-gantt-shell > .vesta-hsp-view-toolbar .vesta-button{
    width:100% !important;
    justify-self:stretch !important;
  }
  body .vesta-hsp-gantt-controls{
    flex-wrap:wrap !important;
  }
}

/* v1.8.6.74 - selectable planner seeding + Kanban zoom */
.vesta-hsp-kanban-zoom,
.vesta-hsp-gantt-zoom{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(17,24,39,.08);border-radius:10px;background:#fff;padding:6px 8px;white-space:nowrap;}
.vesta-hsp-kanban-zoom button,
.vesta-hsp-gantt-zoom button{border:0;background:#fff;border-radius:8px;width:30px;height:30px;font-weight:900;cursor:pointer;}
.vesta-hsp-kanban-zoom input,
.vesta-hsp-gantt-zoom input{width:110px;}
.vesta-hsp-kanban-board[data-kanban-zoom="0"] .vesta-hsp-kanban-col{min-width:205px;max-width:205px;}
.vesta-hsp-kanban-board[data-kanban-zoom="1"] .vesta-hsp-kanban-col{min-width:225px;max-width:225px;}
.vesta-hsp-kanban-board[data-kanban-zoom="2"] .vesta-hsp-kanban-col{min-width:245px;max-width:245px;}
.vesta-hsp-kanban-board[data-kanban-zoom="3"] .vesta-hsp-kanban-col{min-width:275px;max-width:275px;}
.vesta-hsp-kanban-board[data-kanban-zoom="4"] .vesta-hsp-kanban-col{min-width:310px;max-width:310px;}
.vesta-hsp-kanban-board[data-kanban-zoom="0"] article{font-size:12px;padding:10px;}
.vesta-hsp-kanban-board[data-kanban-zoom="4"] article{font-size:14px;padding:14px;}
@media(max-width:700px){.vesta-hsp-kanban-zoom{width:100%;justify-content:space-between}.vesta-hsp-kanban-zoom input{flex:1}}


/* v1.8.6.75 - real Kanban zoom override
   Earlier containment CSS forced kanban columns with !important flex widths, so the zoom
   range changed state but the visible board did not resize. These rules are intentionally
   later and stronger, and the JS also sets inline flex-basis for immediate feedback. */
body .vesta-hsp-kanban-board[data-kanban-zoom="0"] .vesta-hsp-kanban-col{flex:0 0 205px!important;min-width:205px!important;max-width:205px!important;}
body .vesta-hsp-kanban-board[data-kanban-zoom="1"] .vesta-hsp-kanban-col{flex:0 0 225px!important;min-width:225px!important;max-width:225px!important;}
body .vesta-hsp-kanban-board[data-kanban-zoom="2"] .vesta-hsp-kanban-col{flex:0 0 245px!important;min-width:245px!important;max-width:245px!important;}
body .vesta-hsp-kanban-board[data-kanban-zoom="3"] .vesta-hsp-kanban-col{flex:0 0 275px!important;min-width:275px!important;max-width:275px!important;}
body .vesta-hsp-kanban-board[data-kanban-zoom="4"] .vesta-hsp-kanban-col{flex:0 0 310px!important;min-width:310px!important;max-width:310px!important;}
body .vesta-hsp-kanban-board[data-kanban-zoom="0"] .vesta-hsp-kanban-col article{font-size:12px!important;padding:10px!important;}
body .vesta-hsp-kanban-board[data-kanban-zoom="3"] .vesta-hsp-kanban-col article{font-size:13px!important;padding:13px!important;}
body .vesta-hsp-kanban-board[data-kanban-zoom="4"] .vesta-hsp-kanban-col article{font-size:14px!important;padding:14px!important;}
body .vesta-hsp-kanban-zoom input{accent-color:#f97316;cursor:pointer;}


/* v1.8.6.77 - Real Gantt zoom fix
   Older Gantt containment rules used !important fixed 38/42px day columns,
   which overrode the JavaScript-generated timeline width. Keep those layouts,
   but let the rendered Gantt grid control its own column width. */
body .vesta-hsp-gantt-grid--phase3{
  width:var(--gantt-grid-width, max-content) !important;
  min-width:var(--gantt-grid-width, 1320px) !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-head,
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-row{
  grid-template-columns:var(--gantt-cols) !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-row:after{
  background:repeating-linear-gradient(90deg, transparent 0, transparent calc(var(--gantt-cell-width, 42px) - 1px), rgba(15,23,42,.07) calc(var(--gantt-cell-width, 42px) - 1px), rgba(15,23,42,.07) var(--gantt-cell-width, 42px)) !important;
}
body .vesta-hsp-gantt-grid--phase3[data-gantt-zoom="0"] .vesta-hsp-gantt-bar{padding-left:6px !important;padding-right:6px !important;font-size:11px !important;}
body .vesta-hsp-gantt-grid--phase3[data-gantt-zoom="4"] .vesta-hsp-gantt-bar{padding-left:14px !important;padding-right:14px !important;font-size:13px !important;}
body .vesta-hsp-gantt-zoom input{accent-color:#f97316;cursor:pointer;}

/* Phase 8.78 Planner Full Calendar */
body.vesta-hsp-calendar-open{overflow:hidden;}
.vesta-hsp-full-calendar[hidden]{display:none!important;}
.vesta-hsp-full-calendar{position:fixed;inset:0;z-index:99998;background:rgba(15,23,42,.42);display:flex;align-items:stretch;justify-content:center;padding:28px;}
.vesta-hsp-full-calendar__panel{width:min(1320px,96vw);height:calc(100vh - 56px);background:#fff;border-radius:20px;box-shadow:0 32px 90px rgba(15,23,42,.28);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(17,24,39,.10);}
.vesta-hsp-full-calendar__head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(17,24,39,.08);}
.vesta-hsp-full-calendar__head h3{margin:0;font-size:20px;color:#111827;}
.vesta-hsp-full-calendar__head p{margin:4px 0 0;color:#64748b;font-size:13px;}
.vesta-hsp-full-calendar__head button{border:0;background:#fff;font-size:28px;line-height:1;cursor:pointer;color:#0f172a;}
.vesta-hsp-full-calendar__toolbar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(17,24,39,.08);background:#fbfcfd;}
.vesta-hsp-full-calendar__toolbar>strong{font-size:16px;color:#0f172a;min-width:260px;text-align:center;}
.vesta-hsp-full-calendar__toolbar .vesta-hsp-view-toggle{margin-left:auto;}
.vesta-hsp-full-calendar__grid{flex:1;min-height:0;overflow:auto;background:#fff;}
.vesta-hsp-full-calendar__grid.is-month-view,.vesta-hsp-full-calendar__grid.is-week-view{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));align-content:start;}
.vesta-hsp-full-calendar__grid.is-month-view .vesta-hsp-full-calendar__cell{min-height:148px;}
.vesta-hsp-full-calendar__grid.is-week-view .vesta-hsp-full-calendar__cell{min-height:calc(100vh - 210px);}
.vesta-hsp-full-calendar__cell{border-right:1px solid rgba(17,24,39,.08);border-bottom:1px solid rgba(17,24,39,.08);padding:10px;background:#fff;}
.vesta-hsp-full-calendar__cell.is-muted{background:#f8fafc;color:#94a3b8;}
.vesta-hsp-full-calendar__cell header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.vesta-hsp-full-calendar__cell header strong{font-size:12px;color:#64748b;}
.vesta-hsp-full-calendar__cell header span{font-weight:900;color:#111827;}
.vesta-hsp-full-calendar__cell header button,.vesta-hsp-full-calendar__day-large header button{border:1px solid rgba(249,115,22,.22);background:#fff7ed;color:#ea580c;border-radius:8px;font-weight:900;padding:4px 8px;cursor:pointer;}
.vesta-hsp-calendar-activity{display:block;width:100%;text-align:left;border:1px solid rgba(17,24,39,.08);border-left-width:4px;background:#fff;border-radius:10px;padding:8px 9px;margin-bottom:7px;cursor:pointer;box-shadow:0 6px 16px rgba(15,23,42,.04);}
.vesta-hsp-calendar-activity:hover{box-shadow:0 10px 24px rgba(15,23,42,.09);transform:translateY(-1px);}
.vesta-hsp-calendar-activity b{display:block;font-size:12px;color:#111827;line-height:1.2;}
.vesta-hsp-calendar-activity small{display:block;font-size:11px;color:#64748b;margin-top:3px;line-height:1.25;}
.vesta-hsp-calendar-activity span{display:inline-flex;margin-top:5px;font-size:10px;border-radius:5px;padding:2px 6px;font-weight:800;}
.vesta-hsp-full-calendar__cell em{display:block;color:#64748b;font-size:11px;margin-top:6px;font-style:normal;}
.vesta-hsp-full-calendar__grid.is-day-view{display:block;padding:18px;}
.vesta-hsp-full-calendar__day-large{border:1px solid rgba(17,24,39,.08);border-radius:16px;min-height:520px;padding:16px;background:#fff;}
.vesta-hsp-full-calendar__day-large header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.vesta-hsp-full-calendar__day-large header strong{font-size:18px;color:#111827;}
.vesta-hsp-full-calendar__day-large .vesta-hsp-calendar-activity{max-width:560px;}
.vesta-hsp-calendar-empty{color:#64748b;border:1px dashed rgba(17,24,39,.14);border-radius:14px;padding:20px;text-align:center;}
@media(max-width:760px){.vesta-hsp-full-calendar{padding:8px}.vesta-hsp-full-calendar__panel{width:100%;height:calc(100vh - 16px);border-radius:14px}.vesta-hsp-full-calendar__toolbar{flex-wrap:wrap}.vesta-hsp-full-calendar__toolbar>strong{min-width:100%;order:-1}.vesta-hsp-full-calendar__grid.is-month-view,.vesta-hsp-full-calendar__grid.is-week-view{grid-template-columns:1fr}.vesta-hsp-full-calendar__grid.is-week-view .vesta-hsp-full-calendar__cell{min-height:160px}}

/* Phase 8.6.80: real Planner Calendar Today state */
.vesta-hsp-full-calendar__cell.is-today{
  box-shadow: inset 0 0 0 2px rgba(249,115,22,.42);
  background: linear-gradient(180deg, rgba(255,247,237,.75), #fff 42%);
}
.vesta-hsp-full-calendar__cell.is-today > header span{
  background:#f97316;
  color:#fff;
  border-radius:999px;
  min-width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Phase 2 admin enforcement drawer fields */
.vesta-hsp-enforcement-block{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#fff7ed;border:1px solid rgba(249,115,22,.22);border-radius:14px;padding:12px;margin:4px 0 2px;}
.vesta-hsp-enforcement-block__head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(249,115,22,.16);padding-bottom:8px;margin-bottom:2px;}
.vesta-hsp-enforcement-block__head strong{font-size:13px;color:#9a3412;font-weight:900;}
.vesta-hsp-enforcement-block__head small{font-size:11px;color:#c2410c;font-weight:800;background:#ffedd5;border-radius:999px;padding:4px 8px;}
.vesta-hsp-enforcement-block label{min-width:0;}
.vesta-hsp-enforcement-block textarea[readonly],.vesta-hsp-enforcement-block input[readonly],.vesta-hsp-enforcement-block select:disabled{background:#fffaf4;color:#6b7280;cursor:not-allowed;}
@media(max-width:680px){.vesta-hsp-enforcement-block{grid-template-columns:1fr;}}

/* HSP v1.8.6.85 - Planner drawer create/save stabilization */
body .vesta-hsp-planner-panel{
  width:min(500px,94vw) !important;
  max-width:94vw !important;
}
body .vesta-hsp-planner-form{
  padding:14px 18px 88px !important;
  gap:11px !important;
}
body .vesta-hsp-planner-actions{
  width:min(500px,94vw) !important;
  max-width:94vw !important;
  grid-template-columns:1fr 1.35fr !important;
  gap:12px !important;
  padding:14px 18px !important;
  box-sizing:border-box !important;
}
body .vesta-hsp-planner-actions .vesta-button{
  min-width:0 !important;
  width:100% !important;
  height:44px !important;
  white-space:nowrap !important;
}
@media (max-width:620px){
  body .vesta-hsp-planner-panel,
  body .vesta-hsp-planner-actions{width:100vw !important;max-width:100vw !important;}
}

/* Phase 3 rep visibility for admin enforcement comments */
.vesta-hsp-admin-review-chip{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:3px 7px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:11px;font-weight:800;vertical-align:middle;border:1px solid rgba(249,115,22,.22);}
.vesta-hsp-admin-review-chip.is-attention{background:#fee2e2;color:#b91c1c;border-color:rgba(239,68,68,.28);}
.vesta-hsp-enforcement-block.is-rep-readonly{background:#f8fafc;border-color:#dbe4f0;}
.vesta-hsp-enforcement-block.is-rep-readonly .vesta-input{background:#f8fafc;color:#334155;}
.vesta-hsp-enforcement-block.is-rep-readonly textarea::placeholder{color:#94a3b8;}

/* HSP v1.8.6.87 - Drawer footer, toast, and Gantt bar click/readability stabilization */
body .vesta-hsp-planner-panel.is-open{
  width:min(540px,96vw) !important;
  max-width:96vw !important;
  height:100vh !important;
  max-height:100vh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
body .vesta-hsp-planner-panel.is-open .vesta-hsp-planner-panel__head{
  flex:0 0 auto !important;
}
body .vesta-hsp-planner-panel.is-open .vesta-hsp-planner-form{
  flex:1 1 auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:16px 20px 0 !important;
  display:grid !important;
  gap:12px !important;
  align-content:start !important;
}
body .vesta-hsp-planner-panel.is-open .vesta-hsp-planner-actions{
  position:sticky !important;
  left:auto !important;
  right:auto !important;
  bottom:0 !important;
  width:auto !important;
  max-width:none !important;
  grid-column:1/-1 !important;
  display:grid !important;
  grid-template-columns:1fr 1.35fr !important;
  gap:12px !important;
  margin:12px -20px 0 !important;
  padding:14px 20px !important;
  background:#fff !important;
  border-top:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 -12px 28px rgba(15,23,42,.08) !important;
  z-index:9 !important;
  box-sizing:border-box !important;
}
body .vesta-hsp-planner-panel.is-open .vesta-hsp-planner-actions .vesta-button{
  width:100% !important;
  min-width:0 !important;
  height:46px !important;
  border-radius:10px !important;
}
body .vesta-hsp-planner-table tr.is-highlighted td{
  background:#fff7ed !important;
  box-shadow:inset 3px 0 0 #f97316 !important;
}
.vesta-hsp-toast-stack{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  display:grid !important;
  gap:10px !important;
  z-index:2147483646 !important;
  pointer-events:none !important;
}
.vesta-hsp-toast{
  min-width:300px !important;
  max-width:380px !important;
  pointer-events:auto !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-left:4px solid #22c55e !important;
  border-radius:14px !important;
  box-shadow:0 18px 48px rgba(15,23,42,.20) !important;
  padding:14px 42px 14px 14px !important;
  position:relative !important;
  animation:hspToastIn .18s ease-out !important;
}
.vesta-hsp-toast.is-error{border-left-color:#ef4444 !important;}
.vesta-hsp-toast strong{display:block !important;font-size:13px !important;color:#0f172a !important;margin-bottom:3px !important;}
.vesta-hsp-toast span{display:block !important;font-size:13px !important;color:#475569 !important;line-height:1.35 !important;}
.vesta-hsp-toast button{position:absolute !important;right:10px !important;top:9px !important;border:0 !important;background:#f8fafc !important;border-radius:999px !important;width:26px !important;height:26px !important;font-weight:900 !important;cursor:pointer !important;color:#334155 !important;}
.vesta-hsp-toast.is-leaving{opacity:0 !important;transform:translateY(8px) !important;transition:opacity .18s ease, transform .18s ease !important;}
@keyframes hspToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
body .vesta-hsp-gantt-bar{
  min-width:150px !important;
  height:auto !important;
  min-height:42px !important;
  overflow:visible !important;
  white-space:normal !important;
  text-overflow:clip !important;
  line-height:1.15 !important;
  padding:8px 12px !important;
  word-break:normal !important;
}
body .vesta-hsp-gantt-bar span,
body .vesta-hsp-gantt-bar small{
  display:block !important;
  overflow:visible !important;
  white-space:normal !important;
  text-overflow:clip !important;
}
body .vesta-hsp-gantt-bar small{line-height:1.2 !important;}
@media(max-width:640px){
  .vesta-hsp-toast-stack{left:12px !important;right:12px !important;bottom:12px !important;}
  .vesta-hsp-toast{min-width:0 !important;max-width:none !important;width:100% !important;}
}

/* HSP v1.8.6.88 - Enforcement visibility and notification indicators */
.vesta-hsp-admin-review-chip{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  margin-left:6px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:#fff7ed !important;
  color:#c2410c !important;
  border:1px solid rgba(249,115,22,.28) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  vertical-align:middle !important;
}
.vesta-hsp-admin-review-chip.is-attention{
  background:#fee2e2 !important;
  color:#b91c1c !important;
  border-color:rgba(239,68,68,.35) !important;
}
.vesta-hsp-admin-review-chip.is-review{
  background:#ffedd5 !important;
  color:#9a3412 !important;
}
.vesta-hsp-admin-review-chip.is-compact{
  width:22px !important;
  height:22px !important;
  padding:0 !important;
  margin:0 0 0 6px !important;
}
.vesta-hsp-planner-table tr.has-admin-enforcement{
  background:linear-gradient(90deg, rgba(254,226,226,.55), rgba(255,255,255,0) 28%) !important;
}
.vesta-hsp-planner-table tr.has-admin-enforcement td:first-child{
  border-left:4px solid #ef4444 !important;
}
.vesta-hsp-kanban-col article.has-admin-enforcement{
  border-color:rgba(239,68,68,.35) !important;
  box-shadow:0 10px 26px rgba(239,68,68,.08),0 8px 18px rgba(15,23,42,.04) !important;
}
.vesta-hsp-kanban-col article.has-admin-enforcement:before{
  content:'Needs attention';
  position:absolute !important;
  top:8px !important;
  right:8px !important;
  background:#fee2e2 !important;
  color:#b91c1c !important;
  border:1px solid rgba(239,68,68,.25) !important;
  border-radius:999px !important;
  padding:3px 7px !important;
  font-size:10px !important;
  font-weight:900 !important;
}
.vesta-hsp-kanban-col article.has-admin-enforcement strong{
  padding-right:88px !important;
}
body .vesta-hsp-gantt-bar.has-admin-enforcement{
  border:2px solid rgba(239,68,68,.45) !important;
  box-shadow:0 10px 26px rgba(239,68,68,.14),0 6px 18px rgba(15,23,42,.08) !important;
}
body .vesta-hsp-gantt-bar.has-admin-enforcement:after{
  content:'!';
  position:absolute !important;
  right:6px !important;
  top:5px !important;
  width:18px !important;
  height:18px !important;
  border-radius:999px !important;
  background:#ef4444 !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:12px !important;
  font-weight:900 !important;
}
body .vesta-hsp-gantt-bar.has-admin-enforcement span,
body .vesta-hsp-gantt-bar.has-admin-enforcement small{
  padding-right:18px !important;
}
.vesta-hsp-notice .vesta-hsp-pill{
  text-transform:capitalize !important;
}
.vesta-hsp-notice.is-unread{
  border-left:4px solid #f97316 !important;
}

/* Phase 4 calendar overflow containment: only one event stays in the cell; overflow opens a day popup. */
.vesta-hsp-full-calendar__cell{position:relative;overflow:hidden;}
.vesta-hsp-full-calendar__grid.is-month-view .vesta-hsp-full-calendar__cell{height:148px;min-height:148px;}
.vesta-hsp-full-calendar__grid.is-week-view .vesta-hsp-full-calendar__cell{overflow:auto;}
.vesta-hsp-calendar-more{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(249,115,22,.22);background:#fff7ed;color:#ea580c;border-radius:999px;font-weight:900;font-size:11px;line-height:1;padding:7px 10px;cursor:pointer;box-shadow:0 6px 14px rgba(249,115,22,.08);}
.vesta-hsp-calendar-more:hover{background:#ffedd5;border-color:rgba(249,115,22,.36);}
.vesta-hsp-calendar-day-popup[hidden]{display:none!important;}
.vesta-hsp-calendar-day-popup{position:fixed;inset:0;z-index:100080;display:flex;align-items:center;justify-content:center;padding:20px;}
.vesta-hsp-calendar-day-popup__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(2px);}
.vesta-hsp-calendar-day-popup__panel{position:relative;width:min(520px,94vw);max-height:min(720px,88vh);background:#fff;border:1px solid rgba(17,24,39,.10);border-radius:18px;box-shadow:0 32px 80px rgba(15,23,42,.30);display:flex;flex-direction:column;overflow:hidden;}
.vesta-hsp-calendar-day-popup__panel header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(17,24,39,.08);}
.vesta-hsp-calendar-day-popup__panel header strong{display:block;color:#111827;font-size:16px;line-height:1.25;}
.vesta-hsp-calendar-day-popup__panel header small{display:block;color:#64748b;font-size:12px;margin-top:3px;}
.vesta-hsp-calendar-day-popup__panel header button{border:0;background:#fff;color:#111827;font-size:26px;line-height:1;cursor:pointer;}
.vesta-hsp-calendar-day-popup__body{padding:14px 16px;overflow:auto;display:grid;gap:10px;}
.vesta-hsp-calendar-day-popup__body .vesta-hsp-calendar-activity{margin:0;padding:12px 13px;}
.vesta-hsp-calendar-day-popup__body .vesta-hsp-calendar-activity b{font-size:13px;}
.vesta-hsp-calendar-day-popup__body .vesta-hsp-calendar-activity small{font-size:12px;}
.vesta-hsp-calendar-day-popup__panel footer{padding:14px 16px;border-top:1px solid rgba(17,24,39,.08);display:flex;justify-content:flex-end;background:#fbfcfd;}
@media(max-width:760px){.vesta-hsp-calendar-day-popup{align-items:flex-end;padding:10px}.vesta-hsp-calendar-day-popup__panel{width:100%;max-height:82vh;border-radius:18px 18px 12px 12px}.vesta-hsp-full-calendar__grid.is-month-view .vesta-hsp-full-calendar__cell{height:auto;min-height:150px}}

/* v1.8.6.103 — HSP Gantt timeline compression + grouped provider activity popup */
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-row.is-grouped{
  min-height:92px !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-row .vesta-hsp-gantt-row-summary{
  display:block !important;
  margin-top:7px !important;
  color:#d7782c !important;
  font-weight:800 !important;
  font-size:11px !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-bar{
  max-width:220px !important;
  min-width:104px !important;
  height:44px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:7px 10px !important;
  transform:translateY(calc((var(--lane, 0) - 1) * 18px)) !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-bar span{
  display:block !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-group-bar{
  align-self:center !important;
  z-index:3 !important;
  border:1px solid rgba(215,120,44,.28) !important;
  border-radius:999px !important;
  padding:9px 14px !important;
  min-width:150px !important;
  max-width:260px !important;
  height:50px !important;
  background:linear-gradient(135deg,#fff7ed,#ffedd5) !important;
  color:#9a3412 !important;
  box-shadow:0 12px 30px rgba(15,23,42,.12) !important;
  cursor:pointer !important;
  font:inherit !important;
  text-align:left !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-group-bar span{
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-group-bar small{
  font-size:10px !important;
  color:#7c2d12 !important;
  margin-top:3px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-group-bar:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 18px 34px rgba(15,23,42,.16) !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-group-bar.is-completed{
  background:linear-gradient(135deg,#ecfdf5,#dcfce7) !important;
  color:#166534 !important;
  border-color:rgba(34,197,94,.28) !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-group-bar.is-overdue,
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-group-bar.has-admin-enforcement{
  background:linear-gradient(135deg,#fff1f2,#fee2e2) !important;
  color:#991b1b !important;
  border-color:rgba(239,68,68,.35) !important;
}
body .vesta-hsp-gantt-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  background:rgba(15,23,42,.38) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  padding:24px !important;
}
body .vesta-hsp-gantt-modal__panel{
  width:min(620px, calc(100vw - 48px)) !important;
  max-height:calc(100vh - 48px) !important;
  overflow:auto !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.08) !important;
  border-radius:22px !important;
  box-shadow:0 24px 70px rgba(15,23,42,.26) !important;
}
body .vesta-hsp-gantt-modal__panel header{
  position:sticky !important;
  top:0 !important;
  background:#fff !important;
  z-index:2 !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:20px 22px !important;
  border-bottom:1px solid rgba(17,24,39,.08) !important;
}
body .vesta-hsp-gantt-modal__panel header small{
  display:block !important;
  color:#d7782c !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  margin-bottom:5px !important;
}
body .vesta-hsp-gantt-modal__panel header h3{margin:0 !important;font-size:22px !important;color:#0f172a !important;}
body .vesta-hsp-gantt-modal__panel header p{margin:5px 0 0 !important;color:#64748b !important;}
body .vesta-hsp-gantt-modal__panel header button{
  width:38px !important;height:38px !important;border:1px solid rgba(17,24,39,.1) !important;border-radius:12px !important;background:#fff !important;font-size:24px !important;line-height:1 !important;cursor:pointer !important;
}
body .vesta-hsp-gantt-modal__summary{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  padding:16px 22px !important;
  background:#fbfcfd !important;
  border-bottom:1px solid rgba(17,24,39,.08) !important;
}
body .vesta-hsp-gantt-modal__summary span{
  border:1px solid rgba(17,24,39,.08) !important;
  border-radius:12px !important;
  padding:10px !important;
  background:#fff !important;
  color:#64748b !important;
  font-size:12px !important;
}
body .vesta-hsp-gantt-modal__summary b{display:block !important;color:#0f172a !important;font-size:20px !important;}
body .vesta-hsp-gantt-modal__list{padding:16px 22px 22px !important;display:grid !important;gap:10px !important;}
body .vesta-hsp-gantt-modal__list article{
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) auto !important;
  gap:12px !important;
  align-items:start !important;
  border:1px solid rgba(17,24,39,.08) !important;
  border-radius:14px !important;
  padding:12px !important;
  background:#fff !important;
}
body .vesta-hsp-gantt-modal__list article.has-admin-enforcement{border-color:rgba(239,68,68,.35) !important;background:#fff7f7 !important;}
body .vesta-hsp-gantt-modal__list article em{
  display:grid !important;place-items:center !important;width:28px !important;height:28px !important;border-radius:999px !important;background:#fff4e8 !important;color:#c26118 !important;font-style:normal !important;font-weight:900 !important;
}
body .vesta-hsp-gantt-modal__list article strong{display:block !important;color:#0f172a !important;margin-bottom:4px !important;}
body .vesta-hsp-gantt-modal__list article p{margin:0 0 6px !important;color:#334155 !important;line-height:1.35 !important;}
body .vesta-hsp-gantt-modal__list article small{color:#64748b !important;}
body .vesta-hsp-gantt-modal__list article button{
  border:1px solid rgba(17,24,39,.08) !important;border-radius:10px !important;background:#fff !important;padding:8px 12px !important;font-weight:800 !important;cursor:pointer !important;
}
@media (max-width: 760px){
  body .vesta-hsp-gantt-modal{padding:12px !important;align-items:flex-end !important;}
  body .vesta-hsp-gantt-modal__panel{width:100% !important;max-height:88vh !important;border-radius:18px 18px 0 0 !important;}
  body .vesta-hsp-gantt-modal__summary{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body .vesta-hsp-gantt-modal__list article{grid-template-columns:28px minmax(0,1fr) !important;}
  body .vesta-hsp-gantt-modal__list article button{grid-column:2 !important;justify-self:start !important;}
}

/* v1.8.6.104 — HSP Gantt date-based event grouping.
   Standard timeline remains intact, but dense imported activities are grouped by date.
   Clicking the compact date pill opens all provider/activity rows for that date. */
body .vesta-hsp-gantt-grid--date-events .vesta-hsp-gantt-row.is-date-group{
  min-height:84px !important;
}
body .vesta-hsp-gantt-grid--date-events .vesta-hsp-gantt-row.is-date-group > strong{
  min-width:0 !important;
}
body .vesta-hsp-gantt-grid--date-events .vesta-hsp-gantt-group-bar{
  min-width:112px !important;
  max-width:138px !important;
  width:max-content !important;
  height:48px !important;
  padding:8px 12px !important;
  text-align:center !important;
  align-items:center !important;
}
body .vesta-hsp-gantt-grid--date-events .vesta-hsp-gantt-group-bar span{
  font-size:12px !important;
}
body .vesta-hsp-gantt-grid--date-events .vesta-hsp-gantt-group-bar small{
  font-size:9.5px !important;
  max-width:112px !important;
}
body .vesta-hsp-gantt-modal__panel.is-date-events{
  width:min(760px, calc(100vw - 48px)) !important;
}
body .vesta-hsp-gantt-modal__panel.is-date-events .vesta-hsp-gantt-modal__list article{
  grid-template-columns:36px minmax(0,1fr) auto !important;
}
body .vesta-hsp-gantt-modal__panel.is-date-events .vesta-hsp-gantt-modal__list article strong{
  font-size:14px !important;
}
body .vesta-hsp-gantt-modal__panel.is-date-events .vesta-hsp-gantt-modal__list article p{
  color:#1f2937 !important;
  font-weight:650 !important;
}
@media (max-width: 760px){
  body .vesta-hsp-gantt-modal__panel.is-date-events{width:100% !important;}
  body .vesta-hsp-gantt-modal__panel.is-date-events .vesta-hsp-gantt-modal__list article{grid-template-columns:28px minmax(0,1fr) !important;}
}

/* v1.8.6.105 — Gantt date event modal: grouped by day and provider, with useful activity details. */
body .vesta-hsp-gantt-modal__panel.is-day-grouped{
  width:min(920px, calc(100vw - 48px)) !important;
}
body .vesta-hsp-gantt-modal__list.is-day-grouped{
  padding:0 !important;
  display:block !important;
}
body .vesta-hsp-gantt-day-tabs{
  position:sticky !important;
  top:142px !important;
  z-index:3 !important;
  display:flex !important;
  gap:8px !important;
  overflow-x:auto !important;
  padding:14px 22px !important;
  background:#fff !important;
  border-bottom:1px solid rgba(17,24,39,.08) !important;
}
body .vesta-hsp-gantt-day-tabs button{
  border:1px solid rgba(17,24,39,.1) !important;
  background:#fff !important;
  border-radius:999px !important;
  padding:9px 13px !important;
  font-weight:900 !important;
  color:#334155 !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
body .vesta-hsp-gantt-day-tabs button span{
  display:inline-grid !important;
  place-items:center !important;
  min-width:22px !important;
  height:22px !important;
  margin-left:6px !important;
  border-radius:999px !important;
  background:#f1f5f9 !important;
  color:#475569 !important;
  font-size:11px !important;
}
body .vesta-hsp-gantt-day-tabs button.is-active{
  background:#fff7ed !important;
  border-color:#fdba74 !important;
  color:#c2410c !important;
}
body .vesta-hsp-gantt-day-tabs button.is-active span{
  background:#fed7aa !important;
  color:#9a3412 !important;
}
body .vesta-hsp-gantt-day-panels{
  padding:18px 22px 24px !important;
}
body .vesta-hsp-gantt-day-panel{display:none !important;}
body .vesta-hsp-gantt-day-panel.is-active{display:block !important;}
body .vesta-hsp-gantt-day-panel__head{
  display:flex !important;
  justify-content:space-between !important;
  gap:12px !important;
  align-items:center !important;
  padding:0 0 12px !important;
  color:#64748b !important;
}
body .vesta-hsp-gantt-day-panel__head strong{
  color:#0f172a !important;
  font-size:17px !important;
}
body .vesta-hsp-gantt-provider-card{
  border:1px solid rgba(17,24,39,.08) !important;
  border-radius:16px !important;
  background:#fff !important;
  margin-bottom:12px !important;
  overflow:hidden !important;
}
body .vesta-hsp-gantt-provider-card.has-admin-enforcement{
  border-color:rgba(239,68,68,.35) !important;
  box-shadow:0 0 0 1px rgba(239,68,68,.08), 0 10px 24px rgba(239,68,68,.08) !important;
}
body .vesta-hsp-gantt-provider-card>header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:14px 16px !important;
  background:#fbfcfd !important;
  border-bottom:1px solid rgba(17,24,39,.06) !important;
}
body .vesta-hsp-gantt-provider-card>header strong{
  display:block !important;
  font-size:15px !important;
  color:#0f172a !important;
}
body .vesta-hsp-gantt-provider-card>header small{
  display:block !important;
  margin-top:3px !important;
  color:#64748b !important;
}
body .vesta-hsp-gantt-provider-card>header span{
  background:#eef2ff !important;
  color:#1d4ed8 !important;
  border-radius:999px !important;
  padding:7px 10px !important;
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
body .vesta-hsp-gantt-provider-activities{
  display:grid !important;
  gap:0 !important;
}
body .vesta-hsp-gantt-provider-activity{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto auto auto !important;
  gap:10px !important;
  align-items:center !important;
  padding:12px 16px !important;
  border-top:1px solid rgba(17,24,39,.06) !important;
}
body .vesta-hsp-gantt-provider-activity:first-child{border-top:0 !important;}
body .vesta-hsp-gantt-provider-activity.has-admin-enforcement{background:#fff7f7 !important;}
body .vesta-hsp-gantt-provider-activity b{
  display:block !important;
  color:#0f172a !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
body .vesta-hsp-gantt-provider-activity small{
  display:block !important;
  color:#64748b !important;
  margin-top:4px !important;
}
body .vesta-hsp-gantt-provider-activity button{
  border:1px solid rgba(17,24,39,.08) !important;
  background:#fff !important;
  border-radius:10px !important;
  padding:8px 12px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
@media (max-width: 760px){
  body .vesta-hsp-gantt-modal__panel.is-day-grouped{width:100% !important;}
  body .vesta-hsp-gantt-day-tabs{top:126px !important;padding:12px !important;}
  body .vesta-hsp-gantt-day-panels{padding:14px 12px 18px !important;}
  body .vesta-hsp-gantt-provider-card>header{align-items:flex-start !important;flex-direction:column !important;}
  body .vesta-hsp-gantt-provider-activity{grid-template-columns:1fr !important;align-items:start !important;}
  body .vesta-hsp-gantt-provider-activity button{justify-self:start !important;}
}

/* Phase 4.106 - Restore provider-row Gantt and group repeated same-day activities inside provider/date cells */
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-cell-group{
  align-self:center !important;
  justify-self:center !important;
  min-width:58px !important;
  max-width:88px !important;
  min-height:46px !important;
  padding:7px 8px !important;
  border-radius:14px !important;
  border:1px solid #fed7aa !important;
  background:#fff7ed !important;
  color:#c2410c !important;
  box-shadow:0 10px 22px rgba(194,65,12,.12) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1px !important;
  cursor:pointer !important;
  font-weight:800 !important;
  line-height:1.05 !important;
  z-index:4 !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-cell-group span{
  font-size:15px !important;
  color:#c2410c !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-cell-group small{
  font-size:10px !important;
  color:#9a3412 !important;
  white-space:nowrap !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-cell-group:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 14px 28px rgba(194,65,12,.18) !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-bar--single-cell{
  min-width:72px !important;
  max-width:110px !important;
  justify-self:center !important;
  overflow:hidden !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-bar--single-cell span{
  display:block !important;
  max-width:90px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .vesta-hsp-gantt-modal__panel.is-day-grouped{
  width:min(1120px, calc(100vw - 72px)) !important;
  max-height:88vh !important;
}
body .vesta-hsp-gantt-provider-card>header strong{
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
body .vesta-hsp-gantt-provider-activity{
  grid-template-columns:minmax(0,1fr) auto auto 76px !important;
}
body .vesta-hsp-gantt-provider-activity button{
  min-width:64px !important;
}
@media (max-width: 760px){
  body .vesta-hsp-gantt-modal__panel.is-day-grouped{width:100% !important;max-height:92vh !important;}
  body .vesta-hsp-gantt-provider-activity{grid-template-columns:1fr !important;}
}

/* v1.8.6.107 — Real provider-row Gantt compression.
   In Week/Month views, do NOT draw every imported activity card inside the row.
   Group each provider's visible-period activities into one readable pill and open details on click. */
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-period-group{
  width:calc(100% - 12px) !important;
  max-width:none !important;
  min-width:96px !important;
  height:52px !important;
  justify-self:center !important;
  align-self:center !important;
  padding:8px 12px !important;
  border-radius:14px !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:3px !important;
  overflow:hidden !important;
  text-align:left !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-period-group span{
  width:100% !important;
  font-size:13px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-period-group small{
  width:100% !important;
  font-size:10px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-bar--single-cell{
  height:46px !important;
}

/* v1.8.6.108 — Gantt workspace panel + weekday period correction.
   Provider Gantt week view is Monday-Friday only. Detail panel is now a very wide workspace panel. */
body .vesta-hsp-gantt-modal{
  padding:18px 24px !important;
}
body .vesta-hsp-gantt-modal__panel,
body .vesta-hsp-gantt-modal__panel.is-day-grouped,
body .vesta-hsp-gantt-modal__panel.is-date-events{
  width:min(94vw, 1760px) !important;
  max-width:1760px !important;
  max-height:92vh !important;
  border-radius:24px !important;
}
body .vesta-hsp-gantt-modal__panel header{
  padding:20px 26px !important;
}
body .vesta-hsp-gantt-modal__summary{
  padding:16px 26px !important;
  grid-template-columns:repeat(4,minmax(160px,1fr)) !important;
}
body .vesta-hsp-gantt-day-tabs{
  top:154px !important;
  padding:14px 26px !important;
}
body .vesta-hsp-gantt-day-panels{
  padding:18px 26px 28px !important;
}
body .vesta-hsp-gantt-day-panel__head{
  font-size:15px !important;
}
body .vesta-hsp-gantt-provider-card>header{
  padding:14px 18px !important;
}
body .vesta-hsp-gantt-provider-activity{
  grid-template-columns:minmax(260px,1.2fr) minmax(130px,.55fr) minmax(110px,.45fr) 92px !important;
  padding:14px 18px !important;
}
body .vesta-hsp-gantt-provider-activity b{
  font-size:15px !important;
  line-height:1.3 !important;
}
body .vesta-hsp-gantt-provider-activity .vesta-hsp-stage-chip,
body .vesta-hsp-gantt-provider-activity .vesta-hsp-status-chip{
  justify-self:start !important;
}
body .vesta-hsp-gantt-provider-activity button{
  min-width:78px !important;
  justify-self:end !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-period-group{
  width:118px !important;
  max-width:118px !important;
  min-width:96px !important;
  height:44px !important;
  padding:7px 10px !important;
  align-items:center !important;
  text-align:center !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-period-group span{
  font-size:12px !important;
  line-height:1.1 !important;
  text-align:center !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-period-group small{
  font-size:10px !important;
  text-align:center !important;
}
body .vesta-hsp-gantt-grid--phase3 .vesta-hsp-gantt-head--weeks .is-week small{
  white-space:nowrap !important;
}
@media (max-width: 980px){
  body .vesta-hsp-gantt-modal{padding:10px !important;align-items:flex-end !important;}
  body .vesta-hsp-gantt-modal__panel,
  body .vesta-hsp-gantt-modal__panel.is-day-grouped,
  body .vesta-hsp-gantt-modal__panel.is-date-events{width:100% !important;max-height:94vh !important;border-radius:18px 18px 0 0 !important;}
  body .vesta-hsp-gantt-modal__summary{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body .vesta-hsp-gantt-provider-activity{grid-template-columns:1fr !important;}
  body .vesta-hsp-gantt-provider-activity button{justify-self:start !important;}
}

/* v1.8.6.109 — Gantt provider timeline modal table rebuild.
   The wide panel now uses a real table/grid so provider names, activities, stage, status, date and action stop collapsing. */
body .vesta-hsp-gantt-modal{
  padding:14px 18px !important;
  align-items:center !important;
  justify-content:center !important;
}
body .vesta-hsp-gantt-modal__panel,
body .vesta-hsp-gantt-modal__panel.is-day-grouped,
body .vesta-hsp-gantt-modal__panel.is-date-events,
body .vesta-hsp-gantt-modal__panel.is-provider-period{
  width:calc(100vw - 72px) !important;
  max-width:1920px !important;
  min-width:min(1180px, calc(100vw - 72px)) !important;
  height:auto !important;
  max-height:94vh !important;
  border-radius:24px !important;
  overflow:hidden !important;
}
body .vesta-hsp-gantt-modal__panel header{
  padding:18px 28px !important;
}
body .vesta-hsp-gantt-modal__summary{
  padding:12px 28px !important;
  gap:10px !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
body .vesta-hsp-gantt-modal__summary span{
  min-height:56px !important;
  padding:10px 14px !important;
}
body .vesta-hsp-gantt-modal__summary b{
  font-size:18px !important;
}
body .vesta-hsp-gantt-modal__list.is-day-grouped{
  padding:0 !important;
  display:block !important;
  overflow:auto !important;
  max-height:calc(94vh - 212px) !important;
}
body .vesta-hsp-gantt-day-tabs{
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  background:#fff !important;
  padding:14px 28px !important;
  gap:10px !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
}
body .vesta-hsp-gantt-day-tabs button{
  min-width:118px !important;
  justify-content:center !important;
  gap:8px !important;
  padding:10px 14px !important;
}
body .vesta-hsp-gantt-day-tabs button em,
body .vesta-hsp-gantt-day-tabs button span + span{
  display:inline-flex !important;
  width:22px !important;
  height:22px !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#eef2f7 !important;
  font-style:normal !important;
  font-size:12px !important;
  font-weight:900 !important;
}
body .vesta-hsp-gantt-day-panels{
  padding:18px 28px 26px !important;
}
body .vesta-hsp-gantt-day-panel__head{
  padding:0 0 12px !important;
  margin:0 !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  border-bottom:0 !important;
}
body .vesta-hsp-gantt-day-panel__head strong{
  font-size:17px !important;
}
body .vesta-hsp-gantt-modal-table-wrap{
  width:100% !important;
  overflow:auto !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:16px !important;
  background:#fff !important;
}
body .vesta-hsp-gantt-modal-table{
  width:100% !important;
  border-collapse:collapse !important;
  table-layout:fixed !important;
  min-width:980px !important;
}
body .vesta-hsp-gantt-modal-table.has-provider-col col,
body .vesta-hsp-gantt-modal-table col{display:table-column !important;}
body .vesta-hsp-gantt-modal-table th,
body .vesta-hsp-gantt-modal-table td{
  padding:13px 16px !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  vertical-align:middle !important;
  text-align:left !important;
  font-size:13px !important;
  line-height:1.35 !important;
}
body .vesta-hsp-gantt-modal-table th{
  background:#fbfcfd !important;
  color:#334155 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
}
body .vesta-hsp-gantt-modal-table tbody tr:last-child td{border-bottom:0 !important;}
body .vesta-hsp-gantt-modal-table.is-single-provider th:nth-child(1),
body .vesta-hsp-gantt-modal-table.is-single-provider td:nth-child(1){width:46% !important;}
body .vesta-hsp-gantt-modal-table.is-single-provider th:nth-child(2),
body .vesta-hsp-gantt-modal-table.is-single-provider td:nth-child(2){width:16% !important;}
body .vesta-hsp-gantt-modal-table.is-single-provider th:nth-child(3),
body .vesta-hsp-gantt-modal-table.is-single-provider td:nth-child(3){width:12% !important;}
body .vesta-hsp-gantt-modal-table.is-single-provider th:nth-child(4),
body .vesta-hsp-gantt-modal-table.is-single-provider td:nth-child(4){width:14% !important;}
body .vesta-hsp-gantt-modal-table.is-single-provider th:nth-child(5),
body .vesta-hsp-gantt-modal-table.is-single-provider td:nth-child(5){width:12% !important;text-align:right !important;}
body .vesta-hsp-gantt-modal-table.has-provider-col th:nth-child(1),
body .vesta-hsp-gantt-modal-table.has-provider-col td:nth-child(1){width:24% !important;}
body .vesta-hsp-gantt-modal-table.has-provider-col th:nth-child(2),
body .vesta-hsp-gantt-modal-table.has-provider-col td:nth-child(2){width:34% !important;}
body .vesta-hsp-gantt-modal-table.has-provider-col th:nth-child(3),
body .vesta-hsp-gantt-modal-table.has-provider-col td:nth-child(3){width:14% !important;}
body .vesta-hsp-gantt-modal-table.has-provider-col th:nth-child(4),
body .vesta-hsp-gantt-modal-table.has-provider-col td:nth-child(4){width:10% !important;}
body .vesta-hsp-gantt-modal-table.has-provider-col th:nth-child(5),
body .vesta-hsp-gantt-modal-table.has-provider-col td:nth-child(5){width:10% !important;}
body .vesta-hsp-gantt-modal-table.has-provider-col th:nth-child(6),
body .vesta-hsp-gantt-modal-table.has-provider-col td:nth-child(6){width:8% !important;text-align:right !important;}
body .vesta-hsp-gantt-modal-provider strong,
body .vesta-hsp-gantt-modal-activity strong{
  display:block !important;
  color:#0f172a !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.3 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
body .vesta-hsp-gantt-modal-provider small,
body .vesta-hsp-gantt-modal-activity small,
body .vesta-hsp-gantt-modal-date small{
  display:block !important;
  margin-top:4px !important;
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.3 !important;
}
body .vesta-hsp-gantt-modal-date{white-space:nowrap !important;color:#334155 !important;font-weight:700 !important;}
body .vesta-hsp-gantt-modal-stage .vesta-hsp-stage-chip,
body .vesta-hsp-gantt-modal-status .vesta-hsp-status-chip{
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body .vesta-hsp-gantt-modal-action button{
  border:1px solid rgba(15,23,42,.1) !important;
  background:#fff !important;
  color:#111827 !important;
  min-width:70px !important;
  height:38px !important;
  border-radius:12px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
body .vesta-hsp-gantt-modal-action button:hover{border-color:#f97316 !important;color:#c2410c !important;}
body .vesta-hsp-gantt-provider-card,
body .vesta-hsp-gantt-provider-activities,
body .vesta-hsp-gantt-provider-activity{display:initial;}
@media(max-width:900px){
  body .vesta-hsp-gantt-modal__panel,
  body .vesta-hsp-gantt-modal__panel.is-day-grouped,
  body .vesta-hsp-gantt-modal__panel.is-date-events,
  body .vesta-hsp-gantt-modal__panel.is-provider-period{width:100% !important;min-width:0 !important;max-height:96vh !important;border-radius:18px 18px 0 0 !important;}
  body .vesta-hsp-gantt-modal{padding:0 !important;align-items:flex-end !important;}
  body .vesta-hsp-gantt-modal__summary{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body .vesta-hsp-gantt-modal-table{min-width:860px !important;}
}
