/* Final shared finish: authentication, forms, tracking and operations. */
.login{min-height:100dvh;background:#f5f7f3}.login-story{background:#092e26;color:#fff;padding:clamp(28px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.login-story .brand{color:white}.login-story h1{font-size:clamp(34px,4vw,58px);letter-spacing:-1.8px;line-height:1.08}.login-story p{color:#ceded3;max-width:400px;line-height:1.7}.login-form{padding:40px 28px;display:flex;align-items:center;justify-content:center}.login-form form{width:100%;max-width:420px;background:#fff;padding:32px;border:1px solid #dfe7df;border-radius:18px;box-shadow:0 12px 40px #092e2608}.login-form h2{font-size:28px;letter-spacing:-.8px;line-height:1.2}.login-form .eyebrow{color:#63816d}.login-form input{min-height:48px}.login-form .login-agenda,.login-agenda{color:#c8e99c}.login-form form>button{min-height:48px;margin-top:12px}.signup-page{max-width:none!important;padding:0!important;background:#f5f7f3;min-height:100dvh}.signup-page .signup-navigation{padding:20px max(24px,calc((100% - 1120px)/2));background:#092e26;color:white;display:flex;justify-content:space-between;gap:20px;align-items:center}.signup-navigation a{color:inherit;text-decoration:none}.signup-navigation nav{display:flex;gap:22px;font-size:14px}.signup-page>.card{max-width:540px;margin:40px auto;padding:32px;border-radius:18px;border:1px solid #dfe7df;background:white}.signup-page h1{font-size:30px;letter-spacing:-.9px}.signup-page #signup{display:grid;gap:14px}.signup-page #signup>button{min-height:48px}.signup-page .note{font-size:12px;background:#f2f6ed}.signup-page .card>p{color:#627569}
#modal{border:1px solid #dfe7df;border-radius:18px;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 70px #092e2626;padding:26px}#modal::backdrop{background:#062a2266;backdrop-filter:blur(3px)}#modal .dialog-title{align-items:flex-start;gap:20px;border-bottom:1px solid #e2e9e1;padding-bottom:18px;margin-bottom:20px}#modal .dialog-title h2{font-size:24px;line-height:1.25;letter-spacing:-.5px;overflow-wrap:anywhere}#modal .dialog-title>button{flex:0 0 36px;width:36px;height:36px;padding:0;background:#f1f5ef;color:#124b39;border:0;border-radius:50%}#modal .actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:24px}#modal .actions>button{width:auto;min-width:110px;min-height:44px}#modal .form-grid>*{min-width:0}#modal :is(input,select,textarea){max-width:100%;box-sizing:border-box}#modal .form-grid label{line-height:1.4}#modal .form-grid small{font-size:12px;color:#627569;line-height:1.5}.group-tracking .organized-list-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f1f6ec;border-radius:12px;padding:18px 10px;gap:8px;margin:0 0 24px}.group-tracking .organized-list-stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px;gap:8px}.reward-review h3,.tracking-guests h3{margin:24px 0 10px;font-size:19px}.reward-review-grid{display:grid;gap:12px;margin-top:16px}.reward-review-grid article{padding:18px;border:1px solid #dfe7df;border-radius:12px;background:#fff}.reward-review-grid header{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.reward-review-grid header>span{white-space:nowrap;color:#627569;font-size:13px}.reward-review progress{width:100%;height:7px;accent-color:#578c49;border:0;border-radius:10px;overflow:hidden;margin:14px 0 6px}.reward-review progress::-webkit-progress-bar{background:#edf3e8}.reward-review progress::-webkit-progress-value{background:#578c49}.reward-review-grid p{font-size:13px;margin:0;color:#527461}.tracking-guests ul{list-style:none;padding:0;margin:0}.tracking-guests li{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #e4eae2;padding:12px 0}.tracking-guests .badge{white-space:normal;text-align:center;font-size:11px}.ticket-code-details{max-width:420px;margin:20px auto;text-align:left;border-top:1px solid #dfe7df;padding-top:12px}.ticket-code-details summary{cursor:pointer;color:#527461;font-size:13px}.ticket-code-details code{display:block;overflow-wrap:anywhere;white-space:normal;margin:14px 0}.ticket-page .public-access-qr{border-radius:16px;background:#f1f6ec;padding:24px}.ticket-page .public-access-qr img{max-width:100%;height:auto}.ticket-page .ticket-footer-nav{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.registration-panel .registration-actions{display:grid;grid-template-columns:1fr auto;gap:12px}.registration-panel .registration-actions>button{min-height:48px}.registration-invitation{padding:12px 16px;border-left:3px solid #badb93;background:#f1f6ec}.request-confirmation-card{border:1px solid #dfe7df;border-radius:18px}.account-shell{max-width:640px;margin:32px auto;padding:20px}.account-shell .panel{border-radius:16px}.account-shell form{display:grid;gap:14px}
.house-shell .panel,.platform-shell .panel{border:1px solid #dfe7df;border-radius:14px;box-shadow:none}.house-shell .panel-head,.platform-shell .panel-head{gap:16px;flex-wrap:wrap}.house-shell .page-head,.platform-shell .page-head{gap:20px}.house-shell .toolbar,.platform-shell .toolbar{gap:8px;flex-wrap:wrap}.house-shell .toolbar :is(button,a),.platform-shell .toolbar :is(button,a){min-height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:normal}.house-shell .table-wrap,.platform-shell .table-wrap{overflow-x:auto;scrollbar-width:thin}.house-shell table,.platform-shell table{font-size:13px}.house-shell th,.platform-shell th{font-size:11px;letter-spacing:.4px;color:#63796a;background:#f5f7f2}.house-shell td,.platform-shell td{padding-block:16px}.house-shell .stat,.platform-shell .metric{border-radius:12px;border-color:#dfe7df}.scan-box{border:1px solid #dce6dd;border-radius:16px;background:#f1f6ed;padding:24px}.scan-box h2{font-size:22px}.scan-box #scan-form{border-top:1px solid #dce6dd;padding-top:16px;margin-top:20px}.scan-box #scan-form>button{margin-top:12px;min-height:48px}.door-lookup .panel-head>div{width:100%}.door-lookup input{min-height:48px;width:100%}.result{border-radius:12px;padding:20px;line-height:1.7}.manual-entry-summary{display:grid;grid-template-columns:1fr 2fr;gap:12px}.manual-entry-summary dd{margin:0;font-weight:600}.manual-entry-summary dt{color:#627569}
@media(max-width:720px){.login{display:flex;flex-direction:column}.login-story{padding:24px}.login-story h1{font-size:32px;margin:20px 0 10px}.login-story p{font-size:14px;line-height:1.5;margin-bottom:0}.login-story .brand small{display:none}.login-form{padding:24px 20px}.login-form form{padding:24px;max-width:480px}.signup-page>.card{margin:24px 16px;padding:24px}.signup-page .signup-navigation{padding:18px 20px}.signup-navigation nav{gap:12px;font-size:12px}#modal{max-width:calc(100vw - 24px);width:calc(100vw - 24px);padding:20px;box-sizing:border-box}#modal .dialog-title h2{font-size:21px}.group-tracking .organized-list-stats span{font-size:11px}.tracking-guests li{align-items:flex-start}.registration-panel .registration-actions{grid-template-columns:1fr}.house-shell .page-head,.platform-shell .page-head{align-items:stretch;flex-direction:column}.house-shell .topbar,.platform-shell .topbar{gap:10px;padding:12px 16px}.platform-shell .topbar .profile>span:not(.avatar){display:none}.house-shell .content,.platform-shell .content{padding:20px 16px}.house-shell .scanner-layout{grid-template-columns:1fr}.house-shell .panel-head input,.platform-shell .panel-head input{max-width:100%!important}.house-shell .toolbar,.platform-shell .toolbar{width:100%}.house-shell .toolbar>button,.platform-shell .toolbar>button{flex:1 1 auto}.ticket-page .ticket{padding:20px}.ticket-page .ticket-footer-nav{flex-direction:column}.ticket-page .public-access-qr{padding:18px}.request-confirmation .confirmation-header nav{gap:12px;flex-wrap:wrap}.reward-review-grid header{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

/* Acompanhamento: um painel próprio, com cabeçalho e rodapé persistentes. */
#modal:has(.group-tracking){width:min(720px,calc(100vw - 32px));max-width:720px;padding:0;border:0;border-radius:22px;background:#fff;color:#123c31}
#modal:has(.group-tracking) .tracking-heading{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;gap:20px;padding:26px 28px 22px;background:#fff;border-bottom:1px solid #e4ebe4}
.tracking-heading>div{min-width:0;flex:1}.tracking-heading .account-kicker{font-size:10px;letter-spacing:1.6px;color:#648171}.tracking-heading h2{margin:8px 0!important;font-size:25px;line-height:1.2;letter-spacing:-.7px;overflow-wrap:anywhere}.tracking-heading p{margin:0;color:#6a7e72;font-size:13px;line-height:1.5}
#modal .tracking-close{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#eef3eb;color:#154d3b;font-size:24px;line-height:1}
#modal .group-tracking{padding:24px 28px 28px;background:#fafcf8}
#modal .group-tracking .organized-list-stats{margin:0 0 26px;background:#124b39;color:#fff;padding:20px 8px;border-radius:14px}
#modal .group-tracking .organized-list-stats>div+div{border-left:1px solid #ffffff26}
#modal .group-tracking .organized-list-stats strong{font-size:28px;line-height:1;color:#d0eca9}
#modal .group-tracking .organized-list-stats span{color:#e0ebe2;font-size:12px}
#modal .group-tracking .reward-review h3{margin:0 0 8px;font-size:19px}
#modal .group-tracking .reward-review>p{font-size:12px;margin:0 0 6px}
#modal .group-tracking .reward-review>small{font-size:12px;color:#6a7e72}
#modal .group-tracking .reward-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#modal .group-tracking .reward-review-grid article{padding:18px;box-shadow:0 3px 10px #173c2604}
#modal .group-tracking .reward-review-grid header{flex-direction:column;gap:8px;font-size:14px;line-height:1.4}
#modal .group-tracking .reward-review-grid header span{font-size:12px;color:#6a7e72;font-variant-numeric:tabular-nums}
#modal .group-tracking .reward-review-grid progress{height:7px;margin:14px 0 12px}
#modal .group-tracking .reward-review-grid p{font-size:12px;line-height:1.6}
#modal .tracking-guests{margin-top:26px;border-top:1px solid #e1e9df;padding-top:20px}
#modal .tracking-guests h3{margin:0 0 14px}
#modal .tracking-guests .account-empty{padding:22px;background:#fff;border:1px dashed #d3dfd0;border-radius:12px;text-align:center}
#modal .tracking-guests .account-empty strong{font-size:14px}
#modal .tracking-guests .account-empty p{font-size:13px;line-height:1.6;margin:8px auto 0;max-width:360px;color:#6a7e72}
#modal:has(.group-tracking)>.actions{position:sticky;bottom:0;margin:0;padding:14px 28px;border-top:1px solid #e1e9df;background:#fff}
@media(max-width:480px){#modal:has(.group-tracking){width:calc(100vw - 20px);border-radius:18px}#modal:has(.group-tracking) .tracking-heading{padding:20px 18px;gap:12px}.tracking-heading h2{font-size:21px}#modal .group-tracking{padding:20px 18px}#modal .group-tracking .organized-list-stats{padding:18px 4px}#modal .group-tracking .organized-list-stats>div{padding:0 4px}#modal .group-tracking .organized-list-stats span{font-size:10px}#modal .group-tracking .reward-review-grid{grid-template-columns:1fr}#modal .group-tracking .reward-review-grid header{flex-direction:row;justify-content:space-between}#modal:has(.group-tracking)>.actions{padding:12px 18px}}
/* Promoter actions must remain readable on narrow cards. */
#promoter .account-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#promoter .account-card-actions>:is(button,a){min-width:0;width:100%;height:auto;min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.4;padding:12px;font-size:13px;text-align:center;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:8px}
#promoter .account-card-actions>:first-child{grid-column:1/-1}
#promoter .account-card-actions>[data-promo-rewards]{grid-column:1/-1}
#promoter .account-card-actions>a{border:1px solid #d6e2d8;text-decoration:none;color:#124b39}
/* Reception QR card: keep background and foreground in the same theme. */
.house-shell .scan-box{background:#092117;color:#f2f0e9;border-color:#244334}
.house-shell .scan-box h2,.house-shell .scan-box label,.house-shell .scan-box #camera-status{color:#f2f0e9}
.house-shell .scan-box p{color:#cbd8c6}
.house-shell .scan-box #scan-form{border-color:#395345}
.house-shell .scan-box button{background:#c2dbad;color:#092117;min-height:48px}
.house-shell .scan-box .door-search-shortcut{background:transparent;color:#d4e7c6;border:1px solid #66816d;white-space:normal;line-height:1.5}

.house-shell .scan-box #reader video{display:block;width:100%;max-height:60vh;object-fit:cover}


/* Keep recovery next to the password in every client, including offline login. */
.login-form .recovery-link{margin:0 0 12px;text-align:right}
.login-form .recovery-link a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.password-control{position:relative}
.password-control input{padding-right:52px}
.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;min-height:42px;padding:0;border:0;border-radius:10px;background:transparent;color:#315b4b;box-shadow:none}
.password-toggle:hover{background:#edf4ef}
.password-toggle:focus-visible{outline:2px solid #315b4b;outline-offset:1px}
.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.password-toggle[aria-pressed="true"] svg{stroke:#0b3027}
@media(max-width:760px){.login-story{padding:18px 24px}.login-story .brand{margin:0}.login-story h1,.login-story p,.login-story .login-agenda{display:none}.login-form{padding:20px 16px}.login-form form{padding:24px 20px}}

/* Shared account overlay, preserving public navigation. */
.login-story a.brand{text-decoration:none}
#account-auth-dialog{width:min(520px,calc(100vw - 32px));max-width:520px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #dce5df;border-radius:24px;overflow:auto;background:#f5f8f4;color:#123e32}
#account-auth-dialog::backdrop{background:rgb(6 30 23 / .62);backdrop-filter:blur(4px)}
#account-auth-dialog .auth-close{position:sticky;top:12px;float:right;z-index:2;margin:12px 12px -56px 0;width:40px;height:40px;padding:0;border-radius:50%;background:#fff;color:#123e32;font-size:28px}
#account-auth-dialog .login{display:block;min-height:0}
#account-auth-dialog .login-story{padding:20px 24px}
#account-auth-dialog .login-story h1,#account-auth-dialog .login-story p,#account-auth-dialog .login-agenda{display:none}
#account-auth-dialog .login-story .brand{margin:0}
#account-auth-dialog .login-form{padding:16px;display:block}
#account-auth-dialog .login-form form{padding:24px;max-width:none;margin:0}
#account-auth-dialog .signup-page{min-height:0;padding:24px 16px}
#account-auth-dialog .signup-navigation{padding-right:40px;flex-wrap:wrap;gap:12px}
#account-auth-dialog .signup-navigation nav{display:flex;flex-wrap:wrap;gap:12px}
#account-auth-dialog .signup-page .card{padding:20px;margin-top:20px}
@media(max-width:480px){#account-auth-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:20px}#account-auth-dialog .login-form form{padding:20px 16px}}

/* Refined account surfaces and shared discovery action. */
#account-auth-dialog{border:0;border-radius:28px;background:#fff;box-shadow:0 24px 80px rgb(0 22 15 / .24);scrollbar-width:thin}
#account-auth-dialog::backdrop{background:rgb(6 26 20 / .52);backdrop-filter:blur(6px)}
#account-auth-dialog .login-story{border-radius:28px 28px 0 0;padding:24px 76px 24px 28px;background:#0b3027}
#account-auth-dialog .login-form{padding:0;background:#fff;border-radius:0 0 28px 28px}
#account-auth-dialog .login-form form{padding:28px 32px 24px;border:0;border-radius:0;box-shadow:none;background:transparent}
#account-auth-dialog .login-form h2{line-height:1.22;letter-spacing:-.025em;margin:10px 0 14px}
#account-auth-dialog .login-form .muted{margin:0 0 24px;line-height:1.55}
#account-auth-dialog .login-form input{border-radius:12px;border-color:#dce5df;min-height:48px}
#account-auth-dialog .login-form button{border-radius:12px;min-height:48px}
#account-auth-dialog .auth-close{display:flex;align-items:center;justify-content:center;top:18px;margin:18px 18px -62px 0;width:44px;height:44px;min-height:44px;border:1px solid rgb(255 255 255 / .22);border-radius:14px;background:#24483e;color:#f5faf6;box-shadow:0 2px 6px rgb(0 0 0 / .08);transition:background .16s,border-color .16s}
#account-auth-dialog .auth-close:hover{background:#365b4e;border-color:#a6c7b5}
#account-auth-dialog .auth-close:focus-visible{outline:3px solid #c5e49e;outline-offset:3px}
#account-auth-dialog:has(.signup-page) .auth-close{background:#eaf1ec;color:#164c3b;border-color:#d7e4db}
.login-public-access{margin:12px 0;text-align:center}
.login-public-access a,.signup-navigation nav a[href="/agenda"],.login-story .login-agenda{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:12px;text-decoration:none!important;font-size:14px;font-weight:600;line-height:1.4;transition:background .16s,border-color .16s}
.login-public-access a,.signup-navigation nav a[href="/agenda"]{color:#315b4b;background:#f2f6f2}
.login-public-access a:hover,.signup-navigation nav a[href="/agenda"]:hover{background:#e7efe7;border-color:#d7e4d8}
.login-story .login-agenda{color:#e5efdf;background:rgb(255 255 255 / .07);border-color:rgb(255 255 255 / .16)}
.login-story .login-agenda:hover{background:rgb(255 255 255 / .13)}
.login-public-access a:focus-visible,.signup-navigation nav a:focus-visible,.login-story .login-agenda:focus-visible{outline:2px solid #769c65;outline-offset:3px}
@media(max-width:480px){#account-auth-dialog{border-radius:24px}#account-auth-dialog .login-story{border-radius:24px 24px 0 0;padding:22px 72px 22px 24px}#account-auth-dialog .login-form form{padding:24px 24px 20px}#account-auth-dialog .login-form h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){#account-auth-dialog .auth-close,.login-public-access a,.signup-navigation nav a,.login-story .login-agenda{transition:none}}

#account-auth-dialog{scrollbar-width:none}#account-auth-dialog::-webkit-scrollbar{display:none}


/* One clipping edge: dark backing prevents white antialiasing around the header. */
#account-auth-dialog{background:#0b3027;background-clip:padding-box;isolation:isolate}
#account-auth-dialog .login-story{border-radius:0;box-shadow:none;border:0}
#account-auth-dialog .login{background:#0b3027}
#account-auth-dialog:has(.signup-page){background:#fff}
#account-auth-dialog .login-public-access{margin:16px 0 0}

.public-design-header nav .public-saved-shortcut{gap:6px;min-width:44px;justify-content:center}
.public-saved-shortcut svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.public-saved-shortcut:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:6px}
@media(max-width:600px){.public-design-header nav{gap:8px}.public-saved-shortcut span{display:none}.public-design-header nav .public-saved-shortcut{width:44px;flex:none}}

.public-design-header nav a[hidden]{display:none!important}

.public-design-header .public-nav-actions{display:inline-flex;align-items:center;gap:2px;margin-left:4px;flex:none}
.public-design-header nav .public-nav-actions a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;color:var(--accent,#c6e99b);border-radius:8px}
.public-design-header .public-nav-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.public-design-header .public-nav-actions a:hover{background:rgb(255 255 255 / .08)}
@media(max-width:600px){.public-design-header .public-nav-actions{margin-left:0;gap:0}}

@media(max-width:600px){.public-design-header .public-nav-actions a:first-child svg{transform:translateX(2px)}.public-design-header .public-nav-actions a:last-child svg{transform:translateX(-2px)}}

.main-template #main-header .public-nav-actions a{color:var(--accent,#c6e99b)}

/* Rodapé público completo e consistente entre home, coleção e conta. */
.public-design .public-site-footer,.client-account .public-site-footer{margin-top:40px;padding:28px max(24px,calc((100% - 1240px)/2));background:#092e26;color:#fff;display:flex;align-items:center;flex-wrap:wrap;gap:10px 32px}
.public-design .public-site-footer .public-brand,.client-account .public-site-footer .public-brand{color:#fff;text-decoration:none;font-size:30px}
.public-design .public-site-footer>p,.client-account .public-site-footer>p{margin:0;color:#bfd2c6;font-size:13px}
.public-design .public-site-footer nav,.client-account .public-site-footer nav{width:100%;display:flex;flex-wrap:wrap;gap:4px 24px}
.public-design .public-site-footer nav a,.client-account .public-site-footer nav a{display:inline-flex;align-items:center;min-height:40px;padding:4px 0;color:#fff;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;font-size:13px}
.public-design .public-site-footer nav a:hover,.client-account .public-site-footer nav a:hover{text-decoration-color:currentColor}
.public-design .public-footer-legal,.client-account .public-footer-legal{width:100%;padding-top:14px;border-top:1px solid rgb(255 255 255 / .12);color:#91aa9c;font-size:11px}
@media(max-width:600px){.public-design .public-site-footer,.client-account .public-site-footer{padding:24px 20px;gap:8px 20px}.public-design .public-site-footer nav,.client-account .public-site-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}}

