/* Shared visual language for the invitation studio and public experience. */
:root{--wine:#245b4c;--dark:#173f35;--gold:#a87b40;--paper:#f6f7f4;--surface:#fff;--ink:#202f2b;--muted:#65736d;--line:#e3e9e3;--radius:20px;--forest:#173f35;--mint:#edf4ee}
body{font-family:'DM Sans',Inter,system-ui,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'DM Sans',Inter,system-ui,sans-serif;letter-spacing:-.045em;font-weight:600}
h1{font-size:clamp(30px,3.2vw,44px);line-height:1.15}h2{font-size:24px}h3{font-size:20px}
a,button,input,select,textarea{ -webkit-tap-highlight-color:transparent }
:focus-visible{outline:3px solid #ab8150;outline-offset:4px}
.eyebrow{color:#557365;font-size:10px;font-weight:700;letter-spacing:.19em;margin-bottom:14px}
.topbar{height:82px;padding-inline:max(24px,calc((100vw - 1280px)/2));background:#fffffff2;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:relative;z-index:10}
.brand{font-family:'DM Sans',sans-serif;font-weight:700;font-size:23px;letter-spacing:-1px;color:var(--forest);gap:10px}
.brand b{display:grid;place-items:center;width:37px;height:37px;padding:0;background:var(--forest);border-radius:12px;font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:500;letter-spacing:0;padding-right:0}
.brand em{font-style:normal;font-weight:400;color:#6c8578}
.topbar nav{gap:8px}.topbar nav>a{padding:9px 13px;border-radius:9px;font-size:13px;font-weight:500;color:#52615a}.topbar nav>a:hover,.topbar nav>a[aria-current=page]{background:var(--mint);color:var(--forest)}
.topbar nav .mobile-name{border-left:1px solid var(--line);padding-left:16px;margin-left:8px;max-width:140px}.topbar #logout{font-size:12px;color:var(--muted)}
.wrap{max-width:1280px;padding:42px 28px 64px}.heading{gap:24px;margin-bottom:28px}.heading>div>h1{margin-bottom:12px}.heading .muted{font-size:14px}
.btn{background:var(--forest);border-radius:11px;min-height:44px;padding:11px 19px;font-size:13px;letter-spacing:0;box-shadow:0 3px 6px #173f3509;transition:background .18s,box-shadow .18s,transform .18s}
.btn:hover{background:#28604e;box-shadow:0 5px 15px #173f351c;transform:translateY(-1px)}
.btn.secondary{background:white;border-color:#dce5de;color:var(--forest);box-shadow:none}.btn.secondary:hover{background:#f0f5f0;border-color:#a7bbae}.btn.small{min-height:34px;padding:7px 11px;font-size:11px}.text-button{font-size:12px;font-weight:500}
.panel{border-radius:20px;padding:28px;box-shadow:0 4px 16px #1b3b2b03;border-color:var(--line)}
.stats{gap:16px}.stat{border-radius:16px;padding:23px 24px;background:white;position:relative}.stat strong{font-family:'DM Sans',sans-serif;font-size:34px;letter-spacing:-1.6px;font-weight:500;color:var(--forest);line-height:1.3;margin-bottom:6px}.stat span{display:block;font-size:12px;color:var(--muted)}
.stats>.stat:first-child{background:var(--forest);border-color:var(--forest)}.stats>.stat:first-child strong{color:white}.stats>.stat:first-child span{color:#d7e4dc}
.occasion-totals .stat{background:#edf3ed;border:0;border-left:3px solid #bdcbb9;border-radius:3px 14px 14px 3px;padding:18px 22px}.occasion-totals .stat strong{font-size:20px;letter-spacing:-.4px}.occasion-totals .stat small{font-size:11px;color:var(--muted);margin-top:5px}
.event-sharing{gap:20px;margin-block:30px}.event-sharing .panel{padding:25px}.event-sharing h2{font-size:21px}.event-sharing p{font-size:13px;line-height:1.7}.event-sharing .footer-note{margin:20px 0 0;text-align:left}.event-sharing .actions{margin-top:14px}
.event-sharing [data-deadline]{background:var(--mint);border-radius:8px;padding:10px 12px;color:var(--forest)}
.flow-strip{background:transparent;border:0;border-block:1px solid var(--line);border-radius:0;padding:17px 0;gap:26px;color:#77857c}.flow-strip strong{background:#e7f0e6;padding:5px 10px;border-radius:6px}
input,select,textarea{border:1px solid #dce4dd;border-radius:10px;padding:12px 13px;background:#fcfdfb;font-size:13px;min-height:44px;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:#b9c8be}input:focus,select:focus,textarea:focus{border-color:#668e77;box-shadow:0 0 0 3px #245b4c13;background:white}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--forest)}
form label,.panel label{font-size:12px;font-weight:600;letter-spacing:0}.panel label small{font-weight:400}
input:disabled,textarea:disabled{background:#f1f3ef;color:#66736b;cursor:not-allowed}
.guest-form{padding:20px;background:#f6f8f4;border-radius:12px;margin-bottom:24px}.guest-form input{background:white}.guest-form .check-label{margin-top:6px}.filter-row{gap:10px}.filter-row input,.filter-row select{background:#fff}
.detail-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}.detail-layout>aside{padding-top:8px}.detail-layout>.panel>.heading{align-items:flex-start}.detail-layout>.panel>.heading h2{white-space:nowrap}
table{font-size:12px}th{font-size:10px;font-weight:600;letter-spacing:.06em;background:#f6f8f4;color:#67796c}th:first-child{border-radius:8px 0 0 8px}th:last-child{border-radius:0 8px 8px 0}th,td{padding:15px 12px;border-bottom:1px solid #edf0eb}tbody tr:hover{background:#fafcf9}td strong{font-weight:600}td small{font-size:11px;line-height:1.8}
.tag{background:#edf1eb;color:#536a57;padding:5px 9px;font-size:10px;font-weight:600;letter-spacing:.015em}.tag.accepted,.tag.APPROVED,.tag.delivered,.tag.read,.tag.complete{background:#e7f2e9;color:#32694b}.tag.pending,.tag.queued,.tag.draft{background:#fbf2dd;color:#846328}.tag.declined,.tag.failed,.tag.unknown{background:#faece8;color:#a54b40}
.event-card{border-radius:18px;box-shadow:0 3px 10px #203f2a03}.event-card:hover{box-shadow:0 14px 30px #203f2a10;border-color:#b6cabc}.event-art{height:190px}.event-art.elegant{background:#eaf0e7;color:#2b5a43}.event-art:before{inset:20px;border-radius:100px 100px 5px 5px}.event-art span{font-size:40px}.event-info{padding:24px}.event-info h3{font-size:20px;margin-top:13px}.event-info .actions{border-top:1px solid var(--line);padding-top:15px;margin-top:17px}
.empty{background:#edf3eb;border-color:#ccd9c9;padding:60px 24px}.empty .ornament{color:#68876a}.empty h2{font-size:28px}
.auth{max-width:460px;margin:64px auto;padding:0 16px}.auth .panel{padding:38px;box-shadow:0 20px 60px #213e3010}.auth h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:49px;font-weight:500;letter-spacing:-2px}.auth .muted{font-size:13px}.auth .btn{margin-top:8px}.auth label{margin-bottom:20px}
.editor{gap:32px}.theme-choice{border-radius:10px;font-size:12px}.theme-choice.active{outline-color:#63866a;background:#f2f6ef}.preview-wrap{top:30px}
.invite-page{max-width:700px;margin:48px auto}.invitation{border-radius:160px 160px 18px 18px;padding:76px 34px 42px;border-color:#c5b695;box-shadow:0 18px 50px #243a2910}.invitation:before{inset:13px;border-radius:150px 150px 10px 10px}.invitation.elegant{--bg:#f4f1e8;--accent:#41634b;--fg:#364a37}.invitation .invite-label{font-size:9px;letter-spacing:.2em}.invitation h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:64px;line-height:1.03;font-weight:500;letter-spacing:-2px}.invitation .flourish{font-size:25px;letter-spacing:5px;margin:14px 0}.invitation .details{border-color:#af9e6f40;margin:28px 10px;padding:24px 0}.invitation .date{font-family:'DM Sans',sans-serif;font-size:19px;letter-spacing:-.5px}.invitation .message{font-size:13px;line-height:1.9}.invitation p{font-size:13px}.invitation .details p{margin-top:8px}.invitation.modern h1,.invitation.corporate h1{font-family:'DM Sans',sans-serif;font-size:44px;letter-spacing:-1.8px}.invitation.minimal{border-color:#e3e7e0}.invitation.festive h1{font-family:'Great Vibes',cursive;letter-spacing:0}.detail-layout .invitation{padding:68px 23px 30px;border-radius:120px 120px 14px 14px}.detail-layout .invitation h1{font-size:44px}.detail-layout .invitation .date{font-size:16px}
.invite-page .panel{margin-top:26px;padding:32px}.invite-page .panel h2{font-size:25px;line-height:1.3}.occasion-rsvp{padding:20px;border:1px solid #e1e8dd;border-radius:14px;margin-bottom:24px;background:#fcfdfb}.occasion-rsvp legend{font-family:'DM Sans',sans-serif;font-size:18px;font-weight:600;letter-spacing:-.3px}.occasion-rsvp>p{font-size:13px;color:var(--muted)}.rsvp-choice label{background:white;border-radius:10px;font-size:12px;min-height:48px}.rsvp-choice label:has(input:checked){background:#edf5ed;border-color:#74987a;color:var(--forest);box-shadow:0 0 0 1px #74987a}.rsvp-choice label:has(input:disabled){cursor:default}.success{background:#edf5ec;color:#3c6948;font-size:13px;padding:16px;border-radius:11px}.rsvp-deadline{background:#f3f1e8;border:1px solid #e7e2d2;border-radius:11px;color:#666044;font-size:12px;line-height:1.8;padding:14px 18px}
.client-report{max-width:1180px;padding-top:54px}.client-report>.eyebrow{color:#648267}.client-report>[data-title]{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(38px,5vw,58px);font-weight:500;letter-spacing:-1.5px}.client-report>[data-details]{font-size:13px}.client-report>.heading{margin-block:20px 28px}.client-report [data-updated]{font-size:12px;display:flex;align-items:center;gap:8px}.client-report [data-updated]:before{content:'';width:7px;height:7px;border-radius:50%;background:#6f896a;flex-shrink:0}.client-report .panel{padding:28px}.report-filters{gap:16px;margin-bottom:24px}.client-report .panel>.muted{font-size:12px}.client-report .stats .stat strong{font-size:30px}.client-report [data-refresh]{font-size:12px;min-height:38px}.client-report .table-wrap{margin-top:30px}
dialog{border-radius:20px;box-shadow:0 35px 100px #173f3526;padding:32px}dialog::backdrop{background:#183a2e70;backdrop-filter:blur(5px)}dialog .muted{font-size:13px}#toast{background:var(--forest);border:1px solid #ffffff1f;border-radius:12px;font-size:13px;box-shadow:0 8px 30px #173f3526}.footer-note{font-size:11px;line-height:1.8}.demo-banner{background:#e7eee2;color:var(--forest);padding:13px}
@media(min-width:1001px){.guest-form{grid-template-columns:1fr 1fr}.guest-form>button{justify-self:start}.detail-layout>.panel>.heading{flex-wrap:wrap}}
@media(max-width:1000px){.detail-layout{grid-template-columns:1fr}.detail-layout>aside{max-width:430px;margin:auto;width:100%}.topbar nav>a{padding:8px;font-size:12px}}
@media(max-width:760px){.topbar{height:auto;min-height:112px;padding:16px 20px;gap:14px;flex-wrap:wrap}.brand{font-size:21px}.topbar nav{width:100%;justify-content:space-between;gap:3px}.topbar nav>a{font-size:11px;padding:8px 6px}.topbar nav .mobile-name{display:none}.topbar #logout{font-size:11px}.wrap{padding:28px 18px 44px}.heading{align-items:flex-start;flex-direction:column}.heading .actions{gap:8px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:18px}.stat strong{font-size:29px}.stat span{font-size:11px}.panel{padding:21px}.event-sharing{grid-template-columns:1fr;margin-block:24px}.event-sharing .panel{padding:22px}.flow-strip{gap:10px;font-size:10px}.grid{grid-template-columns:1fr}.event-art{height:210px}.event-sharing h2{font-size:20px}.event-sharing .actions .btn{font-size:12px}.auth{margin:36px auto}.auth .panel{padding:28px}.auth h1{font-size:44px}.invite-page{margin:25px auto;padding:0 16px}.invitation{padding:66px 25px 30px;border-radius:130px 130px 16px 16px}.invitation:before{border-radius:120px 120px 10px 10px}.invitation h1{font-size:52px}.invitation.modern h1,.invitation.corporate h1{font-size:38px}.invitation .date{font-size:18px}.invite-page .panel{padding:23px}.invite-page .panel h2{font-size:23px}.occasion-rsvp{padding:16px}.client-report{padding-top:36px}.client-report .panel{padding:20px}.client-report .stats .stat strong{font-size:26px}.client-report td{padding:10px 8px}.client-report th{background:none}.client-report tbody tr:hover{background:white}.report-filters{margin-bottom:22px}.client-report>.heading{gap:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.invitation{border-radius:20px;box-shadow:none}.topbar{display:none}}

/* einvitees signature: flowing monogram and editorial wordmark. */
.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-weight:600;letter-spacing:-1.2px;color:#245b4c;gap:9px;line-height:1}
.brand img{width:42px;height:42px;display:block;flex-shrink:0}
@media(max-width:760px){.brand{font-size:30px}.brand img{width:39px;height:39px}}

/* Contemporary invitation app identity. */
.brand{font-family:'DM Sans',sans-serif;font-size:26px;font-weight:700;letter-spacing:-1.1px;color:#185d48;gap:11px}
.brand img{width:44px;height:44px}
@media(max-width:760px){.brand{font-size:24px}.brand img{width:41px;height:41px}}
