/* Phase 14 mobile-app readiness layer: app-like dock, touch spacing, and card tables. */
.dc-mobile-dock{display:none;}

@media (max-width: 991.98px){
  :root{--dc-mobile-dock-height:78px;}
  body{padding-bottom:calc(var(--dc-mobile-dock-height) + env(safe-area-inset-bottom));}
  .dc-mobile-dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:1085;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(244,247,251,.48),rgba(244,247,251,.94));backdrop-filter:blur(18px);border-top:1px solid rgba(7,18,87,.12);box-shadow:0 -18px 42px rgba(7,18,87,.18);}
  .dc-mobile-dock__bar{max-width:620px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;background:#ffffff;border:1px solid rgba(7,18,87,.12);border-radius:26px;padding:7px;box-shadow:0 16px 44px rgba(7,18,87,.16);}
  .dc-mobile-dock__item{appearance:none;border:0;background:transparent;text-decoration:none;color:#536072;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:-.01em;line-height:1.1;}
  .dc-mobile-dock__item:focus-visible{outline:3px solid rgba(22,70,184,.25);outline-offset:2px;}
  .dc-mobile-dock__item.active{background:#071257;color:#ffffff;box-shadow:0 10px 24px rgba(7,18,87,.24);}
  .dc-mobile-dock__item:not(.active):hover{background:#F4F7FB;color:#071257;}
  .dc-mobile-dock__icon{width:21px;height:21px;display:inline-grid;place-items:center;}
  .dc-mobile-dock__icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
  .site-header{box-shadow:0 8px 26px rgba(7,18,87,.08);}
  .navbar{min-height:68px;}
  .dc-navbar-brand{gap:10px;}
  .dc-nav-brand-text small{font-size:11px;}
  .dc-landing-hero,.page-hero{padding-top:28px;padding-bottom:34px;}
  .dc-landing-title,.display-5{font-size:clamp(2.05rem,10vw,3.3rem);line-height:.98;letter-spacing:-.055em;}
  .dc-landing-copy,.dc-lead{font-size:1.02rem;line-height:1.6;}
  .dc-landing-actions,.registration-form .d-flex{gap:12px;}
  .dc-landing-actions .btn,.registration-form .btn,.mobile-full-width{width:100%;}
  .dc-card,.registration-card,.operation-form-card,.admin-user-card,.dc-facility-card{border-radius:26px;box-shadow:0 16px 44px rgba(7,18,87,.10);}
  .dc-section{padding-top:42px;padding-bottom:42px;}
  .form-control,.form-select{min-height:52px;border-radius:16px;font-size:16px;}
  textarea.form-control{min-height:110px;}
  .btn{min-height:48px;border-radius:999px;font-weight:800;}
  .registration-choice{border-radius:22px;min-height:112px;}
  .admin-operation-tabs,.admin-setup-tabs,.attendee-nav .container{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .admin-operation-tabs .btn,.admin-setup-tabs .btn,.attendee-nav-link{scroll-snap-align:start;white-space:nowrap;}
  #admin-content{padding-bottom:calc(var(--dc-mobile-dock-height) + 28px)!important;}
}

@media (max-width: 767.98px){
  .table-responsive.admin-table-wrap,.table-responsive{border:0;overflow:visible;}
  table.dc-mobile-card-table{width:100%;border-collapse:separate!important;border-spacing:0 12px!important;}
  table.dc-mobile-card-table thead{display:none!important;}
  table.dc-mobile-card-table tbody,table.dc-mobile-card-table tr,table.dc-mobile-card-table td{display:block;width:100%;}
  table.dc-mobile-card-table tr{background:#fff;border:1px solid rgba(7,18,87,.10);border-radius:22px;margin-bottom:14px;padding:10px 12px;box-shadow:0 14px 34px rgba(7,18,87,.08);}
  table.dc-mobile-card-table td{border:0!important;border-bottom:1px solid rgba(7,18,87,.08)!important;padding:10px 4px!important;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;text-align:right;color:#111827;}
  table.dc-mobile-card-table td:last-child{border-bottom:0!important;}
  table.dc-mobile-card-table td::before{content:attr(data-label);flex:0 0 44%;text-align:left;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#071257;}
  table.dc-mobile-card-table td[data-label=""],table.dc-mobile-card-table td:not([data-label]){display:block;text-align:left;}
  table.dc-mobile-card-table td[data-label=""]::before,table.dc-mobile-card-table td:not([data-label])::before{content:none;}
  table.dc-mobile-card-table .btn{width:100%;margin-top:6px;}
  .operation-filter-bar,.setup-filter-bar{display:grid!important;grid-template-columns:1fr;gap:12px;}
  .operation-local-search{width:100%;}
  .dc-shell-topbar{border-radius:24px;padding:18px;}
  .footer-link,.site-footer .btn{min-height:44px;display:inline-flex;align-items:center;}
}


/* Mobile header cleanup
   Top hamburger is removed because mobile navigation uses the bottom menu.
   Brand is centered on mobile for a cleaner app-like feel.
*/

@media (max-width: 991.98px) {
    .site-header .navbar {
        min-height: 68px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .site-header .dc-header-container {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .site-header .dc-navbar-brand {
        margin: 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        max-width: 90%;
        text-align: left;
    }

    .site-header .dc-nav-mark {
        width: 34px;
        height: 34px;
        object-fit: contain;
        flex: 0 0 auto;
    }

    .site-header .dc-nav-brand-text {
        display: flex;
        flex-direction: column;
        line-height: 1.05;
    }

    .site-header .dc-nav-brand-text strong {
        font-size: 1rem;
        font-weight: 800;
        color: var(--dc-navy, #071257);
        white-space: nowrap;
    }

    .site-header .dc-nav-brand-text small {
        font-size: 0.72rem;
        color: var(--dc-muted, #5B6472);
        white-space: nowrap;
    }

    .site-header .dc-desktop-nav {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .site-header .dc-header-container {
        display: flex;
        align-items: center;
    }

    .site-header .dc-navbar-brand {
        margin-right: 32px;
    }
}

/* Attendee card QR production fix */
.attendee-card-visual {
  overflow: hidden;
}

.attendee-qr-box {
  max-width: 100%;
  align-items: center;
  justify-content: center;
}

.attendee-qr-box canvas,
.attendee-qr-box img {
  width: min(100%, 240px);
  height: auto;
  max-width: 240px;
  display: block;
}

.attendee-qr-status {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.attendee-qr-status--ready {
  color: rgba(255, 255, 255, .92);
}

.attendee-qr-status--warning {
  color: #FFE8A3;
}

[data-attendee-qr-token] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 767.98px) {
  .attendee-card-visual {
    padding: 1.25rem !important;
    border-radius: 24px;
  }

  .attendee-qr-box canvas,
  .attendee-qr-box img {
    width: min(100%, 220px);
    max-width: 220px;
  }
}
