.app-shell{min-height:100dvh}.marketing-shell{max-width:1200px;padding:clamp(28px, 5vw, 64px) var(--gutter) 24px;margin:0 auto}.brand-marketing-shell{gap:clamp(28px,5vw,56px);display:grid}.guest-shell{max-width:1080px;min-height:100dvh;padding:clamp(24px, 4vw, 44px) var(--gutter) 64px;margin:0 auto}.document-shell{max-width:820px;padding:clamp(28px, 5vw, 56px) var(--gutter) 72px;gap:18px;margin:0 auto;display:grid}.document-hero{border-bottom:1px solid var(--line-bronze);gap:12px;margin-bottom:8px;padding:8px 0 20px;display:grid}.document-grid{gap:18px;display:grid}.document-grid h2{margin:8px 0 0}.document-grid p{color:var(--text-soft);margin:0}.grid{gap:18px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.guest-brief-card,.guest-summary-card,.guest-info-card,.guest-gallery-card,.guest-state-card,.guest-form,.host-summary-card,.host-content form.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md), var(--emboss);padding:clamp(20px,2.4vw,28px);position:relative}.tonal-card{background:linear-gradient(180deg, #fffdf999, #f7eee299), var(--paper-raised)}.action-card{gap:12px;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid}.action-card:hover{border-color:var(--line-bronze);box-shadow:var(--shadow-lg), var(--emboss);transform:translateY(-3px)}.card p,.action-card p,.tonal-card p,.guest-summary-card p,.guest-info-card p{color:var(--text-soft);margin:0;line-height:1.65}.card h2,.tonal-card h2{margin:2px 0 0}.action-link,.form-action,.host-content form.card button,.auth-card button{border-radius:var(--r-pill);border:1px solid var(--ink-deep);background:var(--ink);width:fit-content;color:var(--on-dark);font-family:var(--font-sans);letter-spacing:.04em;cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:13px 26px;font-size:.88rem;font-weight:600;transition:transform .18s,box-shadow .18s,background .2s;display:inline-flex;box-shadow:0 12px 26px -14px #0f2233d9,inset 0 1px #ffffff1f}.action-link:hover,.form-action:hover,.host-content form.card button:hover,.auth-card button:hover{background:var(--ink-deep);text-decoration:none;transform:translateY(-1px);box-shadow:0 18px 34px -14px #0f2233e6,inset 0 1px #ffffff1f}.action-link:after{content:"→";font-size:1em;transition:transform .2s}.action-link:hover:after{transform:translate(3px)}.form-action:disabled,.host-content form.card button:disabled,.auth-card button:disabled{opacity:.55;cursor:wait;transform:none}.inline-links{flex-wrap:wrap;align-items:center;gap:14px 20px;display:flex}.inline-link{color:var(--bronze-deep);letter-spacing:.04em;border-bottom:1px solid #0000;padding-bottom:1px;font-size:.86rem;font-weight:600;transition:border-color .2s}.inline-link:hover{border-color:var(--bronze);text-decoration:none}.hero{gap:22px;padding:clamp(16px,4vw,40px) 0 8px;display:grid}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:clamp(28px,4vw,52px)}.hero-copy{gap:20px;display:grid}.hero-copy h1{max-width:14ch;margin:0}.hero-copy>p{max-width:54ch;color:var(--text-soft);margin:0;font-size:1.12rem;line-height:1.7}.hero-signature{font-family:var(--font-display);color:var(--bronze-deep);letter-spacing:.01em;font-size:1.3rem;font-style:italic}.brand-stage{border-radius:var(--r-xl);background:var(--ink);border:1px solid var(--line-bronze);min-height:clamp(340px,46vw,500px);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.brand-stage:after{content:"";border-radius:calc(var(--r-xl) - 12px);pointer-events:none;z-index:2;border:1px solid #f7e6cf6b;position:absolute;inset:14px}.brand-stage-img,.guest-event-hero-image{object-fit:cover}.card>.label,.guest-brief-card>.label,.guest-summary-card>.label,.guest-info-card>.label,.guest-gallery-card .label,.host-summary-card>.label{margin-bottom:4px}.guest-event-shell{gap:clamp(18px,2.6vw,26px);display:grid}.guest-event-shell h1,.guest-event-shell h2,.guest-event-shell h3,.guest-event-shell p{margin:0}.guest-event-hero{border-radius:var(--r-xl);border:1px solid var(--line-bronze);background:radial-gradient(120% 140% at 100% 0%, #f7e6cf8c, transparent 55%), linear-gradient(180deg, var(--paper-raised), var(--paper-sunk));box-shadow:var(--shadow-md), var(--emboss);grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:clamp(22px,3vw,40px);padding:clamp(24px,3vw,40px);display:grid;overflow:hidden}.guest-event-hero-copy{align-content:center;gap:20px;display:grid}.guest-event-hero-copy h1{max-width:11ch;font-size:clamp(2.4rem,4.4vw,4rem)}.guest-event-hero-copy>p{color:var(--text-soft);max-width:52ch;line-height:1.7}.guest-event-hero-art{border-radius:var(--r-lg);border:1px solid var(--line-bronze);min-height:clamp(280px,30vw,420px);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.guest-event-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px;display:grid}.guest-kpi{border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--emboss);background:#fffdf9b3;gap:6px;padding:16px 18px;display:grid}.guest-kpi span{letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);font-size:.66rem;font-weight:600}.guest-kpi strong{font-family:var(--font-display);color:var(--ink);font-size:1.7rem;font-weight:600;line-height:1}.guest-event-top-grid,.guest-event-summary-grid,.guest-event-form-grid,.guest-event-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,22px);display:grid}.guest-brief-card,.guest-summary-card,.guest-info-card,.guest-gallery-card,.guest-state-card{align-content:start;gap:14px;display:grid}.guest-summary-card h2,.guest-info-card h2{font-family:var(--font-display);color:var(--ink);font-size:1.7rem}.guest-detail-list,.host-detail-list{gap:0;display:grid}.guest-detail-list div,.host-detail-list div{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.guest-detail-list div:last-child,.host-detail-list div:last-child{border-bottom:0;padding-bottom:0}.guest-detail-list span,.host-detail-list span{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);font-size:.74rem;font-weight:600}.guest-detail-list strong,.host-detail-list strong{text-align:right;color:var(--ink);font-size:1.02rem}.guest-bullet-list,.host-bullet-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.guest-bullet-list li,.host-bullet-list li{border-top:1px solid var(--line-soft);gap:4px;padding:13px 0;display:grid}.guest-bullet-list li:first-child,.host-bullet-list li:first-child{border-top:0;padding-top:2px}.guest-bullet-list li strong,.host-bullet-list li strong{color:var(--ink)}.guest-bullet-list span,.host-bullet-list span{color:var(--text-soft);font-size:.92rem}.guest-gallery-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.guest-gallery-header p{color:var(--text-faint);letter-spacing:.04em;font-size:.84rem}.gallery-list strong{text-transform:capitalize}.guest-form,.host-content form.card{align-content:start;gap:16px;display:grid}.guest-form h3,.guest-state-card h3{font-family:var(--font-display);font-size:1.7rem;font-weight:600}.guest-form-stack{gap:14px;display:grid}.guest-form label,.host-content form.card label{gap:7px;display:grid}.guest-form select,.guest-form input,.guest-form textarea,.host-content form.card input,.host-content form.card textarea,.host-content form.card select,.auth-card input{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--ivory);width:100%;color:var(--ink);font-family:var(--font-sans);padding:13px 15px;font-size:.96rem;transition:border-color .18s,box-shadow .18s,background .18s}.guest-form select,.host-content form.card select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--bronze) 50%), linear-gradient(135deg, var(--bronze) 50%, transparent 50%);background-position:calc(100% - 19px) 55%,calc(100% - 14px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:38px}.guest-form select:focus,.guest-form input:focus,.guest-form textarea:focus,.host-content form.card input:focus,.host-content form.card textarea:focus,.host-content form.card select:focus,.auth-card input:focus{border-color:var(--bronze);background:var(--paper-raised);outline:none;box-shadow:0 0 0 3px #b97a4a29}.guest-form textarea,.host-content form.card textarea{resize:vertical;min-height:116px}.choice-cloud{flex-wrap:wrap;gap:10px;display:flex}.choice-chip{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--ivory);cursor:pointer;align-items:center;gap:9px;padding:9px 15px;font-size:.86rem;transition:border-color .18s,background .18s;display:inline-flex}.choice-chip:hover{border-color:var(--line-bronze)}.choice-chip:has(input:checked){border-color:var(--bronze);background:var(--champagne);color:var(--ink)}.choice-chip input{width:auto;accent-color:var(--bronze-deep);margin:0}.form-status{color:var(--text-soft);font-size:.9rem}.host-shell{grid-template-columns:268px 1fr;min-height:100dvh;display:grid}.host-sidebar{border-right:1px solid var(--line);background:linear-gradient(180deg, var(--paper-sunk), var(--paper));align-content:start;gap:8px;height:100dvh;padding:clamp(24px,3vw,34px) 24px;display:grid;position:sticky;top:0}.host-sidebar h2{font-family:var(--font-display);color:var(--ink);margin:6px 0 14px;font-size:1.6rem}.host-nav{gap:4px;margin-top:6px;display:grid}.host-nav a,.host-nav .host-logout button{width:100%;color:var(--text-soft);font-family:var(--font-sans);letter-spacing:.02em;text-align:left;border-radius:var(--r-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:11px 14px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:block}.host-nav a:hover,.host-nav .host-logout button:hover{background:var(--paper-raised);color:var(--ink);border-color:var(--line)}.host-nav .host-logout{border-top:1px solid var(--line-soft);margin-top:10px;padding-top:12px;display:grid}.host-content{max-width:1240px;padding:clamp(24px,3.4vw,44px)}.host-console-shell{gap:clamp(18px,2.6vw,26px);display:grid}.host-console-shell h1,.host-console-shell h2,.host-console-shell h3,.host-console-shell p{margin:0}.host-console-hero{border-radius:var(--r-xl);color:var(--on-dark);background:radial-gradient(90% 120% at 100% 0%, #b97a4a52, transparent 55%), radial-gradient(80% 120% at 0% 100%, #2f506499, transparent 60%), linear-gradient(160deg, var(--ink-deep), var(--ink) 60%);box-shadow:var(--shadow-lg);border:1px solid #f7e6cf2e;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(22px,3vw,40px);padding:clamp(26px,3vw,44px);display:grid;overflow:hidden}.host-console-copy{align-content:center;gap:16px;display:grid}.host-console-copy .label{color:var(--champagne)}.host-console-copy .label:before{background:var(--champagne)}.host-console-copy h1{color:var(--ivory);max-width:13ch;font-size:clamp(2.2rem,3.6vw,3.6rem)}.host-console-copy p{max-width:60ch;color:var(--on-dark-soft);line-height:1.7}.host-console-kpis{align-content:center;gap:12px;display:grid}.host-console-kpi{border-radius:var(--r-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fdf5ea12;border:1px solid #f7e6cf29;gap:6px;padding:16px 18px;display:grid}.host-console-kpi span{color:#f7e6cfc7;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:600}.host-console-kpi strong{font-family:var(--font-display);color:var(--champagne);font-size:1.7rem;font-weight:600;line-height:1.05}.host-console-top-grid,.host-console-info-grid,.host-console-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,22px);display:grid}.host-summary-card{align-content:start;gap:14px;display:grid}.host-summary-card h2{font-family:var(--font-display);color:var(--ink);font-size:1.7rem}.host-content form.card{gap:14px}.host-content form.card h2,.host-content form.card h3{margin:0}.auth-shell{min-height:calc(100dvh - 76px);padding:clamp(28px, 6vw, 72px) var(--gutter);place-items:center;display:grid}.auth-panel{gap:22px;width:min(440px,100%);display:grid}.auth-intro{text-align:center;justify-items:center;gap:10px;display:grid}.auth-intro h1{margin:2px 0 0;font-size:clamp(2.2rem,4vw,3rem)}.auth-intro p{color:var(--text-soft);max-width:38ch;margin:0}.auth-card{gap:14px;display:grid}.auth-card button{width:100%}.auth-note{text-align:center;border-radius:var(--r-md);border:1px solid var(--line-bronze);background:#f7e6cf66;gap:8px;padding:16px 18px;display:grid}.auth-note p{color:var(--text-soft);margin:0;font-size:.92rem}.auth-error{text-align:center;color:#9a2a2a;font-size:.92rem}@media (max-width:960px){.host-shell{grid-template-columns:1fr}.host-sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.host-nav{flex-wrap:wrap;grid-auto-flow:column;justify-content:start;gap:6px}.host-nav .host-logout{border-top:0;margin-top:0;padding-top:0}}@media (max-width:860px){.grid.two,.grid.three,.hero-grid,.guest-event-hero,.guest-event-top-grid,.guest-event-summary-grid,.guest-event-form-grid,.guest-event-info-grid,.host-console-hero,.host-console-top-grid,.host-console-info-grid,.host-console-form-grid{grid-template-columns:1fr}.guest-event-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-gallery-header{flex-direction:column;align-items:start}}
