:root{
  color-scheme:light;
  --brand:#b51f2d;
  --brand-dark:#851622;
  --ink:#17191d;
  --muted:#626873;
  --line:#e1e3e7;
  --surface:#fff;
  --canvas:#f5f5f6;
  --green:#176b3a;
  --blue:#1769aa;
}

/* Selected replacement-part quality disclosure */
.part-quality-disclosure{margin:20px 0;padding:18px;border:2px solid rgba(205,35,54,.22);border-radius:16px;background:linear-gradient(145deg,#fff,#fff8f8)}
.part-quality-disclosure h3{margin:5px 0 10px;color:#17191d}
.part-quality-summary{white-space:pre-line;padding:14px;border:1px solid #d9dde2;border-radius:12px;background:#fff;color:#20252b;font-weight:750;line-height:1.55}
.part-quality-plain-note{margin:10px 0 0;color:#545d67;font-size:.92rem;line-height:1.5}
.part-quality-acknowledgment{margin-top:15px;padding:16px;border:2px solid #d29b27;border-radius:12px;background:#fff9e9;color:#252019}
.part-quality-acknowledgment p{line-height:1.55}
.part-quality-acknowledgment label{color:#252019}
.part-quality-acknowledgment input[type="text"]{background:#fff;color:#16191d;border:2px solid #8b929a}
.part-quality-acknowledgment .accept-check{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-weight:850}
.part-quality-acknowledgment .accept-check input{width:24px;height:24px;flex:0 0 auto}
.part-quality-ack-receipt{margin:12px 0 0;padding:11px;border-radius:10px;background:#e9f8ef;color:#146532;font-weight:850}
.quote-history-grade{margin-top:10px;padding:10px;border-left:4px solid #c52132;background:#fff7f8}
.quote-history-grade p{white-space:pre-line;margin:5px 0 0}
body.extra-large-text .part-quality-disclosure{font-size:1.13em}

@media(max-width:640px){
 .part-quality-disclosure{padding:14px}
}
*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--ink);font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
header{background:#111216;color:#fff;border-bottom:4px solid var(--brand);padding:17px 20px}
.brand-lockup{display:flex;align-items:center;justify-content:center;gap:13px;width:min(720px,100%);margin:auto;text-align:left}
.brand-lockup img{width:89px;height:89px;border-radius:12px;object-fit:contain;background:#fff}
header strong,header span{display:block}
header strong{font-size:clamp(1.15rem,4vw,1.55rem);letter-spacing:.08em}
header span{color:#cfd1d5;font-size:.9rem}
main{width:min(720px,calc(100% - 24px));margin:24px auto;display:grid;gap:16px}
.customer-portal-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:7px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 8px 30px rgba(17,18,22,.04)}
.customer-portal-nav a{display:grid;place-items:center;min-height:48px;border-radius:9px;color:#34383f;padding:8px;text-align:center;text-decoration:none;font-size:.9rem;font-weight:850}
.customer-portal-nav a:hover{background:#f3f3f4}
.customer-portal-nav a.active{background:var(--brand);color:#fff}
.business-hours-card{display:grid;grid-template-columns:1fr auto;gap:10px 18px;padding:18px 20px;border:1px solid #cfd5dc;border-left:5px solid var(--blue);border-radius:14px;background:#fff;box-shadow:0 8px 30px rgba(17,18,22,.04)}
.business-hours-card>div strong,.business-hours-card>div span{display:block}.business-hours-card>div strong{font-size:1.05rem}.business-hours-card>div span{margin-top:3px;font-size:.88rem;font-weight:800}.business-hours-card .open-now{color:var(--green)}.business-hours-card .closed-now{color:#8b4b0c}.business-hours-card dl{display:grid;grid-template-columns:auto auto;gap:1px 12px;margin:0;font-size:.83rem}.business-hours-card dt{font-weight:800}.business-hours-card dd{margin:0;text-align:right}.business-hours-card p{grid-column:1/-1;margin:0;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:.88rem}
.view-track .quote-card{display:none!important}
.customer-sound-control{grid-column:1/-1;display:flex;align-items:center;gap:8px}
.customer-sound-control button{display:grid;place-items:center;width:34px;height:34px;margin:0;padding:0;border-radius:50%;background:#174b8a;font-size:1rem}
.customer-sound-control span{color:var(--muted);font-size:.85rem;font-weight:750}
.customer-sound-prompt{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:18px;background:rgba(17,24,39,.48);backdrop-filter:blur(3px)}
.customer-sound-prompt-card{width:min(390px,100%);padding:25px;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28);text-align:center}
.sound-prompt-icon{font-size:2rem}.customer-sound-prompt h2{margin:8px 0}.customer-sound-prompt p{margin:0;color:var(--muted);line-height:1.5}
.sound-prompt-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
.sound-prompt-actions button{margin:0}.sound-prompt-actions button:last-child{background:#e8ebef;color:#262a30}
.customer-update-toast{position:fixed;z-index:1000;right:18px;bottom:18px;max-width:360px;padding:15px 18px;border:1px solid #9cc8aa;border-radius:12px;background:#effaf2;color:#145b30;box-shadow:0 12px 35px rgba(15,35,25,.18);font-weight:850}
.view-sell .lookup-card,.view-sell .result-stack,.view-sell .quote-card:not(.sell-device-card){display:none!important}
.view-quote .lookup-card,.view-quote .result-stack,.view-quote .sell-device-card{display:none!important}
.view-sell .sell-device-card>summary,.view-quote .quote-card:not(.sell-device-card)>summary{display:none}
.view-sell .sell-device-card .quote-content,.view-quote .quote-card:not(.sell-device-card) .quote-content{border-top:0;padding-top:22px}
.result-stack{display:grid;gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,5vw,30px);box-shadow:0 8px 30px rgba(17,18,22,.055)}
.step{color:var(--brand);font-size:.72rem;font-weight:900;letter-spacing:.14em}
h1,h2{margin:.3rem 0 .55rem;line-height:1.15}
h1{font-size:clamp(1.85rem,6vw,2.55rem)}
h2{font-size:1.45rem}
p{margin:.4rem 0 1rem}
.lead,.section-copy,.repair-name{color:var(--muted)}
label{display:block;margin-top:15px;font-weight:750}
input,select,textarea{width:100%;margin-top:6px;border:1.5px solid #b7bbc2;border-radius:10px;background:#fff;color:var(--ink);padding:13px 14px;font:inherit}
input:focus,select:focus,textarea:focus{outline:3px solid #f4c2c7;border-color:var(--brand)}
textarea{min-height:110px;resize:vertical}
.help{margin:.3rem 0;color:var(--muted);font-size:.86rem}
button{width:100%;min-height:52px;border:0;border-radius:10px;background:var(--brand);color:#fff;padding:12px 17px;font:inherit;font-weight:850;cursor:pointer}
button:hover{background:var(--brand-dark)}
button:disabled{opacity:.65;cursor:wait}
#lookup-button,#send{margin-top:16px}
.alert{margin-top:16px;border-radius:10px;background:#fee7e7;color:#891720;padding:13px 15px;font-weight:700}
.alert.success{background:#e3f7e9;color:#145b30}
.quote-confirmation{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px 24px;
  align-items:center;
  padding:25px 27px;
  border:2px solid #2e8a58;
  border-radius:18px;
  background:linear-gradient(145deg,#f4fcf7,#fff);
  box-shadow:0 14px 38px rgba(23,107,58,.12);
}
.quote-confirmation[hidden]{display:none}
.quote-confirmation:focus{outline:3px solid rgba(23,107,58,.2);outline-offset:3px}
.quote-confirmation h2{margin:.25rem 0 .45rem;color:#164f30}
.quote-confirmation p{margin:0;color:#45504a;font-size:.94rem}
.quote-reference{
  min-width:245px;
  padding:15px 18px;
  border:1px solid #b9ddc7;
  border-radius:13px;
  background:#fff;
  text-align:center;
}
.quote-reference span{display:block;color:#57625c;font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.quote-reference strong{display:block;margin-top:3px;color:#14613a;font-size:clamp(1.35rem,4vw,1.75rem);letter-spacing:.025em;word-break:break-word}
.quote-confirmation-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quote-confirmation-actions button{margin:0}
.quote-copy-status{grid-column:1/-1;min-height:1.35em;color:#176b3a!important;font-weight:800}
.photo-exception{
  padding:15px;
  border:1px solid #d4dae1;
  border-radius:13px;
  background:#f7f9fb;
}
#sell-photo-reason-wrap{
  padding:15px;
  border-left:4px solid var(--blue);
  border-radius:9px;
  background:#f2f8fd;
}
.repair-choice{margin-bottom:24px;padding:15px;border-radius:11px;background:#f7f7f8}
.repair-choice label{margin:0}
.status-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.status-heading h1{margin-bottom:.1rem}
.repair-name{margin:0}
.badge{flex:0 0 auto;border-radius:999px;background:var(--green);color:#fff;padding:8px 13px;font-size:.95rem;font-weight:850}
.important-update{margin:22px 0 16px;padding:18px;border-radius:12px;background:#fff2f3;border-left:5px solid var(--brand)}
.important-update span,.date-grid span,.tracking>div>span{display:block;color:var(--muted);font-size:.78rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.important-update p{margin:.35rem 0 0;font-size:1.06rem}
.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.date-grid>div{padding:14px;border-radius:11px;background:#f7f7f8}
.date-grid strong{display:block;margin-top:3px}
.tracking{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:15px;border:1px solid #c8daed;border-radius:11px;background:#f3f8fd}
.tracking strong,.tracking small{display:block}
.tracking small{color:var(--muted);margin-top:3px}
.tracking-button{flex:0 0 auto;border-radius:9px;background:#174f85;color:#fff;padding:11px 14px;text-align:center;text-decoration:none;font-weight:850}
.details-panel{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
summary{cursor:pointer;font-weight:850}
.details-panel dl{display:grid;grid-template-columns:130px 1fr;gap:7px 12px;margin:14px 0 0}
dt{font-weight:850}
dd{margin:0;overflow-wrap:anywhere}
.secondary-button{margin-top:18px;background:#e9eaec;color:#22252a}
.secondary-button:hover{background:#dcdde0}
.square-payments{border:2px solid #9bc4e7;background:#f6faff}
.square-payments .step{color:var(--blue)}
.square-request{padding:16px;border:1px solid #cbddeb;border-radius:11px;background:#fff}
.square-request+.square-request{margin-top:12px}
.square-request-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.square-request small{display:block;color:var(--muted);margin-top:4px}
.square-pay-button{display:block;margin-top:14px;border-radius:10px;background:var(--blue);color:#fff;padding:13px;text-align:center;text-decoration:none;font-weight:900}
.square-decline-button{margin-top:9px;min-height:46px;border:1.5px solid #a8313b;background:#fff;color:#92212b}
.square-decline-button:hover{background:#fff1f2}
.security-note{margin:14px 0 0;color:var(--muted);font-size:.8rem;text-align:center}
.terms-card{border:2px solid #e3b35c;background:#fffaf0}
.terms-preview{margin:16px 0;border:1px solid #dfd3b8;border-radius:10px;background:#fff}
.terms-preview>summary{padding:14px 16px}
#terms-preview-content{max-height:330px;overflow:auto;padding:4px 18px 18px;border-top:1px solid #e7dfcf;font-size:.91rem}
#terms-preview-content .secondary-button,#terms-preview-content>a,#terms-preview-content>p:last-child{display:none}
.accept-check{display:flex;align-items:flex-start;gap:11px;padding:14px;margin:14px 0;border-radius:10px;background:#fff;border:1px solid #d8cab0}
.accept-check input{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0}
.accept-check span{font-weight:700}
.terms-receipt{display:grid;grid-template-columns:1fr auto;gap:4px 18px;align-items:center;border-left:5px solid var(--green);padding-top:18px;padding-bottom:18px}
.terms-receipt>strong{color:var(--green)}
.terms-receipt>span{grid-column:1;color:var(--muted);font-size:.88rem}
.terms-receipt>a{grid-column:2;grid-row:1/3}
.legal-document h3{margin:1.5rem 0 .25rem}
.legal-document p{margin:.25rem 0 .8rem}
.terms-version{margin-top:2rem!important;color:var(--muted);font-size:.85rem}
.terms-required .money-card,.terms-required .message-card,.terms-required #square-payments{display:none!important}
@media print{
  header,footer,.legal-document button,.legal-document>p:last-child{display:none}
  body{background:#fff;font-size:12pt}
  main{width:100%;margin:0}
  .card{border:0;box-shadow:none;padding:0}
}
.money-card{padding:0;overflow:hidden}
.money-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;list-style:none}
.money-summary::-webkit-details-marker{display:none}
.money-summary span>small,.money-summary span>strong{display:block}
.money-summary small{color:var(--brand);font-size:.7rem;font-weight:900;letter-spacing:.12em}
.money-summary>strong{color:var(--green);font-size:1.55rem}
.money-content{padding:0 26px 24px;border-top:1px solid var(--line)}
.money-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}
.money-grid>div{padding:12px;border-radius:10px;background:#f7f7f8}
.money-grid span{display:block;color:var(--muted);font-size:.78rem}
.money-grid strong{font-size:1.08rem}
.payment-history article{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.payment-history article:first-child{border-top:0}
.payment-history small{display:block;color:var(--muted)}
.history{margin-top:12px}
.history article{padding:13px 0;border-top:1px solid var(--line)}
.history article:first-child{border-top:0}
.history article strong{color:var(--brand-dark)}
.history article p{margin:.2rem 0;white-space:pre-line}
.history small{color:var(--muted)}
.quote-card{padding:0}
.quote-card>summary{padding:20px 24px;font-size:1rem}
.quote-content{padding:0 24px 26px;border-top:1px solid var(--line)}
.quote-terms{margin-top:8px}
.quote-terms .terms-preview{margin-bottom:10px}
.quote-terms .terms-preview p,.quote-terms .terms-preview a{margin-left:16px;margin-right:16px}
.sell-device-card>summary{color:#145b30}
.photo-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.photo-preview img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:9px}
.battery-help{margin-top:12px;padding:15px;border-radius:10px;background:#f3f8fd;border:1px solid #c8daed}
.battery-help h3{margin:0 0 8px}
.battery-help p{margin:.45rem 0;font-size:.9rem}
.required-photos{margin:12px 0 0;border:1px solid var(--line);border-radius:11px;padding:15px}
.required-photos legend{padding:0 7px;font-weight:850}
.lock-warning{border-color:#e2a2a8;background:#fff3f4}
.purchase-decline-card{border:2px solid #e2a2a8;background:#fff7f7}
.purchase-decline-card .step{color:#92212b}
.offer-total{font-size:2rem;font-weight:900;color:#174b8a;margin:.25rem 0}
.repair-quote-card{border:2px solid #1769aa;background:linear-gradient(145deg,#fff 0%,#f0f7ff 100%);box-shadow:0 12px 30px rgba(23,105,170,.13)}
.quote-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.quote-card-heading h2{margin:.25rem 0}
.quote-card-heading>strong{font-size:2rem;line-height:1;color:#145b30;white-space:nowrap}
.quote-included{margin:16px 0 10px;padding:15px 17px;border:1px solid #cbdceb;border-radius:11px;background:#fff}
.quote-included span{display:block;color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.quote-included p{margin:6px 0 0;white-space:pre-line;font-weight:700}
.quote-meta{margin:0;color:var(--muted);font-size:.84rem}
.quote-message-link{display:inline-flex;width:auto;margin-top:8px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.wide{grid-column:1/-1}
.console-intake{display:grid;gap:16px;margin:8px 0;padding:20px;border:1px solid #d7dce3;border-radius:15px;background:#f8f9fb}
.console-intake-heading span,.console-price>span{display:block;color:#9c1f2f;font-size:.73rem;font-weight:950;letter-spacing:.1em}
.console-intake-heading h3{margin:5px 0 0}
.console-price{padding:18px;border:1px solid #a9d1b6;border-left:5px solid #1c7b43;border-radius:12px;background:#f1fbf4}
.console-price strong{display:block;margin-top:3px;color:#145b30;font-size:1.8rem}.console-price p{margin:7px 0 0;color:#48535e}
.console-warning{display:grid;gap:10px;padding:18px;border:1px solid #e0ad72;border-left:5px solid #bd6814;border-radius:12px;background:#fff8ee}.console-warning>strong{font-size:1.08rem}.console-warning p{margin:0}
.console-photo-instructions{padding:16px;border-radius:12px;background:#fff}.console-photo-instructions h3{margin:0 0 7px}.console-photo-instructions p{margin:5px 0;color:#4f5863}
.console-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.console-photo-grid label{padding:12px;border:1px solid #dde1e7;border-radius:11px;background:#fff}.console-photo-grid input[type=file]{margin-top:7px}.console-photo-grid .photo-not-applicable{display:flex;align-items:center;gap:7px;margin-top:9px;color:#4e5660;font-size:.84rem}.console-photo-grid .photo-not-applicable input{width:auto;margin:0}.optional-photo::after{content:'Optional';float:right;color:#68717c;font-size:.72rem;font-weight:800;text-transform:uppercase}.photo-privacy-note{margin:0;color:#58616b;font-size:.86rem}
footer{text-align:center;color:var(--muted);padding:18px 14px 30px;font-size:.9rem}
[hidden]{display:none!important}
@media(max-width:600px){
  body{font-size:16px}
  .card{border-radius:13px}
  .status-heading,.tracking{align-items:stretch;flex-direction:column}
  .badge{align-self:flex-start}
  .tracking-button{width:100%}
  .date-grid,.money-grid,.grid,.console-photo-grid{grid-template-columns:1fr}
  .wide{grid-column:auto}
  .details-panel dl{grid-template-columns:1fr}
  .details-panel dt{margin-top:6px}
  .money-summary{padding:20px}
  .money-content{padding:0 20px 20px}
  .brand-lockup img{width:74px;height:74px}
  .customer-portal-nav{grid-template-columns:1fr}
  .business-hours-card{grid-template-columns:1fr}.business-hours-card dl{grid-template-columns:1fr auto}
  .customer-sound-control button{width:34px}
  .sound-prompt-actions{grid-template-columns:1fr}
  .customer-update-toast{left:12px;right:12px;bottom:12px;max-width:none}
  .terms-receipt{grid-template-columns:1fr}
  .terms-receipt>a,.terms-receipt>span{grid-column:1;grid-row:auto}
}

/* Edgewood customer portal — modern interface */
:root{
  --brand:#c52132;
  --brand-dark:#981927;
  --ink:#16181d;
  --muted:#66707d;
  --line:#e6e8ec;
  --surface:#fff;
  --canvas:#f4f5f7;
  --green:#147443;
  --blue:#176bb0;
  --shadow:0 16px 45px rgba(20,25,35,.075);
  --shadow-hover:0 20px 55px rgba(20,25,35,.11);
}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 0,rgba(197,33,50,.07),transparent 28rem),
    linear-gradient(180deg,#f8f9fa 0,#f3f4f6 32rem,#f6f7f8 100%);
  color:var(--ink);
  font:16px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
header{
  position:relative;
  padding:18px 24px;
  border:0;
  background:linear-gradient(125deg,#121419 0,#20242b 100%);
  box-shadow:0 8px 28px rgba(0,0,0,.16);
}
header:after{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:3px;
  background:linear-gradient(90deg,var(--brand),#ef5363,var(--brand));
  content:"";
}
.brand-lockup{justify-content:flex-start;width:min(920px,100%);gap:15px}
.brand-lockup img{
  width:76px;
  height:76px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
}
header strong{font-size:clamp(1.05rem,3.4vw,1.5rem);letter-spacing:.095em}
header span{margin-top:2px;color:#bfc5ce;letter-spacing:.025em}
main{width:min(920px,calc(100% - 28px));margin:26px auto 40px;gap:18px}
.customer-portal-nav{
  position:sticky;
  z-index:50;
  top:10px;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
  padding:5px;
  border:1px solid rgba(210,214,220,.85);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 35px rgba(25,30,40,.09);
  backdrop-filter:blur(16px);
}
.customer-portal-nav a{
  min-height:46px;
  border-radius:11px;
  color:#505864;
  font-size:.87rem;
  font-weight:800;
  transition:background .18s,color .18s,transform .18s;
}
.customer-portal-nav a:hover{background:#f1f2f4;transform:translateY(-1px)}
.customer-portal-nav a.active{
  background:linear-gradient(135deg,#b91f2e,var(--brand));
  color:#fff;
  box-shadow:0 7px 18px rgba(197,33,50,.24);
}
.business-hours-card{
  grid-template-columns:1fr auto;
  gap:9px 24px;
  padding:17px 20px;
  border:1px solid var(--line);
  border-left:0;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 32px rgba(25,30,40,.055);
}
.business-hours-card>div:first-child{position:relative;padding-left:17px}
.business-hours-card>div:first-child:before{
  position:absolute;
  top:8px;
  left:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 5px rgba(20,116,67,.11);
  content:"";
}
.business-hours-card>div strong{font-size:.98rem}
.business-hours-card>div span{font-size:.8rem}
.business-hours-card dl{font-size:.78rem;color:#525b67}
.business-hours-card p{padding-top:10px;border-color:#eef0f2;font-size:.82rem}
.customer-sound-control{justify-content:flex-end}
.customer-sound-control button{
  width:32px;
  height:32px;
  min-height:32px;
  background:#252a31;
  box-shadow:none;
}
.customer-sound-control span{font-size:.78rem}
.card{
  border:1px solid rgba(223,226,231,.9);
  border-radius:22px;
  padding:clamp(22px,4.5vw,36px);
  background:rgba(255,255,255,.96);
  box-shadow:var(--shadow);
  transition:box-shadow .2s,transform .2s;
}
.card:hover{box-shadow:var(--shadow-hover)}
.lookup-card{
  position:relative;
  overflow:hidden;
  padding:clamp(28px,6vw,48px);
  background:
    linear-gradient(120deg,rgba(255,255,255,.98),rgba(255,255,255,.91)),
    linear-gradient(135deg,var(--brand),transparent);
}
.lookup-card:after{
  position:absolute;
  top:-70px;
  right:-70px;
  width:190px;
  height:190px;
  border:28px solid rgba(197,33,50,.045);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.lookup-card form{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:end;margin-top:22px}
.lookup-card label{grid-column:1/-1;margin:0}
.lookup-card input{margin:0;min-height:54px}
.lookup-card .help{grid-column:1/-1;grid-row:3;margin:0}
#lookup-button{width:auto;min-width:190px;margin:0}
.step{font-size:.68rem;letter-spacing:.17em}
h1,h2{letter-spacing:-.025em}
h1{font-size:clamp(1.8rem,5vw,2.65rem)}
h2{font-size:clamp(1.25rem,3.5vw,1.55rem)}
.lead{max-width:620px;margin-bottom:0;font-size:1.01rem}
label{color:#353b44;font-size:.91rem;font-weight:800}
input,select,textarea{
  min-height:50px;
  border:1px solid #cfd3d9;
  border-radius:12px;
  background:#fbfcfd;
  box-shadow:inset 0 1px 2px rgba(15,20,30,.025);
  transition:border .18s,box-shadow .18s,background .18s;
}
input:hover,select:hover,textarea:hover{border-color:#aeb4bd;background:#fff}
input:focus,select:focus,textarea:focus{
  border-color:var(--brand);
  outline:0;
  background:#fff;
  box-shadow:0 0 0 4px rgba(197,33,50,.115);
}
button,.square-pay-button,.tracking-button{
  border-radius:12px;
  background:linear-gradient(135deg,#b61c2c,var(--brand));
  box-shadow:0 8px 20px rgba(197,33,50,.18);
  transition:transform .16s,box-shadow .16s,background .16s;
}
button:hover,.square-pay-button:hover,.tracking-button:hover{transform:translateY(-1px);box-shadow:0 11px 25px rgba(197,33,50,.25)}
.secondary-button{background:#eef0f3;color:#272c33;box-shadow:none}
.secondary-button:hover{background:#e2e5e9;box-shadow:none}
.result-stack{gap:18px}
.status-card{overflow:hidden}
.status-heading{align-items:center}
.badge{
  padding:8px 14px;
  border:1px solid rgba(20,116,67,.12);
  background:#e9f7ef;
  color:#12673c;
  font-size:.84rem;
  box-shadow:none;
}
.repair-name{font-size:1rem}
.important-update{
  margin:24px 0 17px;
  padding:18px 20px;
  border:1px solid #f0d4d8;
  border-left:0;
  border-radius:14px;
  background:linear-gradient(135deg,#fff5f6,#fffafa);
}
.important-update span{color:var(--brand)}
.date-grid{gap:12px}
.date-grid>div,.money-grid>div,.repair-choice{border:1px solid #eceef1;border-radius:13px;background:#f8f9fa}
.tracking{border:1px solid #d6e5f2;border-radius:14px;background:linear-gradient(135deg,#f2f8fd,#f8fbfe)}
.tracking-button{background:linear-gradient(135deg,#155b96,#1977be);box-shadow:0 8px 20px rgba(23,105,170,.17)}
.details-panel{border-color:#eceef1}
summary{color:#363c45}
.money-card{border-color:#dfe8e2}
.money-summary{background:linear-gradient(135deg,#fff,#f7fbf8)}
.money-summary>strong{font-size:1.7rem}
.square-payments{border:1px solid #c9dff0;background:linear-gradient(145deg,#f8fbfe,#f3f8fc)}
.square-request{border-radius:14px;box-shadow:0 6px 20px rgba(23,105,170,.06)}
.terms-card{border:1px solid #ead4a4;background:linear-gradient(145deg,#fffdf7,#fff9ec)}
.terms-receipt{border-left:0;background:linear-gradient(135deg,#f5fbf7,#fff)}
.terms-receipt:before{width:9px;height:9px;border-radius:50%;background:var(--green);content:""}
.history article{margin-top:8px;padding:14px 16px;border:1px solid #eceef1;border-radius:13px;background:#fafbfc}
.history article:first-child{border-top:1px solid #eceef1}
.history article strong{color:#272c33}
.quote-card{overflow:hidden}
.quote-card>summary{padding:22px 28px;background:#fff}
.quote-content{padding:2px 28px 30px}
.customer-sound-prompt-card{border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.3)}
.customer-update-toast{border:0;border-left:4px solid var(--green);border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(15,35,25,.2)}
footer{color:#7a828d;font-size:.83rem}
.footer-bug-link{display:inline-block;margin-top:9px;color:#555e69;font-weight:750;text-underline-offset:3px}
.footer-bug-link:hover{color:var(--brand)}
.customer-bug-card{max-width:720px;margin:0 auto}.customer-bug-card form{margin-top:20px}.bug-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.bug-back-link{text-align:center;margin-top:20px}.bug-back-link a{color:var(--muted)}

@media(max-width:700px){
  header{padding:14px 16px}
  .brand-lockup img{width:62px;height:62px;border-radius:14px}
  main{width:min(100% - 20px,920px);margin:18px auto 30px;gap:13px}
  .customer-portal-nav{top:6px}
  .customer-portal-nav a{min-height:43px;padding:6px 4px;font-size:.76rem;line-height:1.2}
  .business-hours-card{grid-template-columns:1fr;padding:15px 16px}
  .business-hours-card dl{grid-template-columns:1fr auto}
  .customer-sound-control{justify-content:flex-start}
  .card{border-radius:17px;padding:21px 18px}
  .lookup-card{padding:28px 20px}
  .lookup-card form{grid-template-columns:1fr}
  .lookup-card label,.lookup-card .help{grid-column:1}
  #lookup-button{width:100%;min-width:0;margin-top:5px}
  .status-heading{align-items:flex-start}
  .date-grid,.money-grid,.grid{grid-template-columns:1fr}
  .tracking{align-items:stretch}
  .tracking-button{width:100%}
  .quote-card>summary{padding:20px}
  .quote-content{padding:2px 20px 24px}
  .quote-confirmation{grid-template-columns:1fr;padding:22px 20px}
  .quote-reference{min-width:0}
  .quote-confirmation-actions{grid-column:1;grid-template-columns:1fr}
  .quote-copy-status{grid-column:1}
  .sound-prompt-actions{grid-template-columns:1fr}
}
.customer-maintenance-banner{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px auto 0;width:min(920px,calc(100% - 28px));padding:13px 18px;border:2px solid #bd690e;border-radius:12px;background:#fff3d8;color:#693800;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.customer-maintenance-banner strong{flex:0 0 auto}.customer-maintenance-banner span{line-height:1.4}
@media(max-width:600px){.customer-maintenance-banner{align-items:flex-start;flex-direction:column;gap:3px}}
.customer-timeline{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:0;margin-top:18px;overflow-x:auto;padding:4px 4px 12px}.timeline-step strong{max-width:140px;line-height:1.25;overflow-wrap:anywhere;word-break:normal}
.timeline-step{position:relative;display:grid;justify-items:center;gap:8px;min-width:82px;color:#8a919a;text-align:center;font-size:.72rem}
.timeline-step:before{position:absolute;top:14px;right:50%;left:-50%;height:3px;background:#e1e4e8;content:"";z-index:0}.timeline-step:first-child:before{display:none}
.timeline-step span{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border:3px solid #d9dde2;border-radius:50%;background:#fff;font-size:.75rem}
.timeline-complete{color:#17663d}.timeline-complete:before{background:#48a871}.timeline-complete span{border-color:#48a871;background:#eaf8ef}
.timeline-current{color:#a51d2a}.timeline-current:before{background:linear-gradient(90deg,#48a871,#c52132)}.timeline-current span{border-color:#c52132;color:#c52132;box-shadow:0 0 0 5px #fbe9eb}
.warranty-card{border-left:5px solid #1769aa;background:linear-gradient(145deg,#f7fbff,#fff)}
.quote-history-customer{margin-top:16px;border-top:1px solid var(--line);padding-top:13px}.quote-history-customer summary{cursor:pointer;font-weight:850}.quote-history-customer article{padding:12px 0;border-top:1px solid #e7eaed}.quote-history-customer article:first-child{margin-top:10px}.quote-history-customer strong,.quote-history-customer small{display:block}.quote-history-customer small{margin-top:4px;color:var(--muted)}.quote-history-customer p{margin:7px 0 0;font-size:.86rem;line-height:1.45}
.satisfaction-card{border-top:4px solid #d59a20}

/* Streamlined quote, payment, intake, and quality record */
.result-stack{gap:13px}
.result-stack>.card,.financial-overview>.card{box-shadow:0 10px 32px rgba(20,25,35,.06)}
.result-stack>.card:hover,.financial-overview>.card:hover{transform:none;box-shadow:0 10px 32px rgba(20,25,35,.075)}
.compact-portal-card{padding:0;overflow:hidden}
.portal-section-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:21px 25px;
  list-style:none
}
.portal-section-summary::-webkit-details-marker{display:none}
.portal-section-summary>span:first-child small,.portal-section-summary>span:first-child strong{display:block}
.portal-section-summary small{color:var(--brand);font-size:.68rem;font-weight:900;letter-spacing:.13em}
.portal-section-summary>span:first-child strong{margin-top:2px;font-size:1.15rem}
.portal-section-summary>span:last-child{color:var(--muted);font-size:.82rem;font-weight:800;white-space:nowrap}
.portal-section-content{padding:0 25px 25px;border-top:1px solid var(--line)}
.timeline-card .customer-timeline{margin-top:22px}
.financial-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:13px}
.financial-overview>.money-card{height:max-content}
.quote-total-card{border-color:#c8e0d1}
.quote-total-card .money-summary{background:linear-gradient(135deg,#fff,#f1faf4)}
.quote-total-card .money-summary>strong{color:#08733d;font-size:clamp(1.6rem,5vw,2.05rem)}
.quote-total-grid{grid-template-columns:repeat(4,1fr)}
.quote-total-grid>div:last-child strong{font-size:.92rem;color:#176b3a}
.quote-history-customer{margin-top:17px}
.service-record-card{border-color:#d9e3dc}
.service-record-card .portal-section-summary{background:linear-gradient(135deg,#fff,#f7fbf8)}
.service-record-card .portal-section-summary small{color:var(--green)}
.record-section{padding:20px 0 4px}
.record-section+.record-section{margin-top:16px;border-top:1px solid var(--line)}
.record-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.record-section-heading strong,.record-section-heading small{display:block}
.record-section-heading small{margin-top:2px;color:var(--muted);font-size:.79rem}
.record-check{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#e7f6ec;color:#126a3d;font-weight:950}
.customer-record-grid{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;margin:0;padding:16px;border-radius:13px;background:#f8f9fa}
.customer-record-grid dt{color:#58616d;font-size:.82rem}
.customer-record-grid dd{font-weight:700;white-space:pre-line}
.customer-quality-checks h3{margin:18px 0 7px;color:#4f5864;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.customer-quality-checks h3:first-child{margin-top:0}
.customer-quality-checks article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid #eceef1}
.customer-quality-checks h3+article{border-top:0}
.customer-quality-checks article strong,.customer-quality-checks article small{display:block}
.customer-quality-checks article small{margin-top:2px;color:var(--muted);font-size:.78rem}
.check-result{flex:0 0 auto;border-radius:999px;padding:5px 9px;background:#eef0f2;color:#4c5560;font-size:.75rem;font-weight:900}
.check-result-pass{background:#e7f6ec;color:#126a3d}
.check-result-fail{background:#fee9e9;color:#92212b}
.final-quality-result{display:inline-block;margin:0 0 8px;border-radius:999px;background:#e7f6ec;color:#126a3d;padding:7px 11px;font-weight:900}
.final-quality-record .section-copy{margin-bottom:0;white-space:pre-line}
.quote-price-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.quote-price-breakdown article{padding:15px 17px;border:1px solid #d8e1e8;border-radius:13px;background:#fff}
.quote-price-breakdown span,.quote-price-breakdown strong,.quote-price-breakdown small{display:block}
.quote-price-breakdown span{color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.quote-price-breakdown strong{margin-top:4px;color:#222b34;font-size:1.35rem;line-height:1.15}
.quote-price-breakdown small{margin-top:7px;color:#66707d;font-size:.75rem;line-height:1.35}
.quote-price-breakdown .quote-combined-total{grid-column:1/-1;border-color:#9dccae;background:linear-gradient(135deg,#edf9f1,#f8fcf9)}
.quote-price-breakdown .quote-combined-total span{color:#176b3a}
.quote-price-breakdown .quote-combined-total strong{color:#08733d;font-size:1.65rem}
.quote-payment-schedule{margin:16px 0;padding:17px 18px;border:1px solid #d8e1e8;border-radius:13px;background:#f8fafb}
.quote-payment-schedule>strong{display:block;margin-bottom:10px;font-size:1rem}
.quote-payment-schedule ol{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none}
.quote-payment-schedule li{display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:10px;background:#fff}
.quote-payment-schedule li>span{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#e7f6ec;color:#126a3d;font-size:.78rem;font-weight:950}
.quote-payment-schedule li p{margin:0;color:#4f5864;font-size:.83rem;line-height:1.45}
.quote-payment-schedule li b{color:#242a31}
.supplier-shipping-note{margin:12px 0 0;padding:11px 13px;border-left:4px solid #1769aa;border-radius:6px;background:#edf6fd;color:#3d4a57;font-size:.8rem;line-height:1.45}
@media(max-width:700px){
  .portal-section-summary{align-items:flex-start;padding:18px}
  .portal-section-summary>span:last-child{white-space:normal;text-align:right}
  .portal-section-content{padding:0 18px 20px}
  .financial-overview{grid-template-columns:1fr}
  .quote-total-grid{grid-template-columns:1fr}
  .customer-record-grid{grid-template-columns:1fr;gap:3px;padding:14px}
  .customer-record-grid dd{margin-bottom:8px}
  .customer-quality-checks article{align-items:flex-start}
  .quote-price-breakdown{grid-template-columns:1fr 1fr}
  .quote-price-breakdown .quote-combined-total{grid-column:1/-1}
  .quote-payment-schedule ol{grid-template-columns:1fr}
}
@media(max-width:560px){
  .quote-price-breakdown{grid-template-columns:1fr}
  .quote-price-breakdown .quote-combined-total{grid-column:auto}
}

/* Always-visible transparent quote pricing */
.quote-total-card[open]{border:2px solid #8fc5a3;box-shadow:0 12px 34px rgba(20,105,59,.1)}
.quote-total-card[open] .money-summary{border-bottom:1px solid #cde2d4}
.quote-transparency-note{margin:16px 0 13px;padding:11px 13px;border-left:4px solid #176b3a;border-radius:7px;background:#eef9f2;color:#31523f;font-size:.84rem;line-height:1.48}
.quote-total-grid>div{border:1px solid #dce6df;background:#fff}
.quote-total-grid>div:nth-child(1){border-left:4px solid #1769aa}
.quote-total-grid>div:nth-child(2){border-left:4px solid #d88908}
.quote-history-entry{padding:15px!important;border:1px solid #e0e5e2!important;border-radius:11px;background:#fff}
.quote-history-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}
.quote-history-prices span{padding:9px 10px;border-radius:8px;background:#f4f7f5}
.quote-history-prices small,.quote-history-prices b{display:block}
.quote-history-prices small{margin:0;color:#69736d;font-size:.66rem;font-weight:900;text-transform:uppercase}
.quote-history-prices b{margin-top:3px;color:#202a24}
.quote-history-prices span:last-child{background:#e9f7ee}.quote-history-prices span:last-child b{color:#08733d}
.quote-history-status{display:block;color:#65706a}
.square-quote-context{display:grid;gap:3px;margin:11px 0;padding:11px 12px;border-left:4px solid #176b3a;border-radius:7px;background:#eef9f2}
.square-quote-context b{color:#176b3a;font-size:.72rem;text-transform:uppercase}.square-quote-context span{color:#33483b;font-size:.82rem;font-weight:750}
@media(max-width:540px){.quote-history-prices{grid-template-columns:1fr}.quote-total-card .money-summary{align-items:flex-start;flex-direction:column}.quote-total-card .money-summary>strong{margin-top:8px}}

/* Customer signature choice and touchscreen signature pad */
.signature-choice{
  margin:18px 0;
  padding:18px;
  border:1px solid #d9dde3;
  border-radius:14px;
  background:#fff;
}
.signature-choice legend{padding:0 7px;color:#252b33;font-weight:900}
.signature-device-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.signature-device-options label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  padding:13px;
  border:1px solid #dfe2e7;
  border-radius:11px;
  background:#f8f9fa;
  cursor:pointer;
}
.signature-device-options input{flex:0 0 auto;width:20px;height:20px;min-height:0;margin:2px 0 0}
.signature-device-options strong,.signature-device-options small{display:block}
.signature-device-options small{margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.35}
.drawn-signature{margin-top:16px}
.drawn-signature canvas{
  display:block;
  width:100%;
  height:clamp(150px,26vw,220px);
  margin:7px 0 10px;
  border:2px solid #2e333a;
  border-radius:10px;
  background:#fff;
  box-shadow:inset 0 1px 4px rgba(0,0,0,.06);
  touch-action:none;
  cursor:crosshair;
}
.clear-signature{width:auto;min-height:40px;padding:9px 14px}
.typed-signature-note{margin-top:14px;padding:12px 14px;border-left:4px solid #1769aa;border-radius:7px;background:#edf6fd;color:#334a5d;font-size:.86rem;font-weight:700}
.signature-consent{margin:18px 0;padding:15px 17px;border-left:4px solid var(--red);border-radius:8px;background:#fff5f6;color:#3d2226;line-height:1.55}
.signature-consent strong{display:block;margin-bottom:3px;color:#8f1f2d}
@media(max-width:620px){.signature-device-options{grid-template-columns:1fr}.signature-choice{padding:15px}}

/* Elder-friendly request lookup and always-visible progress */
body{font-size:18px}
.lookup-card .lead{max-width:700px;color:#414853;font-size:1.08rem;line-height:1.55}
.lookup-card form{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}
.lookup-card input{min-height:62px;padding:15px 17px;font-size:1.15rem}
.lookup-card .help{font-size:.95rem;line-height:1.5}
#lookup-button{min-height:62px;min-width:220px;font-size:1.04rem}
.repair-choice{padding:18px}
.repair-choice label{font-size:1rem}
.repair-choice select{min-height:58px;font-size:1.05rem}

.always-open-timeline{
  padding:25px 27px;
  border:2px solid #b9d5ea;
  background:linear-gradient(145deg,#f6fbff,#fff);
  box-shadow:0 12px 34px rgba(23,105,170,.1);
}
.timeline-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.timeline-topline h2{margin-bottom:0}
#timeline-progress-text{flex:0 0 auto;border-radius:999px;background:#e5f1fb;color:#155b96;padding:8px 13px;font-size:.88rem}
.current-progress-step{margin-top:18px;padding:17px 19px;border-left:6px solid var(--brand);border-radius:12px;background:#fff1f3}
.current-progress-step span,.current-progress-step strong{display:block}
.current-progress-step span{color:#7b3038;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.current-progress-step strong{margin-top:3px;color:#751722;font-size:clamp(1.25rem,4vw,1.65rem);line-height:1.25}
.timeline-meter{height:13px;margin:17px 0 7px;overflow:hidden;border-radius:999px;background:#dce4eb;box-shadow:inset 0 1px 3px rgba(0,0,0,.08)}
.timeline-meter span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#318b5a,#47aa72);transition:width .35s ease}
.always-open-timeline .customer-timeline{margin-top:17px}
.always-open-timeline .timeline-step{font-size:.78rem}
.always-open-timeline .timeline-step strong{line-height:1.25}
.important-update p{font-size:1.12rem;line-height:1.55}
.status-card #refresh-status{min-height:56px;font-size:1rem}

@media(max-width:700px){
  body{font-size:17px}
  .lookup-card form{grid-template-columns:1fr}
  .lookup-card label,.lookup-card .help{grid-column:1}
  .lookup-card .help{grid-row:auto}
  #lookup-button{width:100%;min-width:0;margin-top:3px}
  .always-open-timeline{padding:21px 18px}
  .timeline-topline{align-items:flex-start}
  #timeline-progress-text{font-size:.78rem}
  .always-open-timeline .customer-timeline{
    display:grid;
    grid-auto-flow:row;
    grid-auto-columns:unset;
    grid-template-columns:1fr;
    gap:0;
    overflow:visible;
    padding:3px 0 0;
  }
  .always-open-timeline .timeline-step{
    display:grid;
    grid-template-columns:42px 1fr;
    align-items:center;
    justify-items:start;
    gap:12px;
    min-width:0;
    min-height:54px;
    color:#747c87;
    text-align:left;
    font-size:.95rem;
  }
  .always-open-timeline .timeline-step:before{
    top:-18px;
    right:auto;
    bottom:50%;
    left:14px;
    width:4px;
    height:auto;
  }
  .always-open-timeline .timeline-step span{grid-column:1;grid-row:1;width:32px;height:32px}
  .always-open-timeline .timeline-step strong{grid-column:2;grid-row:1;font-size:1rem}
  .always-open-timeline .timeline-current strong{color:#8b1926;font-size:1.08rem}
  .status-heading{display:grid;grid-template-columns:1fr}
  .badge{width:max-content;font-size:.92rem}
}

/* Dedicated tracking, verified timing, and digital repair photos v48 */
#tracking{display:none!important}
.parts-tracking-card{border:2px solid #b8d3e8;border-left:7px solid #1769aa;background:linear-gradient(145deg,#f4f9fd,#fff)}
.appointment-arrival-card{border:2px solid #b8d3e8;border-left:7px solid #1769aa;background:linear-gradient(145deg,#f3f9fd,#fff)}.appointment-arrival-card h2{margin:5px 0 13px}.arrival-address{margin:0 0 14px;padding:16px 18px;border:1px solid #c8dae8;border-radius:12px;background:#fff;font-size:1.06rem;line-height:1.55}.appointment-arrival-card .tracking-button{display:inline-block;width:auto}
.tracking-card-heading,.repair-photos-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.tracking-card-heading h2,.repair-photos-heading h2{margin:4px 0 0}
.tracking-card-heading>strong{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#dfedf8;color:#145b91;font-size:.82rem}
.tracking-shipment-details{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:end;gap:10px;margin-top:16px;padding:16px;border:1px solid #d2e1ec;border-radius:12px;background:#fff}
.tracking-shipment-details>div{min-width:0;padding:10px 12px;border-radius:9px;background:#f4f8fb}
.tracking-shipment-details span,.tracking-shipment-details strong{display:block}.tracking-shipment-details span{color:#64717e;font-size:.7rem;font-weight:900;text-transform:uppercase}.tracking-shipment-details strong{margin-top:4px;overflow-wrap:anywhere}
.customer-timed-stages{display:grid;gap:8px}.customer-timed-stages article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #dce5df;border-radius:10px;background:#fafcfb}.customer-timed-stages strong,.customer-timed-stages small{display:block}.customer-timed-stages small{margin-top:3px;color:#6b7770}.customer-timed-stages b{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#e8f5ec;color:#17663d;font-size:.82rem}
.repair-photos-card{border-top:5px solid #17663d}.repair-photos-heading{align-items:center}.repair-photos-heading .tracking-button{width:auto}.customer-repair-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-top:17px}.customer-repair-photos article{overflow:hidden;border:1px solid #dbe3de;border-radius:13px;background:#fff;box-shadow:0 7px 22px rgba(20,35,26,.06)}.customer-repair-photos article>a:first-child{display:block;background:#eef2ef}.customer-repair-photos img{display:block;width:100%;height:190px;object-fit:cover}.customer-repair-photos article>div{display:grid;gap:8px;padding:12px}.customer-repair-photos article strong{font-size:.82rem}.photo-download-link{color:#1769aa;font-size:.8rem;font-weight:900}
@media(max-width:700px){.tracking-card-heading,.repair-photos-heading{align-items:stretch;flex-direction:column}.tracking-card-heading>strong{width:max-content}.tracking-shipment-details{grid-template-columns:1fr}.repair-photos-heading .tracking-button,.appointment-arrival-card .tracking-button{width:100%}.customer-timed-stages article{align-items:flex-start}.customer-repair-photos{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.customer-repair-photos{grid-template-columns:1fr}.customer-repair-photos img{height:230px}}

/* Customer action, quality explanation, and consent-based device helper v54 */
.action-needed-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 25px;border:2px solid #bee0ca;background:linear-gradient(145deg,#f2fbf5,#fff)}
.action-needed-card.needs-action{border-color:#e6bd70;background:linear-gradient(145deg,#fff8e9,#fff)}
.action-needed-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#dff3e6;color:#12683c;font-size:1.25rem;font-weight:950}
.needs-action .action-needed-icon{background:#fff0ce;color:#8a5207}.needs-action .action-needed-icon:before{content:"!"}.needs-action .action-needed-icon{font-size:0}.needs-action .action-needed-icon:before{font-size:1.35rem}
.action-needed-copy h2{margin:3px 0 5px}.action-needed-copy p{margin:0;color:var(--muted)}
.action-needed-link{min-width:170px;padding:13px 17px;border-radius:12px;background:linear-gradient(135deg,#b61c2c,var(--brand));color:#fff;text-align:center;text-decoration:none;font-weight:900;box-shadow:0 8px 20px rgba(197,33,50,.18)}
.quality-record-explainer{margin:19px 0 8px;padding:20px;border:1px solid #c8ddec;border-radius:14px;background:linear-gradient(145deg,#f2f8fd,#fff)}
.quality-record-explainer>strong{display:block;color:#174f85;font-size:1.08rem}.quality-record-explainer p{margin:7px 0 14px;color:#52606d;font-size:.88rem}
.quality-record-explainer>div{display:flex;flex-wrap:wrap;gap:7px}.quality-record-explainer span{padding:6px 9px;border-radius:999px;background:#e7f4eb;color:#17663d;font-size:.72rem;font-weight:850}
.device-helper-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px;padding:17px 18px;border:1px solid #c9dff0;border-radius:14px;background:linear-gradient(145deg,#f3f8fd,#fff)}
.device-helper-card strong,.device-helper-card span{display:block}.device-helper-card strong{color:#174f85}.device-helper-card span{margin-top:3px;color:var(--muted);font-size:.82rem}
.device-helper-card .device-helper-button{flex:0 0 auto;width:auto;min-height:46px;margin:0;background:#174f85;color:#fff;box-shadow:none}
.device-helper-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100vh - 24px);padding:0;border:0;border-radius:22px;background:transparent;overflow:auto}
.device-helper-dialog::backdrop{background:rgba(10,13,18,.7);backdrop-filter:blur(5px)}
.device-helper-dialog-card{padding:clamp(23px,5vw,35px);border:1px solid #e0e3e7;border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.35)}
.device-helper-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.device-helper-heading h2{margin:4px 0 0}
.device-helper-close{flex:0 0 auto;width:42px;min-height:42px;margin:0;padding:0;border-radius:50%;background:#eef0f3;color:#252a31;font-size:1.45rem;box-shadow:none}
.device-helper-dialog-card>p{color:var(--muted);font-size:.9rem}
.device-detection-status{margin:16px 0;padding:13px 15px;border-left:5px solid #1769aa;border-radius:10px;background:#f1f7fc;color:#24445e;font-weight:750}
.portal-trust-card{margin:18px 0 22px;padding:20px;border:1px solid #cfe1d6;border-radius:16px;background:linear-gradient(145deg,#f8fffa,#eff8f2);box-shadow:0 10px 28px rgba(25,76,48,.06)}
.portal-trust-heading{display:flex;align-items:center;gap:13px}
.portal-trust-heading>span{display:grid;flex:0 0 42px;height:42px;place-items:center;border-radius:50%;color:#fff;background:#176b3a;font-size:1.2rem;font-weight:900}
.portal-trust-heading strong,.portal-trust-heading small{display:block}.portal-trust-heading strong{color:#173d2a;font-size:1.02rem}.portal-trust-heading small{margin-top:3px;color:#5a6e61}
.portal-trust-card ul{display:grid;gap:8px;margin:17px 0;padding-left:20px;color:#32493b;font-size:.9rem}
.portal-trust-card details{padding-top:13px;border-top:1px solid #cfe1d6}
.portal-trust-card summary{cursor:pointer;color:#174f30;font-weight:850}.portal-trust-card details p{margin:11px 0 0;color:#44594b;font-size:.88rem}.portal-trust-card a{color:#125b31;font-weight:850}
.device-detection-results{display:grid;grid-template-columns:170px 1fr;gap:7px 14px;margin:16px 0;padding:17px;border:1px solid #e0e4e8;border-radius:12px;background:#fafbfc}.device-detection-results dt{font-size:.82rem}.device-detection-results dd{font-size:.88rem}
.device-helper-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.device-helper-actions button{margin:0}.device-helper-actions #cancel-device-helper{grid-column:1/-1}
@media(max-width:700px){.action-needed-card{grid-template-columns:auto 1fr}.action-needed-link{grid-column:1/-1;width:100%}.device-helper-card{align-items:stretch;flex-direction:column}.device-helper-card .device-helper-button{width:100%}.device-detection-results{grid-template-columns:1fr}.device-detection-results dd{margin-bottom:7px}.device-helper-actions{grid-template-columns:1fr}.device-helper-actions #cancel-device-helper{grid-column:1}}

/* Residential and small-business computer intake */
.computer-intake{margin-top:8px;padding:20px;border:1px solid #bfd7e8;border-radius:15px;background:linear-gradient(145deg,#f2f8fd,#fff)}
.computer-intake-heading span{color:#1769aa;font-size:.72rem;font-weight:950;letter-spacing:.13em}.computer-intake-heading h3{margin:4px 0 10px;font-size:1.18rem}
.business-computer-fields{margin-top:14px;padding-top:8px;border-top:1px solid #d6e4ee}.business-computer-fields label{margin-top:12px}

/* Live technician arrival tracking */
.live-arrival-card{border:2px solid #b8d3e8;border-left:7px solid #1769aa;background:linear-gradient(145deg,#f2f8fd,#fff)}
.live-arrival-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.live-arrival-heading h2{margin:4px 0 0}.live-signal{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#e7edf2;color:#42515e;font-size:.78rem}.live-signal-live{background:#dff3e6;color:#12683c}.live-signal-delayed{background:#fff0ce;color:#8a5207}.live-signal-lost{background:#f9dfe3;color:#891d2a}
.live-arrival-map{height:360px;margin:16px 0;overflow:hidden;border:1px solid #c8d9e6;border-radius:15px;background:#e8eef2}.live-arrival-details{display:grid;grid-template-columns:1fr 1fr;gap:10px}.live-arrival-details>div{padding:13px 15px;border-radius:11px;background:#fff}.live-arrival-details span,.live-arrival-details strong{display:block}.live-arrival-details span{color:#66727d;font-size:.72rem;font-weight:900;text-transform:uppercase}.live-arrival-details strong{margin-top:4px}
@media(max-width:700px){.live-arrival-heading{flex-direction:column}.live-arrival-map{height:310px}.live-arrival-details{grid-template-columns:1fr}}

/* Senior-friendly portal controls and simplified first screen v59 */
.skip-link{position:fixed;z-index:2000;top:8px;left:8px;transform:translateY(-150%);padding:13px 17px;border-radius:10px;background:#fff;color:#111;font-weight:900;box-shadow:0 8px 25px rgba(0,0,0,.25)}
.skip-link:focus{transform:translateY(0)}
.accessibility-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(920px,calc(100% - 28px));margin:18px auto 0;padding:14px 16px;border:2px solid #222831;border-radius:14px;background:#fff}
.accessibility-bar strong,.accessibility-bar span{display:block}.accessibility-bar strong{font-size:1rem}.accessibility-bar span{margin-top:2px;color:#535b66;font-size:.85rem}
.accessibility-bar button{flex:0 0 auto;width:auto;min-height:50px;margin:0;padding:11px 17px;border:2px solid #17191d;background:#fff;color:#17191d;box-shadow:none;font-weight:900}
.accessibility-bar button[aria-pressed="true"]{border-color:#851622;background:#851622;color:#fff}
.customer-portal-nav a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;font-size:1rem}
.customer-portal-nav a>span{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border:2px solid currentColor;border-radius:50%;font-size:.78rem}
.senior-welcome{padding:clamp(22px,5vw,34px);border:2px solid #c7d9e8;border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.welcome-eyebrow{color:#8b1926;font-size:.8rem;font-weight:950;letter-spacing:.13em}
.senior-welcome h1{max-width:690px;margin:.35rem 0 1.25rem;font-size:clamp(1.8rem,5vw,2.55rem)}
.senior-welcome ol{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none;counter-reset:senior-steps}
.senior-welcome li{position:relative;min-height:145px;padding:53px 17px 17px;border:1px solid #d9dee4;border-radius:15px;background:#f7f9fb;counter-increment:senior-steps}
.senior-welcome li:before{position:absolute;top:14px;left:17px;display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#1769aa;color:#fff;content:counter(senior-steps);font-weight:950}
.senior-welcome li strong,.senior-welcome li span{display:block}.senior-welcome li strong{font-size:1.03rem;line-height:1.3}.senior-welcome li span{margin-top:6px;color:#505965;font-size:.9rem;line-height:1.45}
.senior-welcome>p{margin:18px 0 0;padding-top:16px;border-top:1px solid #d9dee4;color:#39414b;font-weight:750}.senior-welcome a{color:#075da3;font-size:1.08em;font-weight:950}
button,a,input,select,textarea,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:4px solid #f1b82d;outline-offset:3px}
input,select,textarea{border-width:2px;border-color:#7c838d}
button,.tracking-button,.action-needed-link{min-height:52px}
.alert{font-size:1rem;line-height:1.55}

body.extra-large-text{font-size:21px;line-height:1.65}
.extra-large-text main{width:min(980px,calc(100% - 24px))}
.extra-large-text .customer-portal-nav a{min-height:68px;font-size:1.08rem}
.extra-large-text .business-hours-card p,.extra-large-text .portal-trust-card ul,.extra-large-text .portal-trust-card details p,.extra-large-text .help,.extra-large-text .section-copy{font-size:1rem}
.extra-large-text input,.extra-large-text select,.extra-large-text textarea{min-height:62px;font-size:1.08rem}
.extra-large-text button,.extra-large-text .tracking-button,.extra-large-text .action-needed-link{min-height:60px;font-size:1.04rem}
.extra-large-text .step{font-size:.82rem}

@media(max-width:760px){
  .accessibility-bar{align-items:stretch;flex-direction:column}.accessibility-bar button{width:100%}
  .senior-welcome ol{grid-template-columns:1fr}.senior-welcome li{min-height:0;padding:17px 17px 17px 62px}.senior-welcome li:before{top:18px}
}
@media(max-width:700px){
  .customer-portal-nav{position:static;grid-template-columns:1fr;padding:8px}.customer-portal-nav a{justify-content:flex-start;padding:11px 14px;text-align:left}
  .business-hours-card{font-size:1rem}.portal-trust-card{font-size:1rem}
  .lookup-card{padding:25px 20px}.lookup-card h1{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.secure-portal-note{display:flex;gap:.75rem;align-items:flex-start;margin:1rem 0;padding:1rem;border:1px solid #b9ddca;border-radius:14px;background:#f0faf5;color:#173c2b}.secure-portal-note strong{flex:0 0 auto}.secure-portal-note span{line-height:1.45}@media(max-width:600px){.secure-portal-note{flex-direction:column}}
