@font-face{font-family:IvyOra;src:url(/fonts/ivyora/IvyoraText-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IvyOra;src:url(/fonts/ivyora/IvyoraText-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IvyOra;src:url(/fonts/ivyora/IvyoraText-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "IvyOra", Georgia, "Times New Roman", serif;--font-size-xs: .875rem;--font-size-sm: .9375rem;--font-size-base: 1.0625rem;--font-size-md: 1.125rem;--font-size-lg: 1.1875rem;--font-size-xl: 1.3125rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-ui: 1.5;--line-height-copy: 1.55}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-copy)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans)}.dashboard-main,.dashboard-container,.login-container,.care-seeker-onboarding,.caregiver-onboarding,.my-appointments-page,.visit-details-panel,.booking-wizard-root{font-size:var(--font-size-base)}.reset-password-card{max-width:420px}.reset-password-header{margin-bottom:1.75rem}.reset-password-subtitle{margin:.625rem 0 0;font-size:1rem;font-weight:400;line-height:1.45;color:var(--brand-muted);word-break:break-word}.reset-password-card .reset-password-form{gap:1.25rem}.reset-password-fields{display:flex;flex-direction:column;gap:.875rem}.reset-password-status{text-align:left}.reset-password-login-link{display:inline-flex;align-items:center;justify-content:center;margin-top:1.5rem;text-decoration:none}.reset-password-card .password-input{margin-bottom:0}.reset-password-card .password-input-label{margin-bottom:.5rem;font-size:.875rem;font-weight:500;letter-spacing:-.01em;color:var(--brand-ink)}.reset-password-card .form-field-input.password-input-field{height:56px;min-height:56px;padding:0 4.5rem 0 1rem;border:1px solid transparent;border-radius:8px;background:#eee;font-size:1rem;font-weight:500;letter-spacing:-.01em;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.reset-password-card .form-field-input.password-input-field:hover{background:#e8e8e8}.reset-password-card .form-field-input.password-input-field:focus,.reset-password-card .form-field-input.password-input-field:focus-visible{padding:0 4.5rem 0 1rem;border-color:var(--brand-ink);background:#fff;box-shadow:none;outline:none}.reset-password-card .form-field-error .form-field-input.password-input-field,.reset-password-card .form-field-error .form-field-input.password-input-field:focus,.reset-password-card .form-field-error .form-field-input.password-input-field:focus-visible{border-color:#b42318;background:#fff}.reset-password-card .password-input-toggle--text{right:1rem}.reset-password-card .password-input-toggle-label{font-size:.875rem;font-weight:600;color:var(--brand-ink);text-decoration:none}.reset-password-card .password-input-toggle--text:hover .password-input-toggle-label{text-decoration:underline;text-underline-offset:2px}.reset-password-card .password-input-error-message{margin-top:.375rem;font-size:.875rem;font-weight:500;color:#b42318}.password-requirements{list-style:none;margin:0;padding:.125rem 0 .25rem;display:grid;gap:.375rem}.password-requirements__item{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;line-height:1.35;letter-spacing:-.01em;color:var(--brand-muted);transition:color .15s ease}.password-requirements__mark{flex:0 0 .875rem;width:.875rem;text-align:center;font-size:.75rem;font-weight:600}.password-requirements__item--met{color:var(--brand-ink)}.password-requirements__item--met .password-requirements__mark{color:#0e7a45}.password-requirements__item--missing{color:#b42318}@media(max-width:480px){.reset-password-card .form-field-input.password-input-field{font-size:16px}}@media(prefers-reduced-motion:reduce){.reset-password-card .form-field-input.password-input-field,.password-requirements__item{transition:none}}:root{--billing-surface: #ffffff;--billing-canvas: #ffffff;--billing-border: #d6dee8;--billing-text-primary: #0f172a;--billing-text-secondary: #475569;--billing-text-muted: #64748b;--billing-focus-ring: 0 0 0 3px rgba(15, 23, 42, .08);--billing-aurora-pink: #c45bfc}.billing-page{min-height:100vh;background:var(--billing-canvas)}.billing-page .dashboard-main{background:var(--billing-canvas)}.billing-page .appointments-list-container{min-height:0;max-width:80rem}.billing-page .my-shifts-surface-toolbar{margin-bottom:1.15rem;padding-top:.65rem;gap:.72rem 1.35rem}.billing-page .my-shifts-surface-toolbar__title{font-size:clamp(1.62rem,2.95vw,2.28rem)}.billing-page .my-shifts-surface-toolbar__subtitle{margin-top:.4rem;font-size:var(--font-size-base, 1.0625rem)}.billing-page .results-count,.billing-page .results-count.results-count--bottom{font-size:.9375rem}.billing-page .results-count.results-count--bottom{margin-top:.55rem;padding-top:.5rem}.billing-page .dashboard-container{padding-bottom:2.5rem}.billing-invoices{border:2px solid var(--billing-border);border-radius:var(--dash-card-radius, 8px);background:var(--billing-surface);box-shadow:0 1px 2px #0f172a0a;margin-bottom:.75rem;overflow:hidden;padding:1rem 1.25rem 1.15rem}.billing-tabs-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;border-bottom:1px solid #edf1f5;margin:0 0 .65rem;padding:0 .05rem}.billing-tabs{display:flex;gap:1.65rem;margin:0;padding:0;min-width:0;flex:1 1 auto}.billing-tabs__refresh{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.25rem;height:2.25rem;margin-bottom:.45rem;padding:0;border:1px solid var(--billing-border);background:#fff;border-radius:var(--dash-card-radius, 8px);color:var(--billing-text-secondary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.billing-tabs__refresh:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:var(--billing-text-primary)}.billing-tabs__refresh:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.billing-tabs__refresh-icon{width:1rem;height:1rem}.billing-tabs__refresh--loading .billing-tabs__refresh-icon{animation:billing-refresh-spin .9s linear infinite}@keyframes billing-refresh-spin{to{transform:rotate(360deg)}}.billing-tabs__refresh:disabled{opacity:.6;cursor:not-allowed}.billing-tab{border:none;background:none;color:var(--billing-text-muted);font-size:.9375rem;font-weight:700;padding:0 0 .85rem;cursor:pointer;margin-bottom:-1px}.billing-tab:hover{color:var(--billing-text-secondary)}.billing-tab:focus-visible{outline:none;box-shadow:var(--billing-focus-ring);border-radius:6px}.billing-tab-active{color:var(--billing-text-primary);border-bottom:2px solid #0f172a}.billing-table-shell{width:100%;overflow:visible}.billing-table-row{display:grid;grid-template-columns:minmax(248px,2.35fr) minmax(168px,1.2fr) minmax(180px,1.3fr) minmax(132px,.95fr) 88px;gap:1.3rem;align-items:center}.billing-unpaid-section{margin-bottom:1.25rem}.billing-unpaid-section__title{margin:0 0 .65rem;font-size:1rem;font-weight:700;color:var(--billing-text-primary)}.billing-unpaid-section__title--statements{margin-top:.5rem}.billing-table-row--shifts{grid-template-columns:minmax(200px,2fr) minmax(140px,1fr) minmax(120px,.8fr) 100px}.billing-table-head{margin:0;padding:.52rem .4rem;border-bottom:1px solid #edf1f5;color:#475569;font-size:var(--font-size-sm, .9375rem);font-weight:700}.billing-actions-head{text-align:right}.billing-table-body .billing-table-row{padding:1.05rem .4rem;border-bottom:1px solid #edf1f5;transition:background-color .12s ease}.billing-table-body .billing-table-row:hover{background:#fafafa}.billing-table-body .billing-table-row:last-child{border-bottom:none}.billing-month-group{border-bottom:1px solid #edf1f5}.billing-month-group:last-child{border-bottom:none}.billing-month-heading{margin:0;padding:1rem .4rem .35rem;font-size:.9375rem;font-weight:700;color:var(--billing-text-muted);letter-spacing:.02em;text-transform:uppercase}.billing-cell-primary{display:flex;align-items:center;gap:.55rem;min-width:0}.billing-cell-title{margin:0;font-size:1.0625rem;font-weight:600;color:var(--billing-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-cell-meta{font-size:var(--font-size-base, 1.0625rem);color:var(--billing-text-secondary);white-space:nowrap}.billing-actions-cell{display:flex;justify-content:flex-end;align-items:center;position:relative}.billing-banner{margin-bottom:1rem;padding:.85rem 1rem;border-radius:10px;font-size:.9375rem}.billing-banner--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.billing-banner p{margin:0 0 .65rem}.billing-banner .billing-pay-now-btn{margin-top:.25rem}.billing-table-status{display:flex;align-items:center;justify-content:center;gap:.65rem;padding:2.5rem 1rem;color:var(--billing-text-muted);font-size:.9375rem}.billing-table-status-message{margin:0;text-align:center;max-width:28rem;line-height:1.45}.billing-spinner{width:1.125rem;height:1.125rem;border:2px solid #e5e7eb;border-top-color:var(--billing-text-primary);border-radius:50%;animation:billing-spin .65s linear infinite;flex-shrink:0}.billing-spinner--btn{width:.95rem;height:.95rem;border-color:#d1d5db;border-top-color:currentColor}@keyframes billing-spin{to{transform:rotate(360deg)}}.billing-download-pdf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1;color:var(--billing-text-primary);background:#fff;border:1px solid var(--billing-border);border-radius:8px;padding:.45rem .75rem;cursor:pointer;white-space:nowrap}.billing-download-pdf-btn:hover:not(:disabled){background:#f8fafc}.billing-download-pdf-btn:disabled{opacity:.6;cursor:not-allowed}.billing-pay-now-btn{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;font-family:inherit;font-size:.9375rem;font-weight:700;letter-spacing:-.02em;line-height:1;color:#fff;background:#191919;border:none;border-radius:11px;padding:.52rem .95rem;flex-shrink:0;cursor:pointer;box-shadow:0 1px 2px #0f172a2e,0 0 14px #c45bfc47,0 0 24px #c45bfc29;transition:background .18s ease,box-shadow .18s ease,transform .15s ease}.billing-pay-now-btn:hover{background:#222;transform:translateY(-1px);box-shadow:0 2px 6px #0f172a33,0 0 16px #c45bfc52,0 0 26px #c45bfc2e}.billing-pay-now-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0f172a29,0 0 12px #c45bfc3d,0 0 20px #c45bfc24}.billing-pay-now-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #c45bfc47,0 0 14px #c45bfc47,0 0 24px #c45bfc29}.billing-pay-now-btn svg{width:15px;height:15px;flex-shrink:0;color:#fff}.billing-row-menu-wrap{position:relative}.billing-row-menu-trigger{appearance:none;border:1px solid #dbe3ed;background:#fff;color:#111827;border-radius:11px;width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 2px #0f172a14}.billing-row-menu-trigger:hover{background:#f8fafc;border-color:#cbd5e1}.billing-row-menu-trigger:focus-visible{outline:none;box-shadow:var(--billing-focus-ring)}.billing-row-menu-trigger svg{width:16px;height:16px}.billing-row-menu{position:absolute;top:calc(100% + .35rem);right:0;min-width:172px;max-width:min(200px,calc(100vw - 2rem));background:#fff;border:1px solid #dbe3ed;border-radius:10px;box-shadow:0 10px 24px #0f172a1f;padding:.28rem;z-index:30}.billing-row-menu-item{appearance:none;border:none;background:transparent;width:100%;text-align:left;color:var(--billing-text-primary);font-size:.9375rem;font-weight:500;border-radius:8px;padding:.52rem .62rem;cursor:pointer}.billing-row-menu-item:hover{background:#f1f5f9}.billing-empty-state{padding:1.25rem .4rem .65rem;text-align:left;font-size:1.0625rem;color:var(--billing-text-muted)}@media(min-width:769px)and (max-width:900px){.billing-page .dashboard-container{padding-bottom:1.5rem}.billing-invoices{padding:.88rem 1rem 1rem}.billing-table-shell{overflow-x:auto}.billing-table-row{min-width:960px}}@media(max-width:768px){.billing-tabs{gap:1.15rem}.billing-tabs__refresh{margin-bottom:.35rem}.billing-tab{font-size:var(--font-size-sm, .9375rem);min-height:44px}.billing-invoices{padding:.85rem .75rem 1rem}.billing-table-shell{overflow-x:visible}.billing-table-head{display:none}.billing-table-body .billing-table-row{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;min-width:0;padding:.75rem .5rem}.billing-cell-primary{margin-bottom:.15rem}.billing-cell-title{white-space:normal;font-size:1rem}.billing-cell-meta,.billing-actions-cell{display:flex;align-items:center;justify-content:space-between;gap:.75rem;white-space:normal}.billing-cell-meta:before,.billing-actions-cell:before{content:attr(data-label);flex-shrink:0;font-size:.8125rem;font-weight:600;color:var(--billing-text-muted)}.billing-actions-cell{margin-top:.25rem;padding-top:.5rem;border-top:1px solid #edf1f5}.billing-actions-cell:before{content:"Actions"}.billing-actions-cell .billing-pay-now-btn,.billing-actions-cell .billing-download-pdf-btn{min-height:44px;flex:1 1 auto;max-width:12rem}.billing-pay-all-row{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.75rem;margin:0 0 .5rem;padding:.45rem .5rem .55rem}.billing-pay-all-row__summary--desktop{display:none}.billing-pay-all-row__summary--mobile{display:block;flex:1 1 auto;min-width:0;margin:0;font-size:.875rem;font-weight:500;line-height:1.3;color:var(--billing-text-secondary);text-align:left}.billing-pay-all-row__button{width:auto;min-height:44px;max-width:none;flex-shrink:0;padding:.4rem .95rem;font-size:.875rem}.billing-table-shell--statements .billing-table-body{display:flex;flex-direction:column;gap:.55rem}.billing-table-shell--statements .billing-table-body .billing-table-row--statement{gap:.65rem;padding:.9rem .65rem;border:1px solid #edf1f5;border-radius:10px;background:#fff;border-bottom:none}.billing-table-shell--statements .billing-table-body .billing-table-row--statement:hover{background:#fafafa}.billing-table-shell--statements .billing-cell-meta--statement-desktop{display:none}.billing-table-shell--statements .billing-actions-cell--statement{margin-top:.1rem;padding-top:0;border-top:none}.billing-table-shell--statements .billing-actions-cell--statement:before{content:none}.billing-table-shell--statements .billing-actions-cell--statement .billing-download-pdf-btn{width:100%;max-width:none;min-height:44px}}@media(max-width:480px){.billing-invoices{padding-top:.75rem}.billing-pay-all-row{flex-direction:column;align-items:stretch;gap:.65rem;padding-inline:0}.billing-pay-all-row__button{width:100%;min-height:44px}}.billing-banner--warn{border:1px solid #fcd34d;background:#fffbeb;color:#92400e;border-radius:.75rem;padding:.75rem 1rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.billing-pay-all-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 .85rem;padding:.85rem .4rem;border-bottom:1px solid #edf1f5}.billing-pay-all-row__summary{margin:0;font-size:.9375rem;color:var(--billing-text-secondary)}@media(min-width:769px){.billing-pay-all-row__summary--mobile{display:none}}.billing-pay-all-row__button{min-width:7.5rem}.billing-table-row--topay,.billing-table-head.billing-table-row--topay{grid-template-columns:minmax(10rem,1.45fr) minmax(7.5rem,1fr) minmax(6.5rem,.9fr) 5.5rem minmax(9.5rem,auto)}.billing-cell-invoice{overflow:hidden;text-overflow:ellipsis}.billing-cell-meta--pending,.billing-cell-meta--failed{color:var(--billing-text-muted)}.billing-pay-now-btn--waiting{color:var(--billing-text-muted);background:#f1f5f9;border:1px solid #e2e8f0;box-shadow:none;cursor:not-allowed;pointer-events:none}.billing-pay-now-btn--waiting:hover,.billing-pay-now-btn--waiting:active{transform:none;background:#f1f5f9;box-shadow:none}.billing-status-chip{display:inline-flex;align-items:center;font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;width:fit-content}.billing-status-chip--ready{background:#dcfce7;color:#166534}.billing-status-chip--pending{background:#e0e7ff;color:#3730a3}.billing-status-chip--failed_setup{background:#fee2e2;color:#991b1b}.billing-cell-subtitle{margin:.15rem 0 0;font-size:.8125rem;color:var(--billing-text-muted)}.billing-cell-meta--stale{opacity:.65}.billing-row-error{margin:.5rem 0 0;padding:.5rem .75rem;font-size:.875rem;color:#b91c1c;background:#fef2f2;border-radius:.5rem}
