[hidden]{display:none!important}.portal{max-width:1080px;padding:65px 24px;margin:auto;min-height:75vh}.portal.wide{max-width:1400px}.portal h1{font-size:68px;letter-spacing:-2px}.portal h2{font-size:42px;letter-spacing:-1px}.panel{background:#fffaf2;border:1px solid #b18e5840;padding:35px;margin:25px 0}.panel p{font-size:14px}.portal-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:25px}.portal-grid .panel{margin-top:15px}form{max-width:650px}label{display:block;font-size:12px;margin:15px 0}input,select,textarea{display:block;width:100%;padding:13px 12px;margin-top:7px;border:1px solid #aa8b7260;border-radius:0;font:15px 'DM Sans',sans-serif;background:#fffdf8;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:1px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quiet{background:transparent;color:var(--wine);border:1px solid #a7844b60;padding:9px 14px;font-size:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.stats>div{background:#ecdfd3;padding:20px}.stats b{display:block;font:36px 'Cormorant Garamond',Georgia,serif}.stats span{font-size:11px}.tabs{display:flex;gap:10px;flex-wrap:wrap}.tabs button{background:transparent;border:1px solid #a7844b60;padding:12px 20px;color:var(--wine)}.tabs button.active{background:var(--wine);color:var(--ivory)}.table-wrap{overflow:auto;margin:25px 0}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th,td{padding:15px 12px;border-bottom:1px solid #a7844b44;vertical-align:top}th{font-size:10px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}td small{display:block;max-width:250px;overflow-wrap:anywhere}td .quiet{margin:2px}.notice{background:#e8dfc8;padding:15px;border-left:3px solid var(--gold)}#status{min-height:25px;color:var(--wine)}.error,.form-error{color:#a32b36}.form-error{font-size:13px}dialog{background:var(--ivory);color:var(--ink);border:1px solid var(--gold);padding:30px;width:520px;max-width:92vw;max-height:90vh;overflow:auto}dialog::backdrop{background:#321c2580}dialog h3{font-size:32px}.money{font:44px 'Cormorant Garamond',Georgia,serif;margin:20px 0}.balance-tag{font-size:12px;letter-spacing:1px;color:var(--teal)}.settlement{border-top:1px solid #a7844b55;padding:15px 0}.summary-box{background:#e8efe8;padding:20px;margin-top:20px}button:disabled{opacity:.5;cursor:wait}.empty{padding:30px 0;opacity:.7}@media(max-width:750px){.portal{padding:40px 18px}.portal h1{font-size:52px}.portal-grid{grid-template-columns:1fr;gap:0}.panel{padding:22px}.stats{grid-template-columns:1fr 1fr}.two-col{gap:10px}.portal h2{font-size:36px}}
body>header,body>main,body>footer{position:relative;z-index:1}.panel{box-shadow:0 16px 50px #49252b06;background:#fffaf2f2}input,select,textarea{font-size:16px;min-height:48px}.button,.quiet,.tabs button{min-height:44px}.badge{display:inline-block;font-size:10px;letter-spacing:.5px;padding:3px 9px;background:#e8dfc8;border-radius:20px}.invite-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.invite-actions .quiet{font-size:10px;padding:6px 9px}td b{font-weight:500}#host-login{max-width:620px;margin-inline:auto}.portal h1{overflow-wrap:anywhere}.panel h2{overflow-wrap:anywhere}#status{overflow-wrap:anywhere}#host-login-form{margin-top:25px}#split-output>p{overflow-wrap:anywhere}@media(max-width:600px){.portal{padding:35px 16px}.panel{padding:21px 17px}.portal h1{font-size:48px}.portal h2{font-size:34px}.toolbar>div{display:flex;flex-wrap:wrap;gap:8px}.stats{gap:9px}.stats>div{padding:15px;min-width:0}.stats b{font-size:29px;overflow-wrap:anywhere}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.tabs button{padding:10px 6px;font-size:11px}.table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}.table-wrap thead{display:none}.table-wrap tr{padding:13px 0;border-bottom:1px solid #a7844b55}.table-wrap td{padding:8px 0;border:0;overflow-wrap:anywhere}.table-wrap td[data-label]{display:grid;grid-template-columns:95px minmax(0,1fr);gap:5px 10px}.table-wrap td[data-label]:before{content:attr(data-label);font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#8f6c65;grid-column:1;grid-row:1/8;align-self:start;padding-top:3px}.table-wrap td[data-label]>*{grid-column:2}.table-wrap td small{max-width:100%}.table-wrap td .quiet{margin:0 3px 3px 0}.invite-actions{display:flex!important;gap:5px}.two-col{grid-template-columns:1fr 1fr;gap:10px}dialog{padding:23px 18px;max-width:calc(100vw - 24px)}.actions{gap:12px}.portal .money{font-size:37px}.portal .button{gap:15px}.portal footer{margin-top:20px}}

/* Invitation palette and paper panels, shared across RSVP and the host desk. */
.portal{padding-top:50px}.panel{background:#fffbf1f5;border:1px solid #c49a4b80;box-shadow:0 8px 30px #94671f0a}.panel h2{color:var(--wine)}.portal>h1{color:var(--wine)}.portal>h1 em{font-family:var(--script);font-size:1.12em;letter-spacing:0}.stats>div{background:#f5e7cdd9;border:1px solid #c7a05b55}.stats b{font-family:var(--serif);color:var(--wine)}.tabs button{border-color:#bd903f80;background:#fff9eb}.tabs button.active{color:var(--ivory);background:var(--wine)}.summary-box{background:#e2f0e9}.notice{background:#f8e9cb;border-left-color:var(--gold)}.badge{background:#f5e3bd}.quiet{border-color:#bd903f80;background:#fff8e8;font-family:var(--sans)}label,table,.toolbar,.tabs,.stats span{font-family:var(--sans)}input,select,textarea{background:#fffdf7;border-color:#c8a56f80;font-family:var(--sans)}dialog{background:var(--ivory);border-color:var(--gold)}.portal .button{font-family:var(--sans)}
@media(max-width:600px){.portal{padding:35px 9%}.portal.wide{padding-inline:7%}.portal h1{font-size:45px}.panel{padding:22px 17px}.portal h2{font-size:35px}.two-col{grid-template-columns:1fr}.stats{gap:8px}.stats b{font-size:30px}.toolbar{font-size:12px}.table-wrap td[data-label]{grid-template-columns:85px minmax(0,1fr);gap:5px 8px}.invite-actions .quiet{font-size:9px;padding:6px}.portal .button{font-size:11px}.portal h1{letter-spacing:-1px}}
