/* =========================================================
   EVENT COUNTRY — PROFESSIONAL TOUR REVIEW WORKSPACE
========================================================= */
#event-detail-view{padding:0!important;background:#f6f8fb!important;overflow:auto!important;}
.ecr-page{min-height:100%;padding:12px 12px 34px;color:#0f172a;animation:ecrPageIn .28s ease both;}
@keyframes ecrPageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ecr-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid #e5eaf1;border-radius:4px;background:linear-gradient(135deg,#fff 0%,#fff8f3 100%);box-shadow:0 8px 24px rgba(15,23,42,.05);}
.ecr-hero-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.ecr-title-wrap{min-width:0}.ecr-kicker{display:block;margin-bottom:5px;color:#f05a12;font-size:10px;font-weight:1000;letter-spacing:.13em}.ecr-title-wrap h1{margin:0;color:#07152d;font-size:clamp(22px,2.1vw,32px);line-height:1.16;letter-spacing:-.035em;font-weight:1000}.ecr-subline{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:9px;color:#41516c;font-size:12px;font-weight:800}.ecr-subline span{display:inline-flex;align-items:center;gap:5px}.ecr-subline .material-icons-outlined{font-size:16px;color:#f05a12}.ecr-hero-badges{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;max-width:420px}.ecr-badge{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border:1px solid #dce3ed;border-radius:4px;background:#fff;color:#334155;font-size:10px;font-weight:1000;text-transform:uppercase;letter-spacing:.035em}.ecr-badge.pending{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.ecr-badge.success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.ecr-badge.warning{border-color:#fde68a;background:#fffbeb;color:#a16207}.ecr-badge.danger{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.ecr-badge.neutral{background:#f8fafc}
.ecr-workflow{display:flex;align-items:center;margin:10px 0;padding:12px 14px;border:1px solid #e5eaf1;border-radius:4px;background:#fff;overflow:auto}.ecr-workflow-step{display:flex;align-items:center;gap:8px;min-width:138px}.ecr-workflow-step>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border:1px solid #d6deea;border-radius:50%;background:#f8fafc;color:#64748b;font-size:11px;font-weight:1000}.ecr-workflow-step>span .material-icons-outlined{font-size:16px}.ecr-workflow-step div{display:flex;flex-direction:column}.ecr-workflow-step strong{font-size:11px;font-weight:1000;color:#1e293b}.ecr-workflow-step small{margin-top:2px;color:#94a3b8;font-size:9px;font-weight:800}.ecr-workflow-step.complete>span{border-color:#86efac;background:#dcfce7;color:#15803d}.ecr-workflow-step.active>span{border-color:#fb923c;background:#fff7ed;color:#ea580c;box-shadow:0 0 0 4px rgba(249,115,22,.09)}.ecr-workflow-step.problem>span{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.ecr-workflow-line{width:42px;height:1px;flex:0 0 42px;margin:0 9px;background:#dfe6ef}.ecr-workflow-step.complete+.ecr-workflow-line{background:#86efac}
.ecr-section-nav{position:sticky;top:0;z-index:45;display:flex;gap:6px;padding:8px;margin-bottom:10px;border:1px solid #e5eaf1;border-radius:4px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);overflow:auto}.ecr-section-nav button{height:31px;padding:0 10px;border:1px solid #dfe5ee;border-radius:4px;background:#fff;color:#334155;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}.ecr-section-nav button:hover{border-color:#fb923c;background:#fff7ed;color:#c2410c}
.ecr-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;align-items:start}.ecr-content{display:flex;flex-direction:column;gap:12px;min-width:0}.ecr-sidebar{position:sticky;top:58px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 86px);overflow:auto;padding-right:2px}.ecr-section,.ecr-review-summary,.ecr-side-block,.ecr-preview-actions,.ecr-missing{border:1px solid #e3e9f1;border-radius:4px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.04)}.ecr-section{scroll-margin-top:58px;overflow:hidden}.ecr-section-head{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-bottom:1px solid #edf1f6;background:#fff}.ecr-section-head>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid #fed7aa;border-radius:4px;background:#fff7ed;color:#ea580c;font-size:19px}.ecr-section-head h3{margin:0;color:#0f172a;font-size:15px;font-weight:1000}.ecr-section-head p{margin:4px 0 0;color:#64748b;font-size:10px;font-weight:750;line-height:1.5}.ecr-section-body{padding:14px 16px}.ecr-kv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.ecr-kv{min-width:0;padding:10px;border:1px solid #e7ecf3;border-radius:4px;background:#f8fafc}.ecr-kv.wide{grid-column:span 2}.ecr-kv span{display:block;color:#64748b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.035em}.ecr-kv strong{display:block;margin-top:5px;color:#0f172a;font-size:12px;font-weight:950;line-height:1.45;overflow-wrap:anywhere}.ecr-kv strong.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.ecr-longtext{margin:0 0 10px;padding:13px;border:1px solid #e5eaf1;border-radius:4px;background:#fbfcfe}.ecr-longtext:last-child{margin-bottom:0}.ecr-longtext h4,.ecr-list-block h4{margin:0 0 8px;color:#172554;font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.025em}.ecr-longtext>div{max-height:390px;overflow:auto;color:#172033;font-size:12px;font-weight:700;line-height:1.78;white-space:normal}.ecr-empty-inline{color:#94a3b8;font-size:11px;font-weight:800;font-style:italic}.ecr-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ecr-list-block{padding:13px;border:1px solid #e5eaf1;border-radius:4px;background:#fbfcfe}.ecr-list-block ul{margin:0;padding-left:18px}.ecr-list-block li{margin:5px 0;color:#1e293b;font-size:11px;font-weight:750;line-height:1.5}.ecr-chip-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.ecr-chip-list>span{display:inline-flex;align-items:center;gap:4px;padding:7px 9px;border:1px solid #dbe5ee;border-radius:4px;background:#f8fafc;color:#334155;font-size:10px;font-weight:900}.ecr-chip-list .material-icons-outlined{font-size:14px;color:#16a34a}.ecr-price-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.ecr-price-grid>div{padding:12px;border:1px solid #fed7aa;border-radius:4px;background:#fff7ed}.ecr-price-grid span{display:block;color:#9a3412;font-size:9px;font-weight:900;text-transform:uppercase}.ecr-price-grid strong{display:block;margin-top:5px;color:#7c2d12;font-size:14px;font-weight:1000}.ecr-raw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ecr-raw-grid>div{min-width:0;padding:10px;border:1px solid #e5eaf1;border-radius:4px;background:#f8fafc}.ecr-raw-grid span{display:block;color:#475569;font-size:9px;font-weight:1000;text-transform:capitalize}.ecr-raw-grid pre{max-height:160px;margin:7px 0 0;overflow:auto;color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.ecr-media-section .ecr-section-body{padding:12px}.ecr-media-stage{position:relative;width:100%;height:min(52vh,520px);min-height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #dfe6ef;border-radius:4px;background:#101827}.ecr-media-stage img,.ecr-media-stage video{width:100%;height:100%;object-fit:contain;background:#101827}.ecr-media-overlay{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:7px}.ecr-media-overlay>span:first-child{padding:6px 8px;border-radius:4px;background:rgba(15,23,42,.78);color:#fff;font-size:10px;font-weight:1000}.ecr-media-arrow,.ecr-media-full{position:absolute;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:rgba(15,23,42,.72);color:#fff;cursor:pointer}.ecr-media-arrow{top:50%;transform:translateY(-50%)}.ecr-media-arrow.prev{left:10px}.ecr-media-arrow.next{right:10px}.ecr-media-full{right:10px;bottom:10px}.ecr-media-arrow:hover,.ecr-media-full:hover{background:#ea580c}.ecr-media-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:9px 2px;color:#334155}.ecr-media-caption strong{font-size:11px;font-weight:1000}.ecr-media-caption span{font-size:10px;font-weight:750;text-align:right}.ecr-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:7px;max-height:212px;overflow:auto;padding:2px}.ecr-thumb{position:relative;height:72px;overflow:hidden;border:2px solid transparent;border-radius:4px;background:#eef2f7;cursor:pointer}.ecr-thumb.active{border-color:#f97316;box-shadow:0 0 0 2px rgba(249,115,22,.13)}.ecr-thumb img{width:100%;height:100%;object-fit:cover}.ecr-thumb>span{width:100%;height:100%;display:grid;place-items:center;color:#f97316;font-size:30px}.ecr-thumb small{position:absolute;right:4px;bottom:4px;padding:2px 5px;border-radius:3px;background:rgba(15,23,42,.78);color:#fff;font-size:8px;font-weight:1000}.ecr-media-empty{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;text-align:center}.ecr-media-empty .material-icons-outlined{font-size:48px;color:#f97316}.ecr-media-empty strong{margin-top:8px;color:#0f172a}.ecr-media-empty p{font-size:11px}.ecr-broken-media{opacity:.3!important;background:#fee2e2!important}
.ecr-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px}.ecr-preview-actions button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px;border:1px solid #dfe6ef;border-radius:4px;background:#fff;color:#334155;font-size:9px;font-weight:950;cursor:pointer}.ecr-preview-actions button:hover{border-color:#fb923c;background:#fff7ed;color:#c2410c}.ecr-preview-actions .material-icons-outlined{font-size:16px}.ecr-review-summary{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4px}.ecr-review-summary>div{padding:9px;border-bottom:1px solid #edf1f6}.ecr-review-summary>div:nth-last-child(-n+2){border-bottom:0}.ecr-review-summary span{display:block;color:#64748b;font-size:8px;font-weight:900;text-transform:uppercase}.ecr-review-summary strong{display:block;margin-top:4px;color:#0f172a;font-size:10px;font-weight:1000;line-height:1.35}.ecr-missing{padding:11px;border-color:#fde68a;background:#fffbeb}.ecr-missing strong{display:flex;align-items:center;gap:5px;color:#92400e;font-size:10px;font-weight:1000}.ecr-missing .material-icons-outlined{font-size:16px}.ecr-missing ul{margin:7px 0 0;padding-left:17px;color:#92400e;font-size:9px;font-weight:800;line-height:1.55}.ecr-side-block{padding:12px}.ecr-side-title{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.ecr-side-title>span{width:31px;height:31px;display:grid;place-items:center;flex:0 0 31px;border-radius:4px;background:#fff7ed;color:#ea580c;font-size:18px}.ecr-side-title div{display:flex;flex-direction:column}.ecr-side-title strong{color:#0f172a;font-size:12px;font-weight:1000}.ecr-side-title small{margin-top:3px;color:#64748b;font-size:9px;font-weight:750;line-height:1.4}.ecr-check-progress{margin-bottom:9px}.ecr-check-progress>span{display:block;margin-bottom:5px;color:#475569;font-size:9px;font-weight:900}.ecr-check-progress>i{display:block;height:5px;overflow:hidden;border-radius:20px;background:#e9eef4}.ecr-check-progress b{display:block;height:100%;border-radius:20px;background:#f97316;transition:width .2s ease}.ecr-checklist{display:flex;flex-direction:column;gap:5px;max-height:275px;overflow:auto;padding-right:3px}.ecr-checklist label{display:flex;align-items:flex-start;gap:7px;padding:7px;border:1px solid #e5eaf1;border-radius:4px;background:#fbfcfe;cursor:pointer}.ecr-checklist label:hover{border-color:#fdba74;background:#fff7ed}.ecr-checklist input{margin-top:2px;accent-color:#f97316}.ecr-checklist span{display:flex;flex-direction:column}.ecr-checklist strong{color:#25324a;font-size:9px;font-weight:900;line-height:1.4}.ecr-checklist small{margin-top:2px;color:#94a3b8;font-size:8px;font-weight:800}.ecr-checklist.readonly label{cursor:default}.ecr-side-field{display:flex;flex-direction:column;gap:5px;margin-top:9px}.ecr-side-field>span,.ecr-finance-inputs span{color:#475569;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.025em}.ecr-side-field select,.ecr-side-field textarea,.ecr-finance-inputs input{width:100%;border:1px solid #dce3ec;border-radius:4px;background:#fff;color:#0f172a;font:inherit;font-size:10px;font-weight:750;outline:none}.ecr-side-field select,.ecr-finance-inputs input{height:36px;padding:0 9px}.ecr-side-field textarea{min-height:112px;padding:9px;resize:vertical;line-height:1.55}.ecr-side-field select:focus,.ecr-side-field textarea:focus,.ecr-finance-inputs input:focus{border-color:#fb923c;box-shadow:0 0 0 3px rgba(249,115,22,.1)}.ecr-review-actions{display:flex;flex-direction:column;gap:6px;margin-top:10px}.ecr-review-actions .btn{width:100%;min-height:38px;justify-content:center;border-radius:4px!important;font-size:10px!important}.ecr-review-actions .btn:disabled{opacity:.48;cursor:not-allowed}.ecr-finance-inputs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ecr-finance-inputs label{display:flex;flex-direction:column;gap:4px}.ecr-finance-calculation{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.ecr-finance-calculation>div{padding:8px;border:1px solid #e5eaf1;border-radius:4px;background:#f8fafc}.ecr-finance-calculation span{display:block;color:#64748b;font-size:8px;font-weight:900}.ecr-finance-calculation strong{display:block;margin-top:4px;color:#0f172a;font-size:10px;font-weight:1000}.ecr-final-checks{display:flex;flex-direction:column;gap:7px}.ecr-final-checks>div{padding:9px;border:1px solid #e5eaf1;border-radius:4px;background:#f8fafc}.ecr-final-checks span{display:block;color:#64748b;font-size:8px;font-weight:900;text-transform:uppercase}.ecr-final-checks strong{display:block;margin-top:3px;color:#0f172a;font-size:11px;font-weight:1000}.ecr-final-checks small{display:block;margin-top:4px;color:#64748b;font-size:9px;font-weight:750;line-height:1.4}
.ecr-history-list{display:flex;flex-direction:column;gap:7px}.ecr-history-item{display:grid;grid-template-columns:31px 1fr;gap:9px;padding:10px;border:1px solid #e5eaf1;border-radius:4px;background:#fbfcfe}.ecr-history-item>span{width:31px;height:31px;display:grid;place-items:center;border-radius:4px;background:#fff7ed;color:#ea580c;font-size:17px}.ecr-history-item>div>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.ecr-history-item strong{color:#0f172a;font-size:10px;font-weight:1000;text-transform:capitalize}.ecr-history-item p{margin:5px 0;color:#334155;font-size:10px;font-weight:750;line-height:1.55}.ecr-history-item small{color:#94a3b8;font-size:8px;font-weight:800}.ecr-history-loading{display:flex;align-items:center;gap:8px;color:#64748b;font-size:10px;font-weight:900}.ecr-spinner{width:17px;height:17px;border:2px solid #e2e8f0;border-top-color:#f97316;border-radius:50%;animation:ecrSpin .8s linear infinite}@keyframes ecrSpin{to{transform:rotate(360deg)}}
.ecr-modal-root{position:fixed;inset:0;z-index:40000;display:grid;place-items:center;padding:18px}.ecr-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.78);backdrop-filter:blur(5px)}.ecr-media-modal,.ecr-preview-modal{position:relative;z-index:1;width:min(1100px,96vw);max-height:94vh;overflow:auto;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.35);animation:ecrModalIn .2s ease both}@keyframes ecrModalIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.ecr-media-modal{display:flex;flex-direction:column;align-items:center;background:#020617}.ecr-media-modal>button,.ecr-preview-modal header button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #dce3ec;border-radius:4px;background:#fff;color:#0f172a;cursor:pointer}.ecr-media-modal>button{position:absolute;right:12px;top:12px;z-index:2}.ecr-media-modal img,.ecr-media-modal video{max-width:100%;max-height:82vh;object-fit:contain}.ecr-media-modal footer{width:100%;display:flex;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;color:#0f172a}.ecr-media-modal footer strong{font-size:11px}.ecr-media-modal footer span{font-size:10px}.ecr-preview-modal{width:min(900px,96vw)}.ecr-preview-modal.mobile{width:min(420px,95vw)}.ecr-preview-modal header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-bottom:1px solid #e5eaf1}.ecr-preview-modal header span{color:#f97316;font-size:9px;font-weight:1000;letter-spacing:.12em}.ecr-preview-modal header h3{margin:3px 0 0;font-size:15px}.ecr-preview-frame{background:#f8fafc}.ecr-preview-cover{width:100%;height:360px;object-fit:cover}.ecr-preview-modal.mobile .ecr-preview-cover{height:240px}.ecr-preview-no-image{height:250px;display:grid;place-items:center;background:#e2e8f0;color:#64748b;font-weight:900}.ecr-preview-copy{padding:18px}.ecr-preview-copy h2{margin:9px 0 6px;font-size:25px;line-height:1.2}.ecr-preview-modal.mobile .ecr-preview-copy h2{font-size:20px}.ecr-preview-copy p{color:#334155;font-size:12px;font-weight:650;line-height:1.7}.ecr-preview-location{display:flex;align-items:center;gap:5px}.ecr-preview-location .material-icons-outlined{font-size:17px;color:#f97316}.ecr-preview-price{display:block;margin:10px 0;color:#ea580c;font-size:20px}.ecr-preview-tags{display:flex;gap:6px}.ecr-preview-copy ul{padding-left:18px;color:#334155;font-size:11px;line-height:1.6}.ecr-preview-operational{margin-top:14px;padding:12px;border:1px solid #dce3ec;border-radius:4px;background:#fff}
@media(max-width:1220px){.ecr-layout{grid-template-columns:minmax(0,1fr) 320px}.ecr-kv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecr-price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.ecr-layout{grid-template-columns:1fr}.ecr-sidebar{position:static;max-height:none;overflow:visible}.ecr-hero{flex-direction:column}.ecr-hero-badges{justify-content:flex-start;max-width:none}.ecr-section-nav{top:0}.ecr-preview-actions{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.ecr-page{padding:8px}.ecr-hero{padding:12px}.ecr-hero-main{flex-direction:column}.ecr-title-wrap h1{font-size:22px}.ecr-subline{flex-direction:column;align-items:flex-start}.ecr-workflow-step{min-width:118px}.ecr-layout{gap:8px}.ecr-section-body{padding:11px}.ecr-kv-grid,.ecr-two-col,.ecr-raw-grid,.ecr-review-summary,.ecr-finance-calculation{grid-template-columns:1fr}.ecr-kv.wide{grid-column:auto}.ecr-price-grid{grid-template-columns:1fr 1fr}.ecr-media-stage{height:330px;min-height:250px}.ecr-preview-actions{grid-template-columns:1fr 1fr}.ecr-sidebar{padding-bottom:18px}.ecr-media-caption{flex-direction:column}.ecr-thumbnails{grid-template-columns:repeat(3,1fr)}}


/* =========================================================
   EVENT COUNTRY — FINAL WORKFLOW LAYOUT + FLOATING PROCEED BAR
   Keeps the map first, final approvals below it, and exposes
   a role-specific proceed action at every workflow stage.
========================================================= */

/* Overview must be a real scrollable page, not a one-screen map crop. */
#overview-view.ec-overview-map-only,
#overview-view.ec-overview-map-only:not(.hidden) {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 1440px !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding-bottom: 110px !important;
}

#overview-view.ec-overview-map-only .overview-map-full-panel {
  order: 1 !important;
  width: 100% !important;
  height: clamp(560px, 68vh, 760px) !important;
  min-height: 560px !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
}

#overview-view.ec-overview-map-only #ecw-admin-review-panel,
#ecw-admin-review-panel.ecw-admin-panel-below-map {
  order: 2 !important;
  width: 100% !important;
  min-height: 220px !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow: visible !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.055) !important;
}

#ecw-admin-review-panel .ecw-panel-head {
  position: static !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 14px !important;
}

#ecw-admin-review-panel .ecw-panel-kpis {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}

#ecw-admin-review-panel .ecw-panel-kpis > div {
  min-height: 70px !important;
  padding: 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  background: #f8fafc !important;
}

#ecw-admin-review-panel .ecw-workflow-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  overflow: visible !important;
}

#ecw-admin-review-panel .ecw-final-row {
  display: grid !important;
  grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(105px, .65fr)) minmax(110px, .65fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 13px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 4px !important;
  background: #fff !important;
}

#ecw-admin-review-panel .ecw-final-row:hover {
  border-color: #fdba74 !important;
  background: #fffaf5 !important;
  transform: translateY(-1px);
}

#ecw-admin-review-panel .ecw-final-row .ecw-row-main small {
  display: block !important;
  margin-top: 4px !important;
}

#ecw-admin-review-panel .ecw-final-row .btn {
  white-space: nowrap !important;
}

.ecw-pass-text { color: #15803d !important; }
.ecw-publication-warning {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid #fbbf24;
  border-radius: 4px;
  background: #fffbeb;
  color: #92400e;
  font-size: 11px;
  line-height: 1.55;
}
.ecw-publication-warning strong { font-size: 12px; }
.ecw-publication-warning ul { margin: 7px 0; padding-left: 18px; }
.ecw-publication-warning p { margin: 6px 0 0; }

/* Full-review stage dock: always visible, but never covers Team Chat. */
.ecr-page { padding-bottom: 118px !important; }
.ecr-stage-dock {
  position: fixed;
  right: 194px;
  bottom: 18px;
  z-index: 90000;
  width: min(820px, calc(100vw - 510px));
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 13px;
  border: 1px solid #dbe3ed;
  border-left: 4px solid #f97316;
  border-radius: 4px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 18px 46px rgba(15,23,42,.18);
  backdrop-filter: blur(14px);
  animation: ecrDockIn .22s ease both;
}
@keyframes ecrDockIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.ecr-stage-dock.qa { border-left-color: #2563eb; }
.ecr-stage-dock.finance { border-left-color: #7c3aed; }
.ecr-stage-dock.admin { border-left-color: #f97316; }
.ecr-stage-dock.programs { border-left-color: #0f766e; }
.ecr-stage-dock.marketing { border-left-color: #db2777; }
.ecr-stage-dock-info { min-width: 175px; display: flex; flex-direction: column; }
.ecr-stage-dock-kicker { color: #64748b; font-size: 8px; font-weight: 1000; letter-spacing: .12em; }
.ecr-stage-dock-info strong { margin-top: 2px; color: #0f172a; font-size: 13px; font-weight: 1000; }
.ecr-stage-dock-info small { margin-top: 3px; color: #64748b; font-size: 9px; font-weight: 850; }
.ecr-stage-dock-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.ecr-stage-dock-actions .btn { min-height: 38px !important; height: auto !important; padding: 8px 12px !important; border-radius: 4px !important; white-space: nowrap; }
.ecr-stage-dock-actions .btn-primary { box-shadow: 0 8px 20px rgba(249,115,22,.22) !important; }

/* Final publication confirmation. */
.ecr-publish-confirm {
  position: relative;
  z-index: 1;
  width: min(760px, 96vw);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid #dce3ec;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.32);
}
.ecr-publish-confirm header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  border-bottom: 1px solid #e5eaf1;
  background: linear-gradient(180deg,#fff7ed,#fff);
}
.ecr-publish-confirm header span { color: #ea580c; font-size: 9px; font-weight: 1000; letter-spacing: .13em; }
.ecr-publish-confirm header h3 { margin: 5px 0 0; color: #0f172a; font-size: 20px; }
.ecr-publish-confirm header p { margin: 7px 0 0; color: #64748b; font-size: 10px; line-height: 1.55; font-weight: 750; }
.ecr-publish-confirm header button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #dce3ec; border-radius: 4px; background: #fff; cursor: pointer; }
.ecr-publish-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding: 16px; }
.ecr-publish-grid > div { padding: 11px; border: 1px solid #e2e8f0; border-radius: 4px; background: #f8fafc; }
.ecr-publish-grid span { display: block; color: #64748b; font-size: 8px; font-weight: 1000; text-transform: uppercase; }
.ecr-publish-grid strong { display: block; margin-top: 4px; color: #0f172a; font-size: 11px; line-height: 1.4; }
.ecr-publish-ready,.ecr-publish-blockers { margin: 0 16px 16px; padding: 12px; border-radius: 4px; }
.ecr-publish-ready { display: flex; align-items: center; gap: 9px; border: 1px solid #86efac; background: #f0fdf4; color: #166534; }
.ecr-publish-ready .material-icons-outlined { font-size: 24px; }
.ecr-publish-ready strong,.ecr-publish-ready small { display: block; }
.ecr-publish-ready small { margin-top: 3px; font-size: 9px; }
.ecr-publish-blockers { border: 1px solid #fca5a5; background: #fef2f2; color: #991b1b; }
.ecr-publish-blockers ul { margin: 8px 0 0; padding-left: 18px; font-size: 10px; line-height: 1.55; }
.ecr-publish-confirm footer { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 16px; border-top: 1px solid #e5eaf1; }

/* Make sure scrolling reaches everything, including the final approval panel. */
#dashboard-shell .content-area { padding-bottom: 120px !important; }

@media (max-width: 1180px) {
  #ecw-admin-review-panel .ecw-final-row {
    grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(100px, .7fr)) auto !important;
  }
  #ecw-admin-review-panel .ecw-final-row > div:nth-of-type(4),
  #ecw-admin-review-panel .ecw-final-row > div:nth-of-type(5) { display: none !important; }
  .ecr-stage-dock { right: 18px; width: min(820px, calc(100vw - 330px)); bottom: 82px; }
}

@media (max-width: 900px) {
  #overview-view.ec-overview-map-only .overview-map-full-panel {
    height: 680px !important;
    min-height: 680px !important;
  }
  #ecw-admin-review-panel .ecw-panel-kpis { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  #ecw-admin-review-panel .ecw-final-row { grid-template-columns: 1fr auto !important; }
  #ecw-admin-review-panel .ecw-final-row > div:not(.ecw-row-main) { display: none !important; }
  .ecr-stage-dock { left: 12px; right: 12px; bottom: 78px; width: auto; }
}

@media (max-width: 680px) {
  #overview-view.ec-overview-map-only .overview-map-full-panel { height: 620px !important; min-height: 620px !important; }
  #ecw-admin-review-panel { padding: 11px !important; }
  #ecw-admin-review-panel .ecw-panel-head { flex-direction: column !important; }
  #ecw-admin-review-panel .ecw-panel-kpis { grid-template-columns: 1fr 1fr !important; }
  .ecr-stage-dock { align-items: stretch; flex-direction: column; gap: 8px; max-height: 44vh; overflow: auto; }
  .ecr-stage-dock-info { min-width: 0; }
  .ecr-stage-dock-actions { justify-content: stretch; }
  .ecr-stage-dock-actions .btn { flex: 1 1 100%; }
  .ecr-publish-grid { grid-template-columns: 1fr; }
}

/* Workflow modals must sit above the floating stage dock and Team Chat. */
.ecr-modal-root { z-index: 120000 !important; }
