/* Shared conference interface. Loaded last so page-specific legacy styles
   cannot drift away from the common type, spacing and interaction system. */
:root {
  --ui-radius: 20px;
  --ui-control-radius: 12px;
  --ui-shadow: 0 8px 32px rgb(5 43 64 / 6%);
  --ui-shadow-raised: 0 16px 40px rgb(5 43 64 / 11%);
  --ui-focus: #c38c1d;
  --motion-fast: 160ms;
  --motion-content: 260ms;
  --motion-ease: cubic-bezier(.2,.7,.25,1);
}
body {font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea {font:inherit}
h1,h2,h3,h4,h5,h6 {text-wrap:balance}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3 {letter-spacing:0}
a,button {touch-action:manipulation}
button,[role=button],summary {cursor:pointer}
button:disabled,[aria-disabled=true] {cursor:not-allowed}
input,textarea,select {accent-color:var(--aatc-sea,#087d87)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--ui-focus)!important;outline-offset:4px!important;
}
::selection {background:#a4ece3;color:#052b40}
:where(.btn,.filter-pill,.agenda-tab-btn,.faq-btn,.btn-action,.btn-gateway,.p-btn,.act-btn,.next-btn,.action-btn,.bottom-nav-item,.btn-login) {
  min-height:44px;transition:color var(--motion-fast),background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast);
}
:where(.btn,.btn-action,.btn-gateway,.btn-login,.feedback-submit,.feedback-edit) {border-radius:var(--ui-control-radius);font-weight:600}
.form-control,.form-select {min-height:48px;border-radius:var(--ui-control-radius);line-height:1.6;padding:12px 16px}
.form-control:focus,.form-select:focus {border-color:#087d87;box-shadow:0 0 0 4px #087d8714}
.form-label {font-size:.9rem;font-weight:600;line-height:1.6;margin-bottom:10px}
input::placeholder,textarea::placeholder {opacity:1}
:where(.btn,button)[aria-busy=true] {cursor:progress}
.public-site .container {max-width:1248px}
.public-site #mainNav {background:#fff!important;border-bottom:1px solid #dbe7eb;box-shadow:0 4px 20px #052b4005;padding-block:12px!important}
.public-site #mainNav .nav-link {font-size:.85rem!important;font-weight:500;padding:10px 12px!important;border-radius:10px;color:#355767!important}
.public-site #mainNav .nav-link:hover {background:#edf6f6;color:#087d87!important}
.public-site #mainNav .nav-link[aria-current=page] {background:#edf6f6;color:#086971!important;font-weight:650}
.public-site #mainNav .navbar-toggler {min-width:44px;min-height:44px;border-radius:10px;background:#edf6f6}
.public-site #mainNav .navbar-toggler i {color:#08354b!important}
.public-site #mainNav .btn {min-height:44px;font-size:.83rem;padding:10px 16px;border-radius:12px}
.public-site #mainNav img {filter:none!important}
.public-site .conference-intro {padding-block:148px 64px;background:radial-gradient(ellipse at 10% 20%,#0a4959 0,transparent 55%),#052b40}
.public-site .conference-intro .hero-layout {gap:clamp(40px,6vw,96px);grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr)}
.public-site .conference-intro .hero-kicker {font-size:.8rem;margin-bottom:20px;color:#b9d9de}
.public-site .conference-intro .hero-heading {font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.8;font-weight:500;color:#eaf6f5;margin-bottom:16px}
.public-site .conference-intro .intro-statement {font-size:clamp(3rem,5.6vw,4.8rem);line-height:1.2;font-weight:650;letter-spacing:-.025em}
html[lang=ar] .public-site .conference-intro .intro-statement {font-size:clamp(2.8rem,5vw,4.3rem);line-height:1.45;letter-spacing:0}
.public-site .conference-intro .hero-summary {font-size:1rem;line-height:1.9;color:#d0e5ea;margin-block:20px 24px;max-width:540px}
.public-site .conference-intro .hero-actions {gap:12px;margin-bottom:28px}
.public-site .conference-intro .hero-actions .btn {padding:14px 22px;min-height:52px;border-radius:12px;font-size:.95rem;box-shadow:none}
.public-site .conference-intro .hero-meta {gap:14px 24px;padding-top:24px;font-size:.82rem;line-height:1.8;border-color:#ffffff24}
.public-site .conference-intro .hero-countdown {margin-top:24px}
.public-site .conference-intro #countdownActive {gap:14px}
.public-site .conference-intro #countdownActive strong {font-size:1.6rem}
.public-site .conference-intro #countdownActive small {font-size:.72rem}
.public-site .conference-intro .hero-art {max-width:440px;width:100%}
.public-site .conference-intro .hero-poster {border-radius:18px;border:1px solid #ffffff30;box-shadow:0 24px 56px #00152355;overflow:hidden;transition:transform 260ms var(--motion-ease),box-shadow 260ms}
.public-site .conference-intro .poster-caption {font-size:.78rem;color:#bed8df;margin-top:18px}
.public-site .conference-intro .hero-collaboration {font-size:.8rem;color:#bed8df;margin-top:18px;padding-top:18px}
.intro-typography {margin-bottom:4px}
.intro-replay {font-size:.75rem;color:#b9d9de}
.public-site .home-paths {padding-block:56px 72px}
.public-site .home-paths>h2 {font-size:1.65rem;font-weight:600;margin-bottom:28px}
.public-site .home-path-grid {gap:20px}
.public-site .home-path {padding:30px 24px;border-radius:20px;border-color:#dbe7eb;box-shadow:var(--ui-shadow);min-height:208px}
.public-site .home-path>i {width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#edf6f6;color:#087d87;font-size:1.2rem;margin-bottom:22px}
.public-site .home-path:first-child {background:#08354b;border-color:#08354b}
.public-site .home-path:first-child>i {background:#ffffff14;color:#a4ece3}
.public-site .home-path h3 {font-size:1.05rem;font-weight:600;line-height:1.7}
.public-site .home-path p {font-size:.87rem;line-height:1.8}
.public-site .path-arrow {top:34px;inset-inline-end:24px}
.public-site .home-audience {margin-top:28px;font-size:.9rem}
.public-site .page-heading {padding-top:140px;padding-bottom:40px;border-bottom:1px solid #dbe7eb;margin-bottom:24px}
.public-site .page-heading h1 {font-size:clamp(2rem,3.5vw,3rem);font-weight:650;line-height:1.55;margin-top:18px}
.public-site .page-heading>a {font-size:.88rem;display:inline-flex;align-items:center;min-height:44px}
.public-site :is(.pillar-card,.speaker-card,.gallery-card,.timeline-content,.reference-card,.conference-facts article) {border-color:#dbe7eb;border-radius:20px;box-shadow:var(--ui-shadow)}
.public-site .speaker-body {padding:24px}
.public-site .speaker-body h5 {font-size:1.2rem}
.public-site .speaker-topic-box {padding:14px 16px;border-radius:0 12px 12px 0}
.public-site .timeline {gap:24px}
.public-site .timeline-content {padding:28px}
.public-site .timeline-content h5 {font-size:1.2rem}
.public-site .timeline-content .timeline-time {font-variant-numeric:tabular-nums}
.public-site .filter-pill {min-height:46px;padding:10px 20px;font-size:.9rem;border-radius:12px}
.public-site .faq-btn {min-height:64px;font-size:1rem;padding:22px 24px}
.public-site .faq-item {border-radius:16px;margin-bottom:14px}
.public-site .faq-body {font-size:.95rem;line-height:1.85}
.public-site .gallery-grid {gap:24px}
.public-site .gallery-overlay {padding:18px;font-size:.88rem;line-height:1.7}
.public-site .poster-search input {font-size:1rem;min-height:48px}
.public-site .official-support {border-radius:20px;padding:32px}
.public-site footer {background:#fff!important}
.public-site footer p.text-muted {font-size:.78rem!important;letter-spacing:.06em!important}
.public-site .wa-floating-btn {border-radius:18px;width:52px;height:52px}
.participant-portal,.staff-login {padding:84px 20px 40px;min-height:100dvh}
.staff-login {background:#052b40!important;background-image:radial-gradient(ellipse at top,#0a4959,transparent 65%)!important}
.staff-login .login-card>p:last-child {color:#b9d2dc!important}
.staff-login .login-card a[href="admin.html"] {color:#b9d2dc!important;display:inline-flex;align-items:center;min-height:44px;font-size:.85rem!important}
.participant-portal .gateway-card,.staff-login .login-card {border-radius:28px!important;border:1px solid #ffffff24!important;padding:36px 32px;box-shadow:0 24px 64px #00152355!important}
.participant-portal .gateway-card {max-width:480px}
.participant-portal .logo-main-wrap {width:96px!important;height:96px!important;margin-bottom:20px!important;box-shadow:none!important}
.participant-portal .logo-main-wrap>img {width:80px!important;height:80px!important}
.participant-portal #roleTag {border-radius:999px;font-size:.8rem!important;letter-spacing:0!important;padding:6px 14px!important}
.participant-portal .gateway-title,.staff-login .login-title {font-size:1.8rem;line-height:1.5;letter-spacing:-.02em}
.participant-portal .gateway-sub,.staff-login .login-sub {font-size:.95rem;line-height:1.8;color:#c4dde4}
.participant-portal .form-control,.staff-login .form-control {min-height:52px;font-size:1rem;background:#ffffff09;border-color:#537a89;color:#fff}
.participant-portal .form-control::placeholder,.staff-login .form-control::placeholder {color:#b9d2dc}
.participant-portal .btn-gateway,.staff-login .btn-login {min-height:52px;border-radius:12px;font-size:1rem;box-shadow:none}
.participant-portal .btn-gateway {background:#a4ece3;color:#052b40;border-color:#a4ece3}
.participant-portal .portal-id-card {border-radius:20px;padding:28px 20px;gap:16px}
.portal-home {border-radius:12px;min-height:44px;font-size:.85rem;padding:10px 16px}
.participant-page {padding-inline:20px}
.participant-page :is(.cert-card,.verify-card,.feedback-page-card) {border-radius:24px;border:1px solid #ffffff24;box-shadow:0 24px 60px #00152333}
.participant-page .page-header h1 {font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.5}
.participant-page .page-header p {font-size:1rem;line-height:1.7}
.participant-page :is(.btn-cert-submit,.btn-action,.feedback-submit,.feedback-edit) {min-height:48px;font-size:.95rem;border-radius:12px}
.participant-page .input-serial {font-size:1rem;min-height:52px;border-radius:12px}
.conference-feedback {border-radius:18px;padding:24px}
.feedback-option span {border-radius:12px;min-height:84px;padding:14px 4px}
.feedback-option small {font-size:.75rem}
.admin-page {background:#f5f9fa}
.admin-page .container,.admin-page .container-fluid {padding-inline:24px}
.admin-page .console-heading {margin-block:24px 32px}
.admin-page .console-heading h1 {font-size:2rem;font-weight:650}
.admin-page .console-heading p {font-size:.95rem;line-height:1.7}
.admin-page :is(.card-flat,.card-glass,.stat-card) {border:1px solid #dbe7eb;border-radius:20px;box-shadow:var(--ui-shadow)}
.admin-page .stat-card {padding:26px;min-height:144px}
.admin-page .stat-card h3 {font-size:2.3rem;line-height:1.2}
.admin-page .stat-card p {font-size:.88rem}
.admin-page .nav-pills {gap:8px;border-radius:18px!important;padding:10px!important}
.admin-page .nav-pills .nav-link {padding:12px 18px;min-height:48px;font-size:.9rem;font-weight:500!important;border-radius:12px}
.admin-page .nav-pills .nav-link:not(.active):hover {background:#edf6f6;color:#08354b}
.admin-page .section-header h5 {font-size:1.2rem;line-height:1.6}
.admin-page .table {--bs-table-hover-bg:#edf6f6;font-size:.9rem}
.admin-page .table thead th {padding:16px;font-size:.82rem;font-weight:600;white-space:nowrap}
.admin-page .table td {padding:16px;line-height:1.6}
.admin-page .btn {font-size:.88rem;min-height:44px;border-radius:12px}
.admin-page .btn-sm {min-height:40px}
.admin-page .report-summary>div {border-radius:18px;padding:24px;box-shadow:var(--ui-shadow)}
.admin-page.dark {background:#071e2d!important;color:#eaf6f5}
.admin-page.dark :is(.card-flat,.card-glass,.stat-card,.nav-pills,.report-summary>div) {background:#0c2d3e!important;border-color:#315265!important}
.admin-page.dark .navbar-custom {background:#0c2d3e!important;border-color:#315265!important}
.admin-page.dark .text-muted,.admin-page.dark .form-label,.admin-page.dark .table {color:#c0d8e1!important}
.admin-page.dark :is(h1,h2,h3,h4,h5,h6,.text-dark),.admin-page.dark .table strong {color:#eaf6f5!important}
.admin-page.dark :is(.text-primary,.text-primary-custom,.text-accent,.text-info) {color:#a4ece3!important}
.admin-page.dark a:not(.btn):not(.nav-link) {color:#a4ece3}
.admin-page.dark .table thead th {background:#12394b!important;color:#c0d8e1!important}
.admin-page.dark .form-control,.admin-page.dark .form-select {background:#092637!important;border-color:#537a89!important;color:#eaf6f5!important}
.admin-page.dark .form-control::placeholder {color:#a9c4cf!important}
.admin-page.dark .nav-link:not(.active):hover {background:#174659;color:#eaf6f5}
.admin-page.dark .nav-pills .nav-link:not(.active) {background:transparent!important;color:#c0d8e1!important}
.admin-page.dark .nav-pills .nav-link.active {background:#a4ece3!important;color:#052b40!important}
.admin-page.dark #roleBreakdown>div,.admin-page.dark #gatesLive>div {background:#12394b!important;border-color:#315265!important;color:#eaf6f5}
.admin-page.dark #roleBreakdown>div>div:first-child,.admin-page.dark #gatesLive>div>div:first-child {color:#eaf6f5!important}
.admin-page.dark #roleBreakdown>div>div:last-child,.admin-page.dark #gatesLive>div>div:first-child>div:last-child {color:#b9d2dc!important}
.admin-page.dark #gatesLive>div>div:last-child>span:first-child {color:#a4ece3!important}
.admin-page.dark #gatesLive>div>div:last-child>span:last-child {color:#ffb8bb!important}
.registration-page .controls-wrap,.scanner-page .container {max-width:1200px}
.registration-page :is(.list-section,.registration-result),.scanner-page :is(.recent-section,.card-glass) {border-radius:20px;box-shadow:var(--ui-shadow)}
.registration-page .registration-manual-form {padding:20px;background:#f5f9fa;border:1px solid #dbe7eb;border-radius:16px}
.registration-page .registration-manual-form label {font-size:.9rem;font-weight:500}
.registration-page .registration-manual-form input {font-size:1rem;min-height:48px}
.registration-page :is(.p-btn,.act-btn,.next-btn),.scanner-page :is(.action-btn,.next-scan-btn) {border-radius:12px;min-height:48px}
.registration-page .bottom-nav,.scanner-page .bottom-nav {padding-bottom:env(safe-area-inset-bottom,0px)}
.registration-page .bottom-nav-item,.scanner-page .bottom-nav-item {min-height:52px;font-size:.8rem}
.swal2-popup {border-radius:24px!important;font-family:var(--font-en);box-shadow:0 24px 64px #00152326!important}
html[lang=ar] .swal2-popup {font-family:var(--font-ar)}
.swal2-title {font-size:1.5rem!important;line-height:1.5!important}
.swal2-actions button {min-height:48px;border-radius:12px!important;font-size:.95rem!important}
.swal2-close {min-width:44px;min-height:44px}
.setup-page {padding:64px 20px;background:#052b40;color:#eaf6f5;min-height:100dvh;margin:0;font-family:var(--font-ar)}
.setup-page main {background:#08354b;border:1px solid #315265;max-width:560px;padding:36px;border-radius:28px;margin:auto;box-shadow:0 24px 64px #00152355}
.setup-page h1 {font-size:1.7rem;line-height:1.6}
.setup-page p {font-size:.95rem;line-height:1.9;color:#c0d8e1}
.setup-page label {font-size:.9rem;font-weight:500}
.setup-page input {border:1px solid #537a89;border-radius:12px;background:#ffffff09;color:#fff;padding:12px 16px;font:inherit;min-height:52px}
.setup-page button {font:600 1rem var(--font-ar);background:#a4ece3;color:#052b40;border-radius:12px;min-height:52px;margin-bottom:16px}
.setup-page a {color:#a4ece3;min-height:44px;display:inline-flex;align-items:center}
.setup-page #status {overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine) {
  .public-site :is(.home-path,.speaker-card,.reference-card,.gallery-card):hover {transform:translateY(-4px);box-shadow:var(--ui-shadow-raised)}
  :where(.btn,.btn-gateway,.btn-login,.btn-action):not(:disabled):hover {transform:translateY(-1px)}
}
:where(.btn,.btn-gateway,.btn-login,.btn-action,.filter-pill,.p-btn):not(:disabled):active {transform:translateY(1px)}
@media(min-width:768px) and (max-width:1199px) {
  .public-site .conference-intro .intro-statement,html[lang=ar] .public-site .conference-intro .intro-statement {font-size:3rem}
  .public-site .conference-intro .hero-layout {gap:32px}
}
@media(max-width:767px) {
  .public-site .container {padding-inline:20px}
  .public-site #mainNav {padding-block:8px!important}
  .public-site #navMenu {max-height:calc(100dvh - 80px);overflow-y:auto;padding-block:16px}
  .public-site #mainNav .nav-link {font-size:.95rem!important;padding:12px!important}
  .public-site .conference-intro {padding-block:112px 48px}
  .public-site .conference-intro .hero-layout {grid-template-columns:minmax(0,1fr);gap:36px}
  .public-site .conference-intro .intro-statement,html[lang=ar] .public-site .conference-intro .intro-statement {font-size:clamp(2.5rem,10vw,4rem)}
  .public-site .conference-intro .hero-summary {font-size:.95rem}
  .public-site .conference-intro .hero-actions .btn {padding:12px 16px;font-size:.9rem}
  .public-site .conference-intro .hero-art {max-width:390px;margin-inline:auto}
  .public-site .home-paths {padding-block:40px 48px}
  .public-site .home-path-grid {gap:12px}
  .public-site .home-path {padding:22px 16px;min-height:208px}
  .public-site .home-path h3 {font-size:.93rem}
  .public-site .home-path p {font-size:.8rem}
  .public-site .path-arrow {inset-inline-end:16px;top:26px}
  .public-site .page-heading {padding-top:108px;padding-bottom:28px}
  .public-site .gallery-grid {gap:14px}
  .public-site .gallery-overlay {padding:14px;font-size:.8rem}
  .public-site .timeline-content {padding:24px}
  .participant-portal .gateway-card,.staff-login .login-card {padding:28px 22px;border-radius:24px!important}
  .participant-page {padding-inline:12px}
  .admin-page .container,.admin-page .container-fluid {padding-inline:16px}
  .admin-page .stat-card {padding:20px;min-height:132px}
  .admin-page .stat-card h3 {font-size:2rem}
  .admin-page .nav-pills .nav-link {padding:12px 16px}
  .admin-page .report-summary>div {padding:18px}
  .registration-page .registration-manual-form {padding:16px}
  .setup-page {padding:32px 16px}
  .setup-page main {padding:28px 22px}
  input,select,textarea {font-size:16px!important}
}
@media(max-width:359px) {.public-site .home-path-grid {grid-template-columns:1fr}.public-site .home-path {min-height:0}.public-site .home-path>i {margin-bottom:16px}}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .public-site :is(.home-path,.speaker-card,.reference-card,.gallery-card,.hero-poster):hover {transform:none}
}
@media print {
  body {background:#fff!important;color:#111!important}
  .admin-page.dark :is(.card-flat,.card-glass,.stat-card,.report-summary>div) {background:#fff!important;color:#111!important;border-color:#bbb!important;box-shadow:none!important}
  .admin-page.dark :is(h1,h2,h3,h4,h5,h6,.text-muted,.text-dark,.text-primary,.text-primary-custom,.text-accent,.text-info),.admin-page.dark .table,.admin-page.dark .table strong {color:#111!important}
  .admin-page.dark .table thead th {background:#f2f7f8!important;color:#111!important}
  .public-site #mainNav,.portal-home,.bottom-nav {display:none!important}
  .public-site .page-heading {padding-top:24px}
}
