:root{--pine:#173f35;--cream:#fbf8f0;--paper:#fffdf9;--red:#b94e45;--gold:#c79c55;--ink:#263b34;--muted:#75817b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#f4ead7 0,transparent 32rem),var(--cream);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;min-height:100vh}.shell{max-width:760px;margin:auto;padding:48px 22px 24px}header{text-align:center;margin:0 auto 30px}.snow{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--pine);color:#f4e3b9;font-size:24px}.eyebrow{letter-spacing:.22em;color:var(--red);font-size:.7rem;font-weight:700;margin:16px 0 8px}h1,h2{font-family:Georgia,serif}h1{font-size:clamp(2.3rem,7vw,3.6rem);margin:0;color:var(--pine)}.intro{color:var(--muted);margin:8px}.card{background:var(--paper);border:1px solid #e9e1d2;border-radius:22px;padding:clamp(22px,5vw,36px);box-shadow:0 16px 44px #543d1a0d}h2{font-size:1.55rem;margin:0 0 20px;color:var(--pine)}h3{color:var(--pine);margin:22px 0 6px}.topline{display:flex;justify-content:space-between;align-items:center}.topline h2{margin:0}.notice,.muted{color:var(--muted);line-height:1.55}.notice{background:#f7f4eb;border-radius:10px;padding:12px 14px;font-size:.9rem}.small{font-size:.83rem}label{display:block;font-size:.9rem;font-weight:600;margin:14px 0}input{width:100%;padding:12px 13px;border:1px solid #d9ddd7;border-radius:10px;margin-top:6px;font:inherit;color:var(--ink);background:#fff}.person{display:grid;grid-template-columns:1fr 1.15fr;gap:12px}.person-state{grid-column:1/-1;color:var(--muted);font-size:.82rem;margin:-8px 0 10px}button{border:0;border-radius:10px;background:var(--pine);color:white;font:600 .95rem system-ui;padding:12px 18px;cursor:pointer;transition:transform .15s,filter .15s}button:hover{filter:brightness(1.08);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.quiet{background:transparent;color:var(--pine);padding:8px}.actions{display:flex;gap:12px;flex-wrap:wrap}.warm{background:var(--red)}.green{background:var(--pine)}hr{border:0;border-top:1px solid #eee7db;margin:26px 0}.status{font-weight:600}.status:before{content:'✦';color:var(--gold);margin-right:8px}#feedback{margin-top:14px;color:var(--pine);font-weight:600}.error{color:var(--red)!important}footer{text-align:center;color:var(--muted);font-size:.85rem;padding:24px}footer span{color:var(--red)}@media(max-width:520px){.shell{padding:28px 14px}.person{grid-template-columns:1fr;gap:0}.actions button{flex:1}.topline{align-items:flex-start}}
textarea,select{width:100%;padding:12px 13px;border:1px solid #d9ddd7;border-radius:10px;margin-top:6px;font:inherit;color:var(--ink);background:#fff}textarea{resize:vertical}.wishlist-group{border-top:1px solid #eee7db;padding:12px 0}.wishlist-group h3{margin-top:10px}.wishlist-empty{color:var(--muted);font-style:italic}.wishlist-item{border:1px solid #e9e1d2;background:#fffdf9;border-radius:12px;padding:14px;margin:12px 0}.wishlist-item h4{margin:0 0 6px;color:var(--pine)}.wishlist-item p{margin:6px 0;line-height:1.45;white-space:pre-wrap}.wishlist-item a{color:var(--pine);overflow-wrap:anywhere}.wishlist-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.wishlist-controls button{font-size:.82rem;padding:8px 11px}.wishlist-priority{font-size:.82rem;color:var(--red);font-weight:600}.invite-status{font-size:.82rem;color:var(--muted)}
.invite-button{grid-column:1/-1;justify-self:start;margin:-6px 0 12px;font-size:.85rem}.assignment-card{background:#f7f4eb;border:1px solid #eee7db;border-radius:14px;padding:8px 18px;margin:20px 0}.assignment-card h3{margin:8px 0}.assignment-card .status{font-size:1.15rem}
.participant-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid #e4e1d8;padding:10px 0;margin:20px 0}.tab-button{white-space:nowrap;background:#fff;color:var(--pine);border:1px solid #d9ddd7}.tab-button.is-active{background:#dce9e2;border-color:var(--pine)}.participant-panel>h2{margin-top:16px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-columns>label{margin:6px 0}.form-columns>button{align-self:end;min-height:48px;margin-bottom:14px}.masked-recipient{font-size:1.5rem;font-weight:700;letter-spacing:.18em;margin:4px 0}.assignment-card .quiet{border:1px solid #d9ddd7}.recipient-wishes{margin:24px 0}.wish-items{display:grid;gap:10px}.package-item{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e9e1d2;background:#fffdf9;border-radius:12px;padding:14px;margin:12px 0}.package-item p{margin:6px 0;white-space:pre-wrap}.package-info{min-width:0}.package-code{color:var(--pine);font-weight:700;font-family:Georgia,serif;font-size:1.1rem}.package-item.is-retired{opacity:.68}.retired-heading{color:var(--muted);margin-top:28px}.account-section{max-width:780px}.account-section button{min-width:240px}.package-print-labels{display:none}
@media(max-width:620px){.form-columns{grid-template-columns:1fr;gap:4px}.package-item{align-items:flex-start;flex-direction:column}.participant-tabs{margin-inline:-4px}.tab-button{padding:10px 13px}}
@media print{body *{visibility:hidden!important}.package-print-labels,.package-print-labels *{visibility:visible!important}.package-print-labels{display:grid!important;position:absolute;inset:0;width:100%;padding:10mm;grid-template-columns:1fr 1fr;gap:10mm}.print-label{height:46mm;border:1px solid #c79c55;border-radius:4mm;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5mm;break-inside:avoid;color:#173f35;background:#fffdf9}.print-label .snow{background:transparent;color:#c79c55}.label-kicker{font:700 8pt system-ui,sans-serif;letter-spacing:.22em;color:#a66332}.label-name{font:700 20pt Georgia,serif;text-align:center}.label-footer{font:10pt Georgia,serif;color:#75817b}}

.wishlist-link{display:inline-flex;align-items:center;margin:4px 0;padding:7px 11px;border:1px solid #d9ddd7;border-radius:999px;background:#f7f4eb;font-weight:600;text-decoration:none}.wishlist-link:hover{text-decoration:underline}

.edit-dialog{width:min(92vw,640px);max-height:90vh;overflow:auto;padding:clamp(20px,4vw,34px);border:1px solid #e9e1d2;border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 22px 70px #173f3540}.edit-dialog::backdrop{background:#173f3580;backdrop-filter:blur(2px)}.edit-dialog h2{margin-bottom:16px}.edit-dialog form>label{margin:14px 0}.dialog-actions{justify-content:flex-end;margin-top:18px}.dialog-actions .quiet{border:1px solid #d9ddd7}

.question-list{display:grid;gap:12px;margin:16px 0}.question-card{border:1px solid #e9e1d2;background:#fffdf9;border-radius:12px;padding:14px}.question-card p{margin:6px 0;white-space:pre-wrap}.question-prompt{font-weight:600}.question-choice{display:flex;align-items:center;gap:8px;margin:10px 0}.question-choice input,.profile-option input{width:auto;margin:0}.profile-question{min-width:0}.profile-question legend{font-weight:700;padding:0 4px}.profile-option{display:flex;align-items:center;gap:8px;font-weight:400;margin:9px 0}.profile-preview-option{color:var(--muted);font-size:.9rem}.f4-admin-question{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e9e1d2;border-radius:12px;padding:12px;margin:8px 0;background:#fffdf9}.f4-admin-question-heading{min-width:0}.f4-admin-question-heading p{margin:5px 0;white-space:pre-wrap}.f4-question-list{max-height:520px;overflow:auto;padding-right:4px}.f4-filters{margin-top:12px}.f4-admin .actions{margin:12px 0}

.f4-schedule-form{align-items:end;margin:16px 0}.f4-schedule-form>label{margin:6px 0}.f4-schedule-form>button{margin-bottom:14px}.f4-admin .notice{margin:12px 0}
