:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#102f4f;background:#edf4fb;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #edf4fb;--card: #f8fbff;--ink: #102f4f;--muted: #526b82;--line: #c6d8e8;--accent: #1769aa;--highlight: #2f80c4}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--highlight);outline-offset:3px}.page-shell{min-height:100vh;padding:2rem 1.5rem}.page-container{width:min(100%,72rem);min-height:calc(100vh - 4rem);margin:0 auto;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:700;letter-spacing:-.02em;text-decoration:none}.locale-link{border:1px solid var(--line);border-radius:999px;background:#ffffffb3;padding:.6rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none}.locale-link:hover{border-color:var(--accent)}.login-layout{flex:1;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:5rem;padding:4rem 0}.intro{max-width:35rem}.eyebrow{margin:0 0 1.25rem;color:var(--accent);font-size:.875rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}h1{margin:0;font-size:clamp(3.1rem,6vw,4.2rem);font-weight:650;line-height:1.04;letter-spacing:-.045em;text-wrap:balance}.description{max-width:33rem;margin:1.5rem 0 0;color:var(--muted);font-size:1.125rem;line-height:1.75}.login-card{border:1px solid rgba(255,255,255,.8);border-radius:2rem;background:var(--card);padding:2.25rem;box-shadow:0 24px 80px #372d231a}.google-button{display:flex;width:100%;height:3rem;align-items:center;justify-content:center;gap:.75rem;border:0;border-radius:.75rem;background:var(--ink);color:#fff;font-weight:700;cursor:pointer}.google-button:disabled{background:#94a3b8;cursor:not-allowed}.google-status{margin:.5rem 0 0;color:var(--muted);font-size:.75rem;font-weight:600;text-align:center}.separator{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.separator span{height:1px;flex:1;background:var(--line)}form{display:grid}label{margin:0 0 .5rem;font-size:.875rem;font-weight:650}input{width:100%;height:3rem;margin-bottom:1rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:0 1rem;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1769aa26}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.25rem}.form-actions a{color:var(--accent);font-size:.875rem;font-weight:650}.submit-button{border:0;border-radius:.75rem;background:var(--accent);padding:.75rem 1.25rem;color:#fff;font-weight:700;transition:background .15s}.submit-button:hover:not(:disabled){background:var(--ink)}.submit-button:disabled{cursor:wait;opacity:.6}.form-message{margin:1.25rem 0 0;border:1px solid #d99b8d;border-radius:.75rem;background:#fff2ee;padding:.75rem;color:#7d2e1f;font-size:.875rem}.invitation-note{margin:1.25rem 0 0;color:var(--muted);font-size:.875rem;line-height:1.5;text-align:center}.skip-link{position:fixed;left:1rem;top:1rem;z-index:10;translate:0 -200%;border-radius:.5rem;background:var(--ink);color:#fff;padding:.75rem 1rem;font-weight:700}.skip-link:focus{translate:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{background:var(--highlight);color:#fff}.center-page{min-height:100vh;display:grid;place-items:center;padding:3rem 1.5rem}.account-flow-page{width:min(100% - 2rem,72rem);min-height:100vh;margin:0 auto;padding:2rem 0 4rem}.account-flow-topbar{min-height:3rem}.account-flow-stage{min-height:calc(100vh - 9rem);display:grid;place-items:center;padding:2.5rem 0}.flow-card{width:min(100%,29rem);border:1px solid rgba(255,255,255,.8);border-radius:2rem;background:var(--card);padding:2.25rem;box-shadow:0 24px 80px #372d231a}.flow-card-wide{width:min(100%,34rem)}.account-flow-card,.login-access-card{position:relative;overflow:hidden;border-radius:1.5rem}.account-flow-card:before,.login-access-card:before{position:absolute;inset:0 0 auto;height:.45rem;background:var(--ink);content:""}.account-flow-card{padding-top:2.75rem}.account-flow-card .eyebrow{margin-bottom:.9rem}.account-flow-card form,.account-flow-card .primary-wide{margin-top:.25rem}.flow-title{margin:0;font-size:clamp(2.25rem,6vw,3rem);font-weight:650;line-height:1.08;letter-spacing:-.04em}.flow-description{margin:1rem 0 1.75rem;color:var(--muted);line-height:1.7}.account-email{margin:1rem 0 0;color:var(--accent);font-weight:700;overflow-wrap:anywhere}.field-help{margin:-.25rem 0 1rem;color:var(--muted);font-size:.875rem;line-height:1.5}.password-requirements{display:grid;gap:.4rem;margin:-.25rem 0 1.25rem;padding:0;color:var(--muted);font-size:.8125rem;list-style:none}.password-requirement{display:flex;align-items:center;gap:.5rem;line-height:1.35;transition:color .15s}.password-requirement-marker{display:inline-grid;width:1.25rem;height:1.25rem;flex:0 0 1.25rem;place-items:center;border-radius:50%;background:#e7edf2;color:#607286;font-size:.875rem;font-weight:800}.password-requirement.is-met{color:#087443;font-weight:650}.password-requirement.is-met .password-requirement-marker{background:#d9f3e5;color:#087443}.primary-wide{width:100%;min-height:3rem;border:0;border-radius:.75rem;background:var(--accent);padding:.75rem 1.25rem;color:#fff;font-weight:700;cursor:pointer}.primary-wide.dark{background:var(--ink)}.primary-wide:disabled{cursor:wait;opacity:.6}.enrollment-box{margin:1.5rem 0;border-radius:1rem;background:#fff;padding:1.25rem;color:var(--muted);text-align:center}.enrollment-box img{display:block;max-width:100%;height:auto;margin:1rem auto;border-radius:.5rem}.enrollment-box code{display:block;overflow-wrap:anywhere;border-radius:.5rem;background:var(--canvas);padding:.75rem;color:var(--ink);font-size:.9rem}.manual-label{margin:1rem 0 .5rem;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-align:left;text-transform:uppercase}.mfa-input{height:3.5rem;text-align:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.5rem;letter-spacing:.35em}.app-page{width:min(100% - 2rem,72rem);min-height:100vh;margin:0 auto;padding:2rem 0 4rem}.app-header{padding:5rem 0 2rem}.placeholder-panel,.admin-card{margin-top:4rem;border:1px solid rgba(255,255,255,.8);border-radius:2rem;background:var(--card);padding:2rem;box-shadow:0 24px 80px #372d2314}.admin-card{width:min(100%,34rem);margin-top:1.5rem}.admin-card h2{margin:0 0 1.5rem;font-size:1.5rem}.secondary-button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:.6rem 1rem;color:var(--ink);font-weight:650;cursor:pointer}.admin-page .secondary-button{border-color:var(--accent);background:#fff;color:var(--accent);transition:border-color .15s,background .15s,color .15s}.admin-page .secondary-button:hover:not(:disabled){border-color:var(--accent);background:#e7f1ff;color:var(--ink)}.admin-page .secondary-button:disabled{border-color:#d6e1eb;background:#f7f9fb;color:#91a4b7;cursor:not-allowed;opacity:1}.admin-page .catalog-panel .secondary-button{border-radius:.75rem}.admin-page .locale-link{border-color:var(--accent);background:#fff;color:var(--accent);transition:background .15s,color .15s}.admin-page .locale-link:hover{background:#e7f1ff;color:var(--ink)}.admin-page .primary-button{transition:background .15s,opacity .15s}.admin-page .primary-button:hover:not(:disabled){background:var(--ink)}.admin-page .primary-button:disabled{background:#a7bdd1;color:#fff;cursor:not-allowed;opacity:1}.status-message{margin:1rem 0 0;border-radius:.75rem;background:var(--canvas);padding:.75rem;color:var(--ink);font-size:.875rem}.activation-link{margin-top:1rem;border-radius:.75rem;background:#fff;padding:.75rem}.activation-link p{margin:0 0 .5rem;color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.activation-link a{display:block;color:var(--accent);font-size:.875rem;overflow-wrap:anywhere}.flow-link{display:block;margin-top:1.25rem;color:var(--accent);font-weight:700;text-align:center}.primary-link{display:block;border-radius:.75rem;background:var(--accent);padding:.85rem 1rem;color:#fff;font-weight:700;text-align:center;text-decoration:none}.topbar-actions{display:flex;align-items:center;gap:.75rem}.admin-header{display:flex;align-items:end;justify-content:space-between;gap:3rem;padding-top:2.75rem;padding-bottom:1.25rem}.admin-header>p{max-width:32rem;margin:0;color:var(--muted);line-height:1.65}.admin-tabs{display:flex;gap:.5rem;overflow-x:auto;border-bottom:1px solid var(--line)}.admin-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:.9rem 1.1rem;color:var(--muted);font-weight:700;cursor:pointer;white-space:nowrap}.admin-tabs button:hover,.admin-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.catalog-panel{margin-top:1.5rem;border:1px solid rgba(255,255,255,.8);border-radius:1.5rem;background:var(--card);padding:1.5rem;box-shadow:0 20px 60px #372d2312}.narrow-panel{width:min(100%,36rem)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.section-heading .eyebrow{margin-bottom:.5rem}.section-heading h2{margin:0;font-size:1.75rem;letter-spacing:-.025em}.section-heading>p{max-width:34rem;margin:0;color:var(--muted);line-height:1.55}.quick-create{display:grid;grid-template-columns:minmax(12rem,20rem) auto;align-items:end;gap:.75rem}.quick-create input{margin:0}.invitations-panel .quick-create{grid-template-columns:minmax(16rem,20rem) max-content;justify-content:start}.invitations-panel .quick-create label{margin:0}.invitations-panel .quick-create .primary-button{min-width:12rem}.primary-button{min-height:3rem;border:0;border-radius:.75rem;background:var(--accent);padding:.65rem 1rem;color:#fff;font-weight:700;cursor:pointer}.catalog-filters{display:grid;grid-template-columns:minmax(14rem,1fr) 12rem auto;align-items:end;gap:.75rem;border-radius:1rem;background:var(--canvas);padding:1rem}.catalog-filters.user-filters{grid-template-columns:minmax(14rem,1fr) 11rem 14rem auto}.catalog-filters.role-filters{grid-template-columns:minmax(14rem,1fr) auto}.catalog-filters label,.catalog-row label{margin:0}.catalog-filters label>span,.catalog-row label>span,.member-count>span{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.catalog-filters input,.catalog-row input{margin:0}select{width:100%;height:3rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:0 .8rem;color:var(--ink)}select:focus{border-color:var(--accent);outline:3px solid rgba(23,105,170,.15)}.filter-button{min-height:3rem;border-radius:.75rem}.catalog-list{display:grid;gap:.75rem;margin-top:1rem}.catalog-row{position:relative;display:grid;align-items:end;gap:.75rem;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1rem}.family-row{grid-template-columns:minmax(12rem,1fr) 10rem 5rem auto}.family-management-card{overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:#fff}.family-management-card>.family-row{border:0;border-radius:0}.family-details-editor{display:grid;gap:1.5rem;border-top:1px solid var(--line);background:#f7fbff;padding:1rem}.family-management-help{margin:-.25rem 0 1rem;color:var(--muted);font-size:.84rem;line-height:1.5}.family-member-create{display:grid;grid-template-columns:minmax(14rem,1fr) 10rem minmax(14rem,.8fr) auto;align-items:end;gap:.75rem}.family-member-create input,.family-member-create select,.family-member-row input,.family-member-row select{margin-bottom:0}.family-member-list,.family-manager-list{display:grid;gap:.65rem;margin:1rem 0}.family-member-row{position:relative;display:grid;grid-template-columns:minmax(12rem,1fr) 8rem 8rem minmax(13rem,.8fr) minmax(10rem,.7fr) auto;align-items:end;gap:.65rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:.85rem}.minor-member-option{display:flex;align-items:center;gap:.55rem;min-height:3rem;margin:0;border:1px solid var(--line);border-radius:.75rem;background:#fff8df;padding:.55rem .7rem;color:#704700;font-size:.78rem;font-weight:700;line-height:1.25}.minor-member-option input{width:1rem;height:1rem;flex:0 0 auto;margin:0}.family-member-account{display:grid;align-self:center;gap:.25rem;min-width:0}.family-member-account span{color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.family-member-account strong{overflow-wrap:anywhere;font-size:.8rem}.family-managers-editor{border-top:1px solid var(--line);padding-top:1.25rem}.family-manager-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;margin:0;border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:.75rem}.family-manager-option>input{width:1rem;height:1rem;margin:0}.family-manager-option>span{display:grid;gap:.15rem}.family-manager-option small{color:var(--muted);font-weight:500;overflow-wrap:anywhere}.user-row{grid-template-columns:minmax(14rem,1.5fr) minmax(10rem,1fr) 10rem 9rem auto;align-items:start}.user-row>.secondary-button{min-height:3rem;margin-top:1.25rem}.role-row{grid-template-columns:minmax(14rem,1.5fr) 7rem minmax(10rem,1fr) auto;align-items:center}.role-identity{display:grid;gap:.3rem}.role-identity span{color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.protected-role-note{margin:0;color:var(--muted);font-size:.78rem;font-weight:650}.role-security-notice{margin-bottom:1rem}.private-data-notice{border-color:#d99b8d;background:#fff2ee;color:#8a2c20}.repair-guide{display:grid;grid-template-columns:minmax(14rem,.8fr) minmax(18rem,1.2fr);gap:.75rem 1.5rem;margin-bottom:1rem;border:1px solid #b8cee0;border-radius:1rem;background:#eef6fc;padding:1rem}.repair-guide strong{color:var(--ink)}.repair-guide p{margin:.3rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.repair-guide ol{display:grid;gap:.35rem;margin:0;padding-left:1.25rem;color:var(--ink);font-size:.82rem;line-height:1.4}.repair-guide>p{grid-column:1 / -1;margin:0;font-weight:700}.repair-matrix-row{display:grid;grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr);align-items:center;gap:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1rem}.repair-matrix-row>div{display:grid;gap:.25rem}.repair-matrix-row>div>span{color:var(--muted);font-size:.78rem}.repair-matrix-row>span{color:var(--muted);font-size:1.3rem}.repair-options{display:grid;gap:.75rem;margin-top:1.25rem;border-radius:1rem;background:var(--canvas);padding:1rem}.repair-options label{display:flex;align-items:start;gap:.75rem;margin:0}.repair-options input{width:auto;margin-top:.2rem}.repair-options label span{display:grid;gap:.2rem;color:var(--muted);font-size:.82rem}.repair-options label strong{color:var(--ink)}.repair-options label.recommended-option{border:1px solid #e9bf71;border-radius:.75rem;background:#fff7e8;padding:.75rem}.repair-required-action{margin-top:1rem;border:1px solid #e9bf71;border-radius:1rem;background:#fff7e8;padding:1rem;color:#704700}.repair-required-action p,.repair-preview-note{margin:.35rem 0 0;font-size:.82rem;line-height:1.45}.repair-preview-note{color:var(--muted)}.repair-options button{justify-self:start}.repair-preview{margin-top:1.25rem;border-top:1px solid var(--line);padding-top:1.25rem}.repair-preview h3{margin:0}.repair-preview>p{color:var(--muted)}.repair-change-row{display:grid;grid-template-columns:minmax(10rem,.7fr) minmax(16rem,1.5fr) auto;align-items:center;gap:.75rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:.85rem}.repair-change-row>span{color:var(--muted);font-size:.82rem}.repair-reason{display:block;margin:1rem 0}.repair-reason>span{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.repair-reason textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:.8rem 1rem;color:var(--ink)}.repair-history{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.5rem}.repair-history .subsection-heading{margin-bottom:.35rem}.repair-history-description{margin:0 0 1rem;color:var(--muted);font-size:.85rem;line-height:1.5}.repair-history-list{display:grid;gap:.75rem}.repair-history-row{display:grid;grid-template-columns:minmax(14rem,1.4fr) repeat(3,minmax(7rem,.65fr));align-items:center;gap:.75rem;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1rem}.repair-history-row>div{display:grid;justify-items:start;gap:.3rem}.repair-history-row>div>span:not(.badge),.repair-history-row>p>span{color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.repair-history-row>div>strong{font-size:.9rem}.repair-history-event>strong{font-size:1rem!important}.repair-history-row>p{grid-column:1 / -1;margin:0;border-radius:.65rem;background:var(--canvas);padding:.65rem .75rem;color:var(--ink);font-size:.82rem;line-height:1.45}.repair-history-row>p>span{margin-right:.35rem}.email-privacy-notice{border-color:#b8cee0;background:#eef6fc;color:#28516f}.email-totals{display:grid;grid-template-columns:repeat(5,minmax(7rem,1fr));gap:.75rem;margin-bottom:1rem}.email-totals>div{display:grid;gap:.3rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:.85rem}.email-totals span{color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.email-totals strong{font-size:1.45rem}.catalog-filters.email-filters{grid-template-columns:minmax(14rem,1fr) 10rem 14rem auto}.email-delivery-list{display:grid;gap:.75rem;margin-top:1rem}.email-delivery-row{display:grid;grid-template-columns:minmax(13rem,1.2fr) minmax(10rem,.8fr) minmax(14rem,1fr) auto;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1rem}.email-recipient,.email-delivery-detail,.email-delivery-dates{display:grid;gap:.3rem}.email-recipient span,.email-delivery-detail span:not(.badge),.email-delivery-dates span{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.email-delivery-detail .badge{width:fit-content}.email-safe-error{color:#982f24!important}.status-failed{background:#fee7e3;color:#982f24}.status-processing{background:#fff0d5;color:#8a5600}.status-sent{background:#dff4ea;color:#17663d}.status-cancelled{background:#e8edf2;color:#526b82}.user-identity label{display:block}.user-identity>p{margin:.5rem 0;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}.member-count{align-self:center;text-align:center}.member-count strong{font-size:1.35rem}.badges{display:flex;flex-wrap:wrap;gap:.35rem}.badge{display:inline-flex;border-radius:999px;background:#e4eef8;padding:.22rem .5rem;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.04em}.row-message{position:absolute;right:1rem;bottom:-.65rem;margin:0;border-radius:999px;background:var(--ink);padding:.25rem .6rem;color:#fff;font-size:.7rem}.empty-state{margin:1rem 0 0;border:1px dashed var(--line);border-radius:1rem;padding:2rem;color:var(--muted);text-align:center}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;color:var(--muted);font-size:.85rem}.pagination p{margin:0}.pagination>div{display:flex;align-items:center;gap:.75rem}.pagination button{border:1px solid var(--line);border-radius:.65rem;background:#fff;padding:.5rem .75rem;color:var(--ink);font-weight:650;cursor:pointer}.pagination button:disabled{cursor:not-allowed;opacity:.45}.event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin-top:1rem}.event-card{display:grid;gap:.55rem;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1rem;color:var(--ink);text-align:left;cursor:pointer}.event-card:hover,.event-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #1769aa1a}.event-card strong{font-size:1.05rem}.event-card>span:not(.badge){color:var(--muted);font-size:.8rem;line-height:1.4}.event-status{width:fit-content}.status-draft{background:#e8edf2;color:#526b82}.status-open{background:#dff4ea;color:#17663d}.status-blocked{background:#fff0d5;color:#8a5600}.status-completed,.status-closed{background:#e2ebff;color:#254f91}.status-cancelled,.danger-badge{background:#fee7e3;color:#982f24}.event-editor,.participants-editor{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1.5rem}.subsection-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.subsection-heading .eyebrow{margin-bottom:.4rem}.subsection-heading h3{margin:0;font-size:1.4rem}.subsection-heading>strong{color:var(--muted);font-size:.85rem}.event-form{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;border-radius:1rem;background:var(--canvas);padding:1rem}.event-form label{margin:0}.event-form label>span,.available-search label>span,.participant-add-form label>span{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.event-form input{margin:0}.event-form textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:.8rem 1rem;color:var(--ink)}.event-form textarea:focus{border-color:var(--accent);outline:3px solid rgba(23,105,170,.15)}.wide-field{grid-column:1 / -1}.event-form-actions{display:flex;flex-wrap:wrap;gap:.75rem}.danger-button{min-height:2.7rem;border:1px solid #d99b8d;border-radius:.75rem;background:#fff2ee;padding:.6rem 1rem;color:#8a2c20;font-weight:700;cursor:pointer}.frozen-notice{margin-bottom:1rem;border:1px solid #e9bf71;border-radius:1rem;background:#fff7e8;padding:1rem;color:#704700}.frozen-notice p{margin:.35rem 0 0;font-size:.85rem;line-height:1.5}.participant-add-box{display:grid;gap:.75rem;margin-bottom:1rem;border-radius:1rem;background:var(--canvas);padding:1rem}.available-search{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.75rem}.available-search label,.participant-add-form label,.available-search input{margin:0}.participant-add-form{display:grid;grid-template-columns:minmax(14rem,1.5fr) minmax(10rem,1fr) minmax(12rem,1fr) auto;align-items:end;gap:.75rem}.participant-row{grid-template-columns:minmax(12rem,1.3fr) minmax(9rem,.9fr) 9rem minmax(11rem,1fr) 7rem auto}.participant-identity{display:grid;gap:.25rem;align-self:center}.participant-identity>span:not(.badge){color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.participant-identity .badge{width:fit-content}.assignment-badge{align-self:center;justify-self:start}.minor-badge{background:#fff0b8;color:#704700}.row-actions{display:flex;align-items:center;gap:.5rem}.text-danger-button{border:0;background:transparent;padding:.5rem;color:#982f24;font-weight:700;cursor:pointer}.invitation-history-heading{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.5rem}.invitation-history-heading h3{margin:0;font-size:1.35rem}.invitation-history-heading p{margin:.5rem 0 1rem;color:var(--muted);line-height:1.5}.invitation-row{grid-template-columns:minmax(14rem,1.5fr) 8rem minmax(11rem,1fr) auto;align-items:center}.invitation-identity{display:grid;gap:.3rem}.invitation-identity span,.invitation-expiry{color:var(--muted);font-size:.78rem}.invitation-status{justify-self:start}.status-pending{background:#fff0d5;color:#8a5600}.status-accepted{background:#dff4ea;color:#17663d}.status-revoked{background:#fee7e3;color:#982f24}.status-expired{background:#e8edf2;color:#526b82}.dashboard-header{display:flex;align-items:end;justify-content:space-between;gap:3rem;padding:1.75rem 0 2.75rem}.dashboard-intro-copy{max-width:39rem}.dashboard-intro-copy .eyebrow{margin-bottom:1rem}.dashboard-intro-copy>p:last-child{margin:1rem 0 0;color:var(--muted);font-size:1.05rem;line-height:1.65}.secure-session-note{width:min(100%,25rem);margin:0;border:1px solid var(--line);border-radius:1rem;background:#ffffff8c;padding:1.15rem;color:var(--muted);font-size:.82rem;line-height:1.55}.dashboard-grid{display:grid;grid-template-columns:minmax(14rem,.58fr) minmax(0,2.05fr);align-items:start;gap:1rem}.dashboard-event-rail{position:sticky;top:1rem;display:grid;gap:.75rem;min-width:0}.dashboard-event-picker{display:grid;gap:.4rem;margin:0}.dashboard-event-picker>span{color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.dashboard-event-picker select{background:var(--card);font-size:.82rem}.event-summary-card{border-radius:1.5rem;background:var(--accent);padding:1.75rem;color:#fff;box-shadow:0 22px 60px #1769aa2e}.event-summary-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.event-summary-number{color:#ffffffa6;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.event-summary-status{border-radius:999px;background:#ffffff26;padding:.35rem .7rem;color:#fff;font-size:.68rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.event-summary-card h2{margin:0;color:#fff;font-size:clamp(1.65rem,2.6vw,2rem);line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}.event-summary-description{margin:.9rem 0 0;color:#fffc;line-height:1.65}.event-summary-person{margin:1rem 0 0;border-radius:.75rem;background:#ffffff21;padding:.65rem .75rem;color:#fff;font-size:.78rem;font-weight:700;line-height:1.4}.event-summary-details{display:grid;gap:1.05rem;margin:1.75rem 0 0}.event-summary-details div{display:grid;gap:.2rem}.event-summary-details dt,.event-summary-rules h3{color:#ffffff94;font-size:.66rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.event-summary-details dd{margin:0;color:#fffffff5;font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}.event-summary-rules{margin-top:1.75rem;border-top:1px solid rgba(255,255,255,.2);padding-top:1.25rem}.event-summary-rules h3{margin:0}.event-summary-rules p{margin:.5rem 0 0;color:#ffffffe6;font-size:.88rem;line-height:1.55;white-space:pre-wrap}.wishlist-card{min-width:0;border:1px solid rgba(255,255,255,.8);border-radius:1.5rem;background:var(--card);padding:2rem;box-shadow:0 20px 60px #372d2312}.wishlist-card>p{color:var(--muted);line-height:1.55}.wishlist-heading{display:flex;align-items:start;justify-content:space-between;gap:1.5rem;margin:0 0 .875rem}.wishlist-heading .eyebrow{margin-bottom:.65rem}.wishlist-heading h2{margin:0;font-size:clamp(1.75rem,3vw,2.15rem);letter-spacing:-.035em}.wishlist-heading>div>p:last-child{max-width:42rem;margin:.65rem 0 0;color:var(--muted);line-height:1.6}.wishlist-heading>.badge{flex:0 0 auto;margin-top:.1rem}.wishlist-field-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.55rem}.wishlist-field-heading label{margin:0}.wishlist-field-heading span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.wishlist-card textarea,.admin-wishlist-row textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:1rem;background:#ffffffbf;padding:1rem;color:var(--ink);line-height:1.65}.wishlist-card textarea:focus,.admin-wishlist-row textarea:focus{border-color:var(--accent);outline:3px solid rgba(23,105,170,.15)}.wishlist-field-help{margin:.6rem 0 1rem;color:var(--muted);font-size:.78rem;line-height:1.5}.detected-links{min-width:0;margin:0 0 1rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:.85rem 1rem}.detected-links>strong{display:block;margin-bottom:.45rem;font-size:.8rem}.detected-links ul{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.detected-links li{min-width:0}.detected-links a{display:block;overflow:hidden;color:var(--accent);font-size:.82rem;line-height:1.45;text-decoration:underline;text-overflow:ellipsis;white-space:nowrap}.detected-links a:hover{color:var(--ink)}.wishlist-actions{display:flex;justify-content:flex-start;gap:.75rem}.dashboard-wishlist-actions .secondary-button{border-color:var(--ink);background:var(--ink);color:#fff}.dashboard-wishlist-actions .primary-button{border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent)}.dashboard-wishlist-actions .secondary-button,.dashboard-wishlist-actions .primary-button{min-width:10rem;border-radius:999px}.dashboard-wishlist-actions .secondary-button:hover:not(:disabled){background:var(--accent);border-color:var(--accent)}.dashboard-wishlist-actions .primary-button:hover:not(:disabled){background:var(--accent);color:#fff}.wishlist-content{border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:1rem}.wishlist-content p{margin:0;line-height:1.7;white-space:pre-wrap}.wishlist-content+.detected-links{margin-top:.75rem}.confirmed-notice,.assignment-pending-notice,.assignment-waiting-notice,.deadline-notice{border-radius:.75rem;padding:.75rem;font-size:.85rem}.confirmed-notice{background:#dff4ea;color:#17663d!important}.delegated-wishlist-notice,.minor-toy-notice{border-radius:.75rem;padding:.75rem;font-size:.85rem;line-height:1.45}.delegated-wishlist-notice{background:#e7f1ff;color:#174d80}.minor-toy-notice{background:#fff0b8;color:#704700;font-weight:650}.assignment-pending-notice,.deadline-notice{background:#fff7e8;color:#704700!important}.assignment-waiting-notice{background:#fee7e3;color:#982f24!important}.private-assignment{margin-top:1rem;border:1px solid #b7d5c5;border-radius:1rem;background:#f3fbf7;padding:1.25rem}.private-assignment .eyebrow{margin-bottom:.35rem}.private-assignment h3{margin:0 0 1rem;font-size:1.4rem}.reveal-assignment-button{width:100%}.assigned-receiver{display:grid;gap:.25rem;margin:0 0 1rem}.assigned-receiver span{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.assigned-receiver strong{color:#17663d;font-size:1.55rem}.receiver-wishlist{border-radius:.85rem;background:#fff;padding:1rem}.receiver-wishlist>strong{display:block;margin-bottom:.5rem}.receiver-wishlist p{margin:0;color:var(--muted);line-height:1.65;white-space:pre-wrap}.receiver-wishlist .detected-links{margin:.75rem 0 0;background:var(--canvas)}.surprise-notice{margin:1rem 0 0;color:#704700!important;font-size:.85rem}.secure-print-button{margin-top:1rem}.print-sheet{display:none}.assignment-progress-summary{margin:.75rem 0 0;border-radius:.75rem;background:var(--canvas);padding:.75rem;color:var(--muted);font-size:.82rem}.assignment-assigned{background:#dff4ea;color:#17663d}.assignment-waiting_admin{background:#fee7e3;color:#982f24}.event-picker{display:block;width:min(100%,28rem);margin-bottom:1rem}.event-picker>span{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.wishlist-event-overview{display:grid;grid-template-columns:minmax(16rem,28rem) minmax(0,1fr);align-items:end;gap:1rem;margin-bottom:1rem}.wishlist-event-overview .event-picker{width:100%;margin:0}.wishlist-summary{display:grid;grid-template-columns:repeat(3,minmax(7rem,1fr));gap:.5rem}.wishlist-summary article{display:grid;height:3rem;gap:.1rem;align-content:center;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:.25rem .75rem}.wishlist-summary strong{color:var(--accent);font-size:1.2rem;line-height:1}.wishlist-summary span{color:var(--muted);font-size:.68rem;font-weight:700;line-height:1.2}.deadline-banner{margin:1rem 0;border-radius:.75rem;background:#dff4ea;padding:.75rem;color:#17663d;font-size:.85rem}.deadline-banner.passed{background:#fff7e8;color:#704700}.admin-wishlist-list{display:grid;gap:.75rem;margin-top:1rem}.admin-wishlist-row{display:grid;grid-template-columns:minmax(12rem,.75fr) minmax(18rem,1.5fr);align-items:center;gap:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1rem}.admin-wishlist-row textarea:disabled{background:var(--canvas);color:var(--muted)}.admin-wishlist-content{display:grid;gap:.65rem;min-width:0}.admin-wishlist-content textarea{width:100%}.wishlist-visibility-button{min-width:9rem}.admin-wishlist-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.reopen-wishlist-button{min-width:9rem}.reopen-wishlist-button:disabled{cursor:not-allowed;opacity:.5}.notice-event-picker{margin-bottom:1.25rem}.notice-compose{display:grid;gap:1rem;border-radius:1rem;background:var(--canvas);padding:1rem}.notice-recipient-section,.notice-message-fields{display:grid;gap:.75rem}.notice-recipient-toolbar{display:grid;grid-template-columns:minmax(15rem,1fr) auto minmax(9rem,auto);align-items:end;gap:.75rem}.notice-recipient-toolbar label,.notice-message-fields label{margin:0}.notice-recipient-toolbar label>span,.notice-message-fields label>span{display:block;margin-bottom:.4rem;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.notice-recipient-toolbar input,.notice-message-fields input{margin:0}.notice-recipient-toolbar>strong{align-self:center;color:var(--muted);font-size:.82rem;text-align:right}.notice-recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-height:18rem;overflow-y:auto}.notice-recipient{display:flex;align-items:center;gap:.7rem;margin:0;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:.7rem .8rem;cursor:pointer}.notice-recipient:has(input:checked){border-color:var(--accent);background:#eef6fc}.notice-recipient input{width:auto;margin:0;accent-color:var(--accent)}.notice-recipient>span{display:grid;min-width:0;gap:.2rem}.notice-recipient small{color:var(--muted);overflow-wrap:anywhere}.notice-message-fields textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:.8rem 1rem;color:var(--ink)}.notice-message-fields>small{justify-self:end;color:var(--muted)}.notice-actions{display:flex;justify-content:flex-end;gap:.75rem}.notice-preview{border:1px solid #b8cee0;border-radius:1rem;background:#fff;padding:1rem}.notice-preview h3{margin:.35rem 0 .75rem}.notice-preview-body,.notice-history-message{white-space:pre-wrap}.notice-preview small{color:var(--muted)}.notice-history-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:2rem;border-top:1px solid var(--line);padding-top:1.5rem}.notice-history-heading h3{margin:.35rem 0 0}.notice-history-list{display:grid;gap:.75rem;margin-top:1rem}.notice-history-row{display:grid;gap:.8rem;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1rem}.notice-history-summary{display:flex;align-items:start;justify-content:space-between;gap:1rem}.notice-history-summary>div:first-child{display:grid;justify-items:start;gap:.3rem}.notice-history-summary h4{margin:0;font-size:1.05rem}.notice-history-summary small,.notice-delivery-list small{color:var(--muted)}.notice-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;color:var(--muted);font-size:.8rem}.notice-history-message{margin:0;border-radius:.75rem;background:var(--canvas);padding:.75rem;color:var(--ink);line-height:1.55}.notice-history-row details summary{color:var(--accent);font-weight:700;cursor:pointer}.notice-delivery-list{display:grid;gap:.4rem;margin-top:.75rem}.notice-delivery-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.5rem}.notice-delivery-list>div>span:first-child{display:grid;gap:.15rem}.notice-history-row>.secondary-button{justify-self:start}@media(max-width:800px){.page-shell{padding:1.5rem 1rem}.page-container{min-height:calc(100vh - 3rem)}.account-flow-page{width:min(100% - 2rem,72rem);padding:1.5rem 0 3rem}.account-flow-stage{min-height:calc(100vh - 7.5rem);padding:2rem 0}.login-layout{grid-template-columns:1fr;gap:2.5rem;padding:4rem 0 2rem}.intro{max-width:39rem}.login-card,.flow-card{padding:1.5rem}.admin-header,.section-heading,.dashboard-header{align-items:stretch;flex-direction:column;gap:1rem}.admin-header{padding-top:2rem;padding-bottom:1rem}.catalog-filters,.catalog-filters.user-filters,.catalog-filters.role-filters{grid-template-columns:1fr 1fr}.catalog-filters label:first-child{grid-column:1 / -1}.family-row,.family-member-row,.family-member-create{grid-template-columns:1fr 1fr}.family-row label:first-child{grid-column:1 / -1}.user-row,.role-row{grid-template-columns:1fr 1fr}.repair-change-row,.repair-guide{grid-template-columns:1fr}.repair-guide>p{grid-column:auto}.repair-history-row{grid-template-columns:1fr 1fr}.repair-history-event,.repair-history-row>p{grid-column:1 / -1}.email-totals{grid-template-columns:repeat(3,1fr)}.catalog-filters.email-filters,.email-delivery-row{grid-template-columns:1fr 1fr}.role-identity,.user-identity{grid-column:1 / -1}.participant-row,.invitation-row{grid-template-columns:1fr 1fr}.dashboard-header{padding:1.5rem 0 2rem}.secure-session-note{width:100%}.dashboard-grid{grid-template-columns:1fr}.dashboard-event-rail{position:static}.admin-wishlist-row,.wishlist-event-overview{grid-template-columns:1fr}.participant-identity{grid-column:1 / -1}.notice-recipient-toolbar{grid-template-columns:1fr 1fr}.notice-recipient-toolbar label{grid-column:1 / -1}.notice-recipient-list{grid-template-columns:1fr}}@media(max-width:480px){.brand{max-width:12rem}h1{font-size:2.75rem}.account-flow-page{width:min(100% - 1.5rem,72rem);padding-top:.75rem}.account-flow-topbar{min-height:3.5rem}.account-flow-stage{min-height:calc(100vh - 6rem);padding:1rem 0}.account-flow-card{padding-top:2rem}.form-actions{align-items:stretch;flex-direction:column}.submit-button{width:100%}.topbar-actions{align-items:stretch;flex-direction:column}.catalog-panel{padding:1rem}.quick-create,.invitations-panel .quick-create,.catalog-filters,.catalog-filters.user-filters,.catalog-filters.role-filters,.family-row,.family-member-create,.family-member-row,.user-row,.role-row{grid-template-columns:1fr}.user-row>.secondary-button{margin-top:0}.invitations-panel .quick-create{justify-content:stretch}.repair-matrix-row,.repair-history-row{grid-template-columns:1fr}.repair-history-event,.repair-history-row>p{grid-column:auto}.email-totals,.catalog-filters.email-filters,.email-delivery-row{grid-template-columns:1fr}.repair-matrix-row>span{transform:rotate(90deg)}.catalog-filters label:first-child,.family-row label:first-child,.user-identity,.role-identity{grid-column:auto}.pagination{align-items:stretch;flex-direction:column}.pagination>div{justify-content:space-between}.event-form,.available-search,.participant-add-form,.participant-row,.invitation-row{grid-template-columns:1fr}.wide-field,.participant-identity{grid-column:auto}.subsection-heading{align-items:stretch;flex-direction:column}.dashboard-header{padding-top:1.25rem}.dashboard-intro-copy>p:last-child{font-size:.95rem}.event-summary-card{border-radius:1.25rem;padding:1.35rem}.event-summary-topline{margin-bottom:1.5rem}.wishlist-card{border-radius:1.25rem;padding:1.25rem}.wishlist-heading{align-items:stretch;flex-direction:column;gap:.8rem}.wishlist-heading>.badge{align-self:flex-start}.wishlist-field-heading{align-items:start}.dashboard-wishlist-actions{align-items:stretch;flex-direction:column}.dashboard-wishlist-actions .secondary-button,.dashboard-wishlist-actions .primary-button{width:100%}.notice-recipient-toolbar{grid-template-columns:1fr}.notice-recipient-toolbar label{grid-column:auto}.notice-recipient-toolbar>strong{text-align:left}.notice-actions,.notice-history-summary,.notice-history-heading{align-items:stretch;flex-direction:column}.notice-actions button{width:100%}.notice-counts{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{@page{size:auto;margin:15mm}body{min-width:0;background:#fff;color:#102f4f}body>#root{display:none!important}body:not(.print-session-active):after{display:block;max-width:38rem;margin:2rem auto;border:1px solid #c6d8e8;border-radius:.75rem;padding:1rem;content:attr(data-print-notice);color:#102f4f;font:600 11pt/1.5 Inter,ui-sans-serif,system-ui,sans-serif}body.print-session-active:after{display:none}body.print-session-active>.print-sheet{display:block}.print-sheet{width:100%;color:#102f4f;font:10.5pt/1.5 Inter,ui-sans-serif,system-ui,sans-serif}.print-sheet-header{border-bottom:2px solid #1769aa;padding-bottom:1rem}.print-brand{margin:0 0 .45rem;color:#1769aa;font-size:9pt;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.print-sheet h1{margin:0;font-size:24pt;line-height:1.1}.print-sheet-header>p:last-child{margin:.5rem 0 0;color:#526b82;font-size:12pt}.print-event-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.5rem;margin:1.25rem 0}.print-event-details>div:last-child:nth-child(odd){grid-column:1 / -1}.print-event-details dt{color:#526b82;font-size:8pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.print-event-details dd{margin:.2rem 0 0;white-space:pre-wrap}.print-assignment-details{break-inside:avoid;border:1px solid #b7d5c5;border-radius:.75rem;background:#f3fbf7;padding:1.25rem}.print-assignment-details>p:first-child{margin:0;color:#526b82;font-size:8pt;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.print-assignment-details h2{margin:.25rem 0 1.25rem;color:#17663d;font-size:20pt}.print-assignment-details h3{margin:0 0 .5rem;font-size:12pt}.print-wishlist-content{margin:0;white-space:pre-wrap}.print-links{display:grid;gap:.3rem;margin:.8rem 0 0;padding-left:1.25rem}.print-links a{color:#102f4f;overflow-wrap:anywhere;text-decoration:underline}.print-links a:after{content:" (" attr(href) ")";font-size:8.5pt}.print-sheet-footer{display:grid;gap:.5rem;break-inside:avoid;margin-top:1rem;border-top:1px solid #c6d8e8;padding-top:.8rem}.print-sheet-footer strong{color:#704700}.print-sheet-footer span{color:#526b82;font-size:8.5pt}}
