*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#211f2d}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.admin-body{background:#f3f4f9;color:#211f2d}.brand-mark{font-size:13px;font-weight:900;letter-spacing:.12em;color:#5e6f72}.editor-kicker{font-size:13px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#5b48dc}.primary-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;padding:14px 20px;font-weight:850;border:0;cursor:pointer;text-decoration:none}.primary-btn{background:#6754e7;color:#fff}.ghost-btn{background:#fff;border:1px solid #d9dbe6;color:#292635}.primary-btn.big,.ghost-btn.big{padding:16px 24px}.primary-btn.small,.ghost-btn.small{padding:10px 14px;border-radius:12px}.error,.success{padding:12px 14px;border-radius:14px}.error{background:#fff0ed;color:#8c2e22}.success{background:#edf7ef;color:#236238}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(560px,100%);background:#fff;border-radius:28px;padding:34px;box-shadow:0 20px 60px #1e23400d}.auth-card h1{font:500 clamp(38px,6vw,64px)/1 Georgia,serif;margin:12px 0}.auth-card p{color:#737789;line-height:1.55}.auth-card form{display:grid;gap:12px;margin-top:22px}.auth-card input{padding:15px 16px;border:1px solid #d9dbe6;border-radius:14px}

/* Dashboard */
.dashboard-shell{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:34px 0 70px}.dashboard-nav{display:flex;justify-content:space-between;align-items:center}.nav-product{font-size:24px;font-weight:800;margin-top:4px}.dashboard-nav>a{color:#6c7080}.dashboard-intro{padding:80px 0 44px;max-width:860px}.dashboard-intro h1{font:500 clamp(58px,8vw,96px)/.95 Georgia,serif;margin:10px 0 18px}.dashboard-intro p{font-size:20px;line-height:1.6;color:#6d7182;max-width:760px;margin-bottom:26px}.dashboard-section{margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.section-heading h2{font:500 44px/1.05 Georgia,serif;margin:5px 0}.count-pill{display:grid;place-items:center;min-width:42px;height:42px;border-radius:999px;background:#fff;border:1px solid #dfe1ea;font-weight:900}.survey-list{display:grid;gap:14px}.survey-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr) auto;gap:22px;align-items:center;background:#fff;border:1px solid #e1e3eb;border-radius:22px;padding:22px 24px;box-shadow:0 8px 28px #1c214008}.survey-mini{font-size:11px;font-weight:900;letter-spacing:.12em;color:#6754e7}.survey-main h3{font-size:24px;margin:5px 0}.survey-main p{margin:0;color:#7b7f8e}.survey-link{display:flex;gap:8px}.survey-link input{width:100%;padding:12px 13px;border:1px solid #dfe1ea;border-radius:12px;background:#fafafe;font-size:13px}.survey-link button{border:1px solid #dfe1ea;background:#fff;border-radius:12px;padding:0 14px;font-weight:800}.survey-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.survey-actions>a:not(.primary-btn):not(.ghost-btn){font-size:14px;font-weight:750;color:#676b7a}.empty-panel{background:#fff;border:1px dashed #d7d9e5;border-radius:24px;padding:40px;text-align:center}.empty-panel h3{font-size:28px;margin:0 0 8px}.empty-panel p{color:#747887}

/* Editor */
.editor-shell{width:min(1480px,calc(100% - 64px));margin:0 auto;padding:28px 0 64px}.editor-back{color:#6d7182;display:inline-block;margin-bottom:30px}.editor-hero{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:40px;align-items:end;margin-bottom:28px}.editor-hero h1{font:500 clamp(58px,7vw,92px)/.96 Georgia,serif;margin:12px 0 0}.editor-hero p{font-size:18px;line-height:1.55;color:#6f7383;margin:0 0 10px}.floating-msg{margin:0 0 18px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:30px;align-items:start}.editor-left{display:grid;gap:18px}.editor-section{background:#fff;border:1px solid #e1e3eb;border-radius:26px;overflow:hidden;box-shadow:0 8px 28px #1b204008}.editor-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;cursor:pointer;font-size:22px;font-weight:850}.editor-section summary::-webkit-details-marker{display:none}.editor-section summary span{display:flex;align-items:center;gap:16px}.editor-section summary b{font-size:13px;color:#6754e7;letter-spacing:.08em}.editor-section summary i{font-style:normal;color:#7f8392}.section-body{border-top:1px solid #eceef4;padding:28px}.section-body label{display:block;font-weight:800;margin:0 0 18px}.section-body label em{color:#d24a56;font-style:normal}.field-label{font-weight:800;margin:4px 0 12px}.section-body input[type=text],.section-body input:not([type]),.section-body input[type=file],.section-body textarea,.section-body select{width:100%;margin-top:9px;border:1px solid #d9dce7;border-radius:16px;background:#fff;padding:15px 16px;outline:none}.section-body textarea{min-height:128px;resize:vertical;line-height:1.5}.section-body textarea.questions{min-height:190px}.section-body input:focus,.section-body textarea:focus,.section-body select:focus{border-color:#7867ef;box-shadow:0 0 0 4px #7867ef1b}.helper{color:#7b7f8e;line-height:1.5;margin:0 0 18px}.cols-2,.cols-3{display:grid;gap:14px}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.option-card,.bg-option{margin:0!important}.option-card input,.bg-option input{position:absolute;opacity:0;pointer-events:none}.option-card span,.bg-option span{display:block;border:1px solid #dfe1ea;border-radius:18px;padding:20px;background:#fff}.option-card span strong,.bg-option span strong{display:block;font-size:18px}.option-card span small,.bg-option span small{display:block;color:#7c8090;margin-top:5px;line-height:1.4}.option-card input:checked+span,.bg-option input:checked+span{border-color:#6b58ec;box-shadow:0 0 0 3px #6b58ec20;background:#f8f7ff}.palette-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.palette-card{border:1px solid #dfe1ea;border-radius:18px;padding:12px;background:#fff;text-align:left;cursor:pointer}.palette-card.active{border-color:#6b58ec;box-shadow:0 0 0 3px #6b58ec20}.palette-strip{display:grid;grid-template-columns:repeat(4,1fr);height:34px;border-radius:10px;overflow:hidden;margin-bottom:9px}.palette-strip i{display:block}.palette-card strong{font-size:15px}.color-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.color-row label{font-size:14px;color:#727687}.color-row input[type=color]{width:100%;height:54px;border:1px solid #dfe1ea;border-radius:12px;padding:5px;background:#fff;margin-top:8px}.range-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:end;margin-top:4px}.range-row label{font-size:14px}.range-row input[type=range]{width:100%;accent-color:#6754e7}.bg-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.bg-option span{padding:16px}.inline-check{display:flex!important;gap:9px;align-items:center;font-weight:700!important}.inline-check input{width:auto!important;margin:0!important}.editor-actions{display:flex;gap:12px;align-items:center;padding:4px 0 8px}

/* preview */
.preview-pane{position:sticky;top:20px}.preview-head{display:flex;justify-content:space-between;align-items:center;margin:0 8px 10px}.preview-head strong{font-size:18px}.preview-head span{color:#7b7f8e;font-size:13px}.phone{width:100%;aspect-ratio:9/17.5;border:12px solid #1e202a;border-radius:44px;background:#eef0ff;overflow:hidden;box-shadow:0 28px 70px #161a3220;position:relative}.phone-top{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;font-size:12px;background:#f3f1ff}.phone-top span{letter-spacing:3px}.preview-progress{height:4px;margin:0 28px 14px;background:#cbcbd6;border-radius:99px;overflow:hidden}.preview-progress i{display:block;width:26%;height:100%;background:#6754e7}.preview-bg{--page:#f4f1ff;position:relative;height:calc(100% - 72px);padding:36px 24px;background:radial-gradient(circle at 18% 12%,#ffffffcc 0 10%,transparent 36%),radial-gradient(circle at 88% 88%,#d8d0ff 0 8%,transparent 34%),var(--page);overflow:hidden}.preview-card{position:relative;z-index:3;background:#fffffff2;padding:26px 22px;border-radius:20px;box-shadow:0 12px 30px #2b2d4312}.preview-kicker{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6754e7;margin-bottom:12px}.preview-card h2{font:500 34px/1.05 Georgia,serif;margin:0 0 10px}.preview-card p{font-size:13px;line-height:1.4;color:#787b89;margin:0 0 18px}.preview-role{border:1px solid #dfe1ea;border-radius:14px;padding:13px 12px;font-size:13px;font-weight:800;margin-top:8px;background:#fff}.preview-card button{width:100%;margin-top:16px;border:0;background:#6754e7;color:#fff;padding:14px;border-radius:14px;font-weight:850}.preview-note{text-align:center;color:#777b8a;font-size:13px;line-height:1.45;padding:0 18px}.local-bg{position:absolute;z-index:1;object-fit:cover}.local-bg.cover{inset:0;width:100%;height:100%;filter:saturate(.92)}.local-bg.collage{width:54%;height:36%;border-radius:18px;box-shadow:0 12px 26px #0002}.local-bg.c0{top:4%;left:-8%;transform:rotate(-7deg)}.local-bg.c1{top:7%;right:-8%;transform:rotate(8deg)}.local-bg.c2{top:36%;left:1%;transform:rotate(5deg)}.local-bg.c3{top:43%;right:-5%;transform:rotate(-8deg)}.local-bg.c4{bottom:2%;left:-5%;transform:rotate(-5deg)}.local-bg.c5{bottom:1%;right:-6%;transform:rotate(7deg)}

/* Participant */
.participant-body{background:#77727d}.scene{min-height:100vh;position:relative;background:var(--page-color,#f4f1ff);overflow:hidden}.scene.photo-bg,.scene.image-bg{background-image:var(--hero-bg);background-size:cover;background-position:center}.scene:before{content:"";position:fixed;inset:0;background:var(--overlay,#6e6878);opacity:var(--overlay-alpha,.18);pointer-events:none}.scene.ornament-bg:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 12%,#ffffffc8 0 8%,transparent 28%),radial-gradient(circle at 86% 80%,#dcd5ffb0 0 10%,transparent 34%),linear-gradient(135deg,#ffffff24,#6754e70c);pointer-events:none}.wizard{position:relative;z-index:4}.screen{display:none;min-height:100vh;align-items:center;justify-content:center;padding:28px}.screen.active{display:flex}.glass{width:min(920px,100%);padding:44px 48px;border:1px solid #ffffffd0;box-shadow:0 26px 80px #1c1a2a24;backdrop-filter:blur(15px);background:var(--card-bg,rgba(255,255,255,.95));border-radius:var(--radius,20px);color:var(--text-color,#211c3b)}.glass.compact{max-width:650px}.kicker{font-size:13px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--accent,#6754e7);margin-bottom:14px}.glass h1,.glass h2{font-family:var(--heading-font,Georgia,serif);font-weight:500;line-height:1.04;margin:0 0 16px}.glass h1{font-size:clamp(46px,7vw,76px)}.glass h2{font-size:clamp(34px,5vw,58px)}.lead,.sub{font-size:18px;line-height:1.55;color:color-mix(in srgb,var(--text-color,#211c3b) 72%,white 28%)}.note{margin-top:22px;padding:17px 18px;border-radius:16px;background:#ffffffa8;line-height:1.5}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0}.role-choice{cursor:pointer}.role-choice input{position:absolute;opacity:0}.role-choice span{display:block;padding:22px 20px;border:2px solid transparent;border-radius:calc(var(--radius,20px) - 3px);background:#fff;font-weight:850}.role-choice.selected span{border-color:var(--accent)}.screen input,.screen textarea{width:100%;border:1px solid #d9dce7;border-radius:calc(var(--radius,20px) - 4px);padding:15px 16px;background:#fff;font:inherit}.screen textarea{min-height:170px;resize:vertical}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.actions.right{justify-content:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:calc(var(--radius,20px) - 4px);padding:14px 22px;font-weight:850;cursor:pointer}.btn:not(.secondary){background:var(--button-bg,var(--accent));color:var(--button-text,#fff);border:var(--button-border,0)}.btn.secondary{background:#ffffffd8;color:var(--text-color,#211c3b);border:1px solid #d9dce7}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.caption{padding:12px;margin-top:12px;background:#ffffffa8;border-radius:14px}.floating{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:20}
.collage-layer{position:fixed;inset:0;z-index:1;pointer-events:none}.collage-layer img{position:absolute;width:33vw;max-width:520px;height:34vh;object-fit:cover;border-radius:22px;box-shadow:0 18px 45px #0003}.collage-layer img:nth-child(1){top:-3%;left:-4%;transform:rotate(-6deg)}.collage-layer img:nth-child(2){top:2%;right:-4%;transform:rotate(6deg)}.collage-layer img:nth-child(3){top:34%;left:2%;transform:rotate(5deg)}.collage-layer img:nth-child(4){top:37%;right:1%;transform:rotate(-7deg)}.collage-layer img:nth-child(5){bottom:-5%;left:-2%;transform:rotate(-4deg)}.collage-layer img:nth-child(6){bottom:-4%;right:-2%;transform:rotate(5deg)}

@media(max-width:1100px){.editor-grid{grid-template-columns:1fr}.preview-pane{position:relative;top:auto;max-width:430px;margin:0 auto;width:100%}.editor-hero{grid-template-columns:1fr}.editor-hero p{max-width:700px}.survey-row{grid-template-columns:1fr}.survey-actions{justify-content:flex-start}.color-row{grid-template-columns:repeat(3,1fr)}.bg-mode-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.dashboard-shell,.editor-shell{width:min(100% - 24px,1480px)}.dashboard-intro{padding-top:48px}.dashboard-intro h1,.editor-hero h1{font-size:56px}.editor-grid{gap:18px}.section-body{padding:20px}.editor-section summary{padding:21px 20px;font-size:19px}.cols-2,.cols-3,.choice-2,.palette-grid,.range-row{grid-template-columns:1fr}.color-row{grid-template-columns:repeat(2,1fr)}.phone{border-width:9px}.screen{padding:10px;align-items:flex-start}.glass{padding:28px 22px;margin-top:12px}.glass h1{font-size:42px}.glass h2{font-size:36px}.lead,.sub{font-size:16px}.role-grid{grid-template-columns:1fr}.actions{position:sticky;bottom:8px}.collage-layer img{width:58vw;height:27vh}}

/* v6: structured role/question builder */
.role-builder{display:grid;gap:18px}.role-editor-card{border:1px solid #dfe1ea;border-radius:22px;background:#fafaff;padding:18px}.role-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.role-toggle{display:flex!important;align-items:center;gap:9px;margin:0!important;font-weight:850!important}.role-toggle input{width:20px!important;height:20px;margin:0!important;accent-color:#6754e7}.role-branch{font-size:12px;font-weight:900;letter-spacing:.08em;color:#7c8090;text-transform:uppercase}.role-items-title{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e6e8ef;padding-top:16px;margin:4px 0 12px}.role-items-title span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:99px;background:#fff;border:1px solid #e0e2eb;font-size:12px;font-weight:900}.role-items{display:grid;gap:12px}.question-builder-card{background:#fff;border:1px solid #e0e2eb;border-radius:18px;padding:14px}.qb-top{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}.qb-num{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f2f0ff;color:#6754e7}.qb-top select{margin:0!important;padding:11px 13px!important;border-radius:12px!important}.qb-tools{display:flex;gap:6px}.qb-tools button{width:38px;height:38px;border:1px solid #dfe1ea;border-radius:11px;background:#fff;font-weight:900;cursor:pointer}.qb-delete{color:#d34b61}.qb-prompt{margin:13px 0 10px!important}.qb-prompt>span{display:block;margin-bottom:7px}.qb-prompt input{margin:0!important}.qb-required{display:flex!important;align-items:center;gap:9px;margin:0!important;font-weight:700!important;color:#343241}.qb-required input{width:20px!important;height:20px;margin:0!important;accent-color:#6754e7}.add-item{margin-top:12px}.preview-role{transition:.2s}
@media(max-width:720px){.qb-top{grid-template-columns:30px 1fr}.qb-tools{grid-column:2;justify-content:flex-end}.role-editor-card{padding:14px}}
.common-editor-card{background:linear-gradient(180deg,#fbfaff,#fff);border-color:#dcd7ff}.common-editor-card .role-branch{color:#6754e7}


/* v8: delete event action */
.delete-event-form{display:inline-flex;margin:0;padding:0}.danger-link{appearance:none;border:0;background:transparent;color:#c43d52;font-size:14px;font-weight:800;padding:8px 4px;cursor:pointer}.danger-link:hover{text-decoration:underline}.dashboard-msg{margin:-18px 0 26px;max-width:520px}.survey-actions form{flex:0 0 auto}
