                                                                               
:root{--viewport-height:var(--layout-height,100vh);--visual-height:var(--viewport-height);--visual-top:0px;--keyboard-inset:0px}
@supports(height:100dvh){:root{--viewport-height:100dvh}}
.sc-pages-ui {
  --sc-purple: #6d16d7;
  --sc-purple-deep: #4a08a8;
  --sc-purple-soft: #eee2ff;
  --sc-lime: #b8ff2c;
  --sc-ink: #21172d;
  --sc-muted: #746c7c;
  --sc-line: #e5ddeb;
  --sc-paper: #fffdfd;
  --sc-canvas: #f7f3fa;
  --purple: var(--sc-purple);
  --purple-deep: var(--sc-purple-deep);
  --purple-soft: var(--sc-purple-soft);
  --lime: var(--sc-lime);
  --ink: var(--sc-ink);
  --muted: var(--sc-muted);
  --paper: var(--sc-paper);
  --canvas: var(--sc-canvas);
  --line: var(--sc-line);
  --shadow: 0 6px 24px #3213470a;
  font-family: Inter, ui-rounded, "Arial Rounded MT Bold", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--sc-ink);
  background: var(--sc-canvas);
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}
.sc-pages-ui *, .sc-pages-ui *::before, .sc-pages-ui *::after { box-sizing: border-box; }
.sc-pages-ui [hidden] { display: none !important; }
.sc-pages-ui .font-display { font-family: inherit; }
.sc-pages-ui :is(button, a) { touch-action: manipulation; }
.sc-pages-ui button { font-family: inherit; cursor: pointer; }
.sc-pages-ui :is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid #b78af0; outline-offset: 3px; }
.sc-pages-ui :is(input, select, textarea) { min-width: 0; max-width: 100%; font-family: inherit; font-size: 16px; scroll-margin-block: 18px; }
.sc-pages-ui :is(h1, h2, h3, h4) { letter-spacing: -.035em; }
.sc-pages-ui :is(p, h1, h2, h3, h4, label) { overflow-wrap: anywhere; }
.sc-pages-ui .text-primary, .sc-pages-ui .text-brand-purple { color: var(--sc-purple); }
.sc-pages-ui .bg-primary, .sc-pages-ui .bg-brand-purple { background-color: var(--sc-purple); }
.sc-pages-ui .text-dark, .sc-pages-ui .text-brand-dark { color: var(--sc-ink); }
.sc-pages-ui .card-cartoon, .sc-pages-ui .event-card-cartoon, .sc-pages-ui .feedback-card {
  border: 1px solid var(--sc-line);
  border-radius: 22px;
  box-shadow: 0 5px 22px #32134708;
}
.sc-pages-ui .btn-cartoon { border-width: 1px; box-shadow: none; }
.sc-pages-ui .btn-cartoon:active { transform: translateY(1px); box-shadow: none; }
.sc-pages-ui .sc-wordmark { display: block; width: 140px; height: auto; object-fit: contain; }

                             
.sc-page-auth {
  --auth-gutter: 18px;
  min-height: var(--viewport-height,100vh);
  overflow-x: hidden; overflow-y: auto;
  padding: max(24px, env(safe-area-inset-top)) max(var(--auth-gutter), env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom)) max(var(--auth-gutter), env(safe-area-inset-left,0px));
  background: radial-gradient(circle at 8% 5%, #b8ff2c22, transparent 30rem), radial-gradient(circle at 95% 90%, #6d16d70b, transparent 30rem), var(--sc-canvas);
}
.sc-page-auth main.card-cartoon, .sc-page-auth .sc-admin-login-card {
  width: 100%; max-width: 480px; padding: 32px;
  border: 1px solid var(--sc-line); border-radius: 28px;
  background: #fff; box-shadow: 0 16px 60px #3514450b;
}
.sc-page-auth .sc-admin-login-main { width: 100%; min-height: calc(var(--viewport-height,100vh) - 48px); padding: 0; }
.sc-page-auth main.card-cartoon .sc-auth-brand, .sc-page-auth .sc-admin-access-brand {
  display: block; width: 166px; height: auto; padding: 0; margin: 0 auto 26px;
  background: transparent; border: 0; border-radius: 0; box-shadow: none;
}
.sc-page-auth main.card-cartoon .sc-auth-brand img, .sc-page-auth .sc-admin-access-brand img {
  display: block; width: 100%; height: auto; object-fit: contain;
}
.sc-page-auth h1 { font-size: 34px; line-height: 1.12; font-weight: 800; margin-bottom: 10px; }
.sc-page-auth main > div:first-child > p, .sc-page-auth .sc-admin-login-card > div > p { font-size: 15px; line-height: 1.6; color: var(--sc-muted); font-weight: 450; }
.sc-page-auth form { display: grid; gap: 18px; }
.sc-page-auth form > * { min-width: 0; margin-top: 0 !important; margin-bottom: 0 !important; }
.sc-page-auth main.card-cartoon form > div { margin-bottom: 0; }
.sc-page-auth main.card-cartoon .input-cartoon,
.sc-page-auth .sc-admin-login-card :is(input:not([type=checkbox]), select, textarea),
.sc-page-auth #reset-modal .input-cartoon {
  min-height: 52px; width: 100%; padding: 13px 14px;
  border: 1px solid #d9cce5; border-radius: 13px;
  font-size: 16px; line-height: 1.5; font-weight: 450;
  color: var(--sc-ink); background: #fff; box-shadow: none;
}
.sc-page-auth main.card-cartoon :is(input, select, textarea):focus { border-color: var(--sc-purple); box-shadow: 0 0 0 3px #6d16d714; }
.sc-page-auth form label { font-size: 14px; line-height: 1.5; font-weight: 650; color: var(--sc-ink); }
.sc-page-auth :is(#btn-submit, #emailAccessBtn, #btn-send-reset),
.sc-page-auth main.card-cartoon .btn-cartoon.bg-primary {
  display: flex; align-items: center; justify-content: center; min-height: 52px;
  padding: 13px 16px; border: 0; border-radius: 13px; background: var(--sc-purple);
  color: #fff; font-size: 16px; line-height: 1.5; font-weight: 700; box-shadow: none;
}
.sc-page-auth :is(#btn-forgot, #btn-upload, #login-link, #register-link) { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; line-height: 1.4; }
.sc-page-auth main.card-cartoon #btn-upload { min-height: 44px; padding: 10px 16px; background: var(--sc-purple-soft); color: var(--sc-purple); border: 0; border-radius: 12px; box-shadow: none; font-weight: 700; }
.sc-page-auth #register-form > .grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.sc-page-auth #register-form > .bg-gray-50 { border: 1px solid var(--sc-line); padding: 16px; border-radius: 15px; background: #faf7fd; }
.sc-page-auth #register-form > .bg-gray-50 label { gap: 11px; font-size: 13px; font-weight: 450; }
.sc-page-auth main.card-cartoon input[type=checkbox] { width: 22px; height: 22px; min-height: 22px; border: 1px solid #bdabc9; box-shadow: none; border-radius: 6px; margin-top: 1px; }
.sc-page-auth .checkbox-cartoon:checked { background: var(--sc-purple); border-color: var(--sc-purple); }
.sc-page-auth #avatar-preview { border-radius: 50%; }
.sc-page-auth #register-form > .flex > div:has(#avatar-preview) { width: 90px; height: 90px; border: 2px solid #ddc6f5; padding: 3px; box-shadow: none; background: #f4ebfc; }
.sc-page-auth main.card-cartoon > .border-t-2 { border-top: 1px solid var(--sc-line); margin-top: 24px; padding-top: 18px; }
.sc-page-auth #togglePasswordBtn { min-width: 44px; min-height: 44px; right: 4px; border-radius: 10px; }
.sc-page-auth #adminPassword { padding-right: 54px; }
.sc-page-auth #reset-modal { padding: 14px; background: #21133080; backdrop-filter: blur(5px); }
.sc-page-auth #reset-modal-content { border: 0; border-radius: 24px; box-shadow: 0 20px 80px #21172d24; }
.sc-page-auth #reset-modal-content > div:first-child { padding: 18px; border-bottom: 1px solid var(--sc-line); border-radius: 24px 24px 0 0; background: #fff; }
.sc-page-auth #reset-modal-content > div:last-child { padding: 18px; }
.sc-page-auth #btn-close-reset { min-width: 44px; min-height: 44px; border: 1px solid var(--sc-line); border-radius: 12px; box-shadow: none; }
.sc-page-auth :is(#error-msg, #reset-msg, #authStatus) { font-size: 14px; line-height: 1.55; font-weight: 500; }

                                          
.sc-page-sponsor { min-width: 0; }
.sc-page-sponsor .sponsor-header { min-height: 70px; padding-left: max(clamp(16px, 4vw, 40px), env(safe-area-inset-left,0px)); padding-right: max(clamp(16px, 4vw, 40px), env(safe-area-inset-right,0px)); border-bottom: 1px solid var(--sc-line); background: #fffdfdf2; }
.sc-page-sponsor .sponsor-brand { min-width: 0; min-height: 44px; }
.sc-page-sponsor .header-actions { gap: 8px; }
.sc-page-sponsor .header-actions :is(a, button) { min-height: 44px; padding: 10px 13px; font-size: 13px; border-width: 1px; border-radius: 12px; box-shadow: none; }
.sc-page-sponsor .sponsor-hero { padding-top: clamp(36px, 6vw, 70px); }
.sc-page-sponsor .hero-copy h1 { font-size: clamp(35px, 5.5vw, 64px); line-height: 1.06; font-weight: 800; letter-spacing: -.055em; }
.sc-page-sponsor .hero-copy > p { font-size: 16px; line-height: 1.7; font-weight: 450; }
.sc-page-sponsor .hero-copy h1 em { font-style: normal; }
.sc-page-sponsor :is(.primary-button, .secondary-button) { min-height: 50px; padding: 13px 20px; border: 1px solid var(--sc-line); border-radius: 13px; box-shadow: none; font-size: 14px; line-height: 1.45; font-weight: 700; }
.sc-page-sponsor .primary-button { border-color: var(--sc-purple); background: var(--sc-purple); color: #fff; }
.sc-page-sponsor .primary-button.lime { background: var(--sc-lime); border-color: transparent; color: var(--sc-ink); }
.sc-page-sponsor .secondary-button { background: #fff; color: var(--sc-ink); }
.sc-page-sponsor :is(.primary-button, .secondary-button):active { transform: translateY(1px); }
.sc-page-sponsor :is(.hero-pill, .eyebrow, .workspace-kicker) { font-size: 11px; line-height: 1.45; font-weight: 700; letter-spacing: .055em; }
.sc-page-sponsor .hero-proof { gap: 12px; }
.sc-page-sponsor .hero-proof > span { font-size: 12px; font-weight: 550; }
.sc-page-sponsor .phone-frame { border: 1px solid #d8c7e7; box-shadow: 0 20px 70px #3c12571a; }
.sc-page-sponsor .phone-card { border: 1px solid #eadff2; border-radius: 15px; box-shadow: 0 12px 30px #361c5110; }
.sc-page-sponsor .phone-card b { font-size: 15px; line-height: 1.3; }
.sc-page-sponsor .phone-card span { font-size: 10px; line-height: 1.4; }
.sc-page-sponsor .value-strip { border-width: 1px; border-color: var(--sc-line); }
.sc-page-sponsor .value-strip strong { font-size: 15px; }
.sc-page-sponsor .value-strip span { font-size: 12px; line-height: 1.6; }
.sc-page-sponsor .section-heading h2 { font-size: clamp(28px, 4vw, 42px); font-weight: 800; line-height: 1.12; }
.sc-page-sponsor .section-heading > p { font-size: 15px; line-height: 1.7; font-weight: 450; }
.sc-page-sponsor .plan-card { padding: 24px; border: 1px solid var(--sc-line); border-radius: 23px; box-shadow: 0 8px 30px #39145309; }
.sc-page-sponsor .plan-card:hover { transform: translateY(-2px); box-shadow: 0 12px 36px #3914530f; }
.sc-page-sponsor .plan-card.is-featured { background: var(--sc-purple); color: #fff; border-color: var(--sc-purple); }
.sc-page-sponsor .plan-card h3 { font-size: 21px; font-weight: 750; }
.sc-page-sponsor .plan-card .plan-description, .sc-page-sponsor .plan-card li { font-size: 13px; line-height: 1.65; font-weight: 450; }
.sc-page-sponsor .plan-price { font-size: 35px; font-weight: 800; }
.sc-page-sponsor .plan-price small { font-size: 13px; }
.sc-page-sponsor .process-section { border-radius: 28px; }
.sc-page-sponsor .process-grid article { border-width: 1px; border-radius: 18px; }
.sc-page-sponsor .process-grid h3 { font-size: 18px; font-weight: 750; }
.sc-page-sponsor .process-grid p { font-size: 14px; line-height: 1.65; }
.sc-page-sponsor .auth-card { border: 1px solid var(--sc-line); border-radius: 28px; padding: clamp(22px, 4vw, 36px); box-shadow: 0 15px 60px #3311450a; }
.sc-page-sponsor .auth-card h1 { font-size: 36px; line-height: 1.15; font-weight: 800; }
.sc-page-sponsor .auth-card > p { font-size: 15px; line-height: 1.65; }
.sc-page-sponsor .auth-tabs { padding: 5px; border: 0; border-radius: 14px; background: #f1e9f9; box-shadow: none; }
.sc-page-sponsor .auth-tabs button { min-height: 46px; border: 0; border-radius: 10px; font-size: 14px; font-weight: 700; }
.sc-page-sponsor .workspace-hero { max-width: 1260px; margin: 0 auto; border: 0; padding-top: 28px; padding-bottom: 20px; background: none; }
.sc-page-sponsor .company-logo { width: 64px; height: 64px; border: 1px solid #d9c4ee; border-radius: 20px; box-shadow: none; }
.sc-page-sponsor .workspace-company h1 { font-size: clamp(25px, 4vw, 36px); line-height: 1.15; font-weight: 800; white-space: normal; overflow-wrap: anywhere; }
.sc-page-sponsor .workspace-company p { display: block; font-size: 14px; line-height: 1.6; }
.sc-page-sponsor .status-pill { display: inline-flex; padding: 7px 9px; border: 0; border-radius: 9px; font-size: 11px; line-height: 1.45; font-weight: 650; text-transform: none; }
.sc-page-sponsor .icon-button { min-width: 44px; min-height: 44px; border: 1px solid var(--sc-line); border-radius: 12px; box-shadow: none; }
.sc-page-sponsor .workspace-content { padding: 20px 18px; }
.sc-page-sponsor .workspace-nav { border-color: var(--sc-line); border-width: 1px; }
.sc-page-sponsor .workspace-nav :is(button, a) { min-height: 50px; font-size: 12px; line-height: 1.3; font-weight: 650; border-radius: 13px; }
.sc-page-sponsor .workspace-nav span { font-size: 22px; }
.sc-page-sponsor .panel-heading { align-items: center; flex-wrap: wrap; gap: 15px; }
.sc-page-sponsor .panel-heading h2 { font-size: clamp(26px, 3vw, 34px); line-height: 1.15; font-weight: 800; }
.sc-page-sponsor .panel-heading p { font-size: 14px; line-height: 1.65; }
.sc-page-sponsor .panel-heading .compact { min-height: 48px; font-size: 13px; }
.sc-page-sponsor .approval-notice { border-width: 1px; border-radius: 18px; }
.sc-page-sponsor .approval-notice p { font-size: 14px; line-height: 1.6; }
.sc-page-sponsor .campaign-list { gap: 20px; }
.sc-page-sponsor .campaign-card { border: 1px solid var(--sc-line); border-radius: 22px; box-shadow: 0 8px 25px #3b165008; }
.sc-page-sponsor .campaign-cover { height: auto; aspect-ratio: 16 / 9; border-bottom: 1px solid var(--sc-line); }
.sc-page-sponsor .campaign-cover img { height: 100%; }
.sc-page-sponsor .campaign-body { padding: 18px; }
.sc-page-sponsor .campaign-card h3 { font-size: 22px; line-height: 1.2; font-weight: 800; }
.sc-page-sponsor .campaign-meta { font-size: 12px; line-height: 1.5; }
.sc-page-sponsor .campaign-description { font-size: 14px; line-height: 1.65; font-weight: 450; }
.sc-page-sponsor .campaign-stats { gap: 7px; }
.sc-page-sponsor .campaign-stats div { padding: 12px 5px; border: 0; border-radius: 12px; background: #f7f1fc; }
.sc-page-sponsor .campaign-stats strong { font-size: 18px; }
.sc-page-sponsor .campaign-stats span { font-size: 10px; line-height: 1.35; }
.sc-page-sponsor .campaign-actions { flex-wrap: wrap; gap: 9px; }
.sc-page-sponsor .campaign-actions button { min-height: 46px; font-size: 13px; border: 1px solid var(--sc-line); border-radius: 12px; box-shadow: none; }
.sc-page-sponsor .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sc-page-sponsor .metric-grid article { min-width: 0; padding: 20px 16px; border: 1px solid var(--sc-line); border-radius: 20px; box-shadow: none; }
.sc-page-sponsor .metric-grid strong { font-size: 32px; font-weight: 800; overflow-wrap: anywhere; }
.sc-page-sponsor .metric-grid :is(span, small) { font-size: 12px; line-height: 1.45; }
.sc-page-sponsor .metric-row { padding: 20px; border: 1px solid var(--sc-line); border-radius: 18px; box-shadow: none; }
.sc-page-sponsor .metric-row h3 { font-size: 17px; }
.sc-page-sponsor .metric-row > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sc-page-sponsor .metric-row span { min-width: 0; font-size: 12px; line-height: 1.5; }
.sc-page-sponsor :is(.auth-form, .profile-form, #campaign-form) { gap: 18px; }
.sc-page-sponsor :is(.auth-form, .profile-form, #campaign-form) label { min-width: 0; font-size: 14px; line-height: 1.5; font-weight: 650; }
.sc-page-sponsor :is(.auth-form, .profile-form, #campaign-form) :is(input:not([type=checkbox]):not([type=file]):not([type=hidden]), select, textarea) {
  min-width: 0; min-height: 50px; padding: 12px 14px; border: 1px solid #d9cce5; border-radius: 13px;
  box-shadow: none; font-size: 16px; line-height: 1.5; font-weight: 450; background: #fff;
}
.sc-page-sponsor :is(.auth-form, .profile-form, #campaign-form) textarea { min-height: 116px; }
.sc-page-sponsor :is(.logo-uploader, .campaign-uploader) { border-width: 1px; border-radius: 18px; box-shadow: none; }
.sc-page-sponsor .form-message { font-size: 14px; line-height: 1.6; }
.sc-page-sponsor .check-row input { width: 22px; height: 22px; accent-color: var(--sc-purple); }
.sc-page-sponsor .check-row span { font-size: 13px; font-weight: 450; line-height: 1.6; }
.sc-page-sponsor .modal-panel { max-height: 100%; padding: 18px 18px max(28px, env(safe-area-inset-bottom)); border: 0; border-radius: 25px 25px 0 0; background: #fff; box-shadow: 0 -10px 50px #2314351f; overflow-x: hidden; -webkit-overflow-scrolling: touch; scroll-padding: 88px 0 32px; }
.sc-page-sponsor .modal-heading { position: sticky; top: -18px; z-index: 3; margin: 0 -2px 18px; padding: 12px 2px; background: #fffffff5; align-items: center; }
.sc-page-sponsor .modal-heading h2 { font-size: 26px; line-height: 1.2; font-weight: 800; }
.sc-page-sponsor .modal-heading button { min-width: 44px; min-height: 44px; border: 1px solid var(--sc-line); border-radius: 13px; box-shadow: none; }

                    
.sc-page-admin { height: var(--visual-height,var(--viewport-height,100vh)); min-height: 0; width: 100%; overflow: hidden; }
.sc-page-admin .sc-admin-sidebar { width: 256px; min-width: 256px; height: 100%; background: #21172d; }
.sc-page-admin .sc-admin-sidebar > div:first-child { padding-inline: 22px; border-color: #ffffff14; }
.sc-page-admin .sc-admin-sidebar > div:first-child > span { font-size: 23px; color: #b8ff2c; font-weight: 800; letter-spacing: -.04em; }
.sc-page-admin .sc-admin-sidebar nav { padding: 18px 13px; }
.sc-page-admin .nav-btn { min-height: 48px; padding: 12px; gap: 10px; font-size: 13px; line-height: 1.4; font-weight: 550; }
.sc-page-admin .nav-btn.bg-brand-purple { background: var(--sc-purple); }
.sc-page-admin .sc-admin-main { min-width: 0; min-height: 0; height: 100%; background: var(--sc-canvas); }
.sc-page-admin .sc-admin-header { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; height: auto; min-height: 80px; gap: 16px; padding: max(16px,env(safe-area-inset-top,0px)) max(28px,env(safe-area-inset-right,0px)) 16px max(28px,env(safe-area-inset-left,0px)); border-color: var(--sc-line); }
.sc-page-admin #page-title { min-width: 0; font-size: 26px; line-height: 1.18; font-weight: 800; }
.sc-page-admin .sc-admin-header-actions { min-width: 0; gap: 9px; }
.sc-page-admin .sc-admin-header-actions > :is(button, a) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; border-radius: 12px; font-size: 13px; line-height: 1.4; }
.sc-page-admin #connection-status { min-width: 0; max-width: 240px; margin-right: 4px; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.sc-page-admin #admin-content { min-width: 0; min-height: 0; padding: 26px max(26px,env(safe-area-inset-right,0px)) max(26px,env(safe-area-inset-bottom,0px)) max(26px,env(safe-area-inset-left,0px)); overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; scroll-padding-block: 20px; }
.sc-page-admin :is(.tab-content, .grid > *, .flex > *) { min-width: 0; }
.sc-page-admin #admin-content .bg-white { border-color: var(--sc-line); box-shadow: 0 5px 20px #32134706; }
.sc-page-admin #admin-content .bg-white:not(button):not(input):not(select):not(textarea) { border-radius: 18px; }
.sc-page-admin #admin-content :is(h2, h3, h4) { font-weight: 750; line-height: 1.3; }
.sc-page-admin #admin-content p { line-height: 1.6; }
.sc-page-admin #admin-content :is(button, a[class]) { min-height: 44px; }
.sc-page-admin #admin-content button { line-height: 1.4; font-size: 13px; font-weight: 650; }
.sc-page-admin :is(#admin-content, #modalContent) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select, textarea) {
  min-height: 48px; max-width: 100%; font-size: 16px; line-height: 1.5; border-color: #d9cce5; border-radius: 12px;
}
.sc-page-admin :is(#admin-content, #modalContent) :is(input[type=checkbox], input[type=radio]) { width: 20px; height: 20px; accent-color: var(--sc-purple); }
.sc-page-admin :is(#admin-content, #modalContent) label { font-size: 13px; line-height: 1.5; }
.sc-page-admin :is(#admin-content, #modalContent) :is(pre, code) { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.sc-page-admin #admin-content .overflow-x-auto, .sc-page-admin .sc-admin-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.sc-page-admin #admin-content table { min-width: 550px; }
.sc-page-admin #admin-content table :is(td, th) { padding: 14px; font-size: 13px; line-height: 1.5; }
.sc-page-admin #admin-content table th { font-weight: 650; }
.sc-page-admin #itinerariSearchInput { width: 100%; padding-left: 40px; }
.sc-page-admin #tab-itinerari { overflow-x: visible; }
.sc-page-admin #admin-map { height: min(calc(var(--visual-height,100vh) * 0.62), 560px); min-height: 320px; border-color: var(--sc-line); border-radius: 18px; }
.sc-page-admin .admin-embed { min-height: 560px; height: calc(var(--viewport-height,100vh) - 220px); }
.sc-page-admin .sc-admin-switcher { display: none; }
.sc-page-admin #adminMobileLogoutBtn { display: none; }
.sc-page-admin #editModal { padding: 18px; backdrop-filter: blur(5px); }
.sc-page-admin #modalContent { border-radius: 24px; max-height: 100%; overflow-x: hidden; scroll-padding: 90px 0 108px; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.sc-page-admin #modalContent > div:first-child { padding: 18px; gap: 12px; border-color: var(--sc-line); }
.sc-page-admin #modalContent > div:nth-child(2) { padding: 20px; }
.sc-page-admin #btnCloseModal { min-width: 44px; min-height: 44px; border: 1px solid var(--sc-line); border-radius: 12px; }

                                                                   
.sc-page-editor { height: var(--visual-height,var(--viewport-height,100vh)); min-width: 0; overflow: hidden; cursor: auto; }
.sc-page-editor :is(#dashboard-view, #editor-view, #editor-panel, #editor-scroll-area) { min-width: 0; min-height: 0; }
.sc-page-editor :is(#dashboard-view, #editor-panel) { background: var(--sc-canvas); }
.sc-page-editor #login-view { background: var(--sc-canvas); overflow: auto; }
.sc-page-editor #login-view .bg-white { padding: 30px; border: 1px solid var(--sc-line); border-radius: 24px; box-shadow: 0 12px 40px #3618490b; }
.sc-page-editor #login-view h1 { font-size: 29px; line-height: 1.2; font-weight: 800; }
.sc-page-editor #login-view p { font-size: 15px; line-height: 1.6; }
.sc-page-editor :is(button, a[class], label[id^="upload-btn-"]) { min-height: 44px; font-family: inherit; font-size: 13px; line-height: 1.45; }
.sc-page-editor :is(#save-btn, #dashboard-view button[onclick="createNew()"], #login-view a, #login-view button, #bg-upload-txt, [id^="upload-btn-"]) { background: var(--sc-purple) !important; color: #fff !important; border: 1px solid var(--sc-purple) !important; border-radius: 12px !important; box-shadow: none; transform: none; }
.sc-page-editor #bg-upload-txt { display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; min-height: 44px; }
.sc-page-editor #dashboard-view > div:first-child, .sc-page-editor #editor-panel > div:first-child { flex-shrink: 0; gap: 12px; padding: 16px; border-color: var(--sc-line); box-shadow: none; }
.sc-page-editor #dashboard-view > div:first-child h1 { font-size: 23px; line-height: 1.2; font-weight: 800; }
.sc-page-editor #dashboard-view > div:nth-child(2) { padding: 18px; }
.sc-page-editor #dashboard-view .sc-editor-table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; border: 1px solid var(--sc-line); border-radius: 19px; box-shadow: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.sc-page-editor #dashboard-view table { min-width: 580px; }
.sc-page-editor #dashboard-view table :is(td, th) { padding: 14px; font-size: 13px; line-height: 1.5; }
.sc-page-editor #editor-scroll-area { padding: 20px; overscroll-behavior-y: contain; }
.sc-page-editor #editor-scroll-area > .bg-white, .sc-page-editor #blocks-container > div { padding: 20px; border: 1px solid var(--sc-line); border-radius: 19px; box-shadow: 0 5px 20px #32134705; }
.sc-page-editor #editor-scroll-area :is(input:not([type=file]), textarea, select) { min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #d9cce5; border-radius: 12px; background: #fff; font-family: inherit; font-size: 16px; line-height: 1.5; }
.sc-page-editor #editor-scroll-area #inp-title { min-height: 56px; font-size: 24px; font-weight: 700; }
.sc-page-editor #editor-scroll-area label { font-size: 13px; line-height: 1.5; color: var(--sc-muted); }
.sc-page-editor #editor-scroll-area input:focus, .sc-page-editor #editor-scroll-area textarea:focus { border-color: var(--sc-purple); box-shadow: 0 0 0 3px #6d16d714; }
.sc-page-editor #blocks-container { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
.sc-page-editor .sc-editor-toolbar { padding-bottom: max(12px, env(safe-area-inset-bottom)); border-color: var(--sc-line); }
.sc-page-editor .sc-editor-toolbar > div { gap: 4px; }
.sc-page-editor .sc-editor-toolbar button { min-width: 0; min-height: 54px; padding: 6px 2px; border-radius: 10px; color: var(--sc-purple); }
.sc-page-editor .sc-editor-toolbar button:hover { background: var(--sc-purple-soft); }
.sc-page-editor .sc-editor-toolbar button > span:last-child { font-size: 10px; line-height: 1.4; }
.sc-page-editor #preview-panel { min-width: 0; border-color: var(--sc-line); }
.sc-page-editor #preview-panel.fixed { width: 100%; }
.sc-page-editor #preview-panel .sticky { border: 0; background: var(--sc-purple); min-height: 38px; display: grid; place-items: center; font-size: 11px; }
.sc-page-editor #prev-header { border: 0; }
.sc-page-editor #prev-meta { background: var(--sc-lime); border-radius: 9px; }
.sc-page-editor #preview-panel .preview-content :is(h2, h3) { font-family: inherit; color: var(--sc-ink); border-color: var(--sc-purple); }
.sc-page-editor #preview-panel .preview-content p { text-align: left; font-size: 16px; }
@media (min-width: 1024px) {
  .sc-page-editor #preview-panel:not(.fixed) { display: block !important; }
}

                                                                             
.sc-page-site { cursor: auto; background: var(--sc-paper); }
.sc-page-site .nav-scrolled { border-bottom: 1px solid var(--sc-line); box-shadow: 0 3px 20px #2b163208; }
.sc-page-site #navbar { height: calc(96px + env(safe-area-inset-top,0px)); min-height: calc(96px + env(safe-area-inset-top,0px)); padding-top: env(safe-area-inset-top,0px); background: #fffdfdf2; border-color: var(--sc-line); }
.sc-page-site #navbar .logo-img { border-width: 1px; box-shadow: none; border-color: #e1d4e9; }
.sc-page-site #navbar .nav-logo-text { font-size: 20px; letter-spacing: -.035em; font-weight: 800; }
.sc-page-site #navbar .nav-links-row a { min-height: 44px; display: inline-flex; align-items: center; font-size: 12px; font-weight: 650; letter-spacing: .02em; }
.sc-page-site #navbar [data-nav-toggle] { min-width: 44px; min-height: 44px; border: 1px solid var(--sc-line); border-radius: 12px; box-shadow: none; }
.sc-page-site #navbar [data-nav-menu] a { min-height: 44px; font-size: 14px; line-height: 1.4; }
.sc-page-site #navbar [data-nav-menu] > div > div { border-width: 1px; border-color: var(--sc-line); border-radius: 18px; box-shadow: 0 15px 40px #22103214; }
.sc-page-site .nav-link:hover, .sc-page-site .nav-link.is-active { transform: none; }
.sc-page-site .sc-home-hero { display: block; padding: 28px 18px 36px !important; background: var(--sc-canvas); overflow: visible; }
.sc-page-site .sc-home-hero .hero-content-shell { max-width: 1120px; padding: 0 !important; margin: 0 auto; text-align: left; }
.sc-page-site .sc-public-hero-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; overflow: hidden; border: 1px solid #e3d5ed; border-radius: 28px; background: #f0e7f9; box-shadow: 0 8px 30px #301a4507; }
.sc-page-site .sc-public-hero-media { min-width: 0; min-height: 360px; order: 2; overflow: hidden; }
.sc-page-site .sc-public-hero-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sc-page-site .sc-public-hero-copy { min-width: 0; padding: clamp(24px, 4vw, 44px); }
.sc-page-site .sc-public-kicker { display: inline-flex; padding: 7px 10px; border-radius: 9px; background: #fff9; color: var(--sc-purple); font-size: 11px; line-height: 1.3; font-weight: 700; }
.sc-page-site .sc-home-hero .hero-title { margin: 18px 0 15px !important; font-size: clamp(37px, 4.8vw, 60px) !important; font-weight: 800; letter-spacing: -.06em; line-height: 1.01 !important; color: var(--sc-ink); text-align: left; }
.sc-page-site .sc-home-hero .hero-para { max-width: 460px; margin: 0 0 25px !important; font-size: 16px; font-weight: 450; line-height: 1.65; color: #675973; text-align: left; }
.sc-page-site .hero-cta { display: grid; gap: 10px !important; }
.sc-page-site .hero-cta a { width: 100%; max-width: none !important; margin: 0; min-height: 50px; padding: 14px 16px; font-size: 14px; line-height: 1.5; font-weight: 700; letter-spacing: 0; text-align: center; }
.sc-page-site .btn-primary { border: 1px solid var(--sc-purple); border-radius: 13px; color: #fff; background: var(--sc-purple); box-shadow: none; }
.sc-page-site .btn-secondary { border: 1px solid var(--sc-line); border-radius: 13px; color: var(--sc-ink); background: #fff; box-shadow: none; }
.sc-page-site .hero-cta .btn-secondary { border-color: transparent; background: var(--sc-lime); }
.sc-page-site .btn-primary:hover, .sc-page-site .btn-secondary:hover { transform: translateY(-1px); box-shadow: 0 5px 14px #30174b10; }
.sc-page-site .hero-social { justify-content: flex-start; margin-top: 22px !important; gap: 10px; }
.sc-page-site .social-btn { min-height: 44px; border: 1px solid var(--sc-line); border-radius: 12px; padding: 10px 14px; font-size: 13px; line-height: 1.4; font-weight: 650; box-shadow: none; }
.sc-page-site .sc-explore-label { margin: 30px 0 16px; color: var(--sc-ink); font-size: 21px; line-height: 1.3; font-weight: 800; letter-spacing: -.035em; text-transform: none; }
.sc-page-site .sc-hero-destinations { width: 100%; max-width: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sc-page-site .sc-destination-card { border: 0; border-radius: 20px; box-shadow: 0 5px 22px #381d5010; aspect-ratio: 1.55; }
.sc-page-site .sc-destination-card:hover { box-shadow: 0 7px 24px #381d501c; }
.sc-page-site .sc-destination-tag { font-size: 17px; font-weight: 750; }
.sc-page-site .sc-destination-arrow { width: 36px; height: 36px; border: 0; border-radius: 12px; }
.sc-page-site .sc-public-community { display: flex; gap: 24px; align-items: center; margin-top: 22px; padding: 25px; border: 1px solid #e1d4f0; border-radius: 22px; background: #eee2ff; }
.sc-page-site .sc-public-community > div { min-width: 0; flex: 1; }
.sc-page-site .sc-public-community h2 { margin: 0 0 10px; font-size: 25px; line-height: 1.2; font-weight: 800; }
.sc-page-site .sc-public-community p { margin: 0; color: #675973; font-size: 15px; line-height: 1.65; }
.sc-page-site .sc-public-community-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.sc-page-site .sc-public-community-actions a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 16px; font-size: 13px; line-height: 1.45; font-weight: 700; }
.sc-page-site .section-tag { padding: 7px 11px; border: 0; border-radius: 9px; background: #eee2ff; color: var(--sc-purple); box-shadow: none; font-size: 11px; letter-spacing: .05em; }
.sc-page-site :is(#chi-siamo, #itinerari, #feedback, #eventi) { padding-top: 64px; padding-bottom: 64px; border-color: var(--sc-line); border-top-width: 1px; border-bottom-width: 1px; }
.sc-page-site :is(#chi-siamo, #itinerari, #feedback, #eventi) h2 { font-size: clamp(30px, 4.5vw, 48px); line-height: 1.1; font-weight: 800; letter-spacing: -.045em; }
.sc-page-site .card-cartoon:hover { transform: translateY(-2px); box-shadow: 0 10px 28px #3716470d; }
.sc-page-site .reveal { transform: translateY(16px); }
.sc-page-site .reveal.active { transform: none; }
.sc-page-site .deco-star, .sc-page-site .purple-glow { opacity: .1; }
.sc-page-site #chat-input { min-height: 50px; font-size: 16px; padding-right: 54px; }
.sc-page-site #chat-btn { min-width: 44px; min-height: 44px; }
.sc-page-site .mobile-app-launcher { border: 1px solid #c2df96; padding: 12px 16px; border-radius: 14px; font-family: inherit; font-size: 13px; line-height: 1.4; font-weight: 700; box-shadow: 0 6px 25px #21172d18; }

@media (min-width: 1000px) {
  .sc-page-sponsor .metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .sc-page-auth { --auth-gutter: 14px; }
  .sc-page-auth main.card-cartoon, .sc-page-auth .sc-admin-login-card { padding: 25px 20px !important; border-radius: 24px; box-shadow: 0 8px 32px #32144509; }
  .sc-page-auth main.card-cartoon .grid.grid-cols-2 { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .sc-page-sponsor .sponsor-brand .sc-wordmark { width: 123px; }
  .sc-page-sponsor .header-actions .header-link { display: none; }
  .sc-page-sponsor .sponsor-header { min-height: 66px; }
  .sc-page-sponsor .hero-visual { max-width: 290px; margin-top: 20px; }
  .sc-page-sponsor .hero-proof { align-items: flex-start; flex-direction: column; }
  .sc-page-sponsor .workspace-hero { padding: 22px 16px 14px; align-items: flex-start; flex-wrap: wrap; }
  .sc-page-sponsor .workspace-company { flex: 1; gap: 11px; }
  .sc-page-sponsor .company-logo { width: 52px; height: 52px; border-radius: 16px; }
  .sc-page-sponsor .workspace-company h1 { font-size: 26px; }
  .sc-page-sponsor .workspace-company p { font-size: 13px; }
  .sc-page-sponsor .workspace-actions { flex-direction: column-reverse; align-items: flex-end; max-width: 88px; }
  .sc-page-sponsor .workspace-actions .status-pill { text-align: center; font-size: 10px; }
  .sc-page-sponsor .workspace-content { padding: 18px 16px; }
  .sc-page-sponsor .workspace-shell { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  .sc-page-sponsor .panel-heading { align-items: stretch; }
  .sc-page-sponsor .panel-heading .compact { width: 100%; }
  .sc-page-sponsor .plans-grid { grid-template-columns: minmax(0, 1fr); }
  .sc-page-sponsor .form-grid.two { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .sc-page-sponsor .campaign-actions button { flex: 1 1 120px; }
  .sc-page-sponsor .modal-panel { padding-inline: 16px; }
  .sc-page-admin .sc-admin-sidebar { display: none; }
  .sc-page-admin .sc-admin-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 0; padding: max(14px, env(safe-area-inset-top)) max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px)); gap: 10px; }
  .sc-page-admin #page-title { font-size: 23px; }
  .sc-page-admin .sc-admin-header-actions { display: flex; flex-wrap: wrap; gap: 6px; }
  .sc-page-admin .sc-admin-header-actions > a { display: none; }
  .sc-page-admin #connection-status { grid-column: 1 / -1; grid-row: 2; display: flex; max-width: none; margin: 0; font-size: 12px; }
  .sc-page-admin .sc-admin-header-actions { grid-column: 2; grid-row: 1; }
  .sc-page-admin #adminMobileLogoutBtn { display: inline-flex; }
  .sc-page-admin .sc-admin-switcher { display: grid; gap: 7px; padding: 0 max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px)); background: #fff; border-bottom: 1px solid var(--sc-line); }
  .sc-page-admin .sc-admin-switcher label { font-size: 12px; font-weight: 650; color: var(--sc-muted); }
  .sc-page-admin #admin-section-select { width: 100%; min-width: 0; min-height: 48px; border: 1px solid #d8c7e8; border-radius: 12px; padding: 11px 12px; font: inherit; font-size: 16px; color: var(--sc-purple); background: #f8f2ff; }
  .sc-page-admin #admin-content { padding: 18px max(14px,env(safe-area-inset-right,0px)) max(26px, env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left,0px)); }
  .sc-page-admin #admin-content .grid { gap: 14px; }
  .sc-page-admin #admin-content > .tab-content > .flex,
  .sc-page-admin #admin-content .flex.justify-between { flex-wrap: wrap; align-items: flex-start; gap: 12px; }
  .sc-page-admin #admin-content .flex.justify-between > :is(input, .relative) { width: 100%; }
  .sc-page-admin #admin-content :is(.p-6, .p-5) { padding: 17px; }
  .sc-page-admin #admin-content .text-xs { font-size: 12px; line-height: 1.55; }
  .sc-page-admin #admin-content .text-sm { font-size: 14px; line-height: 1.55; }
  .sc-page-admin #admin-content .text-3xl { font-size: 28px; }
  .sc-page-admin #admin-content .text-2xl { font-size: 23px; }
  .sc-page-admin #editModal { padding: 0; align-items: flex-end; }
  .sc-page-admin #editModal #modalContent { width: 100%; border-radius: 24px 24px 0 0; }
  .sc-page-admin #modalContent > div:nth-child(2) { padding: 18px 16px max(28px, env(safe-area-inset-bottom)); }
  .sc-page-admin #editModal .grid-cols-2 { grid-template-columns: minmax(0, 1fr); }
  .sc-page-editor #dashboard-view > div:first-child, .sc-page-editor #editor-panel > div:first-child { flex-wrap: wrap; padding: 13px; }
  .sc-page-editor #dashboard-view > div:first-child h1 { font-size: 22px; }
  .sc-page-editor #editor-panel > div:first-child > div { width: 100%; min-width: 0; justify-content: space-between; gap: 8px; }
  .sc-page-editor #editor-panel > div:first-child > div:last-child { justify-content: flex-end; }
  .sc-page-editor #editor-scroll-area, .sc-page-editor #dashboard-view > div:nth-child(2) { padding: 14px; }
  .sc-page-editor #editor-scroll-area > .bg-white, .sc-page-editor #blocks-container > div { padding: 16px; }
  .sc-page-editor #editor-scroll-area .flex.gap-4 { flex-wrap: wrap; gap: 8px; }
  .sc-page-editor #editor-scroll-area #inp-bgImage { flex: 1 0 100%; }
  .sc-page-editor #preview-panel > .p-8 { margin-inline: 12px; padding: 22px 18px; }
  .sc-page-site #navbar { height: calc(70px + env(safe-area-inset-top,0px)); min-height: calc(70px + env(safe-area-inset-top,0px)); }
  .sc-page-site #navbar > div { padding-inline: 16px; }
  .sc-page-site #navbar .nav-logo-text { font-size: 19px; letter-spacing: -.03em; }
  .sc-page-site .sc-home-hero { padding: 18px 16px 30px !important; }
  .sc-page-site .sc-public-hero-card { grid-template-columns: minmax(0, 1fr); border-radius: 23px; }
  .sc-page-site .sc-public-hero-media { min-height: 0; order: 0; aspect-ratio: 16 / 10; }
  .sc-page-site .sc-public-hero-copy { padding: 23px 21px 25px; }
  .sc-page-site .sc-home-hero .hero-title { font-size: 39px !important; margin: 16px 0 14px !important; }
  .sc-page-site .sc-home-hero .hero-para { font-size: 15px; line-height: 1.65; margin-bottom: 22px !important; }
  .sc-page-site .sc-explore-label { margin: 28px 0 15px; font-size: 22px; }
  .sc-page-site .sc-hero-destinations { display: grid; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: minmax(0, 1fr); gap: 15px; padding: 0; overflow: visible; }
  .sc-page-site .sc-destination-card { aspect-ratio: 1.8; border-radius: 18px; }
  .sc-page-site .sc-destination-tag { font-size: 18px; }
  .sc-page-site .sc-public-community { display: grid; gap: 20px; padding: 22px 20px; }
  .sc-page-site .sc-public-community h2 { font-size: 26px; }
  .sc-page-site .sc-public-community-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .sc-page-site :is(#chi-siamo, #itinerari, #feedback, #eventi) { padding: 42px 0 !important; }
  .sc-page-site :is(#chi-siamo, #itinerari, #feedback, #eventi) > .max-w-7xl { padding-inline: 16px; }
  .sc-page-site :is(#chi-siamo, #itinerari, #feedback, #eventi) h2 { font-size: 32px; }
  .sc-page-site :is(#chi-siamo, #itinerari, #feedback, #eventi) p { font-size: 15px; line-height: 1.65; }
  .sc-page-site .card-cartoon { border-radius: 20px; }
}
@media (max-width: 359px) {
  .sc-page-auth { --auth-gutter: 12px; }
  .sc-page-auth main.card-cartoon, .sc-page-auth .sc-admin-login-card { padding: 24px 17px !important; }
  .sc-page-auth h1 { font-size: 32px; }
  .sc-page-sponsor .campaign-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sc-page-sponsor .campaign-body { padding: 16px; }
  .sc-page-sponsor .metric-grid article { padding: 17px 12px; }
  .sc-page-sponsor .metric-grid strong { font-size: 28px; }
  .sc-page-sponsor .workspace-content { padding-inline: 14px; }
  .sc-page-admin .sc-admin-header { padding-left: max(14px,env(safe-area-inset-left,0px)); padding-right: max(14px,env(safe-area-inset-right,0px)); }
  .sc-page-admin #page-title { font-size: 21px; }
  .sc-page-admin .sc-admin-switcher { padding-left: max(14px,env(safe-area-inset-left,0px)); padding-right: max(14px,env(safe-area-inset-right,0px)); }
  .sc-page-admin #admin-content { padding-left: max(12px,env(safe-area-inset-left,0px)); padding-right: max(12px,env(safe-area-inset-right,0px)); }
  .sc-page-site .sc-home-hero { padding-inline: 14px !important; }
  .sc-page-site .sc-public-hero-copy { padding-inline: 18px; }
  .sc-page-site .sc-home-hero .hero-title { font-size: 35px !important; }
}
                                                                          
.sc-page-auth #reset-modal,
.sc-page-admin :is(#editModal, #map-modal, #user-modal),
.sc-page-sponsor .modal {
  --modal-pad-top: max(14px,env(safe-area-inset-top,0px));
  --modal-pad-right: max(14px,env(safe-area-inset-right,0px));
  --modal-pad-bottom: max(14px,env(safe-area-inset-bottom,0px));
  --modal-pad-left: max(14px,env(safe-area-inset-left,0px));
  top: var(--visual-top,0px); bottom: auto; height: var(--visual-height,100vh);
  padding: var(--modal-pad-top) var(--modal-pad-right) var(--modal-pad-bottom) var(--modal-pad-left);
  overflow: hidden; overscroll-behavior: contain;
}
.sc-page-auth #reset-modal-content,
.sc-page-admin :is(#modalContent, #map-modal-content, #user-modal-content),
.sc-page-sponsor .modal-panel {
  max-height: calc(var(--visual-height,100vh) - var(--modal-pad-top,14px) - var(--modal-pad-bottom,14px));
  overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.sc-page-auth #reset-modal-content > div:first-child,
.sc-page-admin #map-modal-content > div:first-child { position: sticky; top: 0; z-index: 2; }
.sc-page-admin #map-modal-content { scroll-padding: 88px 0 24px; }
.sc-page-admin #user-modal-content > div:last-child { min-height: 0; overscroll-behavior: contain; scroll-padding-block: 18px; }
.sc-page-admin :is(#btn-close-map-modal, #btn-close-user-modal) { min-width: 44px; min-height: 44px; }
.sc-page-admin #modalContent > div:last-child { padding-bottom: max(18px,env(safe-area-inset-bottom,0px)); }
.sc-page-sponsor #sponsor-main { padding-left: env(safe-area-inset-left,0px); padding-right: env(safe-area-inset-right,0px); }
.sc-page-sponsor .auth-view { min-height: calc(var(--viewport-height,100vh) - 70px); }
.sc-page-sponsor .workspace-shell { min-height: calc(var(--viewport-height,100vh) - 102px); }
.sc-page-site #navbar > div:not([data-nav-menu]) { padding-left: max(16px,env(safe-area-inset-left,0px)); padding-right: max(16px,env(safe-area-inset-right,0px)); }
.sc-page-site #navbar [data-nav-menu] > div { padding-left: max(16px,env(safe-area-inset-left,0px)); padding-right: max(16px,env(safe-area-inset-right,0px)); }
.sc-page-site #navbar [data-nav-menu] > div > div {
  max-height: calc(var(--nav-menu-height, calc(var(--visual-height,100vh) - 82px - env(safe-area-inset-top,0px))) - env(safe-area-inset-bottom,0px));
  overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.sc-page-site .mobile-app-launcher { right: max(14px,env(safe-area-inset-right,0px)); }
.sc-page-site.keyboard-open .mobile-app-launcher { display: none; }
@media (max-width: 767px) {
  .sc-page-admin #editModal, .sc-page-sponsor .modal {
    --modal-pad-top: max(12px,env(safe-area-inset-top,0px));
    --modal-pad-right: env(safe-area-inset-right,0px);
    --modal-pad-bottom: 0px;
    --modal-pad-left: env(safe-area-inset-left,0px);
  }
}
@media (max-width: 999px) {
  .sc-page-sponsor .workspace-nav { padding-left: max(8px,env(safe-area-inset-left,0px)); padding-right: max(8px,env(safe-area-inset-right,0px)); }
  .sc-page-sponsor.keyboard-open .workspace-nav { display: none; }
}
@media (orientation: landscape) and (max-height: 520px) and (max-width: 1023px) {
  .sc-page-site #navbar { height: calc(70px + env(safe-area-inset-top,0px)); min-height: calc(70px + env(safe-area-inset-top,0px)); }
  .sc-page-site #navbar .nav-links-row { display: none; }
  .sc-page-site #navbar [data-nav-toggle] { display: inline-flex; }
  .sc-page-site #navbar [data-nav-menu]:not(.hidden) { display: block; }
  .sc-page-admin .sc-admin-sidebar { display: none; }
  .sc-page-admin .sc-admin-header { min-height: 0; padding: 10px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px)); gap: 8px; }
  .sc-page-admin #page-title { font-size: 22px; }
  .sc-page-admin .sc-admin-header-actions > a { display: none; }
  .sc-page-admin #adminMobileLogoutBtn { display: inline-flex; }
  .sc-page-admin .sc-admin-switcher { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 12px; padding: 0 max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px)); background: #fff; border-bottom: 1px solid var(--sc-line); }
  .sc-page-admin .sc-admin-switcher label { font-size: 12px; font-weight: 650; color: var(--sc-muted); }
  .sc-page-admin #admin-section-select { width: 100%; min-width: 0; min-height: 44px; padding: 9px 12px; border: 1px solid #d8c7e8; border-radius: 12px; font: inherit; font-size: 16px; color: var(--sc-purple); background: #f8f2ff; }
  .sc-page-admin #admin-content { padding: 12px max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px)); }
}
.sc-page-admin.keyboard-open .sc-admin-switcher,
.sc-page-admin.keyboard-open #connection-status { display: none; }
.sc-page-admin.keyboard-open .sc-admin-header { min-height: 0; padding-top: max(8px,env(safe-area-inset-top,0px)); padding-bottom: 8px; }
.sc-page-admin.keyboard-open #page-title { font-size: 20px; }
@media (prefers-reduced-motion: reduce) {
  .sc-pages-ui *, .sc-pages-ui *::before, .sc-pages-ui *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
