.cp-page{margin:0;background:#f4f1e9;color:#17343e;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.55}.cp-shell{max-width:1280px;margin:auto;padding:28px}.cp-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.cp-logo{width:190px;height:auto}.cp-account{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cp-page button,.cp-root button,.cp-modal button{cursor:pointer;background:#173e48;color:white;border:1px solid #173e48;border-radius:8px;padding:10px 15px;font:inherit;font-weight:600}.cp-page button.secondary,.cp-root button.secondary,.cp-modal button.secondary{background:#fff;color:#173e48;border-color:#cbd4d4}.cp-page button:disabled,.cp-root button:disabled,.cp-modal button:disabled{opacity:.55;cursor:wait}.cp-page input,.cp-page select,.cp-page textarea,.cp-root input,.cp-root select,.cp-root textarea,.cp-modal input,.cp-modal select,.cp-modal textarea{box-sizing:border-box;max-width:100%;width:100%;border:1px solid #aebfc1;border-radius:7px;padding:10px;background:white;color:#17343e;font:inherit}.cp-page input[type=checkbox],.cp-modal input[type=checkbox],.cp-root input[type=checkbox]{width:auto}.cp-page :focus-visible,.cp-root :focus-visible,.cp-modal :focus-visible{outline:3px solid #d99032;outline-offset:3px}.cp-page h1,.cp-root h1{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:0 0 10px}.cp-page h2,.cp-root h2,.cp-modal h2{font-size:21px;margin:0 0 12px}.cp-page h3,.cp-root h3,.cp-modal h3{font-size:17px;margin:0 0 8px}.cp-muted{color:#53666b}.cp-intro{margin-bottom:22px}.cp-nav{display:flex;gap:7px;overflow:auto;padding:4px 0 16px}.cp-nav button{white-space:nowrap;background:transparent!important;color:#38535c!important;border-color:transparent!important}.cp-nav button[aria-current=page]{background:#173e48!important;color:#fff!important}.cp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.cp-card{background:#fff;border:1px solid #d9dfdc;border-radius:13px;padding:23px;margin-bottom:16px;box-shadow:0 3px 15px #152f3805}.cp-card>p:last-child{margin-bottom:0}.cp-row{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #e6e9e5}.cp-row:last-child{border-bottom:0}.cp-row>div{min-width:0}.cp-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cp-pill{display:inline-block;border-radius:30px;background:#edf1ed;padding:4px 10px;font-size:12px;font-weight:650;margin:2px}.cp-pill.warn{background:#fff0d0;color:#775000}.cp-pill.danger{background:#fce5e0;color:#9c3028}.cp-pill.good{background:#e6f3ec;color:#225844}.cp-note{padding:15px 18px;background:#edf3f2;border-left:3px solid #4b827f;border-radius:6px;margin:15px 0}.cp-note.warn{background:#fff3d9;border-color:#bb872a}.cp-note.danger{background:#ffebe5;border-color:#b54a3c}.cp-number{font-size:40px;line-height:1.2;display:block;margin:10px 0;font-variant-numeric:tabular-nums}.cp-meter{height:7px;background:#e5ebe8;border-radius:10px;overflow:hidden;margin:9px 0}.cp-meter>span{display:block;background:#467e78;height:100%}.cp-form{display:grid;gap:15px}.cp-form label{display:grid;gap:5px;font-weight:550}.cp-form small{font-weight:400}.cp-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.cp-empty{padding:35px;text-align:center;border:1px dashed #b7c4c0;border-radius:10px;background:#fafaf6}.cp-loading{padding:55px;text-align:center}.cp-error{background:#ffebe5;color:#8d251b;border:1px solid #dba89d;border-radius:8px;padding:15px}.cp-dialog-backdrop{position:fixed;inset:0;background:#071c2499;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.cp-modal{background:#f4f1e9;color:#17343e;border-radius:15px;max-width:980px;width:100%;max-height:92vh;overflow:auto;padding:25px;font:15px/1.55 Inter,system-ui,sans-serif;box-sizing:border-box}.cp-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:-25px;background:#f4f1e9;padding:12px 0;z-index:2}.cp-modal a,.cp-page a,.cp-root a{color:#1d626b;overflow-wrap:anywhere}.cp-question{background:#fff;border:1px solid #d7e0dc;border-radius:10px;padding:18px;margin:15px 0}.cp-question textarea{min-height:80px}.cp-contact{border-left:3px solid #82aaa0;padding:15px;background:#fff;margin:10px 0;border-radius:8px}.cp-checks{display:flex;gap:10px;flex-wrap:wrap}.cp-checks label{display:flex;align-items:center;gap:5px;font-weight:400}.cp-message{border-radius:12px;background:#fff;padding:15px;margin:12px 0;border:1px solid #dce3e0;white-space:pre-wrap;overflow-wrap:anywhere}.cp-message.internal{background:#fff3d9}.cp-auth{max-width:430px;margin:8vh auto;padding:30px}.cp-root{color:#17343e;line-height:1.55}.cp-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.cp-hidden{display:none!important}.cp-list{list-style:none;padding:0}.cp-status{font-size:13px}.cp-dialog-content{min-height:70px}.cp-contact-controls{display:flex;justify-content:space-between;align-items:center}.cp-footer{font-size:12px;color:#647777;margin:25px 0}.cp-table-wrap{overflow:auto}.cp-table{width:100%;border-collapse:collapse}.cp-table td,.cp-table th{text-align:left;padding:10px;border-bottom:1px solid #dce3e0}body.cp-dialog-open{overflow:hidden}@media(max-width:620px){.cp-shell{padding:16px}.cp-top{align-items:flex-start}.cp-logo{width:140px}.cp-dialog-backdrop{padding:5px}.cp-modal{padding:16px;max-height:98vh}.cp-card{padding:17px}.cp-account{justify-content:flex-end;font-size:12px}.cp-account select{max-width:190px}.cp-number{font-size:32px}.cp-dialog-head{top:-16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.cp-mobile-nav{display:none}@media(min-width:900px){.cp-nav{flex-wrap:wrap}.cp-account select{width:auto;min-width:230px}}@media(max-width:620px){.cp-nav{display:none}.cp-mobile-nav{display:grid;gap:5px;margin-bottom:18px;font-weight:600}}

.cp-site-filter{display:grid;gap:6px;max-width:360px;margin:0 0 20px;font-weight:600}[data-cp-contact-summary]{margin-top:12px;padding:10px 14px;background:#edf3f2;border-radius:8px;overflow-wrap:anywhere}[data-cp-contact-summary] p{margin:5px 0}.cp-card fieldset{min-width:0}.cp-page small,.cp-root small,.cp-modal small{overflow-wrap:anywhere}

/* Guided customer workspace: clear navigation, focused tasks and mobile controls. */
.cp-shell{max-width:1460px;padding:28px 32px}.cp-root,.cp-modal{--cp-ink:#173e48;--cp-line:#d8e2dd;--cp-soft:#edf3ef;--cp-accent:#e7b76d}.cp-layout{display:grid;grid-template-columns:242px minmax(0,1fr);gap:32px;align-items:start}.cp-sidebar{position:sticky;top:20px;background:#fafbf7;border:1px solid var(--cp-line);border-radius:18px;padding:16px 10px}.cp-nav-caption{padding:0 12px;font-size:11px;font-weight:750;letter-spacing:.13em;color:#687a78}.cp-nav{display:flex;flex-direction:column;gap:5px;overflow:visible;padding:0}.cp-nav button{display:flex;align-items:center;text-align:left;gap:11px;white-space:normal;min-height:48px;padding:11px 12px;font-size:13px;line-height:1.4;border-radius:10px}.cp-nav button:hover{background:#e8efeb!important}.cp-nav button[aria-current=page]{background:#173e48!important;color:#fff!important;box-shadow:0 4px 12px #173e481a}.cp-nav button>span:not(.cp-badge){flex:1}.cp-icon{width:23px;height:23px;flex:0 0 23px}.cp-workspace{min-width:0}.cp-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:5px 0 20px}.cp-intro h1{font-size:clamp(26px,3vw,35px)}.cp-intro p{margin:5px 0}.cp-intro>button{flex-shrink:0}.cp-eyebrow{font-size:11px;font-weight:750;letter-spacing:.06em;color:#576f6a}.cp-context{font-size:12px;color:#5e716c;margin:5px 0 8px;overflow-wrap:anywhere}.cp-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:20px;background:#f7dfb4;color:#503800;font-size:12px;font-weight:750;padding:0 5px;box-sizing:border-box}.cp-next{border:1px solid #a8c4b7;border-top:4px solid #4a7e6e}.cp-next h2{display:flex;gap:9px;align-items:center}.cp-next .cp-row{flex-wrap:nowrap}.cp-next .cp-row>div{flex:1}.cp-next button{flex-shrink:0;max-width:230px}.cp-preparing{display:flex;gap:16px;background:#f4f7f2;border-color:#c8d5c9}.cp-preparing>.cp-icon{width:32px;height:32px;flex-basis:32px;color:#6b8274}.cp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 28px}.cp-root .cp-tile{display:flex;flex-direction:column;text-align:left;gap:8px;min-height:146px;padding:18px;border-radius:14px;border-color:var(--cp-line);background:#fff;color:var(--cp-ink);box-shadow:0 3px 10px #173e4804}.cp-tile:hover{border-color:#659a89!important;background:#f8fcf9!important;box-shadow:0 5px 16px #173e4810}.cp-tile small{font-size:12px;line-height:1.5;color:#61756c;font-weight:400}.cp-tile-top{display:flex;justify-content:space-between;width:100%;margin-bottom:4px}.cp-tile-top .cp-icon{width:27px;height:27px;color:#4a7e6e}.cp-progress-summary .cp-card{padding:18px}.cp-progress-summary .cp-number{font-size:30px}.cp-progress-summary .cp-number small{font-size:15px;font-weight:500}.cp-progress-summary p{font-size:13px;color:#5e716c}.cp-root progress,.cp-modal progress{appearance:none;width:100%;height:7px;border:0;border-radius:10px;background:#e1e9e4;color:#4a7e6e}.cp-root progress::-webkit-progress-bar,.cp-modal progress::-webkit-progress-bar{background:#e1e9e4;border-radius:10px}.cp-root progress::-webkit-progress-value,.cp-modal progress::-webkit-progress-value{background:#4a7e6e;border-radius:10px}.cp-root progress::-moz-progress-bar,.cp-modal progress::-moz-progress-bar{background:#4a7e6e;border-radius:10px}.cp-mobile-dock{display:none}.cp-list-tools{display:flex;gap:12px;align-items:end;margin:20px 0}.cp-list-tools label:first-child{flex:1}.cp-list-tools label{display:grid;gap:5px;font-size:12px;font-weight:650}.cp-list-tools button{font-size:12px;min-height:43px}.cp-root [hidden],.cp-modal [hidden]{display:none!important}.cp-question[hidden]{display:none!important}.cp-file-picker{min-width:0;border:1px solid #d3dfd7;border-radius:10px;padding:13px}.cp-file-picker legend{padding:0 7px;font-size:13px;font-weight:650}.cp-file-picker .cp-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px;overflow:auto;margin-top:12px}.cp-file-picker .cp-checks label{padding:8px;border-radius:6px;background:#f3f7f2;overflow-wrap:anywhere}.cp-file-picker small{display:block;color:#64756c}.cp-wizard{padding:16px;border:1px solid #bacfc2;border-radius:12px;background:#edf4ee;margin:15px 0}.cp-wizard-progress{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:16px}.cp-wizard-controls{display:flex;align-items:end;gap:12px;margin-bottom:16px}.cp-wizard-controls label{flex:1;min-width:0;font-size:13px}.cp-wizard-controls button{font-size:12px}.cp-wizard .cp-actions{justify-content:space-between}.cp-wizard-bottom{justify-content:space-between;margin-bottom:20px}.cp-wizard select{white-space:nowrap;text-overflow:ellipsis}.cp-save-status{padding:10px 12px;background:#eef3ef;border-radius:7px;font-size:13px;margin:0}.cp-save-status.good{background:#e6f3ec;color:#225844}.cp-save-status.warn{background:#fff0d0;color:#775000}.cp-question>h3{scroll-margin-top:90px}.cp-camera{padding:13px;background:#f2f5ef;border-radius:8px}.cp-modal button,.cp-root button{min-height:44px}.cp-error{margin:12px 0}.cp-error p{margin:8px 0 15px}.cp-highlight{outline:3px solid #b7781c!important;outline-offset:3px}.cp-menu{display:grid;gap:8px}.cp-menu button{display:flex;gap:12px;align-items:center;text-align:left}.cp-section-heading{flex-wrap:wrap}.cp-card h3,.cp-question h3{overflow-wrap:anywhere}#cp-content{scroll-margin-top:20px}#cp-content:focus{outline:none}.cp-modal .cp-form>button{justify-self:start}.cp-dialog-head>button{flex-shrink:0}.cp-card .cp-number small{font-size:16px}.cp-section-title{margin:0 0 20px}
@media(min-width:900px){.cp-mobile-nav{display:none}.cp-shell .cp-account select{min-width:160px;max-width:300px}.cp-shell .cp-top{border-bottom:1px solid #d8e2dd;padding-bottom:20px;margin-bottom:24px}}
@media(max-width:1100px){.cp-layout{grid-template-columns:220px minmax(0,1fr);gap:22px}.cp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-intro{align-items:flex-start;flex-direction:column}.cp-shell{padding:22px}}
@media(max-width:760px){.cp-layout{display:block}.cp-sidebar{display:none}.cp-mobile-nav{display:none}.cp-shell{padding:16px 16px 100px}.cp-top{align-items:center;margin-bottom:20px;gap:12px}.cp-logo{width:125px}.cp-account{font-size:12px;gap:6px;justify-content:flex-end}.cp-account select{max-width:175px}.cp-intro{gap:12px}.cp-intro>button{width:100%}.cp-tiles{gap:10px}.cp-root .cp-tile{padding:14px;min-height:157px}.cp-tile strong{font-size:14px}.cp-tile small{font-size:12px}.cp-mobile-dock{position:fixed;z-index:100;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-top:1px solid #cad8cf;padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -5px 20px #173e4808}.cp-mobile-dock button{border:0;background:transparent;color:#4c655b;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 2px;gap:4px;font-size:11px;position:relative;min-height:53px}.cp-mobile-dock button[aria-current=page]{background:#e7f0e9;color:#173e48}.cp-mobile-dock .cp-badge{position:absolute;top:0;right:15%}.cp-next .cp-row{flex-wrap:wrap}.cp-next .cp-row>div{flex-basis:100%}.cp-next button{max-width:none;width:100%}.cp-list-tools{flex-wrap:wrap;gap:10px}.cp-list-tools label:first-child{flex-basis:100%}.cp-list-tools label:nth-child(2){flex:1}.cp-wizard-controls{align-items:stretch;flex-direction:column}.cp-wizard-controls button{width:100%}.cp-wizard .cp-actions{gap:5px}.cp-wizard .cp-actions strong{font-size:12px}.cp-wizard .cp-actions button{padding:8px}.cp-file-picker .cp-checks{grid-template-columns:1fr}.cp-modal{max-height:96dvh;border-radius:12px}.cp-dialog-backdrop{padding:6px}.cp-dialog-head{gap:10px}.cp-dialog-head h2{font-size:18px}.cp-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cp-progress-summary .cp-card{padding:13px}.cp-progress-summary h3{font-size:14px}.cp-progress-summary .cp-number{font-size:25px}.cp-preparing{padding:15px;gap:10px}.cp-site-filter{max-width:none}.cp-root .cp-card .cp-actions>a{padding:10px 0}.cp-root .cp-row button{white-space:normal}.cp-account>span{max-width:175px;overflow-wrap:anywhere}.cp-form fieldset{margin:0}.cp-modal .cp-form>button{justify-self:stretch}}

/* Guided collection: simple blocks, source confirmation and progressive detail. */
.cp-modal [hidden],.cp-root [hidden]{display:none!important}.cp-guided-block>summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:1.12rem;font-weight:700;cursor:pointer;min-height:48px}.cp-guided-block>summary small{font-weight:400}.cp-guided-block[open]>summary{margin-bottom:18px}.cp-block-section{padding:18px 0;border-top:1px solid #dde4e7}.cp-context-card{border-left:4px solid #147d70}.cp-recover{border-left:4px solid #b57a16}.cp-source-fact h4{margin:0 0 10px}.cp-known-value{white-space:pre-wrap}.cp-plain-question{font-weight:600;margin-top:0}.cp-guided-hint{color:#425b64;font-size:.94rem}.cp-scope-name{font-weight:700;color:#147d70}.cp-source-fact textarea{min-height:80px}.cp-guided-next{background:#f0f8f5}.cp-modal [data-cp-attachments]{display:grid;gap:14px}.cp-context-card p,.cp-source-fact p{overflow-wrap:anywhere}.cp-guided-block summary:focus-visible{outline:3px solid #147d70;outline-offset:4px}@media(max-width:600px){.cp-guided-block>summary{align-items:flex-start;flex-direction:column}.cp-block-section .cp-actions,.cp-recover .cp-actions{width:100%}.cp-recover .cp-row{align-items:flex-start}}

/* The embedded client area already has the application's brand and user header. */
#cp-embedded .cp-logo,
#cp-embedded .cp-account > span:first-child { display: none; }
#cp-embedded .cp-top { justify-content: flex-end; }
#cp-embedded .cp-account { justify-content: flex-end; width: 100%; }

@media (max-width: 700px) {
  #cp-embedded .cp-account {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  #cp-embedded .cp-account select {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
  }
  #cp-embedded .cp-account button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    white-space: normal;
  }
}

/* The customer reviews rooms by type, then opens the related source facts. */
.cp-context-environments {
  display: grid;
  gap: 10px;
}

.cp-context-environments-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.cp-context-environments-head h4 {
  margin: 0;
  font-size: 17px;
}

.cp-context-environments-head p {
  margin: 0;
  color: #53666b;
  font-size: 13px;
}

.cp-context-type,
.cp-context-local,
.cp-context-copy {
  min-width: 0;
  border: 1px solid #d8e2dd;
  border-radius: 10px;
  background: #fff;
}

.cp-context-type > summary,
.cp-context-local > summary,
.cp-context-copy > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 14px;
  list-style: none;
  cursor: pointer;
}

.cp-context-type > summary::-webkit-details-marker,
.cp-context-local > summary::-webkit-details-marker,
.cp-context-copy > summary::-webkit-details-marker {
  display: none;
}

.cp-context-type > summary > strong,
.cp-context-local > summary > strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.cp-context-type > summary > span,
.cp-context-local > summary > span,
.cp-context-copy > summary > small {
  margin-left: auto;
  color: #53666b;
  font-size: 12px;
  white-space: nowrap;
}

.cp-context-type > summary::after,
.cp-context-local > summary::after,
.cp-context-copy > summary::after {
  content: "⌄";
  color: #53666b;
  font-size: 20px;
  line-height: 1;
}

.cp-context-type[open] > summary::after,
.cp-context-local[open] > summary::after,
.cp-context-copy[open] > summary::after {
  transform: rotate(180deg);
}

.cp-context-type-body,
.cp-context-local-body,
.cp-context-copy-body {
  display: grid;
  gap: 9px;
  padding: 11px;
  border-top: 1px solid #e2e9e5;
}

.cp-context-local { background: #f9fbf9; }
.cp-context-copy { background: #fff; }
.cp-context-copy-body .cp-source-fact { margin: 0; padding: 15px; }
.cp-context-general { margin-top: 10px; }

@media (max-width: 600px) {
  .cp-context-type > summary,
  .cp-context-local > summary,
  .cp-context-copy > summary { flex-wrap: wrap; }
  .cp-context-type > summary > span,
  .cp-context-local > summary > span { margin-left: 0; }
  .cp-context-type > summary::after,
  .cp-context-local > summary::after,
  .cp-context-copy > summary::after { margin-left: auto; }
}

/* Shared CALIBRO surfaces in the customer page and the embedded consultant view. */
.cp-page,
.cp-root,
.cp-modal {
  --cp-ink: var(--text-primary);
  --cp-line: var(--border);
  --cp-soft: var(--status-neutral);
  color: var(--text-primary);
  background: var(--background);
  font-family: var(--font-family);
  font-size: var(--text-body);
  line-height: 1.55;
}

.cp-shell { max-width: 1460px; padding: clamp(18px,2.3vw,34px); }
.cp-layout { gap: clamp(16px,2vw,28px); }
.cp-root .cp-sidebar { border-radius: var(--radius-card); }
.cp-root .cp-nav-caption { font-size: var(--text-badge); }
.cp-root .cp-nav button { font-size: var(--text-label); }
.cp-root .cp-intro h1 { font-size: var(--text-page-title); }
.cp-root .cp-intro p { font-size: var(--text-label); line-height: 1.55; }
.cp-root .cp-tile { min-height: 134px; border-radius: var(--radius-card); }
.cp-root .cp-tile small { font-size: var(--text-caption); }
#cp-embedded .cp-shell { max-width: none; margin: 0; padding: 0; }

/* Match the compact rhythm of the internal workspace in both client presentations. */
.cp-root .cp-card { padding: clamp(16px,1.5vw,20px); }
.cp-root .cp-grid { gap: 14px; }
.cp-root .cp-section-heading { margin-bottom: 12px; }
.cp-root .cp-next .cp-row { padding-block: 9px; }
.cp-root .cp-next .cp-row button { white-space: normal; line-height: 1.35; }
.cp-root .cp-tile { min-height: 118px; }

.cp-root .cp-sidebar,
.cp-root .cp-card,
.cp-root .cp-question,
.cp-modal .cp-card,
.cp-modal .cp-question {
  background: var(--surface);
  border-color: var(--border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow);
}

.cp-root .cp-nav button { color: var(--text-secondary) !important; }
.cp-root .cp-nav button:hover { background: var(--status-neutral) !important; color: var(--text-primary) !important; }
.cp-root .cp-nav button[aria-current=page] { background: var(--brand) !important; color: var(--surface) !important; }
.cp-root button:not(.secondary):not(.cp-tile):not(.cp-journey):not(.cp-nav button):not(.cp-mobile-dock button),
.cp-modal button:not(.secondary) { background: var(--brand); border-color: var(--brand); }
.cp-dialog-head { background: var(--background); }

.cp-context-environments-head h4 { color: var(--text-primary); font-size: var(--text-section-title); }
.cp-context-environments-head p { color: var(--text-secondary); }
.cp-context-type,
.cp-context-local,
.cp-context-copy { border-color: var(--border); border-radius: var(--radius-card); }
.cp-context-type > summary,
.cp-context-local > summary { min-height: 52px; }
.cp-context-type > summary > strong,
.cp-context-local > summary > strong { color: var(--text-primary); font-size: 14px; }
.cp-context-type > summary > span,
.cp-context-local > summary > span,
.cp-context-copy > summary > small,
.cp-context-type > summary::after,
.cp-context-local > summary::after,
.cp-context-copy > summary::after { color: var(--text-secondary); }
.cp-context-type-body,
.cp-context-local-body,
.cp-context-copy-body { border-top-color: var(--border); }
.cp-context-local { background: var(--background); }
.cp-context-local-body > .cp-source-fact { margin: 0; padding: 15px; }

@media (max-width: 760px) {
  .cp-shell { padding: 16px 16px calc(100px + env(safe-area-inset-bottom)); }
  #cp-embedded .cp-shell { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  .cp-root .cp-mobile-dock button { font-size: var(--text-badge); line-height: 1.2; white-space: normal; }
  .cp-root .cp-tile { min-height: 0; }
}

.cp-client-preview-intro {
  margin-bottom: 18px;
  padding: 18px 20px;
  background: var(--background);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
}
.cp-client-preview-intro h3 { margin: 4px 0 8px; }
.cp-client-preview-intro p { margin: 6px 0; }
.cp-client-preview-state {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 6px;
  font-size: var(--text-caption);
  font-weight: 700;
}
.cp-client-preview-state.is-published { background: #e6f3ec; color: #225844; }
.cp-client-preview-state.is-pending { background: #fff0d0; color: #775000; }
/* Checklist: one answer, evidence choices suited to the request, shared with assisted entry. */
.cp-collection-scope{display:grid;gap:5px;margin:14px 0;padding:14px 16px;border-radius:10px;background:var(--calibro-surface-soft,#edf3f2);border-left:3px solid var(--calibro-primary,#173e48)}
.cp-collection-scope span,.cp-collection-scope small,.cp-checklist-phase{color:#53666b;font-size:13px;line-height:1.5}
.cp-answer-simple .cp-evidence-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.cp-answer-simple .cp-evidence-choice{display:grid;align-content:start;gap:7px;min-width:0;padding:14px;background:#f8faf8;border:1px solid #d7e0dc;border-radius:10px;margin:0}
.cp-answer-simple .cp-evidence-choice span{font-size:13px;font-weight:400;color:#53666b}
.cp-answer-simple .cp-evidence-choice input{min-width:0;font-size:13px;padding:8px}
.cp-answer-simple .cp-evidence-requirement{margin:0;font-size:14px}
.cp-answer-simple details>summary{cursor:pointer;padding:10px 0;font-weight:600}
.cp-answer-simple .cp-guided-hint{margin:0;font-size:13px}
.cp-answer-simple [data-cp-answer-fields]{display:grid;gap:15px}
.cp-answer-simple [data-cp-evidence-fields]{display:grid;gap:15px}
.cp-lead-confirmation{margin:0}.cp-lead-confirmation .cp-known-value{font-size:1.05rem;font-weight:600;margin:8px 0 14px}
@media(max-width:600px){.cp-answer-simple .cp-evidence-options{grid-template-columns:1fr}.cp-collection-scope{padding:12px}}

.cp-question-context{margin:0 0 7px;font-size:13px;font-weight:600;color:#53666b}

/* Factual client questions: the declaration and its evidence are distinct. */
.cp-response-type {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 9px;
  margin: 8px 0 12px;
  color: var(--text-secondary, #53666b);
  font-size: var(--text-caption, 13px);
}
.cp-response-type span {
  text-transform: uppercase;
  letter-spacing: .055em;
  font-size: 11px;
  font-weight: 700;
}
.cp-response-type strong {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  border: 1px solid var(--border, #d8e2dd);
  border-radius: 7px;
  background: var(--status-neutral, #edf3ef);
  color: var(--text-primary, #173e48);
  font-weight: 650;
}
.cp-answer-state {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0 0 12px;
  padding: 4px 9px;
  border-radius: 7px;
  background: #f3f5f4;
  color: #52625f;
  font-size: 12px;
  font-weight: 700;
}
.cp-answer-state.is-saved { background: #e6f3ec; color: #225844; }
.cp-answer-state.is-deferred { background: #fff0d0; color: #775000; }
.cp-answer-simple > [data-cp-answer-fields] { display: grid; gap: 14px; }
.cp-answer-simple > [data-cp-answer-fields] > label:first-of-type {
  padding: 14px;
  border: 1px solid var(--border, #d8e2dd);
  border-radius: 10px;
  background: var(--background, #f7f8f5);
}
.cp-field-unit { color: var(--text-secondary, #53666b); font-weight: 500; }
.cp-evidence-step {
  display: grid;
  gap: 12px;
  margin-top: 18px;
  padding: 17px;
  border: 1px solid #b8cec4;
  border-radius: var(--radius-card, 12px);
  background: #f2f8f5;
}
.cp-evidence-step-label {
  margin: 0;
  color: #2d6758;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.cp-evidence-step .cp-evidence-requirement { margin: 0; color: #354f48; }
.cp-question-support { padding-top: 4px; border-top: 1px solid var(--border, #d8e2dd); }

@media (max-width: 600px) {
  .cp-response-type { align-items: flex-start; flex-direction: column; }
  .cp-evidence-step { padding: 14px; }
  .cp-answer-simple .cp-actions > button { width: 100%; }
}

/* Upload traceability: visible receipt plus persistent archive location. */
.cp-upload-receipt {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid #86d3b8;
  border-left: 4px solid #16815b;
  border-radius: 10px;
  background: #f0fdf7;
}
.cp-upload-receipt-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #16815b;
  color: #fff;
  font-weight: 800;
}
.cp-upload-receipt > div { min-width: 0; }
.cp-upload-receipt > div > strong,
.cp-upload-receipt > div > span { display: block; }
.cp-upload-receipt > div > span { margin-top: 2px; overflow-wrap: anywhere; }
.cp-upload-receipt dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 14px;
  margin: 12px 0 8px;
}
.cp-upload-receipt dl div { min-width: 0; }
.cp-upload-receipt dt {
  color: #526776;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.cp-upload-receipt dd {
  margin: 2px 0 0;
  color: #163f34;
  font-size: 13px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.cp-document-location {
  margin: 8px 0;
  padding-left: 9px;
  border-left: 3px solid #86d3b8;
  color: #35534a;
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.cp-upload-actions { align-items: stretch; }
.cp-upload-actions > button { min-height: 46px; }
.cp-photo-capture-panel {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: 20px;
  padding: 18px;
  border: 1px solid var(--border, #b8cec4);
  border-radius: var(--radius-card, 12px);
  background: #f2f8f5;
}
.cp-photo-capture-qr {
  display: grid;
  place-items: center;
  padding: 10px;
  border-radius: 10px;
  background: #fff;
}
.cp-photo-capture-qr img { display: block; width: min(100%, 230px); height: auto; }
.cp-photo-capture-copy { min-width: 0; }
.cp-photo-capture-copy h3 { margin: 4px 0; }
.cp-photo-capture-copy p { overflow-wrap: anywhere; }
.cp-photo-capture-copy ol { padding-left: 20px; }
.cp-photo-capture-copy [data-cp-photo-capture-status] {
  padding: 10px 12px;
  border-left: 3px solid #16815b;
  background: #fff;
  color: #274f43;
  font-weight: 650;
}

@media (max-width: 620px) {
  .cp-photo-capture-panel { grid-template-columns: 1fr; padding: 14px; }
  .cp-photo-capture-qr img { width: min(100%, 260px); }
  .cp-upload-actions > button { width: 100%; }
}

/* FC review: compact questions, visible client answer and explicit completion. */
.cp-review-section-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 32%);
  align-items: center;
  gap: 14px;
  margin: 16px 0;
  padding: 14px 16px;
  border: 1px solid var(--border, #d8e2dd);
  border-radius: var(--radius-card, 12px);
  background: var(--background, #f7f8f5);
}
.cp-review-section-progress progress { width: 100%; accent-color: #227052; }
.cp-review-list { display: grid; gap: 9px; margin: 16px 0; }
.cp-review-question {
  margin: 0;
  padding: 0;
  overflow: clip;
  border: 1px solid var(--border, #d8e2dd);
  border-radius: var(--radius-card, 12px);
  background: var(--surface, #fff);
  box-shadow: none;
}
.cp-review-question > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 11px 14px;
  cursor: pointer;
  list-style: none;
}
.cp-review-question > summary::-webkit-details-marker { display: none; }
.cp-review-question > summary::before {
  content: "›";
  grid-column: 1;
  grid-row: 1;
  width: 18px;
  color: var(--text-secondary, #53666b);
  font-size: 22px;
  line-height: 1;
  transition: transform .15s ease;
}
.cp-review-question[open] > summary::before { transform: rotate(90deg); }
.cp-review-question-title {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding-left: 26px;
  overflow: hidden;
  color: var(--text-primary, #173e48);
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cp-review-question-state {
  grid-column: 2;
  grid-row: 1;
  color: #6a4b12;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}
.cp-review-question.is-verified { border-color: #79b89e; background: #f1faf5; }
.cp-review-question.is-verified > summary { background: #e7f5ed; }
.cp-review-question.is-verified .cp-review-question-state { color: #225844; }
.cp-review-question.is-direct-focus {
  border-color: #227052;
  box-shadow: 0 0 0 3px rgba(34,112,82,.18);
}
.cp-review-question.is-direct-focus > summary { background: #edf8f2; }
.cp-review-question-body {
  display: grid;
  gap: 13px;
  padding: 16px;
  border-top: 1px solid var(--border, #d8e2dd);
  background: var(--surface, #fff);
}
.cp-client-answer {
  display: grid;
  gap: 6px;
  padding: 15px 16px;
  border: 1px solid #9fcabc;
  border-left: 4px solid #227052;
  border-radius: 10px;
  background: #edf8f2;
}
.cp-client-answer > span {
  color: #315d50;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.cp-client-answer > strong { color: #173e48; }
.cp-client-answer > p { margin: 2px 0 0; color: #203f37; white-space: pre-wrap; }
.cp-client-answer-files { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 4px; }
.cp-review-tools { display: flex; flex-wrap: wrap; gap: 8px; }
.cp-review-answer-form {
  padding: 16px;
  border: 1px solid var(--border, #d8e2dd);
  border-radius: 10px;
  background: var(--background, #f7f8f5);
}
.cp-review-answer-form textarea { min-height: 78px; }
.cp-declared-answer { margin: 0; }
.cp-review-customize { border-top: 1px solid var(--border, #d8e2dd); padding-top: 8px; }
.cp-review-customize > summary { cursor: pointer; font-weight: 650; }
.cp-followup-progress {
  display: block;
  width: fit-content;
  margin-top: 7px;
  padding: 4px 8px;
  border-radius: 6px;
  background: #fff0d0;
  color: #6a4b12;
  font-size: 12px;
  font-weight: 750;
}
.cp-followup-progress.is-complete { background: #e6f3ec; color: #225844; }

@media (prefers-reduced-motion: reduce) {
  .cp-review-question > summary::before { transition: none; }
}

@media (max-width: 600px) {
  .cp-review-section-progress { grid-template-columns: 1fr; }
  .cp-review-question > summary { gap: 6px; padding-inline: 10px; }
  .cp-review-question-state { font-size: 11px; }
  .cp-review-question-body { padding: 13px; }
  .cp-review-tools > button,
  .cp-review-answer-form > button { width: 100%; }
}

.cp-context-help {
  display: inline-grid;
  width: 24px;
  min-height: 24px !important;
  margin-left: 5px;
  padding: 0 !important;
  place-items: center;
  border: 1px solid #227052 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #185640 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  vertical-align: middle;
  box-shadow: none !important;
}

.cp-context-help:hover,
.cp-context-help:focus-visible {
  background: #dff1e8 !important;
}

.cp-verification-assistant {
  position: fixed;
  z-index: 12050;
  bottom: 18px;
  right: 18px;
  width: min(380px, calc(100vw - 36px));
  max-height: min(610px, calc(100dvh - 36px));
  overflow: auto;
  box-sizing: border-box;
  border: 1px solid #8eb6a6;
  border-left: 5px solid #227052;
  border-radius: 14px;
  background: #fff;
  color: #173e48;
  box-shadow: 0 16px 44px rgba(7, 28, 36, .24);
  font: 14px/1.48 Inter, system-ui, sans-serif;
  animation: cp-assistant-enter .2s ease-out;
}

.cp-verification-assistant > header {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  gap: 10px;
  align-items: center;
  padding: 14px 14px 12px;
  border-bottom: 1px solid #dce7e1;
  background: #edf8f2;
}

.cp-verification-assistant > header > div {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.cp-verification-assistant > header small {
  color: #41675b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cp-verification-assistant > header strong {
  overflow-wrap: anywhere;
  font-size: 16px;
  line-height: 1.25;
}

.cp-verification-assistant-symbol {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #227052;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 800;
}

.cp-verification-assistant .cp-verification-assistant-close {
  display: grid;
  width: 34px;
  min-height: 34px;
  padding: 0;
  place-items: center;
  border: 1px solid #aac8bb;
  border-radius: 8px;
  background: #fff;
  color: #173e48;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  box-shadow: none;
}

.cp-verification-assistant .cp-verification-assistant-close:hover,
.cp-verification-assistant .cp-verification-assistant-close:focus-visible {
  background: #dff1e8;
}

.cp-verification-assistant-body {
  display: grid;
  gap: 8px;
  padding: 15px 17px 17px;
}

.cp-verification-assistant-body > span {
  color: #527168;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.cp-verification-assistant-body p,
.cp-verification-assistant-body ol {
  margin: 0 0 6px;
}

.cp-verification-assistant-body ol {
  display: grid;
  gap: 7px;
  padding-left: 21px;
}

.cp-verification-assistant-current {
  padding: 9px 11px;
  border-radius: 8px;
  background: #fff3d9;
  color: #694810;
  font-weight: 700;
}

@keyframes cp-assistant-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .cp-verification-assistant { animation: none; }
}

@media (max-width: 600px) {
  .cp-verification-assistant {
    bottom: 10px;
    right: 10px;
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }
}

/* Lead acquisita: referenti e autorizzazioni per sede. */
.cp-lead-contact-heading {
  display: grid;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid #c9dcd5;
  border-radius: 10px;
  background: #e8f1ee;
}
.cp-lead-contact-heading > span {
  color: #4f6964;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cp-lead-contact-heading > strong { color: #173e48; font-size: 18px; }
.cp-lead-contact-heading > small,
.cp-contact-source { color: #5f746e; }
.cp-contact-source { margin: 2px 0 12px; font-size: 12px; }
.cp-employer-site-toggle {
  display: flex !important;
  align-items: flex-start;
  gap: 11px !important;
  margin: 10px 0 15px;
  padding: 13px 14px;
  border: 1px solid #b8d0c8;
  border-radius: 9px;
  background: #f0f6f3;
  font-weight: 400 !important;
}
.cp-employer-site-toggle input { margin-top: 4px; }
.cp-employer-site-toggle span { display: grid; gap: 3px; }
.cp-employer-site-toggle strong { color: #173e48; }
.cp-employer-site-toggle small { color: #5f746e; font-weight: 400; }

/* The Area Cliente navigation can become a compact icon rail on larger screens. */
.cp-sidebar-head { display:flex; align-items:center; justify-content:space-between; gap:6px; margin:0 0 12px; }
.cp-sidebar-head .cp-nav-caption { margin:0; padding-left:12px; padding-right:0; }
.cp-root .cp-sidebar-toggle { display:inline-flex; align-items:center; justify-content:center; gap:5px; flex:0 0 auto; min-width:44px; min-height:44px; padding:7px; font-size:12px; }
.cp-sidebar-toggle-arrow { font-size:24px; line-height:1; }
@media (min-width:761px) {
  .cp-layout.is-sidebar-collapsed { grid-template-columns:72px minmax(0,1fr); }
  .cp-layout.is-sidebar-collapsed .cp-sidebar { padding-inline:7px; }
  .cp-layout.is-sidebar-collapsed .cp-sidebar-head { justify-content:center; }
  .cp-layout.is-sidebar-collapsed .cp-nav-caption,
  .cp-layout.is-sidebar-collapsed .cp-sidebar-toggle-label,
  .cp-layout.is-sidebar-collapsed .cp-nav button > span { display:none; }
  .cp-layout.is-sidebar-collapsed .cp-nav button { justify-content:center; padding-inline:6px; }
}

/* Continuous service workspace: three primary journeys and one operational queue. */
.cp-journeys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0 0 22px}.cp-journeys>button{min-height:148px;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;align-items:start;gap:8px 13px;padding:22px;border-radius:16px;background:#173e48;border-color:#173e48;box-shadow:0 8px 24px #071c2417}.cp-journeys>button:nth-child(2){background:#fff;color:#173e48;border-color:#c8cec9}.cp-journeys>button:nth-child(3){background:#d99032;color:#071c24;border-color:#d99032}.cp-journeys .cp-icon{width:29px;height:29px;grid-row:1/3}.cp-journeys strong{font-size:18px;line-height:1.25}.cp-journeys small{font-weight:500;line-height:1.45;opacity:.9}.cp-activity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #e3e8e4}.cp-activity-row:last-child{border-bottom:0}.cp-activity-row h3{margin:3px 0}.cp-activity-meta{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px 18px;margin:12px 0;color:#56666b;font-size:12px}.cp-activity-meta span{display:grid;gap:1px}.cp-activity-meta strong{color:#173e48;font-size:13px}.cp-activity-tags{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.cp-scope,.cp-requirement{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:750;line-height:1.2}.cp-scope{background:#edf3ef;color:#173e48}.cp-scope-included{background:#e4f2e9;color:#225844}.cp-scope-to_evaluate{background:#fff0d0;color:#775000}.cp-scope-extra{background:#f5dfc2;color:#69400d}.cp-requirement{background:#eef0ed;color:#405257}.cp-requirement-obligation{background:#fce5e0;color:#8e2f26}.cp-requirement-improvement{background:#e3eef0;color:#164e58}.cp-requirement-information{background:#edf1ed;color:#40574c}.cp-response-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.cp-score-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.cp-score-facts span{display:grid;background:#edf3ef;padding:13px;border-radius:9px;color:#56666b}.cp-score-facts strong{color:#173e48;font-size:21px}.cp-score-facts .is-critical{background:#fce5e0;color:#8e2f26}.cp-score-facts .is-critical strong{color:#8e2f26}.cp-economic-preview{border:1px solid #d7dfda;border-radius:10px;background:#fafbf7;padding:14px}.cp-economic-preview p,.cp-scope-reason{margin:8px 0 0;color:#56666b;font-size:13px}.cp-proposal-chain{border-left:4px solid #d99032;background:#faf7ef;border-radius:8px;padding:17px;margin-top:15px}.cp-proposal-chain>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;border-bottom:1px solid #e6dfd1;padding:8px 0}.cp-proposal-chain>div span{color:#56666b;font-size:12px}.cp-proposal-chain form{margin-top:15px}.cp-activity-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.cp-activity-details>div{background:#fff;padding:12px;border-radius:8px}.cp-activity-details dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#56666b}.cp-activity-details dd{margin:3px 0 0;font-weight:650}.cp-change-card{border-left:4px solid #d99032}
@media(max-width:900px){.cp-journeys{grid-template-columns:1fr}.cp-journeys>button{min-height:104px}.cp-activity-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cp-journeys{gap:10px}.cp-journeys>button{min-height:92px;padding:17px}.cp-activity-row{grid-template-columns:1fr}.cp-activity-row>button{width:100%}.cp-activity-meta,.cp-score-facts,.cp-activity-details{grid-template-columns:1fr 1fr}.cp-proposal-chain>div{grid-template-columns:1fr;gap:2px}}
