@font-face{font-family:Manrope;src:url('fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}@font-face{font-family:Gelasio;src:url('fonts/Gelasio.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{--paper:#f8f7fa;--ink:#49364f;--muted:#6d6572;--rose:#f1e3e9;--sage:#4d6b5d;--line:#e4dee7;--white:#fff;--warn:#86512f;--shadow:0 16px 48px #49364f18;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.5;font-size:14px;scrollbar-color:#b3a6b8 var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:4px}button{background:none;border:0}button:disabled{opacity:.55;cursor:not-allowed}::selection{background:#e8cedb;color:var(--ink)}input,textarea{caret-color:var(--ink)}:focus-visible{outline:3px solid #87648e;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-family:Gelasio,Georgia,serif;font-weight:400;font-size:42px;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}h2{font-size:17px;font-weight:700}h3{font-size:16px}p{max-width:72ch}small,.small{font-size:12px}small{display:block;color:var(--muted)}.muted{color:var(--muted)}.success{color:var(--sage)}.warning-text{color:var(--warn)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px;left:16px;background:white;padding:12px;z-index:20}.skip:focus{top:12px}
.header{height:86px;padding:0 4%;display:flex;align-items:center;gap:60px;background:white;border-bottom:1px solid var(--line)}.brand{font-family:Gelasio,Georgia,serif;font-size:33px;letter-spacing:-.03em;text-decoration:none;display:flex;align-items:center;gap:6px}.brand-dot{width:6px;height:6px;border-radius:50%;background:#bc8199;margin-top:17px}.header nav{display:flex;align-self:stretch;gap:34px}.header nav a{display:flex;align-items:center;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent;padding-top:3px}.header nav a[aria-current]{color:var(--ink);border-color:var(--ink);font-weight:700}.header .preview{margin-left:auto}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:11px 19px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-weight:650;background:white;transition:background .15s}.button:hover,.small-button:hover{background:var(--rose)}.button.primary{background:var(--ink);color:white;border-color:var(--ink)}.button.primary:hover{background:#604668}.button.quiet{background:transparent}.text-button{min-height:44px;padding:8px;text-decoration:underline;text-underline-offset:4px;font-size:12px}.wedding-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 4%;gap:12px;border-bottom:1px solid var(--line);font-size:12px}.wedding-bar>div{display:flex;gap:16px;align-items:center}.demo-tag{display:inline-block;background:var(--rose);padding:4px 10px;border-radius:20px;font-size:11px;font-weight:650}.workspace{max-width:1600px;margin:auto;padding:34px 4% 60px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.page-heading p{color:var(--muted);margin-top:9px}.attendance-line{display:flex;gap:24px;padding:0 0 22px;font-size:12px;color:var(--muted);flex-wrap:wrap}.attendance-line strong{color:var(--sage)}.studio{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start}.table-canvas{background:#f0edf2;border-radius:16px;padding:22px;min-width:0}.canvas-note{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:0 4px 22px}.canvas-note span{font-size:11px}.tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.table-scene{padding:22px 14px 18px;min-width:0;background:#f8f6f9;border:1px solid #ded7e2;border-radius:14px;transition:background .2s}.table-scene.selected{background:#f4e8ed;border-color:#bba4b2}.table-face{display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;margin:0 auto 20px;border-radius:50%;border:1px solid #c7b9cb;background:var(--white);position:relative}.table-face::before,.table-face::after{content:'';position:absolute;width:30px;height:8px;border:1px solid #c7b9cb;border-radius:5px;background:#fff;left:calc(50% - 15px)}.table-face::before{top:-7px}.table-face::after{bottom:-7px}.selected .table-face{border-color:#a58199}.table-number{font-size:11px;color:var(--muted);letter-spacing:.12em}.table-face strong{font-family:Gelasio,Georgia,serif;font-size:24px;font-weight:400;margin:3px 0}.table-face small{font-size:11px}.place-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:100px}.place-card{background:white;padding:10px 7px;text-align:center;border-radius:4px;min-height:48px;min-width:0;border-bottom:2px solid #ded6e2}.place-card span{font-family:Gelasio,Georgia,serif;font-size:14px;overflow-wrap:anywhere}.place-card small{font-size:10px;margin-top:2px}.place-card:hover{background:#fffafa;border-color:#9f768e}.place-card[draggable]{cursor:grab}.empty-table{grid-column:1/-1;text-align:center;margin:auto;color:var(--muted);font-size:12px}.side-panel{background:white;border-radius:14px;padding:23px;min-width:0}.side-panel section+section{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.side-panel h2{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.count{font-size:12px;background:var(--rose);padding:2px 8px;border-radius:20px}.guest-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 0;border-bottom:1px solid #f0edf2}.guest-row>div{min-width:0}.name-button{font-family:Gelasio,Georgia,serif;font-size:16px;text-align:left;padding:5px 0;overflow-wrap:anywhere;min-height:36px}.name-button:hover{text-decoration:underline;text-underline-offset:3px}.guest-row small{font-size:11px}.small-button{border:1px solid var(--line);border-radius:6px;min-height:44px;padding:6px 11px;font-size:12px}.issue-list{list-style:none;margin:16px 0 0;padding:0}.issue-list li{font-size:12px;margin-top:12px;line-height:1.6}.issue-label{font-size:10px;font-weight:750;color:var(--warn);display:block}.empty{padding:28px 10px;color:var(--muted)}.empty p{margin:8px 0 15px}.filters{display:flex;gap:18px;align-items:end;margin:30px 0}.filters label{width:260px}.filters>span{margin-left:auto;padding-bottom:12px;font-size:12px}label{display:block;font-size:12px;font-weight:650}input,select,textarea{display:block;background:white;border:1px solid #b9afbf;border-radius:7px;padding:11px 12px;width:100%;font-size:14px;font-weight:400;min-height:44px;margin-top:7px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.guest-list{background:white;border-radius:12px;padding:0 24px}.guest-record{display:grid;grid-template-columns:1.3fr 1fr 1.5fr .7fr auto;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.guest-record:last-child{border:0}.guest-record>*{min-width:0;overflow-wrap:anywhere}.guest-record small{font-size:11px;margin-top:4px}.status{font-size:11px;padding:5px 9px;border-radius:20px;justify-self:start;background:#efedf2}.status.attending{background:#e5eee8;color:#3e5b4b}.status.declined{background:#f4e5e5;color:#805050}.export-actions{display:flex;gap:12px;margin:20px 0 34px}.demo-note{color:var(--muted);font-size:12px}.meal-overview{background:var(--rose);border-radius:14px;padding:28px;margin-bottom:36px}.meal-counts{display:flex;gap:60px;margin:20px 0}.meal-counts>div{display:flex;gap:12px;align-items:center}.meal-counts strong{font-family:Gelasio,Georgia,serif;font-size:36px;font-weight:400}.meal-counts span{font-size:12px}.handoff-table{margin:20px 0 26px;background:white;border-radius:12px;padding:24px;overflow:auto}.handoff-table h3{margin-bottom:18px}.handoff-table h3 span{font-weight:400;font-size:12px;color:var(--muted);margin-left:12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;color:var(--muted);font-weight:650}th,td{padding:12px 10px 12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th:first-child{width:25%}td:last-child{width:30%}.handoff-checks{max-width:760px}.handoff-checks>p{margin-top:12px}.invite-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.invitation{max-width:1180px;margin:auto;padding:0 32px 60px}.invite-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.invitation-paper{background:white;border-radius:180px 180px 12px 12px;text-align:center;padding:36px 35px 42px;border:1px solid #e0d3dc;position:relative}.floral-mark{width:46px;height:56px;margin:0 auto 16px}.floral-mark svg{width:100%;height:100%;fill:none;stroke:#947088;stroke-width:1.3}.invite-opening{font-size:12px;margin-bottom:21px}.invitation-paper h1{font-size:60px;line-height:1.1}.invitation-paper h1 em{display:block;font-size:35px;font-weight:400;color:#956c87;margin:10px 0}.invite-message{font-family:Gelasio,Georgia,serif;font-size:22px;margin:23px 0;color:#765d75}.invite-date{font-weight:650;margin:23px 0 15px}.invite-date span{font-weight:400;font-size:12px}.invitation-paper>p:not(.invite-opening):not(.invite-message){font-size:12px}.invite-rule{height:1px;width:45px;background:#c4adbc;margin:25px auto}.invited-names{margin-bottom:22px}.invited-names strong{display:block;margin-top:8px;font-family:Gelasio,Georgia,serif;font-weight:400;font-size:17px}.rsvp-panel{padding-top:42px;min-width:0}.rsvp-panel>h2{font-family:Gelasio,Georgia,serif;font-size:30px;font-weight:400}.rsvp-panel>p{color:var(--muted);margin:12px 0 25px}.rsvp-panel fieldset{border:0;border-top:1px solid var(--line);padding:22px 0;margin:0 0 20px;min-width:0}.rsvp-panel legend{font-family:Gelasio,Georgia,serif;font-size:21px;padding:0 14px 0 0}.rsvp-panel label+label,.rsvp-meal label{margin-top:17px}.rsvp-panel .local-note{font-size:11px;margin-top:28px}.reply-summary>div{border-bottom:1px solid var(--line);padding:20px 0}.reply-summary{margin-bottom:28px}.reply-summary p{margin-top:7px}dialog{border:0;border-radius:16px;padding:28px;max-width:480px;width:calc(100% - 32px);max-height:90vh;box-shadow:var(--shadow)}dialog::backdrop{background:#30263766}dialog label{margin-top:16px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-heading h2{font-family:Gelasio,Georgia,serif;font-size:26px;font-weight:400}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:27px}.form-error{color:#8a3434;font-size:13px;margin-top:12px}.storage-warning{background:#fff0df;color:#77441e;padding:16px 4%}.local-note{color:var(--muted)}footer{display:flex;justify-content:space-between;gap:16px;padding:22px 4%;border-top:1px solid var(--line);color:var(--muted);font-size:11px}#notice:not(:empty){position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 22px;background:var(--ink);color:white;border-radius:10px;max-width:calc(100% - 32px);z-index:30;box-shadow:var(--shadow);pointer-events:none}h1:focus{outline:none}#rsvp{scroll-margin-top:24px}[hidden]{display:none!important}
@media(min-width:1400px){.workspace{padding-top:40px}.studio{grid-template-columns:minmax(0,1fr) 340px}.table-scene{padding-top:28px}.table-face{width:160px;height:160px}.place-card{padding:11px}.place-card span{font-size:16px}}
@media(max-width:1000px){.header{gap:28px}.studio{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.table-canvas{padding:16px}.tables{gap:12px}.table-face{width:115px;height:115px}.table-face strong{font-size:21px}.place-cards{grid-template-columns:1fr}.side-panel{padding:18px}.invite-layout{gap:36px}.meal-counts{gap:25px;flex-wrap:wrap}.guest-record{grid-template-columns:1.3fr 1fr 1.2fr auto}.guest-record>span:nth-last-child(2){display:none}}
@media(max-width:700px){h1{font-size:33px}.header{height:auto;min-height:118px;flex-wrap:wrap;gap:0;padding:15px 20px 0;justify-content:space-between}.brand{font-size:30px}.header nav{order:3;width:100%;height:51px;justify-content:space-around;gap:0;margin-top:5px}.header .preview{font-size:11px;padding:8px 11px;min-height:40px}.wedding-bar{padding:9px 20px;align-items:start;flex-direction:column;gap:0}.wedding-bar>div{width:100%;justify-content:space-between}.workspace{padding:26px 20px 40px}.page-heading{align-items:start;gap:12px}.page-heading>.button{font-size:11px;padding:10px;white-space:nowrap}.page-heading p{font-size:12px;line-height:1.6;margin-top:10px}.attendance-line{gap:8px 15px;font-size:11px;padding-bottom:18px}.studio{display:flex;flex-direction:column}.table-canvas{width:100%;padding:16px}.canvas-note{gap:12px;font-size:11px;align-items:center}.canvas-note span{text-align:right;max-width:105px;font-size:10px}.tables{grid-template-columns:1fr;gap:16px}.table-scene{padding:23px 14px 18px}.table-face{width:135px;height:135px;margin-bottom:20px}.place-cards{grid-template-columns:1fr 1fr;min-height:80px}.place-card span{font-size:14px}.side-panel{width:100%;padding:23px}.side-panel section:first-child{scroll-margin-top:16px}.filters{flex-wrap:wrap;gap:14px;margin:24px 0}.filters label{width:100%}.filters>span{margin:0;padding:0}.guest-list{padding:0 17px}.guest-record{grid-template-columns:1fr auto;gap:10px;padding:20px 0}.guest-record>span:nth-child(3){grid-column:1;font-size:12px}.guest-record>span:nth-last-child(2){display:block;font-size:12px}.guest-record>.small-button{grid-column:2;grid-row:3}.status{justify-self:end}.meal-overview{padding:22px}.meal-counts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.meal-counts>div{gap:8px}.meal-counts strong{font-size:30px}.meal-counts span{font-size:11px}.meal-overview>p{font-size:11px}.handoff-table{padding:18px 12px}.handoff-table h3 span{display:block;margin:5px 0 0}.handoff-table table{font-size:10px;table-layout:fixed}.handoff-table th{font-size:9px}.handoff-table th,.handoff-table td{padding:9px 5px 9px 0}.export-actions{flex-direction:column}.invitation{padding:0 20px 40px}.invite-toolbar{padding:13px 0}.invite-layout{grid-template-columns:1fr;gap:16px}.invitation-paper{padding:32px 20px 36px;border-radius:145px 145px 12px 12px}.invitation-paper h1{font-size:52px}.rsvp-panel{padding:22px 4px}.floral-mark{height:45px;margin-bottom:12px}.invite-opening{font-size:10px}.invite-message{font-size:20px;margin:18px 0}.invite-date{font-size:12px}.invite-rule{margin:20px auto}footer{flex-direction:column;padding:20px;gap:5px}.dialog-heading h2{font-size:23px}dialog{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;color:#222;font-size:10pt}.header,.wedding-bar,footer,#notice,.export-actions,.handoff>.page-heading>.button,.storage-warning,.skip{display:none!important}.workspace{max-width:none;padding:0}.page-heading{margin-bottom:15px}h1{font-size:25pt}.meal-overview{background:none;border:1px solid #aaa;padding:15px}.handoff-table{overflow:visible;padding:0;margin:20px 0;break-inside:avoid;border-radius:0}.handoff-table table{table-layout:auto;font-size:9pt}.handoff-table th{font-size:9pt}th,td{white-space:normal;overflow-wrap:anywhere;padding:7px 5px}thead{display:table-header-group}.handoff-checks{break-inside:avoid}.meal-counts{gap:30px}a{text-decoration:none}@page{size:auto;margin:15mm}}
/* Invitation design and local line icons. */
.icon{width:20px;height:20px;flex:none;vertical-align:middle}.header nav a{gap:8px}.button .icon,.small-button .icon{width:18px;height:18px}.small-button{display:inline-flex;align-items:center;gap:5px}.text-button .icon{width:16px;height:16px;margin-right:6px}.meal-overview h2 .icon,.handoff-checks h2 .icon{margin-right:8px}.side-panel section:last-child h2{justify-content:flex-start}.unseated-jump{display:inline-flex;gap:7px;align-items:center;min-height:44px;margin:-12px 0;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.unseated-jump .icon{width:15px;height:15px}#unseated-guests:focus{outline:2px solid #87648e;outline-offset:8px}.design-layout{display:grid;grid-template-columns:340px minmax(0,650px);gap:64px;align-items:start;justify-content:center}.design-controls{background:white;padding:26px;border-radius:14px}.style-choices{padding:0;margin:22px 0 28px;border:0}.style-choices legend{font-size:12px;margin-bottom:12px}.style-choice{display:flex;gap:12px;align-items:center;padding:14px 0;cursor:pointer}.style-choice input{width:19px;min-height:19px;height:19px;margin:0;accent-color:var(--ink)}.style-choice strong{font-size:14px}.style-choice small{margin-top:3px}.style-choice:has(input:checked) strong{color:var(--sage)}.photo-controls{border-top:1px solid var(--line);padding-top:24px}.photo-controls p{margin:10px 0 16px;font-size:12px}.photo-controls .form-error{color:#8a3434}.photo-thumbnail{width:100%;height:130px;object-fit:contain;background:var(--paper);margin:15px 0;border-radius:6px}.design-actions{display:flex;gap:10px;margin:24px 0 16px}.design-controls .design-actions .button{padding:10px 12px}.design-preview{min-width:0}.design-preview .invitation-paper{max-width:580px;margin:auto}.design-preview-note{color:var(--muted);font-size:11px;margin-top:20px}.invitation-paper.modern-paper{border:0;border-radius:0;padding:0;text-align:left;background:#efe9f0;overflow:hidden}.modern-title{padding:38px 35px}.modern-title>p{font-size:12px;margin-bottom:20px}.modern-paper .modern-title h1{font-family:Manrope,system-ui,sans-serif;font-weight:500;font-size:70px;letter-spacing:-.04em;line-height:1.05}.modern-title h1 span{display:block}.modern-date{display:flex;align-items:center;gap:23px;padding:14px 35px 28px;border-bottom:1px solid #ccbccc}.modern-date>span{font-family:Gelasio,Georgia,serif;font-size:94px;line-height:1}.modern-date>div{font-size:14px;line-height:1.7}.modern-bottom{padding:30px 35px 35px;background:white}.modern-bottom>p{font-size:13px;margin-bottom:23px}.modern-bottom .invited-names{padding-top:20px;border-top:1px solid var(--line)}.invitation-paper.photo-paper{padding:0;text-align:center;border-radius:12px;overflow:hidden;border:0}.photo-frame{height:290px;background:#eee8ed}.photo-frame>img{width:100%;height:100%;object-fit:contain;display:block}.photo-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:25px}.photo-empty>.icon{height:28px;width:28px;color:var(--muted)}.photo-empty>p{font-family:Gelasio,Georgia,serif;font-size:21px}.photo-empty .button{margin-top:6px}.photo-caption{padding:26px 28px 32px}.photo-caption h1{font-size:42px}.photo-caption h1 em{display:inline;font-size:30px;margin:0}.photo-caption>p{font-family:Gelasio,Georgia,serif;font-size:16px;margin-top:12px}.photo-caption .invite-date{margin:20px 0 10px;font-size:12px}.photo-caption .invite-location{font:12px/1.5 Manrope,system-ui,sans-serif}.photo-caption .invited-names{margin:22px 0 18px;font:11px/1.5 Manrope,system-ui,sans-serif}.photo-caption .invited-names strong{font-size:16px}.invite-location{font-size:12px}.preview span[aria-hidden]{display:none}
@media(max-width:1000px){.design-layout{gap:30px;grid-template-columns:300px minmax(0,1fr)}.modern-paper .modern-title h1{font-size:53px}.modern-title,.modern-date,.modern-bottom{padding-left:26px;padding-right:26px}}
@media(max-width:700px){.header nav a{font-size:12px;gap:6px}.header nav .icon{width:17px;height:17px}.wedding-bar>div{gap:5px;flex-wrap:wrap}.wedding-bar .text-button{font-size:10px;padding:8px 2px}.wedding-bar .text-button .icon{width:14px;height:14px;margin-right:3px}.wedding-bar .demo-tag{font-size:10px;padding:4px 7px}.design-layout{grid-template-columns:1fr;gap:25px}.design-controls{padding:22px}.design-preview{width:100%}.design-preview .invitation-paper{width:100%}.modern-paper .modern-title h1{font-size:58px}.modern-title{padding:32px 26px 24px}.modern-date{padding:10px 26px 24px}.modern-date>span{font-size:86px}.modern-bottom{padding:24px 26px 30px}.photo-frame{height:235px}.photo-caption{padding:24px 20px 26px}.photo-caption h1{font-size:36px}.photo-caption h1 em{font-size:27px}.photo-caption .invite-date{margin:17px 0 10px}.photo-caption .invited-names{margin:18px 0}.photo-caption .invited-names strong{font-size:15px}.unseated-jump{font-size:11px}.side-panel section:last-child h2 .icon{width:18px;height:18px}.invitation .photo-empty p{font-size:20px}}

/* Bounded UI polish: real miniature layouts, readable records, tighter seating. */
.design-layout{grid-template-columns:400px minmax(0,580px);gap:24px 48px}
.style-controls{grid-column:1;grid-row:1}.photo-settings{grid-column:1;grid-row:2}.design-preview{grid-column:2;grid-row:1 / span 2}
.style-controls{padding:22px}.style-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 0;min-width:0}
.style-choices legend{margin-bottom:14px}.style-choice{position:relative;display:flex;flex-direction:column;gap:8px;padding:8px 4px 12px;border:1px solid var(--line);border-radius:8px;min-width:0;background:var(--paper)}
.style-choice:hover{background:var(--rose)}.style-choice:has(input:checked){border-color:var(--ink);background:var(--rose)}.style-choice:has(input:focus-visible){outline:3px solid #87648e;outline-offset:3px}
.style-choice input{position:absolute;bottom:14px;left:8px;width:16px;height:16px;min-height:16px}.style-caption{padding-left:20px}.style-caption strong{font-size:12px}.style-caption small{display:none}
.style-mini{display:block;width:88px;height:118px;overflow:hidden;pointer-events:none;position:relative}
.style-mini .invitation-paper{width:580px;max-width:none;margin:0;transform:scale(.15);transform-origin:top left;pointer-events:none}
.style-mini .invitation-paper h1{outline:none}.style-mini .design-preview-note{visibility:hidden}
.photo-settings .photo-controls{border:0;padding:0}
.handoff-label{display:none}
.table-canvas{padding:16px}.canvas-note{margin-bottom:16px}.table-scene{padding:18px 12px 14px}.table-face{width:112px;height:112px;margin-bottom:14px}.table-face strong{font-size:22px}.tables{gap:14px}
.place-cards{min-height:64px}.place-card{min-height:48px;padding:8px}.place-card span{font-size:16px}.place-card small{font-size:11px}.side-panel{padding:20px}.side-panel .guest-row{padding:8px 0}.side-panel .name-button{min-height:44px}.side-panel section+section{padding-top:18px;margin-top:18px}.side-panel .issue-list li{font-size:13px}.side-panel .issue-label{font-size:11px}
@media screen and (min-width:701px) and (max-width:1000px){.design-layout{grid-template-columns:1fr 1fr;gap:24px}.style-controls{grid-column:1 / -1}.design-preview{grid-column:2;grid-row:2}.photo-settings{grid-column:1;grid-row:2}.style-choices{max-width:420px}.table-face{width:96px;height:96px}.table-scene{padding:14px 8px 10px}.place-card span{font-size:14px}}
@media screen and (max-width:700px){
 .design-layout{display:flex;flex-direction:column;gap:18px}.style-controls,.photo-settings{width:100%;padding:18px}.style-controls{order:0}.design-preview{order:1}.photo-settings{order:2}.style-choices{gap:6px}.style-choice{padding:6px 2px 12px}.style-choice input{left:5px}.style-caption{padding-left:18px}.style-caption strong{font-size:11px}.style-mini{width:82px;height:108px}.style-mini .invitation-paper{transform:scale(.14)}
 .table-canvas{padding:12px}.table-scene{padding:14px 10px 12px}.table-face{width:96px;height:96px;margin-bottom:12px}.table-face strong{font-size:20px}.tables{gap:12px}.place-cards{min-height:54px}.place-card span{font-size:15px}.side-panel{padding:18px}.canvas-note{margin-bottom:14px}
 .handoff-table{padding:18px;overflow:visible}.handoff-table table,.handoff-table tbody{display:block;width:100%;font-size:13px}.handoff-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .handoff-table tr{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:18px 0;border-bottom:1px solid var(--line)}.handoff-table tr:last-child{border-bottom:0;padding-bottom:0}
 .handoff-table td{display:block;width:auto!important;border:0;padding:0;font-size:13px;line-height:1.6;min-width:0}.handoff-table td:first-child,.handoff-table td:last-child{grid-column:1 / -1}.handoff-table td:first-child{font-family:Gelasio,Georgia,serif;font-size:18px}
 .handoff-label{display:block;font:600 11px/1.5 Manrope,system-ui,sans-serif;color:var(--muted);margin-bottom:3px}.handoff .meal-counts span,.handoff .meal-overview>p,.handoff .demo-note,.handoff .issue-list li{font-size:13px}.handoff .issue-label{font-size:11px}
}
@media print{.handoff-label{display:none!important}}

/* Actionable checks use the existing guest and table dialogs. */
.handoff-checks{max-width:none;padding:24px;background:white;border-radius:12px;margin:0 0 28px}.handoff-checks>p{font-size:13px}
.check-groups{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(300px,1.6fr);gap:28px;margin-top:24px}.check-groups>section{min-width:0}.check-groups h3{font-size:14px}.check-groups .issue-list{margin-top:12px}.check-groups .issue-list li{font-size:13px;padding:12px 0;border-top:1px solid var(--line);margin:0;break-inside:avoid}
.check-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.check-actions .small-button{white-space:normal;text-align:left;max-width:100%}.side-panel .check-actions{gap:6px}.selected-detail{scroll-margin-top:20px}.selected-detail:focus{outline:2px solid #87648e;outline-offset:8px}.check-complete{margin-top:18px}
@media screen and (max-width:1000px){.check-groups{grid-template-columns:1fr 1fr}.check-groups>section:last-child{grid-column:1 / -1}}
@media screen and (max-width:700px){.handoff-checks{padding:20px}.check-groups{grid-template-columns:1fr;gap:22px}.handoff .page-heading h1{font-size:30px}.check-actions .small-button{font-size:12px}}
@media print{.check-actions{display:none!important}.handoff-checks{padding:0;margin:18px 0;break-inside:auto}.check-groups{display:block;margin-top:12px}.check-groups>section{margin-top:12px}.check-groups .issue-list li{padding:6px 0;font-size:9pt}.check-groups h3{font-size:10pt}.handoff-checks>p{font-size:9pt}}

/* Own wedding: settings and explicit first-use actions follow the existing workspace. */
.import-source{max-width:540px}.import-source>p{margin-top:12px}#import-feedback{margin:20px 0;overflow-wrap:anywhere}.import-mapping,.import-preview{margin-top:30px}.import-mapping>p,.import-preview>p{margin:12px 0;font-size:13px}.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0}.csv-scroll{overflow:auto;max-height:520px;background:white;padding:16px;border-radius:12px;margin-top:20px}.csv-scroll table{min-width:1020px;table-layout:fixed}.csv-scroll th:first-child{width:65px}.csv-scroll td:last-child{width:auto}.csv-scroll th:last-child{width:230px}.csv-scroll td{vertical-align:top;white-space:pre-wrap}.csv-scroll .form-error{margin:0;padding-left:16px}.csv-scroll th{position:sticky;top:-16px;background:white}.import-workspace .settings-actions{align-items:center}
@media screen and (max-width:700px){.mapping-grid{grid-template-columns:1fr 1fr;gap:16px}.import-workspace .page-heading{flex-direction:column}.csv-scroll{max-height:460px}.mapping-grid label:last-child{grid-column:1 / -1}}
.mode-choice select{margin:0;font-size:12px;width:auto}.wedding-bar,.wedding-bar>div{flex-wrap:wrap}.wedding-bar>span{overflow-wrap:anywhere;min-width:0}.guest-actions,.settings-actions{display:flex;gap:12px;flex-wrap:wrap}.settings-workspace{max-width:980px}.settings-section{padding:28px 0;border-bottom:1px solid var(--line)}.settings-section h2{margin-bottom:12px}.settings-section>p{font-size:13px;color:var(--muted);margin-bottom:18px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}.setting-row{display:flex;align-items:end;gap:16px;margin:18px 0}.setting-row>label{flex:1;min-width:0}.setting-row>label:nth-child(2){max-width:150px}.settings-actions{margin:24px 0 14px}.own-invitation>.invitation-paper{max-width:580px;margin:0 auto 24px}.own-invitation>.local-note{margin:0 auto;text-align:center}.meal-counts{flex-wrap:wrap}.table-face strong{max-width:100%;overflow-wrap:anywhere}.invitation-paper h1,.invite-location,.guest-row small{overflow-wrap:anywhere}.handoff-table td:last-child,.guest-record small{white-space:pre-wrap}
@media screen and (max-width:700px){.settings-grid{grid-template-columns:1fr}.setting-row{flex-wrap:wrap}.setting-row>label{flex-basis:55%}.setting-row>label:nth-child(2){flex-basis:25%}.setting-row .text-button{padding-left:0}.guest-actions{gap:8px}.guest-actions .button{padding:10px;font-size:12px}.page-heading:has(.guest-actions){flex-direction:column}.wedding-bar .text-button{font-size:12px}.mode-choice select{min-height:44px}.settings-section{padding:24px 0}}
/* Backup and declared rules retain the existing task-page surfaces. */
.backup-workspace,.rules-workspace{max-width:1100px;overflow-wrap:anywhere}
.backup-workspace p,.rule-record p,.guest-rules{overflow-wrap:anywhere}
.restore-comparison{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:24px 0}
.restore-comparison section{min-width:0}
.replace-ack{display:flex;align-items:flex-start;gap:12px;margin:24px 0;cursor:pointer}
.replace-ack input{width:20px;min-width:20px;height:20px;margin:2px 0}
.rule-record{padding:28px 0;border-bottom:1px solid var(--line,#E4DEE7)}
.rule-record h2{font-size:22px}
.rule-record .check-actions{flex-wrap:wrap}
.rule-record .check-actions button{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%}
.guest-rules{border-top:1px solid var(--line,#E4DEE7);margin-top:24px;padding-top:16px}
@media(max-width:650px){.restore-comparison{grid-template-columns:1fr;gap:12px}.rules-workspace .page-heading{align-items:flex-start}.backup-workspace .page-heading{flex-wrap:wrap}}
