/* Colours adapt to the wedding palette while preserving the original layout. */
.welcome,.invite-hero{background:var(--hero-bg,#eeeee5)}.help-note,.calm-note{background:var(--green2)}.wedding-card{background:linear-gradient(150deg,var(--paper),var(--green2))}.flower g[stroke]{stroke:var(--decor)}.flower g[fill]{fill:var(--decor-fill)}.flower path[fill]{fill:var(--decor-fill)}.flower circle[fill]{fill:var(--gold)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--green)}.check:checked{background-color:var(--accent,var(--green));border-color:var(--green)}.budget-category-bar,.mini-envelope{background:var(--green2)}.softness-field input,.palette-presets input{accent-color:var(--accent,var(--green))}
.appearance-panel{margin-top:22px}.palette-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:24px}.palette-preset{border:1px solid var(--line);border-radius:11px;background:var(--paper);padding:10px 7px;display:grid;gap:8px;text-align:center;font-size:10px}.palette-preset.selected{border:2px solid var(--green);padding:9px 6px}.palette-swatches{display:flex;justify-content:center}.palette-swatches i{width:22px;height:22px;border-radius:50%;border:2px solid white;margin-left:-4px;box-shadow:0 1px 3px #0001}.palette-swatches i:first-child{margin-left:0}.palette-heading{display:grid;gap:4px;margin-bottom:14px}.palette-heading small,.softness-field small{font-size:10px;color:var(--muted)}.palette-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.palette-color{min-width:0;display:grid;gap:7px}.color-picker-label{font-size:10px;display:grid;gap:6px}.color-picker-label input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;cursor:pointer;padding:3px;background:var(--paper)}.color-hex{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;font-size:11px;background:var(--paper);color:var(--ink)}.softness-field{display:grid;gap:8px;margin:22px 0}.softness-field label{font-size:11px;font-weight:700}.softness-field input{width:100%}.palette-example{background:var(--green2);border:1px solid var(--line);border-radius:16px;padding:20px}.palette-example h3{font:22px 'Prata',Georgia,serif;margin:10px 0}.palette-example p{font-size:11px;color:var(--muted)}.palette-sample-button{display:inline-block;margin-top:15px;padding:9px 13px;background:var(--accent,var(--green));color:var(--on-accent,white);border:1px solid var(--accent-edge,var(--green));border-radius:9px;font-size:10px}.palette-example>i{display:inline-block;width:18px;height:18px;border-radius:50%;margin-left:7px;vertical-align:middle}.top-actions .report-top-button{white-space:nowrap}.report-modal{max-width:800px;width:calc(100vw - 32px)}.report-selector fieldset{border:0;padding:0;margin:21px 0}.report-selector legend{font-size:12px;font-weight:700;margin-bottom:12px}.report-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.report-sections label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:12px;border-radius:11px;font-size:12px;cursor:pointer}.report-sections label:has(input:checked){border-color:var(--green);background:var(--green2)}.report-selector input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent,var(--green));flex-shrink:0}.report-category-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.report-category-list label{display:flex;gap:7px;align-items:center;font-size:10px;padding:8px 10px;background:var(--green2);border-radius:8px}.report-note-option{display:flex;gap:10px;align-items:center;font-size:12px}.report-destinations{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 10px}.report-text-share{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 23px}.report-document-title{font:24px 'Prata',Georgia,serif;color:var(--green);margin:9px 0}.report-preview-label{font-size:11px;font-weight:700;margin-bottom:10px}.report-preview{width:100%;height:360px;border:1px solid var(--line);border-radius:12px;background:white}.report-selector [hidden]{display:none!important}.report-ready .section-note{line-height:1.7}.section-note{font-size:10px;color:var(--muted);margin-top:10px}
@media(max-width:760px){.palette-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.palette-colors{grid-template-columns:repeat(2,minmax(0,1fr))}.report-sections{grid-template-columns:1fr}.report-modal{max-height:90vh;padding:20px 16px}.report-destinations{display:grid;grid-template-columns:1fr;width:100%}.report-preview{height:310px}.report-destinations .btn{justify-content:center}.report-category-list{gap:7px}.report-category-list label{width:100%}.topbar .top-actions{gap:5px}.topbar .report-top-button{font-size:0;padding:8px}.topbar .report-top-button svg{width:17px;height:17px}}
@media print{body:has(.report-modal[open]) #app{display:none!important}.report-modal{position:static;display:block;width:100%;max-width:none;max-height:none;border:0}.report-modal .modal-head,.report-modal .report-destinations,.report-modal .report-text-share,.report-modal .section-note,.report-modal .form-actions,.report-modal .report-preview-label{display:none!important}}

.currency-select{height:35px;width:82px;border:1px solid var(--line);border-radius:9px;color:var(--green);background:var(--paper);padding:6px;font-size:10px;font-weight:700;cursor:pointer}.currency-select option{font-size:13px}.bottom-grid:has(>:only-child){grid-template-columns:1fr}.page-head p:empty{display:none}
@media(max-width:760px){.currency-select{width:66px;height:33px;padding:5px;font-size:10px}.topbar{gap:8px}.top-actions{gap:5px}.breadcrumb{font-size:18px}.palette-color input,.palette-color button{min-height:44px}.palette-color .color-hex{font-size:16px}.palette-example{margin-top:18px}.form-actions{flex-wrap:wrap}.form-actions .btn{min-height:44px}.topbar{padding-left:12px;padding-right:12px}}
@media(max-width:360px){.lang-select{width:50px;max-width:50px}.currency-select{width:60px}.top-actions{gap:3px}.breadcrumb{font-size:16px}.topbar{gap:5px}.topbar .btn{padding:6px}.avatar{width:27px;flex-shrink:0}}

.home-reminder{min-height:3.2em}@media(max-width:760px){.home-reminder{min-height:4.8em}}
