@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body,button{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.kitchenode-logo{display:flex;align-items:center;gap:10px}.signage-icon-16{width:16px;height:16px}.signage-icon-24{width:24px;height:24px}.signage-icon-28{width:28px;height:28px}.signage-icon-48{width:48px;height:48px}.signage-icon-56{width:56px;height:56px}.signage-spin{animation:signage-spin 1s linear infinite}@keyframes signage-spin{to{transform:rotate(360deg)}}.signage-player-root{width:100vw;height:100vh;height:100dvh;min-height:100vh;overflow:hidden;background:#000;color:#fff;overscroll-behavior:none;touch-action:manipulation}.signage-player-root button{cursor:pointer}.signage-media{display:block;width:100vw;height:100vh;height:100dvh;min-height:100vh;border:0;background:#000;object-position:center}.signage-media.cover{object-fit:cover}.signage-media.contain{object-fit:contain}.signage-media.stretch{object-fit:fill}.signage-pairing-root{position:relative;width:100vw;height:100vh;height:100dvh;min-height:100vh;overflow:hidden;background:#000;display:flex;flex-direction:column;padding:5vh 5vw}.signage-background-image{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center;background-size:cover;z-index:0}.signage-dark-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#000000d9,#000000b3,#000000e6);z-index:1}.signage-gradient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(4,116,188,.08) 0%,transparent 60%),linear-gradient(135deg,rgba(0,0,0,.5) 0%,transparent 50%);z-index:2}.signage-pairing-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0;margin-bottom:2vh}.signage-pairing-header-logo{display:flex;align-items:center}.signage-kitchenode-logo img{filter:brightness(0) invert(1)}.signage-kitchenode-logo>div{display:flex;align-items:center;gap:10px}.signage-online-badge{position:absolute;top:0;right:0;display:flex;align-items:center;gap:8px;border:1px solid;border-radius:999px;padding:8px 16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .3s ease,border-color .3s ease}.signage-online-badge-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;animation:signage-pulse-dot 2s ease-in-out infinite}@keyframes signage-pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.signage-pairing-body{position:relative;z-index:10;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:0}.signage-pairing-eyebrow{color:#fff6;font-size:clamp(11px,1.1vw,15px);font-weight:700;letter-spacing:.2em;margin:0 0 clamp(16px,2vh,28px);text-align:center}.signage-pairing-columns{display:grid;grid-template-columns:1fr minmax(0,420px);gap:clamp(16px,2.5vw,40px);width:100%;max-width:1400px;align-items:stretch}.signage-code-hero-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,52px) clamp(24px,3.5vw,56px);border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#0000009e;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 32px 80px #00000080,0 0 0 1px #ffffff0f inset;min-height:0}.signage-code-label{color:#ffffff73;font-size:clamp(11px,1.1vw,14px);font-weight:700;letter-spacing:.22em;margin:0 0 clamp(12px,1.5vh,20px)}.signage-code-hero-text{font-size:clamp(96px,10vw,160px);font-weight:900;letter-spacing:.1em;color:#fff;line-height:1;white-space:nowrap;text-shadow:0 0 60px rgba(255,255,255,.15),0 4px 24px rgba(0,0,0,.8);margin-bottom:clamp(16px,2vh,28px);overflow:hidden;text-overflow:clip}.signage-code-loading{color:#ffffff61;font-size:clamp(48px,5vw,80px)}.signage-code-instructions{display:flex;flex-direction:column;gap:clamp(6px,.8vh,10px)}.signage-instr-primary{color:#ffffffe0;font-size:clamp(16px,1.8vw,26px);font-weight:600;margin:0;line-height:1.3}.signage-instr-secondary{color:#ffffff8c;font-size:clamp(13px,1.3vw,18px);font-weight:500;margin:0;line-height:1.4}.signage-instr-secondary strong{color:#ffffffd1;font-weight:700}.signage-code-expiry{color:#ffffff61;font-size:clamp(12px,1.1vw,15px);font-weight:500;margin:clamp(10px,1.2vh,16px) 0 0}.signage-code-error-row{display:flex;align-items:center;gap:10px;margin-top:clamp(12px,1.5vh,20px);flex-wrap:wrap}.signage-retry-inline{border:1px solid rgba(249,115,22,.4);border-radius:8px;background:#f973161f;color:#f97316;font-size:13px;font-weight:700;padding:6px 14px;cursor:pointer;transition:background .15s ease}.signage-retry-inline:hover{background:#f9731638}.signage-qr-hero-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(20px,2.5vw,40px);border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#0000009e;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 32px 80px #00000080,0 0 0 1px #ffffff0f inset;gap:clamp(12px,1.5vh,20px);min-height:0}.signage-qr-label{color:#ffffff73;font-size:clamp(11px,1.1vw,14px);font-weight:700;letter-spacing:.22em;margin:0;text-align:center}.signage-qr-primary-wrapper{display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;background:#fff;padding:10px;box-shadow:0 8px 32px #00000080;width:clamp(220px,28vw,380px);height:clamp(220px,28vw,380px);flex-shrink:0}.signage-qr-primary-wrapper img{width:100%;height:100%;object-fit:contain;display:block}.signage-qr-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#ffffff0a;border-radius:8px}.signage-qr-hint{color:#ffffff80;font-size:clamp(12px,1.1vw,15px);font-weight:500;margin:0;text-align:center}.signage-qr-support-section{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.signage-qr-support-divider{width:60%;height:1px;background:#ffffff1a}.signage-qr-support-label{color:#ffffff59;font-size:clamp(10px,.9vw,12px);font-weight:600;letter-spacing:.06em;margin:0;text-align:center}.signage-qr-support-code{display:flex;align-items:center;gap:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 12px;width:100%}.signage-qr-support-code img{border-radius:4px;flex-shrink:0}.signage-qr-support-url{color:#fff6;font-size:clamp(9px,.75vw,11px);font-weight:500;word-break:break-all;line-height:1.3;flex:1;min-width:0}.signage-pairing-or{color:#ffffff47;font-size:clamp(11px,1vw,14px);font-weight:500;letter-spacing:.06em;margin:clamp(12px,1.5vh,20px) 0 0;text-align:center}.signage-screen-info-panel{position:absolute;bottom:5vh;right:5vw;z-index:30;width:clamp(200px,18vw,280px);border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#000000ad;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:12px 14px;box-shadow:0 8px 32px #00000080}.signage-screen-info-header{color:#ffffff59;font-size:9px;font-weight:800;letter-spacing:.18em;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:6px}.signage-screen-info-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:3px 0}.signage-screen-info-label{color:#ffffff61;font-size:9px;font-weight:700;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}.signage-screen-info-value{color:#ffffffbf;font-size:9px;font-weight:600;text-align:right;word-break:break-all;min-width:0}.signage-diagnostics-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:5vh 5vw;cursor:default}.signage-diagnostics-modal{width:100%;max-width:860px;max-height:85vh;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#0a0a0ef5;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 40px 100px #000c,0 0 0 1px #ffffff0f inset;animation:signage-diag-in .18s ease}@keyframes signage-diag-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.signage-diagnostics-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.signage-diagnostics-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:18px;font-weight:800;letter-spacing:.02em}.signage-diagnostics-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0f;color:#ffffffb3;cursor:pointer;transition:background .15s ease;flex-shrink:0}.signage-diagnostics-close:hover{background:#ffffff1f;color:#fff}.signage-diagnostics-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:0;overflow-y:auto;flex:1;min-height:0}.signage-diagnostics-group{padding:16px 20px;border-right:1px solid rgba(255,255,255,.06)}.signage-diagnostics-group:last-child{border-right:none}.signage-diagnostics-group-title{color:#0474bc;font-size:10px;font-weight:800;letter-spacing:.18em;margin-bottom:10px;text-transform:uppercase}.signage-diagnostics-row{display:flex;flex-direction:column;gap:1px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}.signage-diagnostics-row:last-child{border-bottom:none}.signage-diagnostics-label{color:#ffffff61;font-size:10px;font-weight:700;letter-spacing:.04em}.signage-diagnostics-value{color:#ffffffd9;font-size:11px;font-weight:600;word-break:break-all;line-height:1.4}.signage-diagnostics-actions{display:flex;gap:12px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.signage-diag-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.signage-diag-btn-primary{background:#0474bc;color:#fff;border-color:#0474bc}.signage-diag-btn-primary:hover{background:#0560a0}.signage-diag-btn-secondary{background:#ffffff14;color:#ffffffd9;border-color:#ffffff24}.signage-diag-btn-secondary:hover{background:#ffffff24}.signage-diagnostics-hint{color:#ffffff40;font-size:11px;font-weight:500;text-align:center;padding:0 24px 12px;margin:0;flex-shrink:0}.signage-kitchenode-logo{position:absolute;top:32px;left:40px;z-index:20}.signage-provisioning-screen,.signage-support-screen{position:relative;display:flex;width:100%;height:100%;min-height:100%;flex-direction:column;overflow:hidden;background:#000}.signage-support-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#000,#09090b,#000)}.signage-provisioning-main{position:relative;z-index:10;display:flex;width:100%;max-width:1024px;flex:1;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;padding:0 48px;text-align:center}.signage-support-state{position:relative;z-index:10;display:flex;width:min(90vw,920px);flex:1;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;padding:6vh 5vw;text-align:center}.signage-support-state h1{margin:22px 0 30px;color:#fff;font-size:clamp(38px,5vw,72px);font-weight:800;line-height:1.08}.signage-support-state>p{margin:28px 0 0;color:#ffffffb8;font-size:clamp(18px,2vw,26px);font-weight:600}.signage-support-state-details{display:grid;width:min(100%,720px);grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#0000009e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.signage-support-state-details>div{display:flex;min-width:0;flex-direction:column;gap:8px;padding:clamp(18px,2.5vw,30px);border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.signage-support-state-details>div:nth-child(2n){border-right:0}.signage-support-state-details span{color:#ffffff7a;font-size:clamp(12px,1.2vw,16px);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.signage-support-state-details strong{overflow-wrap:anywhere;color:#fff;font-size:clamp(22px,2.6vw,38px);font-weight:800;line-height:1.15}.signage-glass-card{border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.signage-status-row{display:flex;gap:16px;margin-top:24px}.signage-status-pill{display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#ffffff1a;padding:16px 20px;color:#fff}.signage-support-main{position:relative;z-index:10;display:flex;width:100%;max-width:896px;flex:1;flex-direction:column;justify-content:center;margin:0 auto;padding:0 40px}.signage-support-card{margin-top:40px;padding:32px}.signage-support-status{display:flex;align-items:center;gap:12px;margin-bottom:24px}.signage-info-row{display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid rgba(255,255,255,.1);padding:12px 0}.signage-info-row:last-child{border-bottom:0}.signage-support-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}.signage-primary-button,.signage-secondary-button{border-radius:16px;padding:24px 32px;color:#fff;font-size:20px;font-weight:800;transition:transform .12s ease}.signage-primary-button:active,.signage-secondary-button:active{transform:scale(.98)}.signage-primary-button{border:0;background:#0474bc}.signage-secondary-button{border:1px solid rgba(255,255,255,.2);background:#ffffff1a}.signage-retry-button,.signage-message-button{min-width:220px;margin-top:28px;border:0}.signage-paired-screen{position:relative;width:100vw;height:100vh;height:100dvh;min-height:100vh;overflow:hidden;background:#000;cursor:none}.signage-image-stage{position:relative;width:100vw;height:100vh;height:100dvh;min-height:100vh;overflow:hidden;background:transparent}.signage-image-background,.signage-image-solid-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.signage-image-background{object-fit:cover;filter:blur(32px);opacity:.72;transform:scale(1.08)}.signage-image-solid-background{background:#050505}.signage-image-foreground{position:relative;z-index:1;background:transparent}.signage-pdf-object,.signage-html-frame{display:block}.signage-content-unavailable{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#ffffffc2;font-size:28px;font-weight:800}.signage-offline-indicator{position:absolute;right:24px;bottom:24px;z-index:20;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0000006b;padding:10px 14px;color:#ffffffb8;font-size:13px;font-weight:800;letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.signage-offline-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15}.signage-offline-overlay .signage-provisioning-screen{background:#000000db}.signage-offline-overlay .signage-background-image{opacity:.18}.signage-offline-badge-compact{display:none}.signage-debug-overlay{position:absolute;top:24px;right:24px;z-index:30;width:384px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#000000c7;padding:24px;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:default}.signage-debug-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}@media(max-width:900px),(orientation:portrait){.signage-support-state-details{grid-template-columns:1fr}.signage-support-state-details>div{border-right:0}.signage-offline-badge-full{display:none}.signage-offline-badge-compact{display:inline}.signage-pairing-columns{grid-template-columns:1fr;gap:16px}.signage-qr-hero-card{display:none}.signage-code-hero-text{font-size:clamp(72px,18vw,120px)}.signage-pairing-body{padding-bottom:120px}.signage-screen-info-panel{width:calc(100% - 10vw);left:5vw;right:5vw}.signage-diagnostics-groups{grid-template-columns:1fr}.signage-diagnostics-group{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.signage-diagnostics-group:last-child{border-bottom:none}}@media(max-width:600px){.signage-pairing-eyebrow,.signage-pairing-or{display:none}}@media(min-width:2560px){.signage-qr-primary-wrapper{width:clamp(320px,22vw,500px);height:clamp(320px,22vw,500px)}.signage-screen-info-panel{width:clamp(240px,14vw,320px)}.signage-screen-info-label,.signage-screen-info-value,.signage-screen-info-header{font-size:11px}}
