.compact-form{margin-bottom:20px}.inline-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end}.customer-grid{display:grid;gap:20px}.customer-card{overflow:visible}.customer-name-form{border-bottom:1px solid var(--line)}.subtle-action{padding:0 22px 18px}.subtle-action button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;color:var(--muted)}.danger-action button{color:#b42318;border-color:#fecdca}.customer-section{padding:20px 22px;border-top:1px solid var(--line)}.customer-section>h3{margin:0 0 12px}.customer-section details,.create-panel{border:1px solid var(--line);border-radius:10px;margin-top:12px}.customer-section summary,.create-panel>summary,.work-order-row details>summary{cursor:pointer;padding:12px 14px;font-weight:700}.two-column-form,.work-order-form{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-list,.location-list{display:grid;gap:8px}.mini-list article,.mini-list a,.location-list>details>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none}.mini-list small,.location-list small{display:block;color:var(--muted)}.mini-list form{margin-left:auto}.mini-list button{border:0;background:transparent;color:var(--blue);cursor:pointer}.filter-card{margin-bottom:18px}.filter-form{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;padding:18px;align-items:end}.filter-form label{display:grid;gap:5px}.filter-form input,.filter-form select{min-height:42px;border:1px solid #d5dae2;border-radius:9px;padding:9px 11px}.create-panel{margin-bottom:18px;overflow:hidden}.create-panel>summary{padding:18px 22px;font-size:18px}.work-order-form{border-top:1px solid var(--line)}.work-order-form .wide-field{grid-column:1/-1}.work-order-list{overflow:visible}.work-order-row{border-top:1px solid var(--line)}.work-order-row:first-of-type{border-top:0}.order-summary{display:flex;justify-content:space-between;gap:20px;padding:20px 22px}.order-summary h3{margin:3px 0}.order-summary p,.order-summary small{margin:0;color:var(--muted)}.order-summary>div:last-child{display:flex;align-items:center;gap:14px}.order-summary a{color:var(--blue);font-weight:700;text-decoration:none}.work-order-row>details{margin:0 22px 18px;border:1px solid var(--line);border-radius:10px}.list-empty{padding:24px}@media(max-width:760px){.inline-form,.filter-form,.two-column-form,.work-order-form{grid-template-columns:1fr}.work-order-form .wide-field{grid-column:auto}.order-summary{display:block}.order-summary>div:last-child{margin-top:14px}.mini-list article,.mini-list a{align-items:flex-start;flex-wrap:wrap}}
.lead-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.lead-form .lead-notes { grid-column: span 2; }
.lead-form button { align-self: end; }

/* Leads are intentionally more visual than the generic management forms. */
.create-panel:has(.lead-form) { border: 1px solid #d8e2f0; border-radius: 14px; box-shadow: 0 5px 18px rgba(30,65,105,.05); }
.create-panel:has(.lead-form)>summary { position: relative; padding: 18px 22px 18px 56px; list-style: none; background: linear-gradient(90deg,#f7faff,#fff); }
.create-panel:has(.lead-form)>summary::-webkit-details-marker { display: none; }
.create-panel:has(.lead-form)>summary::before { content: "+"; position: absolute; left: 20px; top: 50%; translate: 0 -50%; display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; background: #e8f1ff; color: var(--blue); font-size: 19px; font-weight: 800; }
.create-panel:has(.lead-form)[open]>summary::before { content: "−"; }

.card:has(>.lead-list) { overflow: visible; border: 0; background: transparent; }
.card:has(>.lead-list)>.card-title { margin-bottom: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(30,65,105,.04); align-items: center; }
.card:has(>.lead-list)>.card-title>a { color: var(--blue); text-decoration: none; font-weight: 750; border: 1px solid #cfe0fb; border-radius: 9px; padding: 9px 13px; background: #f7faff; }
.card:has(>.lead-list)>.card-title>a:hover { background: #eaf2ff; }
.lead-list { display: grid; gap: 18px; }
.lead-card { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,.85fr); padding: 0; overflow: hidden; border: 1px solid #dfe5ec; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(25,45,70,.07); }
.lead-card:hover { border-color: #cbd8e8; box-shadow: 0 14px 38px rgba(25,45,70,.1); }
.lead-summary { display: grid; align-content: start; gap: 11px; padding: 28px 30px; }
.lead-summary>small:first-child { justify-self: start; color: #526173; background: #f1f4f8; border-radius: 999px; padding: 5px 10px; font-weight: 700; }
.lead-summary h3 { margin: 2px 0 0; font-size: 22px; letter-spacing: -.02em; }
.lead-summary p { margin: 0; color: #586678; }
.lead-summary>strong { margin-top: 5px; font-size: 16px; color: #25364a; }
.lead-summary>b { justify-self: start; margin-top: 5px; padding: 7px 11px; border-radius: 9px; background: #fff4e8; color: #b54708; font-size: 17px; }
.lead-summary a { color: var(--blue); font-weight: 750; text-decoration: none; }
.lead-summary a:hover { text-decoration: underline; }
.lead-summary p:last-child { font-size: 13px; overflow-wrap: anywhere; }

.lead-actions { display: grid; align-content: start; gap: 14px; padding: 26px; background: #f8fafc; border-left: 1px solid #e5eaf0; }
.lead-actions>.pill { justify-self: start; padding: 7px 11px; border: 1px solid #ccebd8; letter-spacing: .025em; }
.lead-actions>strong { color: #16794b; }
.lead-actions form { display: grid; gap: 9px; padding-top: 14px; border-top: 1px solid #e1e7ee; }
.lead-actions form label { display: grid; gap: 6px; color: #49586a; font-size: 12px; font-weight: 750; }
.lead-actions input,.lead-actions select { width: 100%; min-height: 42px; border: 1px solid #cfd7e2; border-radius: 9px; background: #fff; padding: 8px 10px; color: var(--ink); font: inherit; }
.lead-actions input:focus,.lead-actions select:focus { outline: 3px solid #1268e520; border-color: var(--blue); }
.lead-actions button { min-height: 42px; border: 1px solid #c9d4e1; border-radius: 9px; background: #fff; color: #334155; padding: 9px 13px; font-weight: 750; cursor: pointer; }
.lead-actions button:hover { border-color: #9db6d4; background: #f5f9ff; }
.lead-actions button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }
.lead-actions button.primary:hover { background: #0f5fcf; }
.lead-actions form:last-child { grid-template-columns: 1fr 1fr; }
.lead-actions form[action$="/status"] label:has(input[name="lossReason"]) { display: none; }
.lead-actions form[action$="/status"]:has(option[value="LOST"]:checked) label:has(input[name="lossReason"]) { display: grid; }

@media (max-width: 980px) {
  .lead-card { grid-template-columns: 1fr; }
  .lead-actions { border-left: 0; border-top: 1px solid #e5eaf0; }
}
@media (max-width: 760px) {
  .lead-form { grid-template-columns: 1fr; }
  .lead-form .lead-notes { grid-column: auto; }
  .card:has(>.lead-list)>.card-title { display: grid; gap: 14px; }
  .card:has(>.lead-list)>.card-title>a { justify-self: start; }
  .lead-summary,.lead-actions { padding: 20px; }
  .lead-actions form:last-child { grid-template-columns: 1fr; }
}

.report-page-stack,.settings-page-stack { display: grid; gap: 18px; }
.report-filter-card,.report-results,.policy-card { overflow: hidden; }
.report-filter-grid { display: grid; grid-template-columns: repeat(3,minmax(150px,1fr)) auto; gap: 12px; align-items: end; padding: 20px 22px; }
.report-filter-grid label { display: grid; gap: 6px; color: #4f5e70; font-size: 12px; font-weight: 750; }
.report-filter-grid input { width: 100%; min-height: 43px; border: 1px solid #d3dae4; border-radius: 9px; background: #fff; padding: 9px 11px; font: inherit; }
.advanced-filter { grid-column: 1 / -1; border: 1px solid #e2e7ee; border-radius: 9px; background: #fafbfd; }
.advanced-filter summary { cursor: pointer; padding: 10px 12px; color: var(--muted); font-size: 12px; font-weight: 750; }
.advanced-filter label { padding: 0 12px 12px; }
.export-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); background: #fafbfd; padding: 16px 22px; }
.export-bar>div:first-child { display: grid; gap: 3px; }
.export-bar small { color: var(--muted); }
.export-actions { display: flex; gap: 8px; }
.export-actions button { min-width: 72px; border: 1px solid #cbd7e6; border-radius: 8px; background: #fff; color: #27415f; padding: 8px 12px; font-weight: 800; cursor: pointer; }
.export-actions button:hover { border-color: var(--blue); color: var(--blue); }
.report-result-list { display: grid; }
.report-result-list>article { padding: 20px 22px; border-top: 1px solid var(--line); }
.report-result-list>article:first-child { border-top: 0; }
.report-result-heading { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.report-result-heading small { color: var(--muted); }
.report-result-heading h3 { margin: 4px 0 14px; }
.report-metrics { display: grid; grid-template-columns: repeat(6,minmax(90px,1fr)); gap: 8px; }
.report-metrics span { display: grid; gap: 3px; border-radius: 9px; background: #f4f7fa; padding: 9px 10px; }
.report-metrics small { color: var(--muted); font-size: 10px; font-weight: 700; }
.report-metrics strong { font-size: 13px; overflow-wrap: anywhere; }
.policy-form { display: grid; gap: 18px; padding: 22px; }
.policy-options { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.policy-option { display: grid; grid-template-columns: auto minmax(0,1fr) 24px; gap: 13px; align-items: center; min-height: 104px; border: 1px solid #d9e1eb; border-radius: 13px; background: #fff; padding: 18px; cursor: pointer; transition: border-color .2s,background .2s,box-shadow .2s; }
.policy-option:hover { border-color: #a9c6ec; }
.policy-option:has(input:checked) { border-color: var(--blue); background: #f5f9ff; box-shadow: 0 0 0 3px #1268e512; }
.policy-option input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--blue); }
.policy-option span { display: grid; gap: 5px; }
.policy-option strong { font-size: 16px; }
.policy-option small { color: var(--muted); line-height: 1.45; }
.policy-option i { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #dcecff; color: var(--blue); font-style: normal; font-weight: 900; opacity: 0; }
.policy-option:has(input:checked) i { opacity: 1; }
.policy-form>button { justify-self: start; }
.settings-security-note { margin: 0; }
.finance-page-stack { display: grid; gap: 18px; }
.finance-create { margin: 0; }
.finance-card { overflow: hidden; }
.finance-list { display: grid; }
.finance-list>article { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 18px; padding: 18px 22px; border-top: 1px solid var(--line); }
.finance-list>article:first-child { border-top: 0; }
.finance-list h3 { margin: 3px 0; }
.finance-list p,.finance-list small { margin: 0; color: var(--muted); }
.finance-actions { display: flex; align-items: center; gap: 8px; }
.finance-actions button,.finance-actions .button { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; border: 1px solid #cbd6e3; border-radius: 8px; background: #fff; padding: 8px 12px; color: #304860; font-weight: 800; text-decoration: none; cursor: pointer; }
.finance-actions button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }

@media (max-width: 980px) {
  .report-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .report-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .policy-options { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .report-filter-grid { grid-template-columns: 1fr; }
  .advanced-filter { grid-column: auto; }
  .export-bar { display: grid; }
  .export-actions { display: grid; grid-template-columns: repeat(3,1fr); }
  .report-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .policy-form { padding: 18px; }
  .finance-list>article { grid-template-columns: 1fr; align-items: start; }
  .finance-actions { flex-wrap: wrap; }
}
