/* Short, purposeful motion. No sound, looping decoration or layout shifts. */
@keyframes workspace-enter{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
 :root:not([data-motion=off]) #main>*, :root:not([data-motion=off]) .estimate-stage:not([hidden]){animation:workspace-enter .22s ease-out both}
 :root:not([data-motion=off]) dialog[open]{animation:workspace-enter .18s ease-out}
 :root:not([data-motion=off]) #toast:not([hidden]){animation:workspace-enter .18s ease-out}
 :root:not([data-motion=off]) button,:root:not([data-motion=off]) .button{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}
 :root:not([data-motion=off]) button:active:not(:disabled){transform:translateY(1px)}
 :root:not([data-motion=off]) .estimate-track span{transition:width .24s ease}
}
@media(hover:hover){.home-stat:hover,.business-pulse-grid button:hover,.business-profile-stats button:hover{box-shadow:0 5px 18px #173d3310;border-color:var(--green)}.primary:hover:not(:disabled){box-shadow:0 4px 14px #173d3326}}
button:focus-visible,.button:focus-visible,summary:focus-visible{outline:3px solid var(--green,#23675b);outline-offset:3px}
.business-profile{position:relative;border-top:3px solid var(--green)!important}
.business-profile-badges .business-badge-list>span{background:linear-gradient(120deg,#f2f7f4,#fff);border:1px solid #d7e7de;box-shadow:0 2px 5px #16372c08}
.estimate-track{height:5px;border-radius:8px;background:#dfe8e4;overflow:hidden;margin-top:16px}.estimate-track span{height:100%;display:block;background:var(--green,#23675b);border-radius:inherit}
#interface-panel{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #d8e3df;border-radius:20px;color:#19332d;background:#fff}#interface-panel::backdrop{background:#102b2566}#interface-panel h2{font-size:1.6rem;margin:20px 0 10px}#interface-panel p{line-height:1.6}#interface-panel label{display:grid;gap:10px;margin:24px 0 8px}#interface-panel hr{border:0;border-top:1px solid #e1e9e5;margin:24px 0}.break-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.break-heading button{width:44px;height:44px;padding:0;font-size:24px}.pair-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.pair-board button{min-width:0;min-height:100px;padding:10px 4px;background:#193c33;color:white;border:2px solid transparent;border-radius:12px;display:grid;place-content:center;gap:8px}.pair-board button span{font-size:28px}.pair-board button b{font-size:12px}.pair-board .revealed{background:#f0f6f2;color:#193c33;border-color:#719c8b}.pair-board [data-matched]{background:#e4efe8;border-color:#23675b}.pair-score{font-weight:600;font-variant-numeric:tabular-nums}#interface-panel .actions{display:flex;flex-wrap:wrap;gap:10px}#interface-panel .hint{font-size:13px;color:#52665e}#interface-panel summary{cursor:pointer;padding:12px 0;min-height:44px}#interface-panel button{min-height:44px}
@media(max-width:400px){.pair-board{gap:6px}.pair-board button{min-height:85px}#interface-panel{padding:18px}}
:root[data-motion=off] *, :root[data-motion=off] *::before,:root[data-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{#interface-panel{display:none!important}}
/* Visible, direct navigation replaces a tucked-away step picker. */
.estimate-navigation{max-width:none}.estimate-step-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 12px}.estimate-step-rail button{display:grid;justify-items:start;gap:10px;text-align:left;padding:14px 12px;border:1px solid #dbe5e0;border-radius:12px;background:#fff;min-width:0;color:var(--page-text,#193c33)}.estimate-step-rail button span{width:28px;height:28px;display:grid;place-content:center;border-radius:50%;background:#edf3ef;font-size:13px}.estimate-step-rail button b{font-size:12px;line-height:1.4}.estimate-step-rail [aria-current=step]{background:var(--green,#23675b);color:var(--button-text,#fff);box-shadow:0 5px 15px #173d3320}.estimate-step-rail [aria-current=step] span{background:#ffffff24;color:inherit}.estimate-step-rail [data-passed=true]:not([aria-current]) span{background:#d9ecdf;color:#215b43}.estimate-navigation>label{display:none}.estimate-track{height:7px}.primary,.business-profile-stats button,.business-pulse-grid button,.home-stat{position:relative;overflow:hidden}.tap-wave{pointer-events:none;position:absolute;width:160px;height:160px;margin:-80px;border-radius:50%;background:currentColor;opacity:0;animation:tap-wave .55s ease-out!important}.business-profile-stats button:hover strong,.business-pulse-grid button:hover b{color:var(--green,#23675b)}
@keyframes tap-wave{0%{transform:scale(0);opacity:.15}100%{transform:scale(2.5);opacity:0}}
@keyframes card-arrive{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){:root:not([data-motion=off]) .business-profile{animation:card-arrive .48s cubic-bezier(.2,.8,.2,1) both}:root:not([data-motion=off]) .business-profile-stats>button{animation:card-arrive .45s ease-out both}:root:not([data-motion=off]) .business-profile-stats>button:nth-child(2){animation-delay:.08s}:root:not([data-motion=off]) .business-profile-stats>button:nth-child(3){animation-delay:.16s}:root:not([data-motion=off]) .estimate-stage:not([hidden]){animation:card-arrive .32s ease-out both}:root:not([data-motion=off]) .estimate-step-rail button{transition:background .2s,color .2s,box-shadow .2s,transform .2s}}
@media(hover:hover){.estimate-step-rail button:hover{transform:translateY(-3px);box-shadow:0 6px 15px #173d3318}}
@media(max-width:680px){.estimate-step-rail{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 2px 10px;gap:8px}.estimate-step-rail button{min-width:112px;flex:1 0 112px;scroll-snap-align:start;min-height:90px}.estimate-navigation>label{display:grid}.top-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.top-actions #workspace-display{font-size:12px}}
:root[data-motion=off] .tap-wave{display:none!important}
@media(prefers-reduced-motion:reduce){.tap-wave{display:none!important}.estimate-step-rail button:hover{transform:none!important}}
:root[data-motion=off] .estimate-step-rail button:hover{transform:none!important}
@media(prefers-reduced-motion:no-preference){:root:not([data-motion=off]) .appointment-card{animation:card-arrive .3s ease-out both}:root:not([data-motion=off]) .appointment-card:nth-child(2){animation-delay:.05s}:root:not([data-motion=off]) .appointment-card:nth-child(3){animation-delay:.1s}:root:not([data-motion=off]) .month-calendar button{transition:background-color .15s ease,box-shadow .15s ease}}
@media(hover:hover){.appointment-card:hover{box-shadow:0 6px 18px #173d3314}.month-calendar button:hover{box-shadow:inset 0 0 0 2px var(--green,#23675b)}}
