*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#0f172a;--color-surface:#1e293b;--color-border:#334155;--color-primary:#a5b4fc;--color-primary-solid:#5558e6;--color-primary-hover:#4a4ed4;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-error:#f87171;--color-success:#22c55e;--radius:8px;--color-card:#1e293b;--color-input:#0f172a;--color-warning-text:#fbbf24;--color-accent-green:#34d399;--st-invited-bg:#1e3a5f;--st-invited-fg:#93c5fd;--st-confirmed-bg:#14532d;--st-confirmed-fg:#86efac;--st-declined-bg:#450a0a;--st-declined-fg:#fca5a5;--st-present-bg:#052e16;--st-present-fg:#4ade80;--st-absent-bg:#27272a;--st-absent-fg:#a1a1aa;--ev-draft:#b4c0d3;--ev-planning:#a5b4fc;--ev-preparing:#f59e0b;--ev-ready:#22c55e;--ev-in_progress:#60a5fa;--ev-completed:#10b981;--ev-archived:#b4c0d3;--ev-cancelled:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--color-bg:#f4f8fb;--color-surface:#fff;--color-card:#fff;--color-input:#fff;--color-border:#cbd5e1;--color-primary:#4f46e5;--color-primary-solid:#4f46e5;--color-primary-hover:#4338ca;--color-text:#102033;--color-text-muted:#516174;--color-error:#b91c1c;--color-success:#15803d;--color-warning:#b45309;--color-info:#1d4ed8;--color-warning-text:#92400e;--color-accent-green:#047857;--shadow-card:0 1px 3px #0f172a1f, 0 1px 2px #0f172a14;--st-invited-bg:#dbeafe;--st-invited-fg:#1e40af;--st-confirmed-bg:#dcfce7;--st-confirmed-fg:#166534;--st-declined-bg:#fee2e2;--st-declined-fg:#991b1b;--st-present-bg:#bbf7d0;--st-present-fg:#14532d;--st-absent-bg:#e4e4e7;--st-absent-fg:#3f3f46;--ev-draft:#475569;--ev-planning:#4338ca;--ev-preparing:#b45309;--ev-ready:#15803d;--ev-in_progress:#1d4ed8;--ev-completed:#047857;--ev-archived:#475569;--ev-cancelled:#b91c1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:system-ui,-apple-system,sans-serif}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:400px;padding:2rem}.auth-card h1{color:var(--color-primary);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.auth-card h2{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:1.05rem;font-weight:400}.auth-link{text-align:center;color:var(--color-text-muted);margin-top:1.25rem;font-size:.875rem}.auth-link a{color:var(--color-primary);text-decoration:none}.success-msg{color:var(--color-success);border:1px solid var(--color-success);border-radius:var(--radius);margin-bottom:1rem;padding:.5rem .75rem;font-size:.875rem}.app-layout{flex-direction:column;min-height:100vh;display:flex}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.875rem 1.5rem;display:flex}.brand{color:var(--color-primary);letter-spacing:.05em;font-size:1.25rem;font-weight:700;text-decoration:none}.nav-links{align-items:center;gap:1.25rem;display:flex}.nav-links a{color:var(--color-text-muted);font-size:.9rem;text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--color-text)}.user-email{color:var(--color-text-muted);font-size:.8rem}.main-content{flex:1;width:100%;max-width:1024px;margin:0 auto;padding:2rem 1.5rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page h1,.page-header h1{font-size:1.5rem;font-weight:600}.page h1{margin-bottom:1rem}.page-header h1{margin-bottom:0}.subtitle{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.9rem}.welcome{color:var(--color-text-muted);margin-bottom:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem;display:flex}.stat-value{color:var(--color-primary);font-size:2rem;font-weight:700}.stat-label{color:var(--color-text-muted);font-size:.8rem}.cta-group{flex-wrap:wrap;gap:.75rem;display:flex}.form-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.form-group label{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.form-group input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);outline:none;padding:.625rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.form-group input:focus{border-color:var(--color-primary)}.form-group input::placeholder{color:var(--color-text-muted)}.event-form{max-width:480px}.form-actions{gap:.75rem;margin-top:1.25rem;display:flex}.btn-primary{background:var(--color-primary-solid);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.625rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:500;line-height:1.5;text-decoration:none;transition:background .15s;display:inline-block}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.625rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:500;line-height:1.5;text-decoration:none;transition:border-color .15s,color .15s;display:inline-block}.btn-secondary:hover{border-color:var(--color-text-muted);color:var(--color-text)}.btn-sm{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);white-space:nowrap;background:0 0;padding:.375rem .75rem;font-size:.8rem;text-decoration:none;transition:border-color .15s,color .15s;display:inline-block}.btn-sm:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-logout{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.875rem;transition:color .15s}.btn-logout:hover{color:var(--color-error)}.event-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.event-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.event-meta{color:var(--color-text-muted);margin-top:.2rem;font-size:.8rem;display:block}.plan-result{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.plan-content{white-space:pre-wrap;word-break:break-word;color:var(--color-text-muted);font-family:Menlo,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.65}.loading{color:var(--color-text-muted);text-align:center;padding:2rem 0}.error{color:var(--color-error);margin:.5rem 0;font-size:.875rem}.empty{color:var(--color-text-muted);padding:2rem 0}.empty a{color:var(--color-primary);text-decoration:none}.form-section{border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:none}.section-title{color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.25rem;font-size:.8rem;font-weight:600}.terrain-section .section-title{color:var(--color-accent-green)}.form-row{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.checkbox-group{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.checkbox-item{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.85rem;transition:border-color .15s;display:flex}.checkbox-item:has(input:checked){border-color:var(--color-primary);color:var(--color-text)}.checkbox-item input{width:14px;height:14px;accent-color:var(--color-primary)}.relay-list{flex-direction:column;gap:.5rem;display:flex}.relay-item{align-items:flex-start;gap:.5rem;display:flex}.relay-fields{flex:1;grid-template-columns:1fr 1fr 1fr 1fr;gap:.5rem;display:grid}.relay-fields input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);outline:none;padding:.4rem .6rem;font-family:inherit;font-size:.85rem}.relay-fields input:focus{border-color:var(--color-primary)}.relay-fields input::placeholder{color:var(--color-text-muted)}.btn-remove{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-error);cursor:pointer;background:0 0;flex-shrink:0;padding:.3rem .5rem;font-size:.75rem;transition:background .15s}.btn-remove:hover{background:#ef44441a}.btn-add-relay{border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;background:0 0;width:fit-content;margin-top:.25rem;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;transition:border-color .15s,color .15s}.btn-add-relay:hover{border-color:var(--color-primary);color:var(--color-primary)}.form-select,.form-textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);outline:none;width:100%;padding:.625rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.form-select:focus,.form-textarea:focus{border-color:var(--color-primary)}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.mob-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;margin-left:.5rem;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.badge-fort{color:var(--color-success);background:#22c55e26;border:1px solid #22c55e4d}.badge-moyen{color:var(--color-warning-text);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-faible{color:var(--color-error);background:#ef444426;border:1px solid #ef44444d}.event-name-row{flex-wrap:wrap;align-items:center;display:flex}.event-info{flex-direction:column;display:flex}.diagnostic-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=720px){.diagnostic-grid{grid-template-columns:1fr}.relay-fields{grid-template-columns:1fr 1fr}}.diag-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.card-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:0;font-size:.8rem;font-weight:600}.score-ring{align-items:baseline;gap:.3rem;margin:.5rem 0;display:flex}.score-number{font-size:3rem;font-weight:700;line-height:1}.score-label{color:var(--color-text-muted);font-size:1rem}.terrain-block h3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.risk-list{flex-wrap:wrap;gap:.4rem;list-style:none;display:flex}.risk-item{color:var(--color-error);background:#ef44441a;border:1px solid #ef444440;border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.reco-list{flex-direction:column;gap:.4rem;list-style:none;display:flex}.reco-list li{color:var(--color-text-muted);padding-left:.75rem;font-size:.85rem;position:relative}.reco-list li:before{content:"→";color:var(--color-primary);position:absolute;left:0}.checklist{flex-direction:column;gap:.35rem;list-style:none;display:flex}.checklist-item{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.checklist-item.done{color:var(--color-text)}.checklist-item.todo{color:var(--color-text-muted)}.check-icon{text-align:center;width:1.2rem;font-size:.9rem}.checklist-item.done .check-icon{color:var(--color-success)}.checklist-item.todo .check-icon{color:var(--color-border)}.scores-row{gap:1.5rem;display:flex}.mini-score{flex-direction:column;align-items:center;display:flex}.mini-score span:first-child{font-size:1.75rem;font-weight:700}.mini-score span:last-child{color:var(--color-text-muted);font-size:.75rem}.btn-sm-block{align-self:flex-start;margin-top:.5rem}.btn-pdf{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:.625rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.btn-pdf:hover{background:var(--color-primary-solid);color:#fff}.btn-pdf:disabled{opacity:.55;cursor:not-allowed}:root{--sidebar-w:240px;--bottom-nav-h:60px;--color-warning:#f59e0b;--color-info:#3b82f6;--radius-lg:12px;--shadow-card:0 1px 3px #0000004d, 0 1px 2px #0006;--transition:.15s ease}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-brand{color:var(--color-primary);letter-spacing:.06em;padding:1.25rem 1.25rem .5rem;font-size:1.4rem;font-weight:800;text-decoration:none;display:block}.sidebar-subtitle{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--color-border);padding:0 1.25rem 1.25rem;font-size:.7rem}.sidebar-section{padding:.75rem 0}.sidebar-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);opacity:.6;padding:0 1.25rem .35rem;font-size:.7rem;font-weight:600}.sidebar-link{color:var(--color-text-muted);transition:background var(--transition), color var(--transition);align-items:center;gap:.65rem;padding:.6rem 1.25rem;font-size:.9rem;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{color:var(--color-text);background:#6366f114}.sidebar-link.active{color:var(--color-primary);background:#6366f11f;font-weight:600}.sidebar-link.active:before{content:"";background:var(--color-primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.sidebar-icon{text-align:center;width:1.4rem;font-size:1.1rem}.sidebar-link-sub{color:var(--color-text-muted);opacity:.7;font-size:.72rem}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:.35rem;margin-top:auto;padding:1rem 1.25rem;display:flex}.sidebar-user-email{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.btn-logout-sidebar{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--transition), color var(--transition);text-align:left;background:0 0;padding:.4rem .75rem;font-family:inherit;font-size:.8rem}.btn-logout-sidebar:hover{border-color:var(--color-error);color:var(--color-error)}.shell-main{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-height:100vh;display:flex}.bottom-nav{height:var(--bottom-nav-h);background:var(--color-surface);border-top:1px solid var(--color-border);z-index:200;align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--color-text-muted);transition:color var(--transition);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.25rem 0;font-size:.7rem;text-decoration:none;display:flex}.bottom-nav-item:hover,.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-icon{font-size:1.25rem;line-height:1}.fab{bottom:calc(var(--bottom-nav-h) + 1rem);background:var(--color-primary-solid);color:#fff;cursor:pointer;z-index:201;width:52px;height:52px;transition:background var(--transition), transform var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;text-decoration:none;display:none;position:fixed;right:1rem;box-shadow:0 4px 12px #6366f166}.fab:hover{background:var(--color-primary-hover);transform:scale(1.05)}.toast-container{z-index:1000;flex-direction:column;gap:.5rem;max-width:340px;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;animation:.2s slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-error)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-info)}.toast-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.85rem}.toast-close:hover{color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition);padding:1.25rem}.card:hover{border-color:#6366f159}.stats-grid-4{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.stat-card-v2{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:.25rem;padding:1rem 1.25rem;display:flex}.stat-card-v2 .stat-icon{margin-bottom:.25rem;font-size:1.25rem}.stat-card-v2 .stat-value-v2{color:var(--color-text);font-size:1.75rem;font-weight:700;line-height:1}.stat-card-v2 .stat-label-v2{color:var(--color-text-muted);font-size:.75rem}.events-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.event-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition), transform var(--transition);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.event-card:hover{border-color:#6366f159;transform:translateY(-1px)}.event-card-name{color:var(--color-text);font-size:1rem;font-weight:600;line-height:1.3}.event-card-meta{color:var(--color-text-muted);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.event-card-actions{gap:.5rem;margin-top:auto;display:flex}.stepper{align-items:center;gap:0;margin-bottom:2rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.step-item{flex-shrink:0;align-items:center;display:flex}.step-dot{border:2px solid var(--color-border);width:28px;height:28px;color:var(--color-text-muted);background:var(--color-bg);transition:all var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.step-dot.active{border-color:var(--color-primary-solid);background:var(--color-primary-solid);color:#fff}.step-dot.done{border-color:var(--color-success);background:var(--color-success);color:#fff}.step-label{flex-direction:column;margin-left:.5rem;display:flex}.step-label-text{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.step-label-text.active{color:var(--color-primary)}.step-label-text.done{color:var(--color-success)}.step-connector{background:var(--color-border);flex:1;min-width:1.5rem;max-width:3rem;height:2px;margin:0 .5rem}.step-connector.done{background:var(--color-success)}.wizard-body{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.75rem}.wizard-nav{justify-content:space-between;align-items:center;gap:.75rem;padding-top:1rem;display:flex}.plan-timeline{flex-direction:column;gap:.75rem;display:flex}.plan-phase{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.plan-phase-header{color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;background:#6366f114;padding:.6rem 1rem;font-size:.8rem;font-weight:600}.plan-phase-body{flex-direction:column;gap:.4rem;padding:.75rem 1rem;display:flex}.plan-task{color:var(--color-text);align-items:flex-start;gap:.5rem;font-size:.875rem;display:flex}.plan-task:before{content:"→";color:var(--color-primary);flex-shrink:0;margin-top:.05rem}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.empty-icon{opacity:.4;font-size:3rem}.empty-title{color:var(--color-text);font-size:1.1rem;font-weight:600}.empty-desc{color:var(--color-text-muted);max-width:320px;font-size:.9rem}.help-tip{border-radius:var(--radius);color:var(--color-text-muted);background:#6366f10f;border:1px solid #6366f133;margin-top:.35rem;padding:.6rem .875rem;font-size:.8rem}.score-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.8rem;font-weight:700;display:inline-flex}.score-badge.high{color:var(--color-success);background:#22c55e1f;border:1px solid #22c55e4d}.score-badge.mid{color:var(--color-warning-text);background:#f59e0b1f;border:1px solid #f59e0b4d}.score-badge.low{color:var(--color-error);background:#ef44441f;border:1px solid #ef44444d}.loader-inline{border:2px solid var(--color-border);border-top-color:var(--color-primary);vertical-align:middle;border-radius:50%;width:16px;height:16px;margin-right:.4rem;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{color:var(--color-text-muted);align-items:center;gap:.5rem;padding:1.5rem;font-size:.9rem;display:flex}@media (width<=768px){.sidebar{display:none}.shell-main{padding-bottom:var(--bottom-nav-h);margin-left:0}.bottom-nav,.fab{display:flex}.toast-container{bottom:calc(var(--bottom-nav-h) + .75rem);max-width:100%;left:.75rem;right:.75rem}.stats-grid-4{grid-template-columns:repeat(2,1fr)}.events-grid,.diagnostic-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.stepper{gap:0}.step-label{display:none}.page{padding:1rem}.page-header{flex-wrap:wrap;gap:.5rem}.wizard-body{padding:1.25rem}}@media (width<=480px){.auth-card{padding:1.5rem}.stats-grid-4{grid-template-columns:repeat(2,1fr)}}.guest-stats{grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.guest-stat{background:var(--color-card,#1e293b);text-align:center;border:1px solid var(--color-border,#334155);border-radius:8px;padding:1rem}.guest-stat-value{color:var(--color-primary,#6366f1);font-size:1.5rem;font-weight:700;display:block}.guest-stat-label{color:var(--color-text-muted,#94a3b8);font-size:.75rem}.guest-tabs{border-bottom:1px solid var(--color-border,#334155);gap:.5rem;margin-bottom:1rem;display:flex}.guest-tab{cursor:pointer;color:var(--color-text-muted,#94a3b8);background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:.875rem}.guest-tab.active{color:var(--color-primary,#6366f1);border-bottom-color:var(--color-primary,#6366f1);font-weight:600}.guest-list{flex-direction:column;gap:.75rem;display:flex}.guest-card{background:var(--color-card,#1e293b);border:1px solid var(--color-border,#334155);border-radius:10px;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.guest-card-info{flex:1}.guest-name{font-size:.95rem;font-weight:600}.guest-org,.guest-contact{color:var(--color-text-muted,#94a3b8);font-size:.8rem}.guest-note{color:var(--color-text-muted,#94a3b8);margin-top:.25rem;font-size:.8rem;font-style:italic}.guest-card-badges{flex-direction:column;gap:.25rem;min-width:90px;display:flex}.guest-card-actions{flex-direction:column;gap:.25rem;display:flex}.status-badge,.category-badge{text-align:center;border-radius:9999px;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.status-invited{background:var(--st-invited-bg);color:var(--st-invited-fg)}.status-confirmed{background:var(--st-confirmed-bg);color:var(--st-confirmed-fg)}.status-declined{background:var(--st-declined-bg);color:var(--st-declined-fg)}.status-present{background:var(--st-present-bg);color:var(--st-present-fg)}.status-absent{background:var(--st-absent-bg);color:var(--st-absent-fg)}.category-badge{background:var(--color-border,#334155);color:var(--color-text-muted,#94a3b8)}.guest-form{margin-bottom:1rem}.guest-form h3{margin-bottom:.75rem;font-size:1rem}.form-textarea{border:1px solid var(--color-border,#334155);background:var(--color-input,#0f172a);width:100%;color:var(--color-text,#e2e8f0);resize:vertical;box-sizing:border-box;border-radius:6px;margin-bottom:.5rem;padding:.5rem;font-size:.875rem}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.btn-success{color:#fff;background:#15803d;border-color:#15803d}.btn-danger{color:#fff;background:#b91c1c;border-color:#b91c1c}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-card,#1e293b);border:1px solid var(--color-border,#334155);border-radius:12px;width:90%;max-width:520px;padding:1.5rem}.modal-content h3{margin-bottom:1rem}.modal-actions{gap:.75rem;margin-top:1rem;display:flex}.message-preview{font-family:monospace;font-size:.85rem}.import-card{padding:1.5rem}.import-hint{color:var(--color-text-muted,#94a3b8);margin-bottom:.5rem;font-size:.85rem}.import-example{background:var(--color-input,#0f172a);border-radius:4px;margin-bottom:.75rem;padding:.5rem;font-size:.8rem;display:block}.csv-input{font-family:monospace;font-size:.8rem}.import-actions{gap:.75rem;margin-top:.75rem;display:flex}.import-preview{margin-top:1rem}.import-preview ul{margin-top:.5rem;padding:0;list-style:none}.import-preview li{margin-bottom:.25rem}.import-preview code{background:var(--color-input,#0f172a);border-radius:3px;padding:.2rem .4rem;font-size:.75rem}.guest-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.back-link{color:var(--color-text-muted,#94a3b8);margin-bottom:.25rem;font-size:.85rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-primary,#6366f1)}.form-select,.form-input{border:1px solid var(--color-border,#334155);background:var(--color-input,#0f172a);color:var(--color-text,#e2e8f0);border-radius:6px;padding:.5rem;font-size:.875rem}@media (width<=768px){.guest-stats{grid-template-columns:repeat(3,1fr)}.guest-card{flex-direction:column}.guest-card-actions{flex-flow:wrap}}@media (width<=480px){.guest-stats{grid-template-columns:repeat(2,1fr)}}.link-columns{grid-template-columns:repeat(2,1fr);align-items:start;gap:1rem;display:grid}@media (width<=768px){.link-columns{grid-template-columns:1fr}}.progress-track{background:var(--color-border);border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-fill{background:var(--color-primary-solid);border-radius:999px;height:100%;transition:width .3s}.theme-toggle{background:var(--color-surface);border:1px solid var(--color-border);min-height:40px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:.4rem;padding:6px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.theme-toggle:hover{border-color:var(--color-primary)}.sidebar .theme-toggle{justify-content:flex-start;width:100%;margin-bottom:.5rem}.adv-back{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.85}.btn-danger,.btn-danger:hover{color:#fff}.guest-tabs{scrollbar-width:thin;min-width:0;overflow-x:auto}.guest-tab{white-space:nowrap;flex-shrink:0}.shell-main{min-width:0}.sx{--navy:#10233f;--navy-2:#163b67;--blue:#2563eb;--cyan:#06b6d4;--green:#16a34a;--orange:#f97316;--yellow:#facc15;--purple:#7c3aed;--muted:#475569;--line:#dbeafe;--accent:var(--blue);--accent-soft:#dbeafe;max-width:1100px;color:var(--navy);background:radial-gradient(circle at 15% 0,#06b6d42e,#0000 35%),radial-gradient(circle at 95% 12%,#f9731629,#0000 32%),linear-gradient(#fff 0%,#f6fbff 45%,#eef8ff 100%);min-height:100vh;margin:0 auto;padding:1.25rem clamp(14px,4vw,40px) 7rem}.sx a{color:inherit;text-decoration:none}.sx-prepare{--accent:var(--blue);--accent-soft:#dbeafe}.sx-people{--accent:#c2410c;--accent-soft:#ffedd5}.sx-day{--accent:#15803d;--accent-soft:#dcfce7}.sx-report{--accent:var(--purple);--accent-soft:#ede9fe}.sx-hero{color:#fff;background:linear-gradient(135deg,#10233ff7,#163b67ed),radial-gradient(circle at 90% 25%,#facc1561,#0000 28%);border-radius:28px;padding:clamp(24px,5vw,48px);box-shadow:0 18px 55px #0f233f21}.sx-kicker{background:#ffffff24;border-radius:999px;margin-bottom:14px;padding:8px 14px;font-size:13px;font-weight:800;display:inline-block}.sx-hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(34px,7vw,60px);line-height:1}.sx-hero p{color:#ffffffe6;margin:14px 0 0;font-size:clamp(18px,2.4vw,24px);font-weight:600}.sx-journeys{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.sx-journey{background:#fff;border:1px solid #2563eb1a;border-radius:28px;flex-direction:column;gap:8px;min-height:230px;padding:22px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 55px #0f233f21}.sx-journey:before{content:"";background:radial-gradient(circle at 85% 0%, var(--accent-soft), transparent 55%);pointer-events:none;position:absolute;inset:0}.sx-journey>*{position:relative}.sx-journey:hover,.sx-journey:focus-visible{outline:3px solid var(--accent);transform:translateY(-4px);box-shadow:0 26px 70px #0f233f2e}.sx-big-icon{background:var(--accent-soft);border-radius:22px;place-items:center;width:64px;height:64px;margin-bottom:6px;font-size:34px;display:grid}.sx-journey-title{letter-spacing:-.03em;font-size:25px;font-weight:900;line-height:1.05}.sx-journey-text{color:#334155;font-size:16px;font-weight:600;line-height:1.4}.sx-journey-go{color:var(--accent);margin-top:auto;padding-top:10px;font-weight:900}.sx-center{text-align:center;margin-top:24px}.sx-more{border:2px solid var(--line);min-height:52px;color:var(--navy-2);background:#fff;border-radius:16px;align-items:center;gap:8px;padding:12px 22px;font-weight:800;display:inline-flex}.sx-back{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;min-height:48px;margin-bottom:14px;padding:10px 16px;font-weight:800;display:inline-flex;box-shadow:0 8px 22px #0f233f0f}.sx-title{border:1px solid var(--line);background:#fff;border-radius:28px;padding:clamp(20px,4vw,34px);position:relative;overflow:hidden;box-shadow:0 18px 55px #0f233f1a}.sx-title:after{content:"";background:radial-gradient(circle, var(--accent-soft), transparent 62%);border-radius:50%;width:250px;height:250px;position:absolute;top:-90px;right:-70px}.sx-title>*{z-index:1;position:relative}.sx-eyebrow{color:var(--accent);margin-bottom:8px;font-weight:900}.sx-title h1{letter-spacing:-.04em;margin:0;font-size:clamp(30px,5vw,50px);line-height:1}.sx-title p{color:#334155;max-width:760px;margin:12px 0 0;font-size:18px;font-weight:550;line-height:1.45}.sx-event{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:22px;flex-direction:column;gap:8px;margin:16px 0;padding:18px;font-weight:800;display:flex;box-shadow:0 10px 34px #0f233f12}.sx-event select{width:100%;min-height:52px;color:var(--navy);background:#eff6ff;border:2px solid #bfdbfe;border-radius:16px;padding:12px;font-size:17px;font-weight:800}.sx-helper{color:#7c2d12;background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fed7aa;border-radius:22px;margin:16px 0;padding:16px 18px;font-weight:700;line-height:1.4}.sx-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.sx-action{border:1px solid var(--line);background:#fff;border-radius:24px;flex-direction:column;gap:6px;min-height:168px;padding:20px;transition:transform .16s,box-shadow .16s;display:flex;box-shadow:0 12px 34px #0f233f12}.sx-action:hover,.sx-action:focus-visible{outline:3px solid var(--accent);transform:translateY(-3px);box-shadow:0 18px 50px #0f233f26}.sx-action-icon{background:var(--accent-soft);border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:6px;font-size:26px;display:grid}.sx-action-label{letter-spacing:-.02em;font-size:20px;font-weight:900;line-height:1.15}.sx-action-hint{color:var(--muted);font-weight:560;line-height:1.35}.sx-action-go{color:var(--accent);margin-top:auto;padding-top:8px;font-weight:900}.sx-advanced{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.sx-adv{border:1px solid var(--line);background:#fff;border-radius:20px;flex-direction:column;gap:6px;min-height:100px;padding:18px;display:flex;box-shadow:0 10px 28px #0f233f0f}.sx-adv strong{font-size:18px}.sx-adv span{color:var(--muted);font-size:14px;line-height:1.35}.sx-adv:hover,.sx-adv:focus-visible{outline:3px solid var(--blue)}@media (width<=1100px){.sx-journeys,.sx-actions,.sx-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.sx{padding-top:14px}.sx-journeys,.sx-actions,.sx-advanced{grid-template-columns:1fr}.sx-journey{min-height:190px}.sx-action{min-height:140px}}.sx-shell{background:radial-gradient(circle at 15% 0,#06b6d42e,#0000 35%),radial-gradient(circle at 95% 12%,#f9731629,#0000 32%),linear-gradient(#fff 0%,#f6fbff 45%,#eef8ff 100%);min-height:100vh}.sx-shell .sx{background:0 0;min-height:0}.sx-topbar{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-bottom:1px solid #dbeafe;justify-content:space-between;align-items:center;gap:10px;padding:10px clamp(14px,4vw,40px);display:flex;position:sticky;top:0}.sx-brand{color:#10233f;letter-spacing:-.03em;align-items:center;gap:10px;font-size:22px;font-weight:900;text-decoration:none;display:inline-flex}.sx-brand img{border-radius:9px}.sx-top-actions{align-items:center;gap:8px;display:flex}.sx-top-btn{color:#163b67;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #dbeafe;border-radius:14px;align-items:center;gap:6px;padding:8px 14px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.sx-top-btn:hover,.sx-top-btn:focus-visible{border-color:#2563eb;outline:none}.sx-account{position:relative}.sx-menu{background:#fff;border:1px solid #dbeafe;border-radius:16px;gap:8px;min-width:230px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 50px #0f233f2e}.sx-menu-mail{color:#475569;word-break:break-all;padding:6px 8px;font-size:14px}.sx-menu button{color:#991b1b;min-height:46px;font:inherit;cursor:pointer;background:#fee2e2;border:0;border-radius:12px;font-weight:800}.sx-shell .bottom-nav{display:none}@media (width<=768px){.sx-shell .bottom-nav{display:flex}.sx-top-btn span{display:none}.sx-top-btn{padding:8px 12px}}.adv-back{padding:.6rem 1rem 0;display:flex}.adv-back a{background:var(--color-surface);border:1px solid var(--color-border);min-height:40px;color:var(--color-text);border-radius:10px;align-items:center;padding:6px 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.adv-back a:hover{border-color:var(--color-primary)}.sx-adv-icon{font-size:28px}
