.modal-body{padding:var(--space-lg);color:var(--text-primary)}.modal-actions{gap:var(--space-md);padding:var(--space-lg);border-top:1px solid var(--border-color);justify-content:flex-end;display:flex}.checkout-form{flex-direction:column;gap:1rem;display:flex}.checkout-error{background:var(--danger-bg);border:1px solid var(--danger-accent);color:var(--danger-hover);border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.checkout-3ds-info{background:var(--info-bg,#1f99b514);border:1px solid var(--info-border,#1f99b533);color:var(--text-secondary);border-radius:8px;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;font-size:.8125rem;line-height:1.4;display:flex}.checkout-3ds-info svg{color:var(--primary-color);flex-shrink:0;margin-top:2px}.checkout-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.checkout-cancel-btn{border:1px solid var(--gray-300);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:8px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s}.checkout-cancel-btn:hover:not(:disabled){background:var(--gray-100)}.checkout-submit-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-width:160px;padding:.625rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .15s;display:flex}.checkout-submit-btn:hover:not(:disabled){background:var(--primary-hover)}.checkout-submit-btn:disabled{opacity:.6;cursor:not-allowed}.checkout-secure-note{color:var(--text-muted);align-items:center;gap:.375rem;margin:0;font-size:.75rem;display:flex}@media (width<=480px){.checkout-actions{flex-direction:column-reverse}.checkout-cancel-btn,.checkout-submit-btn{justify-content:center;width:100%;min-width:auto}}.timeline-horizontal-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding:.375rem 0;overflow-x:auto}.timeline-horizontal-wrapper::-webkit-scrollbar{display:none}.timeline-horizontal{align-items:flex-start;min-width:max-content;padding:0 .125rem;display:flex}.timeline-step{flex-direction:column;align-items:center;min-width:60px;display:flex;position:relative}.timeline-step-icon{background:var(--bg-secondary,#f5f5f7);border:2px solid var(--border-color,#e0e0e0);width:30px;height:30px;color:var(--text-muted,#999);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.32,.72,0,1);display:flex}.timeline-step-completed .timeline-step-icon{background:var(--success-color,#10b981);border-color:var(--success-color,#10b981);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--success-color,#10b981) 15%, transparent)}.timeline-step-current .timeline-step-icon{background:var(--primary-color,#1f99b5);border-color:var(--primary-color,#1f99b5);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color,#1f99b5) 20%, transparent);animation:2.5s ease-in-out infinite timeline-pulse}.timeline-step-cancelled .timeline-step-icon{background:var(--danger-color,#ef4444);border-color:var(--danger-color,#ef4444);color:#fff}@keyframes timeline-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color,#1f99b5) 20%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--primary-color,#1f99b5) 8%, transparent)}}.timeline-step-content{text-align:center;flex-direction:column;align-items:center;gap:.05rem;margin-top:.375rem;display:flex}.timeline-step-label{color:var(--text-secondary,#666);white-space:nowrap;letter-spacing:.01em;font-size:.7rem;font-weight:600}.timeline-step-completed .timeline-step-label{color:var(--success-color,#10b981)}.timeline-step-current .timeline-step-label{color:var(--primary-color,#1f99b5);font-weight:700}.timeline-step-cancelled .timeline-step-label{color:var(--danger-color,#ef4444)}.timeline-date{color:var(--text-muted,#999);font-size:.65rem;font-weight:500}.timeline-date--pending{color:var(--border-color,#ddd)}.timeline-connector{background:var(--border-color,#e0e0e0);border-radius:1px;flex:1;align-self:flex-start;min-width:18px;height:2px;margin-top:14px;position:relative;overflow:hidden}.timeline-connector-fill{background:var(--success-color,#10b981);transform-origin:0;transition:transform .4s cubic-bezier(.32,.72,0,1);position:absolute;inset:0;transform:scaleX(0)}.timeline-connector-completed .timeline-connector-fill{transform:scaleX(1)}@media (width<=480px){.timeline-step{min-width:52px}.timeline-step-icon{width:26px;height:26px}.timeline-step-icon svg{width:12px;height:12px}.timeline-connector{min-width:12px;margin-top:12px}}.modal-close{font-size:var(--text-2xl);cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:.25rem;line-height:1}.modal-close:hover{color:var(--text-primary)}.btn-with-loader{align-items:center;gap:.5rem;display:inline-flex}.refund-modal-overlay{z-index:var(--z-modal);background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.refund-modal{background:var(--surface);border-radius:var(--radius-lg,.75rem);flex-direction:column;width:100%;max-width:500px;max-height:90dvh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-header h2{font-size:var(--text-xl);color:var(--yale-blue,#0d3b66);align-items:center;gap:.75rem;margin:0;display:flex}.modal-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm,.25rem);background:0 0;border:none;padding:.25rem;transition:all .2s}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.loading-state,.success-state{text-align:center;padding:2rem 1rem}.loading-state p{color:var(--text-secondary);margin-top:1rem}.success-icon{color:var(--success-color);margin-bottom:1rem}.success-state h3{color:var(--text-primary);margin-bottom:.5rem}.success-state p{color:var(--text-secondary);margin-bottom:1.5rem}.success-details{background:var(--bg-secondary);border-radius:var(--radius-md,.5rem);margin-bottom:1.5rem;padding:1rem}.success-details .detail-row{justify-content:space-between;padding:.5rem 0;display:flex}.success-details code{background:var(--border-color);font-size:var(--text-sm);border-radius:.25rem;padding:.25rem .5rem}.job-info-card{background:var(--bg-secondary);border-radius:var(--radius-md,.5rem);margin-bottom:1rem;padding:1rem}.job-info-card h4{color:var(--text-primary);margin:0 0 .5rem}.scheduled-date,.deposit-info{color:var(--text-secondary);font-size:var(--text-sm);align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.eligibility-card{border-radius:var(--radius-md,.5rem);border:2px solid;margin-bottom:1rem;padding:1.25rem}.eligibility-card.tier-full{background:var(--success-bg-light)}.eligibility-card.tier-partial{background:var(--warning-bg)}.eligibility-card.tier-none{background:var(--danger-bg)}.eligibility-header{gap:1rem;margin-bottom:1rem;display:flex}.tier-icon-full{color:var(--success-color)}.tier-icon-partial{color:var(--warning-color)}.tier-icon-none{color:var(--danger-color)}.eligibility-header h3{font-size:var(--text-lg);color:var(--text-primary);margin:0}.eligibility-reason{font-size:var(--text-sm);color:var(--text-secondary);margin:.25rem 0 0}.time-remaining{font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.refund-breakdown{flex-direction:column;gap:.5rem;display:flex}.breakdown-row{font-size:var(--text-md);justify-content:space-between;display:flex}.breakdown-row.total{font-weight:700;font-size:var(--text-lg);border-top:1px dashed var(--border-color);padding-top:.5rem}.policy-reminder{background:var(--info-bg);border-radius:var(--radius-sm,.25rem);gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.policy-reminder svg{color:var(--cool-sky);flex-shrink:0;margin-top:.125rem}.policy-reminder p{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.policy-reminder a{color:var(--cool-sky);font-weight:500}.reason-section{margin-bottom:1rem}.reason-section label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.reason-section textarea{border:1px solid var(--border-color);border-radius:var(--radius-md,.5rem);width:100%;font-family:inherit;font-size:var(--text-md);resize:vertical;padding:.75rem}.reason-section textarea:focus{border-color:var(--cool-sky);outline:none;box-shadow:0 0 0 3px #4bb3fd1a}.warning-banner{border-radius:var(--radius-md,.5rem);gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.warning-banner.partial{background:var(--warning-bg);border:1px solid var(--warning-color)}.warning-banner.partial svg{color:var(--warning-color)}.warning-banner.none{background:var(--danger-bg);border:1px solid var(--danger-color)}.warning-banner.none svg{color:var(--danger-color)}.warning-banner p{font-size:var(--text-sm);color:var(--text-primary);margin:0}.modal-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.btn-danger{background:var(--danger-hover);color:#fff;border-color:var(--danger-hover)}.btn-danger:hover:not(:disabled){background:var(--danger-text);border-color:var(--danger-text)}.btn-outline-danger{color:var(--danger-hover);border:2px solid var(--danger-hover);background:0 0}.btn-outline-danger:hover:not(:disabled){background:var(--danger-bg)}@media (width<=640px){.refund-modal-overlay{align-items:flex-end;padding:0}.refund-modal{border-radius:1rem 1rem 0 0;max-height:95vh}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.final-payment-loading{color:var(--text-muted);flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}.spin{animation:1s linear infinite spin}.final-payment-success{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.final-payment-success h3{color:var(--success-color);margin:0}.success-sub{font-size:.875rem;color:var(--text-muted)!important}.final-payment-error{text-align:center;color:var(--danger-hover);padding:2rem}.final-payment-error-actions{justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.final-payment{flex-direction:column;gap:1.5rem;display:flex}.final-summary,.final-review-card{background:var(--background);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem}.final-summary-title{align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1rem;font-weight:600;display:flex}.final-summary-job{color:var(--text-subdued);border:1px solid var(--border-color);background:#fff;border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.875rem}.final-summary-rows{flex-direction:column;gap:.5rem;display:flex}.final-row{color:var(--text-subdued);justify-content:space-between;font-size:.875rem;display:flex}.final-row.highlight{border-top:1px solid var(--border-color);color:var(--secondary-color);padding-top:.5rem;font-weight:600}.final-review-title{margin:0 0 .375rem;font-size:1rem;font-weight:600}.final-review-copy{color:var(--text-subdued);margin:0 0 1rem;font-size:.875rem}.final-evidence-panel{border:1px solid var(--border-color);background:#fff;border-radius:10px;padding:1rem}.final-evidence-panel+.final-evidence-panel{margin-top:.875rem}.final-evidence-heading{align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;display:flex}.final-provider-notes{color:var(--text-subdued);white-space:pre-wrap;margin:0;line-height:1.5}.final-evidence-group+.final-evidence-group{margin-top:1rem}.final-evidence-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-subdued);margin-bottom:.5rem;font-size:.8rem;font-weight:600}.final-evidence-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;display:grid}.final-evidence-image{aspect-ratio:1;object-fit:cover;border:1px solid var(--border-color);background:var(--background);border-radius:10px;width:100%}.final-evidence-empty{color:var(--text-subdued);border:1px dashed var(--border-color);background:#fff;border-radius:10px;padding:.875rem 1rem;font-size:.875rem}.final-consent-copy{color:var(--text-subdued);background:var(--background);border:1px solid var(--border-color);border-radius:12px;margin:0;padding:.875rem 1rem;font-size:.875rem;line-height:1.5}.final-payment-actions{justify-content:flex-end;gap:.75rem;display:flex}.text-success{color:var(--success-color)}@media (width<=640px){.final-payment-actions{flex-direction:column-reverse}.final-payment-actions .btn{width:100%}}.countdown-pill{border-radius:var(--radius-full,9999px);white-space:nowrap;background:color-mix(in srgb, var(--success-color,#10b981) 14%, transparent);color:var(--success-color,#10b981);border:1px solid color-mix(in srgb, var(--success-color,#10b981) 30%, transparent);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.countdown-pill__icon{flex-shrink:0}.countdown-pill__label{opacity:.85;font-weight:500}.countdown-pill__time{font-variant-numeric:tabular-nums;font-weight:700}.countdown-pill--safe{background:color-mix(in srgb, var(--success-color,#10b981) 14%, transparent);color:var(--success-color,#10b981);border-color:color-mix(in srgb, var(--success-color,#10b981) 30%, transparent)}.countdown-pill--warn{background:color-mix(in srgb, var(--warning-color,#f59e0b) 18%, transparent);color:var(--warning-hover,#d97706);border-color:color-mix(in srgb, var(--warning-color,#f59e0b) 40%, transparent)}.countdown-pill--urgent{background:color-mix(in srgb, var(--danger-color,#ef4444) 18%, transparent);color:var(--danger-color,#ef4444);border-color:color-mix(in srgb, var(--danger-color,#ef4444) 40%, transparent);animation:2.2s ease-in-out infinite countdown-pulse}.countdown-pill--expired{background:var(--surface-2,#f3f4f6);color:var(--text-tertiary,#9ca3af);border-color:var(--border-color,#e5e7eb)}.countdown-pill--compact{padding:2px 6px;font-size:10px}@keyframes countdown-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--danger-color,#ef4444) 35%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--danger-color,#ef4444) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.countdown-pill--urgent{animation:none}}.success-burst{pointer-events:none;z-index:9999;justify-content:center;align-items:center;animation:.9s ease-out both success-burst-fade;display:flex;position:fixed;inset:0}.success-burst__circle{background:linear-gradient(135deg, var(--success-accent,#22c55e) 0%, var(--success-color,#10b981) 100%);color:#fff;width:88px;height:88px;box-shadow:0 10px 30px color-mix(in srgb, var(--success-color,#10b981) 40%, transparent), 0 0 0 0 color-mix(in srgb, var(--success-color,#10b981) 60%, transparent);border-radius:50%;justify-content:center;align-items:center;animation:.9s cubic-bezier(.22,1,.36,1) both success-burst-pop,.9s ease-out both success-burst-ring;display:flex}.success-burst__icon{stroke-width:3px;transform-origin:50%;width:48px;height:48px;animation:.5s ease-out .12s both success-burst-check}@keyframes success-burst-fade{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes success-burst-pop{0%{transform:scale(.4)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes success-burst-ring{0%{box-shadow:0 10px 30px color-mix(in srgb, var(--success-color,#10b981) 40%, transparent), 0 0 0 0 color-mix(in srgb, var(--success-color,#10b981) 60%, transparent)}to{box-shadow:0 10px 30px color-mix(in srgb, var(--success-color,#10b981) 0%, transparent), 0 0 0 28px color-mix(in srgb, var(--success-color,#10b981) 0%, transparent)}}@keyframes success-burst-check{0%{opacity:0;transform:scale(0)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.success-burst,.success-burst__circle,.success-burst__icon{animation:none}}.job-drawer-backdrop{z-index:var(--z-drawer);pointer-events:none;transition:background var(--duration-fade,.2s) ease;background:0 0;position:fixed;inset:0}.job-drawer-backdrop.open{-webkit-backdrop-filter:blur(4px);pointer-events:auto;background:#00000059}.job-drawer{z-index:calc(var(--z-drawer) + 1);background:var(--surface);width:min(520px,40vw);min-width:400px;box-shadow:var(--elevation-3,0 12px 32px #0000001f);contain:content;transition:transform var(--duration-sheet,.36s) var(--ease-ios,cubic-bezier(.32, .72, 0, 1));flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.job-drawer.open{will-change:transform;transform:translate(0,0)}.job-drawer-swipe-handle{display:none}.job-drawer-header{background:var(--primary-color);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;min-height:56px;padding:1rem 1.25rem;display:flex}.job-drawer-header h2{font-size:var(--text-lg);color:#fff;margin:0;font-weight:600}.job-drawer-close{color:#fff;cursor:pointer;width:36px;min-width:36px;height:36px;transition:background var(--duration-micro,.15s) var(--ease-micro);background:#fff3;border:none;border-radius:10px;justify-content:center;align-items:center;display:flex}.job-drawer-close:hover{background:#ffffff59}.job-drawer-close:focus-visible{outline-offset:2px;outline:2px solid #fff}.job-drawer-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;padding:1rem;overflow:hidden auto}.job-drawer-body::-webkit-scrollbar{width:6px}.job-drawer-body::-webkit-scrollbar-track{background:0 0}.job-drawer-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.job-drawer-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.job-details-card{background:var(--surface);border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);border-radius:var(--radius-lg,.75rem);opacity:0;animation:job-card-enter var(--duration-modal,.28s) var(--ease-spring,cubic-bezier(.175, .885, .32, 1.275)) forwards;margin-bottom:1.25rem;animation-play-state:paused;overflow:hidden;transform:translateY(12px)}.job-drawer.open .job-details-card{animation-play-state:running}.job-details-card:first-child{animation-delay:.36s}.job-details-card:nth-child(2){animation-delay:.41s}.job-details-card:nth-child(3){animation-delay:.46s}.job-details-card:nth-child(4){animation-delay:.51s}.job-details-card:nth-child(5){animation-delay:.56s}.job-details-card:nth-child(6){animation-delay:.61s}.job-details-card:nth-child(7){animation-delay:.66s}.job-details-card:nth-child(8){animation-delay:.71s}@keyframes job-card-enter{to{opacity:1;transform:translateY(0)}}.job-drawer:not(.open) .job-details-card{animation:job-card-exit .18s var(--ease-ios,cubic-bezier(.32, .72, 0, 1)) forwards;animation-play-state:running}@keyframes job-card-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}.job-details-card-title{font-size:var(--text-sm);color:var(--text-secondary);text-transform:none;letter-spacing:normal;background:0 0;border-bottom:none;align-items:center;gap:.5rem;margin:0;padding:1rem 1.25rem 0 calc(1.25rem + 6px);font-weight:600;display:flex;position:relative}.job-details-card-title:before{content:"";background:var(--primary-color);border-radius:1px;width:2px;height:1rem;position:absolute;top:50%;left:1.25rem;transform:translateY(-50%)}.job-details-card-content{padding:1.125rem 1.25rem}.job-info-row{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:flex-start;padding:.5rem 0;display:flex}.job-info-row:last-child{border-bottom:none}.job-info-label{font-size:var(--text-sm);color:var(--text-secondary);flex-shrink:0}.job-info-value{font-size:var(--text-md);color:var(--text-primary);text-align:right;margin-left:1rem}.job-details-hero-card .job-details-card-content{padding:1.5rem 1.25rem}.job-hero-title{font-size:var(--text-2xl,1.5rem);color:var(--text-primary);font-weight:700;line-height:var(--leading-tight,1.25);margin:0}.job-hero-pills{flex-wrap:wrap;gap:.375rem;margin-top:1rem;display:flex}.job-hero-dates{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.job-hero-date{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:.375rem;display:inline-flex}.job-hero-date svg{color:var(--primary-color);flex-shrink:0}.job-hero-date--original{font-size:var(--text-xs);color:var(--text-muted);opacity:.7;text-decoration:line-through}.job-hero-description{font-size:var(--text-md);color:var(--text-primary);line-height:var(--leading-relaxed,1.625);margin:1.125rem 0 0}.job-info-pills{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.job-info-pill{background:var(--gray-100);font-size:var(--text-xs);color:var(--text-secondary);text-transform:capitalize;border-radius:2rem;align-items:center;padding:.3125rem .75rem;font-weight:600;display:inline-flex}.job-info-pill-status{background:var(--primary-color-light,#1f99b51a);color:var(--primary-color);font-weight:600}.job-info-pill-budget{background:var(--success-bg);color:var(--success-text);font-weight:600}.job-progress-stepper{justify-content:space-between;align-items:flex-start;display:flex;position:relative}.progress-step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.progress-step-indicator{background:var(--gray-100);border:2px solid var(--gray-200);z-index:1;width:30px;height:30px;transition:all var(--duration-modal,.28s) var(--ease-smooth,ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.progress-step-dot{background:var(--gray-400);border-radius:50%;width:6px;height:6px}.progress-step.current .progress-step-indicator{background:var(--primary-color);border-color:var(--primary-color);box-shadow:var(--primary-glow,0 0 0 3px #1f99b540);animation:2.5s ease-in-out infinite stepper-pulse}@keyframes stepper-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 20%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--primary-color) 8%, transparent)}}.progress-step.current .progress-step-dot{background:#fff}.progress-step.completed .progress-step-indicator{background:var(--success-color);border-color:var(--success-color);color:#fff;box-shadow:var(--success-glow,0 0 0 3px #10b98133)}.progress-step-label{font-size:var(--text-xs);color:var(--text-secondary);text-align:center;margin-top:.5rem}.progress-step.current .progress-step-label{color:var(--primary-color);font-weight:600}.progress-step.completed .progress-step-label{color:var(--success-color)}.progress-step-connector{background:var(--gray-200);width:calc(100% - 30px);height:2px;transition:background var(--duration-modal,.28s) var(--ease-smooth,ease);position:absolute;top:15px;left:calc(50% + 15px);overflow:hidden}.progress-step.completed .progress-step-connector{background:var(--success-color)}.job-details-provider-card,.job-details-customer-card{background:var(--gradient-subtle,var(--gray-50));border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);border-radius:var(--radius-lg,.75rem);align-items:flex-start;gap:1rem;padding:1.125rem;display:flex}.job-details-customer-card{align-items:center;margin-bottom:.75rem}.provider-card-avatar,.customer-card-avatar{width:52px;height:52px;font-weight:600;font-size:var(--text-xl);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.provider-card-avatar{background:var(--gradient-primary,var(--primary-color))}.customer-card-avatar{background:var(--gray-400)}.provider-card-info,.customer-card-info{flex:1;min-width:0}.provider-card-name-row{align-items:center;gap:.375rem;display:flex}.provider-card-name,.customer-card-name{color:var(--text-primary);font-weight:600;font-size:var(--text-base)}.provider-verified-badge{color:var(--primary-color)}.provider-card-rating{font-size:var(--text-sm);align-items:center;gap:.25rem;margin-top:.25rem;display:flex}.provider-card-rating .star-filled{color:var(--warning-color);fill:var(--warning-color)}.provider-review-count{color:var(--text-secondary);margin-left:.125rem}.contact-actions{gap:.5rem;margin-top:.875rem;display:flex}@keyframes taisio-pii-reveal{0%{opacity:0;filter:blur(4px);transform:translateY(6px)}60%{opacity:1;filter:blur()}to{opacity:1;filter:none;transform:none}}.contact-actions--reveal{animation:.52s cubic-bezier(.22,1,.36,1) both taisio-pii-reveal}@media (prefers-reduced-motion:reduce){.contact-actions--reveal{animation:none}}.contact-action-btn{background:var(--surface);border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:all var(--duration-micro,.15s) var(--ease-smooth,ease);border-radius:2rem;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .875rem;font-weight:500;text-decoration:none;display:inline-flex}.contact-action-btn:hover{background:color-mix(in srgb, var(--primary-color) 8%, var(--surface));border-color:color-mix(in srgb, var(--primary-color) 25%, transparent)}.contact-action-btn:active{background:color-mix(in srgb, var(--primary-color) 12%, var(--surface));transform:scale(.97)}.contact-action-btn svg{color:var(--primary-color)}.address-line{color:var(--text-primary);font-size:var(--text-md);margin:0 0 .25rem}.address-map-link{color:var(--primary-color);font-size:var(--text-sm);transition:color var(--duration-micro,.15s) var(--ease-micro);align-items:center;gap:.375rem;margin-top:.75rem;text-decoration:none;display:inline-flex}.address-map-link:hover{text-decoration:underline}.job-details-pricing{background:var(--gradient-subtle,var(--gray-50));border:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);border-radius:var(--radius-lg,.75rem);padding:1.125rem}.pricing-row{font-size:var(--text-md);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.pricing-row.pricing-fee{color:var(--text-secondary);font-size:var(--text-sm)}.pricing-row.pricing-deposit .pricing-amount.deposit{color:var(--success-color)}.pricing-divider{background:var(--border-color);height:1px;margin:.5rem 0}.pricing-row.pricing-total{font-weight:600}.pricing-amount.total{font-size:var(--text-lg);color:var(--text-primary)}.job-details-your-bid-card{border-color:color-mix(in srgb, var(--primary-color) 40%, var(--border-color));border-left-width:3px}.your-bid-header{justify-content:space-between;align-items:center;margin-bottom:0;display:flex}.your-bid-amount{font-size:var(--text-xl,1.25rem);color:var(--text-primary);font-weight:700}.your-bid-status-chip{font-size:var(--text-xs);letter-spacing:.01em;border-radius:9999px;align-items:center;padding:.25rem .625rem;font-weight:600;display:inline-flex}.your-bid-toggle{font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;transition:color var(--duration-micro) var(--ease-micro);background:0 0;border:none;align-items:center;gap:.25rem;margin-top:.75rem;padding:0;font-weight:500;display:flex}.your-bid-toggle:hover{color:var(--primary-color)}.your-bid-toggle svg{transition:transform var(--duration-micro) var(--ease-micro)}.your-bid-toggle.expanded svg{transform:rotate(180deg)}.your-bid-details{transition:grid-template-rows var(--duration-modal,.28s) var(--ease-smooth,ease);grid-template-rows:0fr;margin-top:0;display:grid}.your-bid-details.open{grid-template-rows:1fr;margin-top:.75rem}.your-bid-details-inner{overflow:hidden}.your-bid-status-chip--pending{background:var(--warning-bg,#fff8e6);color:var(--warning-text,#9a6700)}.your-bid-status-chip--accepted{background:var(--success-bg,#e8f5e9);color:var(--success-color,#1e8a3e)}.your-bid-status-chip--rejected{background:var(--error-bg,#fef2f2);color:var(--error-text,#b42318)}.your-bid-breakdown{background:var(--gray-50,var(--surface-raised,#f9fafb));border-radius:var(--radius-md,.5rem);font-size:var(--text-sm);flex-direction:column;gap:.375rem;margin-bottom:.75rem;padding:.625rem .75rem;display:flex}.your-bid-breakdown-row{color:var(--text-secondary);justify-content:space-between;display:flex}.your-bid-breakdown-row span:last-child{color:var(--text-primary);font-weight:500}.your-bid-materials-list{border-top:1px solid var(--border-color);flex-direction:column;gap:.25rem;margin-top:.375rem;padding-top:.375rem;display:flex}.your-bid-material-item{font-size:var(--text-xs);color:var(--text-secondary);justify-content:space-between;display:flex}.your-bid-meta{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.625rem;display:flex}.your-bid-meta-item{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:.3rem;display:inline-flex}.your-bid-meta-submitted{font-size:var(--text-xs);color:var(--text-muted)}.your-bid-notes{background:var(--gray-50,var(--surface-raised,#f9fafb));border-radius:var(--radius-md,.5rem);font-size:var(--text-sm);color:var(--text-secondary);border-left:2px solid var(--border-color);margin:0;padding:.625rem .75rem;line-height:1.5}.dark .job-details-your-bid-card{border-color:var(--primary-color)}.dark .your-bid-breakdown,.dark .your-bid-notes{background:var(--surface-raised,#1e1e2e)}.job-qa-card{border-color:color-mix(in srgb, var(--ai-color,#8b5cf6) 30%, var(--border-color))}.qa-count{font-size:var(--text-xs,.75rem);color:var(--text-secondary);margin-left:.25rem;font-weight:400}.qa-empty{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.qa-thread{padding:.5rem 0}.qa-thread+.qa-thread{border-top:1px solid var(--border-color)}.qa-question,.qa-answer{align-items:flex-start;gap:.5rem;display:flex}.qa-answer{margin-top:.375rem}.qa-label{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.625rem;font-weight:700;display:flex}.qa-label--answer{background:var(--success-color,#10b981)}.qa-bubble{flex:1;min-width:0}.qa-bubble p{font-size:var(--text-sm);color:var(--text-primary);word-break:break-word;margin:0;line-height:1.45}.qa-bubble--answer p{color:var(--text-secondary)}.qa-author{font-size:var(--text-xs,.75rem);color:var(--text-secondary);font-weight:500}.qa-pending{font-size:var(--text-xs,.75rem);color:var(--text-muted);margin:.25rem 0 0 2rem;font-style:italic}.qa-answer-form,.qa-ask-form{gap:.375rem;margin-top:.375rem;padding-left:2rem;display:flex}.qa-ask-form{margin-top:.75rem;padding-left:0}.qa-input{border:1px solid var(--border-color);border-radius:var(--radius-md,.5rem);min-width:0;font-size:var(--text-sm);background:var(--surface,white);color:var(--text-primary);outline:none;flex:1;padding:.5rem .625rem;transition:border-color .15s}.qa-input:focus{border-color:var(--primary-color)}.qa-send-btn{border-radius:var(--radius-md,.5rem);background:var(--primary-color);color:#fff;cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:opacity .15s;display:flex}.qa-send-btn:disabled{opacity:.4;cursor:not-allowed}.qa-limit-notice{font-size:var(--text-xs,.75rem);color:var(--text-muted);text-align:center;margin:.5rem 0 0}.dark .job-qa-card{border-color:color-mix(in srgb, var(--ai-color,#8b5cf6) 40%, var(--border-color))}.dark .qa-input{background:var(--surface-raised,#1e1e2e);border-color:var(--border-color);color:var(--text-primary)}.dark .job-stage-banner--blue{color:#93c5fd;background:#1d4ed81f;border-left-color:#93c5fd80}.dark .job-stage-banner--amber{color:#fcd34d;background:#92400e26;border-left-color:#fcd34d80}.dark .job-stage-banner--green{color:#86efac;background:#16653426;border-left-color:#86efac80}.dark .job-stage-banner--red{color:#fca5a5;background:#991b1b26;border-left-color:#fca5a580}.payment-status-grid{flex-direction:column;gap:.625rem;display:flex}.payment-status-row{font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.payment-status-label{color:var(--text-secondary)}.payment-status-value{font-weight:500}.payment-status-value.status-paid{color:var(--success-color)}.payment-status-value.status-pending{color:var(--warning-hover)}.job-stage-banner{border-radius:var(--radius-lg,.75rem);font-size:var(--text-sm);line-height:var(--leading-normal,1.5);border-left:4px solid;align-items:flex-start;gap:.625rem;margin-bottom:0;padding:.875rem 1.125rem;display:flex}.job-stage-banner p{margin:0;font-weight:500}.job-stage-banner--blue{background:color-mix(in srgb, var(--info-color) 6%, var(--surface));color:var(--info-text,#1d4ed8);border-left-color:var(--info-color);border-top:none;border-bottom:none;border-right:none}.job-stage-banner--amber{background:color-mix(in srgb, var(--warning-color) 6%, var(--surface));color:var(--warning-text,#92400e);border-left-color:var(--warning-color);border-top:none;border-bottom:none;border-right:none}.job-stage-banner--green{background:color-mix(in srgb, var(--success-color) 6%, var(--surface));color:var(--success-text,#166534);border-left-color:var(--success-color);border-top:none;border-bottom:none;border-right:none}.job-stage-banner--red{background:color-mix(in srgb, var(--danger-color) 6%, var(--surface));color:var(--danger-text,#991b1b);border-left-color:var(--danger-color);border-top:none;border-bottom:none;border-right:none}.job-revision-notice-card{border-left:3px solid var(--warning-color,#d97706);background:var(--warning-bg,#fffbeb)}.job-revision-notice-card .job-details-card-title{color:var(--warning-text,#92400e);align-items:center;gap:.375rem;display:flex}.revision-notice-text{color:var(--warning-text,#92400e);white-space:pre-wrap;line-height:1.5;font-size:var(--text-sm);margin:0}.job-work-submitted-card{border-left:3px solid var(--primary-color)}.work-submitted-notes{color:var(--text-subdued);white-space:pre-wrap;line-height:1.5;font-size:var(--text-sm);margin:0 0 .5rem}.work-submitted-hint{font-size:var(--text-xs,.75rem);color:var(--text-muted);margin:.75rem 0 0;font-style:italic}.work-submitted-images{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem;margin-top:.75rem;display:grid}.work-submitted-thumb{aspect-ratio:1;object-fit:cover;border:1px solid var(--border-color);border-radius:8px;width:100%}.job-completion-receipt-card{border-left:3px solid var(--success-color);background:var(--success-bg,#f0fdf4);position:relative;overflow:hidden}.job-completion-receipt-card:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--success-color) 6%, transparent) 50%, transparent 100%);pointer-events:none;width:60%;height:100%;animation:3s ease-in-out 1s receipt-shimmer;position:absolute;top:0;left:-100%}@keyframes receipt-shimmer{0%{left:-100%}to{left:200%}}.job-completion-receipt-card .job-details-card-title{color:var(--success-text,#166534);align-items:center;gap:.375rem;display:flex}.completion-receipt-rows{flex-direction:column;gap:.5rem;display:flex}.completion-receipt-row{font-size:var(--text-sm);color:var(--text-subdued);justify-content:space-between;align-items:center;display:flex}.completion-receipt-divider{background:color-mix(in srgb, var(--success-color) 15%, var(--border-color));height:1px;margin:.5rem 0}.completion-receipt-total{color:var(--text-primary);font-weight:600;font-size:var(--text-base)}.receipt-paid{color:var(--success-color);font-weight:600}.receipt-pending{color:var(--warning-color,#d97706);font-weight:500}.contact-locked-notice,.address-locked-notice{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:.375rem;margin-top:.5rem;font-style:italic;display:inline-flex}.job-details-inline-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 0;display:flex}.dispute-window-hint{color:var(--warning-color,#f59e0b);font-size:.75rem;font-weight:500}.job-details-images{flex-wrap:wrap;gap:.625rem;display:flex}.job-details-image{object-fit:cover;border-radius:var(--radius-lg,.75rem);border:2px solid var(--surface);width:88px;height:88px;box-shadow:var(--elevation-1)}.job-details-image.clickable,.job-details-image-more.clickable{cursor:pointer;transition:transform var(--duration-micro,.15s) var(--ease-smooth,ease), box-shadow var(--duration-micro,.15s) var(--ease-smooth,ease)}.job-details-image.clickable:hover{box-shadow:var(--elevation-2);transform:scale(1.05)}.job-details-image-more{border-radius:var(--radius-lg,.75rem);background:var(--gray-50);border:2px solid var(--surface);width:88px;height:88px;box-shadow:var(--elevation-1);color:var(--text-secondary);font-weight:600;font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.evidence-section{margin-bottom:.75rem}.evidence-section:last-child{margin-bottom:0}.evidence-section-label{font-size:var(--text-xs,.75rem);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.375rem;font-weight:600;display:block}.job-details-accordion{border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);border-radius:var(--radius-lg,.75rem);background:color-mix(in srgb, var(--gray-50) 50%, transparent);-webkit-backdrop-filter:blur(8px);margin-top:.5rem;overflow:hidden}.job-details-accordion-header{cursor:pointer;width:100%;font-size:var(--text-sm);color:var(--text-secondary);transition:background var(--duration-micro,.15s) var(--ease-micro);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.875rem 1.125rem;font-weight:500;display:flex}.job-details-accordion-header:hover{background:color-mix(in srgb, var(--gray-100) 60%, transparent)}.accordion-chevron{transition:transform var(--duration-normal,.25s) var(--ease-spring,cubic-bezier(.175, .885, .32, 1.275))}.accordion-chevron.open{transform:rotate(180deg)}.accordion-body{transition:grid-template-rows var(--duration-normal,.25s) var(--ease-smooth,cubic-bezier(.4, 0, .2, 1));grid-template-rows:0fr;display:grid}.accordion-body.open{grid-template-rows:1fr}.accordion-body-inner{overflow:hidden}.job-details-utility-row{background:var(--surface);flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;display:flex}.utility-btn{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-md,.5rem);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-micro,.15s) var(--ease-micro);align-items:center;gap:.375rem;padding:.375rem .75rem;display:inline-flex}.utility-btn:hover{background:var(--gray-50);color:var(--text-primary);border-color:var(--gray-300)}.utility-btn:active{background:var(--gray-100);transform:scale(.98)}.utility-spacer{flex:1}.utility-btn-danger{color:var(--danger-color);border-color:var(--danger-color)}.utility-btn-danger:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.job-drawer-footer{border-top:1px solid color-mix(in srgb, var(--border-color) 60%, transparent);background:var(--surface);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.625rem;padding:1rem 1.25rem;display:flex}.job-drawer-footer-actions{gap:.5rem;width:100%;display:flex}.job-drawer-footer .btn{font-weight:600;font-size:var(--text-sm);border-radius:2rem;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1rem;display:inline-flex}.job-lightbox-overlay{z-index:calc(var(--z-overlay) + 1);opacity:0;transition:opacity var(--duration-fade,.2s) ease;background:#000000e6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.job-lightbox-overlay.open{opacity:1}.job-lightbox-content{max-width:90vw;max-height:90dvh;position:relative}.job-lightbox-content img{object-fit:contain;border-radius:var(--radius-md,.5rem);max-width:100%;max-height:85vh}.job-lightbox-close{color:#fff;cursor:pointer;transition:color var(--duration-micro,.15s) ease;background:0 0;border:none;padding:.5rem;position:absolute;top:-2.5rem;right:0}.job-lightbox-close:hover{color:var(--gray-300)}.job-drawer-loading{padding:var(--space-xl);color:var(--text-muted);justify-content:center;align-items:center;gap:var(--space-sm);flex-direction:column;min-height:200px;display:flex}.job-drawer-error{align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);margin:var(--space-lg);background:var(--danger-bg);border:1px solid var(--danger-color);border-radius:var(--radius-md);display:flex}.job-drawer-error svg{color:var(--danger-color);flex-shrink:0}.job-drawer-error p{font-size:var(--text-sm);color:var(--danger-text);margin:0}.job-drawer-empty{padding:var(--space-xl);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}body.job-drawer-open{overscroll-behavior:none;overflow:hidden}html:has(body.job-drawer-open){overscroll-behavior:none;overflow:hidden}@media (width<=767px){.job-drawer{width:100%;min-width:unset;border-radius:16px 16px 0 0;height:92svh;max-height:92svh;inset:auto 0 0;transform:translateY(100%);box-shadow:0 -8px 32px #00000026}.job-drawer.open{transform:translateY(0)}.job-drawer-swipe-handle{touch-action:none;cursor:grab;flex-shrink:0;justify-content:center;padding:.75rem 0 .25rem;display:flex}.swipe-handle-pill{background:var(--gray-300);opacity:.6;border-radius:2px;width:36px;height:4px}.job-drawer-header{border-radius:0;padding-top:.5rem}.job-drawer-body{padding:.75rem}.job-drawer-footer{padding-bottom:max(1rem, env(safe-area-inset-bottom))}.job-details-provider-card{flex-direction:column;align-items:stretch}}@media (width>=768px) and (width<=1024px){.job-drawer{width:440px;min-width:400px}}.dark .job-drawer{background:var(--surface);box-shadow:-8px 0 32px #0006,-1px 0 #ffffff0f}.dark .job-drawer-backdrop.open{background:#00000080}.dark .job-drawer-header{background:var(--primary-dark,#1e7358)}.dark .job-drawer-close{background:#ffffff1f}.dark .job-drawer-close:hover{background:#fff3}.dark .job-details-card{background:var(--surface);border-color:var(--border-color)}.dark .job-details-card-title{color:var(--text-secondary);background:0 0;border-color:#0000}.dark .job-details-card-content{color:var(--text-primary)}.dark .job-info-label{color:var(--text-secondary)}.dark .job-info-value,.dark .job-hero-title,.dark .job-hero-description{color:var(--text-primary)}.dark .job-hero-date{color:var(--text-secondary)}.dark .job-hero-date svg{color:var(--primary-color-dark)}.dark .job-info-row{border-color:var(--border-color)}.dark .job-info-pill{background:var(--gray-200);color:var(--text-secondary)}.dark .job-info-pill-status{background:var(--primary-color-light);color:var(--primary-color)}.dark .job-info-pill-budget{color:var(--primary-dark);background:#10b98126}.dark .job-details-provider-card,.dark .job-details-customer-card{background:var(--gray-100);border-color:var(--border-color)}.dark .provider-card-name,.dark .customer-card-name{color:var(--text-primary)}.dark .contact-actions{border-color:var(--border-color)}.dark .contact-action-btn{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}.dark .contact-action-btn:hover{background:var(--gray-200)}.dark .contact-action-btn svg{color:var(--primary-color-dark)}.dark .job-details-pricing{background:var(--gray-100);border-color:var(--border-color)}.dark .pricing-divider{background:var(--border-color)}.dark .job-completion-receipt-card{background:color-mix(in srgb, var(--success-color) 8%, var(--surface));border-left-color:var(--success-color)}.dark .job-completion-receipt-card .job-details-card-title{color:var(--success-color)}.dark .job-completion-receipt-card:after{background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--success-color) 10%, transparent) 50%, transparent 100%)}.dark .pricing-amount.total{color:var(--text-primary)}.dark .job-details-accordion{border-color:var(--border-color);background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(8px)}.dark .job-details-accordion-header{color:var(--text-secondary);background:0 0}.dark .job-details-accordion-header:hover{background:color-mix(in srgb, var(--gray-200) 40%, transparent)}.dark .job-details-utility-row{background:var(--surface)}.dark .utility-btn{background:var(--surface);border-color:var(--border-color);color:var(--text-secondary)}.dark .utility-btn:hover{background:var(--gray-200);color:var(--text-primary)}.dark .job-drawer-footer{background:var(--surface);border-color:var(--border-color)}.dark .job-drawer-body::-webkit-scrollbar-thumb{background:#ffffff1a}.dark .job-drawer-body::-webkit-scrollbar-thumb:hover{background:#ffffff26}.dark .address-line{color:var(--text-primary)}.dark .address-map-link{color:var(--primary-color-dark)}.dark .job-drawer-error{background:var(--danger-bg);border-color:#ef44444d}.dark .job-drawer-error p{color:var(--danger-accent)}@media (width<=767px){.dark .job-drawer{box-shadow:0 -8px 32px #00000080}.dark .swipe-handle-pill{background:#fff3}}@media (prefers-reduced-motion:reduce){.job-drawer,.job-drawer-backdrop{transition:none}.job-details-card{opacity:1;animation:none;transform:none}}.payment-overlay{z-index:calc(var(--z-overlay) + 2);pointer-events:none;background:0 0;justify-content:center;align-items:flex-end;padding:0;transition:background .2s;display:flex;position:fixed;inset:0}.payment-overlay.payment-visible{-webkit-backdrop-filter:blur(4px);pointer-events:auto;background:#00000059}.payment-modal{background:var(--surface,#fff);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100%;max-width:500px;max-height:85svh;padding:1.5rem 1.25rem;padding-bottom:max(1.5rem, calc(1.5rem + env(safe-area-inset-bottom,0px)));will-change:transform;border-radius:1rem 1rem 0 0;transition:transform .36s cubic-bezier(.32,.72,0,1);overflow-y:auto;transform:translateY(100%)}.payment-visible .payment-modal{transform:translate(0,0)}.payment-modal:before{content:"";background:var(--gray-300,#ccc);opacity:.6;border-radius:2px;width:36px;height:4px;margin:0 auto 1rem;display:block}@media (width>=641px){.payment-overlay{align-items:center;padding:1rem}.payment-modal{opacity:0;border-radius:1rem;max-height:90dvh;padding-bottom:1.5rem;transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .2s;transform:translateY(30px)}.payment-visible .payment-modal{opacity:1;transform:translate(0,0)}.payment-modal:before{display:none}}
