/* TABLETDISPATCH1 – shared Tabletstation + Tabletcenter */
.dsdk-tabletstation{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top,#163d2c 0,#07130e 55%,#030806 100%);color:#fff}
.dsdk-tabletstation__card{width:min(760px,100%);padding:34px;border:1px solid rgba(83,214,135,.38);border-radius:24px;background:rgba(6,18,13,.94);box-shadow:0 28px 80px rgba(0,0,0,.42);text-align:center}
.dsdk-tabletstation__eyebrow{font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#6ee7a0}.dsdk-tabletstation h1{margin:6px 0 8px;font-size:clamp(34px,6vw,58px)}
.dsdk-tabletstation__intro{max-width:640px;margin:0 auto 24px;color:#cdd9d2;font-size:17px;line-height:1.55}.dsdk-tabletstation__state{font-weight:800;font-size:19px;margin:18px 0}
.dsdk-tabletstation__pair,.dsdk-tabletstation__paired{margin:20px 0;padding:24px;border-radius:18px;background:#0e271c;border:1px solid #235e42}.dsdk-tabletstation__label{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:#9fb9aa}
.dsdk-tabletstation__code{font-size:clamp(48px,10vw,84px);font-weight:950;letter-spacing:.1em;color:#7df0a8;margin:8px 0 14px}.dsdk-tabletstation__name{font-size:34px;font-weight:900}.dsdk-tabletstation__board{font-size:20px;color:#cfe0d6;margin:4px 0 18px}
.dsdk-tabletstation__online{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#8df5b2}.dsdk-tabletstation__online span{width:12px;height:12px;border-radius:50%;background:#39d978;box-shadow:0 0 0 5px rgba(57,217,120,.14)}.dsdk-tabletstation__waiting{margin-top:18px;font-size:22px;font-weight:800}
.dsdk-tabletstation__error{margin-top:18px;padding:12px 14px;border:1px solid #b74141;background:#3a1212;border-radius:12px;color:#ffd8d8}.dsdk-tabletstation__url{margin-top:18px;font-size:11px;color:#769184;word-break:break-all}

.dsdk-tabletcenter{display:grid;gap:16px}.dsdk-tabletcenter__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.dsdk-tabletcenter__pairbox{display:grid;grid-template-columns:minmax(220px,1fr) 150px minmax(180px,.7fr) 120px auto;gap:10px;align-items:end;padding:16px;border:1px solid rgba(67,190,111,.35);border-radius:16px;background:rgba(11,31,22,.72)}
.dsdk-tabletcenter__pairbox input,.dsdk-tabletcenter__row input[type=text],.dsdk-tabletcenter__row input[type=number]{width:100%;box-sizing:border-box;background:#07130e!important;color:#fff!important;border:1px solid #2d6847!important;border-radius:9px;padding:10px 11px}.dsdk-tabletcenter__pairbox input::placeholder{color:#8ea49a}
.dsdk-tabletcenter__notice{padding:11px 13px;border-radius:10px}.dsdk-tabletcenter__notice.is-ok{background:#113b24;border:1px solid #3ebd73;color:#d9ffe6}.dsdk-tabletcenter__notice.is-error{background:#3a1515;border:1px solid #bb4e4e;color:#ffe0e0}
.dsdk-tabletcenter__legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#cbd8d1}.dsdk-tabletcenter__legend span{display:flex;align-items:center;gap:7px}.dsdk-tabletcenter__dot{display:inline-block;width:11px;height:11px;border-radius:50%}.dsdk-tabletcenter__dot--online{background:#39d978}.dsdk-tabletcenter__dot--unstable{background:#e5b93f}.dsdk-tabletcenter__dot--offline{background:#d45b5b}.dsdk-tabletcenter__dot--disabled{background:#77827c}
.dsdk-tabletcenter__rows{display:grid;gap:10px}.dsdk-tabletcenter__row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(150px,.9fr) 90px 90px minmax(140px,.9fr) auto;gap:10px;align-items:center;padding:13px;border:1px solid rgba(79,150,105,.32);border-radius:14px;background:rgba(7,20,14,.68)}
.dsdk-tabletcenter__identity{display:flex;align-items:center;gap:10px}.dsdk-tabletcenter__meta{font-size:12px;color:#9db0a6;margin-top:2px}.dsdk-tabletcenter__row label{font-size:11px;color:#9eb4a8;text-transform:uppercase;font-weight:800}.dsdk-tabletcenter__enabled{display:flex!important;align-items:center;gap:7px;text-transform:none!important;font-size:13px!important;color:#dce8e1!important}.dsdk-tabletcenter__assignment{font-size:13px;color:#d3e0d8}.dsdk-tabletcenter__actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dsdk-tabletcenter__empty{padding:18px;border:1px dashed #3b7253;border-radius:13px;color:#b7c8bf;text-align:center}
@media(max-width:1100px){.dsdk-tabletcenter__pairbox{grid-template-columns:1fr 1fr}.dsdk-tabletcenter__pairbox>div:first-child{grid-column:1/-1}.dsdk-tabletcenter__row{grid-template-columns:1fr 1fr}.dsdk-tabletcenter__identity,.dsdk-tabletcenter__assignment,.dsdk-tabletcenter__actions{grid-column:1/-1}.dsdk-tabletcenter__actions{justify-content:flex-start}}
@media(max-width:620px){.dsdk-tabletstation{padding:14px}.dsdk-tabletstation__card{padding:22px 16px}.dsdk-tabletcenter__pairbox,.dsdk-tabletcenter__row{grid-template-columns:1fr}.dsdk-tabletcenter__pairbox>*{grid-column:1!important}}

/* TABLETDISPATCH2 – pool → station dispatcher */
.dsdk-pool-dispatch{margin-top:10px;padding:10px 12px;border:1px solid rgba(69,196,112,.32);border-radius:12px;background:rgba(6,24,16,.72);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dsdk-pool-dispatch__label{display:flex;align-items:center;gap:8px;min-width:160px;color:#fff}.dsdk-pool-dispatch__label span{font-size:12px;color:#9bc9aa}
.dsdk-pool-dispatch__select{width:auto;min-width:230px;max-width:100%;margin:0!important}
.dsdk-pool-dispatch__status{flex:1 1 100%;font-size:12px;color:#a8c6b3;min-height:16px}.dsdk-pool-dispatch__status.is-ok{color:#8df5b2}.dsdk-pool-dispatch__status.is-error{color:#ffb7b7}
@media(max-width:720px){.dsdk-pool-dispatch{align-items:stretch}.dsdk-pool-dispatch__select,.dsdk-pool-dispatch .rt-btn{width:100%}.dsdk-pool-dispatch__label{width:100%}}

/* TABLETDISPATCH3A – individual Cup match → station dispatcher (puljer sendes samlet) */
.dsdk-match-dispatch{margin-top:8px;padding:8px 10px;border:1px solid rgba(69,196,112,.30);border-radius:10px;background:rgba(6,24,16,.62);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dsdk-match-dispatch__label{display:flex;align-items:center;gap:7px;color:#fff;font-size:12px;white-space:nowrap}.dsdk-match-dispatch__label span{color:#9bc9aa;font-size:11px}
.dsdk-match-dispatch__select{width:auto;min-width:190px;max-width:310px;margin:0!important;font-size:12px!important}
.dsdk-match-dispatch__status{flex:1 1 100%;font-size:11px;color:#a8c6b3;min-height:14px}.dsdk-match-dispatch__status.is-ok{color:#8df5b2}.dsdk-match-dispatch__status.is-error{color:#ffb7b7}.dsdk-match-dispatch__disabled{display:inline-block;margin-top:6px;font-size:11px}
.rt-td-tablet .dsdk-match-dispatch{min-width:220px}.rt-td-tablet .dsdk-match-dispatch__select{min-width:160px;max-width:220px}
@media(max-width:720px){.dsdk-match-dispatch{align-items:stretch}.dsdk-match-dispatch__label{width:100%}.dsdk-match-dispatch__select,.dsdk-match-dispatch .rt-btn{width:100%;max-width:none}}

/* TABLETDISPATCH4 – fixed lane → tablet dispatch */
.dsdk-tabletcenter__lanes{margin:14px 0 18px;padding:12px;border:1px solid rgba(69,196,112,.34);border-radius:14px;background:rgba(4,20,13,.72)}
.dsdk-tabletcenter__lanes-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#fff}.dsdk-tabletcenter__lanes-title span{font-size:12px;color:#9bc9aa}
.dsdk-tabletcenter__lane-row{display:grid;grid-template-columns:110px minmax(150px,1fr) 170px minmax(180px,1.4fr);gap:10px;align-items:center;padding:9px 10px;border-top:1px solid rgba(84,153,107,.24);color:#dfece4;font-size:13px}
.dsdk-tabletcenter__lane-row:first-child{border-top:0}.dsdk-tabletcenter__lane-board{font-weight:900;color:#79e9a4}.dsdk-tabletcenter__lane-tablet{display:flex;align-items:center;gap:8px}.dsdk-tabletcenter__lane-state{color:#aac0b3}.dsdk-tabletcenter__lane-assignment{color:#d8e8de}
.dsdk-board-dispatch{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:7px 9px;border:1px solid rgba(82,205,126,.34);border-radius:10px;background:rgba(18,61,39,.42)}
.dsdk-board-dispatch__btn{font-weight:900}.dsdk-board-dispatch__meta{font-size:12px;color:#b9d7c4}.dsdk-board-dispatch__meta--warn{color:#ffd293}.dsdk-dispatch-manual-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#819b8c;font-weight:900;margin-left:2px}
@media(max-width:780px){.dsdk-tabletcenter__lane-row{grid-template-columns:1fr 1fr}.dsdk-tabletcenter__lane-assignment{grid-column:1/-1}.dsdk-board-dispatch{width:100%}.dsdk-board-dispatch__btn{width:100%}.dsdk-dispatch-manual-label{width:100%;margin-top:3px}}

/* TABLETDISPATCH5 – Cup match queue */
.dsdk-tabletcenter__queue{grid-column:1/-1;margin-top:2px;padding:10px;border:1px solid rgba(76,194,116,.28);border-radius:11px;background:rgba(5,22,14,.78)}
.dsdk-tabletcenter__queue-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:#e7f5ec}.dsdk-tabletcenter__queue-head>div{display:flex;gap:6px;flex-wrap:wrap}
.dsdk-tabletcenter__queue-item{display:grid;grid-template-columns:30px minmax(180px,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border-top:1px solid rgba(88,157,112,.22);font-size:12px;color:#d8e9df}.dsdk-tabletcenter__queue-item:first-of-type{border-top:0}
.dsdk-tabletcenter__queue-pos{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#123d28;color:#8ff4b3;font-weight:900}.dsdk-tabletcenter__queue-label{line-height:1.35}.dsdk-tabletcenter__queue-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.dsdk-match-dispatch [data-tablet-dispatch-match-queue],.dsdk-board-dispatch [data-tablet-dispatch-match-board-queue]{border-color:#4ea675!important;color:#dff7e8!important}
@media(max-width:720px){.dsdk-tabletcenter__queue-item{grid-template-columns:30px 1fr}.dsdk-tabletcenter__queue-actions{grid-column:1/-1;justify-content:flex-start}.dsdk-tabletcenter__queue-head{align-items:flex-start;flex-direction:column}}


/* TABLETDISPATCH5A – permanent QR access to the shared Tabletstation */
.dsdk-tabletcenter__head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dsdk-tabletcenter__qrpanel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:24px;align-items:center;padding:22px;border:1px solid rgba(77,210,124,.42);border-radius:18px;background:linear-gradient(135deg,rgba(9,34,22,.96),rgba(3,15,9,.96));box-shadow:0 18px 42px rgba(0,0,0,.22)}
.dsdk-tabletcenter__qrpanel[hidden]{display:none!important}
.dsdk-tabletcenter__qr-kicker{font-size:11px;font-weight:950;letter-spacing:.13em;color:#77eaa2;text-transform:uppercase;margin-bottom:5px}
.dsdk-tabletcenter__qr-title{font-size:22px;font-weight:950;color:#fff;margin-bottom:8px}.dsdk-tabletcenter__qr-copy p{margin:0 0 10px;color:#d5e5db;line-height:1.55}.dsdk-tabletcenter__qr-copy ol{margin:8px 0 12px;padding-left:22px;color:#caddd1;line-height:1.6}
.dsdk-tabletcenter__qr-security{padding:10px 12px;border-radius:10px;border:1px solid rgba(108,226,148,.28);background:rgba(31,91,56,.34);color:#cffff0;font-size:12px;line-height:1.45}
.dsdk-tabletcenter__qr-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.dsdk-tabletcenter__qr-url{margin-top:10px;color:#88a595;font-size:11px;word-break:break-all}
.dsdk-tabletcenter__qr-image-wrap{justify-self:center;width:min(100%,360px);padding:16px;border-radius:18px;background:#fff;text-align:center;box-shadow:0 14px 34px rgba(0,0,0,.32)}
.dsdk-tabletcenter__qr-image-wrap a{display:block;line-height:0}.dsdk-tabletcenter__qr-image{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}.dsdk-tabletcenter__qr-caption{margin-top:9px;font-size:12px;letter-spacing:.18em;font-weight:950;color:#112419}
@media(max-width:780px){.dsdk-tabletcenter__head-actions{width:100%;justify-content:flex-start}.dsdk-tabletcenter__qrpanel{grid-template-columns:1fr}.dsdk-tabletcenter__qr-image-wrap{order:-1;width:min(100%,320px)}}
@media print{
  body.dsdk-print-station-qr>*{visibility:hidden!important}
  body.dsdk-print-station-qr .dsdk-tabletcenter,body.dsdk-print-station-qr .dsdk-tabletcenter *{visibility:visible!important}
  .dsdk-tabletcenter.is-printing-station-qr>*{display:none!important}
  .dsdk-tabletcenter.is-printing-station-qr>.dsdk-tabletcenter__qrpanel{display:grid!important;position:fixed;inset:0;margin:0;padding:18mm;background:#fff!important;color:#000!important;border:0!important;border-radius:0!important;box-shadow:none!important;grid-template-columns:1fr;align-content:center;justify-items:center;z-index:2147483647}
  .dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-copy{max-width:180mm;text-align:center}
  .dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-kicker,.dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-title,.dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-copy p,.dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-copy ol,.dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-security,.dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-url{color:#000!important}
  .dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-copy ol{text-align:left;display:inline-block}
  .dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-security{background:#fff!important;border:1px solid #888!important}
  .dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-actions{display:none!important}
  .dsdk-tabletcenter.is-printing-station-qr .dsdk-tabletcenter__qr-image-wrap{width:95mm;box-shadow:none!important;border:1px solid #aaa!important}
}

/* TABLETDISPATCH5B – explicit tournament activation + large welcome/waiting screen */
.dsdk-tabletstation.is-paired{padding:18px}
.dsdk-tabletstation.is-paired .dsdk-tabletstation__card{width:min(1180px,100%);min-height:calc(100vh - 36px);box-sizing:border-box;padding:20px 24px;display:flex;flex-direction:column;text-align:left}
.dsdk-tabletstation.is-paired .dsdk-tabletstation__eyebrow,.dsdk-tabletstation.is-paired h1,.dsdk-tabletstation.is-paired .dsdk-tabletstation__intro,.dsdk-tabletstation.is-paired .dsdk-tabletstation__state,.dsdk-tabletstation.is-paired .dsdk-tabletstation__url{display:none!important}
.dsdk-tabletstation.is-paired .dsdk-tabletstation__paired{display:flex!important;flex:1;min-height:0;flex-direction:column;margin:0;padding:0;border:0;background:transparent}
.dsdk-tabletstation__topline{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 12px 18px;border-bottom:1px solid rgba(83,214,135,.28)}
.dsdk-tabletstation__topline .dsdk-tabletstation__name{font-size:clamp(24px,3.2vw,42px);line-height:1.05}.dsdk-tabletstation__topline .dsdk-tabletstation__board{margin:5px 0 0;font-size:clamp(15px,2vw,23px)}
.dsdk-tabletstation__topline .dsdk-tabletstation__online{font-size:clamp(16px,2vw,23px);white-space:nowrap}
.dsdk-tabletstation__welcome,.dsdk-tabletstation__tournament-wait{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 18px 48px}
.dsdk-tabletstation__welcome[hidden],.dsdk-tabletstation__tournament-wait[hidden],.dsdk-tabletstation__queue-note[hidden]{display:none!important}
.dsdk-tabletstation__welcome-kicker{font-size:clamp(34px,5.2vw,72px);font-weight:950;letter-spacing:.08em;color:#7df0a8;margin-bottom:22px;text-transform:uppercase}
.dsdk-tabletstation__welcome-main{font-size:clamp(42px,7vw,94px);font-weight:1000;letter-spacing:.012em;line-height:1.04;text-wrap:balance;color:#fff;text-shadow:0 4px 28px rgba(0,0,0,.4)}
.dsdk-tabletstation__wait-main{font-size:clamp(38px,6.2vw,82px);font-weight:1000;letter-spacing:.01em;line-height:1.04;text-wrap:balance;color:#fff;text-shadow:0 4px 28px rgba(0,0,0,.4)}
.dsdk-tabletstation__event-name{margin-top:32px;max-width:95%;font-size:clamp(30px,4.8vw,64px);font-weight:950;line-height:1.08;color:#7df0a8;text-wrap:balance}
.dsdk-tabletstation__queue-note{margin-top:20px;padding:8px 14px;border:1px solid rgba(125,240,168,.35);border-radius:999px;background:rgba(21,70,43,.52);font-size:clamp(14px,1.8vw,20px);font-weight:800;color:#cffff0}

.dsdk-tabletcenter__eventbox{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:15px 17px;border:1px solid rgba(91,224,139,.42);border-radius:14px;background:rgba(18,67,40,.48)}
.dsdk-tabletcenter__eventbox>div{display:flex;flex-direction:column;gap:3px}.dsdk-tabletcenter__eventbox span{font-size:10px;letter-spacing:.11em;font-weight:950;color:#79e9a4}.dsdk-tabletcenter__eventbox strong{font-size:20px;color:#fff}.dsdk-tabletcenter__eventbox p{margin:0;max-width:720px;font-size:12px;line-height:1.45;color:#c9ded1}
.dsdk-tabletcenter__eventbox.is-warn{border-color:rgba(221,168,76,.5);background:rgba(70,47,14,.45)}.dsdk-tabletcenter__eventbox.is-warn span{color:#ffd28a}
.dsdk-tabletcenter__eventmeta{margin-top:4px;font-size:11px;line-height:1.3;color:#9fb3a7}.dsdk-tabletcenter__eventmeta.is-current{color:#7deba5}.dsdk-tabletcenter__eventmeta.is-other{color:#ffd28a}.dsdk-tabletcenter__eventmeta.is-none{color:#b4c2b9}
@media(max-width:700px){.dsdk-tabletstation.is-paired{padding:8px}.dsdk-tabletstation.is-paired .dsdk-tabletstation__card{min-height:calc(100vh - 16px);padding:12px}.dsdk-tabletstation__topline{align-items:flex-start;padding:8px 6px 12px}.dsdk-tabletstation__welcome,.dsdk-tabletstation__tournament-wait{padding:24px 8px 34px}.dsdk-tabletcenter__eventbox{align-items:flex-start;flex-direction:column}}


/* TABLETDISPATCH6 – recall / redirect active tablet assignments */
.dsdk-tabletcenter__transfer{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,340px) auto;gap:9px;align-items:center;margin-top:1px;padding:10px 11px;border:1px solid rgba(105,224,145,.30);border-radius:11px;background:rgba(11,46,29,.62)}
.dsdk-tabletcenter__transfer-copy{display:flex;flex-direction:column;gap:2px}.dsdk-tabletcenter__transfer-copy strong{color:#e9f8ee;font-size:13px}.dsdk-tabletcenter__transfer-copy span{color:#a9c5b4;font-size:11px;line-height:1.35}
.dsdk-tabletcenter__transfer select{width:100%;min-width:0;margin:0!important;background:#07130e!important;color:#fff!important;border:1px solid #2d6847!important;border-radius:9px;padding:9px 10px;font-size:12px}.dsdk-tabletcenter__transfer-none{font-size:11px;color:#d8bc83;line-height:1.35}
@media(max-width:900px){.dsdk-tabletcenter__transfer{grid-template-columns:1fr}.dsdk-tabletcenter__transfer .rt-btn{width:100%}}


/* TABLETWAITFULL1 – fullscreen waiting screen on the paired Tabletstation */
.dsdk-tabletstation.is-paired{
  position:fixed;
  inset:0;
  z-index:99999;
  width:100vw;
  height:100vh;
  height:100dvh;
  min-height:100vh;
  min-height:100dvh;
  margin:0;
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
}
.dsdk-tabletstation.is-paired .dsdk-tabletstation__card{
  width:100vw;
  max-width:none;
  height:100vh;
  height:100dvh;
  min-height:100vh;
  min-height:100dvh;
  margin:0;
  padding:20px 24px;
  border:0;
  border-radius:0;
  box-shadow:none;
  box-sizing:border-box;
}
.dsdk-tabletstation.is-paired .dsdk-tabletstation__paired{
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
}
.dsdk-tabletstation.is-paired .dsdk-tabletstation__welcome,
.dsdk-tabletstation.is-paired .dsdk-tabletstation__tournament-wait{
  width:100%;
  min-height:0;
  box-sizing:border-box;
}
@media(max-width:700px){
  .dsdk-tabletstation.is-paired{padding:0}
  .dsdk-tabletstation.is-paired .dsdk-tabletstation__card{
    width:100vw;
    height:100vh;
    height:100dvh;
    min-height:100vh;
    min-height:100dvh;
    padding:12px;
    border-radius:0;
  }
}
