:root {
  --navy: #112954;
  --blue: #3859d0;
  --bg: #f5f7fb;
  --line: #e4e9f1;
  --green: #87bb38;
  --text: #203352;
  --shadow: 0 5px 24px #11295405;
  --muted: #596980;
  --space: clamp(1rem, 2.8vw, 2.5rem);
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  font: 14px 'DM Sans',system-ui,sans-serif;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
button,input,select,textarea {
  font: inherit;
  max-width: 100%;
}
button,a,select {
  -webkit-tap-highlight-color: transparent;
}
button,a {
  cursor: pointer;
}
a {
  color: var(--blue);
  text-decoration: none;
}
button {
  border: 0;
  background: none;
  color: inherit;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline: 3px solid #92a9fa;
  outline-offset: 3px;
}
h1,h2,h3 {
  font-family: 'Manrope',system-ui,sans-serif;
  letter-spacing: -.7px;
  margin-top: 0;
}
h1 {
  line-height: 1.25;
  margin-bottom: 9px;
  font-weight: 800;
  font-size: clamp(1.55rem, 1.1rem + 1.6vw, 2.25rem);
  letter-spacing: -.035em;
}
h2 {
  font-size: clamp(1.15rem, 1rem + .4vw, 1.4rem);
}
h3 {
  font-size: 1rem;
}
p {
  line-height: 1.65;
}
small,.muted {
  color: var(--muted);
}
.sidebar {
  background: white;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  position: static;
  inset: auto;
  width: 100%;
  padding: 1rem;
  border: 0;
  height: auto;
  z-index: auto;
}
.brand {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0 .75rem 1.5rem;
}
.brand img {
  object-fit: contain;
  object-position: left;
  width: 156px;
  height: auto;
}
.brand span {
  color: var(--muted);
  letter-spacing: 3.6px;
  padding-left: 1px;
  font-size: .6875rem;
}
.nav-caption {
  letter-spacing: 1.2px;
  color: #97a1b2;
  margin: 11px 12px 17px;
  font-size: .6875rem;
}
nav {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
nav a {
  display: flex;
  align-items: center;
  gap: 13px;
  border-radius: 8px;
  font-weight: 550;
  font-size: .9375rem;
  min-height: 48px;
  padding: .75rem;
  color: #586b86;
}
nav a svg {
  width: 19px;
  height: 19px;
}
nav a.active {
  background: #edf1fe;
  color: var(--blue);
}
nav a:hover {
  background: #f3f5fa;
}
nav a .count {
  margin-left: auto;
  background: #fff;
  padding: 2px 6px;
  border-radius: 5px;
  font-size: .75rem;
}
.sidebar-bottom {
  margin-top: auto;
  font-size: 12px;
  padding: 1.5rem .75rem 0;
}
.sidebar-bottom p {
  color: var(--muted);
  max-width: 160px;
  margin-bottom: 28px;
  font-size: .8125rem;
}
.sidebar-bottom small {
  letter-spacing: 1px;
  font-size: .6875rem;
}
.live-dot {
  width: 8px;
  height: 8px;
  background: var(--green);
  border-radius: 50%;
  margin-bottom: 12px;
}
.shell {
  margin-left: 0;
  min-width: 0;
}
header {
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 15;
  height: auto;
  min-height: 72px;
  padding: max(.65rem,env(safe-area-inset-top)) var(--space) .65rem;
  gap: .5rem;
  flex-wrap: wrap;
}
.breadcrumb {
  color: var(--muted);
  font-size: .8125rem;
  min-width: 0;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.breadcrumb span {
  color: #c0c7d5;
  padding: 0 .5rem;
}
.breadcrumb b {
  color: var(--text);
  font-weight: 500;
  display: block;
}
.header-right {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-left: auto;
}
.demo-tag {
  font-size: 9px;
  letter-spacing: .9px;
  color: #887437;
  border: 1px solid #e8dfbc;
  border-radius: 5px;
  padding: 6px 8px;
  background: #fffcf3;
  display: none;
}
.profile {
  display: flex;
  align-items: center;
  text-align: left;
  font-size: .8125rem;
  min-height: 44px;
  min-width: 44px;
  padding: .25rem;
  gap: .5rem;
}
.avatar {
  border-radius: 50%;
  background: #eaf0fc;
  color: var(--navy);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  font-size: .8125rem;
}
.profile small {
  font-size: .75rem;
}
.profile>span:last-child {
  margin-left: 12px;
  color: var(--muted);
}
main {
  max-width: 1520px;
  margin: auto;
  min-height: calc(100vh - 145px);
  padding: clamp(1.25rem, 3vw, 2.5rem) var(--space);
  min-width: 0;
  width: 100%;
}
.page-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.eyebrow {
  color: var(--blue);
  font-weight: 700;
  margin-bottom: 10px;
  font-size: .6875rem;
  letter-spacing: .12em;
}
.page-head p {
  margin: 0;
  color: var(--muted);
  font-size: .9375rem;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 7px;
  background: var(--blue);
  color: #fff;
  font-weight: 600;
  line-height: 1.4;
  min-height: 44px;
  font-size: .875rem;
  padding: .7rem 1rem;
  white-space: normal;
  text-align: center;
}
.btn svg {
  width: 16px;
  height: 16px;
}
.btn.secondary {
  background: #fff;
  border: 1px solid var(--line);
  color: var(--text);
}
.btn.light {
  background: #fff;
  color: var(--navy);
}
.btn.ghost {
  color: var(--blue);
  background: #edf1fe;
}
.btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.hero {
  background: var(--navy);
  border-radius: 13px;
  position: relative;
  overflow: hidden;
  color: white;
  align-items: center;
  margin-bottom: 25px;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  min-height: 0;
}
.hero-copy {
  position: relative;
  z-index: 2;
  max-width: none;
  padding: clamp(1.5rem, 3vw, 2.5rem);
}
.hero .eyebrow {
  color: #bdd895;
  font-size: 9px;
  letter-spacing: 1.8px;
}
.hero h2 {
  line-height: 1.3;
  margin-bottom: 10px;
  letter-spacing: -.8px;
  font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2rem);
}
.hero p {
  color: #b8c5de;
  margin: 0 0 19px;
  font-size: .9375rem;
  max-width: 40ch;
}
.hero-art {
  right: 0;
  top: 0;
  bottom: 0;
  background: #edf3fb;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  inset: auto;
  width: 100%;
  clip-path: none;
  min-height: 0;
  padding: .75rem;
}
.hero-art img {
  height: auto;
  mix-blend-mode: multiply;
  width: 100%;
  max-width: 100%;
}
.hero-art:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,#11295415,transparent);
}
.stats {
  display: grid;
  margin-bottom: 27px;
  grid-template-columns: repeat(auto-fit,minmax(min(100%, 8.5rem),1fr));
  gap: 1rem;
}
.stat {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow);
  padding: clamp(1rem,2vw,1.4rem);
  min-width: 0;
}
.stat-top {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
  font-size: .8125rem;
  gap: .5rem;
  align-items: flex-start;
}
.stat-top svg {
  width: 17px;
  height: 17px;
  color: #9aa8c0;
}
.stat-value {
  font: 800 30px Manrope,system-ui;
  margin: 12px 0 8px;
  letter-spacing: -1px;
  color: var(--navy);
  font-size: clamp(1.65rem,1.3rem + 1vw,2rem);
}
.stat small {
  font-size: .75rem;
}
.stat small strong {
  color: #568b33;
  font-weight: 500;
}
.grid-two {
  display: grid;
  grid-template-columns: minmax(0,1.7fr) minmax(280px,1fr);
  gap: 22px;
  margin-bottom: 24px;
}
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 11px;
  box-shadow: var(--shadow);
  overflow: hidden;
  min-width: 0;
}
.card.pad {
  padding: clamp(1rem, 2.2vw, 1.6rem);
}
.card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 1.25rem;
  align-items: flex-start;
  flex-wrap: wrap;
}
.card-head h2 {
  margin: 0;
  font-size: 1rem;
}
.card-head p {
  color: var(--muted);
  margin: 5px 0 0;
  font-size: .8125rem;
}
.link-btn {
  color: var(--blue);
  font-size: .875rem;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: .4rem 0;
}
.table-wrap {
  overflow: auto;
  max-width: 100%;
  overscroll-behavior-inline: contain;
}
table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: .875rem;
}
th {
  background: #fafbfe;
  color: #596980;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .6px;
  border-block: 1px solid #eef1f6;
  font-size: .75rem;
  padding: 1rem;
}
td {
  border-bottom: 1px solid #f0f2f6;
  padding: 1rem;
  white-space: normal;
  overflow-wrap: anywhere;
}
td b {
  font-weight: 600;
  font-size: .875rem;
}
td small {
  display: block;
  margin-top: 4px;
  font-size: .75rem;
}
tbody tr:last-child td {
  border-bottom: 0;
}
.click-row {
  cursor: pointer;
}
.click-row:hover {
  background: #fafbfe;
}
.chip {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 5px;
  color: #56697f;
  background: #f0f3f7;
  font-size: .75rem;
  white-space: normal;
  line-height: 1.5;
}
.chip.new {
  color: #3e63ca;
  background: #edf2ff;
}
.chip.contacted {
  color: #9b7c28;
  background: #fcf6e6;
}
.chip.appointment {
  color: #7a54b8;
  background: #f3edfc;
}
.chip.quote {
  color: #378b89;
  background: #e8f6f3;
}
.chip.won {
  color: #528736;
  background: #eef6e6;
}
.chip.lost {
  color: #a26464;
  background: #faeded;
}
.pipeline {
  padding: 0 23px 24px;
}
.pipeline-row {
  display: grid;
  align-items: center;
  gap: 10px;
  margin: 19px 0;
  font-size: .8125rem;
  grid-template-columns: minmax(6rem, auto) minmax(0,1fr) 1.5rem;
}
.bar-track {
  background: #f0f3f9;
  height: 7px;
  border-radius: 4px;
  overflow: hidden;
}
.bar-fill {
  height: 100%;
  border-radius: 4px;
  background: var(--blue);
}
.tools {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 17px;
}
.tool {
  display: flex;
  text-align: left;
  align-items: center;
  gap: 15px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 1.1rem;
  min-width: 0;
}
.tool-icon {
  background: #f0f3fe;
  border-radius: 9px;
  padding: 12px;
  color: var(--blue);
  display: flex;
}
.tool svg {
  width: 20px;
  height: 20px;
}
.tool b {
  font-size: .9375rem;
}
.tool small {
  display: block;
  margin-top: 5px;
  font-size: .8125rem;
}
.tool .arrow {
  margin-left: auto;
  color: #9ca8bc;
}
.section-label {
  margin: 0 0 15px;
  font-size: 1rem;
}
.notice {
  padding: 13px 16px;
  border: 1px solid #e6dfc4;
  border-radius: 8px;
  background: #fffdf6;
  color: #857443;
  line-height: 1.6;
  margin-bottom: 22px;
  font-size: .8125rem;
}
.notice.blue {
  background: #edf3ff;
  border-color: #d8e3fc;
  color: #48629b;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 17px;
  min-width: 0;
}
.field label {
  font-weight: 600;
  font-size: .875rem;
}
.field input,.field select,.field textarea,.search {
  border: 1px solid #dce2ec;
  background: white;
  color: var(--text);
  border-radius: 7px;
  padding: 11px 12px;
  min-width: 0;
  width: 100%;
  font-size: 16px;
  min-height: 48px;
  max-width: 100%;
}
.field textarea {
  resize: vertical;
  min-height: 110px;
  line-height: 1.65;
}
.field small {
  line-height: 1.6;
  font-size: .8125rem;
}
.form-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 0 1rem;
}
.form-grid .full {
  grid-column: 1/-1;
}
.tabs {
  display: flex;
  gap: 5px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.tabs button {
  color: var(--muted);
  border-bottom: 2px solid transparent;
  font-size: .875rem;
  min-height: 44px;
  flex: 1 1 9rem;
  padding: .75rem .6rem;
}
.tabs button.active {
  color: var(--blue);
  border-color: var(--blue);
}
.result-total {
  font: 800 36px Manrope,system-ui;
  color: var(--navy);
  margin: 10px 0;
  font-size: clamp(1.65rem,1.25rem + 1.5vw,2.25rem);
  overflow-wrap: anywhere;
}
.result-total small {
  font-size: 13px;
}
.result-line {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
  font-size: .875rem;
  flex-wrap: wrap;
  gap: .5rem;
}
.result-line span {
  line-height: 1.5;
  max-width: 100%;
  flex: 1 1 12rem;
}
.result-line b {
  white-space: nowrap;
  margin-left: auto;
}
.code {
  font-family: ui-monospace,monospace;
  overflow-wrap: anywhere;
  color: var(--blue);
  background: #f1f4fd;
  border-radius: 6px;
  padding: 12px;
  line-height: 1.7;
  font-size: .875rem;
}
.empty {
  text-align: center;
  color: var(--muted);
  font-size: .875rem;
  padding: 1.5rem 1rem;
}
.toolbar {
  display: flex;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: stretch;
}
.search {
  max-width: 330px;
}
.toolbar select {
  border: 1px solid var(--line);
  padding: 10px;
  border-radius: 7px;
  font-size: 16px;
  min-height: 48px;
  min-width: 0;
  max-width: 100%;
  flex: 1 1 12rem;
}
.doc-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
.doc {
  display: flex;
  flex-direction: column;
  min-height: 215px;
  padding: 1.5rem;
  min-width: 0;
}
.doc .file-icon {
  color: var(--blue);
  background: #eef2ff;
  border-radius: 8px;
  padding: 11px;
  width: 44px;
  display: flex;
  margin-bottom: 20px;
}
.doc svg {
  width: 22px;
  height: 22px;
}
.doc h3 {
  line-height: 1.6;
  margin-bottom: 7px;
  font-size: 1rem;
}
.doc small {
  line-height: 1.7;
  font-size: .8125rem;
}
.doc a {
  margin-top: auto;
  padding-top: 16px;
  font-size: .875rem;
  min-height: 44px;
}
.timeline {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.timeline p {
  padding-left: 13px;
  border-left: 2px solid #d5def5;
  font-size: .875rem;
}
.timeline small {
  display: block;
  font-size: .75rem;
}
.kpi-big {
  background: var(--navy);
  color: white;
  padding: 25px;
  border-radius: 10px;
  margin-bottom: 18px;
}
.kpi-big small {
  color: #bdc9df;
}
.kpi-big .result-total {
  color: white;
}
footer {
  display: flex;
  justify-content: space-between;
  color: #919db0;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  align-items: center;
  padding: 1rem var(--space) max(1rem,env(safe-area-inset-bottom));
  font-size: .75rem;
}
footer button {
  color: #7083a8;
  font-size: .75rem;
  min-height: 44px;
}
dialog {
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 25px 100px #11295430;
  width: calc(100% - 1.5rem);
  max-width: 42rem;
  max-height: calc(100vh - 1.5rem);
  padding: clamp(1rem,3vw,1.75rem);
  overflow: auto;
  overscroll-behavior: contain;
}
dialog::backdrop {
  background: #10274f60;
  backdrop-filter: blur(3px);
}
.modal-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  position: sticky;
  top: -1px;
  background: white;
  padding: .25rem 0 .75rem;
  z-index: 1;
  gap: 1rem;
  align-items: center;
}
.modal-top h2 {
  margin: 0;
  font-size: clamp(1.1rem,1rem + .5vw,1.4rem);
}
.close {
  font-size: 24px;
  line-height: 1;
  min-width: 44px;
  min-height: 44px;
  flex-shrink: 0;
}
.role-option {
  display: flex;
  width: 100%;
  text-align: left;
  gap: 15px;
  align-items: center;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 9px;
  margin-top: 10px;
  font-size: .9375rem;
}
.role-option:hover {
  border-color: var(--blue);
}
.role-option small {
  display: block;
  font-size: 11px;
  margin-top: 4px;
}
#toast {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  background: var(--navy);
  color: #fff;
  border-radius: 8px;
  padding: 13px 22px;
  box-shadow: 0 8px 30px #11295430;
  display: none;
  bottom: max(1rem,env(safe-area-inset-bottom));
  width: max-content;
  max-width: calc(100% - 2rem);
  font-size: .875rem;
  z-index: 30;
}
.error {
  color: #a13d3d;
}
.result-warning {
  color: #956f25;
  line-height: 1.6;
  padding: 12px;
  background: #fffbef;
  border-radius: 6px;
  margin-top: 12px;
  font-size: .8125rem;
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}
.progress-chart {
  display: flex;
  align-items: end;
  gap: 8px;
  height: 120px;
  margin: 20px 0 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.progress-chart div {
  flex: 1;
  background: #dbe3fc;
  border-radius: 4px 4px 0 0;
  position: relative;
  min-height: 3px;
}
.progress-chart div.positive {
  background: #3859d0;
}
.progress-chart small {
  position: absolute;
  bottom: -20px;
  width: 100%;
  text-align: center;
  font-size: .6875rem;
}
.account-table td {
  white-space: normal;
}
svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.card-head>svg {
  color: #9aa8c0;
  width: 18px;
  height: 18px;
}
.chip.postponed {
  color: #93622b;
  background: #fff2df;
}
.status-chip {
  border: 1px solid transparent;
  font-weight: 700;
}
.status-chip.status-empty {
  color: #526178;
  background: #edf1f5;
  border-color: #d3dbe5;
}
.status-chip.status-contacted {
  color: #1f5c9a;
  background: #e9f2ff;
  border-color: #bfd5f0;
}
.status-chip.status-no_answer {
  color: #8a5412;
  background: #fff3d7;
  border-color: #e8c77e;
}
.status-chip.status-appointment {
  color: #7046a2;
  background: #f3ebff;
  border-color: #d9c4f1;
}
.status-chip.status-quote {
  color: #9a4d0e;
  background: #fff0df;
  border-color: #efc99f;
}
.status-chip.status-won {
  color: #176b48;
  background: #e4f6eb;
  border-color: #b6dec6;
}
.status-chip.status-postponed {
  color: #80581a;
  background: #fff4d6;
  border-color: #e8cf8e;
}
.status-chip.status-parked {
  color: #5c4f88;
  background: #f0edfb;
  border-color: #d0c7eb;
}
.status-chip.status-lost {
  color: #465164;
  background: #edf0f4;
  border-color: #cbd2dc;
}
@media(forced-colors:active){.status-chip{border-color:CanvasText}}
.role-summary {
  display: flex;
  background: #edf2ff;
  border: 1px solid #dbe4fc;
  border-radius: 10px;
  margin-bottom: 24px;
  padding: 1rem;
  gap: .75rem;
}
.role-summary-icon {
  color: var(--blue);
  padding-top: 2px;
}
.role-summary b {
  font-size: .9375rem;
}
.role-summary p {
  color: #7082a5;
  margin: 7px 0 0;
  line-height: 1.7;
  font-size: .875rem;
}
.updates-list {
  padding: 0 23px 12px;
}
.update-item {
  display: flex;
  gap: 14px;
  width: 100%;
  text-align: left;
  padding: 17px 0;
  border-top: 1px solid var(--line);
  align-items: start;
}
.update-item:hover {
  background: #fafbfe;
}
.update-content {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  flex: 1;
}
.update-content b {
  font-size: 12px;
}
.update-content>span {
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.update-content small {
  font-size: .75rem;
}
.update-item>.arrow {
  color: var(--muted);
}
.deadline-box {
  background: #f3f6fd;
  border: 1px solid #dfe6f3;
  border-radius: 8px;
  padding: 15px;
  margin: 18px 0;
}
.deadline-box>b {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.deadline-box p {
  margin: 8px 0;
  font-size: .875rem;
}
.deadline-box small {
  font-size: 10px;
}
.deadline-box.overdue,.chip.overdue {
  background: #fff0ef;
  color: #aa4c43;
  border-color: #f4d4cf;
}
.deadline-box.soon,.chip.soon,.deadline-box.late {
  background: #fff7e7;
  color: #96712e;
  border-color: #f1dfba;
}
.deadline-box.scheduled {
  background: #f0f7eb;
  border-color: #d8e8ca;
}
.reminder-label {
  max-width: 190px;
  white-space: normal;
  line-height: 1.5;
  font-size: .75rem;
}
.reminder-label.overdue {
  color: #af5147;
}
.reminder-label.soon {
  color: #96712e;
}
.reminder-list {
  padding: 0 23px 12px;
}
.reminder-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 16px;
  text-align: left;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  font-size: .875rem;
  flex-wrap: wrap;
}
.reminder-item small {
  display: block;
  margin-top: 5px;
  font-size: .8125rem;
}
.reminder-item .chip {
  white-space: normal;
  line-height: 1.5;
  max-width: 100%;
}
[hidden] {
  display: none!important;
}
/* Concessionario: strumenti commerciali e attività quotidiana */
.dealer-welcome {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.dealer-welcome h1 {
  margin-bottom: 6px;
  font-size: clamp(1.5rem,1.1rem + 1.6vw,2rem);
}
.dealer-welcome p {
  margin: 0;
  color: var(--muted);
  font-size: .9375rem;
}
.dealer-stage {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  min-height: 310px;
  background: var(--navy);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 22px;
}
.dealer-stage-copy {
  padding: 38px 40px;
  color: white;
}
.dealer-stage-copy .eyebrow {
  color: #bdd895;
}
.dealer-stage h2 {
  font-size: 37px;
  line-height: 1.2;
  letter-spacing: -1.3px;
  margin: 16px 0;
}
.dealer-stage p {
  font-size: 13px;
  color: #c5d0e5;
  max-width: 340px;
  margin-bottom: 23px;
}
.dealer-price-note {
  display: block;
  color: #c5d0e5;
  font-size: 10px;
  margin-top: 14px;
}
.dealer-stage-art {
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #192b54;
}
.dealer-stage-art img {
  width: 100%;
  mix-blend-mode: normal;
}
.dealer-shortcuts {
  display: grid;
  margin-bottom: 34px;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr));
  gap: 1rem;
}
.dealer-shortcut {
  position: relative;
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  transition: border-color .15s,transform .15s;
  padding: 1.25rem;
}
.dealer-shortcut:hover {
  border-color: var(--blue);
  transform: translateY(-2px);
}
.dealer-shortcut-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 19px;
}
.dealer-step {
  font: 700 12px Manrope;
  color: #b0bacb;
}
.dealer-shortcut b {
  display: block;
  font: 800 17px Manrope;
  letter-spacing: -.4px;
  margin-bottom: 8px;
}
.dealer-shortcut small {
  display: block;
  line-height: 1.6;
  font-size: .8125rem;
  max-width: none;
  padding-bottom: 1.5rem;
}
.dealer-shortcut-arrow {
  position: absolute;
  bottom: 17px;
  right: 19px;
  color: var(--blue);
}
.dealer-section-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: flex-start;
}
.dealer-section-head h2 {
  margin: 0;
  font-size: 1.2rem;
}
.dealer-stats .stat-value {
  margin-bottom: 0;
}
.dealer-work-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 22px;
}
.dealer-contact-list {
  padding: 0 1.25rem 1rem;
}
.dealer-contact,.dealer-appointment {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding: 18px 0;
  text-align: left;
  width: 100%;
  flex-wrap: wrap;
  min-height: 48px;
}
.dealer-contact:hover,.dealer-appointment:hover {
  background: #f8faff;
}
.dealer-contact-name {
  min-width: 0;
  flex: 1 1 8rem;
}
.dealer-contact b,.dealer-appointment b {
  display: block;
  overflow-wrap: anywhere;
  font-size: .875rem;
}
.dealer-contact small,.dealer-appointment small {
  display: block;
  margin-top: 5px;
  font-size: .8125rem;
}
.dealer-contact>svg,.dealer-appointment>svg {
  width: 16px;
  color: var(--muted);
  margin-left: auto;
}
.dealer-date {
  background: #eef2ff;
  color: var(--blue);
  border-radius: 9px;
  min-width: 48px;
  padding: 9px;
  text-align: center;
}
.dealer-date b {
  font-size: 21px;
}
.dealer-date small {
  color: var(--blue);
  text-transform: uppercase;
}
.dealer-empty {
  text-align: center;
  padding: 28px 12px 32px;
}
.dealer-empty>svg {
  width: 29px;
  height: 29px;
  color: #98a9cb;
  margin-bottom: 14px;
}
.dealer-empty h3 {
  margin-bottom: 8px;
  font-size: 1rem;
}
.dealer-empty p {
  color: var(--muted);
  max-width: 290px;
  margin: 0 auto 13px;
  font-size: .875rem;
}
.dealer-preview-bar {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 16px;
  background: #edf2ff;
  border: 1px solid #dbe4fc;
  border-radius: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
  font-size: .8125rem;
}
.product-intro {
  display: grid;
  align-items: center;
  margin-bottom: 30px;
  grid-template-columns: minmax(0,1fr);
}
.product-intro img {
  width: 100%;
}
.product-intro>div {
  padding: 25px;
}
.product-intro p {
  color: var(--muted);
  font-size: 13px;
}
.dealer-product-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  margin-bottom: 30px;
}
.dealer-product-grid h3 {
  line-height: 1.6;
  letter-spacing: -.2px;
}
.dealer-product-price {
  font: 800 25px Manrope;
  color: var(--navy);
  margin: 18px 0 5px;
}
.dealer-product-grid .actions {
  margin-top: 20px;
}
.showroom-grid {
  display: grid;
  margin-bottom: 30px;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr));
  gap: 1.25rem;
}
.showroom-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .2s,border-color .2s;
}
.showroom-card:hover {
  border-color: #bdcbee;
  box-shadow: 0 10px 30px #1129540c;
}
.product-image-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #fff;
  aspect-ratio: 4/3;
  padding: 1rem 1rem 2.75rem;
}
.product-image-button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .2s;
}
.product-image-button:hover img {
  transform: scale(1.04);
}
.product-open {
  position: absolute;
  right: 16px;
  color: var(--blue);
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .8125rem;
  bottom: .8rem;
}
.product-open svg {
  width: 14px;
  height: 14px;
}
.showroom-info {
  border-top: 1px solid #f0f2f6;
  padding: 1.25rem;
}
.showroom-info>small {
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--blue);
  font-size: .75rem;
}
.showroom-info h3 {
  margin: 7px 0 15px;
  font-size: clamp(1.15rem,1rem + .4vw,1.4rem);
}
.showroom-info h3 button {
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  padding: 0;
  min-height: 44px;
}
.showroom-price {
  font: 800 25px Manrope;
  color: var(--navy);
  letter-spacing: -.8px;
  font-size: clamp(1.4rem,1.15rem + .8vw,1.75rem);
}
.showroom-info p {
  line-height: 1.6;
  color: var(--muted);
  margin: 7px 0 0;
  font-size: .8125rem;
}
.product-photo-missing {
  color: #97a5bb;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  font-size: .875rem;
}
.product-photo-missing svg {
  width: 35px;
  height: 35px;
}
.product-detail-image {
  display: block;
  max-height: 260px;
  width: 100%;
  object-fit: contain;
  margin-bottom: 25px;
}
.product-detail .muted {
  font-size: .875rem;
}
.product-item-label {
  font-size: 10px;
  color: var(--muted);
  line-height: 1.6;
}
.product-specs {
  margin: 24px 0;
}
.product-specs>div {
  display: grid;
  border-bottom: 1px solid var(--line);
  padding: 13px 0;
  line-height: 1.6;
  grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr);
  gap: 1rem;
  font-size: .875rem;
}
.product-specs dt {
  color: var(--muted);
}
.product-specs dd {
  margin: 0;
}
.product-source {
  font-size: 10px;
  margin-top: 20px;
}
.dealer-section-head p {
  margin-bottom: 0;
  font-size: .9375rem;
}
.product-zoom-trigger {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 25px;
  border-radius: 10px;
  cursor: zoom-in;
}
.product-zoom-trigger .product-detail-image {
  margin-bottom: 8px;
}
.product-zoom-trigger>span {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 6px;
  background: #edf2ff;
  color: var(--blue);
  font-size: .875rem;
  min-height: 44px;
  align-items: center;
}
.product-zoom-trigger:hover>span {
  background: #dfe7ff;
}
dialog.product-viewer {
  position: fixed;
  inset: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #0b1427;
  color: white;
  overflow: hidden;
  box-shadow: none;
  width: 100%;
  height: 100dvh;
  max-width: none;
  max-height: none;
}
.product-viewer::backdrop {
  background: #0b1427;
  backdrop-filter: none;
}
.product-viewer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  position: absolute;
  inset: 0 0 auto;
  padding: 16px 24px;
  padding-top: max(16px,env(safe-area-inset-top));
  z-index: 2;
  background: linear-gradient(#0b1427f5,#0b142700);
  padding-inline: max(1rem, env(safe-area-inset-left));
  font-size: .875rem;
}
.product-viewer-bar button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #ffffff45;
  border-radius: 8px;
  padding: 8px 13px;
  font-size: 24px;
  background: #0b1427c9;
  color: #fff;
  min-height: 44px;
}
.product-viewer-bar button span {
  font-size: .875rem;
}
.product-viewer-stage {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: max(20px,env(safe-area-inset-bottom));
  padding: 80px .5rem max(1rem,env(safe-area-inset-bottom));
}
.product-viewer-stage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-viewer:fullscreen {
  width: 100%;
  height: 100%;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 6rem;
}
img,video {
  max-width: 100%;
  height: auto;
}
button,a,input,select,textarea {
  touch-action: manipulation;
}
small {
  font-size: .8125rem;
}
.breadcrumb>span {
  display: none;
}
.profile>span:not(.avatar) {
  display: none;
}
.page-head>div {
  min-width: 0;
}
.actions .btn {
  flex: 1 1 10rem;
}
.grid-two,.dealer-work-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 1.25rem;
}
.tools,.doc-grid,.dealer-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(min(100%,15rem),1fr));
  gap: 1rem;
}
.tool>span:nth-child(2) {
  min-width: 0;
}
.toolbar .search {
  max-width: none;
  flex: 1 1 15rem;
}
.updates-list,.reminder-list {
  padding: 0 1.25rem 1rem;
}
.update-content b,.update-content>span {
  font-size: .875rem;
}
.deadline-box>b,.deadline-box small {
  font-size: .8125rem;
}
.product-item-label,.product-source {
  font-size: .8125rem;
}
/* Mobile-first navigation: one navigation tree shared by drawer and sidebar. */
.menu-toggle,.menu-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-width: 44px;
  min-height: 44px;
  font-size: .875rem;
  border-radius: 8px;
  background: #edf2ff;
  color: var(--navy);
  padding: .5rem;
}
.mobile-brand {
  display: flex;
  align-items: center;
  min-height: 44px;
  max-width: 126px;
}
.mobile-brand img {
  width: 126px;
  height: auto;
}
.skip-link {
  position: fixed;
  top: .5rem;
  left: .5rem;
  transform: translateY(-200%);
  z-index: 100;
  background: white;
  padding: 1rem;
  border: 2px solid var(--blue);
  border-radius: 8px;
}
.skip-link:focus {
  transform: none;
}
#navigationDialog {
  margin: 0 auto 0 0;
  inset: 0 auto 0 0;
  width: min(22rem,calc(100% - 1.5rem));
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: 100dvh;
  border: 0;
  border-radius: 0;
  padding: 0;
  overflow: auto;
}
#navigationDialog .menu-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: max(1rem,env(safe-area-inset-top)) 1.5rem .5rem;
  gap: 1rem;
}
#navigationDialog .sidebar {
  padding-bottom: max(1rem,env(safe-area-inset-bottom));
}
#navigationDialog .brand {
  display: none;
}
body.menu-is-open {
  overflow: hidden;
}
main:focus {
  outline: none;
}
#main {
  scroll-margin-top: 6rem;
}
.auth-main {
  max-width: 34rem;
  padding: clamp(1.5rem,7vw,4rem) var(--space);
  min-height: 100vh;
  min-height: 100dvh;
  margin: auto;
}
.auth-logo {
  width: min(190px,70%);
  margin-bottom: 2rem;
}
.auth-main .btn {
  width: 100%;
}
.auth-help {
  font-size: .8125rem;
}
.table-wrap:focus-visible {
  outline: 3px solid #92a9fa;
  outline-offset: 2px;
}
/* Data tables become labeled cards without losing table semantics. */
.responsive-table {
  display: block;
}
.responsive-table thead {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.responsive-table tbody {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}
.responsive-table tbody tr {
  display: block;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.responsive-table td {
  display: block;
  padding: .75rem 1rem;
  white-space: normal;
}
.responsive-table td:before {
  content: attr(data-label);
  display: block;
  font-size: .75rem;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: .3rem;
}
.responsive-table td[data-label=""]:before {
  display: none;
}
.responsive-table .actions {
  gap: .6rem;
}
.responsive-table .link-btn {
  padding: .5rem .6rem;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.chip.contacted {
  color: #775b0a;
}
.chip.won {
  color: #3c6525;
}
.chip.appointment {
  color: #69459f;
}
.chip.quote {
  color: #236b69;
}
.notice {
  color: #705d27;
}
.notice.blue {
  color: #3c568f;
}
@supports(height:100dvh) {
  dialog {
    max-height: calc(100dvh - 1.5rem);
  }
}
@media(min-width:28rem) {
  .breadcrumb {
    display: block;
  }
  .mobile-brand {
    display: none;
  }
}
@media(max-width:27.999rem) {
  .breadcrumb {
    display: none;
  }
}
@media(min-width:42rem) {
  .form-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .page-head {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .page-head>div:first-child {
    flex: 1 1 20rem;
  }
  .page-head>.actions {
    flex: 1 1 16rem;
  }
  .profile>span:not(.avatar) {
    display: block;
  }
  .profile>span:last-child {
    display: none;
  }
  .demo-tag {
    display: inline-flex;
  }
  .breadcrumb b {
    display: inline;
  }
  .breadcrumb>span {
    display: inline;
  }
  .hero {
    grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);
  }
  .hero-art {
    padding: 0;
  }
  .product-intro {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media(min-width:48rem) {
  .responsive-table {
    display: table;
    table-layout: fixed;
  }
  .responsive-table thead {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip-path: none;
    white-space: normal;
    display: table-header-group;
  }
  .responsive-table tbody {
    display: table-row-group;
    padding: 0;
  }
  .responsive-table tbody tr {
    display: table-row;
    border: 0;
    border-radius: 0;
  }
  .responsive-table td {
    display: table-cell;
  }
  .responsive-table td:before {
    display: none;
  }
  .dealer-work-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media(min-width:64rem) {
  .menu-toggle,.mobile-brand {
    display: none;
  }
  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 252px;
    height: 100vh;
    height: 100dvh;
    overflow: auto;
    padding: 2rem 1.25rem;
    z-index: 20;
    border-right: 1px solid var(--line);
  }
  .sidebar-bottom {
    padding-top: 2rem;
  }
  .shell {
    margin-left: 252px;
  }
  .profile>span:last-child {
    display: block;
  }
  .header-right {
    gap: 1rem;
  }
  .grid-two {
    grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);
  }
  .showroom-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media(min-width:80rem) {
  .grid-two {
    grid-template-columns: minmax(0,1.7fr) minmax(0,1fr);
  }
}
@media(max-height:34rem) and (orientation:landscape) {
  dialog:not(.product-viewer) {
    max-height: calc(100dvh - .75rem);
  }
  .product-viewer-stage {
    padding-top: 60px;
    padding-bottom: .5rem;
  }
  .product-viewer-bar {
    padding-block: .5rem;
  }
  .product-detail-image {
    max-height: 40vh;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior: auto!important;
    animation-duration: .01ms!important;
    animation-iteration-count: 1!important;
    transition-duration: .01ms!important;
  }
  .product-image-button:hover img,.dealer-shortcut:hover {
    transform: none;
  }
}
@media print {
  .menu-toggle,.mobile-brand,#navigationDialog,.skip-link {
    display: none!important;
  }
  .responsive-table {
    display: table;
  }
  .responsive-table thead {
    position: static;
    width: auto;
    height: auto;
    clip-path: none;
    display: table-header-group;
  }
  .responsive-table tbody {
    display: table-row-group;
  }
  .responsive-table tbody tr {
    display: table-row;
  }
  .responsive-table td {
    display: table-cell;
  }
  .responsive-table td:before {
    display: none;
  }
}
@media print {
  .sidebar,header,footer,.demo-tag,button,.tabs,.page-head>.btn {
    display: none!important;
  }
  .shell {
    margin: 0;
  }
  main {
    padding: 0;
  }
  .card {
    break-inside: avoid;
  }
  .notice {
    display: block;
  }
  body {
    background: white;
  }
}
/* Anteprime autentiche della prima pagina dei PDF già presenti. */
.doc.doc-with-preview {
  padding: 0;
}
.doc .doc-cover {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  margin: 0;
  padding: 1rem 1rem 2.75rem;
  background: #edf1f8;
  border-bottom: 1px solid var(--line);
}
.doc-cover img,
.doc-cover .pdf-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 3px 5px #11295418);
}
.pdf-thumbnail-shell {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.pdf-thumbnail {
  grid-area: 1 / 1;
  max-width: 100%;
  max-height: 100%;
  background: white;
  visibility: hidden;
}
.pdf-thumbnail[data-preview-state="ready"] {
  visibility: visible;
}
.pdf-thumbnail-status {
  grid-area: 1 / 1;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 1rem;
  color: var(--muted);
  text-align: center;
  font-size: .8125rem;
  background: linear-gradient(135deg,#f8faff,#e8eef8);
}
.pdf-thumbnail-status[hidden] {
  display: none;
}
.pdf-thumbnail-status.error {
  color: #6b7484;
}
.doc-cover:hover {
  background: #e5ebf7;
}
.doc-cover-label {
  position: absolute;
  bottom: .75rem;
  left: 1rem;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  color: var(--navy);
  font-size: .8125rem;
}
.doc .doc-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
}
.docs-intro {
  font-size: .9375rem;
  margin-bottom: 1.5rem;
}
.docs-other-heading {
  margin-top: 2rem;
}
@media print {
  .doc-cover-label svg {
    display: none;
  }
}
.doc-content .doc-description {
  font-size: .875rem;
  line-height: 1.65;
  color: var(--muted);
  margin: .75rem 0;
}

/* Referenze: immagini originali, filtri e consultazione durante la vendita. */
.reference-toolbar{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.5rem}
.reference-toolbar .field{flex:1 1 16rem;min-width:0;max-width:min(100%,26rem);margin:0}
.reference-toolbar select{width:100%;min-width:0;max-width:100%}
.reference-toolbar p{margin:0}
.reference-toolbar>a{margin-left:auto}
.reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.25rem;margin-bottom:2rem}
.reference-card{overflow:hidden;min-width:0;display:flex;flex-direction:column}
.reference-image,.reference-map,.reference-sheet{display:block;width:100%;border:0;padding:0;background:#fff;cursor:zoom-in;color:var(--blue);font:inherit}
.reference-image img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.reference-content{padding:1.25rem;display:flex;flex-direction:column;flex:1}
.reference-content small{color:var(--muted)}
.reference-content h2{font-size:1.125rem;line-height:1.4;margin:.55rem 0;overflow-wrap:anywhere}
.reference-content p{color:var(--muted);font-size:.875rem;margin:0 0 1rem}
.reference-content button{margin-top:auto;align-self:flex-start;min-height:44px;text-align:left}
.reference-world{padding:clamp(1rem,3vw,2rem)}
.reference-map{margin-top:1.25rem}
.reference-map img,.reference-sheet img{display:block;width:100%;height:auto}
.reference-map span,.reference-sheet span{display:block;padding:1rem;text-align:center;min-height:44px}
.reference-detail>p{line-height:1.75}
.reference-detail .muted{font-size:.8rem}
.reference-doc-link{margin-bottom:1.5rem}
@media(max-width:40rem){.reference-toolbar{align-items:stretch;gap:.75rem}.reference-toolbar .field{max-width:none;flex-basis:100%}.reference-toolbar>a{margin-left:0}.reference-grid{gap:1rem}}

.quote-reminders{margin-bottom:1.5rem}

/* Promemoria commerciale dedicato alla gamma SelfPay. */
.showroom-info .insurance-reminder{display:flex;align-items:flex-start;gap:.5rem;padding-top:.8rem;margin-top:.8rem;border-top:1px solid var(--line);font-size:.8125rem;line-height:1.6;color:var(--blue)}
.insurance-reminder svg{width:1.15rem;height:1.15rem;flex:0 0 auto;margin-top:.1rem}
.insurance-detail p{margin:.5rem 0 0;line-height:1.65}

.showroom-info .mycashmatic-reminder{display:flex;flex-direction:column;gap:.2rem;margin:1rem 0 0;padding:.85rem 1rem;border-radius:.75rem;background:#eef2ff;color:#2943a7;font-size:.8125rem;line-height:1.6}
.mycashmatic-reminder b{font-size:.875rem}
.mycashmatic-detail p{margin:.5rem 0 0;line-height:1.65}

.reminder-document{display:block;text-decoration:none;min-height:44px}
.reminder-document-cta{display:block;margin-top:.5rem;font-weight:650;text-decoration:underline;text-underline-offset:.2em}
.reminder-document:hover .reminder-document-cta{text-decoration-thickness:2px}
.reminder-document:focus-visible{outline:3px solid #3859d0;outline-offset:3px}

.technical-description{font-size:.95rem;line-height:1.8;margin:1.25rem 0}
.technical-provenance{font-size:.8rem;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.technical-section{margin-top:1.75rem}
.technical-section h3{font-size:1rem;line-height:1.5;color:#2943a7;margin-bottom:.5rem}
.technical-figure{margin:1.75rem 0}
.technical-figure figcaption{font-weight:650;font-size:1rem;margin-bottom:.75rem}
.technical-figure button{display:block;width:100%;padding:.75rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;color:#2943a7;font:inherit;cursor:zoom-in}
.technical-figure img{display:block;width:100%;height:auto}
.technical-figure span{display:block;margin-top:.75rem;font-size:.85rem;min-height:2rem}
.product-specs dd{overflow-wrap:anywhere;white-space:normal}

.iper-webinar{display:flex;align-items:flex-start;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem);margin-bottom:2rem;background:linear-gradient(130deg,#eef2ff,#fff)}
.iper-webinar .tool-icon{flex:0 0 auto}
.iper-webinar h2{font-size:clamp(1.2rem,2vw,1.6rem);margin:.5rem 0}
.iper-webinar p{color:var(--muted);line-height:1.7;margin:0 0 1.25rem}
@media(max-width:36rem){.iper-webinar{flex-direction:column}.iper-webinar .btn{width:100%;white-space:normal}}

.iper-calculator{margin-bottom:2rem;overflow:hidden}
.iper-calc-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));align-items:end;gap:1rem;padding:1.5rem}
.iper-calc-form .field{margin:0}
.iper-calc-form .btn{height:auto;min-height:3rem;white-space:normal}
.iper-model-notice{margin:0 1.5rem 1.5rem;padding:1rem;border-left:3px solid #bd8a2f;background:#fff9ec;color:#70551c;font-size:.85rem;line-height:1.7}
.iper-results{padding:0 1.5rem 1.5rem}
.iper-result-head{margin:0 0 1rem}
.iper-result-head h3{font-size:1.15rem;margin:0 0 .4rem}
.iper-result-head small{color:var(--muted)}
.iper-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;margin-bottom:1.5rem}
.iper-summary-grid article{padding:1.25rem;border-radius:.85rem;min-width:0}
.iper-main-result{background:#eef2ff;color:#2943a7}
.iper-secondary-result{background:#f5f7fb}
.iper-summary-grid span,.iper-summary-grid small{display:block;font-size:.85rem;line-height:1.7}
.iper-summary-grid strong{display:block;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.4;margin:.5rem 0;overflow-wrap:anywhere}
.iper-breakdown .result-line{gap:1rem;align-items:flex-start}
.iper-breakdown .result-line b{white-space:nowrap}
.iper-detail{border-top:1px solid var(--line);padding:1rem 0;margin-top:.5rem}
.iper-detail summary{cursor:pointer;font-weight:650;min-height:2.5rem;padding:.5rem 0;line-height:1.6}
.iper-detail h4{margin:1rem 0;font-size:.95rem}
.iper-detail code{white-space:normal;overflow-wrap:anywhere}
.iper-small{font-size:.8rem;color:var(--muted);line-height:1.7}
.iper-source-note{font-size:.875rem;line-height:1.75}
.iper-source-note small{color:var(--muted);margin-right:.75rem}
.iper-source{margin-top:1.25rem;overflow-wrap:anywhere}
@media(max-width:36rem){.iper-calc-form{padding:1rem}.iper-results{padding:0 1rem 1rem}.iper-model-notice{margin:0 1rem 1rem}.iper-breakdown .result-line{flex-wrap:wrap}.iper-calculator .card-head{align-items:flex-start}.iper-detail td{overflow-wrap:anywhere}}

/* Lead origin and dealer activity are separate visual signals. */
.lead-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;font-size:.8125rem;line-height:1.6}
.lead-legend small{flex-basis:100%;color:var(--muted)}
.origin-key{padding:.4rem .65rem;border:1px solid var(--line);border-radius:6px}
.origin-key.assigned{background:#e6efff;color:#234781}
.origin-key.own{background:#fff;color:#314058}
.lead-contact{--lead-surface:#fff;--activity-color:#238452}
.lead-contact.origin-assigned{--lead-surface:#e6efff}
.lead-contact.activity-green{--lead-surface:#f2faf5}
.lead-contact.origin-assigned.activity-green{--lead-surface:#e8f4f8}
.lead-contact.activity-yellow{--activity-color:#b78512;--lead-surface:#fff9e8}
.lead-contact.activity-red{--activity-color:#c43c45;--lead-surface:#fff0f1}
.lead-contact.activity-closed,.lead-contact.activity-unassigned{--activity-color:#8190a5}
button.lead-contact{background:var(--lead-surface);border:2px solid var(--activity-color);border-radius:8px}
button.lead-contact:hover{background:var(--lead-surface);filter:brightness(.98)}
tr.lead-contact,tr.lead-contact:hover{background:var(--lead-surface)}
tr.lead-contact td{background:var(--lead-surface);border-top:2px solid var(--activity-color);border-bottom:2px solid var(--activity-color)}
tr.lead-contact td:first-child{border-left:3px solid var(--activity-color)}
tr.lead-contact td:last-child{border-right:2px solid var(--activity-color)}
tbody tr.lead-contact:last-child td{border-bottom:2px solid var(--activity-color)}
.lead-contact .reminder-label{font-weight:600;color:#24563c}
.lead-created-date{white-space:nowrap;font-weight:650;color:#526178}
.client-overview-status .lead-created-date{font-weight:500;color:var(--muted)}
.lead-contact.activity-yellow .reminder-label{color:#775800}
.lead-contact.activity-red .reminder-label{color:#a52331}
.lead-contact.activity-closed .reminder-label,.lead-contact.activity-unassigned .reminder-label{color:#526178}
@media(max-width:47.999rem){
 .responsive-table tbody tr.lead-contact{border:2px solid var(--activity-color);background:var(--lead-surface)}
 .responsive-table tr.lead-contact td,.responsive-table tr.lead-contact td:first-child,.responsive-table tr.lead-contact td:last-child{border:0}
}

.lead-contact .lead-title{display:flex;align-items:flex-start;gap:.55rem;min-width:0;line-height:1.6}
.lead-title>span:last-child{min-width:0;overflow-wrap:anywhere}
.lead-identity{display:grid;gap:.05rem;min-width:0}.lead-company{display:block;margin-left:1.2rem;color:#617089;font-size:.76rem;font-weight:550;overflow-wrap:anywhere}.first-contact-countdown{display:inline-grid;gap:.15rem;margin-top:.7rem;padding:.55rem .7rem;border:1px solid #bfd2c7;border-radius:.7rem;background:linear-gradient(145deg,#f7fffa,#eaf7ef);color:#175c38;font-variant-numeric:tabular-nums;box-shadow:0 5px 16px #1f77530b}.first-contact-countdown-label{font-size:.56rem;font-weight:800;letter-spacing:.1em}.first-contact-countdown strong{font:750 .78rem Manrope,sans-serif;white-space:nowrap}.first-contact-countdown.yellow{border-color:#ead28b;background:linear-gradient(145deg,#fffdf5,#fff4d5);color:#795800}.first-contact-countdown.red{border-color:#edb6bc;background:linear-gradient(145deg,#fffafa,#ffe8eb);color:#9e2634}
.activity-dot{display:inline-block;width:.65rem;height:.65rem;flex:0 0 .65rem;border-radius:50%;background:var(--activity-color);margin-top:.35rem;box-shadow:0 0 0 3px #ffffffb3}
.lead-origin{display:inline-block;padding:.15rem .45rem;border:1px solid #cad6e9;border-radius:4px;font-size:.7rem;line-height:1.6}
.lead-origin.assigned{background:#e6efff;color:#234781}
.lead-origin.own{background:#fff;color:#43526b}
@media(forced-colors:active){.activity-dot{background:CanvasText;border:1px solid CanvasText}.lead-origin{border-color:CanvasText}}
.cloud-status{font-size:.7rem;line-height:1.5;color:#245c3d;max-width:12rem;margin-left:auto;padding:.35rem .55rem;border:1px solid #d6e8dd;background:#f2faf5;border-radius:6px}
.cloud-status[data-connection="offline"],.cloud-status[data-connection="expired"]{color:#8d2533;background:#fff0f1;border-color:#f2cdd2}
#leadCloudUpdate{margin-top:1rem}
#leadCloudUpdate p{margin:.4rem 0;line-height:1.6}
@media(max-width:40rem){
 .cloud-status{max-width:none;font-size:0;padding:.3rem .35rem;white-space:nowrap}
 .cloud-status:before{content:'●';font-size:.65rem}
 .cloud-status:after{content:'Cloud';font-size:.6rem;margin-left:.25rem}
}
@media(max-width:24rem){
 .cloud-status:after{display:none}
 .mobile-brand,.mobile-brand img{max-width:96px}
}
.roi-simple{overflow:hidden;margin-bottom:1.5rem}
.roi-intro{padding:clamp(1.25rem,3vw,2rem);border-bottom:1px solid var(--line)}
.roi-intro h2{font-size:clamp(1.25rem,3vw,1.8rem);margin:.5rem 0}
.roi-intro p,.roi-form-footer p{color:var(--muted);font-size:.85rem;line-height:1.7}
#roiExcelForm{padding:clamp(1.25rem,3vw,2rem);background:#fafbff}
.roi-selectors,.roi-input-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.roi-input-grid{margin-top:1rem}
.roi-input-grid input{font-size:1.2rem;font-weight:600}
.roi-form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.roi-result-area{padding:clamp(1.25rem,3vw,2rem)}
.roi-result-label{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.8rem;margin-bottom:1rem}
.roi-headline{background:#eef2ff;border-radius:10px;padding:clamp(1.25rem,3vw,2rem);text-align:center;color:#254499}
.roi-headline>span{font-size:.95rem;font-weight:600}
.roi-headline>strong{display:block;font-family:Manrope,sans-serif;font-size:clamp(2.3rem,7vw,4rem);line-height:1.35;margin:.4rem 0;overflow-wrap:anywhere}
.roi-headline p{font-size:.8rem;line-height:1.6;margin:0}
.roi-negative{background:#fff0f1;color:#9d2735}
.roi-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.roi-periods>div{padding:1rem;background:#f6f8fc;border-radius:8px}
.roi-periods span{display:block;font-size:.8rem;color:var(--muted)}
.roi-periods strong{display:block;font-size:clamp(1rem,3vw,1.6rem);margin-top:.4rem;overflow-wrap:anywhere}
.roi-assumptions,.roi-fiscal-note{font-size:.8rem;line-height:1.75;color:var(--muted);margin:1rem 0}
.roi-fiscal-note{padding:1rem;background:#fff9e8;color:#775800;border-radius:7px}
.roi-details{border-top:1px solid var(--line);padding:1rem 0}
.roi-details summary,.roi-legacy>summary{font-weight:650;cursor:pointer;padding:.5rem 0;min-height:44px;line-height:1.6}
.roi-details code{white-space:normal;overflow-wrap:anywhere}
.roi-breakdown .result-line{gap:1rem;align-items:flex-start}
.roi-source-footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:.8rem}
.roi-source-footer .btn{margin-left:auto}
.roi-legacy{margin-top:1.5rem;border-top:1px solid var(--line);padding:1rem 0}
.roi-missing{padding:2rem;color:var(--muted);line-height:1.7}
@media(min-width:42rem){.roi-selectors{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.roi-input-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media print{#roiExcelForm,.roi-source-footer,.roi-legacy{display:none}.roi-headline,.roi-periods{break-inside:avoid}}

@media print{body[data-roi-print="direct"] #sourceRoi{display:none}body[data-roi-print="direct"] .roi-legacy{display:block}}
.account-crm-choice{padding:1rem;border:1px solid var(--line);border-radius:8px;background:#f6f8ff}
.account-crm-choice label{display:flex;align-items:center;gap:.75rem;min-height:44px;cursor:pointer}
.account-crm-choice input[type="checkbox"]{width:22px;height:22px;min-height:22px;flex:0 0 22px;padding:0;accent-color:var(--blue)}

/* Cruscotto della rete: Marco e Andrea */
.dashboard-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:22px}.dashboard-toolbar label{font-weight:600}.dashboard-toolbar select{font:inherit;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid #ccd5e5;border-radius:10px;background:white}.dashboard-toolbar .muted{margin-left:auto}
.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin-bottom:24px}.dashboard-metric{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;padding:20px;border:1px solid #dce3ee;border-radius:14px;background:white;color:#25334b;cursor:pointer}.dashboard-metric strong{font-size:2rem;line-height:1.1}.dashboard-metric small{color:#526078;font-size:.8rem;line-height:1.45}.dashboard-metric[aria-pressed=true]{outline:2px solid #3859a1;outline-offset:2px}.dashboard-metric.tone-red{background:#fff2f3;border-top:4px solid #c44850}.dashboard-metric.tone-yellow{background:#fff9e8;border-top:4px solid #b78216}.dashboard-metric.tone-recalls{border-top:4px solid #3859a1}
.dashboard-queue{margin-bottom:24px}.dashboard-list{max-height:620px;overflow:auto;overscroll-behavior:contain}.dashboard-contact{font:inherit;color:inherit;display:flex;align-items:center;gap:15px;width:100%;text-align:left;padding:18px 22px;border:0;border-bottom:1px solid #e5eaf2;cursor:pointer}.dashboard-company{flex:1;min-width:0;overflow-wrap:anywhere}.dashboard-company small{display:block;color:#536178;margin-top:6px;line-height:1.4}.dashboard-contact .chip{flex-shrink:0}.dashboard-dealer{font:inherit;display:flex;flex-direction:column;gap:9px;width:100%;text-align:left;background:white;border:0;border-bottom:1px solid #e5eaf2;padding:18px 22px;color:#25334b;cursor:pointer;overflow-wrap:anywhere}.dashboard-number{display:inline-block;margin-left:8px;font-size:.8rem;font-weight:600}.dashboard-number.red{color:#a22b37}.dashboard-number.yellow{color:#836000}.dashboard-metric:focus-visible,.dashboard-contact:focus-visible,.dashboard-dealer:focus-visible{outline:3px solid #3859a1;outline-offset:-3px}
@media(max-width:600px){.dashboard-toolbar{align-items:stretch;flex-direction:column}.dashboard-toolbar .muted{margin-left:0}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-metric{padding:14px;min-width:0}.dashboard-metric span{font-size:.85rem}.dashboard-metric small{font-size:.75rem}.dashboard-contact{flex-wrap:wrap;padding:16px;gap:10px}.dashboard-company{flex-basis:100%}.dashboard-queue .card-head{flex-wrap:wrap;gap:12px}.dashboard-list{max-height:70vh}}

/* Confronto SelfPay: righe condivise per mantenere allineati i valori. */
.comparison-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:16px}.comparison-selectors select{width:100%;min-height:48px;font:inherit}.comparison-note{color:#526078;line-height:1.6;margin-bottom:22px}.comparison{border:1px solid #dce3ee;border-radius:16px;overflow:hidden;background:#fff;margin-bottom:24px}.comparison-row{display:grid;grid-template-columns:minmax(140px,.85fr) repeat(2,minmax(0,1fr));border-bottom:1px solid #e4e9f1}.comparison-key,.comparison-value{padding:16px;line-height:1.6;font-size:.9rem;overflow-wrap:anywhere;min-width:0}.comparison-key{font-weight:600;color:#273650;background:#f7f9fc}.comparison-value{border-left:1px solid #e4e9f1;white-space:pre-line;color:#33425b}.comparison-section{padding:16px;background:#38599d;color:white;font-weight:600}.comparison-model{padding:20px;text-align:center;min-width:0;border-left:1px solid #e4e9f1;overflow-wrap:anywhere}.comparison-model h2{font-size:clamp(1.05rem,2vw,1.5rem);margin:12px 0}.comparison-image{border:0;background:white;width:100%;cursor:zoom-in;border-radius:10px}.comparison-image img{width:100%;height:180px;object-fit:contain}.comparison-price{font-size:clamp(1.05rem,2vw,1.55rem);color:#38599d}.comparison-model small{display:block;line-height:1.5;color:#526078;margin:8px 0}.comparison-model .link-btn{display:block;margin:12px auto;white-space:normal;font-size:.85rem}.comparison-revision{font-size:.75rem}.comparison-mobile-name{display:none}.comparison-image:focus-visible{outline:3px solid #38599d}
@media(max-width:700px){.comparison-row{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-row>.comparison-key{grid-column:1/-1;padding:12px 14px}.comparison-models>.comparison-key{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.comparison-model{padding:12px 8px}.comparison-image img{height:135px}.comparison-value{padding:12px 10px;font-size:.82rem}.comparison-mobile-name{display:block;color:#526078;font-size:.72rem;font-weight:600;margin-bottom:6px}.comparison-selectors{gap:12px}.comparison-selectors select{font-size:16px;min-width:0}.comparison-selectors .field{min-width:0}.comparison-section{font-size:.9rem;padding:14px}.comparison-note{font-size:.85rem}}

/* Calcolatore ufficiale noleggio */
.rental-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:start}.rental-hybrid{margin-bottom:24px}.rental-device{margin:20px 0;padding:16px;border:1px solid #dce3ee;border-radius:12px;min-width:0}.rental-device legend{font-weight:700;padding:0 8px}.rental-list-price{color:#526078;font-size:.9rem;margin:0 0 14px}.rental-input-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rental-layout input{width:100%;font-size:16px;min-width:0}.rental-error{color:#a22b37;font-size:.9rem;line-height:1.5}.rental-total{padding:22px 0}.rental-total small,.rental-total strong{display:block}.rental-total strong{font-size:clamp(1.7rem,3vw,2.5rem);color:#38599d;margin-top:8px}.rental-rates{margin:20px 0}.rental-rates>div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #e4e9f1;align-items:center}.rental-rates dd{font-size:1.25rem;font-weight:700;margin:0;text-align:right}.rental-rates dd small{display:block;font-size:.75rem;font-weight:400;color:#526078;margin-top:3px}.rental-proposal{padding:20px;background:#eef3ff;border-radius:12px;text-align:center}.rental-proposal small,.rental-proposal strong,.rental-proposal span{display:block}.rental-proposal strong{font-size:1.75rem;color:#38599d;letter-spacing:.08em;margin:10px 0}.rental-proposal span,.rental-source-note{font-size:.8rem;line-height:1.6}.rental-results{min-width:0}.rental-layout .field{margin-bottom:16px}
@media(max-width:800px){.rental-layout{grid-template-columns:minmax(0,1fr)}.rental-device{padding:14px}.rental-input-pair{gap:12px}}

.rental-crm-save{border-top:1px solid #dce3ee;margin-top:24px;padding-top:24px}.rental-crm-save select,.rental-crm-save input{width:100%;font-size:16px;min-height:44px}.rental-crm-save select{white-space:normal;max-width:100%}.lead-rentals{margin:24px 0}.saved-rental{border:1px solid #dce3ee;border-radius:12px;padding:16px;margin:12px 0;overflow-wrap:anywhere}.saved-rental summary{cursor:pointer;line-height:1.6}.saved-rental summary small{display:block;color:#526078}.saved-rental-params>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e4e9f1}.saved-rental-params dd{margin:0;text-align:right}.saved-rental p{font-size:.85rem;line-height:1.6}

/* Accesso proporzionato: due colonne su computer, una su mobile. */
.auth-login{max-width:68rem;display:grid;gap:1.5rem;align-content:center;padding-block:clamp(1.5rem,5vh,4rem)}.auth-intro,.auth-access{min-width:0}.auth-login .auth-logo{display:block;height:auto}.auth-intro>p{max-width:40ch}.auth-access .card{margin-bottom:1rem}.auth-access .auth-help{margin-block:.75rem}.auth-access .field{margin-bottom:1.25rem}
@media(min-width:56rem){.auth-login{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:center;padding-inline:2.5rem}.auth-login h1{font-size:clamp(2rem,3vw,2.75rem);max-width:16ch}.auth-login .auth-logo{width:210px;margin-bottom:3rem}.auth-access .card{padding:2rem}.auth-intro>p{font-size:1rem}}
@media(max-height:42rem) and (min-width:56rem){.auth-login{align-content:start;padding-block:2rem}}
.contact-danger-zone{border-top:1px solid #e4e9f1;margin-top:24px;padding-top:20px}.btn.danger{background:#a93240;color:#fff}.btn.danger-outline{background:white;color:#a93240;border:1px solid #d5a5ad}.trash-confirm{background:#fff4f4;padding:16px;border-radius:12px;margin-top:12px}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e4e9f1}.trash-row>div{min-width:0;overflow-wrap:anywhere}.trash-row small{display:block}.trash-toolbar{margin-bottom:20px}.trash-row .btn{flex-shrink:0}.trash-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}@media(max-width:40rem){.trash-row{align-items:stretch;flex-direction:column}.trash-row .btn{align-self:flex-start}.trash-actions{justify-content:flex-start}}

/* Ricerca condivisa: stessi materiali autorizzati, nessuna ricerca nel CRM. */
.resource-search {margin-bottom:1.5rem}.resource-search>label{display:block;font-weight:700;margin-bottom:.65rem}.resource-search-controls{display:flex;flex-wrap:wrap;gap:.65rem}.resource-search-controls input{flex:2 1 18rem;min-width:0}.resource-search-controls select{flex:1 1 12rem;min-width:0}.resource-search-controls input,.resource-search-controls select{font:inherit;font-size:1rem;min-height:44px;padding:.75rem;border:1px solid #cbd5e1;border-radius:.65rem;background:white;color:#17243a}.resource-search p{margin:.7rem 0 0}.resource-search #resourceCount:empty{display:none}.resource-results[hidden],#main>[hidden]{display:none!important}.resource-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:1rem}.resource-product{min-width:0}.resource-product>button:first-child{border:0;background:transparent;width:100%;display:grid;justify-items:center;gap:.7rem;font:inherit;font-weight:700;color:inherit;cursor:pointer}.resource-product img{width:100%;height:11rem;object-fit:contain}.resource-product p{font-size:.9rem}.resource-results{margin-bottom:2rem}.resource-search-controls button{min-height:44px}@media(max-width:30rem){.resource-search-controls input,.resource-search-controls select{flex-basis:100%}.resource-search-controls button{width:100%}}

.resource-search-controls :focus-visible,.resource-product button:focus-visible{outline:3px solid #4164b1;outline-offset:3px}.resource-results .doc,.resource-product{overflow-wrap:anywhere}.resource-search{padding:clamp(1rem,2.5vw,1.5rem)}

/* MyCashmatic: official product companion and store QR codes. */
.myc-page{max-width:80rem;margin-inline:auto}.myc-page>.link-btn{display:inline-flex;margin-bottom:1.25rem}.myc-hero{display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:1.75rem;background:#eef2f8;border:1px solid var(--line)}.myc-hero-copy{padding:clamp(1.4rem,4vw,3.6rem)}.myc-hero h1{font-size:clamp(2.2rem,4.2vw,4.6rem);line-height:1.08;letter-spacing:-.055em;margin:1rem 0 1.3rem}.myc-hero h1 span{color:#405e9e}.myc-hero p{font-size:1.08rem;line-height:1.75;max-width:36rem}.myc-hero-art{margin:0;align-self:center;min-width:0}.myc-hero-art img{width:100%;height:auto;display:block}.myc-hero-art figcaption{padding:0 1.5rem 1.5rem;color:var(--muted);font-size:.8rem;text-align:center}.myc-offer{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-block:1.5rem;font-weight:750;color:#28461b}.myc-offer>span{display:grid;place-items:center;background:#e0edcd;border-radius:50%;width:1.8rem;height:1.8rem}.myc-offer small{width:100%;font-weight:450;color:var(--muted);padding-left:2.35rem}.myc-features{display:grid;grid-template-columns:1fr;gap:1rem;margin-block:1.4rem 2.5rem}.myc-features h2{font-size:1.2rem}.myc-features p,.myc-story p{line-height:1.75}.myc-feature-number{font-size:.8rem;letter-spacing:.1em;color:var(--blue);font-weight:750}.myc-story{display:grid;gap:1.75rem;align-items:center;margin-block:2.5rem}.myc-story img{display:block;width:100%;height:auto;border-radius:1.4rem}.myc-story h2,.myc-section-heading h2{font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.15;letter-spacing:-.04em}.myc-video-section{overflow:hidden;margin-block:2.5rem}.myc-video-section video{display:block;width:100%;height:auto;max-height:34rem;background:#102654}.myc-install{scroll-margin-top:6rem;margin-top:3rem}.myc-store-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-block:1.5rem}.myc-store{text-align:center;padding:1.5rem;min-width:0}.myc-store h3{font-size:1.2rem}.myc-qr-button{display:block;background:white;border:0;border-radius:1rem;max-width:100%;width:24rem;margin:0 auto 1rem;padding:0;cursor:zoom-in;color:var(--muted);font:inherit}.myc-qr-half{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:616/547;background:white}.myc-qr-half img{display:block;width:200%;max-width:none;height:auto;position:relative}.myc-qr-half.android img{left:-100%}.myc-qr-button small{display:block;padding:.5rem}.myc-qr-zoom{max-width:32rem;width:100%;margin:auto}.myc-page .actions{gap:.75rem;flex-wrap:wrap}.myc-page #mycashmatic-presentazione{scroll-margin-top:6rem}.myc-store .btn{display:inline-flex;min-height:2.75rem}.myc-page :focus-visible,.notification-bell:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
/* CRM reminders share the existing 4/8-day workflow and tenant visibility. */
.notification-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;border:1px solid var(--line);border-radius:50%;color:var(--navy);background:#fff;flex-shrink:0}.notification-bell svg{width:1.3rem;height:1.3rem}.notification-bell [data-notification-count]{position:absolute;right:-.3rem;top:-.3rem;min-width:1.15rem;min-height:1.15rem;padding:.1rem .3rem;border-radius:99px;background:#c43341;color:#fff;font-size:.65rem;font-weight:750;text-align:center;border:2px solid white}.notification-bell [data-notification-count][hidden]{display:none}.notification-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:36rem;margin-bottom:1.5rem}.notification-summary>.card{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.notification-summary b{font-size:1.8rem;color:var(--navy)}.notification-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.notification-toolbar select{max-width:22rem;min-width:0;flex:1}.notification-list{display:grid;gap:1rem}.notification-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;padding:1.4rem;border-left:4px solid}.notification-card.notification-red{border-left-color:#c43341;background:#fff8f8}.notification-card.notification-yellow{border-left-color:#b48113;background:#fffdf4}.notification-card h2{font-size:1.25rem;margin:.8rem 0}.notification-card p,.notification-card li{line-height:1.65}.notification-card ul{padding-left:1.2rem;color:var(--muted);font-size:.9rem}.notification-card-copy{min-width:0;overflow-wrap:anywhere}.notification-card .btn{flex-shrink:0}.notification-card .eyebrow .activity-dot{display:inline-block;margin-right:.3rem}.notification-red .activity-dot{background:#c43341}.notification-yellow .activity-dot{background:#b48113}.notification-note{line-height:1.65;margin-top:1.5rem}.notification-empty{padding:2rem}.notification-bell[hidden]{display:none}
.lead-update-request{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:1rem 0;padding:1.15rem 1.25rem;border:1px solid #ccd9ef;border-radius:1rem;background:#f4f7fd}.lead-update-request.pending{border-color:#dfcf9e;background:#fffaf0}.lead-update-request h3{margin:.15rem 0 .35rem}.lead-update-request p{margin:0;color:var(--muted);line-height:1.55}.lead-update-request .eyebrow{margin:0}.lead-update-request .btn{flex-shrink:0}
@media(min-width:48rem){.myc-hero{grid-template-columns:1.05fr 1fr}.myc-features{grid-template-columns:repeat(3,minmax(0,1fr))}.myc-story{grid-template-columns:1.15fr 1fr;gap:clamp(1.5rem,4vw,4rem)}.myc-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:40rem){.notification-card,.lead-update-request{flex-direction:column}.notification-card .btn,.lead-update-request .btn{width:100%;justify-content:center}.myc-hero .actions>.btn{width:100%;justify-content:center}.notification-summary>.card{padding:1rem}.notification-bell{min-width:2.6rem;min-height:2.6rem}.header-right{gap:.5rem}.myc-store{padding:1rem}}

.dealer-reference-section{padding:clamp(1rem,2.5vw,2rem);border:1px solid var(--line);border-radius:1.4rem;background:#eef2f8;margin-bottom:2.5rem}.dealer-reference-heading{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.dealer-reference-heading h2{font-size:clamp(1.4rem,2.2vw,2rem);margin:.7rem 0}.dealer-reference-heading p{color:var(--muted);line-height:1.6}.dealer-reference-controls{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin:1.3rem 0}.dealer-reference-controls>label:first-child:not(.reference-trash-toggle){display:grid;gap:.5rem;min-width:0;max-width:100%}.dealer-reference-controls select{width:100%;min-width:0;max-width:100%;min-height:2.75rem}.reference-trash-toggle{display:inline-flex;align-items:center;gap:.6rem;min-height:2.75rem;cursor:pointer}.reference-trash-toggle input{width:1.1rem;height:1.1rem}.dealer-reference-placeholder{display:grid;place-items:center;min-height:10rem;background:#e6ebf6;color:var(--blue);font-weight:750;font-size:1.3rem}.dealer-reference-empty{grid-column:1/-1;max-width:100%;line-height:1.7}.dealer-reference-privacy{font-size:.8rem;margin-bottom:0;line-height:1.6}.dealer-reference-description{white-space:pre-wrap;overflow-wrap:anywhere}.dealer-reference-photo{display:block;background:transparent;border:0;width:100%;padding:0;cursor:zoom-in;margin-block:1rem;color:var(--blue)}.dealer-reference-photo img{display:block;width:100%;max-height:30rem;object-fit:contain;border-radius:.8rem}.dealer-reference-photo span{display:block;padding:.7rem;font:inherit}.dealer-reference-card h3{font-size:1.2rem;margin:.6rem 0}.dealer-reference-card .actions{flex-wrap:wrap;gap:.75rem}.dealer-reference-card .reference-image img{width:100%;height:100%;object-fit:cover}.dealer-reference-card .reference-image{aspect-ratio:3/2}.dealer-reference-heading>.btn{flex-shrink:0}
@media(max-width:40rem){.dealer-reference-heading>.btn{width:100%;justify-content:center}.dealer-reference-controls>label:first-child:not(.reference-trash-toggle){width:100%}.dealer-reference-section{padding:1rem}}
.config-visual-panel{margin-bottom:24px;padding:20px;border:1px solid #e0e7f1;border-radius:16px;background:#f8fafd}.visual-stage{min-height:390px;display:flex;align-items:center;justify-content:center;gap:24px;background:radial-gradient(ellipse at 50% 80%,#e8eef9,transparent 65%);padding:22px 12px}.visual-product{display:flex;align-items:center;flex-direction:column;min-width:0}.visual-product strong{font-size:13px;color:#36568c;margin-top:18px}.visual-assembly{position:relative;width:180px;max-width:100%}.visual-assembly>img{display:block;width:100%;height:auto}.visual-assembly .visual-side-bracket{position:absolute;left:0;top:0;width:100%;height:auto}.visual-product:not(.visual-side-accessories) .visual-device-accessories{display:flex;justify-content:space-between;padding:0 1.6%;gap:8%;}.visual-device-accessories:empty{display:none}.visual-product:not(.visual-side-accessories) .visual-device-accessories img{display:block;width:40%;height:auto;align-self:start}.visual-selection{margin-top:15px;font-size:11px;color:#63738e}.visual-selection summary{cursor:pointer;padding:10px 0;font-weight:650}.visual-selection span{display:block;padding:5px 0;border-bottom:1px solid #e4eaf3}.visual-source,.visual-note{font-size:10px;color:#7d8ca3;line-height:1.7;margin:15px 0 0}.visual-empty{min-height:180px;display:grid;place-items:center;text-align:center;color:#8794aa;font-size:13px}.config-preview-title{font-size:10px;letter-spacing:.12em;font-weight:bold;color:#526e9e}.tabs{flex-wrap:wrap}@media(max-width:600px){.visual-stage{min-height:330px;gap:14px}.visual-assembly{width:150px}.visual-stage:has(.visual-product:nth-child(2)) .visual-assembly{width:115px}.config-visual-panel{padding:14px}.visual-product strong{font-size:11px}}

/* Gli strati ufficiali Cashmatic restano nella stessa colonna: VP, SelfPay e stand. */
.visual-slot{position:relative}
.visual-slot>img:first-child{display:block;width:100%;height:auto}

/* VP 27/32: i due disegni formano lo stesso corpo laterale, ancorato al display. */
.visual-side-accessories .visual-device-accessories{position:relative;height:0;transform:translateX(66.5%)}
.visual-side-accessories .visual-device-accessories img{position:absolute;left:0;bottom:0;display:block;width:39%;height:auto}
.visual-side-accessories .visual-device-accessories img:first-child{z-index:1}
.visual-side-accessories .visual-device-accessories img:nth-child(2){z-index:2}
.private-quote-list{display:grid;gap:10px;margin:16px 0}.private-quote-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;background:#f3f6fc;border:1px solid #dbe3f3;border-radius:12px;color:#254a91;text-decoration:none}.private-quote-item small{display:block;color:#626e82;margin-top:5px}
/* ROI choices and field guides use the same Cashmatic visual language. */
.roi-mode-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:6px;background:#edf1f9;border:1px solid #dce3f1;border-radius:14px}.roi-mode-switch button{flex:1 1 150px;min-height:48px;padding:12px 18px;border:0;border-radius:10px;background:transparent;color:var(--blue);font:inherit;font-weight:700;cursor:pointer}.roi-mode-switch button[aria-pressed=true]{background:var(--blue);color:#fff;box-shadow:0 6px 18px #23467f21}.roi-mode-switch button:focus-visible{outline:3px solid #718fd0;outline-offset:3px}.roi-input-grid>.field[hidden],.roi-selectors>.field[hidden]{display:none}.calculator-tutorial{margin-top:32px;padding:clamp(22px,4vw,42px)}.calculator-tutorial h2{font-size:clamp(1.4rem,3vw,2rem);margin:10px 0}.tutorial-intro{color:var(--muted);max-width:780px;line-height:1.7}.calculator-tutorial ol{list-style:none;margin:28px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.calculator-tutorial li{display:flex;align-items:flex-start;gap:14px;min-width:0}.tutorial-number{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:11px;background:#e9effa;color:var(--blue);font-weight:800}.calculator-tutorial h3{font-size:1rem;line-height:1.5;margin:4px 0 8px}.calculator-tutorial p{font-size:.9rem;line-height:1.8;margin:0 0 12px;overflow-wrap:anywhere}.tutorial-example{padding:22px;border-radius:16px;background:#f1f5fc;border:1px solid #dce5f6;margin-top:12px}.calculator-tutorial details{margin-top:24px}.calculator-tutorial summary{min-height:44px;cursor:pointer;font-weight:650;padding:12px 0}.calculator-tutorial a{color:var(--blue);text-decoration:underline}@media(max-width:650px){.calculator-tutorial ol{grid-template-columns:minmax(0,1fr)}.roi-mode-switch{flex-wrap:nowrap}.roi-mode-switch button{flex-basis:0;padding:12px 8px}.tutorial-example{padding:16px}}@media print{.calculator-tutorial,.roi-mode-switch{display:none}}
.manual-refresh{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--blue);font:inherit;font-size:.8rem;font-weight:650;cursor:pointer;flex-shrink:0}.manual-refresh svg{width:20px;height:20px;flex-shrink:0}.manual-refresh:hover{background:#edf2fb;border-color:#a9bde3}.manual-refresh:focus-visible{outline:3px solid #718fd0;outline-offset:3px}.manual-refresh:disabled{opacity:.65;cursor:wait}.manual-refresh[aria-busy=true] svg{animation:manual-refresh-spin 1s linear infinite}@keyframes manual-refresh-spin{to{transform:rotate(360deg)}}@media(max-width:700px){.manual-refresh{width:44px;padding:10px}.manual-refresh span{display:none}}@media(prefers-reduced-motion:reduce){.manual-refresh[aria-busy=true] svg{animation:none}}@media print{.manual-refresh{display:none}}

/* Navigation follows the daily workflow, with the network first. */
.nav-group{display:flex;flex-direction:column;gap:.25rem}.nav-group+.nav-group{margin-top:1rem}.nav-group-label{font-size:.63rem;font-weight:750;letter-spacing:.12em;color:#8090aa;padding:.35rem .8rem}.nav-group a{min-height:44px}.nav-group .count{margin-left:auto}
.assistance-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;margin:0 0 1.2rem}.assistance-nav .btn{min-height:44px}.assistance-intro{margin:0 0 1.4rem}
@media(max-width:40rem){.assistance-nav .btn{width:100%;justify-content:center}}
/* A client profile reads as a sheet, with distinct work and history sections. */
#modal.client-dialog{max-width:65rem;padding:0;background:#f5f7fc;border-radius:1.4rem} .client-dialog .modal-top{top:0;padding:1.2rem clamp(1rem,3vw,2rem);margin:0;background:#fff;border-bottom:1px solid #dfe6f2;border-radius:1.4rem 1.4rem 0 0;z-index:3}.client-dialog .modal-top h2{font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:-.035em}.client-sheet{padding:clamp(1rem,3vw,2rem);min-width:0}.client-overview{display:flex;align-items:center;gap:1rem;padding:.25rem 0 1.5rem}.client-overview>div{min-width:0}.client-monogram{display:grid;place-items:center;flex-shrink:0;width:3.75rem;height:3.75rem;border-radius:1.1rem;background:linear-gradient(140deg,#3157a7,#182e57);color:#fff;font:750 1.2rem Manrope,sans-serif;box-shadow:0 8px 22px #284d9526}.client-overview h3{margin:.3rem 0;font-size:1.15rem}.client-overview p{margin:0;color:var(--muted);font-size:.85rem}.client-overview-status{margin-left:auto;text-align:right;display:grid;justify-items:end;gap:.5rem}.client-overview-status small{color:var(--muted);font-size:.75rem}.client-sheet>.muted{display:none}.client-section{background:#fff;padding:clamp(1rem,2vw,1.5rem);border:1px solid #e0e7f3;border-radius:1rem;margin:1rem 0;box-shadow:0 6px 20px #193a6804}.client-section-title{display:flex;align-items:center;gap:.65rem;margin-bottom:1.2rem}.client-section-title>span{display:grid;place-items:center;width:1.85rem;height:1.85rem;background:#edf2fc;border-radius:.6rem;font-size:.7rem;color:#4163a9;font-weight:700}.client-section-title h3{margin:0;font-size:1rem}.client-dialog .form-grid{gap:1rem 1.2rem}.client-dialog .form-grid .full{grid-column:auto}.client-dialog input,.client-dialog select,.client-dialog textarea{background:#fcfdff}.client-dialog input[type=search]{margin-bottom:.55rem}.client-dialog .field small{line-height:1.5}.client-note-section textarea{min-height:7rem}.client-note-section .btn{width:100%;justify-content:center}.client-dialog .timeline{background:white;border:1px solid #e0e7f3;padding:1.4rem;border-radius:1rem;margin-top:1rem}.client-dialog .timeline p{padding:.9rem 1rem;margin:.65rem 0;background:#f6f8fd;border:0;border-left:3px solid #4c68b2;border-radius:0 .65rem .65rem 0;white-space:pre-wrap;overflow-wrap:anywhere}.client-dialog .timeline h3{margin:0 0 1rem}.client-dialog .timeline small{display:block;color:#7c8aa0;margin-top:.5rem}.client-dialog .deadline-box{border-radius:.85rem;font-size:.85rem}.client-dialog .lead-rentals:empty{display:none}.client-dialog .contact-danger-zone{border-top:1px solid #e0e7f3;padding-top:1rem}
.first-contact-panel{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;overflow:hidden;margin:0 0 1rem;padding:1.25rem;border:1px solid #bad3c5;border-radius:1.1rem;background:linear-gradient(135deg,#f7fffa 0%,#eaf7f0 100%);box-shadow:0 10px 28px #19563b0b}.first-contact-panel::after{content:"";position:absolute;right:-2rem;top:-3rem;width:9rem;height:9rem;border-radius:50%;background:#62a98512}.first-contact-panel.yellow{border-color:#ead28b;background:linear-gradient(135deg,#fffdf7,#fff4d5)}.first-contact-panel.red{border-color:#eab1b8;background:linear-gradient(135deg,#fffafa,#ffe8eb)}.first-contact-panel-copy{position:relative;z-index:1;min-width:0}.first-contact-kicker{display:block;margin-bottom:.35rem;font-size:.62rem;font-weight:800;letter-spacing:.13em;color:#347257}.first-contact-panel.yellow .first-contact-kicker{color:#896400}.first-contact-panel.red .first-contact-kicker{color:#a22b38}.first-contact-time{display:block;font:800 clamp(1.35rem,4vw,2.15rem)/1.15 Manrope,sans-serif;letter-spacing:-.045em;color:#163c2b;font-variant-numeric:tabular-nums}.first-contact-panel.yellow .first-contact-time{color:#6d5208}.first-contact-panel.red .first-contact-time{color:#8f2330}.first-contact-panel p{margin:.45rem 0 0;color:#526178;font-size:.82rem;line-height:1.55}.first-contact-actions{position:relative;z-index:1;display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.first-contact-watch{position:relative;z-index:1;padding:.5rem .7rem;border-radius:99px;background:#ffffffc9;color:#53647d;font-size:.72rem;font-weight:700;white-space:nowrap}#waLink{display:none!important}
/* Circulars: authored by Marco, displayed on the home while published and in date. */
.circular-home{margin:0 0 2rem}.circular-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 0 1rem;flex-wrap:wrap}.circular-heading h2{font-size:1.2rem;margin:.35rem 0 0}.circular-heading-label{font-size:.78rem;color:var(--muted)}.circular-banner{display:block;overflow:hidden;border-radius:1.25rem;border:1px solid #d8e1f0;background:#fff;margin-bottom:1rem;box-shadow:0 12px 30px #20396109;min-width:0}.circular-banner-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:1rem clamp(1.1rem,2.5vw,2rem);background:#455c9d;color:#fff}.circular-brand{display:flex;align-items:center;gap:.65rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.circular-brand svg{width:21px;height:21px;flex-shrink:0}.circular-tag{font-size:.65rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;font-weight:750;padding:.3rem .65rem;border:1px solid #ffffff59;border-radius:2rem;color:#fff}.circular-banner-content{padding:clamp(1.25rem,3vw,2rem);min-width:0}.circular-banner h3{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.35;letter-spacing:-.035em;margin:0 0 1rem;color:var(--navy);overflow-wrap:anywhere;max-width:45ch}.circular-message{max-width:85ch}.circular-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:.94rem;color:#455570;margin:0 0 1rem}.circular-message p:last-child{margin-bottom:0}.circular-banner-footer{padding:1rem clamp(1.1rem,2.5vw,2rem);background:#f6f8fc;border-top:1px solid #e6ebf4}.circular-deadline{display:flex;align-items:center;gap:.65rem;font-size:.8rem;color:#526283;flex-wrap:wrap}.circular-deadline svg{width:19px;height:19px;flex-shrink:0;color:#455c9d}.circular-deadline time{font-weight:750;color:#263f72;margin-left:.2rem}.circular-banner.important{border-color:#aebcda;box-shadow:0 12px 32px #20396112}.circular-banner.important .circular-banner-top{background:#223d75}.circular-banner.important .circular-banner-footer{background:#edf2fc}.circular-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.circular-list-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.circular-list-head h2{margin:0;font-size:1.1rem}.circular-list{display:grid;gap:.7rem;margin-top:1.2rem}.circular-list-item{display:grid;justify-items:start;gap:.6rem;text-align:left;border:1px solid #e0e7f3;border-radius:.9rem;padding:1rem;background:#f9fbff;color:var(--navy);width:100%;min-width:0;overflow-wrap:anywhere}.circular-list-item:hover{border-color:#637eb9;background:#f0f4ff}.circular-list-item small{color:var(--muted)}.circular-workspace .card{min-width:0}.circular-preview{padding:0;margin:1.5rem 0}.circular-preview-meta{padding:0 0 .75rem}.circular-preview-meta>small{font-size:.65rem;letter-spacing:.08em;color:#5974a3}.circular-preview-meta p{font-size:.75rem;line-height:1.6;margin:.4rem 0 0;color:#526b9d}.circular-preview .circular-banner{margin-bottom:0}.circular-preview .circular-banner-content{padding:1.3rem}.circular-preview .circular-banner h3{font-size:1.25rem}.circular-workspace textarea{min-height:8rem}.circular-workspace .muted{font-size:.8rem;line-height:1.65}
@media(min-width:52rem){.circular-workspace{grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr)}}
@media(max-width:36rem){.client-overview{flex-wrap:wrap}.client-overview-status{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}.client-monogram{width:3rem;height:3rem}.client-dialog .modal-top{padding:.85rem 1rem}.client-dialog .form-grid{grid-template-columns:minmax(0,1fr)}.first-contact-panel{align-items:stretch;flex-direction:column;padding:1rem}.first-contact-actions{display:grid;grid-template-columns:1fr}.first-contact-actions .btn{width:100%;justify-content:center}.circular-heading-label{display:none}.circular-banner-content{padding:1.1rem}.circular-banner-top{gap:.6rem}.circular-brand{font-size:.62rem;letter-spacing:.07em}}

.client-purchases-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.client-purchases-heading h3{margin:.45rem 0}.client-purchases-heading p{margin:0;color:var(--muted);font-size:.85rem}.client-purchases-panel [data-client-purchases]>p{color:var(--muted);font-size:.85rem}.client-purchases-heading .btn{flex-shrink:0}.return-to-client{display:inline-flex;margin:.8rem 0}.return-to-client[hidden]{display:none}

.circular-audience{border:1px solid #dfe6f3;border-radius:1rem;padding:1rem;margin:1.3rem 0;min-width:0}.circular-audience legend{font-weight:750;color:var(--navy);padding:0 .4rem}.circular-audience-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}.circular-audience-actions button{min-height:44px}.circular-audience-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}.circular-audience-option{display:flex;align-items:center;gap:.7rem;min-height:48px;padding:.7rem;background:#f5f8fe;border:1px solid #e2e8f3;border-radius:.7rem;font-size:.85rem;cursor:pointer}.circular-audience-option input{width:1.15rem;height:1.15rem;min-height:0;flex-shrink:0;accent-color:#3d5da6}.circular-audience>small{display:block;color:#526b9d;line-height:1.6}.circular-audience-preview{font-size:.75rem;color:#526b9d}@media(min-width:42rem){.circular-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* PDF reader: toolbar stays outside the scrollable document on iPhone/PWA. */
.portal-pdf-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#edf1f7;color:#172339;overflow:hidden}
.portal-pdf-viewer[open]{display:flex;flex-direction:column}
.portal-pdf-viewer::backdrop{background:#172339}
.pdf-viewer-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:white;border-bottom:1px solid #d8e0eb;padding:calc(.65rem + env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) .65rem max(1rem,env(safe-area-inset-left,0px));flex-shrink:0}
.pdf-viewer-header h2{font-size:1rem;margin:0;flex:1;min-width:0;overflow-wrap:anywhere}
.pdf-viewer-header .btn,.pdf-viewer-controls .btn{min-height:44px;white-space:nowrap;font-size:.875rem;padding:.6rem .85rem}
.pdf-viewer-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:.5rem;background:#fff;flex-shrink:0;border-bottom:1px solid #d8e0eb}
.pdf-viewer-controls span{font-size:.875rem;font-variant-numeric:tabular-nums}
.pdf-viewer-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}
.pdf-viewer-stage canvas{display:block;margin:0 auto;background:white;max-width:none;box-shadow:0 2px 12px #17233922}
.pdf-viewer-stage canvas[hidden]{display:none}
.pdf-accessible-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:40rem){.pdf-viewer-header h2{order:3;flex-basis:100%;font-size:.875rem}.pdf-viewer-header{justify-content:space-between;gap:.4rem}.pdf-viewer-controls{gap:.3rem}.pdf-viewer-controls .btn{padding:.55rem .8rem}}
.document-updates{margin-bottom:1.5rem;border-left:4px solid #3d58a2;background:#f1f5ff}
.document-updates h2{font-size:1.15rem;margin:.5rem 0}
.document-updates p{display:flex;gap:.5rem 1rem;flex-wrap:wrap;align-items:center;margin:.65rem 0}
.document-updates a{font-weight:650;color:#304986;overflow-wrap:anywhere}
.document-update-badge{font-size:.78rem;background:#e0e8fb;color:#304986;padding:.3rem .6rem;border-radius:99px;white-space:nowrap}
.managed-document-row{gap:1rem;flex-wrap:wrap}.managed-document-row>span{min-width:0;flex:1 1 16rem;overflow-wrap:anywhere}.managed-document-row small{display:block;margin-top:.3rem;color:#5b6880}.managed-document-row .actions{margin:0;gap:.75rem}.managed-document-row button{min-height:44px}.document-remove{color:#a52e39!important}
.document-trash{margin-top:1.5rem;border-top:1px solid #d8e0eb;padding-top:1rem}.document-trash summary{cursor:pointer;min-height:44px;font-weight:650}
a[aria-disabled=true]{opacity:.5;cursor:not-allowed;text-decoration:none}

.header-right{min-width:0;max-width:100%}.profile{max-width:18rem}.profile #profileLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:42rem) and (max-width:63.999rem){.demo-tag{display:none}}

.usage-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:20px 0}.usage-controls .field{flex:1 1 180px;min-width:0;margin:0}.usage-controls input,.usage-controls select{width:100%;min-width:0;font-size:1rem}.usage-rows{display:grid;gap:10px}.usage-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px;border:1px solid #dce4f2;border-radius:12px;background:#f7f9fd;overflow-wrap:anywhere}.usage-row>div{min-width:0;flex:1 1 180px}.usage-row>div:last-child{text-align:right}.usage-row small{display:block;color:var(--muted);font-size:.8rem;line-height:1.6;margin-top:4px}@media(max-width:36rem){.usage-row>div:last-child{text-align:left}}
.push-settings{display:grid;gap:18px}.push-status{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #dce4ef;border-radius:14px;background:#f8fafc}.push-status-dot{width:10px;height:10px;border-radius:50%;background:#9ba9bf;margin-top:6px;box-shadow:0 0 0 4px rgba(155,169,191,.14)}.push-status.is-active .push-status-dot{background:#3c9560;box-shadow:0 0 0 4px rgba(60,149,96,.15)}.push-status small{display:block;color:#66758b;margin-top:4px}.push-actions{display:flex;flex-wrap:wrap;gap:10px}.push-preferences{display:grid;gap:12px;border:1px solid #dce4ef;border-radius:14px;padding:15px}.push-preferences legend{font-weight:700;padding:0 6px}.push-preferences label{display:flex;align-items:center;gap:9px}.push-preferences input{width:18px;height:18px}.push-preferences small{color:#66758b}
.push-account-status{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;font-size:.78rem;font-weight:700;color:#6b7280}.push-account-status i{width:.55rem;height:.55rem;border-radius:50%;background:#aeb7c7;box-shadow:0 0 0 .2rem #eef1f6}.push-account-status.is-active{color:#16704e}.push-account-status.is-active i{background:#22a06b;box-shadow:0 0 0 .2rem #e1f3eb}

/* Note sempre visibili accanto ai risultati dei calcolatori. */
.calc-result-note{display:block;margin:8px 0 0;font-size:.8125rem;font-weight:400;line-height:1.6;color:#526176;white-space:normal;overflow-wrap:anywhere;max-width:60ch}
.iper-main-result .calc-result-note{color:inherit}.result-line>span:has(.calc-result-note){flex:1;min-width:0}.result-line:has(.calc-result-note){align-items:flex-start;gap:20px;padding-top:16px;padding-bottom:16px}.result-line:has(.calc-result-note)>b{flex-shrink:0}.roi-periods .calc-result-note{max-width:42ch}
@media(max-width:480px){.result-line:has(.calc-result-note){flex-wrap:wrap;gap:8px}.result-line:has(.calc-result-note)>span{flex-basis:100%}}
@media print{.calc-result-note{color:#333;max-width:none}.result-line:has(.calc-result-note){break-inside:avoid}}
