:root{--portal-bg:#f8f6f3;--portal-rail:#eee9e3;--portal-surface:#fff;--portal-surface-strong:#fff;--portal-border:#1a19171f;--portal-border-strong:#14534a59;--portal-copy:#1a1917;--portal-muted:#5c5a54;--portal-accent:#14534a;--portal-accent-strong:#0c3a33;--portal-highlight:#c07d2f;--portal-stable:#0e7a67;--portal-warn:#b26a1c;--portal-alert:#a6442a;--portal-shadow:0 1px 2px #14534a0d,0 6px 20px #14534a14;--portal-shell-max-width:1280px;--font-heading:var(--font-inter);--font-body:var(--font-inter);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 8px 30px #0000000f;--shadow-elevated:0 16px 48px #00000014;--ease:cubic-bezier(.4,0,.2,1);--duration-fast:.12s;--duration-normal:.2s}*{box-sizing:border-box}html{background:radial-gradient(circle at top right,color-mix(in srgb,var(--portal-accent)12%,transparent),transparent 38%),radial-gradient(circle at bottom left,color-mix(in srgb,var(--portal-highlight)10%,transparent),transparent 32%),var(--portal-bg);color:var(--portal-copy);scrollbar-gutter:stable}body{min-height:100vh;font-family:var(--font-body),sans-serif;margin:0}a{color:inherit;text-decoration:none}.portal-skip-link{z-index:20;color:color-mix(in srgb,var(--portal-warn)8%,white);transition:top var(--duration-fast,.16s)var(--ease,ease);background:#253126f5;border-radius:999px;padding:.7rem 1rem;position:absolute;top:-3rem;left:1rem}.portal-skip-link:focus-visible{top:1rem}.portal-shell{min-height:100vh;width:min(100%,var(--portal-shell-max-width));align-content:start;gap:1rem;margin-inline:auto;padding:1.15rem;display:grid}.portal-shell--signed-in{gap:.9rem}.portal-access-shell{min-height:100vh;width:min(100%,var(--portal-shell-max-width));align-content:start;gap:1rem;margin-inline:auto;padding:1.15rem;display:grid}.portal-access-topbar,.portal-shell-topbar,.portal-shell-nav-row{border:1px solid var(--portal-border);background:var(--portal-surface);box-shadow:var(--portal-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius-lg,30px);width:100%;min-width:0;padding:1.05rem 1.2rem}.portal-access-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-access-brand,.portal-shell-brand,.portal-shell-brand-link,.portal-shell-account,.portal-shell-nav-intro,.portal-shell-nav-status{gap:.22rem;min-width:0;display:grid}.portal-access-brand strong,.portal-shell-brand-link strong,.portal-shell-account span,.portal-shell-nav-intro strong,.portal-shell-nav-status strong{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.03em}.portal-access-brand strong,.portal-shell-brand-link strong{font-size:1.9rem;line-height:.98}.portal-shell-topbar,.portal-shell-nav-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-shell-topbar-main{flex:auto;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:1rem clamp(2rem,3vw,3rem);min-width:0;display:grid}.portal-shell-brand-link{align-items:center;min-width:0;display:inline-flex}.portal-shell-brand{align-content:start;align-items:center;gap:.7rem;display:flex}.portal-access-brand{align-items:center;gap:.7rem;display:inline-flex}.portal-shell-brand-copy{gap:.22rem;min-width:0;display:grid}.portal-shell-logo{object-fit:contain;border-radius:var(--radius-sm);flex:none;width:2.65rem;height:2.65rem}.portal-shell-account small,.portal-shell-nav-copy,.portal-shell-nav-status small{color:var(--portal-muted);line-height:1.5}.portal-shell-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:.65rem;display:flex}.portal-shell-operating-status{flex:none;align-items:center;min-width:0;max-width:100%;display:inline-flex}.portal-shell-service-status{align-content:center;align-self:end;justify-items:start;gap:.38rem;min-width:0;margin-inline-start:clamp(.4rem,1vw,.85rem);padding-bottom:.22rem;display:grid}.portal-shell-service-status-row{flex-wrap:wrap;align-items:center;gap:.55rem .7rem;min-width:0;display:inline-flex}.portal-shell-service-status-label{color:var(--portal-muted);white-space:nowrap;font-size:.98rem;line-height:1.25}.portal-shell-operating-status strong{min-height:2rem;color:var(--portal-accent-strong);letter-spacing:.16em;background:color-mix(in srgb,var(--portal-warn)18%,var(--portal-surface));border:1px solid color-mix(in srgb,var(--portal-accent)8%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--portal-copy)5%,transparent);border-radius:999px;justify-content:center;align-items:center;padding:.38rem .82rem;font-size:.76rem;font-weight:700;display:inline-flex}.portal-shell-operating-status.is-closed strong{color:var(--portal-alert);background:color-mix(in srgb,var(--portal-alert)18%,var(--portal-surface));border-color:color-mix(in srgb,var(--portal-highlight)16%,transparent)}.portal-shell-operating-status.is-limited strong{color:color-mix(in srgb,var(--portal-warn)78%,var(--portal-copy));background:color-mix(in srgb,var(--portal-warn)22%,var(--portal-surface));border-color:color-mix(in srgb,var(--portal-warn)24%,transparent)}.portal-shell-operating-status-note{color:var(--portal-muted);margin:0;font-size:.88rem;line-height:1.45}.status-widget-page{min-height:100vh;color:var(--portal-copy);background:var(--portal-surface);align-items:start;padding:clamp(.7rem,4vw,1rem);display:grid}.status-widget-card{border:1px solid var(--portal-border);border-radius:var(--radius-md,16px);background:var(--portal-surface);width:min(100%,42rem);box-shadow:0 10px 24px color-mix(in srgb,var(--portal-copy)6%,transparent);gap:.85rem;margin:0 auto;padding:clamp(.9rem,3vw,1.2rem);display:grid}.status-widget-header,.status-widget-main-copy,.status-widget-list-block,.status-widget-list,.status-widget-list li{display:grid}.status-widget-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.status-widget-header span,.status-widget-main-copy small{color:var(--portal-muted);line-height:1.4}.status-widget-header span{text-transform:uppercase;font-size:.86rem;font-weight:700}.status-widget-state{border:1px solid color-mix(in srgb,var(--portal-accent)18%,transparent);min-height:2rem;color:var(--portal-accent-strong);background:color-mix(in srgb,var(--portal-stable)14%,var(--portal-surface));letter-spacing:.12em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .72rem;font-size:.76rem;display:inline-flex}.status-widget-state[data-status=limited]{color:color-mix(in srgb,var(--portal-warn)82%,var(--portal-copy));background:color-mix(in srgb,var(--portal-warn)18%,var(--portal-surface));border-color:color-mix(in srgb,var(--portal-warn)28%,transparent)}.status-widget-state[data-status=closed]{color:var(--portal-alert);background:color-mix(in srgb,var(--portal-alert)16%,var(--portal-surface));border-color:color-mix(in srgb,var(--portal-alert)28%,transparent)}.status-widget-main-copy{gap:.32rem}.status-widget-main-copy h1{color:var(--portal-copy);font-family:var(--font-heading),serif;margin:0;font-size:1.75rem;line-height:1.05}.status-widget-message{color:var(--portal-copy);margin:0;line-height:1.5}.status-widget-list-block{border-top:1px solid var(--portal-border);gap:.45rem;padding-top:.75rem}.status-widget-list-block h2{color:var(--portal-muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.8rem}.status-widget-list{gap:.58rem;margin:0;padding:0;list-style:none}.status-widget-list li{gap:.2rem}.status-widget-list strong{color:var(--portal-copy);font-size:.95rem}.status-widget-list span{color:var(--portal-muted);font-size:.9rem;line-height:1.4}.portal-shell-account{padding-right:.2rem}.portal-shell-nav-intro{max-width:30rem}@media (min-width:701px){.portal-shell--signed-in{gap:0;padding:0 clamp(3rem,5vw,4.8rem) 4rem}.portal-shell--signed-in .portal-shell-topbar{border:none;border-bottom:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:1.55rem 0 1rem;display:grid}.portal-shell--signed-in .portal-nav-shell{align-content:start;gap:.4rem;padding:.75rem 0 1.35rem;display:grid}.portal-shell--signed-in .portal-nav{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;gap:clamp(1rem,2vw,2rem);padding:0}.portal-shell--signed-in .portal-link{background:0 0;border:none;border-radius:0;padding:.25rem 0;position:relative}.portal-shell--signed-in .portal-link:hover{background:0 0;transform:none}.portal-shell--signed-in .portal-link.is-active{background:0 0;border:none}.portal-shell--signed-in .portal-link:after{content:"";background:0 0;border-radius:999px;height:2px;position:absolute;bottom:-.35rem;left:0;right:0}.portal-shell--signed-in .portal-link.is-active:after{background:var(--portal-accent)}.portal-shell--signed-in .portal-link:focus-visible{box-shadow:none;background:0 0;border-color:#0000;outline:none}.portal-shell--signed-in .portal-link:focus-visible:after{background:color-mix(in srgb,var(--portal-accent)55%,transparent)}.portal-shell--signed-in .portal-link span{letter-spacing:.16em;text-transform:uppercase;color:var(--portal-muted);box-shadow:none;background:0 0;border:0;outline:none;font-size:.86rem;font-weight:500;display:inline-block}.portal-shell--signed-in .portal-link.is-active span{color:var(--portal-accent)}.portal-shell--signed-in .portal-link:focus-visible span{color:var(--portal-accent);box-shadow:none;background:0 0;border:0;outline:none}.portal-shell--signed-in .portal-link.is-active:focus-visible:after{background:var(--portal-accent)}.portal-shell--signed-in .portal-shell-brand-link strong{font-size:clamp(2rem,2.6vw,2.45rem)}.portal-shell--signed-in .portal-main{gap:1.75rem;padding-top:1.15rem}}.portal-topbar,.portal-nav,.portal-panel,.portal-card,.hero-panel,.portal-page-header{border:1px solid var(--portal-border);background:var(--portal-surface);box-shadow:var(--portal-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:100%;min-width:0}.portal-topbar,.portal-panel,.hero-panel,.portal-page-header{border-radius:var(--radius-lg,30px);padding:1.3rem 1.4rem}.portal-topbar{justify-content:space-between;align-items:end;gap:1rem;display:flex}.portal-brand,.portal-page-header-copy{gap:.45rem;min-width:0;display:grid}.portal-brand h1,.portal-page-header h1,.hero-panel h2,.panel-heading h3{font-family:var(--font-heading),serif;letter-spacing:-.04em;text-wrap:balance;margin:0}.portal-brand h1{font-size:clamp(2.1rem,5vw,3.2rem)}.portal-page-header h1,.hero-panel h2{font-size:clamp(2rem,4vw,3rem)}.portal-topbar-copy,.portal-page-header p,.hero-panel p,.portal-panel p,.portal-card small,.portal-list li,.portal-link small,.portal-auth-meta,.portal-session-copy,.portal-lead-copy,.portal-inline-copy{color:var(--portal-muted);line-height:1.6}.portal-topbar-copy,.portal-page-header p,.hero-panel p{max-width:42rem;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--portal-muted);margin:0;font-size:.74rem}.portal-session-card{border-radius:var(--radius-lg,24px);border:1px solid #0000;gap:.35rem;min-width:0;padding:1rem 1.05rem;display:grid}.portal-session-card.is-ready{background:color-mix(in srgb,var(--portal-accent)10%,transparent);border-color:color-mix(in srgb,var(--portal-accent)18%,transparent)}.portal-session-card.is-guest{border-color:color-mix(in srgb,var(--portal-accent)14%,transparent);background:#ffffff9e}.portal-session-card.is-attention{background:color-mix(in srgb,var(--portal-highlight)10%,transparent);border-color:color-mix(in srgb,var(--portal-highlight)16%,transparent)}.portal-topbar-actions{flex-wrap:wrap;gap:.65rem;margin-top:.25rem;display:flex}.portal-nav-shell{gap:.6rem;display:grid}.portal-nav-toggle{border:1px solid color-mix(in srgb,var(--portal-accent)18%,transparent);color:var(--portal-copy);font:inherit;background:#ffffffc2;border-radius:999px;justify-content:center;align-items:center;padding:.72rem 1rem;font-weight:600;display:none}.portal-nav{border-radius:var(--radius-lg,24px);flex-wrap:wrap;align-items:center;gap:.45rem;padding:.5rem;display:flex}.portal-link{touch-action:manipulation;transition:transform var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease);background:#ffffff47;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.72rem .95rem;display:inline-flex}.portal-link:hover{background:#ffffffb8;transform:translateY(-1px)}.portal-link:focus-visible,.portal-action-link:focus-visible,.portal-inline-link:focus-visible,.portal-inline-button:focus-visible,.portal-auth-button:focus-visible,.portal-home-action:focus-visible,.portal-home-note-link:focus-visible,.portal-family-button:focus-visible,.portal-family-link:focus-visible{border-color:color-mix(in srgb,var(--portal-accent)40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent)14%,transparent);outline:none}.portal-link.is-active{background:color-mix(in srgb,var(--portal-accent)12%,transparent);border-color:var(--portal-border-strong)}.portal-link span{color:var(--portal-copy);font-weight:700}.portal-link.is-active span{color:var(--portal-accent)}.portal-link .portal-link-badge{background:var(--portal-accent);color:#fff;letter-spacing:0;text-transform:none;width:1.55rem;min-width:1.55rem;height:1.55rem;box-shadow:0 8px 22px color-mix(in srgb,var(--portal-accent)16%,transparent);border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.portal-shell--signed-in .portal-link .portal-link-badge,.portal-link.is-active .portal-link-badge,.portal-link:focus-visible .portal-link-badge{color:#fff;background:var(--portal-accent);letter-spacing:0;text-transform:none;box-shadow:0 8px 22px color-mix(in srgb,var(--portal-accent)16%,transparent);border:0;outline:none;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.portal-main,.portal-stack{gap:.8rem;min-width:0;display:grid}.portal-access-stack{gap:1.15rem}.portal-page-header{justify-content:space-between;align-items:end;gap:1rem;min-width:0;display:flex}.portal-page-header-actions{flex-wrap:wrap;justify-content:end;gap:.65rem;min-width:0;display:flex}.portal-header-help{justify-content:flex-start;margin-top:.75rem;display:flex}.data-state{border-radius:var(--radius-lg,22px);border:1px solid var(--portal-border);background:#ffffffa8;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.9rem 1rem;display:flex}.data-state span{color:var(--portal-muted)}.data-state.is-live{border-color:color-mix(in srgb,var(--portal-accent)28%,transparent)}.data-state.is-fallback{border-color:color-mix(in srgb,var(--portal-highlight)20%,transparent)}.portal-flash-stack{top:max(1rem,env(safe-area-inset-top,0px) + 1rem);right:max(1rem,env(safe-area-inset-right,0px) + 1rem);z-index:120;pointer-events:none;gap:.7rem;width:min(23rem,100vw - 2rem);display:grid;position:fixed}.portal-flash-badge{border-radius:var(--radius-lg,20px);border:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);box-shadow:0 18px 36px color-mix(in srgb,var(--portal-copy)12%,transparent),inset 0 1px 0 #ffffff8f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;animation:portal-flash-enter var(--duration-fast,.18s)var(--ease,ease)-out;background:#fffbf4eb;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.9rem;padding:.85rem .95rem;display:grid}.portal-flash-badge.is-success,.portal-flash-badge.is-info{border-color:color-mix(in srgb,var(--portal-accent)18%,transparent)}.portal-flash-badge.is-warning{border-color:color-mix(in srgb,var(--portal-warn)20%,transparent)}.portal-flash-badge.is-error{border-color:color-mix(in srgb,var(--portal-highlight)22%,transparent)}.portal-flash-badge-copy{gap:.18rem;min-width:0;display:grid}.portal-flash-badge-copy strong{color:var(--portal-copy);font-size:.95rem;line-height:1.35}.portal-flash-badge-copy p{color:var(--portal-muted);margin:0;font-size:.9rem;line-height:1.45}.portal-flash-badge-dismiss{background:color-mix(in srgb,var(--portal-muted)8%,transparent);width:2.75rem;height:2.75rem;color:var(--portal-muted);cursor:pointer;transition:background var(--duration-fast,.16s)var(--ease,ease),color var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.portal-flash-badge-dismiss:hover{background:color-mix(in srgb,var(--portal-muted)14%,transparent);color:var(--portal-copy);transform:translateY(-1px)}.portal-flash-badge-dismiss:focus-visible{outline:2px solid color-mix(in srgb,var(--portal-accent)24%,transparent);outline-offset:2px}@keyframes portal-flash-enter{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}.portal-grid,.portal-columns,.portal-status-grid{gap:1rem;min-width:0;display:grid}.portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.portal-card{border-radius:var(--radius-lg,28px);gap:.35rem;min-width:0;padding:1.15rem;display:grid}.portal-card strong{font-family:var(--font-heading),serif;color:var(--portal-highlight);overflow-wrap:anywhere;word-break:break-word;font-size:2.35rem;line-height:1.05;display:block}.portal-status-card{border:1px solid var(--portal-border);border-radius:var(--radius-lg,22px);background:#ffffff9e;gap:.3rem;padding:.95rem 1rem;display:grid}.portal-status-card span,.portal-status-card small{color:var(--portal-muted)}.portal-status-card strong{font-family:var(--font-heading),serif;font-size:1.3rem}.portal-status-card.is-ready strong{color:var(--portal-accent)}.portal-status-card.is-watch strong{color:var(--portal-highlight)}.portal-status-card.is-attention strong{color:var(--portal-alert)}.panel-heading{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.pill{background:color-mix(in srgb,var(--portal-accent)10%,transparent);color:var(--portal-accent);border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.78rem;display:inline-flex}.portal-list{gap:.7rem;margin:1rem 0 0;padding-left:1rem;display:grid}.portal-list.ordered{padding-left:1.15rem}.portal-action-row{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.portal-action-link,.portal-action-chip{border:1px solid var(--portal-border);border-radius:var(--radius-lg,18px);background:#ffffffbd;padding:.8rem .95rem}.portal-action-link{touch-action:manipulation;min-width:min(100%,15rem);transition:transform var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease);gap:.2rem;min-width:0;display:grid}.portal-action-link:hover{border-color:var(--portal-border-strong);transform:translateY(-2px)}.portal-action-link strong{color:var(--portal-copy)}.portal-action-link span,.portal-action-chip{color:var(--portal-muted)}.portal-chip-list{flex-wrap:wrap;gap:.55rem;display:flex}.portal-chip{background:color-mix(in srgb,var(--portal-accent)8%,transparent);color:var(--portal-accent);border-radius:999px;align-items:center;padding:.35rem .7rem;font-size:.82rem;display:inline-flex}.portal-subpanel{border:1px solid var(--portal-border);border-radius:var(--radius-lg,22px);background:#ffffff8f;gap:.8rem;margin-top:.5rem;padding:1rem;display:grid}.portal-subpanel legend{color:var(--portal-text);padding:0 .35rem;font-weight:700}.portal-checklist{gap:.7rem;display:grid}.portal-check-row{color:var(--portal-muted);align-items:start;gap:.7rem;display:flex}.portal-check-row small{margin-top:.2rem;display:block}.portal-auth-form,.portal-filter-form{gap:1rem;margin-top:1rem;display:grid}.portal-auth-form{max-width:28rem}.portal-filter-form{max-width:20rem}.portal-field-group{gap:.35rem;display:grid}.portal-field-group span{text-transform:uppercase;letter-spacing:.12em;color:var(--portal-muted);font-size:.72rem}.portal-field-hint{color:var(--portal-muted);line-height:1.5}.portal-field-group input,.portal-field-group select,.portal-field-group textarea{border:1px solid var(--portal-border);color:var(--portal-copy);border-radius:var(--radius-lg,18px);font:inherit;background:#ffffffd6;padding:.9rem 1rem}.portal-field-group input:focus-visible,.portal-field-group select:focus-visible,.portal-field-group textarea:focus-visible{border-color:color-mix(in srgb,var(--portal-accent)40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent)12%,transparent);outline:none}.portal-field-group select{appearance:none}.portal-field-group input[type=file]{padding:.72rem 1rem}.portal-auth-button,.portal-inline-button,.portal-inline-link{font:inherit;touch-action:manipulation;transition:transform var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease);border-radius:999px;justify-content:center;align-items:center;padding:.72rem 1.05rem;font-weight:600;display:inline-flex}.portal-auth-button{background:linear-gradient(135deg,color-mix(in srgb,var(--portal-accent)96%,transparent),color-mix(in srgb,var(--portal-highlight)88%,transparent));color:color-mix(in srgb,var(--portal-warn)8%,white);cursor:pointer;border:1px solid #0000}.portal-inline-button,.portal-inline-link{border:1px solid color-mix(in srgb,var(--portal-accent)20%,transparent);color:var(--portal-copy);background:#ffffffc2}.portal-help-link:after{content:"->";margin-left:.35rem;font-size:.72em;line-height:1}.portal-auth-button:hover,.portal-inline-button:hover,.portal-inline-link:hover{transform:translateY(-1px)}.portal-auth-button:disabled,.portal-inline-button:disabled,.portal-auth-button[aria-busy=true],.portal-inline-button[aria-busy=true]{cursor:not-allowed;opacity:.62}.portal-auth-button:disabled:hover,.portal-inline-button:disabled:hover,.portal-auth-button[aria-busy=true]:hover,.portal-inline-button[aria-busy=true]:hover{transform:none}.portal-inline-form{margin:0}.portal-inline-button{cursor:pointer}.portal-alert{border-radius:var(--radius-lg,18px);border:1px solid color-mix(in srgb,var(--portal-highlight)22%,transparent);background:color-mix(in srgb,var(--portal-highlight)10%,transparent);color:var(--portal-alert);margin:0;padding:.9rem 1rem}.portal-resume-card{border:1px solid color-mix(in srgb,var(--portal-highlight)28%,transparent);border-radius:var(--radius-lg,24px);background:color-mix(in srgb,var(--portal-highlight)13%,white);box-shadow:0 12px 32px color-mix(in srgb,var(--portal-copy)5%,transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.1rem;display:grid}.portal-resume-card p{color:var(--portal-muted);margin:.25rem 0 0;line-height:1.48}.portal-access-hero,.portal-access-grid,.portal-access-highlights{gap:1rem;display:grid}.portal-access-hero{grid-template-columns:minmax(0,1.5fr) minmax(19rem,.85fr);align-items:stretch}.portal-access-copy,.portal-access-rail,.portal-access-note,.portal-access-highlight{gap:.7rem;display:grid}.portal-access-copy{align-content:start}.portal-access-copy h2,.portal-access-note strong,.portal-access-highlight strong{font-family:var(--font-heading),serif;letter-spacing:-.04em;margin:0}.portal-access-copy h2{text-wrap:balance;font-size:clamp(2.9rem,6vw,4.8rem);line-height:.96}.portal-access-summary{max-width:38rem;font-family:var(--font-heading),serif;letter-spacing:-.03em;color:var(--portal-copy);margin:0;font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.14}.portal-access-highlights{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.35rem}.portal-access-highlight,.portal-access-note{border:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);border-radius:var(--radius-lg,22px);background:#ffffff80;padding:1rem 1.05rem}.portal-access-highlight span,.portal-access-note p{color:var(--portal-muted);line-height:1.55}.portal-access-highlight strong{color:var(--portal-copy);font-size:1.15rem}.portal-access-rail{align-content:space-between}.portal-access-note strong{color:var(--portal-copy);font-size:1.6rem}.portal-access-actions{flex-wrap:wrap;gap:.75rem;display:flex}.portal-access-grid{grid-template-columns:minmax(0,1.08fr) minmax(18rem,.72fr);align-items:start}.portal-access-signin,.portal-access-support{gap:1rem;display:grid}.portal-access-signin .portal-auth-form{max-width:28rem}.portal-access-support .portal-inline-link{justify-self:start}.portal-empty-state{justify-content:center;min-height:100%}.portal-empty-state .panel-heading{align-items:center}.portal-hero-grid,.portal-record-grid,.portal-detail-grid,.portal-stat-strip{gap:1rem;min-width:0;display:grid}.portal-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.95fr);align-items:start}.portal-hero-grid.is-dogs{grid-template-columns:minmax(16rem,.92fr) minmax(0,1.35fr)}.portal-hero-primary,.portal-hero-secondary{gap:1rem;display:grid}.portal-hero-summary{font-family:var(--font-heading),serif;letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.15}.portal-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-detail-pair{border-top:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);gap:.25rem;min-width:0;padding-top:.85rem;display:grid}.portal-detail-pair span,.portal-stat-block span,.portal-record-item small,.portal-directory-item small,.portal-directory-item span,.portal-meta-row span{color:var(--portal-muted)}.portal-detail-pair span,.portal-stat-block span{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.portal-detail-pair strong,.portal-meta-row strong{color:var(--portal-copy)}.portal-detail-pair strong{overflow-wrap:anywhere;font-size:1.02rem}.portal-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-record-card{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);border-radius:var(--radius-lg,22px);background:#ffffff94;gap:.75rem;min-width:0;padding:1rem;display:grid}.portal-record-card.is-tinted{background:linear-gradient(135deg,color-mix(in srgb,var(--portal-accent)10%,transparent),#ffffff85),#ffffff94}.portal-record-card.is-warm{background:linear-gradient(135deg,color-mix(in srgb,var(--portal-highlight)8%,transparent),#ffffff85),#ffffff94}.portal-dog-roster,.portal-dog-form,.portal-note-grid{gap:.9rem;display:grid}.portal-dog-roster-card,.portal-form-actions,.portal-danger-zone{gap:.85rem;display:flex}.portal-dog-roster-card{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);border-radius:var(--radius-lg,20px);transition:transform var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease);background:#ffffffb8;justify-content:space-between;align-items:start;padding:.95rem 1rem}.portal-dog-roster-card:hover{border-color:var(--portal-border-strong);transform:translateY(-1px)}.portal-dog-roster-card.is-selected{border-color:color-mix(in srgb,var(--portal-accent)28%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--portal-accent)12%,transparent),#ffffffc7),#ffffffb8}.portal-dog-roster-copy{gap:.25rem;min-width:0;display:grid}.portal-dog-roster-copy strong,.portal-dog-photo-placeholder strong{color:var(--portal-copy);font-family:var(--font-heading),serif}.portal-dog-roster-copy span,.portal-dog-roster-copy small,.portal-dog-photo-placeholder span,.portal-danger-zone p{color:var(--portal-muted)}.portal-dog-hero{grid-template-columns:minmax(13rem,.78fr) minmax(0,1.22fr);align-items:stretch;gap:1rem;display:grid}.portal-dog-photo-frame{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);border-radius:var(--radius-lg,28px);background:radial-gradient(circle at top right,color-mix(in srgb,var(--portal-accent)18%,transparent),transparent 32%),linear-gradient(160deg,#ffffffd6,#f1e9dceb);min-height:18rem;overflow:hidden}.portal-dog-photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.portal-dog-photo-placeholder{text-align:center;place-items:center;gap:.45rem;height:100%;padding:1.3rem;display:grid}.portal-dog-photo-placeholder strong{background:color-mix(in srgb,var(--portal-accent)12%,transparent);border-radius:999px;place-items:center;width:4.2rem;height:4.2rem;font-size:1.75rem;display:grid}.portal-dog-identity{gap:1rem;display:grid}.portal-form-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.portal-note-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-dog-form textarea{resize:vertical;min-height:8.2rem}.portal-form-actions{flex-wrap:wrap;align-items:center}.portal-danger-zone{border:1px solid color-mix(in srgb,var(--portal-highlight)18%,transparent);border-radius:var(--radius-lg,22px);background:linear-gradient(135deg,color-mix(in srgb,var(--portal-highlight)8%,transparent),#ffffffb3),#ffffff94;justify-content:space-between;align-items:center;margin-top:1rem;padding:1rem}.portal-inline-button.is-danger{border-color:color-mix(in srgb,var(--portal-highlight)28%,transparent);background:color-mix(in srgb,var(--portal-highlight)12%,transparent);color:var(--portal-alert)}.portal-record-stack,.portal-directory-list{gap:.7rem;display:grid}.portal-record-item{border-bottom:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);gap:.25rem;padding-bottom:.75rem;display:grid}.portal-record-item:last-child,.portal-meta-row:last-child{border-bottom:none;padding-bottom:0}.portal-record-item strong,.portal-directory-item strong,.portal-stat-block strong{color:var(--portal-copy);overflow-wrap:anywhere}.portal-record-item p,.portal-record-item small,.portal-directory-item p{margin:0;line-height:1.5}.portal-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-stat-block{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);border-radius:var(--radius-lg,18px);background:#ffffff8f;gap:.25rem;padding:.85rem .9rem;display:grid}.portal-stat-block strong{font-family:var(--font-heading),serif;font-size:1.55rem;line-height:1.05}.portal-meta-list{gap:.7rem;display:grid}.portal-meta-row{border-bottom:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);justify-content:space-between;align-items:start;gap:1rem;padding-bottom:.7rem;display:flex}.portal-meta-row strong{text-align:right;overflow-wrap:anywhere}.portal-directory-item{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);border-radius:var(--radius-lg,18px);transition:transform var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease);background:#ffffffb8;gap:.2rem;padding:.8rem .9rem;display:grid}.portal-directory-item:hover{border-color:var(--portal-border-strong);transform:translateY(-1px)}.portal-directory-item.is-selected{background:color-mix(in srgb,var(--portal-accent)12%,transparent);border-color:var(--portal-border-strong)}.portal-access-main,.portal-access-page,.portal-concierge-page{gap:1rem;min-width:0;display:grid}.portal-access-main{align-content:start}.portal-access-page{min-height:calc(100vh - 7.5rem)}.portal-access-stage{grid-template-columns:minmax(0,.95fr) minmax(18rem,.85fr);align-items:stretch;gap:1rem;display:grid}.portal-access-panel{border:1px solid var(--portal-border);background:var(--portal-surface);box-shadow:var(--portal-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius-lg,30px);gap:1rem;padding:1.2rem 1.25rem;display:grid}.portal-access-panel--intro,.portal-access-panel--form{align-content:start}.portal-access-panel h1,.portal-access-panel h2,.portal-primary-task h1{font-family:var(--font-heading),serif;letter-spacing:-.04em;text-wrap:balance;margin:0}.portal-access-panel h1,.portal-primary-task h1{font-size:clamp(2.35rem,4.5vw,3.5rem);line-height:.95}.portal-access-panel h2{font-size:2rem;line-height:.98}.portal-access-lead,.portal-access-note p,.portal-summary-card p,.portal-primary-task-copy p,.portal-drawer-copy p{color:var(--portal-muted);margin:0;line-height:1.6}.portal-access-card-head{justify-content:space-between;align-items:start;gap:.85rem;display:flex}.portal-access-note-list{gap:.75rem;display:grid}.portal-access-note{border:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);border-radius:var(--radius-lg,22px);background:#ffffff8a;gap:.35rem;padding:.95rem 1rem;display:grid}.portal-access-note strong{color:var(--portal-copy)}.portal-access-secondary-actions{flex-wrap:wrap;gap:.7rem;display:flex}.portal-login-page,.portal-login-stage,.portal-login-main,.portal-login-form-copy,.portal-login-secondary-actions{display:grid}.portal-login-page{place-items:center;min-height:calc(100vh - 8rem);padding-block:1rem}.portal-login-stage{place-items:center;width:min(100%,40rem)}.portal-login-main{align-content:center;justify-items:center;gap:1rem;width:min(100%,40rem);min-width:0;transform:translateY(-100px)}.portal-login-logo{object-fit:contain;width:min(18rem,58vw);height:auto;margin-bottom:50px}.portal-field-help{color:var(--portal-muted);font-size:.82rem;line-height:1.35;display:block}.portal-agreement-list{gap:.85rem;display:grid}.portal-agreement-card{border:1px solid var(--portal-border);border-radius:var(--radius-md);background:var(--portal-surface);box-shadow:var(--portal-shadow);gap:.85rem;padding:1rem;display:grid}.portal-agreement-card.is-accepted{border-color:color-mix(in srgb,var(--portal-success,#4e7d57)28%,transparent);background:color-mix(in srgb,var(--portal-success,#4e7d57)8%,var(--portal-surface))}.portal-agreement-card-copy{gap:.3rem;display:grid}.portal-agreement-card-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;display:flex}.portal-agreement-status{border:1px solid color-mix(in srgb,var(--portal-accent)18%,transparent);color:var(--portal-muted);text-transform:uppercase;letter-spacing:.08em;background:#ffffffa3;border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.76rem;font-weight:700;line-height:1;display:inline-flex}.portal-agreement-status.is-accepted{border-color:color-mix(in srgb,var(--portal-success,#4e7d57)30%,transparent);color:color-mix(in srgb,var(--portal-success,#4e7d57)78%,var(--portal-copy))}.portal-agreement-card-copy p,.portal-agreement-card-copy small{margin:0}.portal-agreement-card-copy small{color:var(--portal-muted)}.portal-login-form-surface,.portal-login-secondary-link{border:1px solid var(--portal-border);background:var(--portal-surface);box-shadow:var(--portal-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-login-form-surface{border-radius:var(--radius-lg,30px);gap:1rem;width:min(100%,39rem);padding:1.25rem 1.35rem;display:grid}.portal-login-form-copy{gap:.35rem;min-width:0}.portal-login-form-copy h1{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(2.15rem,4vw,3.1rem);line-height:.98}.portal-login-form-surface .portal-auth-form{max-width:none;margin-top:.25rem}.portal-login-form-surface .portal-auth-button{background:linear-gradient(145deg,var(--portal-accent-strong),var(--portal-accent));box-shadow:0 16px 30px color-mix(in srgb,var(--portal-accent)20%,transparent)}.portal-login-secondary-actions{grid-template-columns:repeat(2,auto);justify-content:center;gap:.75rem;width:min(100%,39rem)}.portal-login-secondary-link{white-space:nowrap;border-radius:999px;justify-content:center;min-width:16rem;min-height:3rem}.portal-attention-ribbon,.portal-primary-task,.portal-summary-card,.portal-drawer-section,.portal-roster-link{border:1px solid var(--portal-border);background:var(--portal-surface);box-shadow:var(--portal-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.portal-attention-ribbon{border-radius:var(--radius-lg,22px);gap:.25rem;padding:.9rem 1rem;display:grid}.portal-attention-ribbon.is-attention{background:linear-gradient(135deg,color-mix(in srgb,var(--portal-highlight)14%,transparent),#ffffffb8),#fffbf5e0}.portal-attention-ribbon.is-ready{background:linear-gradient(135deg,color-mix(in srgb,var(--portal-accent)12%,transparent),#ffffffb8),#fffbf5e0}.portal-attention-ribbon span{text-transform:uppercase;letter-spacing:.14em;color:var(--portal-muted);font-size:.7rem}.portal-attention-ribbon strong{color:var(--portal-copy)}.portal-primary-task{border-radius:var(--radius-lg,30px);gap:1rem;padding:1.25rem 1.35rem;display:grid}.portal-page-stack,.portal-support-grid{gap:.8rem;display:grid}.portal-home-editorial{gap:calc(clamp(2.4rem,4vw,4.28rem) - 1.5625rem);padding-top:3.125rem;display:grid}.portal-home-header,.portal-family-header,.portal-family-setup{align-content:start;gap:.7rem;max-width:42rem;min-height:8.6rem;display:grid}.portal-home-header h1,.portal-home-stage-head h1,.portal-family-header h1,.portal-family-note strong,.portal-family-setup h1,.portal-home-note-value{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.04em;margin:0}.portal-home-header h1,.portal-family-header h1,.portal-family-setup h1{font-size:clamp(2.8rem,5.5vw,4.6rem);font-weight:400;line-height:.95}.portal-home-header p:not(.eyebrow),.portal-home-stage-intro,.portal-home-stream-copy p,.portal-home-note p,.portal-home-note-list li p,.portal-home-rail-block p,.portal-family-header p:not(.eyebrow),.portal-family-section-copy p,.portal-family-empty p,.portal-family-note p,.portal-family-rail-copy p,.portal-family-setup p,.portal-home-empty-copy{color:var(--portal-muted);margin:0;line-height:1.7}.portal-home-stage{grid-template-columns:minmax(0,1.55fr) minmax(18rem,.72fr);align-items:start;gap:clamp(2.4rem,6vw,5.4rem);display:grid}.portal-home-stage-main{gap:2.4rem;min-width:0;display:grid}.portal-home-stage-head{align-items:start;gap:.65rem;min-width:0;max-width:none;display:grid}.portal-home-stage-head-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.portal-home-stage-head-copy{gap:.55rem;min-width:0;display:grid}.portal-home-stage-launch{justify-content:flex-end;display:flex}.portal-home-stage-launch--centered{justify-content:center}.portal-home-stage-head h1,.portal-home-stage-title{text-overflow:ellipsis;white-space:nowrap;text-wrap:nowrap;min-width:0;max-width:100%;padding-block-end:.08em;font-size:clamp(2.65rem,5.5vw,4.35rem);font-weight:400;line-height:1;display:block;overflow:hidden}.portal-home-stage-title.is-compact{font-size:clamp(2.15rem,4.8vw,3.45rem)}.portal-home-stage-title.is-tight{font-size:clamp(1.8rem,4vw,2.75rem);line-height:.98}.portal-home-stage-title.is-ultra-tight{font-size:clamp(1.5rem,3.3vw,2.25rem);line-height:1}.portal-home-stage-intro{max-width:40rem;font-size:1.08rem}.portal-home-stage-story{gap:1.75rem;min-width:0;display:grid}.portal-home-stage-summary,.portal-home-stage-moment,.portal-home-stage-actions,.portal-home-next-booking,.portal-home-next-booking-summary,.portal-home-next-booking-meta,.portal-home-next-booking-manage,.portal-home-next-booking-status,.portal-home-upcoming,.portal-home-upcoming-head,.portal-home-upcoming-list,.portal-home-upcoming-row,.portal-home-upcoming-copy,.portal-home-upcoming-identity,.portal-home-upcoming-actions,.portal-home-upcoming-stamp,.portal-home-rail-section,.portal-home-rail-block{display:grid}.portal-home-stage-summary{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.4rem}.portal-home-next-booking{border-radius:var(--radius-lg,28px);box-shadow:inset 0 1px 0 #ffffff8a,0 20px 42px color-mix(in srgb,var(--portal-copy)6%,transparent);background:linear-gradient(#fffbf4f5,#faf5eae6),#fff9efe6;gap:1.2rem;padding:1.35rem 1.4rem}.portal-home-next-booking-summary{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.2rem}.portal-home-stage-moment{gap:.45rem;display:grid}.portal-home-stage-moment span{color:var(--portal-accent);font-family:var(--font-heading),serif;font-size:clamp(2.3rem,4vw,3.25rem);font-weight:400;line-height:.9}.portal-home-stage-moment strong{color:color-mix(in srgb,var(--portal-copy)74%,transparent);font-size:1.2rem;font-weight:500}.portal-home-next-booking-meta{text-align:right;justify-items:end;gap:.2rem}.portal-home-next-booking-meta p,.portal-home-upcoming-head p:last-child,.portal-home-upcoming-copy p{color:var(--portal-muted);margin:0;line-height:1.6}.portal-home-next-booking-status{justify-content:end;align-items:center;gap:.7rem;display:flex}.portal-home-next-booking-avatars{align-items:center;padding-left:.45rem;display:inline-flex}.portal-home-next-booking-avatar{width:2.25rem;height:2.25rem;box-shadow:0 8px 18px color-mix(in srgb,var(--portal-copy)8%,transparent);border:2px solid #fffbf4f5}.portal-home-next-booking-avatar+.portal-home-next-booking-avatar{margin-left:-.55rem}.portal-home-booking-chip{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:1.9rem;padding:.24rem .62rem;font-size:.82rem;font-weight:600;display:inline-flex}.portal-home-booking-chip.is-confirmed{background:color-mix(in srgb,var(--portal-accent)13%,transparent);color:var(--portal-accent)}.portal-home-booking-chip.is-pending{background:color-mix(in srgb,var(--portal-warn)20%,transparent);color:var(--portal-warn)}.portal-home-booking-chip.is-mixed{background:color-mix(in srgb,var(--portal-muted)12%,transparent);color:var(--portal-warn)}.portal-home-next-booking-manage{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);padding-top:1rem}.portal-home-stream-copy,.portal-home-note,.portal-home-note-list li,.portal-home-rail-section,.portal-home-rail-block{gap:.3rem;display:grid}.portal-home-upcoming{gap:1rem}.portal-home-upcoming-head{gap:.24rem;max-width:32rem}.portal-home-upcoming-list{gap:0}.portal-home-upcoming-list,.portal-home-note-list{margin:0;padding:0;list-style:none}.portal-home-upcoming-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1rem 0}.portal-home-upcoming-row+.portal-home-upcoming-row{border-top:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent)}.portal-home-upcoming-stamp{border-radius:var(--radius-md,16px);background:#fffbf4d6;justify-items:center;gap:.1rem;min-width:3.65rem;padding:.55rem .65rem;box-shadow:inset 0 1px #ffffff8f}.portal-home-upcoming-stamp span{color:var(--portal-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.portal-home-upcoming-stamp strong{color:var(--portal-copy);font-family:var(--font-heading),serif;font-size:1.5rem;font-weight:400;line-height:.95}.portal-home-upcoming-copy{gap:.22rem;padding-top:.2rem}.portal-home-upcoming-identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem}.portal-home-upcoming-avatar{width:2.35rem;height:2.35rem}.portal-home-upcoming-copy strong{color:var(--portal-copy);text-wrap:balance;font-weight:500;line-height:1.4}.portal-home-upcoming-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:.85rem;padding-top:.35rem;display:flex}.portal-home-stage-actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.portal-home-action,.portal-home-note-link{width:fit-content;min-width:0;font:inherit;justify-content:center;align-items:center;display:inline-flex}.portal-home-action{border:1px solid color-mix(in srgb,var(--portal-accent)16%,transparent);color:var(--portal-accent-strong);cursor:pointer;transition:background var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease),box-shadow var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);background:#fffcf7b8;border-radius:999px;padding:.72rem 1.12rem;line-height:1.2;text-decoration:none}.portal-home-action--primary{background:linear-gradient(145deg,var(--portal-accent),var(--portal-accent-strong));color:#f7f9ed;box-shadow:0 14px 28px color-mix(in srgb,var(--portal-copy)12%,transparent);border-color:#0000}.portal-home-action--secondary{background:#fffdf8c7;box-shadow:inset 0 0 0 1px #50654a0a}.portal-home-row-link,.portal-home-note-link{width:fit-content;font:inherit;color:var(--portal-accent-strong);border:0;border-bottom:2px solid color-mix(in srgb,var(--portal-accent)18%,transparent);cursor:pointer;background:0 0;align-items:center;padding:0 0 .25rem;text-decoration:none;display:inline-flex}.portal-home-action:hover{transform:translateY(-1px)}.portal-home-action--primary:hover{box-shadow:0 18px 34px color-mix(in srgb,var(--portal-copy)14%,transparent)}.portal-home-row-link:hover,.portal-home-action--secondary:hover,.portal-home-note-link:hover{border-color:color-mix(in srgb,var(--portal-accent)22%,transparent)}.portal-home-stage-rail{align-content:start;gap:1.35rem;display:grid}.portal-home-stream{gap:1.15rem;min-width:0;display:grid}.portal-home-stream-list{gap:.95rem;display:grid}.portal-home-stream-item{border-radius:var(--radius-lg,20px);background:#ffffff6b;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.95rem;padding:1rem 1.1rem;display:grid}.portal-home-stream-dot{background:var(--portal-accent);border-radius:999px;width:.7rem;height:.7rem;margin-top:.45rem}.portal-home-stream-label{text-transform:uppercase;letter-spacing:.14em;color:var(--portal-muted);font-size:.68rem}.portal-home-stream-copy strong,.portal-home-note strong:not(.portal-home-note-value),.portal-home-note-list li strong,.portal-home-rail-block>strong{color:var(--portal-copy);font-weight:500;line-height:1.45}.portal-home-stream-time{color:var(--portal-muted);white-space:nowrap;font-size:.84rem}.portal-home-note{border-radius:var(--radius-lg,24px);box-shadow:inset 0 1px 0 #ffffff75,0 18px 38px color-mix(in srgb,var(--portal-copy)6%,transparent);background:linear-gradient(#fffbf4fa,#fcf7ecf5),#fffaeff5;gap:.8rem;padding:1.3rem 1.35rem}.portal-home-rail-section{border-radius:var(--radius-lg,24px);background:#fff9f0c2;gap:1rem;padding:1.15rem 1.2rem;box-shadow:inset 0 1px #ffffff70}.portal-home-rail-block{gap:.35rem}.portal-home-rail-block+.portal-home-rail-block{border-top:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);padding-top:1rem}.portal-home-note-list{gap:.9rem;display:grid}.portal-home-note .portal-home-note-value{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400;line-height:.95}.portal-family-editorial{gap:clamp(2.4rem,4vw,4.28rem);padding-top:3.125rem;display:grid}.portal-family-note strong{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.04em;margin:0}.portal-family-layout{grid-template-columns:minmax(0,1.68fr) minmax(17rem,.58fr);align-items:start;gap:clamp(2.3rem,5vw,4.5rem);display:grid}.portal-family-main,.portal-family-rail,.portal-family-section,.portal-family-section-copy,.portal-family-note,.portal-family-rail-copy,.portal-family-note-list,.portal-family-list,.portal-family-person,.portal-family-person-copy,.portal-family-person-heading,.portal-family-person-badges,.portal-family-person-meta,.portal-family-form,.portal-family-form-grid,.portal-family-fieldset,.portal-family-empty,.portal-family-confirm,.portal-family-setup{display:grid}.portal-family-main{gap:2.2rem;min-width:0}.portal-family-rail{align-content:start;gap:1.35rem}.portal-family-section{gap:1rem;padding:0}.portal-family-section+.portal-family-section{border-top:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);padding-top:1.9rem}.portal-family-section-head,.portal-family-person-top,.portal-family-action-row{justify-content:space-between;align-items:start;gap:1rem;display:flex}.portal-family-section-copy{gap:.45rem;max-width:38rem}.portal-family-section-add{flex-shrink:0;min-width:max-content}.portal-family-section-copy h2{color:var(--portal-copy);font-family:var(--font-heading),serif;margin:0;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:400;line-height:1}.portal-family-list{gap:0}.portal-family-person{background:0 0;border-radius:0;gap:1rem;padding:1.15rem 0}.portal-family-person+.portal-family-person{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-family-person-summary{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;display:grid}.portal-family-avatar{background:linear-gradient(155deg,color-mix(in srgb,var(--portal-warn)20%,var(--portal-surface)),color-mix(in srgb,var(--portal-warn)30%,var(--portal-surface)));width:4rem;height:4rem;color:var(--portal-accent-strong);letter-spacing:.02em;border:1px solid #50654a1a;border-radius:999px;justify-content:center;align-items:center;font-size:1.45rem;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #fff9}.portal-family-avatar--editor{width:5.35rem;height:5.35rem;font-size:1.65rem}.portal-family-avatar--photo{object-fit:cover;display:block}.portal-family-person-copy{gap:.7rem;min-width:0}.portal-family-person-heading{gap:.45rem}.portal-family-person-heading strong{color:var(--portal-copy);font-size:1.08rem;font-weight:500;line-height:1.45}.portal-family-person-badges{grid-auto-flow:column;justify-content:start;gap:.45rem}.portal-family-role{background:color-mix(in srgb,var(--portal-warn)15%,var(--portal-surface));color:color-mix(in srgb,var(--portal-copy)72%,transparent);border-radius:999px;align-items:center;padding:.28rem .7rem;font-size:.8rem;line-height:1.2;display:inline-flex}.portal-family-role--accent{background:color-mix(in srgb,var(--portal-accent)12%,transparent);color:var(--portal-accent-strong)}.portal-family-person-meta{gap:.28rem;margin:0;padding:0;list-style:none}.portal-family-person-meta li,.portal-family-note-list li{color:var(--portal-muted);line-height:1.6}.portal-family-person-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:.95rem;display:inline-flex}.portal-family-link{color:var(--portal-accent-strong);border-bottom:2px solid color-mix(in srgb,var(--portal-accent)18%,transparent);transition:border-color var(--duration-fast,.16s)var(--ease,ease);padding-bottom:.22rem;text-decoration:none}.portal-family-note{border-radius:var(--radius-lg,24px);background:color-mix(in srgb,var(--portal-surface)78%,transparent);gap:.8rem;padding:1.2rem 1.25rem;box-shadow:inset 0 1px #ffffff70}.portal-family-note strong{font-size:1.45rem;font-weight:400;line-height:1.05}.portal-family-rail-copy{gap:.4rem;max-width:19rem;padding:0 .1rem}.portal-family-rail-copy strong{color:var(--portal-copy);font-size:1rem;font-weight:600;line-height:1.4}.portal-family-note-list{gap:.75rem;margin:0;padding:0;list-style:none}.portal-family-note-list li{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.portal-family-note-list li strong{color:var(--portal-copy);letter-spacing:0;font-family:inherit;font-size:.98rem}.portal-family-note-list li span{color:var(--portal-muted);font-size:.9rem}.portal-family-button{border:1px solid color-mix(in srgb,var(--portal-accent)16%,transparent);width:fit-content;min-width:0;color:var(--portal-accent-strong);line-height:1.2;font:inherit;cursor:pointer;transition:background var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease),box-shadow var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);background:#fffcf7cc;border-radius:999px;justify-content:center;align-items:center;padding:.8rem 1.2rem;text-decoration:none;display:inline-flex}.portal-family-button--primary{background:linear-gradient(145deg,var(--portal-accent),var(--portal-accent-strong));color:#f7f9ed;box-shadow:0 14px 28px color-mix(in srgb,var(--portal-copy)12%,transparent);border-color:#0000}.portal-family-button--secondary{box-shadow:inset 0 0 0 1px #50654a0a}.portal-soft-pill-button{border-color:color-mix(in srgb,var(--portal-accent)12%,transparent);min-height:3rem;color:var(--portal-accent-strong);white-space:nowrap;box-shadow:inset 0 1px 0 #ffffffc7,0 4px 12px color-mix(in srgb,var(--portal-copy)4%,transparent);background:#fffcf7f5;padding:.92rem 1.55rem}.portal-soft-pill-button:hover{box-shadow:inset 0 1px 0 #ffffffd6,0 6px 14px color-mix(in srgb,var(--portal-copy)5%,transparent);background:#fffdf9;border-color:#50654a2e}.portal-soft-pill-button:disabled{opacity:.56;cursor:not-allowed;transform:none}.portal-inline-action-button{border:none;border-bottom:4px solid color-mix(in srgb,var(--portal-accent)16%,transparent);color:var(--portal-accent-strong);font:inherit;white-space:nowrap;cursor:pointer;transition:color var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease),opacity var(--duration-fast,.16s)var(--ease,ease);appearance:none;background:0 0;border-radius:0;justify-content:center;align-items:center;padding:0 0 .32rem;font-size:1rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.portal-inline-action-button:hover{color:var(--portal-accent-strong);border-bottom-color:#50654a42}.portal-inline-action-button:focus-visible{outline:2px solid color-mix(in srgb,var(--portal-accent)22%,transparent);outline-offset:4px}.portal-inline-action-button:disabled{opacity:.56;cursor:not-allowed}.portal-family-button--danger{border-color:color-mix(in srgb,var(--portal-highlight)18%,transparent);background:color-mix(in srgb,var(--portal-highlight)10%,transparent);color:var(--portal-alert)}.portal-family-button:hover{transform:translateY(-1px)}.portal-family-button--primary:hover{box-shadow:0 18px 34px color-mix(in srgb,var(--portal-copy)14%,transparent)}.portal-family-button--danger:hover{border-color:color-mix(in srgb,var(--portal-highlight)28%,transparent);background:color-mix(in srgb,var(--portal-highlight)14%,transparent)}.portal-family-button--secondary:hover,.portal-family-link:hover{border-color:color-mix(in srgb,var(--portal-accent)22%,transparent)}.portal-family-action-row{flex-wrap:wrap}.portal-family-form,.portal-family-empty,.portal-family-confirm{border-radius:var(--radius-lg,20px);background:#f8f2dbad;gap:1rem;padding:1.15rem 1.2rem;box-shadow:inset 0 1px #ffffff61}.portal-family-empty strong,.portal-family-confirm p{color:var(--portal-copy)}.portal-family-empty strong{font-weight:500}.portal-family-confirm p{margin:0;line-height:1.65}.portal-family-form-identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.1rem;display:grid}.portal-family-form-identity-copy{gap:.55rem;display:grid}.portal-family-form-identity-copy strong{color:var(--portal-copy);font-size:1.08rem;font-weight:500}.portal-family-form-identity-copy small{color:var(--portal-muted);line-height:1.5}.portal-family-photo-field{gap:.45rem;width:fit-content;display:grid}.portal-family-photo-field>span{color:var(--portal-copy);font-size:.94rem;font-weight:500}.portal-family-photo-field input[type=file]{max-width:100%;color:var(--portal-muted);font:inherit}.portal-family-photo-field input[type=file]::file-selector-button{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);background:color-mix(in srgb,var(--portal-surface)92%,transparent);color:var(--portal-accent-strong);font:inherit;cursor:pointer;transition:border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);border-radius:999px;margin-right:.85rem;padding:.72rem 1rem}.portal-family-photo-field input[type=file]::file-selector-button:hover{background:var(--portal-surface);border-color:color-mix(in srgb,var(--portal-accent)22%,transparent);transform:translateY(-1px)}.portal-family-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-family-form-grid--checks{grid-template-columns:max-content max-content max-content;justify-content:space-between;align-items:start;gap:1.2rem 2.4rem}.portal-family-fieldset{border:none;gap:.8rem;margin:0;padding:0}.portal-family-fieldset legend{color:var(--portal-copy);margin-bottom:.35rem;font-weight:500}.portal-family-check{min-width:0;display:inline-flex;position:relative}.portal-family-check-grid{grid-template-columns:repeat(2,max-content);justify-content:start;gap:.75rem;display:grid}.portal-family-check-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.portal-family-check input{opacity:0;cursor:pointer;position:absolute;inset:0}.portal-family-check-ui{min-width:0;color:var(--portal-copy);transition:background var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease),box-shadow var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);background:0 0;border:none;align-items:center;gap:.7rem;padding:0;display:inline-flex}.portal-family-check-mark{border:1px solid color-mix(in srgb,var(--portal-accent)22%,transparent);background:#ffffffdb;border-radius:.35rem;flex:0 0 1.15rem;width:1.15rem;height:1.15rem;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffffb3}.portal-family-check-mark:after{content:"";border-bottom:2px solid #0000;border-right:2px solid #0000;width:.34rem;height:.62rem;margin:auto;position:absolute;inset:0;transform:rotate(45deg)translate(-.02rem,-.04rem)}.portal-family-check input:checked+.portal-family-check-ui{background:0 0;border-color:#0000}.portal-family-check input:checked+.portal-family-check-ui .portal-family-check-mark{border-color:color-mix(in srgb,var(--portal-accent)22%,transparent);background:linear-gradient(145deg,var(--portal-accent),var(--portal-accent-strong))}.portal-family-check input:checked+.portal-family-check-ui .portal-family-check-mark:after{border-bottom-color:#f7f9ed;border-right-color:#f7f9ed}.portal-family-check input:focus-visible+.portal-family-check-ui{box-shadow:none;border-color:#0000}.portal-family-check input:focus-visible+.portal-family-check-ui .portal-family-check-mark{box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent)12%,transparent);border-color:#50654a66}.portal-family-check input:hover+.portal-family-check-ui{border-color:#0000;transform:none}.portal-family-setup{gap:1rem}.portal-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-dogs-page,.portal-dogs-stage,.portal-dogs-stage-body,.portal-dogs-stage-copy,.portal-dogs-stage-summary,.portal-dogs-stage-summary-card,.portal-dogs-section,.portal-dogs-section-copy,.portal-dogs-form,.portal-dogs-history-grid,.portal-dogs-history-group,.portal-dogs-history-list,.portal-dogs-ledger,.portal-dogs-ledger-item,.portal-dogs-ledger-item-copy,.portal-dogs-danger,.portal-dogs-danger-copy,.portal-dogs-inline-alert,.portal-dogs-inline-alert-copy{display:grid}.portal-dogs-page{gap:clamp(2.35rem,4vw,4.2rem);padding-top:3.125rem}.portal-dogs-roster{scrollbar-width:none;align-items:center;gap:1.35rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.portal-dogs-roster::-webkit-scrollbar{display:none}.portal-dogs-roster-link{min-height:2.4rem;color:var(--portal-muted);white-space:nowrap;transition:color var(--duration-fast,.16s)var(--ease,ease),box-shadow var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:.4rem 0;text-decoration:none;display:inline-flex;position:relative;box-shadow:inset 0 -2px #0000}.portal-dogs-roster-link span{letter-spacing:.08em;text-transform:uppercase;font-size:.99rem;font-weight:500;line-height:1}.portal-dogs-roster-link:hover{color:var(--portal-copy);box-shadow:inset 0 -2px color-mix(in srgb,var(--portal-accent)24%,transparent)}.portal-dogs-roster-link.is-selected{color:var(--portal-copy);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--portal-accent)55%,transparent);background:0 0}.portal-dogs-roster-link--add{min-height:3rem;box-shadow:none;background:#ffffff9e;border:1px solid #50654a1c;border-radius:999px;padding:.72rem 1.15rem}.portal-dogs-roster-link--add span{letter-spacing:.04em;text-transform:none}.portal-dogs-roster-link--add:hover{box-shadow:none;background:#ffffffc7}.portal-dogs-roster.is-single{justify-content:flex-start}.portal-dogs-inline-alert{border-radius:var(--radius-lg,22px);border:1px solid color-mix(in srgb,var(--portal-warn)16%,transparent);background:color-mix(in srgb,var(--portal-warn)12%,var(--portal-surface));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.15rem}.portal-dogs-inline-alert-copy{gap:.32rem}.portal-dogs-inline-alert-copy strong,.portal-dogs-stage-copy h2,.portal-dogs-section-copy h3{color:var(--portal-copy);margin:0}.portal-dogs-inline-alert-copy strong{font-size:1.05rem;font-weight:600}.portal-dogs-inline-alert-copy p,.portal-dogs-stage-copy p,.portal-dogs-stage-summary-card p,.portal-dogs-section-copy p,.portal-dogs-ledger-item p,.portal-dogs-history-item p,.portal-dogs-danger-copy p{color:var(--portal-muted);margin:0;line-height:1.62}.portal-dogs-stage{box-shadow:none;background:0 0;border:none;gap:1.4rem;padding:0}.portal-dogs-stage.is-editing{border-radius:var(--radius-lg,32px);border:1px solid color-mix(in srgb,var(--portal-accent)8%,transparent);box-shadow:0 26px 58px color-mix(in srgb,var(--portal-copy)5%,transparent);background:#fffcf7b8;padding:clamp(1.5rem,3vw,2rem)}.portal-dogs-stage-shell{grid-template-columns:clamp(15rem,28vw,19rem) minmax(0,1fr);align-items:start;gap:clamp(1.8rem,3.4vw,3rem);display:grid}.portal-dogs-stage-media{align-content:start;gap:.95rem;min-width:0;display:grid}.portal-dogs-stage-photo,.portal-dogs-stage-fallback{aspect-ratio:11/15;border-radius:var(--radius-lg,28px);width:100%;height:auto;min-height:clamp(18rem,42vw,28rem)}.portal-dogs-stage-photo{object-fit:cover;box-shadow:0 20px 44px color-mix(in srgb,var(--portal-copy)8%,transparent);background:#fffcf7f5;display:block}.portal-dogs-stage-fallback{background:radial-gradient(circle at 28% 25%,#fffae2e6,transparent 34%),linear-gradient(155deg,color-mix(in srgb,var(--portal-warn)32%,var(--portal-surface)),color-mix(in srgb,var(--portal-warn)45%,var(--portal-surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--portal-accent)8%,transparent);align-content:end;gap:.85rem;padding:1.35rem;display:grid}.portal-dogs-stage-fallback strong{width:4.9rem;height:4.9rem;color:var(--portal-copy);font-family:var(--font-heading),serif;box-shadow:0 16px 30px color-mix(in srgb,var(--portal-copy)8%,transparent);background:#fffaefe0;border-radius:999px;justify-content:center;align-items:center;font-size:2rem;line-height:1;display:inline-flex}.portal-dogs-stage-fallback span{color:#283925d1;max-width:14rem;font-size:.96rem;line-height:1.55}.portal-dogs-stage-fallback-button{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);width:fit-content;color:var(--portal-accent-strong);box-shadow:0 12px 22px color-mix(in srgb,var(--portal-copy)8%,transparent);transition:transform var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease);background:#fffcf7f0;border-radius:999px;align-items:center;gap:.65rem;margin-top:.2rem;padding:.82rem 1rem;font-weight:500;text-decoration:none;display:inline-flex}.portal-dogs-stage-fallback-button:hover{background:var(--portal-surface);border-color:color-mix(in srgb,var(--portal-accent)22%,transparent);transform:translateY(-1px)}.portal-dogs-stage-fallback-button-icon{background:color-mix(in srgb,var(--portal-accent)12%,transparent);width:1.5rem;height:1.5rem;color:var(--portal-accent-strong);border-radius:999px;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex}.portal-dogs-stage-body{gap:1.4rem;min-width:0}.portal-dogs-stage-body--editing{gap:1rem}.portal-dogs-stage-heading,.portal-dogs-section-head,.portal-dogs-ledger-item-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.portal-dogs-stage-copy{gap:.55rem}.portal-dogs-stage-copy--editing{gap:.75rem}.portal-dogs-stage-copy h2{font-family:var(--font-heading),serif;letter-spacing:-.05em;padding-bottom:.08em;font-size:clamp(3rem,7vw,5.35rem);font-weight:400;line-height:1.02}.portal-dogs-stage-name-field{display:block}.portal-dogs-stage-name-input{width:100%;color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.05em;background:0 0;border:none;padding:0 0 .12em;font-size:clamp(2.85rem,7vw,5.35rem);font-weight:400;line-height:1.06}.portal-dogs-stage-name-input::placeholder{color:#2c3d2859}.portal-dogs-stage-name-input:focus-visible{outline:none}.portal-dogs-stage-meta{font-size:1.03rem}.portal-dogs-readiness-pill,.portal-dogs-ledger-status{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:2.25rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.portal-dogs-readiness-pill.is-current,.portal-dogs-ledger-status.is-current{background:color-mix(in srgb,var(--portal-rail)90%,transparent);color:var(--portal-accent-strong)}.portal-dogs-readiness-pill.is-warning,.portal-dogs-ledger-status.is-warning{background:color-mix(in srgb,var(--portal-warn)18%,var(--portal-surface));color:var(--portal-warn)}.portal-dogs-readiness-pill.is-attention,.portal-dogs-ledger-status.is-attention{background:color-mix(in srgb,var(--portal-alert)18%,var(--portal-surface));color:var(--portal-alert)}.portal-dogs-readiness-pill.is-pending,.portal-dogs-ledger-status.is-pending{background:color-mix(in srgb,var(--portal-rail)92%,transparent);color:var(--portal-accent-strong)}.portal-dogs-stage-intro{max-width:45rem;color:var(--portal-muted);margin:0;font-size:1.04rem;line-height:1.68}.portal-dogs-stage-intro--editing{max-width:40rem}.portal-dogs-stage-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}.portal-dogs-stage-summary-card{background:0 0;border:none;gap:.5rem;padding:0}.portal-dogs-stage-summary--editing{align-items:stretch}.portal-dogs-stage-summary-card--editable{border-radius:var(--radius-lg,22px);background:#ffffffb3;padding:1.15rem 1.2rem;box-shadow:inset 0 1px #ffffff70}.portal-dogs-stage-summary-stack{gap:.95rem;display:grid}.portal-dogs-stage-form{gap:1.2rem;display:grid}.portal-dogs-stage-form-grid{gap:1rem;display:grid}.portal-dogs-stage-birth-grid{grid-template-columns:minmax(0,1fr) minmax(15rem,19rem);gap:1rem;display:grid}.portal-dogs-stage-birth-grid.is-single{grid-template-columns:minmax(0,1fr)}.portal-dogs-stage-age-card{border-radius:var(--radius-lg,22px);border:1px solid color-mix(in srgb,var(--portal-accent)8%,transparent);background:#fcf8eee6;align-content:start;gap:.32rem;padding:1rem 1.08rem;display:grid}.portal-dogs-stage-age-card strong{color:var(--portal-copy);margin:0;font-weight:600;line-height:1.3}.portal-dogs-stage-age-card p,.portal-dogs-stage-media-note p{color:var(--portal-muted);margin:0;line-height:1.55}.portal-dogs-stage-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem 1.2rem;display:grid}.portal-dogs-stage-detail-grid{flex:32rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.portal-dogs-stage-detail{border-radius:var(--radius-lg,22px);background:#fcf8efb8;border:none;gap:.35rem;padding:1rem 1.08rem;display:grid}.portal-dogs-stage-detail.is-neutral{background:#f7f3e7c2}.portal-dogs-stage-detail.is-current{background:#f4faf3c7}.portal-dogs-stage-detail.is-attention{background:#fcf2edd1}.portal-dogs-stage-detail strong,.portal-dogs-ledger-item-copy strong,.portal-dogs-history-item strong,.portal-dogs-danger-copy strong{color:var(--portal-copy);margin:0;font-weight:600;line-height:1.4}.portal-dogs-stage-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:.8rem;display:flex}.portal-dogs-stage-actions--editing{justify-content:flex-start;row-gap:.85rem}.portal-dogs-stage-updated{color:#56634dd1;margin:0;font-size:.92rem;line-height:1.5}.portal-dogs-stage-media-note{border-radius:var(--radius-lg,22px);background:#fffbf4c7;border:none;gap:.32rem;margin-top:.95rem;padding:1rem 1.08rem;display:grid}.portal-dogs-stage-media-note strong{color:var(--portal-copy);margin:0;font-weight:600;line-height:1.4}.portal-dogs-stage-media-note .portal-family-button{justify-self:start}.portal-dogs-stage-archive-note{color:#56634dd1;font-size:.92rem;line-height:1.5}.portal-dogs-section{box-shadow:none;background:0 0;border:none;gap:1rem;padding:0}.portal-dogs-section+.portal-dogs-section{border-top:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);padding-top:2rem}.portal-dogs-section-copy{gap:.42rem;max-width:38rem}.portal-dogs-section-copy h3{font-family:var(--font-heading),serif;letter-spacing:-.045em;font-size:clamp(1.95rem,3vw,2.6rem);font-weight:400;line-height:1}.portal-dogs-ledger{grid-template-columns:1fr;gap:0}.portal-dogs-ledger-item{box-shadow:none;background:0 0;border:none;border-radius:0;gap:.68rem;padding:1rem 0}.portal-dogs-ledger-item+.portal-dogs-ledger-item{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-dogs-ledger-item.is-current,.portal-dogs-ledger-item.is-pending,.portal-dogs-ledger-item.is-warning,.portal-dogs-ledger-item.is-attention{background:0 0}.portal-dogs-ledger-item-copy{gap:.24rem}.portal-dogs-ledger-detail{color:#56634dd1;font-size:.92rem}.portal-dogs-form{gap:1rem}.portal-dogs-form textarea{resize:vertical;min-height:8.2rem}.portal-dogs-stage.is-editing .portal-dogs-stage-media{gap:.75rem}.portal-dogs-stage.is-editing .portal-dogs-stage-photo,.portal-dogs-stage.is-editing .portal-dogs-stage-fallback{min-height:clamp(13.5rem,30vw,21rem)}.portal-dogs-stage.is-editing .portal-dogs-stage-media-note{margin-top:0;padding:.95rem 1rem}.portal-dogs-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}.portal-dogs-history-group{gap:.7rem}.portal-dogs-history-list{gap:0;margin:0;padding:0;list-style:none}.portal-dogs-history-item{box-shadow:none;background:0 0;border:none;border-radius:0;gap:.2rem;padding:1rem 0;display:grid}.portal-dogs-history-item+.portal-dogs-history-item{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-documents-page,.portal-documents-stage,.portal-documents-upload-surface,.portal-documents-rail-section,.portal-documents-rail-copy,.portal-documents-attention-list,.portal-documents-attention-row,.portal-documents-attention-copy,.portal-documents-section,.portal-documents-section-copy,.portal-documents-core-groups,.portal-documents-core-group,.portal-documents-upload-form,.portal-documents-upload-grid,.portal-documents-ledger,.portal-documents-ledger-item,.portal-documents-ledger-row,.portal-documents-ledger-copy,.portal-documents-row-actions,.portal-documents-row-upload,.portal-documents-file-groups,.portal-documents-file-group,.portal-documents-file-list,.portal-documents-file-row,.portal-documents-file-row-copy,.portal-documents-inline-empty{display:grid}.portal-documents-page{gap:clamp(2.35rem,4vw,4.2rem);padding-top:3.125rem}.portal-documents-scope-tabs,.portal-bookings-scope-tabs{scrollbar-width:none;align-items:center;gap:1.35rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.portal-documents-scope-tabs::-webkit-scrollbar{display:none}.portal-bookings-scope-tabs::-webkit-scrollbar{display:none}.portal-documents-scope-tab,.portal-bookings-scope-tab{min-height:2.4rem;color:var(--portal-muted);white-space:nowrap;transition:color var(--duration-fast,.16s)var(--ease,ease),box-shadow var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:.4rem 0;font-size:.99rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex;position:relative;box-shadow:inset 0 -2px #0000}.portal-documents-scope-tab:hover,.portal-bookings-scope-tab:hover{color:var(--portal-copy);box-shadow:inset 0 -2px color-mix(in srgb,var(--portal-accent)24%,transparent)}.portal-documents-scope-tab.is-selected,.portal-bookings-scope-tab.is-selected{color:var(--portal-copy);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--portal-accent)55%,transparent)}.portal-documents-stage{grid-template-columns:minmax(0,1.05fr) minmax(18rem,.72fr);align-items:start;gap:clamp(1.8rem,4vw,3.2rem)}.portal-documents-upload-surface{border-radius:var(--radius-lg,28px);box-shadow:0 20px 44px color-mix(in srgb,var(--portal-copy)6%,transparent);background:linear-gradient(#f6f0e1fa,#fffaf2e6),#faf5e8e6;gap:1rem;padding:1.25rem 1.35rem}.portal-documents-section{box-shadow:none;background:0 0;border-top:none;gap:1.1rem;padding:0}.portal-documents-rail-section{border:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);border-radius:var(--radius-lg,24px);box-shadow:inset 0 1px 0 #ffffff8c,0 12px 28px color-mix(in srgb,var(--portal-copy)5%,transparent);background:#fffcf7d6;gap:1rem;padding:1.15rem 1.2rem}.portal-documents-section+.portal-documents-section{border-top:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);padding-top:2rem}.portal-documents-rail-copy,.portal-documents-section-copy{gap:.42rem;max-width:38rem}.portal-documents-section-copy h2,.portal-documents-rail-copy h2,.portal-documents-section-copy h3,.portal-documents-core-group-head h3,.portal-documents-core-group-head h4{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,2.4vw,2rem);font-weight:400;line-height:1.02}.portal-documents-rail-copy p,.portal-documents-section-copy p,.portal-documents-attention-copy p,.portal-documents-ledger-item p,.portal-documents-file-row p,.portal-documents-file-row small,.portal-documents-inline-empty p{color:var(--portal-muted);margin:0;line-height:1.62}.portal-documents-attention-list{gap:0}.portal-documents-attention-row{box-shadow:none;background:0 0;border:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 0}.portal-documents-attention-list>*+*{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-documents-attention-copy{gap:.22rem}.portal-documents-attention-copy strong,.portal-documents-ledger-copy strong,.portal-documents-file-row-copy strong,.portal-documents-inline-empty strong{color:var(--portal-copy);margin:0;font-weight:600;line-height:1.4}.portal-documents-attention-count{background:color-mix(in srgb,var(--portal-highlight)11%,transparent);min-width:2rem;min-height:2rem;color:var(--portal-alert);border-radius:999px;justify-content:center;align-items:center;padding:.22rem .55rem;font-size:.84rem;font-weight:600;display:inline-flex}.portal-documents-inline-empty{border-radius:var(--radius-lg,22px);background:#f8f2db94;gap:.35rem;padding:1rem 1.05rem;box-shadow:inset 0 1px #fff6}.portal-documents-upload-form{gap:1rem}.portal-documents-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-documents-upload-form input[type=file]::file-selector-button{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);background:color-mix(in srgb,var(--portal-surface)92%,transparent);color:var(--portal-accent-strong);font:inherit;cursor:pointer;transition:border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);border-radius:999px;margin-right:.85rem;padding:.72rem 1rem}.portal-documents-upload-form input[type=file]::file-selector-button:hover{background:var(--portal-surface);border-color:color-mix(in srgb,var(--portal-accent)22%,transparent);transform:translateY(-1px)}.portal-documents-core-groups{grid-template-columns:1fr;gap:calc(1.9rem + 75px)}.portal-documents-core-group,.portal-documents-file-group{gap:.85rem}.portal-documents-section-head,.portal-documents-ledger-head,.portal-documents-file-row{justify-content:space-between;align-items:start;gap:1rem;display:flex}.portal-documents-core-group-head{border-bottom:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);gap:.2rem;padding-bottom:.4rem;display:grid}.portal-documents-ledger{grid-template-columns:1fr;gap:0}.portal-documents-ledger-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-documents-ledger-item{box-shadow:none;background:0 0;border:none;border-radius:0;gap:.78rem;padding:1.1rem 0}.portal-documents-ledger>*+*{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-documents-ledger-item.is-current,.portal-documents-ledger-item.is-pending,.portal-documents-ledger-item.is-warning,.portal-documents-ledger-item.is-attention{background:0 0}.portal-documents-ledger-copy{gap:.1rem}.portal-documents-ledger-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.portal-documents-requirement-chip{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;min-height:1.65rem;padding:.28rem .58rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.portal-documents-requirement-chip.is-required{background:color-mix(in srgb,var(--portal-alert)13%,var(--portal-surface));color:var(--portal-alert)}.portal-documents-requirement-chip.is-recommended{background:color-mix(in srgb,var(--portal-rail)92%,transparent);color:var(--portal-accent-strong)}.portal-documents-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.portal-documents-ledger-status{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:2.25rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.portal-documents-ledger-status.is-current{background:color-mix(in srgb,var(--portal-rail)90%,transparent);color:var(--portal-accent-strong)}.portal-documents-ledger-status.is-warning{background:color-mix(in srgb,var(--portal-warn)18%,var(--portal-surface));color:var(--portal-warn)}.portal-documents-ledger-status.is-attention{background:color-mix(in srgb,var(--portal-alert)18%,var(--portal-surface));color:var(--portal-alert)}.portal-documents-ledger-status.is-pending{background:color-mix(in srgb,var(--portal-rail)92%,transparent);color:var(--portal-accent-strong)}.portal-documents-ledger-note{color:#56634dd1;font-size:.92rem}.portal-documents-record-action{width:fit-content;font-size:.98rem}.portal-documents-row-upload{display:flex}.portal-documents-upload-trigger{border:1px solid color-mix(in srgb,var(--portal-accent)18%,transparent);border-radius:var(--radius-sm,999px);background:color-mix(in srgb,var(--portal-surface)86%,transparent);min-width:0;min-height:2.75rem;box-shadow:inset 0 1px 0 #ffffff80,0 6px 16px color-mix(in srgb,var(--portal-copy)5%,transparent);padding:0 .82rem;line-height:1.1}.portal-documents-file-list{gap:0;margin:0;padding:0;list-style:none}.portal-documents-file-row{box-shadow:none;background:0 0;border:none;border-radius:0;padding:1rem 0}.portal-documents-file-list>*+*{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-documents-file-row-copy{gap:.15rem}.portal-billing-page,.portal-billing-layout,.portal-billing-main,.portal-billing-rail,.portal-billing-section,.portal-billing-rail-surface,.portal-billing-autopay-panel,.portal-billing-autopay-copy,.portal-billing-section-copy,.portal-billing-ledger,.portal-billing-ledger-row,.portal-billing-ledger-copy,.portal-billing-ledger-meta,.portal-billing-method-list,.portal-billing-method-card,.portal-billing-method-copy,.portal-billing-method-actions,.portal-billing-method-controls,.portal-billing-method-options,.portal-billing-history-list,.portal-billing-history-row,.portal-billing-history-copy,.portal-billing-empty,.portal-billing-ledger-actions,.portal-billing-pay-form,.portal-billing-pay-meta,.portal-billing-inline-state,.portal-billing-method-drawer-copy,.portal-billing-method-drawer-body{display:grid}.portal-billing-page{gap:clamp(2.35rem,4vw,4.2rem);padding-top:3.125rem}.portal-billing-header{max-width:none;min-height:auto}.portal-billing-header-copy{white-space:nowrap;max-width:none}.portal-billing-layout{grid-template-columns:minmax(0,1.22fr) minmax(18rem,.68fr);align-items:start;gap:clamp(2rem,4vw,3.6rem)}.portal-billing-main,.portal-billing-rail{gap:1.3rem}.portal-billing-section{box-shadow:none;background:0 0;border:none;gap:1.1rem;padding:0}.portal-billing-section+.portal-billing-section{border-top:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);padding-top:2rem}.portal-billing-rail-surface{border-radius:var(--radius-lg,28px);background:color-mix(in srgb,var(--portal-surface)78%,transparent);box-shadow:inset 0 1px 0 #ffffff70,0 18px 38px color-mix(in srgb,var(--portal-copy)6%,transparent);gap:1rem;padding:1.2rem 1.25rem}.portal-billing-section-copy,.portal-billing-ledger-copy,.portal-billing-ledger-meta,.portal-billing-method-copy,.portal-billing-history-copy,.portal-billing-empty,.portal-billing-pay-meta{gap:.28rem}.portal-billing-section-copy h2,.portal-billing-ledger-copy strong,.portal-billing-method-copy strong,.portal-billing-history-copy strong,.portal-billing-empty strong,.portal-billing-pay-meta strong{color:var(--portal-copy);margin:0}.portal-billing-section-copy h2,.portal-billing-method-drawer-copy strong{font-family:var(--font-heading),serif;letter-spacing:-.04em}.portal-billing-section-copy h2{font-size:clamp(1.75rem,3vw,2.35rem);font-weight:400;line-height:.98}.portal-billing-ledger-copy strong{letter-spacing:-.045em;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;line-height:.98}.portal-billing-section-copy p,.portal-billing-ledger-copy p,.portal-billing-ledger-meta p,.portal-billing-ledger-copy small,.portal-billing-ledger-meta small,.portal-billing-inline-note,.portal-billing-inline-state p,.portal-billing-method-copy p,.portal-billing-history-copy p,.portal-billing-empty p,.portal-billing-pay-meta p,.portal-billing-method-drawer-copy p{color:var(--portal-muted);margin:0;line-height:1.62}.portal-billing-method-card,.portal-billing-history-row,.portal-billing-empty,.portal-billing-method-drawer{box-shadow:none;background:0 0;border:none;border-radius:0;padding:1rem 0}.portal-billing-ledger-head,.portal-billing-section-head,.portal-billing-history-row{justify-content:space-between;align-items:start;gap:1rem;display:flex}.portal-billing-count-pill{white-space:nowrap}.portal-billing-balance-pill{padding:.55rem 1rem;font-size:1.15rem;font-weight:600}.portal-billing-tag{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:2.35rem;padding:.48rem .88rem;font-size:.82rem;font-weight:600;display:inline-flex}.portal-billing-tag.is-current{background:color-mix(in srgb,var(--portal-rail)90%,transparent);color:var(--portal-accent-strong)}.portal-billing-tag.is-warning{background:color-mix(in srgb,var(--portal-warn)18%,var(--portal-surface));color:var(--portal-warn)}.portal-billing-tag.is-attention{background:color-mix(in srgb,var(--portal-alert)18%,var(--portal-surface));color:var(--portal-alert)}.portal-billing-tag.is-neutral{background:color-mix(in srgb,var(--portal-rail)92%,transparent);color:var(--portal-accent-strong)}.portal-billing-pay-form{justify-content:end;align-items:end;gap:0;display:flex}.portal-billing-pay-meta{border-radius:var(--radius-lg,20px);border:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);background:#ffffffad;padding:.9rem .95rem}.portal-billing-ledger{gap:0}.portal-billing-ledger-row{box-shadow:none;background:0 0;border:none;border-radius:0;gap:.9rem;padding:1rem 0}.portal-billing-ledger>*+*{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-billing-ledger-lane{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.portal-billing-ledger-meta{gap:.3rem}.portal-billing-ledger-method{color:var(--portal-copy);font-size:.96rem;line-height:1.5}.portal-billing-ledger-actions{place-items:center end}.portal-billing-inline-state{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem}.portal-billing-method-list,.portal-billing-history-list{gap:0}.portal-billing-autopay-panel{border-bottom:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:0 0 1rem}.portal-billing-autopay-copy{gap:.28rem}.portal-billing-autopay-copy strong{color:var(--portal-copy);margin:0}.portal-billing-autopay-copy p{color:var(--portal-muted);margin:0;line-height:1.62}.portal-billing-autopay-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.portal-billing-method-card{align-items:start;gap:.95rem}.portal-billing-history-list>*+*,.portal-billing-method-list>*+*{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-billing-method-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.7rem;display:flex}.portal-billing-method-badges{flex-wrap:wrap;flex:none;gap:.55rem;display:flex}.portal-billing-method-controls{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.portal-billing-method-actions .portal-inline-form{flex:none;width:auto}.portal-billing-method-actions .portal-family-button{width:auto}.portal-billing-remove-method-button{color:color-mix(in srgb,var(--portal-alert)82%,var(--portal-copy));border-color:color-mix(in srgb,var(--portal-alert)22%,transparent)}.portal-billing-setting-button{border-color:color-mix(in srgb,var(--portal-accent)14%,transparent);box-shadow:inset 0 0 0 1px #50654a08}.portal-billing-setting-button--current{background:color-mix(in srgb,var(--portal-rail)90%,transparent);color:var(--portal-accent-strong)}.portal-billing-setting-button--neutral{background:color-mix(in srgb,var(--portal-rail)92%,transparent);color:var(--portal-accent-strong)}.portal-billing-method-form{max-width:none;margin-top:0}.portal-stripe-card-shell{border-radius:var(--radius-lg,20px);border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);background:#ffffffd1;padding:1rem;box-shadow:inset 0 1px #ffffff6b}.portal-billing-card-note{color:var(--portal-muted);margin:0;line-height:1.55}.portal-billing-method-options{gap:.7rem}.portal-billing-method-options .portal-auth-meta{min-height:2.75rem;color:var(--portal-copy);cursor:pointer;align-items:center;gap:.7rem;display:flex}.portal-billing-method-options .portal-auth-meta input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--portal-accent);flex:none}.portal-billing-history-time{color:var(--portal-muted);white-space:nowrap;font-size:.88rem}.portal-billing-empty{border-radius:var(--radius-lg,20px);background:#f8f2db94;gap:.35rem;padding:1rem 1.05rem;box-shadow:inset 0 1px #ffffff61}.portal-billing-empty--soft{background:#ffffffad}.portal-billing-method-drawer{padding:0;overflow:clip}.portal-billing-method-drawer-summary{cursor:pointer;justify-content:space-between;align-items:start;gap:1rem;padding:1rem 0;list-style:none;display:flex}.portal-billing-method-drawer-summary::-webkit-details-marker{display:none}.portal-billing-method-drawer-toggle{border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);min-width:2.1rem;min-height:2.1rem;color:var(--portal-muted);background:#ffffffb8;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.portal-billing-method-drawer-toggle:before{content:"+";font-size:1rem;line-height:1}.portal-billing-method-drawer[open] .portal-billing-method-drawer-toggle:before{content:"−"}.portal-billing-method-drawer-body{padding:0 0 .95rem}.portal-billing-method-drawer--older{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-billing-method-drawer-body--list{gap:0;padding-bottom:0}.portal-billing-method-drawer-body--list>*+*{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-profile-page,.portal-profile-layout,.portal-profile-main,.portal-profile-rail,.portal-profile-stage,.portal-profile-identity,.portal-profile-identity-copy,.portal-profile-meta,.portal-profile-panel,.portal-profile-section-copy,.portal-profile-form,.portal-profile-form-actions,.portal-profile-inline-actions{display:grid}.portal-profile-page{gap:clamp(1.9rem,3vw,3.1rem)}.portal-profile-layout{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.72fr);align-items:start;gap:clamp(2rem,4vw,3.4rem)}.portal-profile-main,.portal-profile-rail{gap:1.35rem}.portal-profile-header{gap:.7rem}.portal-profile-header p{max-width:36rem}.portal-profile-panel{border-radius:var(--radius-lg,28px);border:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);background:color-mix(in srgb,var(--portal-surface)78%,transparent);box-shadow:inset 0 1px 0 #ffffff70,0 18px 38px color-mix(in srgb,var(--portal-copy)6%,transparent);gap:1.15rem;padding:1.35rem 1.4rem}.portal-profile-stage{box-shadow:none;border:none;border-bottom:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);background:0 0;border-radius:0;gap:0;padding:0 0 1.55rem}.portal-profile-panel{box-shadow:inset 0 1px 0 #fff9,0 14px 28px color-mix(in srgb,var(--portal-copy)5%,transparent);background:#fffefbdb}.portal-profile-panel--secondary{background:color-mix(in srgb,var(--portal-surface)78%,transparent)}.portal-profile-panel--danger{border-color:color-mix(in srgb,var(--portal-highlight)18%,transparent);background:#fff8f4f0}.portal-profile-identity{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1.15rem}.portal-profile-avatar{width:4.6rem;height:4.6rem;color:var(--portal-accent-strong);font-family:var(--font-body),sans-serif;letter-spacing:.04em;box-shadow:inset 0 1px 0 #fff9,0 14px 30px color-mix(in srgb,var(--portal-copy)6%,transparent);background:linear-gradient(#dbebd9f5,#c0d6baf0);border-radius:999px;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:inline-flex}.portal-profile-identity-copy{gap:.65rem}.portal-profile-identity-copy h2{margin:0;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.05}.portal-profile-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.portal-profile-meta-item{gap:.18rem;display:grid}.portal-profile-meta-item span{color:var(--portal-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.84rem}.portal-profile-meta-item strong{font-size:1rem;line-height:1.4}.portal-profile-section-copy{gap:.4rem}.portal-profile-section-copy h2{letter-spacing:-.03em;font-size:clamp(1.45rem,2.2vw,1.95rem);line-height:1.02;font-family:var(--font-heading),serif;margin:0;font-weight:400}.portal-profile-section-copy .eyebrow{margin:0;line-height:1.08}.portal-profile-section-copy p{color:var(--portal-muted);margin:0}.portal-profile-form{gap:.95rem}.portal-profile-form-actions,.portal-profile-inline-actions{justify-content:start}.portal-profile-form-actions .portal-family-button,.portal-profile-inline-actions .portal-family-button{width:fit-content}.portal-profile-delete-button{background:var(--portal-alert);color:#fffaf5;border-color:color-mix(in srgb,var(--portal-alert)70%,transparent);box-shadow:0 14px 30px color-mix(in srgb,var(--portal-alert)18%,transparent)}.portal-profile-delete-button:hover{background:var(--portal-alert)}.portal-messages-page,.portal-messages-main,.portal-messages-rail,.portal-messages-section,.portal-messages-launch,.portal-messages-history-reveal,.portal-messages-section-copy,.portal-messages-compose-region,.portal-messages-transcript,.portal-messages-timeline,.portal-messages-entry-meta,.portal-messages-entry-body,.portal-messages-attachments,.portal-messages-composer-copy,.portal-messages-composer-form,.portal-messages-support-list,.portal-messages-support-copy,.portal-messages-thread-copy,.portal-messages-inline-empty,.portal-messages-readonly{display:grid}.portal-messages-page{gap:clamp(2.35rem,4vw,4.2rem);padding-top:3.125rem}.portal-messages-header{max-width:46rem;min-height:auto}.portal-messages-layout{grid-template-columns:minmax(0,1.36fr) minmax(18rem,.78fr);align-items:start;gap:clamp(1.5rem,3vw,2.7rem);display:grid}.portal-messages-main,.portal-messages-rail{gap:2rem}.portal-messages-section{gap:1.35rem}.portal-messages-section-head,.portal-messages-thread-row,.portal-messages-support-row,.portal-messages-composer-actions{justify-content:space-between;align-items:start;gap:1rem;display:flex}.portal-messages-section-copy,.portal-messages-composer-copy,.portal-messages-support-copy,.portal-messages-thread-copy,.portal-messages-inline-empty,.portal-messages-readonly{gap:.35rem}.portal-messages-reply-button{flex:none}.portal-messages-launch{justify-items:end}.portal-messages-section-copy h2{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.04em;margin:0;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:400;line-height:.98}.portal-messages-section-copy p,.portal-messages-composer-copy p,.portal-messages-composer-note,.portal-messages-support-copy p,.portal-messages-thread-copy p,.portal-messages-inline-empty p,.portal-messages-readonly p,.portal-messages-entry p{color:var(--portal-muted);margin:0;line-height:1.62}.portal-messages-transcript{border-top:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);gap:1rem;padding-top:.85rem;position:relative}.portal-messages-transcript.is-collapsed{padding-bottom:1.35rem}.portal-messages-transcript-window{position:relative}.portal-messages-transcript.is-collapsed .portal-messages-transcript-window{-webkit-mask-image:linear-gradient(#000 0% calc(100% - 5.75rem),#0000 100%);mask-image:linear-gradient(#000 0% calc(100% - 5.75rem),#0000 100%)}.portal-messages-transcript.is-expanded .portal-messages-transcript-window{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--portal-muted)28%,transparent)transparent;overscroll-behavior-y:auto;max-height:min(110vh,60rem);padding-right:.35rem;overflow-y:scroll}.portal-messages-transcript.is-expanded .portal-messages-transcript-window::-webkit-scrollbar{width:.75rem}.portal-messages-transcript.is-expanded .portal-messages-transcript-window::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--portal-muted)28%,transparent);background-clip:padding-box;border:.18rem solid #0000;border-radius:999px}.portal-messages-timeline{margin:0;padding:0;list-style:none}.portal-messages-day-divider{align-items:center;gap:.75rem;margin:0;padding:1rem 0 .65rem;display:flex}.portal-messages-day-divider:before,.portal-messages-day-divider:after{content:"";border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);flex:1}.portal-messages-day-divider span{color:var(--portal-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.82rem}.portal-messages-entry{align-items:flex-start;gap:.9rem;padding:1rem 0 .2rem;display:flex}.portal-messages-entry-body{border-left:2px solid color-mix(in srgb,var(--portal-muted)18%,transparent);gap:.35rem;max-width:min(40rem,100%);padding:.1rem 0 .15rem 1rem}.portal-messages-entry.is-outgoing{justify-content:flex-end;margin-left:auto}.portal-messages-entry.is-outgoing .portal-messages-avatar{order:2}.portal-messages-entry.is-outgoing .portal-messages-entry-body{border-left:0;border-right:2px solid color-mix(in srgb,var(--portal-accent)22%,transparent);order:1;align-items:end;padding:.1rem 1rem .15rem 0}.portal-messages-entry.is-outgoing .portal-messages-entry-meta,.portal-messages-entry.is-outgoing p{text-align:right}.portal-messages-entry-meta{align-items:baseline;gap:.75rem}.portal-messages-entry-meta strong,.portal-messages-inline-empty strong,.portal-messages-readonly strong,.portal-messages-thread-copy strong,.portal-messages-support-copy strong,.portal-messages-composer-copy strong{color:var(--portal-copy);margin:0}.portal-messages-entry-meta time{color:var(--portal-muted);white-space:nowrap;font-size:.88rem}.portal-messages-entry p{white-space:pre-wrap}.portal-messages-attachments{grid-template-columns:repeat(auto-fit,minmax(9.5rem,12rem));justify-content:start;justify-items:start;gap:.85rem;margin-top:.15rem}.portal-messages-entry.is-outgoing .portal-messages-attachments{justify-content:end;justify-items:end}.portal-messages-attachment{gap:.45rem;width:min(100%,12rem);margin:0;display:grid}.portal-messages-attachment img,.portal-messages-attachment video{border-radius:var(--radius-lg,20px);border:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);aspect-ratio:4/3;object-fit:cover;background:#fffbf4e0;width:100%;display:block;overflow:hidden}.portal-messages-attachment figcaption{color:var(--portal-muted);word-break:break-word;font-size:.88rem;line-height:1.4}.portal-messages-entry.is-outgoing .portal-messages-attachment figcaption{text-align:right}.portal-messages-history-reveal{pointer-events:none;place-items:end center;min-height:5.5rem;padding-bottom:.35rem;position:absolute;inset:auto 0 0}.portal-messages-history-button{z-index:1;pointer-events:auto;margin:0;position:relative}.portal-messages-history-actions{justify-content:center;padding-top:.2rem;display:flex}.portal-messages-avatar{border:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);width:2.85rem;height:2.85rem;color:var(--portal-copy);letter-spacing:.04em;background:#fffbf4eb;border-radius:999px;flex:0 0 2.85rem;justify-content:center;align-items:center;font-size:.88rem;font-weight:700;display:inline-flex;overflow:hidden}.portal-messages-avatar img{object-fit:cover;width:100%;height:100%;display:block}.portal-messages-avatar.is-self{color:var(--portal-accent-strong);background:#e3eedfe6}.portal-messages-avatar.is-brand{color:var(--portal-warn);background:#f1e9d7f0}.portal-messages-compose-region{border-radius:var(--radius-lg,28px);border:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);background:linear-gradient(180deg,#fffcf7f5,#fcf7efe6),color-mix(in srgb,var(--portal-surface)92%,transparent);box-shadow:inset 0 1px 0 #ffffffb3,0 20px 50px color-mix(in srgb,var(--portal-copy)6%,transparent);gap:1rem;padding:1.15rem 1.15rem 1.2rem}.portal-messages-composer-form{gap:1rem}.portal-messages-composer-form textarea{resize:vertical;min-height:8.5rem}.portal-messages-composer-actions{align-items:center}.portal-messages-composer-selection{color:var(--portal-muted);margin:0;line-height:1.5}.portal-messages-composer-actions .portal-family-button{flex:none;width:auto}.portal-messages-support-list{display:grid}.portal-messages-support-row,.portal-messages-inline-empty,.portal-messages-readonly{border-top:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);padding-top:1rem}.portal-messages-support-row:first-child{border-top:0;padding-top:0}.portal-messages-inline-empty.is-quiet,.portal-messages-readonly{gap:.4rem}.portal-messages-readonly{justify-items:start}.portal-bookings-page,.portal-bookings-composer-section,.portal-bookings-section,.portal-bookings-section-copy,.portal-bookings-composer,.portal-bookings-chooser,.portal-bookings-choice-copy,.portal-bookings-flow,.portal-bookings-flow-copy,.portal-bookings-flow-form,.portal-bookings-subsection,.portal-bookings-subsection-copy,.portal-bookings-date-picker-copy,.portal-bookings-service-grid,.portal-bookings-slot-grid,.portal-bookings-slot-copy,.portal-bookings-dog-grid,.portal-bookings-dog-copy,.portal-bookings-blocker,.portal-bookings-submit-row,.portal-bookings-schedule,.portal-bookings-tab-panel,.portal-bookings-group,.portal-bookings-list,.portal-bookings-row-main,.portal-bookings-row-copy,.portal-bookings-row-actions,.portal-bookings-state-card,.portal-bookings-state-list,.portal-bookings-state-list-item,.portal-bookings-state-actions,.portal-bookings-idle-state,.portal-bookings-inline-empty{display:grid}.portal-bookings-page{gap:clamp(2.35rem,4vw,4.2rem);padding-top:3.125rem}.portal-bookings-page>.portal-family-header{min-height:auto}.portal-bookings-header{gap:.55rem}.portal-bookings-header p{max-width:40rem;color:var(--portal-muted);margin:0;line-height:1.62}.portal-bookings-composer-section{border:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);border-radius:var(--radius-lg,30px);box-shadow:0 18px 40px color-mix(in srgb,var(--portal-copy)5%,transparent);background:linear-gradient(#f7f1e4fa,#fffbf4e6),#faf5e8e6;gap:1.25rem;padding:1.55rem}.portal-bookings-section{border-top:1px solid color-mix(in srgb,var(--portal-muted)14%,transparent);gap:1rem;padding-top:1.9rem}.portal-bookings-section-copy{gap:.42rem}.portal-bookings-section-copy h2{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.045em;margin:0;font-size:clamp(1.95rem,3vw,2.6rem);font-weight:400;line-height:1}.portal-bookings-section-copy p,.portal-bookings-flow-copy p,.portal-bookings-subsection-copy p,.portal-bookings-subsection-hint,.portal-bookings-state-card p,.portal-bookings-idle-state p,.portal-bookings-inline-empty p,.portal-bookings-date-picker-copy small,.portal-bookings-slot-copy small,.portal-bookings-dog-copy small,.portal-bookings-service-copy small,.portal-bookings-row-copy p,.portal-bookings-submit-note{color:var(--portal-muted);margin:0;line-height:1.6}.portal-bookings-composer{gap:1.3rem}.portal-bookings-chooser{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem}.portal-bookings-choice{border-radius:var(--radius-lg,22px);border:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);min-height:100%;color:inherit;text-align:left;transition:transform var(--duration-fast,.16s)var(--ease,ease),border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease);background:#fffefbe0;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;padding:1rem 1.05rem;display:grid}.portal-bookings-choice:hover{border-color:#50654a33;transform:translateY(-1px)}.portal-bookings-choice.is-selected{border-color:color-mix(in srgb,var(--portal-accent)20%,transparent);background:linear-gradient(180deg,#f9fcf7fa,color-mix(in srgb,var(--portal-surface)92%,transparent)),color-mix(in srgb,var(--portal-surface)92%,transparent)}.portal-bookings-choice:focus-visible,.portal-bookings-date-picker:focus-within,.portal-bookings-dog-option:focus-within,.portal-bookings-tab:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent)16%,transparent);outline:none}.portal-bookings-choice-copy{gap:.22rem;min-width:0}.portal-bookings-choice-copy strong,.portal-bookings-flow-copy h3,.portal-bookings-subsection-title,.portal-bookings-subsection-copy strong,.portal-bookings-service-copy strong,.portal-bookings-dog-copy strong,.portal-bookings-row-copy strong,.portal-bookings-state-card strong,.portal-bookings-idle-state strong,.portal-bookings-inline-empty strong{color:var(--portal-copy)}.portal-bookings-choice-copy strong,.portal-bookings-service-copy strong,.portal-bookings-dog-copy strong,.portal-bookings-row-copy strong,.portal-bookings-state-card strong,.portal-bookings-idle-state strong,.portal-bookings-inline-empty strong{font-weight:600;line-height:1.4}.portal-bookings-choice-copy small{color:var(--portal-muted);line-height:1.55}.portal-bookings-choice-icon,.portal-bookings-family-chip-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.portal-bookings-choice-icon{border-radius:var(--radius-lg,18px);width:2.9rem;height:2.9rem}.portal-bookings-choice-icon svg,.portal-bookings-family-chip-icon svg{width:100%;height:100%}.portal-bookings-flow{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);gap:1.2rem;padding-top:1.3rem}.portal-bookings-flow-copy{gap:.65rem}.portal-bookings-flow-copy h3{font-family:var(--font-heading),serif;letter-spacing:-.035em;margin:0;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:400}.portal-bookings-flow-form{gap:1.35rem;max-width:none;margin-top:0}.portal-bookings-subsection{border:0;gap:.9rem;min-inline-size:0;margin:0;padding:0}.portal-bookings-flow-form>.portal-bookings-subsection+.portal-bookings-subsection{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);padding-top:1.2rem}.portal-bookings-subsection-title{margin:0;padding:0;font-size:1rem;font-weight:600}.portal-bookings-subsection-copy{gap:.28rem}.portal-bookings-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.portal-bookings-service-option{position:relative}.portal-bookings-service-option input{opacity:0;cursor:pointer;position:absolute;inset:0}.portal-bookings-service-copy{border-radius:var(--radius-lg,22px);border:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);background:color-mix(in srgb,var(--portal-surface)92%,transparent);min-height:100%;transition:border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);gap:.24rem;padding:.95rem 1rem;display:grid;box-shadow:inset 0 1px #ffffff94}.portal-bookings-service-option:hover .portal-bookings-service-copy{transform:translateY(-1px)}.portal-bookings-service-option.is-selected .portal-bookings-service-copy,.portal-bookings-service-option input:checked+.portal-bookings-service-copy{border-color:color-mix(in srgb,var(--portal-accent)18%,transparent);background:linear-gradient(180deg,#f7fcf6fa,color-mix(in srgb,var(--portal-surface)92%,transparent)),#fcfaf4eb}.portal-bookings-service-option:focus-within .portal-bookings-service-copy{box-shadow:inset 0 1px 0 #ffffff94,0 0 0 3px color-mix(in srgb,var(--portal-accent)16%,transparent)}.portal-bookings-date-grid,.portal-bookings-slot-stack{gap:.85rem;display:grid}.portal-bookings-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-bookings-date-picker{border-radius:var(--radius-lg,22px);border:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);cursor:pointer;transition:border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);background:#fffefbf0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.05rem;display:flex;position:relative;box-shadow:inset 0 1px #ffffff94}.portal-bookings-date-picker:hover{border-color:#50654a2e;transform:translateY(-1px)}.portal-bookings-date-picker-copy{gap:.16rem;min-width:0}.portal-bookings-date-picker-copy small{letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}.portal-bookings-date-picker-copy strong{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.03em;font-size:clamp(1.15rem,2vw,1.35rem);font-weight:400;line-height:1}.portal-bookings-date-picker-icon{background:color-mix(in srgb,var(--portal-accent)9%,transparent);width:2.75rem;height:2.75rem;color:var(--portal-accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.portal-bookings-date-picker-icon svg{width:1.25rem;height:1.25rem}.portal-bookings-date-picker-input{opacity:0;cursor:pointer;position:absolute;inset:0}.portal-bookings-slot-picker{gap:.75rem}.portal-bookings-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.portal-bookings-slot-option{position:relative}.portal-bookings-slot-option input{opacity:0;cursor:pointer;position:absolute;inset:0}.portal-bookings-slot-copy{border-radius:var(--radius-lg,22px);border:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);background:color-mix(in srgb,var(--portal-surface)92%,transparent);min-height:100%;transition:border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);gap:.22rem;padding:.95rem 1rem;box-shadow:inset 0 1px #ffffff94}.portal-bookings-slot-option:hover .portal-bookings-slot-copy{transform:translateY(-1px)}.portal-bookings-slot-option.is-selected .portal-bookings-slot-copy,.portal-bookings-slot-option input:checked+.portal-bookings-slot-copy{border-color:color-mix(in srgb,var(--portal-accent)22%,transparent);background:linear-gradient(180deg,#f9fcf7fa,color-mix(in srgb,var(--portal-surface)92%,transparent)),#fcfaf4eb;box-shadow:inset 0 1px 0 #ffffff9e,0 0 0 1px color-mix(in srgb,var(--portal-accent)12%,transparent)}.portal-bookings-slot-option:focus-within .portal-bookings-slot-copy{box-shadow:inset 0 1px 0 #ffffff94,0 0 0 3px color-mix(in srgb,var(--portal-accent)16%,transparent)}.portal-bookings-slot-option.is-selected:focus-within .portal-bookings-slot-copy,.portal-bookings-slot-option input:checked:focus-visible+.portal-bookings-slot-copy{box-shadow:inset 0 1px 0 #ffffff9e,0 0 0 1px color-mix(in srgb,var(--portal-accent)12%,transparent),0 0 0 3px color-mix(in srgb,var(--portal-accent)16%,transparent)}.portal-bookings-check{border-radius:var(--radius-lg,22px);border:1px solid color-mix(in srgb,var(--portal-accent)8%,transparent);color:var(--portal-copy);background:#ffffff9e;align-items:start;gap:.7rem;padding:.95rem 1rem;line-height:1.55;display:flex}.portal-bookings-check input{accent-color:var(--portal-accent);margin-top:.22rem}.portal-bookings-dog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.portal-bookings-dog-option{border-radius:var(--radius-lg,22px);border:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);background:color-mix(in srgb,var(--portal-surface)98%,transparent);min-height:100%;transition:border-color var(--duration-fast,.16s)var(--ease,ease),background var(--duration-fast,.16s)var(--ease,ease),box-shadow var(--duration-fast,.16s)var(--ease,ease),transform var(--duration-fast,.16s)var(--ease,ease);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1rem 1.05rem;display:grid;position:relative;box-shadow:inset 0 1px #ffffff94}.portal-bookings-dog-option input{opacity:0;cursor:pointer;position:absolute;inset:0}.portal-bookings-dog-option:hover{transform:translateY(-1px)}.portal-bookings-dog-option.is-selected{border-color:color-mix(in srgb,var(--portal-accent)28%,transparent);box-shadow:inset 0 1px 0 #ffffff9e,0 0 0 2px color-mix(in srgb,var(--portal-accent)16%,transparent)}.portal-bookings-dog-option:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent)16%,transparent)}.portal-bookings-dog-option.is-selected:focus-within{box-shadow:inset 0 1px 0 #ffffff9e,0 0 0 2px color-mix(in srgb,var(--portal-accent)16%,transparent),0 0 0 4px color-mix(in srgb,var(--portal-accent)16%,transparent)}.portal-bookings-dog-option.is-watch{background:color-mix(in srgb,var(--portal-surface)98%,transparent)}.portal-bookings-dog-option.is-blocked{background:linear-gradient(180deg,#fcf1ecfa,color-mix(in srgb,var(--portal-surface)98%,transparent)),#fff8f5fa;border-color:color-mix(in srgb,var(--portal-highlight)16%,transparent)}.portal-bookings-dog-avatar{object-fit:cover;border:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);background:#f4f0e7eb;border-radius:50%;flex-shrink:0;width:4rem;height:4rem;box-shadow:inset 0 1px #ffffff80}.portal-bookings-dog-avatar--fallback{color:var(--portal-copy);justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:inline-flex}.portal-bookings-dog-copy{gap:.2rem;min-width:0}.portal-bookings-dog-copy small{padding-right:.5rem}.portal-bookings-dog-check{width:1.9rem;height:1.9rem;color:var(--portal-accent-strong);opacity:0;transition:opacity var(--duration-fast,.14s)var(--ease,ease),transform var(--duration-fast,.14s)var(--ease,ease);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;transform:scale(.92)}.portal-bookings-dog-check svg{width:100%;height:100%}.portal-bookings-dog-check.is-visible{opacity:1;transform:scale(1)}.portal-bookings-submit-row{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding-top:1.2rem}.portal-bookings-blocker{border:1px solid color-mix(in srgb,var(--portal-alert)20%,transparent);border-radius:var(--radius-lg,24px);background:color-mix(in srgb,var(--portal-highlight)14%,white);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.95rem 1rem}.portal-bookings-blocker p{color:var(--portal-muted);margin:.25rem 0 0;line-height:1.5}.portal-bookings-submit-note{max-width:34rem}.portal-bookings-submit-note.is-attention{color:var(--portal-alert)}.portal-bookings-submit-button:disabled{opacity:.56;cursor:not-allowed}.portal-bookings-state-card,.portal-bookings-idle-state{border-radius:var(--radius-lg,24px);background:#ffffffad;gap:.7rem;padding:1rem 1.05rem;box-shadow:inset 0 1px #ffffff8f}.portal-bookings-state-list{gap:.7rem;margin:0;padding:0;list-style:none}.portal-bookings-state-list-item{border-radius:var(--radius-lg,18px);gap:.2rem;padding:.8rem .9rem}.portal-bookings-state-list-item.is-blocked{background:color-mix(in srgb,var(--portal-alert)8%,transparent)}.portal-bookings-state-list-item.is-watch{background:color-mix(in srgb,var(--portal-warn)12%,transparent)}.portal-bookings-state-actions{grid-template-columns:repeat(auto-fit,minmax(12rem,max-content));gap:.75rem}.portal-bookings-family-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;width:fit-content;min-height:2.1rem;padding:.42rem .78rem;font-size:.88rem;font-weight:600;line-height:1;display:inline-flex}.portal-bookings-family-chip-icon{width:1rem;height:1rem}.portal-bookings-family-chip.is-socialization,.portal-bookings-choice-icon.is-socialization{background:color-mix(in srgb,var(--portal-accent)12%,transparent);color:var(--portal-accent-strong)}.portal-bookings-family-chip.is-classes,.portal-bookings-choice-icon.is-classes{background:color-mix(in srgb,var(--portal-warn)14%,transparent);color:var(--portal-warn)}.portal-bookings-family-chip.is-boarding,.portal-bookings-choice-icon.is-boarding{background:color-mix(in srgb,var(--portal-alert)14%,transparent);color:var(--portal-alert)}.portal-bookings-family-chip.is-service,.portal-bookings-choice-icon.is-service{background:color-mix(in srgb,var(--portal-muted)12%,transparent);color:var(--portal-muted)}.portal-bookings-schedule{gap:1rem}.portal-bookings-tabs{width:min(100%,21rem);box-shadow:inset 0 1px 0 #ffffff94,0 10px 26px color-mix(in srgb,var(--portal-copy)6%,transparent);background:linear-gradient(#ebe4d5eb,#e0d8c6d1),#e5decdd1;border-radius:1.75rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.35rem;display:inline-grid}.portal-bookings-tab{min-width:0;min-height:3rem;color:var(--portal-muted);transition:background var(--duration-fast,.18s)var(--ease,ease),border-color var(--duration-fast,.18s)var(--ease,ease),box-shadow var(--duration-fast,.18s)var(--ease,ease),color var(--duration-fast,.18s)var(--ease,ease),transform var(--duration-fast,.18s)var(--ease,ease);background:0 0;border:1px solid #0000;border-radius:1.4rem;justify-content:center;align-items:center;gap:.6rem;padding:.55rem 1rem;font-size:.9rem;font-weight:600;display:inline-flex}.portal-bookings-tab:hover{color:var(--portal-copy);background:#ffffff75}.portal-bookings-tab span{background:color-mix(in srgb,var(--portal-muted)10%,transparent);min-width:1.7rem;min-height:1.7rem;color:inherit;opacity:.88;border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.82rem;line-height:1;display:inline-flex}.portal-bookings-tab.is-selected{border-color:color-mix(in srgb,var(--portal-accent)18%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--portal-accent)98%,transparent),color-mix(in srgb,var(--portal-accent-strong)96%,transparent)),var(--portal-accent);box-shadow:0 14px 28px color-mix(in srgb,var(--portal-accent)20%,transparent),inset 0 1px 0 #ffffff29;color:#fffdf6;transform:translateY(-1px)}.portal-bookings-tab.is-selected span{color:inherit;opacity:1;background:#fff3}.portal-bookings-tab:focus-visible{outline:2px solid color-mix(in srgb,var(--portal-accent)28%,transparent);outline-offset:2px}.portal-bookings-group{gap:.75rem}.portal-bookings-group+.portal-bookings-group{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent);margin-top:1.2rem;padding-top:1.2rem}.portal-bookings-group-heading{color:var(--portal-muted);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:600}.portal-bookings-list{gap:0}.portal-bookings-list>*+*{border-top:1px solid color-mix(in srgb,var(--portal-muted)12%,transparent)}.portal-bookings-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:1rem 1.25rem;padding:1.15rem 0;display:grid}.portal-bookings-row-main{gap:.58rem;min-width:0;padding-top:.12rem}.portal-bookings-row-top{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.7rem;display:flex}.portal-bookings-row-stamp{border:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);background:color-mix(in srgb,var(--portal-surface)92%,transparent);width:5.35rem;min-width:5.35rem;box-shadow:inset 0 1px 0 #ffffffb8,0 10px 22px color-mix(in srgb,var(--portal-copy)5%,transparent);border-radius:1.45rem;align-content:center;justify-items:center;padding:.82rem .75rem .7rem;text-decoration:none;display:grid}.portal-bookings-row-stamp span{color:var(--portal-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.84rem;font-weight:600;line-height:1}.portal-bookings-row-stamp strong{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.06em;font-size:clamp(2.2rem,3vw,2.6rem);font-weight:400;line-height:.92}.portal-bookings-row-copy{gap:.22rem;min-width:0}.portal-bookings-row-detail{color:var(--portal-muted);margin:0;font-size:.95rem;line-height:1.5}.portal-bookings-row-actions{align-content:start;justify-items:end;gap:.75rem}.portal-bookings-status{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:9rem;min-height:2.7rem;padding:.5rem .95rem;font-size:.84rem;font-weight:600;display:inline-flex}.portal-bookings-status.is-current{background:color-mix(in srgb,var(--portal-rail)90%,transparent);color:var(--portal-accent-strong)}.portal-bookings-status.is-warning{background:color-mix(in srgb,var(--portal-warn)18%,var(--portal-surface));color:var(--portal-warn)}.portal-bookings-status.is-attention{background:color-mix(in srgb,var(--portal-alert)18%,var(--portal-surface));color:var(--portal-alert)}.portal-bookings-status.is-pending{background:color-mix(in srgb,var(--portal-rail)92%,transparent);color:var(--portal-accent-strong)}.portal-bookings-action-button{min-width:0;font-size:1rem;line-height:1}.portal-bookings-inline-empty{border-radius:var(--radius-lg,22px);background:#f8f2db7a;gap:.3rem;padding:1rem 1.05rem;box-shadow:inset 0 1px #ffffff61}@media (max-width:900px){.portal-bookings-chooser,.portal-bookings-service-grid,.portal-bookings-date-grid,.portal-bookings-slot-grid,.portal-bookings-dog-grid,.portal-bookings-submit-row,.portal-bookings-row,.portal-bookings-blocker{grid-template-columns:1fr}.portal-bookings-row-actions{justify-items:start}.portal-bookings-row-stamp{width:4.9rem;min-width:4.9rem}}.portal-primary-task-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.portal-primary-task-copy{gap:.45rem;min-width:0;display:grid}.portal-primary-task-body,.portal-key-facts,.portal-summary-strip,.portal-drawer-grid,.portal-dog-spotlight,.portal-roster-strip{gap:1rem;display:grid}.portal-status-panel{gap:1.1rem}.portal-status-panel-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.portal-status-panel-copy{gap:.4rem;min-width:0;display:grid}.portal-status-panel-copy h2{color:var(--portal-copy);font-family:var(--font-heading),serif;letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:.98}.portal-status-panel-copy p,.portal-status-panel-copy small{color:var(--portal-muted);margin:0;line-height:1.6}.portal-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.portal-support-grid--single{grid-template-columns:1fr}.portal-primary-task-actions{flex-wrap:wrap;gap:.75rem;display:flex}.portal-key-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.portal-key-fact{border-top:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);gap:.25rem;padding-top:.8rem;display:grid}.portal-key-fact span{text-transform:uppercase;letter-spacing:.12em;color:var(--portal-muted);font-size:.72rem}.portal-key-fact strong{color:var(--portal-copy);overflow-wrap:anywhere}.portal-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-summary-card{border-radius:var(--radius-lg,22px);gap:.3rem;padding:.95rem 1rem;display:grid}.portal-summary-card span{text-transform:uppercase;letter-spacing:.12em;color:var(--portal-muted);font-size:.72rem}.portal-summary-card strong{color:var(--portal-copy);font-family:var(--font-heading),serif;font-size:1.35rem;line-height:1.05}.portal-drawer-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.portal-drawer-section{border-radius:var(--radius-lg,24px);overflow:clip}.portal-drawer-summary{cursor:pointer;justify-content:space-between;align-items:start;gap:1rem;padding:1rem 1.05rem;list-style:none;display:flex}.portal-drawer-summary::-webkit-details-marker{display:none}.portal-drawer-copy{gap:.25rem;display:grid}.portal-drawer-copy strong{color:var(--portal-copy)}.portal-drawer-meta{justify-items:end;gap:.5rem;display:grid}.portal-drawer-toggle{color:var(--portal-muted);font-size:.78rem}.portal-drawer-section[open] .portal-drawer-toggle:before{content:"Hide"}.portal-drawer-section:not([open]) .portal-drawer-toggle:before{content:"Open"}.portal-drawer-toggle{font-size:0}.portal-drawer-body{padding:0 1.05rem 1rem}.portal-roster-strip{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.portal-roster-link{border-radius:var(--radius-lg,20px);background:#ffffffb3;gap:.25rem;padding:.9rem 1rem;display:grid}.portal-roster-link strong{color:var(--portal-copy);font-family:var(--font-heading),serif}.portal-roster-link span{color:var(--portal-muted)}.portal-roster-link.is-selected{background:linear-gradient(135deg,color-mix(in srgb,var(--portal-accent)12%,transparent),#ffffffc7),#ffffffb8;border-color:var(--portal-border-strong)}.portal-roster-link--add{border-style:dashed}.portal-dog-spotlight{grid-template-columns:minmax(12rem,.85fr) minmax(0,1.15fr);align-items:stretch}.portal-dog-summary{gap:1rem;display:grid}.portal-draft-stack{gap:1.35rem}.portal-draft-intro,.portal-draft-section,.portal-draft-overview-card,.portal-draft-meta-card,.portal-draft-frame,.portal-draft-focus-card,.portal-draft-hero,.portal-draft-primary-card,.portal-draft-summary-card,.portal-draft-later-card,.portal-draft-profile-card,.portal-draft-drawer,.portal-draft-notebook-page,.portal-draft-journal-card,.portal-draft-main-pane,.portal-draft-side-pane{border:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);box-shadow:0 24px 72px color-mix(in srgb,var(--portal-copy)8%,transparent);background:#fffcf7bd}.portal-draft-intro,.portal-draft-section{border-radius:var(--radius-lg,34px);gap:1.2rem;padding:1.35rem;display:grid}.portal-draft-intro-copy,.portal-draft-section-header,.portal-draft-meta,.portal-draft-overview-grid,.portal-draft-pages,.portal-draft-auth-grid,.portal-draft-inline-pills,.portal-draft-field-stack,.portal-draft-summary-row,.portal-draft-later-grid,.portal-draft-dog-top,.portal-draft-roster,.portal-draft-drawers,.portal-draft-tabs,.portal-draft-journal-grid,.portal-draft-split-layout,.portal-draft-form-grid,.portal-draft-progress-list,.portal-draft-side-list,.portal-draft-overview-notes{gap:1rem;display:grid}.portal-draft-intro-copy h2,.portal-draft-section-header h2,.portal-draft-overview-card h3,.portal-draft-frame h3,.portal-draft-frame h4{font-family:var(--font-heading),serif;letter-spacing:-.04em;text-wrap:balance;margin:0}.portal-draft-intro-copy h2{max-width:16ch;font-size:clamp(2.7rem,5vw,4.2rem);line-height:.94}.portal-draft-lead,.portal-draft-section-header p,.portal-draft-overview-card p,.portal-draft-meta-card p,.portal-draft-frame p,.portal-draft-review-rule p,.portal-draft-footnote{color:var(--portal-muted);margin:0;line-height:1.58}.portal-draft-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-draft-overview-card,.portal-draft-meta-card{border-radius:var(--radius-lg,26px);padding:1rem 1.05rem}.portal-draft-overview-card h3{font-size:1.8rem}.portal-draft-overview-notes{gap:.7rem;margin-top:.25rem}.portal-draft-overview-notes span,.portal-draft-meta-card strong,.portal-draft-frame-header .eyebrow,.portal-draft-field span,.portal-draft-review-rule strong,.portal-draft-side-pane strong,.portal-draft-journal-card strong,.portal-draft-summary-card span,.portal-draft-later-card strong,.portal-draft-drawer strong,.portal-draft-focus-head span{color:var(--portal-muted)}.portal-draft-overview-notes span,.portal-draft-field span,.portal-draft-summary-card span{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;display:block}.portal-draft-overview-notes strong,.portal-draft-meta-card strong,.portal-draft-review-rule strong,.portal-draft-frame-header h3,.portal-draft-focus-head strong,.portal-draft-profile-copy h4,.portal-draft-main-pane h4,.portal-draft-side-pane strong,.portal-draft-notebook-copy h4,.portal-draft-journal-card strong{color:var(--portal-copy)}.portal-draft-review-rule{gap:.45rem;max-width:42rem;display:grid}.portal-draft-section-header{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:start}.portal-draft-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-draft-pages{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.portal-draft-frame{border-radius:var(--radius-lg,28px);gap:1rem;min-width:0;padding:1rem;display:grid}.portal-draft-frame.is-concierge{background:radial-gradient(circle at top right,color-mix(in srgb,var(--portal-accent)10%,transparent),transparent 36%),color-mix(in srgb,var(--portal-surface)82%,transparent)}.portal-draft-frame.is-notebook{background:linear-gradient(180deg,#fff7eef5,color-mix(in srgb,var(--portal-surface)82%,transparent)),color-mix(in srgb,var(--portal-surface)82%,transparent)}.portal-draft-frame.is-workspace{background:linear-gradient(140deg,#f5f8f1f5,color-mix(in srgb,var(--portal-surface)82%,transparent)),color-mix(in srgb,var(--portal-surface)82%,transparent)}.portal-draft-frame-header{justify-content:space-between;align-items:start;gap:.9rem;display:flex}.portal-draft-frame-body{gap:.9rem;display:grid}.portal-draft-chip{color:var(--portal-copy);background:#2531260f;border-radius:999px;align-items:center;padding:.32rem .7rem;font-size:.76rem;display:inline-flex}.portal-draft-chip.is-warm{background:color-mix(in srgb,var(--portal-highlight)14%,transparent)}.portal-draft-chip.is-accent{background:color-mix(in srgb,var(--portal-accent)14%,transparent)}.portal-draft-button-row,.portal-draft-support-links{flex-wrap:wrap;gap:.7rem;display:flex}.portal-draft-button{font:inherit;border:1px solid color-mix(in srgb,var(--portal-accent)16%,transparent);color:var(--portal-copy);background:#ffffffc7;border-radius:999px;padding:.72rem 1rem;font-weight:600}.portal-draft-button.is-primary{background:linear-gradient(135deg,color-mix(in srgb,var(--portal-accent)96%,transparent),color-mix(in srgb,var(--portal-highlight)88%,transparent));color:color-mix(in srgb,var(--portal-warn)8%,white);border-color:#0000}.portal-draft-link-button{font:inherit;color:var(--portal-accent);background:0 0;border:none;padding:0}.portal-draft-auth-shell,.portal-draft-notebook,.portal-draft-ribbon,.portal-draft-primary-card,.portal-draft-profile-card{gap:.9rem;display:grid}.portal-draft-ribbon{border-radius:var(--radius-lg,20px);background:color-mix(in srgb,var(--portal-accent)10%,transparent);color:var(--portal-copy);padding:.85rem 1rem}.portal-draft-ribbon span{text-transform:uppercase;letter-spacing:.12em;color:var(--portal-muted);font-size:.7rem}.portal-draft-ribbon strong{font-size:1.02rem;line-height:1.35}.portal-draft-auth-grid{grid-template-columns:minmax(0,1.02fr) minmax(14rem,.92fr);align-items:stretch}.portal-draft-hero,.portal-draft-focus-card,.portal-draft-primary-card,.portal-draft-summary-card,.portal-draft-later-card,.portal-draft-profile-card,.portal-draft-drawer,.portal-draft-main-pane,.portal-draft-side-pane{border-radius:var(--radius-lg,24px);padding:1rem}.portal-draft-hero h4,.portal-draft-focus-head strong,.portal-draft-primary-card h4,.portal-draft-profile-copy h4,.portal-draft-notebook-copy h4,.portal-draft-main-pane h4{font-family:var(--font-heading),serif;letter-spacing:-.03em;margin:0;font-size:1.9rem;line-height:.98}.portal-draft-focus-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.portal-draft-field{gap:.35rem;display:grid}.portal-draft-field-box{border-radius:var(--radius-lg,18px);border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);color:#253126c2;background:#ffffffd6;padding:.9rem 1rem}.portal-draft-summary-row,.portal-draft-later-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-draft-summary-card strong,.portal-draft-later-card strong,.portal-draft-drawer strong,.portal-draft-photo-block span,.portal-draft-photo-circle,.portal-draft-roster-item strong{color:var(--portal-copy)}.portal-draft-summary-card strong{font-family:var(--font-heading),serif;margin-top:.3rem;font-size:1.45rem;display:block}.portal-draft-dog-top{grid-template-columns:minmax(10rem,.72fr) minmax(0,1.28fr);align-items:stretch}.portal-draft-roster{align-content:start}.portal-draft-roster-item{border-radius:var(--radius-lg,18px);border:1px solid color-mix(in srgb,var(--portal-accent)14%,transparent);text-align:left;background:#fffc;gap:.2rem;padding:.85rem .95rem;display:grid}.portal-draft-roster-item span{color:var(--portal-muted)}.portal-draft-roster-item.is-selected{background:color-mix(in srgb,var(--portal-accent)12%,transparent)}.portal-draft-roster-item.is-add{border-style:dashed}.portal-draft-photo-block,.portal-draft-dog-notebook-card{align-items:center;gap:1rem;display:flex}.portal-draft-photo-block{border-radius:var(--radius-lg,22px);background:radial-gradient(circle at top,color-mix(in srgb,var(--portal-accent)14%,transparent),transparent 45%),#f5f0e8eb;flex-direction:column;justify-content:center;width:min(100%,8.2rem);min-height:10rem}.portal-draft-photo-circle{background:color-mix(in srgb,var(--portal-accent)12%,transparent);width:3.5rem;height:3.5rem;font-family:var(--font-heading),serif;border-radius:999px;place-items:center;font-size:1.45rem;display:grid}.portal-draft-photo-circle.is-large{width:4.5rem;height:4.5rem;font-size:1.8rem}.portal-draft-profile-card{grid-template-columns:minmax(8rem,.48fr) minmax(0,1fr);align-items:center}.portal-draft-profile-copy,.portal-draft-notebook-copy,.portal-draft-notebook-form{gap:.8rem;display:grid}.portal-draft-stat-pills{flex-wrap:wrap;gap:.55rem;display:flex}.portal-draft-drawers{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-draft-notebook{gap:0}.portal-draft-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.portal-draft-tabs span{color:var(--portal-muted);text-align:center;background:#856f4f24;border-radius:16px 16px 0 0;padding:.65rem .8rem}.portal-draft-tabs .is-active{color:var(--portal-copy);background:#fff7eef5}.portal-draft-notebook-page{background:linear-gradient(#fff8f0fa,#fffdf8f0),#fffcf7cc;border-radius:0 24px 24px;padding:1rem}.portal-draft-journal-card.is-highlight{background:linear-gradient(135deg,#ffefe2f5,#fffcf7e6),#fffcf7cc}.portal-draft-journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-draft-dog-notebook-card{border-bottom:1px solid color-mix(in srgb,var(--portal-accent)12%,transparent);padding-bottom:1rem}.portal-draft-footnote{font-size:.92rem}.portal-draft-split-layout{grid-template-columns:minmax(0,1.22fr) minmax(10rem,.78fr);align-items:stretch}.portal-draft-main-pane,.portal-draft-side-pane{gap:.9rem;display:grid}.portal-draft-main-pane h4{max-width:14ch}.portal-draft-side-list,.portal-draft-progress-list{gap:.55rem}.portal-draft-side-list span,.portal-draft-progress-list span{border-radius:var(--radius-md,16px);color:var(--portal-copy);background:#ffffffb8;padding:.72rem .85rem}.portal-draft-progress-list .is-done{background:color-mix(in srgb,var(--portal-accent)12%,transparent)}.portal-draft-progress-list .is-wip{background:color-mix(in srgb,var(--portal-highlight)12%,transparent)}.portal-draft-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1024px){.portal-topbar,.portal-page-header,.portal-shell-topbar,.portal-shell-nav-row,.portal-primary-task-head,.portal-status-panel-head,.portal-shell-topbar-main{display:grid}.portal-nav,.portal-grid,.portal-columns,.portal-status-grid,.portal-record-grid,.portal-stat-strip,.portal-note-grid,.portal-access-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-hero-grid,.portal-hero-grid.is-dogs,.portal-dog-hero,.portal-access-hero,.portal-access-grid,.portal-access-stage,.portal-primary-task-head,.portal-status-panel-head,.portal-home-stage-summary,.portal-support-grid,.portal-dog-spotlight{grid-template-columns:1fr}.portal-home-stream-item{display:grid}.portal-key-facts,.portal-summary-strip,.portal-drawer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-draft-overview-grid,.portal-draft-pages,.portal-draft-later-grid,.portal-draft-drawers,.portal-draft-journal-grid,.portal-draft-section-header,.portal-draft-meta,.portal-draft-auth-grid,.portal-draft-dog-top,.portal-draft-split-layout{grid-template-columns:1fr}.portal-page-header-actions{justify-content:start}}@media (max-width:900px){.portal-home-stage,.portal-family-layout,.portal-billing-layout,.portal-messages-layout,.portal-bookings-stage,.portal-documents-stage,.portal-documents-upload-grid,.portal-documents-ledger,.portal-documents-core-groups,.portal-documents-file-groups,.portal-dogs-stage-shell,.portal-dogs-stage-summary,.portal-dogs-stage-birth-grid,.portal-dogs-stage-detail-grid,.portal-dogs-ledger,.portal-dogs-history-grid{grid-template-columns:1fr}}@media (max-width:700px){.portal-flash-stack{left:max(1rem,env(safe-area-inset-left,0px) + 1rem);right:max(1rem,env(safe-area-inset-right,0px) + 1rem);width:auto}.portal-shell{padding:1rem}.portal-shell--signed-in{gap:.65rem}.portal-shell--signed-in .portal-main{gap:1rem}.portal-shell--signed-in :where(.portal-home-editorial,.portal-family-editorial,.portal-dogs-page,.portal-documents-page,.portal-billing-page,.portal-messages-page,.portal-bookings-page){gap:clamp(1.45rem,5vw,2rem);padding-top:1.15rem}.portal-access-shell,.portal-topbar,.portal-page-header,.portal-access-topbar,.portal-shell-topbar,.portal-shell-nav-row,.portal-access-panel,.portal-login-form-surface,.portal-primary-task,.portal-billing-rail-surface,.portal-home-next-booking,.portal-home-rail-section,.portal-home-note,.portal-family-note,.portal-family-setup,.portal-bookings-request-surface,.portal-documents-upload-surface,.portal-dogs-stage.is-editing,.portal-dogs-inline-alert{padding:1rem}.portal-nav{flex-direction:column;align-items:stretch;padding:.45rem;display:none}.portal-nav.is-open{display:flex}.portal-nav-toggle{display:inline-flex}.portal-grid,.portal-columns,.portal-status-grid,.portal-detail-grid,.portal-record-grid,.portal-stat-strip,.portal-form-split,.portal-note-grid,.portal-access-highlights,.portal-hero-grid,.portal-hero-grid.is-dogs,.portal-access-stage,.portal-home-stage,.portal-home-stage-summary,.portal-family-layout,.portal-billing-layout,.portal-messages-layout,.portal-bookings-stage,.portal-documents-stage,.portal-documents-upload-grid,.portal-documents-ledger,.portal-documents-core-groups,.portal-documents-file-groups,.portal-dogs-stage-shell,.portal-dogs-stage-summary,.portal-dogs-stage-birth-grid,.portal-dogs-stage-detail-grid,.portal-dogs-ledger,.portal-dogs-history-grid,.portal-family-form-grid,.portal-family-check-grid,.portal-key-facts,.portal-support-grid,.portal-summary-strip,.portal-drawer-grid,.portal-roster-strip,.portal-dog-spotlight,.portal-profile-identity,.portal-profile-meta,.portal-profile-layout,.portal-profile-stage{grid-template-columns:1fr}.portal-login-main{transform:translateY(-40px)}.portal-login-logo{width:min(14rem,50vw);margin-bottom:24px}.portal-login-secondary-actions,.portal-draft-overview-grid,.portal-draft-pages,.portal-draft-meta,.portal-draft-summary-row,.portal-draft-later-grid,.portal-draft-drawers,.portal-draft-tabs,.portal-draft-journal-grid,.portal-draft-form-grid{grid-template-columns:1fr}.portal-link{justify-content:start;width:100%;padding:.75rem .8rem}.portal-link small{display:none}.data-state,.portal-topbar,.portal-shell-topbar,.portal-shell-nav-row,.portal-access-card-head,.portal-primary-task-head,.portal-status-panel-head{align-items:start}.portal-topbar-actions,.portal-page-header-actions,.portal-action-row,.portal-access-actions,.portal-access-secondary-actions,.portal-primary-task-actions,.portal-dogs-stage-actions,.portal-draft-button-row,.portal-draft-support-links{flex-direction:column;align-items:stretch}.portal-topbar-actions>*,.portal-page-header-actions>*,.portal-action-row>*,.portal-form-actions>*,.portal-access-actions>*,.portal-resume-card>*{width:100%}.portal-resume-card{grid-template-columns:1fr}.portal-inline-form{width:100%;display:flex}.portal-inline-link,.portal-inline-button,.portal-auth-button,.portal-login-secondary-link,.portal-draft-button{width:100%}.portal-shell-actions{justify-content:stretch;width:100%}.portal-shell-topbar-main{grid-template-columns:1fr;align-items:start;gap:.8rem}.portal-shell-service-status{margin-inline-start:0;padding-bottom:0}.portal-shell-operating-status{min-width:0}.portal-shell-actions>*{flex:1 1 0}.portal-shell-actions .portal-inline-link,.portal-shell-actions .portal-inline-button{width:100%}.portal-access-panel--form{order:-1}.portal-access-note-list{display:none}.portal-profile-form-actions .portal-family-button,.portal-profile-inline-actions .portal-family-button{width:100%}.portal-dog-roster-card,.portal-danger-zone,.portal-draft-profile-card,.portal-draft-dog-notebook-card{display:grid}.portal-shell-account{padding-right:0}.portal-home-stream-item,.portal-home-stage-moment,.portal-home-stage-actions,.portal-home-upcoming-actions,.portal-billing-section-head,.portal-billing-ledger-head,.portal-billing-ledger-lane,.portal-billing-autopay-panel,.portal-billing-method-card,.portal-billing-history-row,.portal-billing-inline-state,.portal-billing-method-drawer-summary,.portal-messages-section-head,.portal-messages-thread-row,.portal-messages-support-row,.portal-messages-composer-actions,.portal-messages-entry-meta,.portal-bookings-launch,.portal-bookings-calendar-summary-top,.portal-bookings-step-head,.portal-bookings-section-head,.portal-bookings-list-item,.portal-bookings-list-head,.portal-documents-section-head,.portal-documents-core-group-head,.portal-documents-ledger-row,.portal-documents-ledger-head,.portal-documents-row-actions,.portal-documents-file-row,.portal-dogs-inline-alert,.portal-dogs-danger,.portal-dogs-section-head,.portal-dogs-stage-heading,.portal-dogs-stage-footer,.portal-dogs-ledger-item-head{display:grid}.portal-home-stage-summary{gap:1rem}.portal-home-stage-head-top,.portal-home-next-booking-summary,.portal-home-upcoming-row{grid-template-columns:1fr}.portal-dogs-stage-footer{grid-template-columns:1fr;align-items:stretch}.portal-home-next-booking-meta,.portal-home-upcoming-actions{text-align:left;justify-items:start}.portal-home-stage-launch{justify-content:flex-start}.portal-home-next-booking-status{justify-content:start}.portal-home-upcoming-stamp{justify-self:start}.portal-home-stage-head h1,.portal-home-stage-title{white-space:normal;text-wrap:balance;text-overflow:clip;font-size:clamp(2.2rem,11vw,3.6rem);overflow:visible}.portal-family-person-summary{grid-template-columns:1fr}.portal-family-person-actions,.portal-family-person-top,.portal-family-section-head,.portal-family-action-row,.portal-family-note-list li{display:grid}.portal-family-button,.portal-family-button--secondary,.portal-family-button--primary,.portal-family-button--danger{width:100%}.portal-home-stream-time{white-space:normal}.portal-home-stage-launch .portal-home-action{width:100%}.portal-billing-pay-form{justify-content:stretch;display:grid}.portal-billing-header-copy{white-space:normal}.portal-billing-ledger-actions,.portal-billing-autopay-actions,.portal-billing-method-actions{justify-items:stretch}.portal-billing-method-controls{justify-content:flex-start}.portal-billing-autopay-actions,.portal-billing-method-actions{flex-wrap:wrap;justify-content:flex-start}.portal-billing-method-badges{justify-content:start}.portal-billing-history-time{white-space:normal}.portal-messages-thread-row,.portal-messages-support-row,.portal-messages-composer-actions{gap:.75rem}.portal-messages-composer-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.portal-messages-entry.is-outgoing{justify-content:flex-start;margin-left:0}.portal-messages-entry.is-outgoing .portal-messages-avatar{order:0}.portal-messages-entry.is-outgoing .portal-messages-entry-body{border-right:0;border-left:2px solid color-mix(in srgb,var(--portal-accent)22%,transparent);order:0;align-items:start;padding:.1rem 0 .15rem 1rem}.portal-messages-entry.is-outgoing .portal-messages-entry-meta,.portal-messages-entry.is-outgoing p{text-align:left}.portal-dogs-roster-link,.portal-documents-scope-tab,.portal-bookings-scope-tab,.portal-bookings-category-tab{min-width:fit-content}.portal-bookings-service-grid,.portal-bookings-dog-grid{grid-template-columns:1fr}.portal-bookings-list-actions{justify-items:stretch;display:grid}.portal-bookings-inline-link{max-width:none}.portal-bookings-list-time{white-space:normal}.portal-meta-row{display:grid}.portal-meta-row strong{text-align:left}}.portal-shell[data-theme-id],.portal-access-shell[data-theme-id]{--portal-page-motif:none;--portal-themed-surface:linear-gradient(180deg,color-mix(in srgb,var(--portal-surface)86%,transparent),color-mix(in srgb,var(--portal-surface)68%,transparent)),var(--portal-surface);isolation:isolate;position:relative}.portal-shell[data-theme-id]:before,.portal-access-shell[data-theme-id]:before{content:"";z-index:-1;pointer-events:none;background:var(--portal-page-motif);position:fixed;inset:0}.portal-shell[data-theme-id] :where(.portal-shell-topbar,.portal-nav,.portal-page-header,.portal-panel,.portal-card,.hero-panel,.data-state,.portal-session-card,.portal-record-card,.portal-dog-roster-card,.portal-status-card,.portal-summary-card,.portal-drawer-section,.portal-roster-link,.portal-bookings-state-card,.portal-bookings-state-list-item,.portal-bookings-choice,.portal-bookings-service-copy,.portal-bookings-slot-copy,.portal-bookings-dog-option,.portal-billing-method-card,.portal-billing-method-drawer,.portal-messages-thread-row,.portal-messages-support-row,.portal-documents-attention-item,.portal-documents-file-row),.portal-access-shell[data-theme-id] :where(.portal-access-topbar,.portal-page-header,.portal-panel,.portal-card,.hero-panel,.portal-access-highlight,.portal-access-note,.portal-login-form-surface){border-color:var(--portal-border);border-radius:var(--radius-lg,20px);background:var(--portal-themed-surface);box-shadow:var(--portal-shadow)}.portal-shell[data-theme-id] :where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea,.portal-link,.portal-chip,.pill,.portal-auth-button,.portal-inline-button,.portal-inline-link,.portal-action-link,.portal-action-chip,.portal-family-button,.portal-soft-pill-button,.portal-inline-action-button,.portal-bookings-tab,.portal-bookings-status,.portal-bookings-action-button),.portal-access-shell[data-theme-id] :where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea,.portal-auth-button,.portal-inline-button,.portal-inline-link){border-radius:var(--radius-sm,8px)}.portal-shell[data-theme-id=fresh],.portal-access-shell[data-theme-id=fresh]{--portal-page-motif:linear-gradient(90deg,color-mix(in srgb,var(--portal-accent)4%,transparent)0 1px,transparent 1px 34px),linear-gradient(180deg,color-mix(in srgb,var(--portal-accent)4%,transparent)0 1px,transparent 1px 34px)}.portal-shell[data-theme-id=fresh] :where(.portal-page-header,.portal-panel,.hero-panel),.portal-access-shell[data-theme-id=fresh] :where(.portal-page-header,.portal-panel,.hero-panel){border-left:4px solid var(--portal-accent)}.portal-shell[data-theme-id=earthy],.portal-access-shell[data-theme-id=earthy]{--portal-page-motif:repeating-linear-gradient(0deg,color-mix(in srgb,var(--portal-copy)4%,transparent)0 1px,transparent 1px 28px);--portal-themed-surface:linear-gradient(180deg,color-mix(in srgb,var(--portal-surface)80%,transparent),color-mix(in srgb,var(--portal-rail)20%,transparent)),var(--portal-surface)}.portal-shell[data-theme-id=earthy] :where(.portal-card,.portal-record-card,.portal-summary-card),.portal-access-shell[data-theme-id=earthy] :where(.portal-access-highlight,.portal-access-note){border-color:color-mix(in srgb,var(--portal-highlight)22%,transparent)}.portal-shell[data-theme-id=sunny],.portal-access-shell[data-theme-id=sunny]{--portal-page-motif:repeating-linear-gradient(90deg,transparent 0 44px,color-mix(in srgb,var(--portal-highlight)6%,transparent)44px 62px,transparent 62px 104px);--portal-themed-surface:linear-gradient(180deg,color-mix(in srgb,var(--portal-surface)90%,transparent),color-mix(in srgb,var(--portal-rail)16%,transparent)),var(--portal-surface)}.portal-shell[data-theme-id=sunny] :where(.portal-card,.portal-record-card,.portal-dog-roster-card,.portal-bookings-choice,.portal-bookings-service-copy,.portal-bookings-slot-copy){border-color:color-mix(in srgb,var(--portal-highlight)20%,transparent)}.portal-shell[data-theme-id=playful],.portal-access-shell[data-theme-id=playful]{--portal-page-motif:repeating-linear-gradient(-18deg,color-mix(in srgb,var(--portal-accent)7%,transparent)0 2px,transparent 2px 32px)}.portal-shell[data-theme-id=playful] :where(.portal-page-header,.portal-panel,.portal-card,.hero-panel),.portal-access-shell[data-theme-id=playful] :where(.portal-page-header,.portal-panel,.portal-card,.hero-panel){box-shadow:5px 5px 0 color-mix(in srgb,var(--portal-accent)10%,transparent);border-width:2px}.portal-shell[data-theme-id=classic],.portal-access-shell[data-theme-id=classic]{--portal-page-motif:linear-gradient(180deg,transparent 0 5.2rem,color-mix(in srgb,var(--portal-highlight)10%,transparent)5.2rem calc(5.2rem + 1px),transparent calc(5.2rem + 1px));--portal-themed-surface:linear-gradient(180deg,color-mix(in srgb,var(--portal-surface)94%,transparent),color-mix(in srgb,var(--portal-rail)16%,transparent)),var(--portal-surface)}.portal-shell[data-theme-id=classic] :where(.portal-shell-topbar,.portal-nav,.portal-page-header,.portal-panel,.portal-card,.hero-panel,.portal-record-card,.portal-summary-card,.portal-drawer-section,.portal-billing-method-card),.portal-access-shell[data-theme-id=classic] :where(.portal-access-topbar,.portal-page-header,.portal-panel,.portal-card,.hero-panel,.portal-login-form-surface){border-color:color-mix(in srgb,var(--portal-highlight)26%,transparent);box-shadow:none}.portal-shell[data-theme-id=minimal],.portal-access-shell[data-theme-id=minimal]{--portal-page-motif:linear-gradient(90deg,color-mix(in srgb,var(--portal-copy)6%,transparent)0 1px,transparent 1px 24px),linear-gradient(180deg,color-mix(in srgb,var(--portal-copy)5%,transparent)0 1px,transparent 1px 24px);--portal-themed-surface:linear-gradient(180deg,color-mix(in srgb,var(--portal-surface)92%,transparent),color-mix(in srgb,var(--portal-bg)42%,transparent)),var(--portal-surface)}.portal-shell[data-theme-id=minimal] :where(.portal-shell-topbar,.portal-nav,.portal-page-header,.portal-panel,.portal-card,.hero-panel,.data-state,.portal-session-card,.portal-record-card,.portal-dog-roster-card,.portal-status-card,.portal-summary-card,.portal-drawer-section,.portal-roster-link,.portal-bookings-state-card,.portal-bookings-choice,.portal-bookings-service-copy,.portal-bookings-slot-copy,.portal-billing-method-card,.portal-billing-method-drawer),.portal-access-shell[data-theme-id=minimal] :where(.portal-access-topbar,.portal-page-header,.portal-panel,.portal-card,.hero-panel,.portal-login-form-surface){border-color:var(--portal-border-strong);box-shadow:none}.portal-shell[data-theme-id=minimal] :where(.portal-card strong,.portal-status-card strong,.portal-key-fact strong,.portal-summary-card strong,.portal-bookings-row-stamp strong,.portal-bookings-status){font-variant-numeric:tabular-nums}
