.operational-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  padding: 16px 0;
  border-bottom: 1px solid #d9d9d9;
}
.operational-toolbar label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  flex: 1 1 180px;
}
.operational-toolbar input,
.operational-toolbar select {
  min-height: 40px;
  min-width: 0;
  width: 100%;
}
.operational-toolbar > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.operational-segmented {
  display: inline-flex;
  align-items: stretch;
  margin-top: 16px;
  border: 1px solid #aaa;
  border-radius: 4px;
  overflow: hidden;
}
.operational-segmented button {
  min-height: 40px;
  padding: 8px 14px;
  border: 0;
  border-right: 1px solid #aaa;
  border-radius: 0;
  background: #fff;
  color: #252525;
  font: inherit;
  font-weight: 700;
}
.operational-segmented button:last-child {
  border-right: 0;
}
.operational-segmented button[aria-pressed="true"] {
  background: #9d1d0b;
  color: #fff;
}
.operational-segmented span {
  margin-left: 5px;
  font-variant-numeric: tabular-nums;
}
.operational-table {
  overflow: auto;
  width: 100%;
}
.operational-table table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  font-size: 14px;
}
.operational-table th,
.operational-table td {
  padding: 14px 10px;
  text-align: left;
  border-bottom: 1px solid #d9d9d9;
  vertical-align: top;
  overflow-wrap: anywhere;
}
.operational-table th {
  font-size: 12px;
  color: #535353;
  white-space: nowrap;
}
.operational-table td:first-child {
  min-width: 130px;
}
.operational-table td:nth-child(3) {
  min-width: 100px;
}
.operational-row-actions {
  min-width: 220px;
}
.operational-row-actions button {
  font-size: 12px;
  margin: 0 4px 6px 0;
  padding: 8px;
}
.operational-icon {
  width: 38px;
  height: 38px;
  padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.operational-icon svg {
  width: 18px;
  height: 18px;
}
.operational-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid #d9d9d9;
  margin: 20px 0;
}
.operational-metrics button {
  border: 0;
  border-radius: 0;
  padding: 24px 12px;
  background: transparent;
  display: grid;
  gap: 10px;
  text-align: left;
}
.operational-metrics strong {
  font-size: 28px;
}
.operational-footnote {
  font-size: 13px;
  color: #626262;
  margin: 14px 0;
}
.operational-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 16px;
}
.operational-pagination button {
  min-height: 38px;
  padding: 8px 12px;
}
.operational-pagination span {
  font-size: 13px;
  color: #535353;
}
.operational-dialog {
  width: min(720px, calc(100% - 24px));
  max-height: 90dvh;
  padding: 24px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
}
.operational-dialog::backdrop {
  background: #0008;
}
.operational-dialog header,
.operational-dialog footer {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
}
.operational-dialog header h2 {
  font-size: 22px;
  overflow-wrap: anywhere;
}
.operational-dialog [data-close] svg {
  width: 20px;
  height: 20px;
}
.operational-form {
  display: grid;
  gap: 16px;
  margin: 20px 0;
}
.operational-form label,
.operational-form [data-new-contact],
.operational-form [data-mapping] {
  display: grid;
  gap: 8px;
}
.operational-form input,
.operational-form select,
.operational-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 10px;
  border: 1px solid #aaa;
  border-radius: 4px;
  font: inherit;
}
.operational-form textarea {
  min-height: 100px;
}
.operational-dialog [data-error] {
  color: #9a1707;
  white-space: pre-line;
}
.operational-dialog [hidden] {
  display: none !important;
}
.operational-dialog button:focus-visible,
.operational-table button:focus-visible,
.operational-metrics button:focus-visible,
.operational-segmented button:focus-visible,
.operational-pagination button:focus-visible {
  outline: 3px solid #236e9d;
  outline-offset: 2px;
}
@media (max-width: 600px) {
  .operational-metrics {
    grid-template-columns: 1fr;
  }
  .operational-dialog {
    padding: 16px;
  }
  .operational-toolbar label {
    flex-basis: 100%;
  }
  .operational-segmented {
    width: 100%;
  }
  .operational-segmented button {
    flex: 1 1 0;
  }
  .operational-pagination {
    justify-content: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .operational-dialog * {
    scroll-behavior: auto;
    transition: none;
  }
}
.backend-supabase.module-crm .topbar-actions {
  display: none;
}
.backend-supabase.module-crm .sidebar-panel {
  display: none;
}
.backend-supabase.module-crm #viewTitle {
  font-size: 32px;
}
.area-button strong {
  overflow-wrap: anywhere;
}
.operational-dialog article {
  padding-block: 12px;
  border-bottom: 1px solid #ddd;
}
.operational-dialog article p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.jarvis-voice-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  align-items: center;
}
.jarvis-voice-control {
  position: fixed;
  z-index: 110;
  bottom: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: #fff;
  color: #191919;
  border: 1px solid #aaa;
  border-radius: 8px;
  box-shadow: 0 2px 8px #0002;
  max-width: calc(100vw - 32px);
}
.jarvis-voice-control[hidden] {
  display: none;
}
.jarvis-voice-control button {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}
.customer360-note-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  margin-bottom: 16px;
}
.customer360-dialog {
  width: min(1040px, calc(100vw - 32px));
  max-height: 90dvh;
  padding: 20px;
}
.customer360-dialog .customer360-card {
  width: 100%;
  min-width: 0;
}
.customer360-summary {
  grid-template-columns: minmax(200px, 2fr) repeat(5, minmax(0, 1fr));
}
.customer360-summary > div,
.customer360-section,
.customer360-note-actions label {
  min-width: 0;
}
.customer360-summary small {
  display: block;
  overflow-wrap: anywhere;
}
.customer360-summary span {
  overflow-wrap: anywhere;
}
.customer360-item small,
.customer360-item p {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.customer360-note-actions label {
  flex: 1 1 200px;
}
.customer360-note-actions select {
  width: 100%;
  min-width: 0;
}
@media (max-width: 1000px) {
  .customer360-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .customer360-summary > div:first-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 700px) {
  .customer360-dialog {
    padding: 14px;
  }
  .customer360-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .customer360-summary > div:first-child {
    grid-column: 1 / -1;
  }
  .customer360-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.backend-supabase .sidebar {
  min-width: 0;
}
.backend-supabase .account-strip {
  min-width: 0;
}
.backend-supabase .account-strip button {
  flex-shrink: 0;
}
@media (max-width: 980px) {
  .backend-supabase .suite-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .backend-supabase .nav-list {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    max-width: 100%;
  }
}

.operational-source {
  display: block;
  margin-top: 4px;
  color: var(--muted, #666);
}

.service-case-dialog{width:min(980px,94vw);max-height:92vh;padding:0;border:1px solid var(--line,#555);border-radius:16px;background:var(--surface,#202022);color:var(--ink,#191817)}
.service-case{padding:clamp(16px,3vw,32px)}
.service-case header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.service-case h3{margin-top:24px}.service-case details{margin:12px 0}.service-case summary{cursor:pointer;padding:8px 0;font-weight:600}
.service-quote,.service-work,#serviceArchive article,.service-supplier-list article{padding:18px;margin:14px 0;border:1px solid var(--line,#555);border-radius:10px}
.service-form{display:grid;gap:12px;max-width:620px;margin:12px 0}.service-form label,#supplierMatches label{display:grid;gap:5px}.service-form input,.service-form select{width:100%;min-width:0}
.service-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}#serviceCaseError,#supplierError{color:#ffb3a8}.service-forms{display:grid;gap:8px}#supplierMatches form{padding:16px;border-bottom:1px solid #555;display:grid;gap:10px}
#crmNavigation{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:18px;color:var(--muted)}
.crm-dialog-back{flex-shrink:0;margin-right:12px}.estate-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.estate-facts div{min-width:0}.estate-facts dt{font-weight:600;color:var(--muted)}.estate-facts dd{margin:4px 0;overflow-wrap:anywhere}.estate-request-summary{line-height:1.5}.estate-request-summary p{overflow-wrap:anywhere}
.service-case header>div{min-width:0;flex:1;overflow-wrap:anywhere}
.service-case header>button{flex-shrink:0}
@media(max-width:600px){
  .service-case header{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .service-case header>div{grid-column:1/-1;grid-row:2}
  .service-case header>.crm-dialog-back{justify-self:start;margin-right:0}
  .service-case header>[data-close]{grid-column:2;grid-row:1}
}

/* The voice session follows the user across workspaces and modal sheets. */
.jarvis-voice-control { z-index: 10000; background: #211b1b; color: #fff3eb; border-color: #84564b; border-radius: 40px; box-shadow: 0 8px 28px #0005; }
.jarvis-voice-control #jarvisVoiceStatus { max-width: 200px; font-size: 13px; }
.jarvis-mini-orb { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; border: 1px solid #efb295; background: radial-gradient(circle at 35% 25%, #fff0d8 0%, #e87857 20%, #9e2916 54%, #38110a 83%); box-shadow: 0 0 0 5px #b6654520, 0 0 20px #d9684340; }
.jarvis-voice-control[data-voice-state="speaking"] .jarvis-mini-orb { animation: jarvis-mini-pulse 1.1s ease-in-out infinite; }
@keyframes jarvis-mini-pulse { 50% { box-shadow: 0 0 0 8px #b6654530, 0 0 26px #d9684380; } }
@media (prefers-reduced-motion: reduce) { .jarvis-mini-orb { animation: none !important; } }

.contact-in-progress {background:#a52210!important;color:#fff!important;border-color:#a52210!important;}
.contact-profile fieldset {border:0;padding:0;min-width:0;}
.contact-profile-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;}
.contact-profile label {display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.contact-profile input,.contact-profile select,.contact-profile textarea {width:100%;min-width:0;box-sizing:border-box;}
.contact-profile img {object-fit:cover;border-radius:50%;}
.contact-custom-row {display:flex;gap:8px;margin-bottom:10px;}
@media(max-width:520px){.contact-custom-row{flex-wrap:wrap;}.contact-custom-row input{flex:1 1 100%;}}

.contact-list-facts{display:grid;gap:.25rem;margin:.5rem 0;font-size:.82rem;color:var(--muted,#655e59)}
.contact-list-facts small{display:block;overflow-wrap:anywhere}
.contact-fact-missing{font-weight:500;color:#8b5b2d}
.team-board-heading{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.team-board-heading h2{margin:.3rem 0}.team-board-ai{border:1px solid #d7d0c9;border-radius:12px;padding:1rem;display:grid;gap:.3rem;max-width:320px}.team-board-ai small,.team-board-ai-actions small{color:#655e59}.team-board-controls{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.team-board-controls label{display:grid;gap:.3rem;flex:1;min-width:130px}.team-board-controls input,.team-board-controls select,.team-board-thread select{max-width:100%;min-width:0;padding:.6rem;border:1px solid #ccc;border-radius:6px}.team-board-controls button,.team-board-ai-actions button,.team-board-posts nav button,.team-board-thread-actions button{padding:.65rem}.team-board-ai-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1rem 0}.team-board-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1.5rem}.team-board-card{padding:1rem;border:1px solid #d7d0c9;border-radius:12px;margin-bottom:.75rem;overflow-wrap:anywhere}.team-board-card>div{display:flex;gap:.5rem;justify-content:space-between;font-size:.8rem}.team-board-title{display:block;background:transparent;border:0;padding:0;text-align:left;font-size:1.08rem;font-weight:650;margin-top:.75rem;color:inherit;cursor:pointer}.team-board-ai-card{background:#f4f0ea;border-left:3px solid #95452c}.team-board-thread{border:1px solid #d7d0c9;border-radius:12px;padding:1rem;min-width:0;overflow-wrap:anywhere}.team-board-thread-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end;margin:1rem 0}.team-board-thread-actions label{display:grid;gap:.2rem}.team-board-text{white-space:pre-wrap;overflow-wrap:anywhere}.team-board-comments{margin:1rem 0}.team-board-comments article{padding:1rem;margin:.6rem 0;border-bottom:1px solid #ddd}.team-board-comments small{display:block;color:#655e59;margin-top:.3rem}.team-board-thread form label{display:grid;gap:.4rem}.team-board-thread textarea{width:100%;box-sizing:border-box}.team-board-posts nav{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.team-board-thread form button{margin-top:.75rem}.team-board-ai-actions button:disabled{opacity:.5}.team-board-controls button:disabled{opacity:.5}@media(max-width:767px){.team-board-layout{grid-template-columns:minmax(0,1fr)}.team-board-controls label{flex-basis:40%}.team-board-ai{max-width:none;width:100%;box-sizing:border-box}.team-board-heading{gap:.5rem}}

/* Content titles must wrap even when compact Operations buttons stay on one line. */
body[data-environment=operations] .main button.team-board-title{white-space:normal;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box}

/* Seller progress is local to Lead Vendita and its contact card. */
.seller-semaphore {--seller-text:#26323e;--seller-bg:#edf0f3;--seller-dot:#526170;display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #697783;border-radius:8px;background:var(--seller-bg);color:var(--seller-text);font-size:12px;font-weight:700;line-height:1.4;max-width:100%;}
.seller-semaphore-dot {flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#526170;}
.seller-semaphore--green {--seller-text:#16452b;--seller-bg:#e7f3ea;border-color:#346c47;}
.seller-semaphore--green .seller-semaphore-dot {background:#19643c;}
.seller-semaphore--yellow {--seller-text:#69450d;--seller-bg:#fff3cb;border-color:#8e6a21;}
.seller-semaphore--yellow .seller-semaphore-dot {background:#906213;}
.seller-semaphore--red {--seller-text:#861d30;--seller-bg:#fce8eb;border-color:#a54856;}
.seller-semaphore--red .seller-semaphore-dot {background:#a02b40;}
.seller-whatsapp-state,.seller-callback,.seller-work-audit,.seller-commercial-stage,.seller-client-label {display:block;margin-top:6px;line-height:1.45;overflow-wrap:anywhere;}
.seller-callback {max-width:22rem;}
.seller-qualification-fact {min-width:0;border-bottom:1px solid #89939e;padding:10px 0;}
.seller-qualification-fact p,.seller-qualification-fact blockquote,.seller-qualification-fact small {white-space:pre-wrap;overflow-wrap:anywhere;}
.seller-qualification-fact blockquote {margin:8px 0;padding-left:12px;border-left:3px solid #8e5060;}
.seller-qualification-fact summary:focus-visible {outline:3px solid #8a3d54;outline-offset:3px;}

/* The contact sheet has a light surface; do not inherit its generic muted span rule. */
#customer360Dialog .seller-semaphore {display:inline-flex;color:var(--seller-text);text-transform:none;}
#customer360Dialog .seller-workflow-card {background:#f4f1ed;color:#26323e;}
#customer360Dialog .seller-workflow-card :is(strong,small) {color:#26323e;}

@media (max-width:700px) {
 body[data-operational-view="sellerLeads"] #operationalWorkspace .operational-table {overflow:visible;}
 body[data-operational-view="sellerLeads"] #operationalWorkspace .operational-table :is(table,tbody) {display:block;min-width:0;width:100%;}
 body[data-operational-view="sellerLeads"] #operationalWorkspace .operational-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 body[data-operational-view="sellerLeads"] #operationalWorkspace .operational-table tbody tr {display:grid;grid-template-columns:minmax(0,1fr);margin-bottom:14px;border:1px solid #697783;border-radius:10px;padding:10px;}
 body[data-operational-view="sellerLeads"] #operationalWorkspace .operational-table td {display:block;min-width:0;padding:7px 4px;border:0;}
 body[data-operational-view="sellerLeads"] #operationalWorkspace .operational-table td::before {content:attr(data-label);display:block;font-size:11px;font-weight:700;color:#c8c2ca;letter-spacing:.03em;margin-bottom:5px;}
 body[data-operational-view="sellerLeads"] #operationalWorkspace .seller-semaphore {box-sizing:border-box;}
 body[data-operational-view="sellerLeads"] #operationalWorkspace .operational-row-actions button {white-space:normal;max-width:100%;}
}

body[data-operational-view="sellerLeads"] #operationalWorkspace .operational-table th {color:var(--muted,#c8c2ca);}

/* The AI card has its own light surface in both supported surrounding themes. */
.team-board-workspace .team-board-ai-card{background:#f4f0ea;color:#282321;border-color:#8d7367}
.team-board-workspace .team-board-ai-card :is(p,small,strong,span,h3){color:inherit;opacity:1}
.team-board-workspace .team-board-ai-card .team-board-title{background:transparent;color:#282321}
.team-board-workspace .team-board-ai-card .category-pill{background:#fff6e9;color:#803615}
.team-board-workspace .team-board-analysis{margin-top:1rem}
.team-board-workspace .team-board-analysis summary{cursor:pointer;padding:.75rem 0}
.team-board-workspace :is(button,select,input,summary):focus-visible{outline:3px solid #b86538;outline-offset:3px}

/* Scadenzario owns its light work surface; surrounding MANINI theme is unchanged. */
#schedule .schedule-area-column{color:#28242b;background:#f3f2f4;min-height:0;align-content:start;border-color:#7c7480}
#schedule .schedule-area-column>h2{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#28242b;margin:0;padding:2px 2px 4px;font-size:16px}
#schedule .schedule-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;align-items:start}
#schedule .schedule-status-column{min-width:0;min-height:0;padding:12px;background:#f3f2f4;color:#28242b;border-color:#7c7480;border-top-color:var(--brand)}
#schedule .schedule-column h2{font-size:16px;line-height:1.4;flex-wrap:wrap;color:#28242b}
#schedule .schedule-column h2 small{color:#514a56;font-size:13px}
#schedule .schedule-card{min-height:0;min-width:0;background:#fff;color:#28242b;border-color:#7c7480;gap:10px;line-height:1.45}
#schedule .schedule-card.is-complete{opacity:1}
#schedule .schedule-card-open{color:#28242b;font-size:15px;line-height:1.45;gap:5px;overflow-wrap:anywhere}
#schedule .schedule-card-open strong{font-size:15px;line-height:1.4}
#schedule .schedule-card :is(small,em){color:#514a56;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
#schedule .schedule-card span{color:#622036;background:#f0e8e5;max-width:100%;white-space:normal}
#schedule .schedule-card .icon-button{color:#332d38;background:#fff;border-color:#7c7480;min-width:36px}
#schedule .schedule-empty-state{min-height:72px;padding:16px;background:#fff;color:#514a56;border-color:#7c7480;font-size:14px}
#schedule .schedule-add-card{color:#514a56;border-color:#7c7480;font-size:14px}
#schedule .schedule-archive{color:var(--ink);margin-top:4px}
#schedule .schedule-archive summary{cursor:pointer;padding:12px 0;font-weight:600;line-height:1.5}
#schedule .schedule-archived-list{display:grid;gap:10px}
#schedule .schedule-archive-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #7c7480;border-radius:8px;background:#fff;color:#28242b;line-height:1.5}
#schedule .schedule-archive-item>div{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
#schedule .schedule-archive-item span{color:#514a56;font-size:14px}
#schedule .schedule-archive-item button{flex-shrink:0;color:#622036;background:#fff;border-color:#7c7480}
#schedule :is(button,input,select,summary):focus-visible{outline:3px solid #b86538;outline-offset:3px}
@media(max-width:1200px){#schedule .schedule-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#schedule .schedule-status-grid{grid-template-columns:minmax(0,1fr)}#schedule .schedule-archive-item{align-items:flex-start;flex-direction:column}#schedule .schedule-card-open strong{font-size:16px}}

/* Per-card removal uses the existing recoverable task archive. */
#schedule .schedule-card{flex-wrap:wrap}
#schedule .schedule-card-actions{display:flex;flex:0 0 100%;justify-content:flex-end;align-items:center;gap:8px;border-top:1px solid #d8d4da;padding-top:8px}
#schedule .schedule-card-actions button{min-height:42px;margin:0}
#schedule .schedule-card-actions .schedule-delete-card,#schedule #archiveScheduleCard{color:#8f2b22;background:#fff4f1;border:1px solid #af6e65}
#schedule .schedule-card-actions .schedule-delete-card:hover,#schedule #archiveScheduleCard:hover{background:#fce4de}
#schedule .schedule-task-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 20px}
#schedule .schedule-task-actions button{min-height:44px}

/* Matching controls retain a stable, usable pointer target in desktop WebKit. */
.operational-table .operational-match-select{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;cursor:pointer;box-sizing:border-box}
.operational-table .operational-match-select input[type=checkbox]{width:22px;height:22px;min-width:22px;min-height:22px;flex:0 0 22px;margin:0;padding:0;cursor:pointer}
