:root{--ink: #17243a;--muted: #68758a;--paper: #f6f3eb;--card: #fffdf8;--line: #ddd9cf;--line-cool: #dfe4ec;--coral: #ff6257;--coral-dark: #d84239;--blue: #2864dc;--blue-soft: #e8eeff;--mint: #d8f4e7;--green: #16784c;--gold: #f9c449;--nav: #1a2944;--purple: #6b458f;--admin-paper: #f7f8fb;--shadow: 0 16px 48px rgba(31, 42, 61, .12);--shadow-card: 0 7px 26px rgba(31, 42, 61, .05);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(40,100,220,.32);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:7px;font-size:clamp(28px,4vw,42px);letter-spacing:-.045em}h2{margin-bottom:10px;letter-spacing:-.025em}h3{margin-bottom:7px}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.subtle,.empty-state{color:var(--muted)}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}button,.button-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:0 17px;color:#fff;background:var(--blue);font-weight:760;text-decoration:none;white-space:nowrap}button:hover:not(:disabled),.button-link:hover{filter:brightness(.96)}button:disabled{background:#98a2ad;cursor:not-allowed}.secondary{border:1px solid var(--line-cool);color:var(--ink);background:#fff}.secondary:disabled{color:var(--muted);background:#f3f5f8}.danger{color:#fff;background:var(--coral-dark)}.ghost{border:0;padding:0 4px;color:var(--blue);background:transparent;font-weight:750}.ghost:hover:not(:disabled){filter:none;background:transparent;text-decoration:underline}.small{min-height:36px;padding:0 12px;font-size:13px}input,select{width:100%;min-height:44px;border:1px solid #ccd2dc;border-radius:10px;padding:0 12px;color:var(--ink);background:#fff}label{display:grid;gap:7px;font-size:13px;font-weight:790}fieldset{margin:0;border:1px solid var(--line-cool);border-radius:12px;padding:12px}legend{padding:0 6px;font-size:12px;font-weight:800}.toolbar,.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.error{color:var(--coral-dark);font-weight:700}.success,.inline-message{color:var(--green);font-weight:700}.warning{margin:0;padding:11px 13px;border-radius:11px;color:#735700;background:#fff2c9;font-size:12px}.admin-layout{min-height:100vh;display:grid;grid-template-columns:244px 1fr;background:var(--admin-paper)}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px;color:#fff;background:var(--nav)}.brand{display:flex;align-items:center;gap:10px;margin-bottom:34px;font-weight:850;font-size:20px}.brand-mark{width:34px;aspect-ratio:1;display:grid;flex:0 0 auto;place-items:center;border-radius:11px;color:var(--nav);background:var(--gold);font-weight:900;transform:rotate(-4deg)}.product-label{display:block;margin-top:2px;color:#9facc0;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.side-nav{display:grid;gap:6px}.side-nav button{min-height:44px;width:100%;justify-content:flex-start;border:0;border-radius:10px;padding:0 12px;color:#ced8e8;background:transparent;font-weight:700}.side-nav button:hover:not(:disabled){filter:none;background:#ffffff12}.side-nav button[aria-current=page]{color:#fff;background:#ffffff1f}.identity{position:absolute;left:18px;right:18px;bottom:18px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;color:#b9c5d6;font-size:11px}.identity b{display:block;margin-bottom:4px;color:#fff;font-size:13px}.identity .role{display:inline-block;margin-top:7px;padding:4px 7px;border-radius:999px;color:#d9e5ff;background:#608ee62e;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.identity .ghost{margin-top:8px;color:#9fb6e6}.admin-main{min-width:0;padding:34px clamp(22px,4vw,58px) 64px}.topline{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}.topline h1{margin-bottom:6px}.topline p:last-child{margin-bottom:0}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--muted);font-size:13px}.breadcrumb button{min-height:0;border:0;padding:0;color:var(--blue);background:transparent;font-weight:750}.breadcrumb button:hover:not(:disabled){filter:none;text-decoration:underline}.workspace-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-34px clamp(-58px,-4vw,-22px) 25px;padding:12px clamp(22px,4vw,58px);color:#fff;background:var(--purple)}.workspace-banner b{margin-right:auto}.workspace-banner .scope-copy{opacity:.8;font-size:12px}.workspace-banner .role-badge{padding:5px 8px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.workspace-banner button{min-height:34px;border:1px solid rgba(255,255,255,.4);border-radius:9px;padding:0 12px;color:#fff;background:transparent;font-weight:800}.readonly-note{margin-bottom:20px;padding:14px 16px;border-left:4px solid var(--blue);border-radius:0 12px 12px 0;color:#526177;background:#eef3ff;font-size:13px}.readonly-note b{color:var(--ink)}.table{overflow:hidden;border:1px solid var(--line-cool);border-radius:16px;background:#fff;box-shadow:0 8px 28px #1f2a3d0f}.row{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(140px,.75fr) minmax(120px,.6fr) 128px;gap:14px;align-items:center;padding:17px 19px;border-top:1px solid #edf0f4}.row:first-child{border-top:0}.row>*{min-width:0}.row>.cell{display:flex;align-items:center;min-width:0}.row>.cell:last-child{justify-content:flex-end}.row>.cell>*{min-width:0}.row.head{padding-block:10px;color:var(--muted);background:#fafbfc;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.entity{display:flex;align-items:center;gap:12px;min-width:0}.entity b{display:block;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity small{display:block;color:var(--muted)}.avatar{width:42px;height:42px;display:grid;flex:0 0 auto;place-items:center;border-radius:12px;color:#244883;background:#e2ebff;font-weight:900}.avatar.coral{color:#853a34;background:#ffe1dc}.status{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:6px 9px;border-radius:999px;color:var(--green);background:var(--mint);font-size:11px;font-weight:850}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.ended,.status.suspended{color:#8a3d37;background:#ffe4e1}.status.pending{color:#735700;background:#fff2c9}.row-actions{display:flex;justify-content:flex-end;gap:6px}.empty-card{margin-top:18px;padding:40px;border:1px dashed #cbd2dc;border-radius:16px;color:var(--muted);background:#ffffff85;text-align:center}.card{padding:20px;border:1px solid var(--line-cool);border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}.card+.card{margin-top:17px}.card-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.card-header h2,.card-header h3,.section-header h2,.section-header h3{margin:0}.detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:17px;align-items:start}.info-list{display:grid}.info-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid #edf0f4;font-size:13px}.info-row:first-child{border-top:0}.info-row>span:first-child{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.stat{padding:17px;border:1px solid var(--line-cool);border-radius:14px;background:#fff;box-shadow:0 5px 20px #1f2a3d0a}.stat dt{color:var(--muted);font-size:11px;font-weight:750}.stat dd{display:block;margin:6px 0 0;font-size:24px;font-weight:800;letter-spacing:-.03em}.tabs{display:flex;gap:22px;margin:0 0 22px;border-bottom:1px solid var(--line-cool)}.tabs button{min-height:43px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:0 2px;color:var(--muted);background:transparent;font-weight:800}.tabs button:hover:not(:disabled){filter:none;color:var(--ink)}.tabs button[aria-selected=true]{border-bottom-color:var(--blue);color:var(--ink)}.link-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line-cool);border-radius:12px;background:#fafbff}.link-row+.link-row{margin-top:10px}.link-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;color:#244883;background:var(--blue-soft);font-size:19px}.link-row label{min-width:0;gap:3px;font-size:13px}.link-row input{min-height:0;border:0;padding:0;overflow:hidden;color:#5f6d83;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;text-overflow:ellipsis}.link-actions{display:flex;gap:6px}.link-row .warning{grid-column:1 / -1}.qr-panel{display:grid;justify-items:center;gap:12px;grid-column:1 / -1;text-align:center}.qr-frame{width:min(320px,80vw);aspect-ratio:1;display:grid;place-items:center;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 9px 28px #1f2a3d17}.qr-frame img{display:block;width:100%;height:100%}.qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:min(320px,80vw)}.qr-actions button,.qr-actions .button-link{width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:18px;background:#0f192d8f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(510px,100%);max-height:calc(100vh - 60px);overflow:auto;padding:24px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.modal h2{font-size:25px}.modal-form{display:grid;gap:15px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.photo-card{margin:0;overflow:hidden;border:1px solid var(--line-cool);border-radius:14px;background:#fff}.photo-card img,.photo-thumb-placeholder{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#e9edf2}.photo-card figcaption,.photo-card p{margin:0;padding:8px 11px;color:var(--muted);font-size:12px}.photo-card.is-hidden img,.photo-card.is-hidden .photo-thumb-placeholder{filter:grayscale(1);opacity:.55}.photo-card .button-row{gap:6px;padding:0 11px 11px}.photo-card .button-row button{flex:1;min-height:34px;padding:0 8px;border:1px solid var(--line-cool);color:var(--ink);background:#fff;font-size:11px;font-weight:760}.entry-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--admin-paper)}.entry-card{width:min(430px,100%);display:grid;gap:16px;padding:28px;border:1px solid var(--line-cool);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.entry-card .brand{margin-bottom:4px;color:var(--ink)}.entry-card .brand-mark{color:var(--nav)}.login-mode{display:grid;gap:10px}.login-mode label,.checkbox-row{display:flex;align-items:center;gap:9px;font-weight:700}.login-mode input,.checkbox-row input{width:auto;min-height:0}.setting-group{display:grid;gap:12px}.build-footer{margin-top:24px;color:var(--muted);font-size:.8rem}.build-footer code{overflow-wrap:anywhere}.guest-bg{min-height:100vh;background:radial-gradient(circle at 15% 10%,rgba(255,211,87,.25),transparent 28%),#f7f2e7}.guest-page{width:min(760px,100%);margin:0 auto;padding:22px 18px 92px}.guest-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.event-kicker{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.guest-header h1{margin:3px 0 0;font-size:clamp(25px,6vw,34px)}.live-line{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--muted);font-size:13px}.live-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#21a56b;box-shadow:0 0 0 4px #21a56b21}.live-dot.is-ended{background:var(--muted);box-shadow:0 0 0 4px #68758a21}.capture-card{position:relative;overflow:hidden;padding:clamp(22px,5vw,34px);border-radius:26px;color:#fff;background:linear-gradient(145deg,#fb5d52,#ed3f61 58%,#d63777);box-shadow:0 18px 45px #d7385742}.capture-card:before,.capture-card:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18)}.capture-card:before{width:280px;height:280px;right:-110px;top:-130px}.capture-card:after{width:190px;height:190px;right:-72px;top:-85px}.capture-card h2{position:relative;max-width:430px;margin-bottom:9px;font-size:clamp(27px,6vw,42px);line-height:1.03;letter-spacing:-.045em}.capture-card>p{position:relative;max-width:420px;margin-bottom:25px;color:#ffffffd6}.capture-main{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px}.shutter-button,.library-button{position:relative;display:grid;place-items:center;border-radius:16px;cursor:pointer}.shutter-button{min-height:62px;padding:0 20px;color:#cd2f4d;background:#fff;font-weight:900;font-size:17px;box-shadow:0 8px 22px #5c0d262e}.library-button{width:62px;min-height:62px;border:1px solid rgba(255,255,255,.38);color:#fff;background:#55092b2b;font-size:23px}.shutter-button input,.library-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;padding:0;border:0;opacity:0;cursor:pointer}.capture-status{position:relative;margin:14px 0 0;font-weight:750}.capture-card .error{color:#fff2c9}.capture-card .success{color:var(--mint)}.post-as{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 4px 24px;color:var(--muted);font-size:13px}.post-as p{margin:0}.post-as form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;width:100%}.guest-section{margin-top:28px}.guest-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px}.guest-section-header h2{margin:0;font-size:21px}.recent-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(136px,31%);gap:10px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x mandatory}.guest-photo{position:relative;min-height:166px;overflow:hidden;margin:0;border:0;border-radius:16px;background:#dde4e8;scroll-snap-align:start}.guest-photo img,.guest-photo .photo-thumb-placeholder{display:block;width:100%;height:100%;min-height:166px;object-fit:cover}.guest-photo figcaption{position:absolute;left:9px;bottom:8px;z-index:2;margin:0;padding:0;color:#fff;font-size:11px;font-weight:750;text-shadow:0 1px 3px #000}.photo-badge{position:absolute;left:8px;top:8px;z-index:2;padding:5px 8px;border-radius:999px;color:#fff;background:#152138c7;font-size:10px;font-weight:800}.guest-photo .hide-action{position:absolute;right:8px;bottom:8px;z-index:2;min-height:32px;padding:0 10px;border-radius:999px;background:#152138c7;font-size:11px;font-weight:800}.event-gallery-link{width:100%;min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;border:1px solid var(--line);border-radius:14px;padding:0 16px;color:var(--ink);background:var(--card);font-weight:800}.event-gallery-link:hover:not(:disabled){filter:none;background:#fff}.event-gallery-link .chevron{color:var(--blue);font-size:20px}.guest-note{display:flex;gap:10px;margin-top:18px;padding:13px;border-radius:13px;color:#5a5c54;background:#ebe8dd;font-size:12px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.gallery-grid .guest-photo{min-height:225px;border-radius:10px}.review-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:105;display:grid;grid-template-rows:auto 1fr auto;color:#fff;background:#0d1118}.review-heading{padding:18px 18px 0;text-align:center}.review-heading h2{margin:0;font-size:20px}.review-art{min-height:0;display:grid;place-items:center;padding:18px}.review-art img{max-width:100%;max-height:100%;border-radius:12px;object-fit:contain}.review-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;padding:18px}.review-actions button{min-height:54px;border:1px solid rgba(255,255,255,.32);border-radius:14px;color:#fff;background:transparent;font-weight:850}.review-actions button.primary{border:0;color:#cf304d;background:#fff}.review-actions .error{grid-column:1 / -1;color:#ffd9d5}.viewer-page{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(31,111,139,.35),transparent 32%),radial-gradient(circle at 80% 70%,rgba(216,96,64,.28),transparent 30%),#101418;color:#fff}.viewer-photo{max-width:100vw;max-height:100vh;object-fit:contain;animation:slow-zoom 8s ease-in-out both}.viewer-empty{text-align:center}.viewer-status{position:fixed;right:16px;bottom:16px;color:#ffffffb8}@keyframes slow-zoom{0%{transform:scale(1)}to{transform:scale(1.035)}}.page{width:min(760px,100%);margin:0 auto;padding:40px 18px}.hero-panel{padding:24px 0}.hero-panel h1{margin:0 0 8px}.hero-panel p{color:var(--muted)}@media(max-width:930px){.admin-layout{grid-template-columns:205px 1fr}.sidebar{padding-inline:14px}.row{grid-template-columns:minmax(190px,1fr) minmax(96px,.5fr) 116px}.row>:nth-child(3),.row.head>:nth-child(3){display:none}.stats{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}}@media(max-width:700px){.admin-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:flex;align-items:center;gap:12px;padding:10px 14px}.brand{margin:0 auto 0 0}.side-nav{display:none}.identity{position:static;border:0;padding:0}.identity b,.identity .scope{display:none}.identity .ghost{margin-top:0}.admin-main{padding:22px 14px 55px}.topline{align-items:stretch;flex-direction:column}.stats{grid-template-columns:1fr}.row{grid-template-columns:1fr auto;row-gap:8px}.row>:nth-child(2){grid-row:2;grid-column:1}.row>:nth-child(3),.row.head{display:none}.workspace-banner{margin:-22px -14px 20px;padding:11px 14px}.workspace-banner .scope-copy{order:4;width:100%}.link-row{grid-template-columns:44px minmax(0,1fr)}.link-actions{grid-column:1 / -1}.link-actions button{flex:1}.qr-actions{grid-template-columns:1fr}.tabs{gap:15px;overflow-x:auto}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}@media(max-width:600px){.guest-page{padding-inline:14px}.recent-strip{grid-auto-columns:45%}.gallery-grid .guest-photo{min-height:190px}.post-as{margin-inline:0}}
