:root{--bg:#1a1a2e;--bg-card:#16213e;--bg-input:#0f3460;--text:#f5f5f5;--text-muted:#b8b8c8;--gold:#d4a574;--green:#4caf50;--green-dk:#388e3c;--orange:#ff9800;--orange-dk:#f57c00;--red:#e53935;--radius:16px;--radius-sm:8px;--shadow:0 4px 24px #0000004d;--transition:.3s ease;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;min-height:100dvh;overflow-x:hidden}html{background-color:#0d0d1a;min-height:100dvh}body:before{content:"";z-index:-1;will-change:transform;background-image:linear-gradient(160deg,#1a1a2e 0%,#16213e 40%,#0f3460 100%);background-size:cover;height:110vh;position:fixed;top:-5vh;left:0;right:0;-webkit-transform:translateZ(0);transform:translateZ(0)}a{color:inherit;text-decoration:none}.noscript-msg{color:#fff;text-align:center;padding:40px}.app{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;padding:0 20px;display:flex}.lang-switcher{justify-content:flex-end;gap:10px;padding:20px 0 16px;display:flex}body>.lang-switcher{padding-left:20px;padding-right:20px}.lang-btn{border-radius:var(--radius);cursor:pointer;opacity:.6;transition:opacity var(--transition), border-color var(--transition), background var(--transition);color:#fff;letter-spacing:.03em;background:#ffffff1a;border:2px solid #fff3;align-items:center;gap:6px;padding:8px 14px;font-size:1.1rem;font-weight:600;display:flex}.lang-btn .flag{vertical-align:middle;border-radius:2px;flex-shrink:0;width:21px;height:14px}.lang-btn:hover{opacity:.9;background:#ffffff26}.lang-btn.active{opacity:1;border-color:var(--gold);background:#ffffff26}.page-welcome .app{justify-content:center;padding-top:40px;padding-bottom:32px}.page-satisfaction .app,.page-problem .app{padding-top:24px}.error-page{text-align:center;padding:0 20px}.error-page-anim{animation:.5s both fadeIn}.error-code{margin-bottom:16px;font-size:4rem}.error-title{color:var(--gold);margin-bottom:8px;font-size:1.4rem}.error-message{color:var(--text-muted);word-wrap:break-word;margin-bottom:32px}.welcome-header{text-align:center;overflow-wrap:break-word;word-wrap:break-word;margin-bottom:48px}.logo{margin-bottom:12px}.logo-img{width:200px;height:auto;margin:0 auto 8px;display:block}.site-name{letter-spacing:.02em;background:var(--title-bg,transparent);text-shadow:0 1px 3px #00000080;border-radius:12px;padding:4px 16px;font-size:1.8rem;font-weight:700}.welcome-text{color:var(--gold);text-shadow:0 1px 3px #00000080;margin-bottom:4px;font-size:1.4rem}.welcome-sub{color:var(--text-muted);text-shadow:0 1px 2px #00000080;font-size:.95rem}.welcome-actions{flex-direction:column;flex:0;gap:16px;display:flex}.action-card{border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);transition:transform var(--transition);cursor:pointer;border:var(--card-border,1px solid transparent);border-left:4px solid #0000;align-items:center;gap:16px;min-height:80px;padding:20px;display:flex}.action-card:active{transform:scale(.97)}.action-satisfaction{border-color:#4caf504d;border-left-color:var(--green)}.action-survey{border-color:#2563eb4d #2563eb4d #2563eb4d #2563eb}.action-info{border-color:#06b6d44d #06b6d44d #06b6d44d #06b6d4}.action-events{border-color:#8b5cf64d #8b5cf64d #8b5cf64d #8b5cf6}.action-problem{border-color:#ff98004d;border-left-color:var(--orange)}.action-icon{background:#ffffff0d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.action-emoji{font-size:36px;line-height:1}.action-text{flex:1}.action-text h2{margin-bottom:2px;font-size:1.05rem;font-weight:600}.action-text p{color:var(--text-muted);font-size:.85rem}.action-arrow{color:var(--text-muted);font-size:1.5rem;font-weight:300}.welcome-footer{text-align:center;color:var(--text-muted);padding:32px 0 24px;font-size:.8rem}.footer-brand-link{color:#ffffff73;letter-spacing:.5px;margin-top:8px;font-size:.7rem;text-decoration:none;display:inline-block}.footer-brand-link:hover{color:var(--gold,#d4a574)}.footer-legal{margin-top:10px;font-size:.7rem}.footer-legal a{color:#ffffff80;text-decoration:none}.footer-legal a:hover{color:var(--gold,#d4a574);text-decoration:underline}.footer-sep{color:#ffffff26;margin:0 4px}.content-card{background:var(--content-bg,#00000059);border-radius:var(--radius);box-shadow:var(--shadow);border:var(--card-border,1px solid #ffffff0f);-webkit-backdrop-filter:blur(6px);padding:24px 20px}.progress-bar{background:var(--bg-card);border-radius:2px;height:4px;margin:16px 0 4px;overflow:hidden}.progress-fill{background:var(--gold);border-radius:2px;height:100%;transition:width .4s}.step-indicator{text-align:center;color:var(--text-muted);margin-bottom:24px;font-size:.8rem}.step{text-align:center;flex-direction:column;align-items:center;padding:16px 0;display:none}.step.active{background:var(--content-bg-sat,var(--content-bg,#00000059));border-radius:var(--radius);box-shadow:var(--shadow);border:var(--card-border,1px solid #ffffff0f);-webkit-backdrop-filter:blur(6px);width:100%;padding:24px 20px;animation:.4s fadeIn;display:flex}.step-title{overflow-wrap:break-word;word-wrap:break-word;max-width:100%;margin-bottom:32px;font-size:1.3rem;font-weight:600;line-height:1.4}.smiley-choices{box-sizing:border-box;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;padding:0 4px;display:flex}.smiley-btn{background:var(--smiley-bg,var(--bg-card));border:var(--card-border,2px solid transparent);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);min-width:0;max-width:140px;box-shadow:var(--shadow);flex-direction:column;flex:1 1 0;align-items:center;gap:10px;padding:16px 8px;display:flex}.smiley-btn:active,.smiley-btn.selected{transform:scale(1.05)}.smiley-btn[data-level=good].selected{border-color:var(--green);background:#4caf5026}.smiley-btn[data-level=neutral].selected{border-color:var(--gold);background:#d4a57426}.smiley-btn[data-level=bad].selected{border-color:var(--red);background:#e5393526}.smiley-emoji{justify-content:center;align-items:center;width:64px;height:64px;font-size:64px;line-height:1;display:flex}.smiley-emoji img{object-fit:contain;width:64px;height:64px;display:block}.action-emoji img{object-fit:contain;width:48px;height:48px;display:block}.smiley-label{color:var(--text-muted);font-size:.85rem}.step-actions{gap:12px;width:100%;margin-top:24px;display:flex}.step-actions .btn{flex:1}.input-text,.input-select{background:var(--bg-input);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font);transition:border-color var(--transition);border:1px solid #ffffff1a;padding:14px 16px;font-size:1rem}.input-text{-webkit-appearance:none;appearance:none}.input-text::placeholder{color:var(--text-muted);opacity:.6}.input-text:focus,.input-select:focus{border-color:var(--gold);outline:none}.input-text:focus-visible,.input-select:focus-visible{outline:2px solid var(--gold);outline-offset:1px}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.input-room{text-align:center;letter-spacing:.1em;max-width:200px;font-size:1.5rem}.char-counter{text-align:right;color:var(--text-muted);opacity:.6;margin-top:4px;font-size:.75rem;display:block}.char-counter.warn{color:var(--orange);opacity:1}.char-counter.limit{color:var(--red);opacity:1}.input-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23a0a0b0' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:40px}.btn{border-radius:var(--radius);font-family:var(--font);cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:14px 24px;font-size:1rem;font-weight:600;display:inline-flex}.btn-next{background:var(--green);color:#fff}.btn-next:active{background:var(--green-dk)}.btn-skip{color:var(--text-muted);background:0 0;border:1px solid #ffffff26}.btn-skip:active{background:#ffffff0d}.btn-warning{background:var(--orange);color:#fff}.btn-warning:active{background:var(--orange-dk)}.btn-outline{border:2px solid var(--gold);color:var(--gold);background:0 0}.btn-outline:active{background:#d4a5741a}.btn-full{width:100%}.btn-loading .spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.page-header{background:var(--content-bg-prob,var(--content-bg,#00000059));border-radius:var(--radius);box-shadow:var(--shadow);border:var(--card-border,1px solid #ffffff0f);-webkit-backdrop-filter:blur(6px);align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex}.back-btn{color:var(--text-muted);align-items:center;gap:4px;font-size:.9rem;display:inline-flex}.back-arrow{font-size:1.4rem}.page-header h1{font-size:1.2rem;font-weight:600}.form{flex-direction:column;gap:20px;padding-bottom:32px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{font-size:.9rem;font-weight:500}.optional{color:var(--text-muted);font-size:.85rem;font-weight:300}.form-container{background:var(--content-bg,#00000059);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow);border:var(--card-border,1px solid #ffffff0f);-webkit-backdrop-filter:blur(6px);margin:0 auto;padding:24px 20px}.btn-text{display:inline}.btn.is-loading .btn-text{display:none}.form-error{color:#ff6b6b;border-radius:var(--radius-sm);text-align:center;background:#e539351f;border:1px solid #e539354d;padding:12px 16px;font-size:.9rem;animation:.3s fadeIn}.photo-upload{flex-direction:column;gap:8px;display:flex}.btn-photo{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);font-family:var(--font);cursor:pointer;background:0 0;border:2px dashed #ffffff26;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:.95rem;display:flex}.btn-photo:active{border-color:var(--gold);color:var(--gold)}.camera-icon{font-size:1.3rem}.photo-preview{border-radius:var(--radius-sm);position:relative;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;max-height:min(200px,30vh)}.btn-remove{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#e53935e6;border:none;padding:6px 12px;font-size:.8rem;position:absolute;top:8px;right:8px}.confirm-overlay{background:var(--bg);z-index:100;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.confirm-overlay.visible{display:flex}.confirm-content{text-align:center;flex-direction:column;align-items:center;padding:40px 20px;display:flex}.confirm-content h2{margin:16px 0 8px;font-size:1.5rem}.confirm-content p{color:var(--text-muted);margin-bottom:24px}.merci-icon{margin-bottom:16px}.check-anim{background:var(--green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:2.5rem;animation:.5s cubic-bezier(.68,-.55,.265,1.55) forwards popIn;display:inline-flex}.merci-title{color:var(--gold)}.merci-msg{color:var(--text-muted);margin-bottom:24px}.merci-actions{text-align:left;flex-direction:column;gap:10px;width:100%;max-width:480px;margin-bottom:24px;display:flex}.merci-actions .action-card{min-height:64px;padding:14px 16px}.merci-actions .action-icon{width:44px;height:44px}.merci-actions .action-emoji{font-size:28px}.merci-actions .action-text h2{font-size:.95rem}.merci-actions .action-text p{font-size:.8rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.upload-overlay{z-index:9999;backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.upload-overlay-box{text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:24px 32px;display:flex;box-shadow:0 8px 32px #00000040}.upload-overlay-spinner{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.upload-overlay-text{color:#1a1a2e;font-size:.9rem;font-weight:500}.page-welcome .welcome-header{animation:.5s both fadeIn}.page-welcome .action-satisfaction{animation:.5s .1s both fadeIn}.page-welcome .action-survey{animation:.5s .2s both fadeIn}.page-welcome .action-info{animation:.5s .22s both fadeIn}.page-welcome .action-events{animation:.5s .25s both fadeIn}.page-welcome .action-problem{animation:.5s .3s both fadeIn}.page-home .app-home{justify-content:flex-start;max-width:720px;padding-top:24px;padding-bottom:32px}.home-header{text-align:center;margin-bottom:32px}.home-header .logo-img{border-radius:12px;width:100%;max-width:260px;height:auto;margin:0 auto 12px;display:block}.home-title{color:var(--gold);text-shadow:0 1px 3px #00000080;margin-bottom:4px;font-size:1.5rem;font-weight:700}.home-sub{color:var(--text-muted);overflow-wrap:break-word;word-wrap:break-word;text-shadow:0 1px 2px #00000080;font-size:.9rem}.home-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.home-search-input{min-width:140px;color:var(--text);background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;flex:1;padding:8px 12px;font-size:.85rem}.home-search-input::placeholder{color:var(--text-muted)}.home-search-input:focus{border-color:var(--gold);outline:none}.home-type-select{color:var(--text);background:#1a1a2e;border:1px solid #ffffff26;border-radius:8px;padding:8px 12px;font-size:.85rem}.home-type-select option{color:var(--text);background:#1a1a2e}.home-type-select:focus{border-color:var(--gold);outline:none}.view-toggle{gap:4px;display:flex}.view-btn{cursor:pointer;color:var(--text-muted);transition:background var(--transition), color var(--transition);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;align-items:center;padding:6px 8px;display:flex}.view-btn:hover{background:#ffffff1a}.view-btn.active{color:var(--gold);background:#d4a57426;border-color:#d4a5744d}.view-btn svg{fill:currentColor;width:18px;height:18px}.sites-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.sites-grid.view-list{grid-template-columns:1fr;gap:8px}.site-tile{border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);transition:transform var(--transition), box-shadow var(--transition);cursor:pointer;border:1px solid #ffffff0f;animation:.4s both fadeIn;display:block;overflow:hidden}.site-tile:active{transform:scale(.97)}.site-tile{position:relative}.site-tile-type{z-index:2;color:#ffffffe6;backdrop-filter:blur(4px);pointer-events:none;white-space:nowrap;background:#0000008c;border-radius:12px;padding:2px 8px;font-size:.7rem;line-height:1.4;position:absolute;top:8px;right:8px}.site-tile-has-logo{position:relative}.site-tile-img{aspect-ratio:4/3;background:#ffffff08;justify-content:center;align-items:center;width:100%;display:flex}.site-tile-logo{object-fit:contain;filter:drop-shadow(0 2px 12px #0006);border-radius:8px;max-width:65%;max-height:65%}.site-tile-has-logo .site-tile-content{background:linear-gradient(#0000,#000000bf);padding:32px 14px 12px;position:absolute;bottom:0;left:0;right:0}.site-tile-has-logo .site-tile-name{text-shadow:0 1px 4px #00000080;font-size:1.15rem;font-weight:700}.site-tile-has-logo .badge-green{background:#4caf5059}.site-tile-has-logo .badge-orange{background:#ff980059}.site-tile-has-logo .badge-blue{background:#3b82f659}.site-tile-has-logo .badge-purple{background:#a855f759}.site-tile-has-logo .badge-indigo{background:#6366f159}.site-tile-fav{display:none}.site-tile:not(.site-tile-has-logo) .site-tile-content{align-items:center;gap:16px;padding:18px 16px;display:flex}.site-tile-icon{background:#ffffff0d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:32px;display:flex}.site-tile-icon img{object-fit:contain;border-radius:8px;width:100%;height:100%}.site-tile-info{flex:1;min-width:0}.site-tile-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:1.05rem;font-weight:600;overflow:hidden}.site-tile-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:.8rem;display:-webkit-box;overflow:hidden}.site-tile-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:10px;padding:2px 8px;font-size:.65rem;font-weight:600;display:inline-block}.badge-green{color:var(--green);background:#4caf5033}.badge-orange{color:var(--orange);background:#ff980033}.badge-blue{color:#2563eb;background:#2563eb33}.badge-purple{color:#06b6d4;background:#06b6d433}.badge-indigo{color:#8b5cf6;background:#8b5cf633}.view-list .site-tile{align-items:stretch;display:flex}.view-list .site-tile-has-logo{position:static}.view-list .site-tile-img{display:none}.view-list .site-tile-fav{background:#ffffff0d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;margin:auto 0 auto 16px;display:flex}.view-list .site-tile-fav img{object-fit:contain;width:36px;height:36px}.view-list .site-tile-has-logo .site-tile-content{background:0 0;padding:12px 16px;position:static}.view-list .site-tile-content{flex:1;align-items:center;gap:12px;padding:12px 16px;display:flex}.view-list .site-tile-has-logo .site-tile-name{text-shadow:none;font-size:1.05rem;font-weight:600}.view-list .site-tile-has-logo .badge-green{background:#4caf5033}.view-list .site-tile-has-logo .badge-orange{background:#ff980033}.view-list .site-tile-has-logo .badge-blue{background:#3b82f633}.view-list .site-tile-has-logo .badge-purple{background:#a855f733}.view-list .site-tile-has-logo .badge-indigo{background:#6366f133}.view-list .site-tile-icon{width:44px;height:44px;font-size:26px}.sites-loading{justify-content:center;padding:48px 0;display:flex}.sites-loading .spinner{border:3px solid #ffffff26;border-top-color:var(--gold);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin;display:inline-block}.sites-empty,.sites-error{text-align:center;color:var(--text-muted);padding:48px 20px;font-size:.95rem}.ap-banner{border-radius:var(--radius);color:#93c5fd;background:#3b82f626;border:1px solid #3b82f64d;align-items:center;gap:10px;margin-bottom:16px;padding:10px 16px;font-size:.9rem;animation:.4s both fadeIn;display:flex}.ap-banner-recovery{color:#86efac;background:#22c55e26;border-color:#22c55e4d}.ap-banner-icon{font-size:1.2em}.ap-countdown{font-weight:600}@media (width>=420px){.smiley-emoji{width:80px;height:80px;font-size:80px}.smiley-emoji img{width:80px;height:80px}.smiley-btn{max-width:150px;padding:20px 16px}.smiley-choices{gap:16px}}@media (width>=600px){.app{max-width:540px;padding:0 32px}.app-home{max-width:720px}.smiley-emoji{width:96px;height:96px;font-size:96px}.smiley-emoji img{width:96px;height:96px}.smiley-btn{max-width:160px;padding:28px 32px}.smiley-choices{gap:20px}.logo-img{width:240px}.action-emoji{font-size:48px}.sites-grid{gap:16px}}@media (width>=768px) and (height>=500px){.page-welcome .app{grid-template:"lang lang""header actions"1fr"footer footer"/260px 1fr;column-gap:36px;max-width:960px;padding-top:16px;padding-bottom:16px;display:grid}.page-welcome .lang-switcher{grid-area:lang}.page-welcome .welcome-header{text-align:center;flex-direction:column;grid-area:header;justify-content:center;align-items:center;margin-bottom:0;display:flex}.page-welcome .welcome-actions{flex-direction:column;grid-area:actions;justify-content:center;gap:10px;display:flex}.page-welcome .welcome-footer{grid-area:footer;padding:12px 0 4px}.page-welcome .logo-img{width:180px}.page-welcome .action-card{min-height:60px;padding:14px 20px}.page-welcome .action-emoji{font-size:28px}.page-welcome .action-icon{border-radius:10px;width:44px;height:44px}.app-home{max-width:900px}.smiley-btn{max-width:180px}.smiley-emoji{width:104px;height:104px;font-size:104px}.smiley-emoji img{width:104px;height:104px}.survey-container{max-width:600px}}@media (hover:hover){.action-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0006}.site-tile:hover{border-color:#d4a57433;transform:translateY(-2px);box-shadow:0 8px 32px #0006}.smiley-btn:hover{transform:scale(1.05)}.btn-next:hover{background:var(--green-dk)}.btn-warning:hover{background:var(--orange-dk)}.btn-skip:hover{background:#ffffff14}.btn-outline:hover{background:#d4a5741a}.btn-photo:hover{border-color:var(--gold);color:var(--gold)}.share-btn:hover{opacity:.85}.btn-prev:hover{background:#ffffff40}}@supports (padding:env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}.survey-container{flex-direction:column;max-width:540px;min-height:100vh;margin:0 auto;padding:20px 16px;display:flex}.survey-loading{color:#ffffff80;text-align:center;padding-top:40px}.survey-error{color:#ef4444;text-align:center;padding-top:40px}.survey-event-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.survey-event-icon-sm{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.survey-event-row{align-items:center;gap:10px;display:flex}.survey-event-row-header{justify-content:space-between;align-items:baseline}.survey-event-date{color:#ffffff80;font-size:.8rem}.survey-event-date-sm{white-space:nowrap;font-size:.75rem}.event-row-clickable{cursor:pointer}.flex-fill{flex:1;min-width:0}.survey-event-title{margin:0 0 2px;font-size:.95rem}#survey-events-list{margin-bottom:16px}.survey-detail-title{color:#fff;font-size:.9rem}.survey-detail-date{color:#ffffffb3;font-size:.85rem}.survey-event-arrow{color:#ffffff4d;font-size:1.1rem}.survey-el-link a{color:#60a5fa;font-size:.95rem;text-decoration:underline}.survey-event-detail{cursor:pointer;background:#ffffff1a;border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 14px;display:flex}.btn-submit.btn-close-survey{background:#6b7280}.share-bar-popup{border-top:1px solid #ffffff1a;margin-top:12px;padding-top:12px}.survey-toast{top:max(20px, env(safe-area-inset-top));z-index:9999;color:#fff;text-align:center;background:#ef4444;border-radius:10px;max-width:90%;padding:12px 24px;font-size:.9rem;transition:opacity .4s;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000004d}#survey-app{transition:opacity .15s}.survey-loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 0;display:flex}.survey-loading p{color:#fff9;margin:0;font-size:.9rem}.survey-spinner{border:3px solid #ffffff26;border-top-color:#ffffffb3;border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin}.survey-header{text-align:center;background:var(--content-bg-survey,var(--content-bg,#00000059));border-radius:var(--radius);box-shadow:var(--shadow);border:var(--card-border,1px solid #ffffff0f);-webkit-backdrop-filter:blur(6px);margin-bottom:8px;padding:16px 20px 12px}.survey-header h1{color:var(--text,#fff);margin:0 0 4px;font-size:1.3rem}.survey-header p{color:#ffffffb3;margin:0;font-size:.9rem}.survey-back{color:#ffffffb3;align-items:center;gap:6px;margin-bottom:8px;font-size:.9rem;text-decoration:none;display:inline-flex}.survey-back:hover{color:#fff}.survey-progress{justify-content:center;gap:6px;margin:12px 0 20px;display:flex}.survey-dot{background:#fff3;border-radius:50%;width:10px;height:10px;transition:background .3s}.survey-dot.active{background:#fff}.survey-dot.done{background:#ffffff80}.survey-page{background:var(--content-bg,transparent);border:var(--card-border,none);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;flex:1;gap:16px;padding:16px;display:flex}.survey-page[hidden]{display:none}.survey-el-title{color:var(--text,#fff);text-align:center;font-size:1.2rem;font-weight:700}.survey-el-text{color:var(--text-muted,#ffffffd9);font-size:.95rem;line-height:1.6}.survey-el-image{text-align:center}.survey-el-image img{object-fit:cover;border-radius:12px;max-width:100%;max-height:250px}.survey-el-image a{display:block}.survey-el-image a img{width:100%;max-height:250px;display:block}.survey-el-map{background:var(--content-bg,#00000040);border-radius:var(--radius);border:1px solid #ffffff1f;padding:16px}.survey-el-map .map-label{margin-bottom:4px;font-weight:700}.survey-el-map .map-address{opacity:.9;align-items:flex-start;gap:6px;margin-bottom:12px;font-size:.95rem;display:flex}.survey-el-map .map-open-btn{background:var(--accent,#3b82f6);color:#fff;border-radius:6px;padding:8px 16px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.survey-el-map .map-open-btn:hover{opacity:.85}.survey-el-video{text-align:center}.video-responsive{border-radius:12px;max-width:100%;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.video-responsive.video-vertical{max-width:360px;margin:0 auto;padding-bottom:177.78%}.video-responsive iframe{border:0;border-radius:12px;width:100%;height:100%;position:absolute;top:0;left:0}.survey-el-stars{text-align:center}.survey-el-stars label{color:#fffc;margin-bottom:8px;font-size:.9rem;display:block}.star-rating{flex-direction:row-reverse;gap:6px;display:inline-flex}.star-rating input{display:none}.star-rating span{color:#ffffff40;cursor:pointer;font-size:2rem;transition:color .2s}.star-rating input:checked~span,.star-rating span:hover,.star-rating span:hover~span{color:#f59e0b}.survey-el-user-text label{color:#fffc;margin-bottom:6px;font-size:.9rem;display:block}.survey-el-user-text input,.survey-el-user-text textarea{color:#fff;box-sizing:border-box;resize:vertical;background:#ffffff1f;border:none;border-radius:10px;width:100%;padding:12px;font-family:inherit;font-size:.95rem}.survey-el-user-text textarea{min-height:80px}.survey-el-user-text input::placeholder,.survey-el-user-text textarea::placeholder{color:#fff6}.survey-nav{gap:10px;margin-top:auto;padding-top:20px;display:flex}.survey-nav button{cursor:pointer;border:none;border-radius:12px;flex:1;padding:14px;font-size:1rem;font-weight:600;transition:opacity .2s}.survey-nav button:active{opacity:.8}.btn-prev{color:#fff;background:#ffffff26}.survey-nav .btn-next{color:#fff;background:#2563eb}.btn-submit{color:#fff;background:#10b981}.survey-thankyou{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.survey-thankyou[hidden]{display:none}.survey-thankyou .check{font-size:4rem}.survey-thankyou h2{color:#fff;margin:0;font-size:1.4rem}.survey-thankyou p{color:#ffffffb3;margin:0;font-size:1rem}.survey-thankyou a{color:#fff;background:#ffffff26;border-radius:12px;margin-top:8px;padding:12px 24px;text-decoration:none}.share-bar{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 16px;display:flex}.share-btn{cursor:pointer;color:#fff;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.share-btn:active{opacity:.7}.share-btn-native{background:#fff3}.share-btn-wa{background:#25d366}.share-btn-fb{background:#1877f2}.share-btn-x{background:#000}.share-btn-email{background:#6b7280}.share-btn-copy{background:#ffffff26}.share-btn svg{fill:currentColor;width:16px;height:16px}.btn-add-cal:hover{background:#ffffff40!important}.share-bar-survey{border-top:1px solid #ffffff1a;margin-top:12px;padding-top:12px}.share-bar-survey .share-bar{margin:0}.share-bar-survey .share-btn{padding:6px 10px;font-size:.7rem}.share-toast{bottom:max(24px, env(safe-area-inset-bottom));color:#fff;z-index:9999;background:#10b981;border-radius:10px;padding:10px 20px;font-size:.9rem;animation:.3s fadeIn;position:fixed;left:50%;transform:translate(-50%)}.survey-list{flex-direction:column;flex:1;gap:12px;padding-top:8px;display:flex}.survey-card{background:var(--bg-card,#ffffff1a);color:#fff;border:var(--card-border,none);box-shadow:var(--shadow);border-radius:12px;padding:16px;text-decoration:none;transition:background .2s;display:block}.survey-card:hover{background:#ffffff2e}.survey-card h3{margin:0 0 4px;font-size:1rem}.survey-card p{color:#fff9;margin:0;font-size:.85rem}.event-popup-overlay{z-index:1000;overscroll-behavior:contain;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.event-popup{background:#1e293b;border-radius:16px;width:100%;max-width:min(380px,100vw - 40px);padding:24px;animation:.25s popInSoft;position:relative}.event-popup-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 12px;font-size:1.2rem;display:flex;position:absolute;top:8px;right:8px}.event-popup-close:hover{color:#fff}.event-popup-color{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:12px;font-size:1.2rem;display:flex}.event-popup h3{color:#fff;margin:0 0 4px;font-size:1.15rem}.event-popup .event-popup-fiche{color:#ffffff73;margin:0 0 12px;font-size:.8rem}.event-popup .event-popup-dates{background:#ffffff14;border-radius:10px;margin-bottom:12px;padding:12px}.event-popup .event-popup-dates svg{flex-shrink:0}.event-popup .event-popup-date-row{color:#fffc;align-items:center;gap:8px;font-size:.9rem;display:flex}.event-popup .event-popup-date-row+.event-popup-date-row{margin-top:6px}.event-popup .event-popup-notes{color:#fff9;white-space:pre-wrap;margin-bottom:12px;font-size:.85rem;line-height:1.5}.event-popup .event-popup-actions{gap:8px;display:flex}.event-popup .event-popup-actions a,.event-popup .event-popup-actions button{cursor:pointer;color:#fff;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:.85rem;font-weight:600;text-decoration:none;display:flex}.btn-popup-cal{background:#3b82f6}.cal-dropdown{flex:1;position:relative}.cal-dropdown-toggle{width:100%}.cal-chevron{margin-left:4px;transition:transform .2s}.cal-dropdown-active .cal-chevron{transform:rotate(180deg)}.cal-dropdown-menu{z-index:10;background:#1e293b;border-radius:10px;display:none;position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 8px 24px #0006}.cal-dropdown-menu.cal-dropdown-open{animation:.15s ease-out popInSoft;display:block}.cal-dropdown-item{color:#fff;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:11px 14px;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.cal-dropdown-item:hover{background:#ffffff1a}.cal-dropdown-item+.cal-dropdown-item{border-top:1px solid #ffffff14}@keyframes popInSoft{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.event-row{cursor:pointer;transition:background .2s}.event-row:hover{background:#ffffff2e!important}[data-anim=none] *,[data-anim=none] :before,[data-anim=none] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes smileyPop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1.05)}}@keyframes checkDraw{0%{opacity:0;transform:scale(0)rotate(-45deg)}60%{opacity:1;transform:scale(1.2)rotate(5deg)}to{transform:scale(1)rotate(0)}}@keyframes btnPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.step-slide-right{animation:.35s cubic-bezier(.4,0,.2,1) slideInRight}.step-slide-left{animation:.35s cubic-bezier(.4,0,.2,1) slideInLeft}.smiley-pop{animation:.4s cubic-bezier(.68,-.55,.265,1.55) smileyPop}[data-anim=dynamic] .check-anim{animation:.6s cubic-bezier(.4,0,.2,1) forwards checkDraw}[data-anim=subtle] .smiley-btn:active{transition:transform .15s;transform:scale(1.08)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}15%{transform:rotate(-5deg)}30%{transform:rotate(4deg)}45%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}}@keyframes floatUp{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes confettiPop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-anim=playful] .page-welcome .welcome-header{animation:.6s cubic-bezier(.68,-.55,.265,1.55) both bounceIn}[data-anim=playful] .page-welcome .action-satisfaction{animation:.5s .1s both floatUp}[data-anim=playful] .page-welcome .action-survey{animation:.5s .2s both floatUp}[data-anim=playful] .page-welcome .action-info{animation:.5s .3s both floatUp}[data-anim=playful] .page-welcome .action-events{animation:.5s .35s both floatUp}[data-anim=playful] .page-welcome .action-problem{animation:.5s .4s both floatUp}[data-anim=playful] .smiley-btn:hover{animation:.5s wiggle}[data-anim=playful] .smiley-pop{animation:.5s cubic-bezier(.68,-.55,.265,1.55) confettiPop}[data-anim=playful] .check-anim{animation:.7s cubic-bezier(.68,-.55,.265,1.55) forwards bounceIn}[data-anim=playful] .step.active{animation:.4s both slideUp}[data-anim=playful] .welcome-logo img{animation:3s ease-in-out infinite gentleFloat}[data-anim=playful] .step-slide-right,[data-anim=playful] .step-slide-left{animation:.4s cubic-bezier(.4,0,.2,1) floatUp}.btn.is-submitting{pointer-events:none;opacity:.8;animation:.8s ease-in-out infinite btnPulse}.drag-over{border-radius:12px;border:2px dashed var(--gold)!important;background:#d4a57414!important}.skeleton{background:#ffffff0f;border-radius:8px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff0a 50%,#0000 100%);animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}[data-anim=none] .skeleton:after{animation:none}.skeleton-tile{border-radius:12px;height:160px}.skeleton-text{border-radius:4px;height:1em;margin-bottom:8px}.skeleton-card{border-radius:12px;height:80px;margin-bottom:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pin-overlay{z-index:9999;background:var(--bg,#1a1a2e);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.pin-box{text-align:center;background:var(--content-bg,transparent);border:var(--card-border,none);width:100%;max-width:300px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:24px 20px;display:flex}.pin-logo{object-fit:contain;max-width:120px;max-height:60px;margin-bottom:12px}.pin-site-name{color:var(--text,#f5f5f5);margin:0 0 4px;font-size:1.1rem}.pin-label{color:var(--text-muted,#b8b8c8);margin:0 0 16px;font-size:.9rem}.pin-dots{justify-content:center;gap:8px;min-height:20px;margin-bottom:16px;display:flex}.pin-dot{border:2px solid var(--gold,#d4a574);border-radius:50%;width:14px;height:14px;transition:background .15s}.pin-dot.filled{background:var(--gold,#d4a574)}.pin-pad{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:240px;margin:0 auto 12px;display:grid}.pin-key{aspect-ratio:1;border:var(--card-border,2px solid #fff3);background:var(--bg-card,#ffffff1a);width:100%;box-shadow:var(--shadow,none);color:var(--text,#f5f5f5);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:14px;font-size:1.4rem;font-weight:600;transition:background .15s,transform .1s}.pin-key:active{background:var(--gold,#d4a574);color:#fff;transform:scale(.93)}.pin-key-action{aspect-ratio:auto;letter-spacing:1px;padding:12px 0;font-size:1rem}.pin-key-ok{background:var(--gold,#d4a574);color:#fff;border-color:var(--gold,#d4a574)}.pin-error{color:#ef4444;min-height:1.2em;margin-top:8px;font-size:.85rem}.pin-dot{border-color:var(--text-muted,#b8b8c8)}.pin-dot.filled{background:var(--gold,#d4a574);border-color:var(--gold,#d4a574)}