*,:before,:after{box-sizing:border-box}:root{--primary:#6d28d9;--primary-dark:#5b21b6;--primary-light:#ede9fe;--bg:#f5f3ff;--card:#fff;--sidebar-bg:#1e1b4b;--sidebar-text:#c4b5fd;--sidebar-heading:#fff;--text:#1f1235;--muted:#6b7280;--border:#ddd6fe;--error:#dc2626;--radius:12px;font-family:system-ui,Segoe UI,Roboto,sans-serif}body{background:var(--bg);min-height:100svh;color:var(--text);margin:0}#root{align-items:stretch;min-height:100svh;display:flex}.layout{flex-direction:column;justify-content:center;align-items:center;gap:40px;width:100%;min-height:100svh;padding:60px 24px;display:flex}.main-content,.sidebar{width:100%;max-width:440px}.sidebar-header{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}.sidebar-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px;font-weight:700}.sidebar-count{color:var(--muted);font-size:13px}.sidebar-empty{color:var(--muted);text-align:center;margin:0;font-size:14px}.attendee-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.attendee-item{background:var(--card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:8px 8px 8px 16px;display:flex}.attendee-name{color:var(--text);white-space:nowrap;font-size:15px;font-weight:500}.party-badge{color:var(--primary);background:var(--primary-light);border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.6}.edit-btn{background:var(--primary-light);cursor:pointer;width:32px;height:32px;color:var(--primary);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .15s,color .15s;display:flex}.edit-btn:hover{background:var(--primary);color:#fff}.event-details{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.event-detail-item{align-items:flex-start;gap:12px;display:flex}.detail-icon{flex-shrink:0;font-size:20px;line-height:1.4}.detail-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:1px;font-size:11px;font-weight:700}.detail-value{color:var(--text);font-size:14px;font-weight:500;line-height:1.4}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:440px;padding:40px 36px;box-shadow:0 4px 24px #6d28d914}.event-header{text-align:center;margin-bottom:32px}.event-badge{background:var(--primary-light);color:var(--primary);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:14px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.event-header h1{color:var(--text);margin:0 0 6px;font-size:26px;font-weight:700}.event-header p{color:var(--muted);margin:0;font-size:14px}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.form-group{margin-bottom:16px}label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.label-optional{color:var(--muted);font-weight:400}input[type=text],input[type=password]{border:1px solid var(--border);width:100%;color:var(--text);background:#fafafa;border-radius:8px;outline:none;padding:10px 14px;font-size:15px;transition:border-color .15s}input[type=text]:focus,input[type=password]:focus{border-color:var(--primary);background:#fff}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-option{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:11px 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.radio-option:hover{background:var(--primary-light)}.radio-option.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.radio-option input[type=radio]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:600;transition:background .15s,opacity .15s}.btn:hover:not(:disabled){background:var(--primary-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-danger{width:100%;color:var(--error);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;margin-top:6px;padding:10px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s}.btn-danger:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{width:100%;color:var(--primary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s}.btn-ghost:hover{background:var(--primary-light)}.error-msg{color:var(--error);margin:6px 0 0;font-size:13px}.hint-text{color:var(--muted);background:var(--primary-light);border-radius:6px;margin:0 0 8px;padding:8px 12px;font-size:13px}.confirm-icon{text-align:center;margin-bottom:12px;font-size:52px}.confirm-title{text-align:center;color:var(--text);margin:0 0 10px;font-size:24px;font-weight:700}.confirm-text{color:var(--muted);text-align:center;margin:0;font-size:15px;line-height:1.6}.detail-list{background:var(--primary-light);color:var(--text);border-radius:8px;margin-top:24px;padding:16px 20px;font-size:14px;line-height:2}.reset-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;margin:20px auto 0;padding:4px 8px;font-size:26px;line-height:1;transition:color .15s,background .15s;display:block}.reset-btn:hover{color:var(--primary);background:var(--primary-light)}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card);border-radius:var(--radius);width:100%;max-width:400px;padding:36px 32px 32px;position:relative;box-shadow:0 20px 60px #00000040}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;line-height:1;transition:background .15s;position:absolute;top:14px;right:14px}.modal-close:hover{background:var(--primary-light)}.modal-title{color:var(--text);margin:0 0 6px;font-size:20px;font-weight:700}.modal-sub{color:var(--muted);margin:0 0 20px;font-size:14px}@media (width<=480px){.layout{gap:28px;padding:24px 16px 40px}.card{padding:28px 20px}.form-row{flex-direction:column;gap:0}}
