:root{--ink:#242223;--ink-2:#3a3738;--gold:#ca9d3b;--gold-deep:#a57d24;--gold-soft:#f5ecd8;--stone:#d6d2c4;--cream:#f6f3ec;--paper:#fff;--blue:#1a658f;--blue-soft:#e3eef3;--mist:#b6ced0;--red:#e1523e;--red-soft:#fbe6e2;--green:#035e4f;--green-soft:#dff0ea;--text:#242223;--muted:#6d6862;--line:#e4dfd2;--line-strong:#cfc8b6;--f-display:"Bison", "Barlow Condensed", "Arial Narrow", sans-serif;--f-body:"Avenir Next", "Avenir", "Mulish", "Segoe UI", sans-serif;--f-script:"SantElia Script", "Yellowtail", cursive;--r:10px;--r-sm:6px;--shadow:0 1px 2px #2422230f, 0 4px 14px #2422230d;--shadow-lg:0 12px 40px #24222338}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--f-body);color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}img{max-width:100%}a{color:var(--blue)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0}.hidden{display:none!important}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.nowrap{white-space:nowrap}.right{text-align:right}.mt{margin-top:16px}.mt-s{margin-top:8px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.grow{flex:auto}.stack>*+*{margin-top:12px}.display{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em;font-weight:700}.script{font-family:var(--f-script);text-transform:none;font-weight:400}.mark{flex:none;width:14px;height:14px;display:inline-block}.mark svg{width:100%;height:100%;display:block}.btn{border:1px solid var(--line-strong);background:var(--paper);cursor:pointer;color:var(--ink);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn:focus-visible,.seg input:focus-visible+span,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:3px solid #ca9d3b73}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:#000}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn.gold:hover{background:#d7ab4b}.btn.danger{color:#b3321f;border-color:#eab4aa}.btn.danger:hover{background:var(--red-soft);border-color:var(--red)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:#2422230f}.btn.sm{padding:6px 11px;font-size:13px}.btn.lg{padding:14px 22px;font-size:16px}.btn.xl{min-height:56px;padding:16px 26px;font-size:18px}.btn.block{width:100%}.btn[disabled]{opacity:.45;cursor:not-allowed}.linkbtn{color:var(--blue);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.field{display:block}.field>.lbl{align-items:baseline;gap:8px;margin-bottom:6px;font-size:14px;font-weight:700;display:flex}.field .req{color:#b3321f;font-size:12px;font-weight:800}.field .hint{color:var(--muted);margin-top:5px;font-size:12.5px}.field .err{color:#b3321f;margin-top:5px;font-size:12.5px;font-weight:700}.input,.select,.textarea{border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:100%;padding:11px 12px;font-size:15px}.textarea{resize:vertical;min-height:84px}.input.invalid,.textarea.invalid{border-color:var(--red);background:#fffaf9}.input.sm,.select.sm{padding:7px 10px;font-size:14px}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}.seg{border:1px solid var(--line-strong);background:#fff;border-radius:9px;display:inline-flex;overflow:hidden}.seg label{cursor:pointer;position:relative}.seg input{opacity:0;pointer-events:none;position:absolute}.seg span{text-align:center;min-width:92px;padding:11px 26px;font-weight:700;display:block}.seg label+label span{border-left:1px solid var(--line-strong)}.seg input:checked+span{background:var(--ink);color:#fff}.seg.invalid{border-color:var(--red)}.switch{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.switch input{opacity:0;position:absolute}.switch .track{background:var(--stone);border-radius:99px;flex:none;width:42px;height:24px;margin-top:1px;transition:background .15s;position:relative}.switch .track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+.track{background:var(--green)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{outline:3px solid #ca9d3b73}.switch .txt b{font-size:14px;display:block}.switch .txt span{color:var(--muted);font-size:12.5px;display:block}.chip{white-space:nowrap;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--ink-2);background:#fff;border-radius:5px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:800;display:inline-flex}.chip.ok{background:var(--green-soft);color:var(--green);border-color:#a9d3c5}.chip.warn{background:var(--gold-soft);color:#7a5a14;border-color:#e3cc95}.chip.bad{background:var(--red-soft);color:#a8301d;border-color:#f0b6ab}.chip.info{background:var(--blue-soft);color:var(--blue);border-color:#b4d0de}.chip.dark{background:var(--ink);border-color:var(--ink);color:#fff}.chip.req{background:var(--red);border-color:var(--red);color:#fff}.dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.card-h{border-bottom:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;background:#fbf9f4;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.card-h h3{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:8px;font-size:19px;font-weight:700;display:flex}.card-b{padding:16px}.card-b.flush{padding:0}.card+.card{margin-top:16px}.band-title{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:10px;font-size:22px;font-weight:700;display:flex}.band-title:after{content:"";border-bottom:2px dotted var(--line-strong);flex:1;transform:translateY(-3px)}.band-title.on-dark{color:#fff}.band-title.on-dark:after{border-color:#ffffff40}.pub{background:var(--cream);min-height:100vh}.pub-top{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.pub-top .by{font-family:var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--stone);align-items:center;gap:8px;font-size:13px;display:flex}.pub-top .by img{background:#fff;border-radius:4px;height:26px;padding:2px}.pub-hero{border-bottom:6px solid var(--gold);text-align:center;background:#fff;padding:28px 16px 26px}.pub-hero .logo{max-width:min(320px,80vw);max-height:190px}.pub-hero .title-fallback{font-family:var(--f-script);color:var(--green);font-size:54px;line-height:1}.pub-hero .when{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;margin-top:16px;font-size:22px;font-weight:700}.pub-hero .where{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:16px;font-weight:600}.pub-hero .deadline{background:var(--ink);color:#fff;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.08em;border-radius:4px;margin-top:14px;padding:6px 14px;font-size:15px;font-weight:600;display:inline-block}.pub-body{max-width:760px;margin:0 auto;padding:26px 16px 70px}.pub-intro{margin:0 0 22px;font-size:16px}.q-section{margin-top:28px}.q-section:first-child{margin-top:0}.q-section .band-title{margin-bottom:14px;font-size:21px}.q{border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-top:12px;padding:16px 18px}.q .num{background:var(--ink);width:26px;height:26px;color:var(--gold);border-radius:50%;flex:none;place-items:center;margin-right:4px;font-size:12px;font-weight:800;display:inline-grid}.q .field>.lbl{align-items:center;font-size:15.5px}.q.has-err{border-color:#f0b6ab}.guest-block{border:1px dashed var(--line-strong);border-radius:var(--r);background:#fcfbf7;margin-top:12px;padding:4px 14px 16px}.pub-submit{flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px;display:flex}.rf-card{background:#fff;border:1px solid #efe6d2;border-radius:12px;padding:32px;box-shadow:0 2px 10px #2422230f}.modal .rf-card{box-shadow:none;padding:22px}.rf-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.rf-full{grid-column:1/-1}.rf-f{min-width:0;display:block}.rf-l{color:var(--ink);margin-bottom:4px;font-size:14px;font-weight:700;display:block}.rf-star{color:var(--ink)}.rf-in{width:100%;color:var(--ink);background:#fff;border:1px solid #d9d1bd;border-radius:6px;padding:9px 12px;font-size:14.5px;transition:border-color .15s,box-shadow .15s}.rf-in::placeholder{color:#8a847b}.rf-in:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #ca9d3b2e}.rf-ta{resize:vertical;min-height:64px}.rf-guest .rf-in{background:#fbf9f3}.rf-f.has-err .rf-in{border-color:var(--red);background:#fffaf9}.rf-f .err{color:#b3321f;margin-top:4px;font-size:12.5px;font-weight:700;display:block}.rf-div{border:0;border-top:1px solid var(--line);margin:22px 0 14px}.rf-radios{flex-wrap:wrap;gap:24px;margin-top:8px;display:flex}.rf-radios label{cursor:pointer;align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:inline-flex}.rf-radios input{appearance:none;cursor:pointer;background:#fff;border:1.5px solid #c9c1ae;border-radius:50%;place-items:center;width:17px;height:17px;margin:0;display:grid}.rf-radios input:after{content:"";background:var(--gold);border-radius:50%;width:9px;height:9px;transition:transform .12s;transform:scale(0)}.rf-radios input:checked{border-color:var(--gold)}.rf-radios input:checked:after{transform:scale(1)}.rf-radios input:focus-visible{outline-offset:2px;outline:3px solid #ca9d3b66}.rf-f.has-err .rf-radios input{border-color:var(--red)}.rf-tcards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rf-tcards.one{grid-template-columns:1fr;margin-top:16px}.rf-tcard{cursor:pointer;background:#fff;border:1px solid #efe2c4;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex;position:relative}.rf-tcard:hover{border-color:#e2cc98}.rf-tt b{font-size:14.5px;display:block}.rf-tt small{color:var(--muted);margin-top:3px;font-size:12.5px;display:block}.rf-tcard input{opacity:0;pointer-events:none;position:absolute}.rf-sw{background:#e8e3d8;border:1px solid #d6cfbf;border-radius:99px;flex:none;align-self:flex-start;width:34px;height:20px;margin-top:2px;transition:background .15s,border-color .15s;position:relative}.rf-sw:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.rf-tcard input:checked+.rf-sw{background:var(--gold);border-color:var(--gold)}.rf-tcard input:checked+.rf-sw:after{transform:translate(14px)}.rf-tcard input:focus-visible+.rf-sw{outline-offset:2px;outline:3px solid #ca9d3b66}.rf-guest{background:#fbf9f3;border:2px dashed #ead39c;border-radius:10px;margin-top:16px;padding:18px}.rf-gt{letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-size:12.5px;font-weight:800}.rf-submit{flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px;display:flex}.rf-btn{background:var(--gold);color:var(--ink);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:0;border-radius:6px;align-items:center;gap:10px;padding:15px 22px;font-size:14.5px;font-weight:800;transition:background .15s;display:inline-flex}.rf-btn:hover{background:#d7ab4b}.rf-btn:focus-visible{outline-offset:2px;outline:3px solid #ca9d3b73}.rf-note{color:var(--muted);font-size:13px}@media (max-width:640px){.rf-card{padding:20px 16px}.rf-grid,.rf-tcards{grid-template-columns:1fr}.rf-guest{padding:14px 12px}.rf-btn{justify-content:center;width:100%}}.pub-note{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:16px 18px}.pub-note.warn{background:var(--gold-soft);border-color:#e3cc95}.pub-note.closed{text-align:center;background:#fff;padding:34px 20px}.pub-foot{text-align:center;color:var(--muted);padding:24px 16px 40px;font-size:12.5px}.done-hero{text-align:center;padding:10px 0 6px}.done-hero .script{color:var(--gold-deep);font-size:64px;line-height:1}.done-hero p{font-size:16px}.confirm-card{grid-template-columns:1fr 190px;align-items:center;gap:22px;display:grid}.confirm-card .qr{border:1px solid var(--line);text-align:center;background:#fff;border-radius:8px;width:100%;max-width:200px;margin:0 auto;padding:10px}.confirm-card .code{font-family:var(--f-display);letter-spacing:.14em;font-size:30px;font-weight:700}.summary{border-collapse:collapse;width:100%}.summary td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px 0}.summary td:first-child{color:var(--muted);width:46%;padding-right:12px}@media (max-width:640px){.confirm-card{grid-template-columns:1fr}.done-hero .script{font-size:52px}}.signin{grid-template-columns:minmax(300px,440px) 1fr;min-height:100vh;display:grid}.signin-art{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;padding:40px 36px;display:flex;position:relative;overflow:hidden}.signin-art .emblem{background:#fff;border-radius:12px;width:92px;height:92px;padding:6px}.signin-art h1{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin-top:26px;font-size:54px;line-height:.95}.signin-art h1 span{color:var(--gold)}.signin-art .tag{font-family:var(--f-display);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:12px;font-size:14px}.signin-art .fine{color:#b9b4ab;font-size:13px}.signin-main{max-width:920px;padding:40px clamp(16px,4vw,56px)}.user-pick{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.user-pick button{text-align:left;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:#fff;align-items:center;gap:12px;padding:12px 14px;display:flex}.user-pick button:hover{border-color:var(--ink)}.avatar{background:var(--ink);width:36px;height:36px;color:var(--gold);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.avatar.sm{width:28px;height:28px;font-size:11px}@media (max-width:820px){.signin{grid-template-columns:1fr}.signin-art{padding:26px 20px}.signin-art h1{margin-top:14px;font-size:40px}.signin-art .fine{margin-top:18px}}.shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.side{background:var(--ink);color:#e9e5dc;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.side-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:16px 16px 14px;display:flex}.side-brand img{background:#fff;border-radius:7px;width:40px;height:40px;padding:2px}.side-brand .t1{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;color:#fff;font-size:21px;font-weight:700;line-height:1}.side-brand .t2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-size:11px}.side-event{border-bottom:1px solid #ffffff14;padding:14px 16px}.side-event .se-lbl{text-transform:uppercase;letter-spacing:.12em;color:#a9a39a;font-size:11px;font-weight:800}.ev-pick{text-align:left;background:var(--ink-2);color:#fff;cursor:pointer;border:1px solid #55504d;border-radius:8px;width:100%;margin-top:6px;padding:9px 30px 9px 11px;transition:border-color .15s,background .15s;display:block;position:relative}.ev-pick:hover,.ev-pick[aria-expanded=true]{border-color:var(--gold);background:#403c3d}.ev-pick:focus-visible{outline-offset:1px;outline:3px solid #ca9d3b73}.ev-pick .ep-name{-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;font-size:14.5px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.ev-pick .ep-meta{color:#b9b3a8;margin-top:3px;font-size:12px;display:block}.ev-pick .ep-ph{color:var(--gold);font-weight:800}.ev-pick .ep-ph.past,.ev-pick .ep-ph.archived{color:#c9c3b8}.ev-pick .ep-chev{color:#b9b3a8;width:15px;height:15px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.ep-pop{z-index:60;border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;flex-direction:column;min-height:160px;animation:.12s fade;display:flex;position:fixed;overflow:hidden}.ep-search{border-bottom:1px solid var(--line);padding:10px;position:relative}.ep-search svg{width:17px;height:17px;color:var(--muted);position:absolute;top:50%;left:22px;transform:translateY(-50%)}.ep-search input{border:1px solid var(--line-strong);border-radius:8px;width:100%;padding:9px 10px 9px 36px;font-size:14.5px}.ep-search input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #ca9d3b2e}.ep-list{flex:1;padding:4px 6px 8px;overflow-y:auto}.ep-grp{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:10px 8px 4px;font-size:11px;font-weight:800}.ep-item{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.ep-item:hover,.ep-item:focus-visible{background:#f6f2e8;outline:none}.ep-item.on{background:var(--gold-soft)}.ep-item .ep-txt{flex:1;min-width:0}.ep-item .nm{word-break:break-word;font-size:14px;font-weight:700;line-height:1.3;display:block}.ep-item .mt{color:var(--muted);margin-top:1px;font-size:12px;display:block}.ep-item .stale{color:#a8301d;font-weight:700}.ep-item .chip{flex:none;padding:2px 6px;font-size:10px}.ep-check{color:var(--gold-deep);flex:none}.ep-check svg{width:16px;height:16px;display:block}.ep-empty{color:var(--muted);text-align:center;padding:14px 10px;font-size:13px}.ep-foot{border-top:1px solid var(--line);background:#fbf9f4;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.ep-foot a{color:var(--ink);font-size:13.5px;font-weight:800}.bulkbar{background:var(--ink);color:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.bulkbar .btn{color:#fff;background:0 0;border-color:#5a5552}.bulkbar .btn.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}.bulkbar .btn.danger{color:#ffb4a8;border-color:#7a3a30}.tbl.evm td{vertical-align:top}.tbl.evm .name{line-height:1.3}.tbl.evm .evm-acts{width:1%;min-width:190px}.tbl.evm .evm-acts .row{justify-content:flex-end;gap:6px}.status-card .ready{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:13px;display:flex}.status-card .ready .ok{color:var(--green);font-weight:700}.status-card.draft{background:#fffcf4;border-color:#e3cc95}.status-card.archived{background:#f4f2ee}.rf-btn[disabled]{opacity:.5;cursor:not-allowed}.nav{flex:1;padding:10px 8px}.nav .grp{text-transform:uppercase;letter-spacing:.12em;color:#8f8980;padding:12px 10px 6px;font-size:11px;font-weight:800}.nav a{color:#e9e5dc;border-radius:7px;align-items:center;gap:11px;padding:9px 10px;font-size:14.5px;font-weight:700;text-decoration:none;display:flex}.nav a svg{opacity:.8;flex:none;width:18px;height:18px}.nav a:hover{background:#ffffff0f}.nav a.on{background:var(--gold);color:var(--ink)}.nav a.on svg{opacity:1}.nav a .count{background:#ffffff1f;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:12px}.nav a.on .count{background:#24222326}.side-user{border-top:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 14px;display:flex}.side-user .who{flex:1;min-width:0}.side-user .who b{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.side-user .who a{color:var(--gold);font-size:12px;font-weight:700;text-decoration:none}.side-user .btn{color:#e9e5dc;background:0 0;border-color:#55504d}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#fff;align-items:center;gap:12px;padding:16px 28px;display:flex;position:sticky;top:0}.topbar h1{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em;font-size:28px;line-height:1}.topbar .sub{color:var(--muted);margin-top:3px;font-size:13px}.topbar .actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto;display:flex}.menu-btn{display:none}.content{width:100%;max-width:1320px;padding:24px 28px 60px}@media (max-width:900px){.shell{grid-template-columns:1fr}.side{z-index:40;width:280px;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.shell.nav-open .side{box-shadow:var(--shadow-lg);transform:none}.shell.nav-open:after{content:"";z-index:30;background:#00000059;position:fixed;inset:0}.menu-btn{display:inline-flex}.topbar{flex-wrap:wrap;padding:12px 16px}.topbar h1{font-size:23px}.topbar .actions{justify-content:flex-start;width:100%;margin-left:0}.topbar .actions:empty{display:none}.content{padding:16px 16px 60px}}.ev-banner{background:var(--ink);color:#fff;border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:22px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.ev-banner .logo-tile{background:#fff;border-radius:8px;place-items:center;height:92px;padding:8px 12px;display:grid}.ev-banner .logo-tile img{max-width:120px;max-height:76px}.ev-banner h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em;font-size:32px;line-height:1}.ev-banner .meta{color:var(--stone);font-family:var(--f-display);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;font-size:15px}.ev-banner .grow{min-width:220px}.ev-banner .btn{color:#fff;background:0 0;border-color:#5a5552}.ev-banner .btn.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}.ev-banner .chip{color:#fff;background:#ffffff14;border-color:#fff3}.ev-banner .chip.ok{background:#035e4fb3;border-color:#3c8b7c}.ev-banner .chip.bad{border-color:var(--red);background:#e1523e40}.kpis{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;margin-top:16px;display:grid}.kpis-3{grid-template-columns:repeat(3,1fr);gap:8px;max-width:640px}@media (max-width:480px){.kpis-3 .kpi{padding:10px}.kpis-3 .kpi .v{font-size:32px}.kpis-3 .kpi .k{font-size:10.5px}}.kpi{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:14px 16px}.kpi .k{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:800}.kpi .v{font-family:var(--f-display);margin-top:4px;font-size:40px;font-weight:700;line-height:1.05}.kpi .v small{color:var(--muted);font-size:20px;font-weight:600}.kpi .d{color:var(--muted);font-size:12.5px}.kpi.hero{background:var(--ink);color:#fff;border-color:var(--ink)}.kpi.hero .k,.kpi.hero .d,.kpi.hero .v small{color:#c9c3b8}.bar{background:#ece7db;border-radius:99px;height:8px;margin-top:8px;overflow:hidden}.bar>i{background:var(--gold);border-radius:99px;height:100%;display:block}.kpi.hero .bar{background:#ffffff24}.cols{grid-template-columns:1.35fr 1fr;align-items:start;gap:16px;margin-top:16px;display:grid}.cols.even{grid-template-columns:1fr 1fr}.cols.side-l{grid-template-columns:380px 1fr}@media (max-width:1100px){.cols,.cols.even,.cols.side-l{grid-template-columns:1fr}}.hist{align-items:flex-end;gap:4px;height:150px;padding-top:10px;display:flex}.hist .col{flex-direction:column-reverse;flex:1;gap:1px;min-width:6px;height:100%;display:flex}.hist .b{background:var(--gold);border-radius:3px 3px 0 0;flex:none;position:relative}.hist .b:hover{background:var(--gold-deep)}.hist .b.guest{background:var(--blue)}.hist-axis{color:var(--muted);gap:4px;margin-top:6px;font-size:11px;display:flex}.hist-axis span{text-align:center;white-space:nowrap;flex:1;min-width:6px;overflow:hidden}.legend{color:var(--muted);gap:14px;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.feed{margin:0;padding:0;list-style:none}.feed li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:10px 16px;display:flex}.feed li:last-child{border-bottom:0}.feed .t{font-family:var(--f-display);min-width:64px;color:var(--ink);font-size:16px;font-weight:700}.feed .x{flex:1;font-size:14px}.table-wrap{overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#fbf9f4;padding:10px 12px;font-size:11.5px;font-weight:800;position:sticky;top:0}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr.click{cursor:pointer}.tbl tbody tr.click:hover td{background:#fcfaf5}.tbl tbody tr.click:focus-visible{outline-offset:-3px;outline:3px solid #ca9d3b73}.tbl .name{font-weight:800}.tbl .sub{color:var(--muted);font-size:12.5px}.tbl td.c,.tbl th.c{text-align:center}.yes{color:var(--green);font-weight:800}.no{color:#b8b2a6}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar .search{flex:260px;position:relative}.toolbar .search input{padding-left:38px}.toolbar .search svg{width:18px;height:18px;color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.toolbar .select{width:auto;padding:9px 30px 9px 10px;font-size:14px}.count-line{color:var(--muted);margin:-4px 0 10px;font-size:13px}.empty{text-align:center;color:var(--muted);padding:40px 20px}.empty b{color:var(--ink);margin-bottom:4px;font-size:16px;display:block}.mlist{display:none}@media (max-width:760px){.tbl-desktop{display:none}.mlist{display:block}}.mcard{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:#fff;margin-bottom:10px;padding:12px 14px}.mcard:focus-visible{outline-offset:1px;outline:3px solid #ca9d3b73}.mcard .top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mcard .nm{font-size:15.5px;font-weight:800}.mcard .chips{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.ci-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ci-search{flex:360px;position:relative}.ci-search input{border:2px solid var(--ink);border-radius:12px;padding:16px 18px 16px 52px;font-size:20px}.ci-search svg{width:24px;height:24px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.ci-progress{flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0;display:flex}.ci-progress .big{font-family:var(--f-display);font-size:30px;font-weight:700;line-height:1}.ci-progress .bar{flex:1;min-width:160px;height:12px;margin:0}.tabs{background:#ebe6da;border-radius:10px;gap:2px;padding:4px;display:inline-flex}.tabs button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:7px;padding:8px 14px;font-size:14px;font-weight:800}.tabs button.on{color:var(--ink);background:#fff;box-shadow:0 1px 2px #00000014}.party{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:12px;overflow:hidden}.party.flash{animation:1.2s flash}@keyframes flash{0%{box-shadow:0 0 0 4px #ca9d3bb3}to{box-shadow:0 0 #ca9d3b00}}.party-h{border-bottom:1px solid var(--line);background:#fbf9f4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.party-h .farm{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.03em;font-size:18px;font-weight:700}.party-h .chips{flex-wrap:wrap;gap:5px;display:flex}.person{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;display:flex}.person:last-child{border-bottom:0}.person .pn{flex:220px;min-width:0}.person .pn b{font-size:19px;line-height:1.2;display:block}.person .pn .r{color:var(--muted);font-size:12.5px}.person .acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stamp{background:var(--green-soft);color:var(--green);border:1px solid #a9d3c5;border-radius:9px;align-items:center;gap:8px;padding:10px 14px;font-weight:800;display:inline-flex}.stamp svg{width:18px;height:18px}.stamp small{color:#3f7d70;font-weight:700}.scrim{z-index:50;background:#1c1a1b73;justify-content:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.scrim.center{justify-content:center;align-items:flex-start;padding:6vh 16px;overflow-y:auto}@keyframes fade{0%{opacity:0}}.drawer{background:var(--cream);width:min(560px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s ease-out slide;display:flex;overflow-y:auto}@keyframes slide{0%{opacity:.6;transform:translate(30px)}}.modal{background:var(--cream);width:min(720px,100%);box-shadow:var(--shadow-lg);border-radius:12px;overflow:hidden}.modal.wide{width:min(900px,100%)}.ov-h{background:var(--ink);color:#fff;z-index:2;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}.ov-h h2{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em;font-size:26px;line-height:1.05}.ov-h .sub{color:var(--stone);margin-top:4px;font-size:13px}.ov-h .x{color:#fff;cursor:pointer;background:0 0;border:1px solid #5a5552;border-radius:7px;flex:none;width:34px;height:34px;font-size:18px}.ov-b{flex:1;padding:18px 20px 26px}.ov-f{border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex;position:sticky;bottom:0}.kv{grid-template-columns:150px 1fr;gap:6px 12px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0;font-weight:600}#toast-root{z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);pointer-events:auto;border-radius:10px;align-items:center;gap:12px;max-width:92vw;padding:12px 18px;font-weight:700;animation:.2s ease-out up;display:flex}.toast.ok{background:var(--green)}.toast.bad{background:#a8301d}.toast button{color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:6px;padding:4px 10px;font-weight:800}@keyframes up{0%{opacity:0;transform:translateY(10px)}}.role-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.role-card{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:#fff;padding:14px 16px;display:block;position:relative}.role-card input{opacity:0;position:absolute}.role-card:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}.role-card .rn{font-family:var(--f-display);text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.role-card p{color:var(--muted);margin:6px 0 0;font-size:13px}.matrix td.c svg{width:18px;height:18px}.matrix .yesi{color:var(--green)}.matrix .noi{color:#c8c1b2}.can-list{margin:0;padding:0;list-style:none}.can-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:9px 0;font-size:14.5px;display:flex}.can-list li:last-child{border-bottom:0}.can-list svg{flex:none;width:18px;height:18px;margin-top:2px}.can-list .why{color:var(--muted);font-size:12.5px;display:block}.badge-stage{border-radius:var(--r);background:#e9e4d8;justify-content:center;padding:20px;display:flex;overflow:auto}.badge-scale{transform-origin:top}.sheet-mini{grid-template-columns:repeat(2,1fr);gap:4px;width:132px;display:grid}.sheet-mini button{border:1px solid var(--line-strong);cursor:pointer;height:30px;color:var(--muted);background:#fff;border-radius:4px;font-size:12px;font-weight:800}.sheet-mini button.used{color:#b3ab9b;background:repeating-linear-gradient(45deg,#eee9dd,#eee9dd 4px,#e2dccd 4px 8px)}.sheet-mini button.start{background:var(--ink);color:var(--gold);border-color:var(--ink)}.pick-list{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:320px;overflow-y:auto}.pick-list label{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.pick-list label:last-child{border-bottom:0}.badge{text-align:center;width:4in;height:3in;font-family:var(--f-body);color:var(--ink);background:#fff;flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.badge.outline{outline-offset:-1px;outline:1px dashed #c9c1ae}.badge .b-logo{justify-content:center;align-items:center;margin-top:.16in;display:flex}.badge .b-logo img{object-fit:contain;display:block}.badge .b-body{flex-direction:column;flex:1;justify-content:center;width:100%;min-height:0;padding:0 .22in;display:flex}.badge .b-first{font-family:var(--f-display);letter-spacing:.01em;white-space:nowrap;text-overflow:clip;font-weight:700;line-height:.95;overflow:hidden}.badge .b-full{margin-top:.03in;font-size:13pt;font-weight:700;line-height:1.1}.badge .b-farm{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.08em;color:#5c5751;margin-top:.03in;font-size:12pt;font-weight:600;line-height:1.1}.badge .b-adv{color:#6d6862;margin-top:.04in;font-size:8.5pt}.badge .b-foot{width:100%;min-height:.34in;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap;justify-content:center;align-items:center;gap:.08in;padding:.04in .16in;font-size:10.5pt;font-weight:700;display:flex}.badge .b-foot.ink{background:var(--ink);color:#fff}.badge .b-foot.gold{background:var(--gold);color:var(--ink)}.badge .b-foot.green{background:var(--green);color:#fff}.badge .b-foot.rule{border-top:2.5pt solid var(--gold);width:calc(100% - .6in);color:var(--ink);min-height:.32in;margin:0 .3in}.badge .b-foot.plain{color:var(--ink)}.badge .b-mk{align-items:center;gap:.04in;display:inline-flex}.badge .b-mk+.b-mk:before{content:"•";opacity:.7;margin-right:.08in}.badge .b-qr{width:.62in;height:.62in;position:absolute;bottom:.44in;right:.14in}.badge .b-qr svg{width:100%;height:100%;display:block}.badge .b-role{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.1em;border:1pt solid;border-radius:2pt;padding:.01in .06in;font-size:9pt;font-weight:700;position:absolute;top:.12in;right:.14in}.badge .b-corner{gap:.04in;display:flex;position:absolute;top:.12in;left:.14in}.badge .b-corner span{border-radius:50%;width:.17in;height:.17in;display:inline-block}.sheet{background:#fff;width:8.5in;height:11in;position:relative}.sheet .grid{grid-template-rows:3in 3in 3in;grid-template-columns:4in 4in;display:grid;position:absolute;top:1in;left:.25in}.sheet .slot{width:4in;height:3in;overflow:hidden}.sheet.preview{box-shadow:0 2px 12px #00000026}.sheet.preview .slot{outline-offset:-1px;outline:1px dashed #d4cdbd}.sheet.test .slot{outline-offset:-1px;font-family:var(--f-display);outline:1px solid #000;place-items:center;font-size:20pt;display:grid}#print-root{display:none}@media print{@page{size:letter portrait;margin:0}html,body{background:#fff!important}body>:not(#print-root){display:none!important}#print-root{display:block!important}#print-root .sheet{page-break-after:always;break-after:page;box-shadow:none}#print-root .sheet:last-child{page-break-after:auto;break-after:auto}#print-root .slot{outline:none!important}#print-root .sheet.test .slot{outline:1px solid #000!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.drop{border:2px dashed var(--line-strong);text-align:center;cursor:pointer;background:#fff;border-radius:12px;padding:34px 20px;transition:border-color .15s,background .15s}.drop:hover,.drop.over{border-color:var(--gold);background:#fffdf7}.drop b{margin-bottom:4px;font-size:17px;display:block}.map-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 26px 1fr;align-items:center;gap:10px;padding:8px 0;display:grid}.map-row:last-child{border-bottom:0}.map-row .src{word-break:break-word;font-size:14px;font-weight:700}.map-row .src small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:400;display:block;overflow:hidden}.map-row .arrow{color:var(--muted);text-align:center}.steps{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.steps span{color:var(--muted);background:#ebe6da;border-radius:99px;padding:5px 12px;font-size:12.5px;font-weight:800}.steps span.on{background:var(--ink);color:#fff}.steps span.done{background:var(--green-soft);color:var(--green)}.share{grid-template-columns:1fr 200px;align-items:start;gap:20px;display:grid}.share .qrbox{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.share .qrbox svg{width:100%;height:auto;display:block}.linkbox{gap:8px;display:flex}.linkbox input{font-family:ui-monospace,Consolas,monospace;font-size:13px}@media (max-width:640px){.share{grid-template-columns:1fr}.share .qrbox{max-width:220px}}.callout{background:var(--blue-soft);border-radius:var(--r);color:#154f70;border:1px solid #b4d0de;padding:12px 14px;font-size:13.5px}.callout.gold{background:var(--gold-soft);color:#6a4e10;border-color:#e3cc95}.callout b{color:inherit}.ev-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.ev-card .logo{border-bottom:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;background:#fff;place-items:center;height:96px;display:grid}.ev-card .logo img{max-width:70%;max-height:76px}
