@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-plus-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}:root{--color-bg:#faf9f7;--color-bg-subtle:#f3f1ed;--color-surface:#ffffff;--color-surface-raised:#ffffff;--color-border:#e8e4df;--color-border-strong:#d6d0c8;--color-text:#1a1614;--color-text-secondary:#5c534c;--color-text-muted:#8a817a;--color-primary:#0d9488;--color-primary-hover:#0f766e;--color-primary-soft:#ccfbf1;--color-primary-muted:#f0fdfa;--color-accent-warm:#ea580c;--color-accent-soft:#fff7ed;--color-success:#059669;--color-success-bg:#ecfdf5;--color-success-border:#a7f3d0;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--shadow-xs:0 1px 2px rgba(26,22,20,0.04);--shadow-sm:0 2px 8px rgba(26,22,20,0.06);--shadow-md:0 8px 24px rgba(26,22,20,0.08);--shadow-lg:0 16px 48px rgba(26,22,20,0.1);--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-full:9999px;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--header-height:64px;--max-width:720px;--font-sans:var(--font-plus-jakarta),system-ui,-apple-system,sans-serif}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{margin:0;padding:0;min-height:100vh;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5}a{color:var(--color-primary);text-decoration:none;font-weight:500}a:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-page{min-height:100vh;justify-content:center;padding:var(--space-lg);background:radial-gradient(ellipse 80% 60% at 50% -10%,var(--color-primary-muted) 0,transparent 55%),var(--color-bg)}.auth-page,.auth-shell{display:flex;flex-direction:column;align-items:center}.auth-shell{width:100%;max-width:420px;gap:var(--space-xl)}.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm)}.auth-brand-mark{width:48px;height:48px;color:var(--color-primary)}.auth-brand-name{margin:0;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.auth-brand-tagline{margin:0;font-size:.9375rem;color:var(--color-text-secondary);max-width:280px}.auth-card{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md)}.auth-card h1{margin:0 0 var(--space-xs);font-size:1.375rem;font-weight:700;letter-spacing:-.02em}.auth-card>p:first-of-type{margin:0 0 var(--space-lg);color:var(--color-text-secondary);font-size:.9375rem}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-form label,.dashboard-form label{display:flex;flex-direction:column;gap:var(--space-sm);font-size:.8125rem;font-weight:600;color:var(--color-text);letter-spacing:.01em}.auth-form input,.dashboard-form input,.dashboard-form select,.dashboard-form textarea{padding:.75rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:var(--color-surface);color:var(--color-text);transition:border-color .15s,box-shadow .15s}.auth-form input::placeholder,.dashboard-form input::placeholder{color:var(--color-text-muted)}.auth-form input:focus,.dashboard-form input:focus,.dashboard-form select:focus,.dashboard-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(13,148,136,.15)}.auth-footer{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border);text-align:center;font-size:.875rem;color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.75rem 1.25rem;border:none;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--color-bg-subtle);color:var(--color-text);border:1.5px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border);border-color:var(--color-border-strong)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1.5px solid transparent;padding:.5rem .75rem}.btn-ghost:hover:not(:disabled){background:var(--color-bg-subtle);color:var(--color-text)}.btn-danger-ghost{background:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.btn-danger-ghost:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}.btn-sm{padding:.5rem .875rem;font-size:.8125rem}.btn-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.error-message,.success-message{display:flex;align-items:flex-start;gap:var(--space-sm);padding:.875rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.45}.error-message{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:#991b1b}.success-message{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:#065f46}.alert-icon{width:1.125rem;height:1.125rem;flex-shrink:0;margin-top:.1rem}.dashboard-layout{min-height:100vh;background:var(--color-bg)}.dashboard-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);height:var(--header-height);padding:0 var(--space-lg);background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.dashboard-brand{display:flex;align-items:center;gap:.625rem;color:inherit}.dashboard-brand,.dashboard-brand:hover{text-decoration:none}.dashboard-brand-mark{width:36px;height:36px;color:var(--color-primary)}.dashboard-brand-text{font-size:1.125rem;font-weight:700;letter-spacing:-.02em}.dashboard-main{max-width:var(--max-width);margin:0 auto;padding:var(--space-lg);padding-bottom:var(--space-2xl)}.dashboard-stack{display:flex;flex-direction:column;gap:var(--space-lg)}.dashboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md)}.card-header-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--color-primary-muted);color:var(--color-primary)}.card-header-icon svg{width:22px;height:22px}.card-header-icon--warm{background:var(--color-accent-soft);color:var(--color-accent-warm)}.card-header-icon--inbox{background:#eff6ff;color:#2563eb}.card-header-text h2,.card-header-text h3{margin:0 0 .25rem;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}.card-header-text p{margin:0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.45}.dashboard-intro{background:linear-gradient(135deg,var(--color-primary-muted) 0,var(--color-surface) 60%);border-color:rgba(13,148,136,.2)}.dashboard-intro .card-header-icon{background:var(--color-primary);color:#fff}.dashboard-hint{margin-top:var(--space-md)!important;padding:var(--space-md);background:rgba(255,255,255,.7);border-radius:var(--radius-sm);font-size:.8125rem!important;color:var(--color-text-secondary)!important;line-height:1.5}.dashboard-intro-email{display:inline-flex;align-items:center;gap:.35rem;margin-top:.25rem;font-size:.875rem;color:var(--color-text-secondary)}.dashboard-intro-email strong{color:var(--color-text);font-weight:600}.dashboard-form{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.family-list,.request-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.family-item,.request-item{padding:var(--space-md);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color .15s,box-shadow .15s}.family-item:hover,.request-item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.family-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.family-item-name{margin:0 0 .15rem;font-weight:600;font-size:.9375rem}.family-relationship{color:var(--color-text-muted);font-weight:500;font-size:.875rem}.request-item--pending{border-left:3px solid var(--color-warning);background:linear-gradient(90deg,var(--color-warning-bg) 0,var(--color-bg) 12%)}.request-item--completed{border-left:3px solid var(--color-success);opacity:.92}.request-item--cancelled{opacity:.75}.request-item-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.request-date{margin-left:auto;font-size:.75rem;color:var(--color-text-muted);font-weight:500}.request-message{margin:0;font-size:.9375rem;color:var(--color-text)}.request-meta{margin:.35rem 0 0;font-size:.8125rem;color:var(--color-text-secondary)}.request-meta--ok{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-success);font-weight:500}.request-meta--error{color:var(--color-error)}.request-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.source-badge,.status-badge{display:inline-flex;align-items:center;padding:.2rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.source-badge{background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border);text-transform:none;letter-spacing:0;font-weight:600;font-size:.75rem}.status-badge--pending{background:var(--color-warning-bg);color:#92400e;border:1px solid var(--color-warning-border)}.status-badge--acknowledged{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.status-badge--scheduled{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.status-badge--completed{background:var(--color-success-bg);color:#065f46;border:1px solid var(--color-success-border)}.status-badge--cancelled,.status-badge--declined{background:var(--color-error-bg);color:#991b1b;border:1px solid var(--color-error-border)}.status-badge--expired{background:var(--color-bg-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.request-item--acknowledged{border-left:3px solid #2563eb;background:linear-gradient(90deg,#eff6ff 0,var(--color-bg) 12%)}.request-item--declined,.request-item--expired{opacity:.85}.request-tabs{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.request-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .875rem;border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.request-tab:hover{border-color:var(--color-border-strong);color:var(--color-text)}.request-tab--active{background:var(--color-primary-muted);border-color:var(--color-primary);color:var(--color-primary-hover)}.request-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:.6875rem;font-weight:700}.request-tab--active .request-tab-count{background:var(--color-primary-hover)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl) var(--space-md);margin-top:var(--space-sm);border:1.5px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.empty-state-icon{width:48px;height:48px;color:var(--color-text-muted);margin-bottom:var(--space-md);opacity:.6}.empty-state-title{margin:0 0 var(--space-xs);font-size:.9375rem;font-weight:600;color:var(--color-text);font-style:normal}.empty-state-text{margin:0;font-size:.8125rem;color:var(--color-text-muted);max-width:260px;line-height:1.5;font-style:normal}code{font-size:.75rem;font-family:ui-monospace,Cascadia Code,monospace;background:var(--color-bg-subtle);padding:.15rem .4rem;border-radius:6px;border:1px solid var(--color-border)}@media (min-width:640px){.dashboard-main{padding:var(--space-xl) var(--space-lg)}.dashboard-header{padding:0 var(--space-xl)}.auth-card{padding:var(--space-2xl)}}@media (max-width:480px){.family-item{flex-direction:column;align-items:stretch}.family-item .btn{width:100%}.request-item-header{flex-direction:column;align-items:flex-start}.request-date{margin-left:0}.request-actions{flex-direction:column}.request-actions .btn{width:100%}.dashboard-brand-text{font-size:1rem}}