:root {
  --ink:#193c38;
  --muted:#74817a;
  --canvas:#f5f6f2;
  --paper:#fff;
  --line:#e4e8e1;
  --lime:#c2ec6c;
  --green:#255e50;
  --pale:#eff4e9;
  --radius:14px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  font-size:14px;
  font-synthesis:none}
* {
  box-sizing:border-box}
body {
  margin:0;
  background:var(--canvas)}
a {
  color:inherit;
  text-decoration:none}
button,input,select,textarea {
  font:inherit}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent}
button {
  cursor:pointer}
button:disabled {
  cursor:wait;
  opacity:.55}
a:focus-visible,button:focus-visible {
  outline:3px solid #79a734;
  outline-offset:4px}
input,select,textarea {
  width:100%;
  border:1px solid #dce2d9;
  background:#fff;
  border-radius:8px;
  padding:12px 13px;
  min-height:44px;
  color:var(--ink);
  outline:none}
input:focus,select:focus,textarea:focus {
  border-color:#6a9474;
  box-shadow:0 0 0 3px #dfead8}
input::placeholder,textarea::placeholder {
  color:#99a29d}
label {
  display:block;
  font-size:12px;
  font-weight:600;
  line-height:1.5}
label input,label select,label textarea {
  margin-top:7px;
  font-size:14px;
  font-weight:400}
h1,h2,h3,p {
  margin-top:0}
h1 {
  font-size:36px;
  letter-spacing:-1.3px;
  line-height:1.18;
  font-weight:600;
  margin-bottom:10px}
h2 {
  font-size:19px;
  letter-spacing:-.45px;
  font-weight:600;
  margin-bottom:8px}
h3 {
  font-weight:600}
p {
  line-height:1.7}
.muted {
  color:var(--muted)}
.eyebrow {
  font-size:10px;
  letter-spacing:1.7px;
  font-weight:700;
  color:#749369;
  margin-bottom:14px}
.brand {
  display:flex;
  align-items:center;
  font-size:24px;
  font-weight:750;
  letter-spacing:-1px;
  white-space:nowrap}
.brand img {
  margin-right:9px}
.brand-dot {
  color:#88b545}
.button {
  display:inline-flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  border-radius:8px;
  min-height:44px;
  padding:12px 20px;
  font-size:12px;
  font-weight:650;
  border:1px solid transparent;
  white-space:nowrap;
  transition:background .15s,transform .15s}
.button:hover {
  transform:translateY(-1px)}
.button.primary {
  background:var(--ink);
  color:white}
.button.primary:hover {
  background:#2c5e52}
.button.primary span {
  font-size:18px}
.button.secondary {
  background:white;
  border-color:var(--line);
  color:var(--ink)}
.button.secondary:hover {
  background:var(--pale)}
.button.dashed {
  background:#fafbf8;
  border:1px dashed #ccd6c5;
  color:#537047}
.wide {
  width:100%}
.panel {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius)}
.sidebar {
  width:246px;
  position:fixed;
  inset:0 auto 0 0;
  border-right:1px solid var(--line);
  background:#fbfcf8;
  padding:29px 22px 0;
  display:flex;
  flex-direction:column;
  z-index:10;
  overflow-y:auto;
  overscroll-behavior:contain}
.sidebar>* { flex-shrink:0; }
.business-card {
  margin:34px 0 32px;
  padding:12px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  display:flex;
  gap:10px;
  align-items:center;
  min-width:0}
.business-avatar {
  width:34px;
  height:34px;
  flex-shrink:0;
  display:grid;
  place-items:center;
  background:#edf2e7;
  border-radius:8px;
  font-size:15px;
  font-weight:600}
.business-card div,.profile div {
  min-width:0}
.business-card strong,.business-card span:not(.business-avatar),.profile strong,.profile div span {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap}
.business-card strong,.profile strong {
  font-size:11px;
  font-weight:650}
.business-card div span,.profile div span {
  font-size:10px;
  color:var(--muted);
  margin-top:5px}
.nav-label {
  font-size:9px;
  letter-spacing:1.5px;
  color:#98a295;
  margin:0 12px 12px;
  font-weight:700}
nav {
  display:grid;
  gap:7px}
nav a {
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px;
  border-radius:7px;
  color:#788479;
  font-size:12px;
  font-weight:500}
nav a span {
  font-size:21px;
  line-height:1;
  width:21px;
  text-align:center}
nav a.active {
  background:#eaf0e1;
  color:#385735;
  font-weight:650}
nav a:hover {
  background:#f0f3ec}
.sidebar nav { margin-bottom:22px; gap:8px; }
.nav-group { min-width:0; border:1px solid transparent; border-radius:10px; }
.nav-group[open] { background:#eef3e8; border-color:#dde6d5; }
.nav-group summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:11px 10px; color:#596b5b; font-size:12px; font-weight:600; line-height:1.4; list-style:none; cursor:pointer; border-radius:9px; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary:hover { background:#f0f3ec; color:var(--ink); }
.nav-group[open] summary { color:#385735; }
.nav-chevron { flex-shrink:0; }
.nav-group[open] .nav-chevron { transform:rotate(90deg); }
.nav-group-links { display:grid; gap:3px; padding:0 5px 6px; }
.sidebar .nav-group a { min-height:42px; gap:9px; padding:10px 8px; color:#536653; line-height:1.4; }
.sidebar .nav-group a span { flex-shrink:0; width:20px; font-size:19px; }
.sidebar .nav-group a.active { background:#fff; color:#284d32; box-shadow:inset 3px 0 #789760; }
.sidebar .nav-group a:hover { background:#e3ecd9; }
.nav-group summary:focus-visible,.sidebar .nav-group a:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.sidebar-tip {
  margin-top:auto;
  background:#edf2e6;
  border-radius:10px;
  padding:17px 14px;
  margin-bottom:24px}
.tip-symbol {
  display:block;
  font-size:22px;
  margin-bottom:10px}
.sidebar-tip strong {
  font-size:12px;
  line-height:1.6;
  display:block}
.sidebar-tip p {
  font-size:11px;
  color:#7a8872;
  margin:7px 0 12px;
  line-height:1.7}
.sidebar-tip a {
  font-size:11px;
  font-weight:650;
  display:flex;
  justify-content:space-between}
.profile {
  border-top:1px solid var(--line);
  padding:20px 0;
  display:flex;
  gap:9px;
  align-items:center}
.avatar {
  height:32px;
  width:32px;
  flex-shrink:0;
  border-radius:50%;
  background:#dfdbc8;
  display:grid;
  place-items:center;
  font-size:12px}
.profile form {
  margin-left:auto}
.icon-button {
  background:none;
  border:0;
  color:var(--muted);
  font-size:22px}
.main {
  margin-left:246px}
.topbar {
  height:73px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 44px;
  color:#8b958b;
  font-size:11px;
  background:#fbfcf8}
.workspace-badge {
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:20px;
  padding:7px 11px;
  font-size:10px;
  background:white;
  color:#697966}
.workspace-badge i {
  background:#95b963;
  width:5px;
  height:5px;
  border-radius:50%}
.page-content {
  max-width:1510px;
  margin:auto;
  padding:44px}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:34px}
.page-heading p {
  margin:0;
  color:var(--muted);
  font-size:12px}
.page-heading .button {
  align-self:center}
.stats-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:30px}
.stat-card {
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  padding:21px 23px}
.stat-label {
  display:flex;
  justify-content:space-between;
  font-size:11px;
  color:#75816f}
.stat-label span {
  font-size:17px;
  color:#abb99d}
.stat-card>strong {
  display:block;
  font-size:33px;
  font-weight:550;
  letter-spacing:-1px;
  margin:16px 0 10px}
.stat-card small {
  font-size:10px;
  color:#99a193}
.panel-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:23px 25px;
  border-bottom:1px solid #edf0e8}
.panel-heading h2 {
  font-size:15px;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px}
.panel-heading p {
  font-size:10px;
  color:var(--muted);
  margin:0}
.count-badge {
  padding:3px 6px;
  border-radius:5px;
  background:#f0f3eb;
  color:#6c7e5d;
  font-size:10px}
.search-field {
  display:flex;
  align-items:center;
  border:1px solid var(--line);
  padding:0 10px;
  border-radius:7px;
  max-width:230px}
.search-field span {
  font-size:22px;
  color:#99a292}
.search-field input {
  border:0;
  margin:0;
  padding:9px;
  min-height:34px;
  font-size:11px;
  background:none}
.search-field input:focus {
  box-shadow:none}
.empty-state {
  text-align:center;
  padding:60px 20px 54px}
.empty-icon {
  width:61px;
  height:68px;
  display:grid;
  place-items:center;
  background:#f1f4e8;
  border-radius:14px;
  color:#91a66d;
  font-size:34px;
  margin:0 auto 24px;
  position:relative;
  transform:rotate(-6deg)}
.empty-icon span {
  position:absolute;
  right:-10px;
  bottom:4px;
  background:var(--lime);
  color:#4d6b30;
  font-size:19px;
  border:3px solid white;
  width:29px;
  height:29px;
  border-radius:50%}
.empty-state h3 {
  font-size:23px;
  line-height:1.45;
  letter-spacing:-.7px;
  margin-bottom:10px}
.empty-state p {
  font-size:12px;
  color:#8a9484;
  margin-bottom:25px}
.empty-state .text-link {
  display:block;
  font-size:10px;
  color:#8e9a83;
  margin-top:17px}
.bottom-note {
  display:flex;
  gap:14px;
  align-items:center;
  margin-top:27px;
  padding:17px 22px;
  background:#eef1e7;
  border-radius:9px}
.bottom-note>span {
  font-size:24px;
  color:#7c9864}
.bottom-note p {
  margin:0;
  font-size:10px;
  color:#809072}
.bottom-note p strong {
  color:#60744e;
  margin-right:6px;
  font-weight:600}
.bottom-note a {
  margin-left:auto;
  font-size:10px;
  white-space:nowrap;
  font-weight:600;
  color:#60754e}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left}
th {
  font-size:9px;
  letter-spacing:1px;
  color:#929c8b;
  font-weight:650;
  padding:16px 23px;
  background:#fcfdf9}
td {
  border-top:1px solid #edf0e8;
  padding:20px 23px;
  font-size:12px}
.quote-title {
  font-weight:600}
.quote-title:hover {
  text-decoration:underline}
.cell-secondary {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:7px}
.status-pill {
  display:inline-block;
  background:#f1f2e8;
  color:#7b805d;
  border:1px solid #e8eadc;
  border-radius:5px;
  padding:5px 9px;
  font-size:10px;
  font-weight:500}
.align-right {
  text-align:right}
.amount {
  font-weight:600}
.row-arrow {
  font-size:17px;
  color:#8c9a80}
.table-scroll {
  overflow:auto}
.search-empty {
  padding:25px;
  text-align:center;
  color:var(--muted)}
.service-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px}
.service-card {
  padding:24px}
.service-card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:24px}
.service-symbol {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  background:var(--pale);
  border-radius:10px;
  font-size:24px;
  color:#86a16b}
.subtle-badge {
  font-size:9px;
  letter-spacing:.3px;
  padding:6px 9px;
  border-radius:20px;
  border:1px solid var(--line);
  color:var(--muted)}
.service-card h2 {
  font-size:17px}
.service-card p {
  min-height:40px;
  font-size:11px;
  color:var(--muted);
  margin-bottom:22px}
.price-input {
  display:flex;
  align-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  padding-left:14px;
  margin-top:7px}
.price-input span {
  color:#829076}
.price-input input {
  border:0;
  margin:0}
.service-card .button {
  margin-top:15px;
  width:100%;
  font-size:11px}
.notice {
  border-radius:8px;
  padding:13px 15px;
  font-size:12px;
  margin-bottom:20px;
  line-height:1.6}
.notice.error {
  background:#fcece8;
  color:#984635}
.notice.success {
  background:#e7efdd;
  color:#4c6b33}
.back-link {
  font-size:11px;
  color:#88977b;
  display:inline-block;
  margin-bottom:24px}
.builder-page h1 {
  font-size:31px}
.builder-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:23px;
  align-items:start}
.builder-main {
  display:grid;
  gap:20px}
.form-panel {
  padding:25px;
  position:relative}
.form-panel h2 {
  font-size:16px;
  margin-bottom:24px}
.form-panel>p {
  font-size:11px;
  margin-top:-13px}
.section-number {
  position:absolute;
  right:25px;
  top:24px;
  color:#a5b297;
  font-size:10px;
  font-weight:600}
.form-panel label {
  margin-top:19px;
  font-size:10px}
.form-panel label input,.form-panel label textarea {
  font-size:12px}
.three-fields {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px}
.two-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px}
.quote-line {
  display:grid;
  grid-template-columns:minmax(120px,1fr) 95px 70px 80px 20px;
  gap:10px;
  align-items:end;
  padding-bottom:20px;
  border-bottom:1px solid #f0f2ea;
  margin-bottom:12px}
.quote-line label {
  margin:0}
.quote-line input,.quote-line select {
  font-size:11px;
  min-height:40px;
  padding:10px 8px}
.line-amount {
  text-align:right;
  align-self:end;
  padding-bottom:14px;
  font-size:11px;
  white-space:nowrap}
.remove-line {
  border:0;
  background:none;
  color:#a7afa0;
  font-size:20px;
  align-self:end;
  height:40px;
  padding:0}
.quote-summary {
  padding:25px;
  position:sticky;
  top:24px;
  background:#fbfcf8}
.quote-summary .eyebrow {
  font-size:9px;
  letter-spacing:1.2px;
  display:block}
.quote-summary h2 {
  font-size:24px;
  letter-spacing:-.9px;
  line-height:1.4;
  margin:20px 0 22px}
.summary-row {
  display:flex;
  justify-content:space-between;
  gap:14px;
  font-size:11px;
  padding:9px 0;
  color:#85917c}
.summary-row strong {
  color:#405838;
  white-space:nowrap;
  font-weight:500}
.summary-lines {
  border-bottom:1px solid var(--line);
  margin-bottom:12px;
  padding-bottom:13px}
.item-summary {
  font-size:10px;
  line-height:1.5}
.item-summary span {
  overflow-wrap:anywhere}
.summary-total {
  border-top:1px solid var(--line);
  padding:22px 0 0;
  margin-top:16px}
.summary-total span {
  font-size:11px;
  display:block;
  color:#87927d}
.summary-total strong {
  font-size:36px;
  font-weight:550;
  letter-spacing:-1px;
  display:inline-block;
  margin-top:9px}
.summary-total small {
  font-size:10px;
  color:#93a084;
  margin-left:6px}
.builder-message {
  font-size:10px;
  color:#88977a;
  line-height:1.6;
  margin:18px 0;
  min-height:32px}
.builder-message.has-error {
  color:#a05443}
.summary-footnote {
  font-size:9px;
  line-height:1.6;
  color:#8e9b83;
  text-align:center;
  margin:12px 0 0}
.auth-shell {
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr}
.auth-story {
  background:#173c37;
  color:#f0f5e9;
  padding:40px 9%;
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden}
.auth-story:after {
  content:"";
  width:700px;
  height:700px;
  border:1px solid #31534a;
  border-radius:50%;
  position:absolute;
  bottom:-530px;
  left:-180px;
  box-shadow:0 0 0 70px #24483d,0 0 0 71px #31534a;
  pointer-events:none;
  opacity:.35}
.auth-story .brand {
  font-size:25px}
.auth-story .brand-dot {
  color:var(--lime)}
.story-content {
  max-width:420px;
  margin:75px auto 50px;
  width:100%;
  position:relative;
  z-index:1}
.auth-story .eyebrow {
  color:#96b283;
  font-size:9px;
  letter-spacing:2px}
.auth-story h1 {
  font-size:57px;
  line-height:1.12;
  letter-spacing:-2px;
  font-weight:500;
  margin:24px 0}
.auth-story h1 em {
  color:#c2ec6c;
  font-style:normal}
.auth-story p {
  font-size:12px;
  line-height:1.9;
  color:#a6bbb0}
.sample-quote {
  background:#f8faf2;
  color:#2f4b3d;
  border-radius:12px;
  margin-top:42px;
  padding:25px 25px 17px;
  transform:rotate(-3deg);
  box-shadow:0 20px 60px #08261d33}
.sample-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:8px;
  letter-spacing:1px;
  color:#8c9a7d}
.sample-pill {
  background:#eaf1dd;
  padding:5px 8px;
  border-radius:4px;
  letter-spacing:0;
  color:#72915d}
.sample-quote h3 {
  font-size:14px;
  letter-spacing:-.3px;
  margin:22px 0 20px}
.sample-row {
  font-size:10px;
  display:flex;
  justify-content:space-between;
  padding:9px 0;
  color:#859279}
.sample-row strong {
  font-weight:500;
  color:#47603b}
.sample-total {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #e1e7d7;
  margin-top:10px;
  padding-top:17px;
  font-size:10px;
  color:#789165}
.sample-total strong {
  font-size:26px;
  letter-spacing:-1px;
  font-weight:550;
  color:#3e5b31}
.sample-foot {
  font-size:8px;
  color:#9aa98a;
  text-align:center;
  margin-top:19px}
.story-footer {
  margin-top:auto;
  font-size:9px;
  letter-spacing:.3px;
  color:#8aa394;
  padding-top:20px;
  position:relative;
  z-index:1}
.auth-form-side {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:60px 40px;
  background:#fafbf7}
.auth-form-wrap {
  width:100%;
  max-width:380px}
.auth-form-wrap h2 {
  font-size:37px;
  line-height:1.2;
  letter-spacing:-1.4px;
  font-weight:550;
  margin:17px 0}
.auth-form-wrap>p {
  font-size:12px;
  margin:20px 0 32px}
.stack-form {
  display:grid;
  gap:20px}
.stack-form label {
  font-size:11px}
.stack-form .button {
  margin-top:6px}
.auth-form-wrap .auth-switch {
  font-size:11px;
  color:#8b9584;
  margin-top:25px;
  text-align:center}
.auth-switch a {
  color:#4c713e;
  font-weight:600;
  margin-left:4px}
.message-page {
  max-width:700px;
  margin:50px auto;
  padding:20px}
.message-page .panel {
  margin-top:50px;
  padding:40px}
.message-page h1 {
  font-size:30px}
.message-page p {
  color:var(--muted)}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0)}
[hidden] {
  display:none!important}
@media(min-width:1550px) {
  .page-content {
  padding-top:55px}
.empty-state {
  padding-top:85px;
  padding-bottom:75px}
}
@media(max-width:1200px) {
  .sidebar {
  width:210px;
  padding-left:17px;
  padding-right:17px}
.main {
  margin-left:210px}
.page-content {
  padding:30px}
.topbar {
  padding:0 30px}
.service-grid {
  grid-template-columns:repeat(2,1fr)}
.builder-grid {
  grid-template-columns:minmax(0,1fr) 260px}
.quote-line {
  grid-template-columns:1fr 1fr 70px 20px}
.line-service {
  grid-column:1/-1}
.line-amount {
  grid-column:3;
  grid-row:2}
.remove-line {
  grid-column:4;
  grid-row:2}
.quote-line label:nth-child(3) {
  grid-column:2;
  grid-row:2}
.three-fields {
  grid-template-columns:1fr}
.auth-story h1 {
  font-size:49px}
}
@media(max-width:900px) {
  .sidebar {
  width:185px;
  padding-left:13px;
  padding-right:13px}
.sidebar .brand {
  font-size:20px}
.sidebar .brand img {
  width:27px;
  height:27px}
.main {
  margin-left:185px}
.page-content {
  padding:27px 22px}
.topbar {
  padding:0 22px}
.stats-grid {
  gap:10px}
.stat-card {
  padding:17px}
.stat-card>strong {
  font-size:26px}
.stat-card small {
  font-size:9px}
.builder-grid {
  grid-template-columns:1fr}
.quote-summary {
  position:static}
.three-fields {
  grid-template-columns:repeat(3,1fr)}
.page-heading h1 {
  font-size:30px}
.bottom-note p strong {
  display:block}
.auth-story {
  padding:35px}
.auth-story h1 {
  font-size:44px}
.sample-quote {
  padding:20px}
.auth-form-side {
  padding:45px 30px}
.auth-form-wrap h2 {
  font-size:32px}
}
@media(max-width:680px) {
  .sidebar {
  position:static;
  width:100%;
  padding:17px 20px 0;
  border-right:0;
  border-bottom:1px solid var(--line);
  display:block}
.sidebar .brand {
  font-size:22px}
.business-card,.nav-label,.sidebar-tip,.profile {
  display:none}
.sidebar nav {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  margin-top:18px;
  margin-bottom:0;
  gap:8px;
  overflow:visible;
  padding-bottom:12px}
.sidebar nav a {
  font-size:11px;
  padding:9px 11px;
  white-space:normal;
  gap:7px}
.sidebar .nav-group a { min-height:44px; gap:7px; }
.nav-group summary { min-height:48px; }
.sidebar nav a span {
  font-size:17px}
.main {
  margin:0}
.topbar {
  height:45px;
  padding:0 20px;
  font-size:9px}
.workspace-badge {
  padding:5px 8px;
  font-size:9px}
.page-content {
  padding:28px 20px}
.page-heading {
  align-items:flex-start;
  margin-bottom:25px;
  gap:13px;
  flex-wrap:wrap}
.page-heading h1,.builder-page h1 {
  font-size:29px}
.page-heading p {
  font-size:11px}
.page-heading .button {
  font-size:11px;
  min-height:40px;
  padding:10px 15px}
.eyebrow {
  font-size:8px;
  letter-spacing:1.3px;
  margin-bottom:11px}
.stats-grid {
  grid-template-columns:1fr 1fr;
  gap:10px}
.stat-card:last-child {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center}
.stat-card:last-child .stat-label span {
  display:none}
.stat-card:last-child>strong {
  margin:0;
  grid-row:1/3;
  grid-column:2}
.stat-card>strong {
  font-size:27px;
  margin-top:12px}
.stat-label {
  font-size:10px}
.stat-card {
  padding:16px}
.panel-heading {
  padding:19px;
  gap:12px;
  flex-wrap:wrap}
.panel-heading h2 {
  font-size:14px}
.search-field {
  max-width:150px}
.empty-state {
  padding:45px 16px}
.empty-state h3 {
  font-size:21px}
.empty-state p {
  font-size:11px}
.bottom-note {
  padding:15px;
  gap:10px;
  flex-wrap:wrap}
.bottom-note a {
  margin-left:33px}
.bottom-note p {
  font-size:9px}
.service-grid {
  grid-template-columns:1fr}
.service-card p {
  min-height:0}
.service-card h2 {
  font-size:19px}
.service-card .button {
  width:auto}
.three-fields,.two-fields {
  grid-template-columns:1fr}
.form-panel {
  padding:20px}
.quote-line {
  grid-template-columns:1fr 1fr 74px 18px;
  gap:8px}
.quote-line input {
  width:100%;
  min-width:0}
.quote-line label {
  min-width:0}
.quote-line .line-service {
  grid-column:1/-1}
.quote-summary {
  padding:25px}
.quote-summary h2 {
  font-size:26px}
.auth-shell {
  display:block}
.auth-story {
  padding:24px;
  background:#173c37}
.story-content {
  margin:35px 0 5px;
  max-width:100%}
.auth-story h1 {
  font-size:42px;
  margin:15px 0}
.auth-story h1 br:nth-child(2) {
  display:none}
.auth-story p {
  font-size:11px}
.sample-quote,.story-footer {
  display:none}
.auth-form-side {
  padding:40px 25px}
.auth-form-wrap {
  max-width:440px}
.auth-form-wrap h2 {
  font-size:32px}
.auth-form-wrap h2 br {
  display:none}
.auth-form-wrap .eyebrow {
  display:none}
.table-scroll td,.table-scroll th {
  padding:16px;
  white-space:nowrap}
.message-page {
  margin:20px auto}
.message-page .panel {
  padding:25px}
}


.forgot-password-link {
  justify-self:end;
  margin-top:-8px;
  color:#426735;
  font-size:12px;
}
.forgot-password-link:hover,.recovery-back:hover {
  text-decoration:underline;
}
.recovery-page {
  max-width:510px;
  margin:60px auto;
  padding:24px;
}
.recovery-page>.brand {
  justify-content:center;
  margin-bottom:35px;
}
.recovery-card {
  padding:32px;
}
.recovery-card h1 {
  font-size:29px;
}
.recovery-card>p {
  font-size:13px;
  margin:18px 0 24px;
}
.recovery-back {
  display:block;
  margin-top:26px;
  color:#526f43;
  text-align:center;
  font-size:12px;
}
@media(max-width:480px) {
  .recovery-page { margin:24px auto; padding:18px; }
  .recovery-card { padding:24px; }
}
.topbar-actions {
  display:flex;
  align-items:center;
  gap:12px}
.mobile-signout {
  display:none}
@media(max-width:680px) {
  .mobile-signout {
  display:block}
}


/* Catalog management and pricing examples. */
[hidden] { display:none !important; }
.action-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.empty-state .action-row { justify-content:center; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; }
.check-label { display:flex; align-items:center; gap:10px; margin:0; font-size:13px; cursor:pointer; }
.check-label input[type=checkbox] { width:18px; height:18px; min-height:18px; padding:0; flex:0 0 18px; margin:0; accent-color:#193f39; }
.button.danger { color:#933c30; border:1px solid #e7cbc5; background:#fff; }
.button.danger:hover { background:#fff3f0; }
.catalog-help { font-size:12px; margin:0 0 20px; }
.service-category { display:block; font-size:11px; color:#66816e; margin:8px 0; }
.service-card { display:flex; flex-direction:column; min-width:0; }
.service-card h2,.service-card p,.template-card strong { overflow-wrap:anywhere; }
.service-card>p { flex:1; }
.service-rate { margin:18px 0; color:#748179; font-size:12px; }
.service-rate strong { color:#193f39; font-size:24px; font-weight:600; }
.trade-picker { display:flex; align-items:end; gap:18px; padding:24px; margin-bottom:24px; }
.trade-picker label { flex:1; margin:0; max-width:500px; }
.template-card { display:block; padding:25px; cursor:pointer; }
.template-card p { font-size:13px; line-height:1.7; margin:18px 0; color:#73827b; font-weight:400; }
.installed-note { display:block; color:#426735; font-size:12px; }
.pricing-lab { align-self:start; position:sticky; top:28px; padding:28px; }
.pricing-lab h2 { font-size:25px; margin:18px 0 12px; }
.pricing-lab>p { font-size:13px; line-height:1.7; color:#748179; }
.pricing-lab label { margin:24px 0 14px; }
#pricing-test-result { margin-top:22px; padding-top:20px; border-top:1px solid #e2e8e2; overflow-wrap:anywhere; }
#pricing-test-result p { font-size:13px; line-height:1.8; }
.test-total { display:block; font-size:35px; color:#193f39; margin-bottom:16px; }
.has-error { color:#a23e31; }
.delete-service-form { margin-top:30px; }
@media(max-width:1000px) { .pricing-lab { position:static; } }
@media(max-width:680px) { .trade-picker { flex-direction:column; align-items:stretch; } .action-row { width:100%; } .action-row .button { flex:1; } .pricing-lab { padding:24px; } .panel-heading { gap:18px; flex-wrap:wrap; } .catalog-toolbar .button { padding:10px; } }

#service-editor .form-panel>p { margin-top:10px; margin-bottom:20px; font-size:12px; }

#preview-quote { margin-top:12px; }
.preview-tools { margin-bottom:25px; }
.preview-tools .action-row { margin:18px 0; }
.preview-tools>p { font-size:12px; }
.quote-document { padding:42px; max-width:1000px; margin:0 auto; }
.document-heading { display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:32px; }
.document-heading p { color:var(--muted); font-size:12px; margin-top:12px; }
.document-customer { margin:26px 0; }
.document-customer strong { display:block; margin-bottom:8px; }
.document-customer p { font-size:13px; color:var(--muted); }
.document-lines { width:100%; border-collapse:collapse; table-layout:fixed; }
.quote-document .document-lines th,.quote-document .document-lines td { white-space:normal; }
.document-lines th:first-child { width:55%; }
.document-lines th:nth-child(2) { width:23%; }
.document-lines th:nth-child(3) { width:22%; text-align:right; }
.document-lines th { text-align:left; font-size:10px; letter-spacing:1px; background:var(--canvas); padding:12px; }
.document-lines td { padding:20px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
.document-lines td:first-child { width:60%; }
.document-lines p { color:var(--muted); font-size:12px; margin:8px 0 0; }
.document-lines small { display:block; margin-top:8px; font-size:11px; color:var(--muted); }
.document-totals { max-width:330px; margin:28px 0 28px auto; }
.document-notes { border-top:1px solid var(--line); padding-top:26px; }
.document-notes p { font-size:13px; }
.document-footer { margin-top:40px; color:var(--muted); font-size:11px; text-align:center; }
.quote-document h1,.quote-document h2,.quote-document p,.quote-document strong,.quote-document td { overflow-wrap:anywhere; }
@media(max-width:680px) { .quote-document { padding:22px 16px; } .document-heading { flex-direction:column; } .document-lines th { font-size:8px; padding:8px 4px; } .document-lines td { padding:16px 4px; font-size:12px; } .document-lines td:first-child { width:50%; } .document-lines p { font-size:11px; } .document-totals { width:100%; } }
@media print {
  @page { size:auto; margin:15mm; }
  body { background:white; font-size:11pt; }
  .sidebar,.topbar,.preview-tools { display:none !important; }
  .main { margin:0 !important; width:100%; }
  .preview-page { padding:0; margin:0; max-width:none; }
  .quote-document { border:0; border-radius:0; padding:0; max-width:none; box-shadow:none; }
  .document-heading { flex-direction:row; }
  .document-lines tr,.document-totals,.document-notes { break-inside:avoid; }
  .table-scroll { overflow:visible; }
  .document-lines thead { display:table-header-group; }
}

.send-panel,.delivery-panel,.version-history { padding:28px; margin:0 0 24px; }
.send-panel p,.delivery-panel p { font-size:13px; color:var(--muted); }
.send-panel .stack-form { max-width:700px; }
.send-panel input[type=number] { max-width:150px; }
.send-panel .stack-form>p { margin:0; font-size:12px; }
.delivery-panel label { margin:18px 0 12px; }
.delivery-panel input { font-size:12px; }
#copy-link-status { display:block; margin-top:12px; font-size:12px; }
.revision-action { margin-bottom:24px; }
.version-history { margin-top:24px; }
.version-history a { display:block; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
.void-quote-form { margin:24px 0; }
.public-quote-page { max-width:1000px; padding:28px; margin:0 auto; }
.public-quote-brand { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 24px; }
.public-quote-brand>span { font-size:12px; color:var(--muted); }
.public-quote-tools { display:flex; gap:12px; margin:0 0 24px; }
.customer-actions { padding:32px; margin:24px 0; }
.customer-actions .stack-form { max-width:650px; margin-top:22px; }
.consent-label { align-items:start; font-weight:400; }
.consent-label span { line-height:1.8; }
.consent-label input { margin-top:4px !important; }
.response-choice { margin-top:24px; border-top:1px solid var(--line); padding-top:22px; }
.response-choice summary { cursor:pointer; font-weight:600; }
.public-quote-foot { text-align:center; color:var(--muted); font-size:11px; margin:24px 0; }
.document-hash { overflow-wrap:anywhere; font-size:10px !important; color:var(--muted); }
@media(max-width:680px) { .public-quote-page { padding:18px 12px; } .public-quote-brand>span { display:none; } .customer-actions,.send-panel,.delivery-panel { padding:22px; } .public-quote-tools { flex-wrap:wrap; } }
@media print { .public-quote-brand,.public-quote-tools,.customer-actions,.public-quote-foot,.send-panel,.delivery-panel,.version-history,.revision-action,.void-quote-form,.preview-page>.notice,.public-quote-page>.notice { display:none !important; } .public-quote-page { padding:0; max-width:none; margin:0; } }

/* Request forms and the private request inbox. */
.intake-settings-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:24px; align-items:start; }
.intake-stack { display:flex; flex-direction:column; gap:20px; min-width:0; }
.intake-stack>p,.intake-stack h2,.intake-stack h3,.intake-stack label { margin:0; }
.intake-stack>p { font-size:13px; }
.intake-stack label { font-size:13px; }
.intake-stack label input,.intake-stack label textarea { font-size:14px; }
.intake-share { position:sticky; top:24px; }
.intake-share .subtle-badge { align-self:flex-start; }
.intake-fieldset { margin:0; padding:0; border:0; min-width:0; }
.intake-fieldset legend { font-size:16px; font-weight:650; margin-bottom:12px; }
.intake-fieldset>p { font-size:13px; }
.intake-checks { display:grid; gap:15px; max-height:420px; overflow:auto; padding:4px; }
.intake-stack .check-label { font-size:14px; }
.intake-stack .check-label input[type=checkbox] { margin:0; }
.intake-service { display:grid; grid-template-columns:minmax(0,1fr) 120px; gap:16px; align-items:start; padding:16px 0; border-bottom:1px solid var(--line); }
.intake-service p { margin:7px 0 0 28px; font-size:12px; }
.intake-service>label { font-size:11px; }
.intake-service .check-label { align-items:flex-start; }
.intake-service.intake-interest { grid-template-columns:minmax(0,1fr); gap:0; }
.intake-interest p { font-size:13px; }
.intake-public { width:min(760px,100%); margin:0 auto; padding:42px 24px 24px; overflow-wrap:anywhere; }
.intake-business { font-size:20px; font-weight:700; margin-bottom:38px; }
.intake-public header { margin-bottom:28px; }
.intake-public header p { color:var(--muted); }
.intake-public .form-panel { padding:32px; }
.intake-public .form-panel label input,.intake-public .form-panel label textarea { font-size:16px; }
.intake-public .form-panel>p { font-size:13px; margin:0; }
.intake-public input[type=file] { max-width:100%; padding:12px 8px; font-size:12px !important; }
.intake-footer { padding:24px 0; text-align:center; font-size:12px; color:var(--muted); }
.intake-footer a { font-weight:700; color:var(--ink); }
.intake-honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.intake-receipt { padding:40px; }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere; }
.intake-filters { display:flex; gap:16px; padding:20px; align-items:end; margin-bottom:20px; }
.intake-filters label:first-child { flex:1; }
.intake-filters label { min-width:0; }
.intake-request-list { display:grid; gap:14px; }
.intake-request-row { display:flex; justify-content:space-between; gap:24px; padding:24px; overflow-wrap:anywhere; }
.intake-request-row>div { min-width:0; }
.intake-request-row:hover { border-color:#9fae94; }
.intake-request-row p { margin-bottom:6px; }
.intake-request-meta { display:flex; flex-direction:column; align-items:flex-end; gap:14px; flex-shrink:0; }
.intake-pagination { display:flex; justify-content:flex-end; gap:16px; align-items:center; margin-top:24px; }
.intake-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.intake-photo-grid figure { margin:0; }
.intake-photo-grid img { display:block; width:100%; height:180px; object-fit:cover; border-radius:8px; margin-bottom:10px; }
.intake-photo-previews { display:flex; flex-wrap:wrap; gap:10px; }
.intake-photo-previews:empty { display:none; }
.intake-photo-previews img { width:90px; height:90px; object-fit:cover; border-radius:8px; }
@media(max-width:1050px) { .intake-settings-grid { grid-template-columns:minmax(0,1fr); } .intake-share { position:static; } }
@media(max-width:680px) {
  .sidebar nav a { flex-shrink:0; }
  .intake-public { padding:24px 14px; }
  .intake-public h1 { font-size:29px; }
  .intake-public .form-panel { padding:22px 16px; }
  .intake-public .two-fields { grid-template-columns:1fr; gap:20px; }
  .intake-service { grid-template-columns:minmax(0,1fr) 88px; gap:10px; }
  .intake-service .check-label { font-size:13px; }
  .intake-filters { flex-wrap:wrap; padding:16px; }
  .intake-filters label:first-child { flex-basis:100%; }
  .intake-filters label:nth-child(2) { flex:1; }
  .intake-request-row { flex-direction:column; padding:20px; gap:16px; }
  .intake-request-meta { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
  .intake-request-meta .text-link { margin-left:auto; }
  .intake-photo-grid img { height:130px; }
  .intake-photo-grid .button { font-size:11px; padding:10px; }
}
/* Catalog choices and package controls. */
.configuration-card { border:1px solid var(--border,#dde5df); border-radius:12px; padding:18px; margin:20px 0; }
.configuration-card > .button { margin:8px 8px 0 0; }
.choice-editor { display:grid; grid-template-columns:minmax(110px,1.4fr) minmax(100px,1fr) minmax(80px,.7fr); gap:12px; padding:16px 0; border-bottom:1px solid #e6ebe7; }
.choice-editor .button { align-self:end; }
.component-editor { display:grid; grid-template-columns:minmax(140px,2fr) minmax(90px,1fr); gap:12px; border-bottom:1px solid #e6ebe7; padding:16px 0; }
.addon-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-height:240px; overflow:auto; padding:10px 0; }
.option-selection { min-width:0; border:1px solid #dfe7e0; border-radius:9px; padding:12px; margin:12px 0; }
.option-selection legend { font-size:13px; font-weight:650; padding:0 5px; }
.option-selection .check-label { margin:9px 0; }
.option-selection p { margin:7px 0; font-size:13px; }
.line-options { grid-column:1/-1; min-width:0; }
.suggested-addons { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:10px 0; }
.suggested-addons .muted { width:100%; font-size:12px; }
.button.small { font-size:12px; padding:8px 12px; }
.csv-preview { width:100%; border-collapse:collapse; margin-bottom:20px; }
.csv-preview th,.csv-preview td { padding:12px; text-align:left; border-bottom:1px solid #e6ebe7; }
#package-editor { margin-top:24px; }
input[readonly] { background:#f1f4f1; color:#59665d; }
@media(max-width:700px) { .choice-editor,.component-editor,.addon-services { grid-template-columns:minmax(0,1fr); } }
/* Account limits and platform administration. */
.usage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0; }
.usage-card { padding:24px; min-width:0; }
.usage-card p { margin:18px 0 12px; }
.usage-card p strong { font-size:25px; }
.usage-card small { display:block; margin-top:12px; }
.usage-card progress { display:block; width:100%; height:8px; border:0; border-radius:8px; accent-color:#255d4d; }
.usage-card progress::-webkit-progress-bar { background:#edf1e8; border-radius:8px; }
.usage-card progress::-webkit-progress-value { background:#255d4d; border-radius:8px; }
.admin-plan-grid,.admin-limit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.admin-plan-grid article { border:1px solid #e1e7e0; padding:20px; border-radius:10px; }
.admin-limit-grid { margin:26px 0; }
.admin-plan-actions { display:flex; flex-wrap:wrap; gap:10px; max-width:100%; }
.admin-limit small { display:block; line-height:1.6; margin-top:8px; }
.effective-limit { color:#255d4d; font-weight:600; }
.admin-search { display:flex; gap:14px; align-items:flex-end; margin:20px 0; }
.admin-search label { flex:1; margin:0; }
.admin-account-list { margin-bottom:20px; }
.admin-account-list a { display:flex; gap:15px; justify-content:space-between; align-items:center; padding:18px 0; border-bottom:1px solid #e1e7e0; text-decoration:none; color:inherit; overflow-wrap:anywhere; }
.admin-account-list a span { color:#607268; font-size:13px; }
.admin-audit article { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; padding:18px 0; border-bottom:1px solid #e1e7e0; }
.admin-audit small { display:block; margin-top:8px; color:#607268; }
.admin-audit p { width:100%; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-audit-changes { width:100%; font-size:13px; }
.admin-audit-changes summary { cursor:pointer; color:#255d4d; margin:4px 0 10px; }
.admin-audit-changes p { padding:4px 0; }
.admin-form .notice { margin:24px 0; }
.capability-list { margin:20px 0; }
@media(max-width:900px) { .usage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .usage-grid,.admin-plan-grid,.admin-limit-grid { grid-template-columns:minmax(0,1fr); } .admin-search,.admin-account-list a { flex-direction:column; align-items:stretch; } }

/* Business identity and quote defaults */
.business-settings{max-width:1050px}.business-settings .form-panel{margin-bottom:24px}.business-logo{display:block;max-width:220px;max-height:100px;object-fit:contain;object-position:left center;margin-bottom:18px}.settings-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0}.settings-actions p{flex-basis:100%;margin:0}.document-heading>div{min-width:0;overflow-wrap:anywhere}.document-heading p{max-width:420px}.business-settings input[type=file]{padding:12px}.business-settings .checkbox-label{display:flex;align-items:center;gap:8px}.business-settings .checkbox-label input{width:auto}
@media print{.settings-actions{display:none}}

.business-settings .form-panel>p,.builder-page .form-panel>label+p,.builder-page .form-panel>.two-fields+p{margin-top:10px;margin-bottom:18px}.business-settings .form-panel h2{margin-bottom:12px}.business-settings .form-panel>.two-fields:first-of-type label{margin-top:8px}

/* Variant editor and optional quote services. */
.variant-row{min-width:0;margin-top:15px}.variant-row legend{font-size:12px;font-weight:600;overflow-wrap:anywhere}.variant-row label{margin-top:10px}.variant-row textarea{width:100%}.variant-quote-note,.quote-offer-controls{grid-column:1/-1}.variant-quote-note{font-size:12px;margin:4px 0;overflow-wrap:anywhere}.quote-offer-controls{display:flex;flex-wrap:wrap;gap:12px}.quote-offer-controls label{display:flex;gap:8px;align-items:center}.quote-offer-controls input{width:auto;min-height:0;margin:0}.quote-offer-controls p{width:100%;font-size:11px;margin:0}.addon-offer-choice{border-bottom:1px solid var(--line);padding:10px 0}.addon-offer-choice label{margin:0 0 10px}.customer-options{padding:28px;margin:24px 0}.customer-options>p,.customer-option p{font-size:13px}.customer-option{padding:16px 0;border-top:1px solid var(--line)}.customer-option p{margin:8px 0;overflow-wrap:anywhere}.customer-options .check-label{display:flex;gap:12px;align-items:flex-start}.customer-options input[type=checkbox]{width:18px;min-height:18px;flex-shrink:0;margin:2px 0}.customer-options .check-label span{overflow-wrap:anywhere}.optional-document-item{border-top:1px solid var(--line);padding:14px 0}.optional-document-item p{margin:8px 0}.customer-choice-fields{display:none}#customer-options-status,#variant-message{font-size:12px;margin:15px 0}#advanced-editor #variant-editor>p{margin-top:10px}
@media print{.customer-options{display:none}}

/* Customer directory, history, and quote selection. */
.customer-page{max-width:1120px}.customer-panel{padding:28px;margin-bottom:24px}.customer-panel>h2{margin-bottom:16px}.customer-filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.customer-filters label:first-child{flex:1;min-width:200px}.customer-filters label{margin:0}.customer-filters button{margin-bottom:0}.customer-panel>.muted{margin:18px 0}.customer-table{table-layout:fixed;width:100%}.customer-table td{overflow-wrap:anywhere;white-space:normal}.customer-table th:last-child{width:110px}.customer-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.customer-details dt{font-size:12px;font-weight:600;color:var(--muted)}.customer-details dd{margin:8px 0 0;overflow-wrap:anywhere}.customer-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0;flex-wrap:wrap}.customer-timeline{list-style:none;padding:0;margin:20px 0}.customer-timeline li{display:flex;justify-content:space-between;gap:18px;padding:20px 0;border-top:1px solid var(--line)}.customer-timeline li>div{min-width:0;display:grid;gap:6px;overflow-wrap:anywhere}.customer-timeline time{font-size:12px;color:var(--muted);flex-shrink:0}.customer-picker{padding:18px;background:#f4f7f1;border:1px solid var(--line);border-radius:12px;margin:20px 0}.customer-picker label{margin-top:0}.customer-selection{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.customer-selection p{flex-basis:100%;font-size:12px;margin:12px 0 0;overflow-wrap:anywhere}.customer-results:empty{display:none}.customer-results{max-height:290px;overflow:auto;margin-top:12px}.customer-result{display:block;width:100%;padding:12px;text-align:left;background:white;border:1px solid var(--line);border-radius:6px;margin:5px 0;overflow-wrap:anywhere;cursor:pointer}.customer-result:hover,.customer-result:focus-visible{background:#e9f3dd}.customer-panel .check-label{display:flex;align-items:flex-start;gap:10px}.customer-panel .check-label input{width:18px;min-height:18px;margin:2px 0}.document-address{margin:12px 0;overflow-wrap:anywhere}#customer-duplicates a,#quote-customer-duplicates a{display:inline-block;margin:6px 12px 6px 0}#quote-customer-duplicates button{margin:6px 10px 6px 0}
@media(max-width:600px){.customer-panel{padding:18px}.customer-filters{display:grid;grid-template-columns:1fr}.customer-filters label:first-child{min-width:0}.customer-details{grid-template-columns:1fr}.customer-timeline li{display:block}.customer-timeline time{display:block;margin-top:10px}.customer-table th:last-child{width:80px}.customer-table th,.customer-table td{padding:12px 6px}.customer-page .page-heading h1{overflow-wrap:anywhere}}

.google-page p,.google-page code,.google-review-card h3{overflow-wrap:anywhere}.google-review-card .customer-table th{width:auto}.google-review-card .customer-table th:first-child{width:20%}.google-review>h2{margin:30px 0 12px}.google-review>p{margin-bottom:22px}.google-page details>p{margin:18px 0}.google-review-card .button{white-space:normal;text-align:left}.quote-reminders{margin-top:24px}.quote-reminders .panel-heading{margin-bottom:18px}
@media print{.quote-reminders{display:none!important}}

/* Jobs and appointment planning. */
.jobs-page{max-width:1500px}.job-filters{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.job-filters label{margin:0;min-width:140px}.job-filters label:first-child{flex:1}.job-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.job-list-item h2{font-size:18px;margin:8px 0}.job-list-item p{font-size:13px;margin:10px 0;overflow-wrap:anywhere}.job-list-item>div:last-child{text-align:right}.job-list-item h2 a{color:var(--ink)}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}.calendar-navigation strong{font-size:14px}.job-calendar{display:grid;gap:12px;margin-top:22px}.calendar-week,.calendar-month{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcf8;min-height:125px}.calendar-day h2{font-size:12px;margin:0 0 12px}.calendar-day>p{font-size:11px}.calendar-job{display:grid;gap:7px;padding:12px 9px;margin-top:8px;border-left:3px solid #789760;border-radius:6px;background:#eef4e8;color:#173e38;font-size:11px;overflow-wrap:anywhere}.calendar-job:hover,.calendar-job:focus-visible{background:#e0edcf}.calendar-job time{font-size:10px}.calendar-day h2 a{color:inherit}.job-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.job-detail-grid .customer-details{gap:18px}.jobs-page h1,.jobs-page h3,.jobs-page dd,.jobs-page p{overflow-wrap:anywhere}.job-status-in_progress{background:#e9effc;color:#234778}.job-status-completed{background:#e6f4df;color:#2e5c25}.job-status-cancelled{background:#f7e9e5;color:#864237}.job-scope>article{display:flex;justify-content:space-between;gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}.job-scope>article>div{min-width:0}.job-scope p{margin:10px 0;font-size:13px}.job-scope>article>strong{flex-shrink:0}.job-status-form{margin-top:20px}.job-activity p{margin:4px 0;font-size:13px}.jobs-page details>p{margin:18px 0}.quote-job{margin-top:24px}.quote-job>p{margin:16px 0}.job-overlaps p{margin:10px 0}.job-overlaps a{font-size:12px}.job-detail-grid .customer-panel{min-width:0}#job-schedule .two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#job-schedule select{max-width:100%}
@media(max-width:1200px){.calendar-week,.calendar-month{grid-template-columns:repeat(3,minmax(0,1fr))}.job-detail-grid{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:680px){.job-filters{display:grid;grid-template-columns:minmax(0,1fr)}.job-filters label{min-width:0}.calendar-week,.calendar-month{grid-template-columns:minmax(0,1fr)}.job-list-item{grid-template-columns:minmax(0,1fr);gap:12px}.job-list-item>div:last-child{text-align:left}.calendar-navigation{justify-content:center}.calendar-navigation strong{order:-1;flex-basis:100%;text-align:center}.job-scope>article{display:block}.job-scope>article>strong{display:block;margin:12px 0}#job-schedule .two-fields{grid-template-columns:minmax(0,1fr)}.calendar-job{font-size:13px}.calendar-job time{font-size:12px}}
@media print{.quote-job{display:none!important}}
.calendar-weekday{text-align:center;font-size:12px;font-weight:600;color:var(--muted)}
@media(max-width:1200px){.calendar-weekday,.calendar-spacer{display:none}}
.invoices-page { max-width:1200px; }
.invoice-filters { display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; }
.invoice-filters label:first-child { flex:1; min-width:200px; }
.invoice-balance { border-top:4px solid var(--lime,#c2ec6c); }
.invoice-totals { max-width:480px; margin:20px 0 20px auto; }
.invoice-totals>div { display:flex; justify-content:space-between; gap:20px; padding:10px 12px; border-bottom:1px solid var(--line,#e4e8e1); }
.invoice-totals dd { margin:0; font-weight:700; white-space:nowrap; }
.invoice-grand-total { background:#193c38; color:#fff; border-radius:8px; font-size:18px; }
.invoice-balance .invoice-totals { margin-left:0; }
.invoice-document { max-width:none; margin-bottom:24px; }
.invoice-document .document-customer { margin:24px 0; }
.invoice-controls .action-row { margin:16px 0; }
.invoice-controls input[readonly] { width:100%; }
.invoice-payments article { border-top:1px solid #e4e8e1; padding:18px 0; overflow-wrap:anywhere; }
.invoice-status-paid { background:#dff1c2; color:#284a1d; }
.invoice-status-overdue { background:#ffe4db; color:#8b321c; }
.invoice-status-partial { background:#fff1ce; color:#694e13; }
.invoice-status-void { background:#eceeed; color:#59655d; }
.invoice-public .invoice-document { margin-top:24px; }
@media(max-width:680px) { .invoice-filters { flex-direction:column; align-items:stretch; } .invoice-totals { max-width:none; } .invoice-grand-total { font-size:16px; } .invoice-scope article { gap:12px; } .invoice-scope article>div { min-width:0; } .invoice-scope article>strong { white-space:nowrap; } }
@media print { .invoice-source { display:none !important; } }
.stripe-settings-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end; margin:24px 0; }
.stripe-settings-actions .stack-form { max-width:420px; }
.invoice-online .action-row { margin:20px 0; }
.invoice-online details { margin-top:24px; }
.stripe-attempts article { padding:16px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.invoice-online-customer { margin-bottom:24px; border-top:4px solid var(--lime); }
.invoice-check-public { margin:18px 0; }
@media(max-width:680px) { .stripe-settings-actions { flex-direction:column; align-items:stretch; } .stripe-settings-actions .stack-form { max-width:none; } .invoice-online .action-row { flex-direction:column; align-items:stretch; } .invoice-online .action-row .button { width:100%; } }
@media print { .invoice-online-customer,.invoice-check-public { display:none !important; } }

/* Workspace integration setup. */
.integrations-page{max-width:1400px}.integration-scope{max-width:850px;line-height:1.7;margin-bottom:28px}.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.integration-card{min-width:0;margin:0;display:flex;flex-direction:column;scroll-margin-top:24px}.integration-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.integration-card-heading h2{margin:8px 0 16px}.integration-card-heading .status-pill{white-space:normal}.integration-card p{line-height:1.7;overflow-wrap:anywhere}.integration-instructions{padding:16px;background:#f3f6ee;border-radius:10px}.integration-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:18px 0}.integration-actions form{max-width:100%;min-width:0}.integration-actions .button{white-space:normal;text-align:center}.integration-actions .stack-form{width:100%}.integration-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.integration-facts dt{font-size:12px;color:var(--muted);margin-bottom:6px}.integration-facts dd{margin:0;overflow-wrap:anywhere}.integration-check-result{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.integration-check-result p{margin:8px 0}.integration-detail-link{margin-top:auto;padding-top:22px;font-weight:600;line-height:1.7}.integration-options{margin:16px 0}.integration-options .stack-form{margin:18px 0}.integration-calendar{grid-column:1/-1}.integration-calendar-form{max-width:600px}.integration-calendar-form select{max-width:100%}.integration-calendar-providers{margin-top:24px;border-top:1px solid var(--line);padding-top:22px}.integration-calendar-providers .status-pill{margin-left:12px}.integration-calendar-providers h3{font-size:17px}.integration-calendar-providers p{margin:14px 0}
@media(max-width:1050px){.integration-grid{grid-template-columns:minmax(0,1fr)}}
.integration-check-ok>strong{color:#335824}.integration-check-error>strong{color:#993b28}.integration-check-attention>strong{color:#735b22}
.calendar-job-link{padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-wrap:anywhere}.calendar-job-link .stack-form{max-width:560px}.appointment-email-history{padding-left:22px}.appointment-email-history li{margin:18px 0;overflow-wrap:anywhere}.public-message{max-width:660px;margin:48px auto;padding:32px}.public-message p{line-height:1.7}@media(max-width:680px){.public-message{margin:24px 16px;padding:24px}}
@media(max-width:680px){.integration-actions{align-items:stretch;flex-direction:column}.integration-actions .button{width:100%}.integration-facts{grid-template-columns:minmax(0,1fr)}.integration-calendar-providers .status-pill{display:inline-block;margin:8px 0 0 10px}}
.team-page{max-width:1220px}.team-card{padding:26px;min-width:0}.team-page>.team-card{margin-bottom:24px}.team-page h2{font-size:21px}.team-page h3{font-size:17px}.team-page p,.team-page h3,.team-page h2,.team-join-card p,.team-join-card h1{overflow-wrap:anywhere}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.team-grid .stack-form{gap:16px}.team-capacity,.team-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.team-section-heading{margin:30px 0 16px}.team-card .status-pill{align-self:flex-start}.team-card details>p{margin:16px 0}.team-card summary{cursor:pointer;font-weight:600}.team-role-help{margin:20px 0 0}.team-role-help dt{font-weight:600;margin-top:12px}.team-role-help dd{margin:4px 0 0;line-height:1.6}.team-activity{margin-top:28px}.team-activity ol{padding-left:20px}.team-activity li{margin-top:18px;overflow-wrap:anywhere;line-height:1.6}.team-pager,.team-footnote{margin-top:22px}.team-join-page{max-width:620px;margin:48px auto;padding:0 20px 48px}.team-join-page>.brand{margin-bottom:28px}.team-join-card{padding:36px}.team-join-card h1{font-size:32px;line-height:1.2}.team-page .button,.team-join-card .button{white-space:normal}.team-page input,.team-page select,.team-join-card input{min-width:0;max-width:100%}
@media(max-width:800px){.team-grid{grid-template-columns:1fr}.team-card{padding:22px}.team-join-page{margin-top:28px}.team-join-card{padding:24px}}
.team-grid{align-items:start}.team-card.stack-form{align-content:start}.team-card .status-pill{justify-self:start}
.assignment-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.assignment-heading a{font-size:13px}.assigned-people{list-style:none;padding:0;margin:18px 0;display:flex;gap:12px;flex-wrap:wrap}.assigned-people li{border:1px solid var(--line);background:#f6f8f2;padding:12px 16px;border-radius:9px;display:grid;gap:5px;max-width:100%;overflow-wrap:anywhere}.assigned-people .muted{font-size:12px}.assignment-editor{margin:20px 0}.assignment-editor summary{cursor:pointer;font-weight:600}.assignment-choices{border:1px solid var(--line);border-radius:10px;padding:12px;max-height:330px;overflow-y:auto}.assignment-choices legend{font-size:13px;font-weight:600;padding:0 8px}.assignment-choice{display:flex;align-items:flex-start;gap:12px;margin:0;padding:12px;border-bottom:1px solid var(--line);cursor:pointer}.assignment-choice:last-child{border-bottom:0}.assignment-choice input{width:18px;height:18px;margin:2px 0 0;flex:none}.assignment-choice span{min-width:0;overflow-wrap:anywhere}.assignment-choice strong,.assignment-choice small{display:block}.assignment-choice small{font-size:12px;font-weight:400;color:var(--muted);margin-top:5px}.assignment-choice:has(input:checked){background:#edf4e5;border-radius:6px}.assignment-choice:focus-within{outline:2px solid var(--green);outline-offset:-2px}.assignment-choice[hidden],.assignment-search[hidden],.assignment-search-empty[hidden]{display:none}.job-assignee-summary{display:block;font-size:12px;margin:10px 0;overflow-wrap:anywhere}.assignment-warning{display:block;color:#8b4b25;font-weight:600;margin-top:4px}.calendar-job .job-assignee-summary{font-size:10px;margin:0}.assignment-attention p{margin:10px 0}.job-overlaps span{font-size:12px}.job-filters select{max-width:330px}.job-filters>label{min-width:0}
@media(max-width:680px){.job-filters select{width:100%;max-width:100%}.assigned-people{display:grid;grid-template-columns:minmax(0,1fr)}.assignment-choice{padding:12px 4px}.assignment-choices{padding:10px}.calendar-job .job-assignee-summary{font-size:12px}}
.tasks-page{max-width:1250px}.task-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.task-count{padding:24px;display:grid;gap:8px;color:var(--ink)}.task-count:hover{border-color:var(--green)}.task-count strong{font-size:30px}.task-count span{font-size:13px;color:var(--muted)}.task-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:20px}.task-filters label{display:grid;gap:8px;margin:0;min-width:0}.task-filters label:first-of-type{flex:1;min-width:180px}.task-filters select{max-width:280px}.task-list-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,35%);align-items:start;gap:22px;padding:22px 0;border-top:1px solid var(--line)}.task-list-item h2,.task-list-item h3{font-size:17px;margin:0 0 10px}.task-list-item>div:last-child{text-align:right}.task-list-item a,.tasks-page h1,.tasks-page p,.tasks-page details,#customer-notes p,.task-list-item h3{overflow-wrap:anywhere}.task-list-item>h3{min-width:0}.task-list-item a{color:var(--ink)}.task-meta{display:block;font-size:12px;color:var(--muted);margin-top:9px;overflow-wrap:anywhere}.task-overdue{background:#f8e7df;color:#853d23}.task-facts{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.task-facts .task-meta{margin:0}.task-body{margin:24px 0;line-height:1.7;overflow-wrap:anywhere}.task-status-form{margin-top:22px;max-width:500px}.task-cancel{margin-top:22px}.task-cancel summary,.task-activity summary{cursor:pointer;font-weight:600}.task-activity details{margin-top:10px}.task-activity details p,.customer-note-list p{line-height:1.7;margin:12px 0 0;white-space:normal}.customer-note-list{margin-top:24px}#task-editor select,#task-editor input{min-width:0;max-width:100%}#task-editor .two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tasks-page .button{white-space:normal}
@media(max-width:680px){.task-counts{gap:10px}.task-count{padding:18px 12px}.task-count strong{font-size:25px}.task-count span{font-size:11px}.task-filters{display:grid;grid-template-columns:minmax(0,1fr)}.task-filters label:first-of-type{min-width:0}.task-filters select{width:100%;max-width:100%}.task-list-item{grid-template-columns:minmax(0,1fr);gap:12px}.task-list-item>div:last-child{text-align:left}.task-facts{display:grid;gap:12px}.task-facts .status-pill{justify-self:start}#task-editor .two-fields{grid-template-columns:minmax(0,1fr)}}

.pipeline-controls{padding:24px;margin-bottom:24px}.pipeline-controls p:last-child{margin-bottom:0}.pipeline-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.pipeline-column{background:#edf1e9;border:1px solid var(--line);border-radius:var(--radius);padding:14px;min-width:0;min-height:230px}.pipeline-column>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.pipeline-column h2{font-size:16px;margin:0}.pipeline-cards{display:grid;align-content:start;gap:14px;min-height:130px;max-height:65vh;overflow-y:auto;padding:2px}.pipeline-card{padding:18px;min-width:0;overflow-wrap:anywhere}.pipeline-card h3{font-size:16px;line-height:1.5;margin:0 0 8px}.pipeline-card a{color:var(--ink)}.pipeline-customer{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 16px}.pipeline-card-facts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}.pipeline-card-facts strong{font-size:15px}.pipeline-since{font-size:11px;line-height:1.6;margin:15px 0}.pipeline-move{display:grid;gap:10px;margin:16px 0;max-width:440px}.pipeline-move label{display:grid;gap:8px;font-size:12px;min-width:0}.pipeline-move select{width:100%;min-width:0;max-width:100%}.pipeline-move .button{padding:10px 14px;white-space:normal}.pipeline-history{font-size:12px;text-decoration:underline}.pipeline-drag-handle{font-size:12px;color:var(--muted);cursor:grab;display:block;margin-bottom:12px;user-select:none}.pipeline-drag-handle[hidden]{display:none}.pipeline-dragging{opacity:.55}.pipeline-drop-target{border-color:var(--green);outline:2px solid var(--green);background:#e2edcf}.pipeline-empty{font-size:13px;color:var(--muted);line-height:1.7;padding:12px 4px}.pipeline-pagination{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;margin-top:18px;align-items:center}.pipeline-pagination a{color:var(--ink);text-decoration:underline}.pipeline-controls a{color:var(--ink);text-decoration:underline}.pipeline-page h1,.pipeline-controls p{overflow-wrap:anywhere}
@media(max-width:1250px){.pipeline-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.pipeline-cards{max-height:none;overflow:visible}.pipeline-board{grid-template-columns:minmax(0,1fr)}.pipeline-column{padding:14px}.pipeline-controls{padding:20px}.pipeline-card{padding:20px}.pipeline-page .action-row{flex-wrap:wrap}.pipeline-page .button{white-space:normal}}

.customer-import-page{max-width:1200px}.customer-import-page a{color:var(--ink)}.customer-import-page p,.customer-import-row h3,.customer-import-row dd,.customer-import-duplicates{overflow-wrap:anywhere}.customer-import-page .button{white-space:normal}.customer-import-row{padding:24px 0;border-top:1px solid var(--line);min-width:0}.customer-import-row h3{font-size:18px;margin:8px 0}.customer-import-row .assignment-heading{align-items:start;gap:22px}.customer-import-row .assignment-heading>div{min-width:0;flex:1}.customer-import-row .assignment-heading label{display:grid;gap:8px;min-width:0;max-width:350px}.customer-import-row select{min-width:0;max-width:100%}.customer-import-fields{margin-top:20px}.customer-import-fields summary{font-weight:600;cursor:pointer}.customer-import-fields dl{margin:18px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.customer-import-fields dt{font-size:12px;color:var(--muted);margin-bottom:6px}.customer-import-fields dd{margin:0;line-height:1.7}.customer-import-duplicates{margin-top:18px}.customer-import-duplicates p{margin:10px 0}.customer-import-duplicates a{text-decoration:underline}#customer-csv-upload input{max-width:100%;min-width:0}.customer-csv-actions{flex-wrap:wrap}
@media(max-width:680px){.customer-import-row .assignment-heading{flex-direction:column;align-items:stretch}.customer-import-row .assignment-heading label{max-width:none;width:100%}.customer-import-row select{width:100%}.customer-import-fields dl{grid-template-columns:minmax(0,1fr)}}

/* Customer tags and live saved segments. */
.customer-organization-page{max-width:1100px}.customer-directory-links{margin-bottom:22px;flex-wrap:wrap}.customer-filter-basics{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:16px}.customer-filter-basics label,#customer-organization-form>label{display:grid;gap:8px;min-width:0}.customer-filter-basics input,.customer-filter-basics select,#customer-organization-form input[type=text]{width:100%;max-width:100%;min-width:0}.customer-filter-hint{font-size:12px;line-height:1.7;margin:16px 0}.customer-tag-options{margin:18px 0}.customer-tag-options summary{font-size:13px;font-weight:600;cursor:pointer}.customer-tag-choices{border:1px solid var(--line);border-radius:8px;padding:18px;margin:18px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:320px;overflow:auto;min-width:0}.customer-tag-choices legend{font-size:12px;padding:0 6px}.customer-tag-choices label,.customer-tag-confirm{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin:0;overflow-wrap:anywhere;min-width:0}.customer-tag-choices input[type=checkbox],.customer-tag-confirm input[type=checkbox]{width:17px;height:17px;flex-shrink:0;margin:1px 0 0;padding:0;accent-color:var(--green)}.customer-tag-list{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 0}.customer-tag{display:inline-block;border:1px solid #d5e3c7;background:#eef4e8;color:#294634;border-radius:16px;padding:5px 10px;font-size:11px;line-height:1.5;overflow-wrap:anywhere;max-width:100%}.customer-organization-list{list-style:none;margin:20px 0 0;padding:0}.customer-organization-list>li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--line)}.customer-organization-list>li>div{min-width:0}.customer-organization-page .action-row{flex-wrap:wrap}.customer-organization-page p,.customer-organization-page h1,.customer-organization-page a{overflow-wrap:anywhere}.customer-organization-page .button{white-space:normal}.customer-tag-confirm{margin:22px 0}.customer-segment-picker{display:flex;align-items:flex-end;gap:14px;margin-bottom:22px;max-width:680px}.customer-segment-picker label{display:grid;gap:8px;flex:1;min-width:0}.customer-segment-picker select{width:100%;min-width:0;max-width:100%}.customer-active-segment{padding:18px;background:#eef4e8;border-radius:8px;margin-bottom:22px;overflow-wrap:anywhere}.customer-active-segment p{margin:10px 0}.customer-directory-results{margin-top:24px;gap:16px}#customer-organization-form>p{line-height:1.7}#customer-organization-form .customer-tag-choices+p{margin-top:20px}
@media(max-width:850px){.customer-filter-basics{grid-template-columns:minmax(0,1fr)}.customer-tag-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.customer-tag-choices{grid-template-columns:minmax(0,1fr)}.customer-organization-list>li{align-items:flex-start;flex-direction:column}.customer-segment-picker{flex-direction:column;align-items:stretch}.customer-directory-results{align-items:flex-start;flex-direction:column}.customer-directory-results .button{white-space:normal}}
@media(max-width:680px){.customer-directory-table,.customer-directory-table tbody{display:block;width:100%}.customer-directory-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.customer-directory-table tr{display:block;padding:18px 0;border-top:1px solid var(--line)}.customer-directory-table td{display:block;width:auto!important;border:0;padding:6px 0!important;text-align:left}.customer-directory-table .customer-tag-list{margin-top:10px}.customer-directory-table td:nth-child(2){font-size:12px;overflow-wrap:anywhere}.customer-directory-table td:last-child{padding-top:10px!important}}
.customer-merge-page{max-width:1150px}.customer-merge-page p,.customer-merge-page h1,.customer-merge-page dd{overflow-wrap:anywhere}.customer-merge-page .button{white-space:normal}.merge-profile-headings,.merge-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.merge-profile-headings{margin:24px 0;font-size:13px}.merge-field{border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:18px;min-width:0}.merge-field legend{font-size:12px;font-weight:600;padding:0 8px}.merge-field label{display:flex;gap:10px;align-items:flex-start;min-width:0;margin:0;line-height:1.7;overflow-wrap:anywhere}.merge-field input[type=radio]{width:18px;height:18px;flex-shrink:0;padding:0;margin:2px 0 0;accent-color:var(--green)}.merge-record-details{padding:20px 0;border-bottom:1px solid var(--line)}.merge-record-details summary{font-weight:600;cursor:pointer}
@media(max-width:680px){.merge-field{grid-template-columns:minmax(0,1fr)}.merge-field label+label{border-top:1px solid var(--line);padding-top:14px}.merge-profile-headings{grid-template-columns:minmax(0,1fr);gap:8px}.customer-merge-page .customer-filters{display:grid;grid-template-columns:minmax(0,1fr)}.customer-merge-page .customer-filters label{min-width:0}.customer-merge-page .customer-filters input{width:100%;min-width:0}}
.task-automation-fields{padding:20px;border:1px solid var(--line);border-radius:10px;margin:18px 0;min-width:0}.task-automation-fields legend{font-size:13px;font-weight:600;padding:0 8px}.task-automation-fields label{min-width:0}.task-automation-fields .customer-tag-confirm{display:flex;gap:10px;margin:10px 0 20px}.task-automation-fields .muted{font-size:12px;line-height:1.7}.task-reminder-history p,.task-reminder-history span{overflow-wrap:anywhere}
.merge-choice-source{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-bottom:6px}

.notification-link{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:8px;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}.notification-link:hover,.notification-link[aria-current=page]{background:#edf4e5}.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:var(--green);color:white;border-radius:14px;font-size:11px}.notifications-page{max-width:1150px}.notification-panel{padding:28px}.notification-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px}.notification-toolbar>form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;min-width:0}.notification-toolbar label{display:grid;gap:8px;margin:0;min-width:0}.notification-toolbar select{min-width:0;max-width:100%}.notification-count{margin:22px 0}.notification-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.notification-item{display:flex;align-items:center;gap:24px;padding:22px;border:1px solid var(--line);border-radius:10px}.notification-is-unread{background:#f2f6ec;border-left:4px solid #7e9e61}.notification-copy{flex:1;min-width:0}.notification-copy h2{font-size:18px;line-height:1.5;margin:14px 0 8px;overflow-wrap:anywhere}.notification-copy h2 a{color:var(--ink)}.notification-copy p{font-size:13px;margin:0;overflow-wrap:anywhere;line-height:1.7}.notification-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted)}.notification-item-actions{display:grid;gap:10px;flex-shrink:0}.notification-item-actions .button{width:100%;white-space:normal}.notification-help{font-size:12px;line-height:1.8;margin:28px 0 0}.notifications-page .page-heading p{line-height:1.7}.notification-panel .empty-state a{color:var(--ink);text-decoration:underline}
@media(max-width:680px){.topbar{flex-wrap:wrap;height:auto;min-height:64px;gap:10px;padding-top:12px;padding-bottom:12px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.notification-panel{padding:18px}.notification-toolbar,.notification-toolbar>form{align-items:stretch;flex-direction:column;width:100%}.notification-item{flex-direction:column;align-items:stretch;padding:18px;gap:18px}.notification-item-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-link{padding:6px}.notification-toolbar .button{white-space:normal}}
/* Shared quote-template controls. */
.template-list-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--border,#e5e9e5)}
.template-dialog{border:0;border-radius:20px;padding:24px;width:min(520px,calc(100% - 32px));max-height:80vh;overflow:auto}
.template-dialog::backdrop{background:#112c2580}
.template-choices{display:grid;gap:10px;margin:16px 0;max-height:45vh;overflow:auto}
.template-dialog input{width:100%}
@media(max-width:600px){.template-list-row{align-items:flex-start;flex-direction:column}}

/* Payment providers share the same simple connection card on settings and integrations. */
.payment-provider-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--border,#dce3d9);margin:1.4rem 0;padding-bottom:.5rem;flex-wrap:wrap}
.payment-provider-tabs a{display:flex;align-items:center;gap:.5rem;text-decoration:none;border-radius:10px;padding:.7rem 1.1rem;font-weight:600;color:inherit;min-height:44px}
.payment-provider-tabs a[aria-current="page"]{background:#e8efdf;color:#244638}
.payment-provider-tabs a:hover{background:#f0f4e9}
.payment-provider-tabs a:focus-visible{outline:2px solid #43653d;outline-offset:2px}
.payment-tab-ready{color:#41682c}
.payment-provider-body .integration-card-heading{flex-wrap:wrap;gap:.6rem}
.payment-provider-body h3{margin:0;font-size:1.3rem}
.payment-connect-actions{display:flex;align-items:flex-start;flex-direction:column;gap:.9rem;margin:1rem 0}
.payment-connect-actions .stack-form{max-width:36rem;width:100%}
.payment-provider-body details{margin-top:1rem}
.invoice-payment-options{display:flex;flex-wrap:wrap;gap:.65rem}

/* Payment choice and comparable provider fees */
.payment-provider-tabs a{flex:1 1 190px;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;padding:1rem;text-decoration:none}
.payment-tab-name{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.payment-tab-fee{font-size:1.12rem;font-variant-numeric:tabular-nums}
.payment-provider-tabs small{font-size:.8rem;font-weight:400}
.payment-tab-ready{font-size:.7rem;padding:.15rem .4rem;border-radius:1rem;background:var(--accent-soft,#e7efd9)}
.payment-fee-caption{font-size:.82rem;line-height:1.55}
.payment-fee-detail{padding:1rem;background:var(--surface-soft,#f5f7f2);border-radius:.8rem;margin:.8rem 0 1.2rem}
.payment-fee-detail p{margin:.4rem 0;font-size:.9rem}
.payment-current{line-height:1.6}
.payment-select-form{margin:1rem 0}
