
:root{
  --pt-blue:#0f4c81;
  --pt-blue-dark:#0b365c;
  --bg:#f4f7fb;
  --card:#ffffff;
  --border:#d9e3ef;
  --text:#1f2937;
  --muted:#6b7280;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Avenir, "Avenir Next", "Segoe UI", Arial, sans-serif}
h1,h2,h3,.brand{font-family:'Raleway', Arial, sans-serif}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:white;border-bottom:1px solid var(--border);position:sticky;top:0}
.brand-wrap{display:flex;gap:12px;align-items:center}
.logo{width:52px;height:52px}
.brand{font-size:1.4rem;font-weight:800;color:var(--pt-blue)}
.subbrand{color:var(--muted);font-size:.95rem}
.nav a{margin-left:10px;text-decoration:none;color:var(--pt-blue-dark);font-weight:700}
.container{max-width:1200px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:20px;box-shadow:0 10px 24px rgba(10,40,80,.06);margin-bottom:20px}
.narrow{max-width:520px;margin:60px auto}
.grid{display:grid;gap:16px}
.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.cols-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.cols-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.cols-6{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.kpi-label{color:var(--muted);font-size:.9rem}
.kpi-value{font-size:2rem;font-weight:800;color:var(--pt-blue)}
.flash{background:#eaf4ff;border:1px solid #b9d6f3;padding:12px 14px;border-radius:14px;margin-bottom:12px}
form.stack{display:grid;gap:10px}
input,select,textarea,button{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);font:inherit}
button,.small-btn{background:var(--pt-blue);color:white;border:none;text-decoration:none;display:inline-block;padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}
button.secondary,.small-btn.secondary{background:white;color:var(--pt-blue);border:1px solid var(--border)}
.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid var(--border);vertical-align:top;text-align:left}
th{color:var(--muted)}
.muted{color:var(--muted)}
.center{text-align:center}
.hidden{display:none}
.pager{display:flex;justify-content:center;gap:14px;align-items:center;margin-top:14px}
.kiosk-wrap{max-width:760px;margin:0 auto;display:grid;gap:18px}
.kiosk-card{text-align:center}
.nfc-pulse{width:110px;height:110px;margin:10px auto 20px;border-radius:999px;background:radial-gradient(circle, rgba(15,76,129,.22) 0%, rgba(15,76,129,.08) 40%, rgba(15,76,129,0) 65%);position:relative;animation:pulse 1.6s infinite}
.nfc-pulse::after{content:"";position:absolute;inset:22px;border-radius:999px;background:var(--pt-blue)}
.divider{margin:8px 0;color:var(--muted);font-weight:700}
details summary{cursor:pointer;color:var(--pt-blue);font-weight:700}
@keyframes pulse{
  0%{transform:scale(.95);opacity:.7}
  70%{transform:scale(1.05);opacity:1}
  100%{transform:scale(.95);opacity:.7}
}

.actions-cell{display:flex;gap:8px;align-items:center;white-space:nowrap}
.inline-icon-form{display:inline}
.icon-btn{width:40px;min-width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-size:18px;line-height:1;background:var(--pt-blue);color:#fff;border:none;text-decoration:none;cursor:pointer}
.icon-btn.secondary{background:#fff;color:var(--pt-blue);border:1px solid var(--border)}
.icon-btn.danger{background:#b42318;color:#fff}
.status-pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.86rem;font-weight:700}
.status-pill.active{background:#e8f7ef;color:#136c3f}
.status-pill.archived{background:#eef2f6;color:#475467}
.icon-summary{font-weight:700;color:var(--pt-blue)}
.kiosk-wrap .card.kiosk-card:last-child{margin-top:0}

.logo-preview{max-width:220px;max-height:120px;display:block;margin-bottom:16px}


.kiosk-body{background:linear-gradient(180deg,#eef5fb 0%,#f8fbfe 100%)}
.kiosk-shell{min-height:100vh}
.kiosk-topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:white;border-bottom:1px solid var(--border)}
.kiosk-container{max-width:1100px}
.kiosk-nav{display:flex;gap:10px;align-items:center}
.kiosk-nav a{text-decoration:none;color:var(--pt-blue-dark);font-weight:700;background:white;border:1px solid var(--border);padding:10px 14px;border-radius:999px}
.kiosk-nav-item-group{display:flex;align-items:center;gap:8px}
.kiosk-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0 !important;border-radius:999px;font-size:1rem;line-height:1}
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}
.secret-admin-link{position:fixed;right:8px;top:8px;width:18px;height:18px;opacity:0.01;z-index:9999}
.kiosk-main-card{max-width:760px;margin-left:auto;margin-right:auto}
.leaderboard-header{justify-content:space-between}
.trophy{font-size:1.1rem}
@media (max-width: 800px){
  .kiosk-topbar{flex-direction:column;align-items:flex-start;gap:12px}
}

.success-card{border:2px solid rgba(15,76,129,.15)}
.progress-block{margin-top:10px}
.progress-bar{height:14px;border-radius:999px;background:#e6eef7;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--pt-blue),#3d84bf)}

.wysiwyg-editor{min-height:140px;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
.editor-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.editor-toolbar button{width:auto;padding:8px 10px}
.qr-preview{max-width:180px;border:1px solid var(--border);border-radius:12px;padding:8px;background:#fff}
.announcement-box{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:16px;background:#f8fbff}
.announcement-content p:first-child{margin-top:0}
.announcement-content p:last-child{margin-bottom:0}
.qr-block{text-align:center;margin-top:12px}


.small-btn.danger{background:#b42318;color:#fff}
.kiosk-body{overflow:hidden}
.kiosk-shell{min-height:100vh;display:flex;flex-direction:column}
.kiosk-container{max-width:1280px;flex:1;display:flex;align-items:stretch}
.kiosk-split{display:grid;grid-template-columns:minmax(360px, 1fr) minmax(420px, 1.15fr);gap:18px;width:100%;align-items:stretch;height:calc(100vh - 140px);overflow:hidden}
.kiosk-left,.kiosk-right{display:flex;flex-direction:column;gap:18px;min-height:0}
.kiosk-left .card,.kiosk-right .card{margin-bottom:0}
.kiosk-list-card{flex:1;display:flex;flex-direction:column;min-height:0}
.kiosk-list-card table{display:block;overflow:auto;max-height:100%}
.kiosk-main-card{max-width:none;margin-left:0;margin-right:0}
.success-card{display:flex;flex-direction:column;justify-content:center;min-height:240px}
.announcement-box{max-height:220px;overflow:auto}
@media (max-width: 980px){
  .kiosk-body{overflow:auto}
  .kiosk-container{display:block}
  .kiosk-split{grid-template-columns:1fr;height:auto;overflow:visible}
  .kiosk-left,.kiosk-right{min-height:auto}
  .kiosk-list-card table{max-height:none}
}


/* Version 6.3 kiosk splash fix */
.kiosk-container{max-width:1400px}
.kiosk-split{grid-template-columns:minmax(430px, 0.95fr) minmax(430px, 1.05fr);gap:20px;height:calc(100vh - 150px)}
.kiosk-left,.kiosk-right{min-height:0}
.kiosk-main-card{min-height:420px;display:flex;flex-direction:column;justify-content:center}
.kiosk-list-card{min-height:420px}
.compact-table th,.compact-table td{padding:8px 10px;font-size:.95rem}
.kiosk-list-card table{display:block;overflow:auto;max-height:100%}
.kiosk-modal-overlay{
  position:fixed; inset:0; background:rgba(15,23,42,.62); z-index:9998;
  display:flex; align-items:center; justify-content:center; padding:24px;
  backdrop-filter: blur(2px);
}
.kiosk-modal-card{
  width:min(760px, 92vw); max-height:88vh; overflow:auto;
  background:#fff; border-radius:28px; padding:28px; box-shadow:0 30px 80px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.5); text-align:center;
}
.kiosk-tick-wrap{position:relative; width:110px; height:110px; margin:0 auto 14px auto}
.kiosk-tick-ring{
  position:absolute; inset:0; border-radius:999px;
  background:radial-gradient(circle, rgba(15,76,129,.14) 0%, rgba(15,76,129,.08) 45%, rgba(15,76,129,0) 68%);
  animation: modalPulse 1.5s infinite ease-in-out;
}
.kiosk-tick{
  position:absolute; inset:18px; border-radius:999px; background:var(--pt-blue);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:52px; font-weight:800; box-shadow:0 16px 36px rgba(15,76,129,.28);
  animation: modalPop .45s ease-out;
}
.modal-progress-block{margin-top:16px}
.modal-announcement-box{text-align:left; margin-top:18px}
.kiosk-body{overflow:hidden}
@keyframes modalPulse{
  0%{transform:scale(.9); opacity:.75}
  70%{transform:scale(1.05); opacity:1}
  100%{transform:scale(.9); opacity:.75}
}
@keyframes modalPop{
  0%{transform:scale(.6); opacity:0}
  100%{transform:scale(1); opacity:1}
}
@media (max-width: 1100px){
  .kiosk-body{overflow:auto}
  .kiosk-split{grid-template-columns:1fr;height:auto}
  .kiosk-main-card,.kiosk-list-card{min-height:auto}
}


/* 6.3 announcement sizing fix */
.announcement-content{
  display:-webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow:hidden;
  max-height: 14.5em;
}
.modal-announcement-box{
  max-height:none !important;
  overflow:hidden !important;
}
.qr-preview{
  width: min(140px, 22vw) !important;
  height: min(140px, 22vw) !important;
  object-fit: contain;
}
.qr-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin-top:10px;
}
.kiosk-modal-card{
  overflow:hidden;
}


/* Responsive modal and admin action tweaks */
.action-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kiosk-modal-overlay{
  position:fixed; inset:0; background:rgba(15,23,42,.62); z-index:9998;
  display:flex; align-items:center; justify-content:center; padding:20px;
  backdrop-filter: blur(2px);
}
.kiosk-modal-card{
  width:min(820px, 94vw);
  max-height:min(90vh, 900px);
  overflow:auto;
  background:#fff; border-radius:28px; padding:24px 24px 22px;
  box-shadow:0 30px 80px rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.5);
  text-align:center;
}
.modal-progress-block{width:min(700px, 100%);margin:16px auto 0}
.modal-announcement-box{
  width:min(760px, 100%);
  margin:18px auto 0;
  overflow:hidden !important;
  max-height:none !important;
}
.announcement-content{
  display:-webkit-box;
  -webkit-line-clamp:8;
  -webkit-box-orient: vertical;
  overflow:hidden;
  max-height:14.6em;
  line-height:1.5;
}
.qr-preview{
  width:min(160px, 28vw) !important;
  height:min(160px, 28vw) !important;
  max-width:100%;
  object-fit:contain;
}
.qr-block{display:flex;flex-direction:column;align-items:center;gap:8px}
@media (max-width: 1024px){
  .kiosk-split{
    grid-template-columns:minmax(300px, .95fr) minmax(300px, 1.05fr);
    height:calc(100vh - 138px);
  }
  .kiosk-main-card,.kiosk-list-card{min-height:0}
}
@media (max-width: 820px){
  .kiosk-body{overflow:auto}
  .kiosk-split{grid-template-columns:1fr;height:auto;overflow:visible}
  .kiosk-modal-card{width:min(96vw, 760px);max-height:92vh;padding:20px 16px}
  .announcement-content{-webkit-line-clamp:6;max-height:11em}
  .qr-preview{width:min(132px, 34vw) !important;height:min(132px, 34vw) !important}
}


/* Version 6.5 additions */
.kiosk-title-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:6px}
.timecard-pulse{position:relative;width:72px;height:72px;border-radius:18px;background:radial-gradient(circle, rgba(15,76,129,.18) 0%, rgba(15,76,129,.08) 45%, rgba(15,76,129,0) 72%);animation:pulse 1.6s infinite}
.timecard-inner{position:absolute;inset:10px;border-radius:14px;background:var(--pt-blue);display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;box-shadow:0 12px 24px rgba(15,76,129,.22)}
.clock-icon{margin-right:8px}
.masonry-grid{column-count:2;column-gap:18px}
.masonry-card{break-inside:avoid;margin-bottom:18px}
.youth-icon{margin-right:4px}
.checkline{display:block;margin-top:8px}
.certificate-card{text-align:center;padding:42px}
.certificate-card h1{font-size:2.4rem;margin-bottom:12px}
.certificate-card h2{font-size:2rem;margin:12px 0}
@media (max-width: 900px){
  .masonry-grid{column-count:1}
  .kiosk-title-row{flex-direction:column}
}


/* Version 6.5.1 tidy-ups */
.kiosk-title-row{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:18px;
  margin-bottom:12px;
}
.title-icons{
  display:flex;
  align-items:center;
  gap:10px;
}
.timecard-pulse{
  width:74px;
  height:74px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.timecard-inner{
  inset:8px;
  font-size:30px;
}
.clock-chip{
  width:52px;
  height:52px;
  border-radius:16px;
  background:rgba(15,76,129,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  color:var(--pt-blue);
  border:1px solid rgba(15,76,129,.16);
}
.kiosk-title-copy h1{
  margin:0 0 4px 0;
}
.kiosk-title-copy .muted{
  margin:0;
}
.checkbox-row{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
}
.checkbox-row input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
}
.checkbox-row span{
  line-height:1.35;
}
.info-pill{
  background:#eef5fb;
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 14px;
  font-size:.95rem;
}
@media (max-width: 700px){
  .kiosk-title-row{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .kiosk-title-copy .muted{
    text-align:center;
  }
}


/* Version 6.6 youth pathway */
.inline-form form{margin:0}


/* Version 7.0.2 kiosk and youth icon tidy */
.simple-kiosk-title{
  display:block;
  text-align:center;
  margin-bottom:12px;
}
.simple-kiosk-title .kiosk-title-copy{
  width:100%;
}
.simple-kiosk-title h1{
  margin:0 0 4px 0;
}
.simple-kiosk-title .muted{
  text-align:center;
}
.youth-icon{
  display:inline-block;
  margin-left:4px;
  margin-right:0;
  vertical-align:middle;
}


/* Version 7.0.4 cleanup */
.simple-kiosk-title{
  display:block;
  text-align:center;
  margin-bottom:12px;
}
.simple-kiosk-title .kiosk-title-copy{
  width:100%;
}
.simple-kiosk-title h1{
  margin:0 0 4px 0;
}
.simple-kiosk-title .muted{
  text-align:center;
  margin:0;
}
.youth-icon{
  display:inline-block;
  margin-left:4px;
  margin-right:0;
  vertical-align:middle;
}
.info-pill .youth-icon{
  margin-left:4px;
}


/* Version 7.0.7 compact admin menu */
.topbar{
  gap: 16px;
  padding: 12px 18px;
}
.admin-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  max-width: 760px;
}
.admin-nav a{
  margin-left:0;
  padding:8px 11px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--border);
  font-size:.92rem;
  line-height:1;
  white-space:nowrap;
  box-shadow:none;
}
.admin-nav a:hover{
  background:#f4f8fc;
  border-color:#bfd2e5;
}
.admin-nav .nav-logout{
  background:var(--pt-blue);
  color:#fff;
  border-color:var(--pt-blue);
}
.admin-nav .nav-logout:hover{
  filter:brightness(.95);
  background:var(--pt-blue);
}
.brand-wrap{
  min-width:0;
}
.subbrand{
  white-space:nowrap;
}
@media (max-width: 1100px){
  .topbar{
    flex-direction:column;
    align-items:flex-start;
  }
  .admin-nav{
    justify-content:flex-start;
    max-width:none;
    width:100%;
  }
}
@media (max-width: 640px){
  .admin-nav{
    gap:6px;
  }
  .admin-nav a{
    font-size:.86rem;
    padding:7px 10px;
  }
}


/* Version 7.0.8 kiosk default and layout tidy */
.kiosk-container{
  max-width: 1500px;
}
.kiosk-split{
  display:grid;
  grid-template-columns:minmax(460px, 0.95fr) minmax(620px, 1.25fr);
  gap:22px;
  align-items:start;
}
.kiosk-left,.kiosk-right{
  min-width:0;
}
.kiosk-list-card{
  width:100%;
  min-height:420px;
  overflow:hidden;
}
.kiosk-list-card table,
.compact-table{
  width:100%;
  table-layout:auto;
  border-collapse:collapse;
}
.kiosk-list-card th,
.kiosk-list-card td,
.compact-table th,
.compact-table td{
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
  vertical-align:top;
  padding:10px 12px;
}
.kiosk-list-card td:first-child,
.kiosk-list-card th:first-child,
.compact-table td:first-child,
.compact-table th:first-child{
  min-width:190px;
}
.kiosk-admin-link-wrap{
  display:flex;
  justify-content:flex-end;
  margin:0 0 8px 0;
}
.subtle-admin-link{
  font-size:.82rem;
  color:#6b7a8a;
  text-decoration:none;
  opacity:.8;
  padding:4px 8px;
  border-radius:999px;
}
.subtle-admin-link:hover{
  background:#eef5fb;
  color:var(--pt-blue);
  opacity:1;
}
@media (max-width: 1200px){
  .kiosk-split{
    grid-template-columns:1fr;
  }
}


/* Version 7.0.9 kiosk layout refinement */
.kiosk-container{
  max-width: 1680px;
  padding: 0 20px;
}
.kiosk-admin-link-wrap{
  display:flex;
  justify-content:flex-end;
  margin: 2px 4px 10px 0;
}
.subtle-admin-link{
  display:inline-block;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.01em;
  color:#7a8795;
  text-decoration:none;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:2px 4px;
  border-radius:6px;
  opacity:.72;
}
.subtle-admin-link:hover{
  background:transparent !important;
  color:var(--pt-blue);
  opacity:.95;
  text-decoration:underline;
}
.kiosk-split{
  display:grid;
  grid-template-columns:minmax(470px, 0.95fr) minmax(760px, 1.45fr);
  gap:24px;
  width:100%;
  align-items:stretch;
  height:calc(100vh - 145px);
  overflow:hidden;
}
.kiosk-left,.kiosk-right{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:0;
  min-width:0;
}
.kiosk-main-card{
  max-width:none;
  margin-left:0;
  margin-right:0;
}
.kiosk-list-card{
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
  width:100%;
}
.kiosk-list-card table,
.compact-table{
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
}
.kiosk-list-card th,
.kiosk-list-card td,
.compact-table th,
.compact-table td{
  padding:10px 12px;
  font-size:.96rem;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  vertical-align:top;
}
.kiosk-list-card table{
  display:table;
  overflow:visible;
  max-height:none;
}
.compact-table th:nth-child(1),
.compact-table td:nth-child(1){
  width:32%;
}
.compact-table th:nth-child(2),
.compact-table td:nth-child(2){
  width:18%;
}
.compact-table th:nth-child(3),
.compact-table td:nth-child(3){
  width:26%;
}
.compact-table th:nth-child(4),
.compact-table td:nth-child(4){
  width:24%;
}
.kiosk-card h2,
.kiosk-card h1{
  word-break:break-word;
}
@media (max-width: 1280px){
  .kiosk-container{
    max-width: 1500px;
  }
  .kiosk-split{
    grid-template-columns:minmax(420px, 1fr) minmax(620px, 1.25fr);
  }
}
@media (max-width: 1080px){
  .kiosk-body{
    overflow:auto;
  }
  .kiosk-split{
    grid-template-columns:1fr;
    height:auto;
    overflow:visible;
  }
  .kiosk-list-card{
    min-height:auto;
  }
}


/* Version 7.1.0 kiosk homepage layout polish */
.kiosk-container,
.container {
  max-width: 1760px;
}

.kiosk-wrap.kiosk-split{
  display:grid;
  grid-template-columns:minmax(560px, 0.95fr) minmax(860px, 1.45fr);
  gap:28px;
  width:100%;
  align-items:start;
  height:calc(100vh - 170px);
  max-width: 1480px;
  margin: 0 auto;
}

.kiosk-main-card{
  width:100%;
  max-width:none;
  min-height:560px;
}

.kiosk-list-card{
  width:100%;
  max-width:none;
  min-height:560px;
}

.kiosk-right .card,
.kiosk-left .card{
  width:100%;
  box-sizing:border-box;
}

.kiosk-list-card h2{
  font-size:2rem;
  line-height:1.15;
  word-break:normal;
  overflow-wrap:anywhere;
  margin-bottom:18px;
}

.kiosk-list-card .inline-form{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.kiosk-list-card .compact-table{
  width:100%;
}

.compact-table th:nth-child(1),
.compact-table td:nth-child(1){
  width:34%;
}

.compact-table th:nth-child(2),
.compact-table td:nth-child(2){
  width:18%;
}

.compact-table th:nth-child(3),
.compact-table td:nth-child(3){
  width:24%;
}

.compact-table th:nth-child(4),
.compact-table td:nth-child(4){
  width:24%;
}

.kiosk-footer-link-wrap{
  max-width:1480px;
  margin:12px auto 0 auto;
  display:flex;
  justify-content:flex-end;
}

.footer-admin-link{
  font-size:.78rem;
  color:#7d8896;
  text-decoration:none;
  opacity:.72;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:2px 2px;
}

.footer-admin-link:hover{
  text-decoration:underline;
  color:var(--pt-blue);
  opacity:1;
}

@media (max-width: 1500px){
  .kiosk-wrap.kiosk-split{
    grid-template-columns:minmax(500px, 1fr) minmax(720px, 1.25fr);
    max-width: 1360px;
  }
  .kiosk-footer-link-wrap{
    max-width:1360px;
  }
}

@media (max-width: 1180px){
  .kiosk-wrap.kiosk-split{
    grid-template-columns:1fr;
    height:auto;
    max-width:920px;
  }
  .kiosk-main-card,
  .kiosk-list-card{
    min-height:auto;
  }
  .kiosk-footer-link-wrap{
    max-width:920px;
  }
}


/* Version 7.1.1 kiosk cleanup */
.kiosk-wrap.kiosk-split{
  display:grid !important;
  grid-template-columns:minmax(620px, 0.95fr) minmax(760px, 1.15fr) !important;
  gap:28px !important;
  width:100% !important;
  max-width:1460px !important;
  margin:0 auto !important;
  align-items:start !important;
  height:auto !important;
  overflow:visible !important;
}
.kiosk-left,.kiosk-right{
  min-width:0 !important;
  width:100% !important;
}
.kiosk-main-card,
.kiosk-list-card{
  width:100% !important;
  max-width:none !important;
  min-height:560px !important;
}
.kiosk-list-card{
  overflow:hidden !important;
}
.kiosk-list-card table,
.compact-table{
  width:100% !important;
  table-layout:auto !important;
  border-collapse:collapse !important;
}
.kiosk-list-card h2{
  font-size:1.9rem !important;
  line-height:1.15 !important;
  margin-bottom:16px !important;
}
.kiosk-list-card .inline-form{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}
.kiosk-list-card td,
.kiosk-list-card th,
.compact-table td,
.compact-table th{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
.kiosk-footer-link-wrap{
  display:flex !important;
  justify-content:flex-end !important;
  max-width:1460px !important;
  margin:10px auto 0 auto !important;
}
.footer-admin-link,
.subtle-admin-link{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  color:#7b8794 !important;
  text-decoration:none !important;
  font-size:.78rem !important;
  padding:2px 0 !important;
  opacity:.78 !important;
}
.footer-admin-link:hover,
.subtle-admin-link:hover{
  color:var(--pt-blue) !important;
  text-decoration:underline !important;
}
@media (max-width: 1180px){
  .kiosk-wrap.kiosk-split{
    grid-template-columns:1fr !important;
    max-width:920px !important;
  }
  .kiosk-main-card,
  .kiosk-list-card{
    min-height:auto !important;
  }
  .kiosk-footer-link-wrap{
    max-width:920px !important;
  }
}




/* Leaderboard page scrolling */
.kiosk-leaderboard-page{width:100%;max-width:1400px;height:calc(100vh - 150px);overflow-y:auto;min-height:0;padding:18px 0 24px}
.kiosk-leaderboard-page .card.kiosk-card{margin-bottom:18px}
.kiosk-leaderboard-page .masonry-grid{column-count:2;column-gap:18px}
@media (max-width: 980px){
  .kiosk-leaderboard-page{height:auto;overflow:visible;padding:0}
  .kiosk-leaderboard-page .masonry-grid{column-count:1}
}
