/* CSD Rooms v1.3.0: deliberate low-motion signage and compact administration */
.csd-admin-next{display:flex;flex-direction:column;gap:22px}
.csd-admin-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:7px;border:1px solid #e3eaf2;background:#fff;border-radius:17px;position:sticky;top:0;z-index:15;box-shadow:0 8px 18px #14396309}
.csd-admin-tab{flex:1;min-width:150px;white-space:nowrap;padding:13px 16px;border:0;border-radius:11px;background:transparent;color:#61758f;font-weight:850;font-size:13px;cursor:pointer}
.csd-admin-tab.active{background:#183e72;color:#fff;box-shadow:0 8px 20px #163b7040}
.csd-pane{min-height:420px}.csd-pane.hidden{display:none}
.csd-tab-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:18px}.csd-schedule-grid{grid-template-columns:minmax(340px,1.15fr) minmax(320px,.9fr)}.csd-rooms-grid{grid-template-columns:minmax(350px,1fr) minmax(350px,1fr)}
.csd-pane>.admin-card{max-width:none}.csd-pane h3{color:#173765;margin:22px 0 12px}
.csd-twelve-time{display:grid;grid-template-columns:minmax(120px,1.5fr) 60px 12px 65px auto;gap:6px;align-items:center}
.csd-twelve-time input,.csd-twelve-time select{padding:10px 7px;min-width:0}.time-colon{text-align:center;color:#173765;font-weight:900;font-size:16px}
.ampm{display:flex;padding:3px;border-radius:11px;background:#eef3f9;gap:2px}.ampm button{border:0;background:transparent;padding:10px 9px;border-radius:8px;color:#59718f;font-weight:900;cursor:pointer}.ampm button.selected{background:#183e72;color:white}
.customer-checkline{background:#f2f6fc;border:1px solid #dfe7f2;border-radius:13px;padding:14px;display:grid;gap:9px}.customer-checkline .check-inline{display:flex;align-items:center;flex-direction:row;gap:9px;font-size:14px;color:#183e72}.customer-checkline input[type=checkbox]{width:18px;height:18px;min-height:0;flex:0 0 auto}.customer-checkline small{color:#73849b;font-weight:500;line-height:1.4}
.customer-assets,.device-list{margin-top:17px;display:flex;flex-direction:column;gap:8px;font-size:13px;color:#637995}.customer-asset-item,.device-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e3eaf3;border-radius:12px;padding:12px}.device-entry div{display:flex;flex-direction:column;gap:4px}.device-entry strong{color:#173765}.device-entry small{color:#8293a8}
.device-code-box{margin-top:15px;background:#173765;color:white;border-radius:15px;padding:16px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.device-code-box span{font-size:12px;color:#d2deed}.device-code-box strong{font-family:ui-monospace,Consolas,monospace;font-size:26px;letter-spacing:.16em}.device-code-box button{margin-left:auto}.device-install-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
/* Soft ambient motion never displaces readable course details. */
.signage{isolation:isolate;position:relative}
.signage:before,.signage:after{content:"";position:absolute;pointer-events:none;border-radius:50%;z-index:-1;filter:blur(4px);opacity:.52}
.signage:before{width:38vw;height:38vw;left:39%;top:15%;background:radial-gradient(circle,#bad3f650,transparent 69%);animation:ambientOne 30s ease-in-out infinite alternate}
.signage:after{width:26vw;height:26vw;right:-6%;bottom:13%;background:radial-gradient(circle,#d3e5ff9c,transparent 74%);animation:ambientTwo 37s ease-in-out infinite alternate}
@keyframes ambientOne{from{transform:translate(-7%,4%)}to{transform:translate(6%,-6%)}}
@keyframes ambientTwo{from{transform:translate(4%,-4%)}to{transform:translate(-10%,7%)}}
.orbit:after{content:"";position:absolute;inset:-10px;border-radius:50%;background:conic-gradient(#2b6fb0 0 var(--second-progress,100%),#a1bddc28 var(--second-progress,100%) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));pointer-events:none;z-index:3}
.customer-logo-row{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:610px;background:#e8f0fa;border-radius:12px;padding:9px 15px;color:#1a457c;font-weight:900;font-size:12px;letter-spacing:.05em;margin-top:13px}.customer-logo-row img{max-width:118px;max-height:62px;object-fit:contain;border-radius:6px;background:#fff;padding:5px}
.has-customer-showcase .hero-right{justify-content:center;gap:14px}.has-customer-showcase .orbit{width:min(20vw,260px)}
.customer-showcase{width:min(100%,610px);margin:auto;display:flex;flex-direction:column;gap:5px;animation:showcaseEnter .4s ease-out}
.customer-showcase.hidden{display:none}.customer-photo{position:relative;overflow:hidden;border-radius:17px;border:1px solid #ccdaea;background:#183d70;box-shadow:0 12px 30px #122f5a20;aspect-ratio:16/9;max-height:31vh}
.customer-photo img{width:100%;height:100%;object-fit:contain;display:block;background:#12335d}.customer-shade{position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#081e3dd9);pointer-events:none}
.customer-photo-caption{position:absolute;bottom:12px;left:15px;right:15px;color:#fff;text-shadow:0 1px 5px #001e40;font-size:clamp(11px,1vw,17px);font-weight:800}.customer-progress{color:#6485ac;text-align:center;font-size:11px;font-weight:750}
.has-customer-showcase .next-panel{display:none}
@keyframes showcaseEnter{from{opacity:.55;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Independent TV document selector */
.tv-docs-trigger{border:1px solid #ffffff70;background:#ffffff17;color:#fff;border-radius:10px;padding:12px 16px;font-weight:800;white-space:nowrap;cursor:pointer}.tv-docs-trigger:focus-visible{outline:3px solid #ffd56b}
.tv-library-overlay{z-index:210;background:#061a33de}.tv-library-dialog{width:min(860px,94vw);max-height:85vh;overflow-y:auto;background:#fff;color:#173765;border-radius:22px;padding:28px;box-shadow:0 25px 90px #0005}.tv-library-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.tv-library-head h2{font-size:27px;margin:6px 0}.tv-library-head small{letter-spacing:.14em;font-size:10px;color:#7590b3}.tv-library-head button{border:0;background:#eef3f9;color:#173765;border-radius:11px;padding:12px 15px;cursor:pointer}.tv-library-dialog p{color:#6a7e9b}.tv-library-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.tv-library-item{display:flex;align-items:center;gap:16px;padding:20px;border:1px solid #dce5ef;border-radius:14px;background:#f8fafc;color:#173765;text-align:left;cursor:pointer}.tv-library-item:hover,.tv-library-item:focus-visible{border-color:#215d9d;background:#eaf2fc;outline:2px solid #215d9d}.tv-library-item .doc-kind{font-size:12px;font-weight:950;background:#173765;color:white;border-radius:9px;padding:12px;min-width:49px;text-align:center}.tv-library-item strong{display:block;font-size:16px}.tv-library-item small{display:block;color:#7890a9;margin-top:5px}
/* Pairing landing page */
.pair-shell{padding:7vh 16px;max-width:570px;margin:auto}.pair-shell .admin-card{padding:34px}.pair-icon{font-size:42px;color:#173765}.pair-shell h1{color:#173765}.pair-shell p{color:#67809e;line-height:1.6}
@media(max-width:1100px){.csd-tab-grid,.csd-schedule-grid,.csd-rooms-grid{grid-template-columns:1fr}.csd-admin-tab{min-width:130px}.has-customer-showcase .orbit{width:min(25vw,200px)}}
@media(max-width:700px){.csd-admin-tabs{position:static}.csd-admin-tab{min-width:calc(50% - 10px)}.csd-twelve-time{grid-template-columns:1fr 60px 12px 60px;gap:4px}.csd-twelve-time .ampm{grid-column:1/-1;width:max-content}.tv-docs-trigger{font-size:11px;padding:7px}.tv-library-items{grid-template-columns:1fr}.customer-showcase{max-width:250px}.has-customer-showcase .hero-right{flex-wrap:wrap}.has-customer-showcase .orbit{width:110px}.customer-photo{max-height:25vh}}
@media(prefers-reduced-motion:reduce){.signage:before,.signage:after,.customer-showcase{animation:none}}

/* v1.3.1: readable countdown at 1080p, with and without a customer showcase. */
.hero-right .orbit{flex:0 0 auto;min-width:0;overflow:visible}
.orbit .orbit-inner{height:77%;width:77%;min-width:0;min-height:0;padding:14px;border-width:clamp(6px,.55vw,10px)}
.orbit .orbit-seal{width:100%;max-width:100%;padding:0 5px;min-width:0}
.orbit .orbit-inside{width:100%;max-width:100%;gap:2px;justify-content:center}
.orbit .orbit-inside #seal-number{display:block;max-width:100%;margin:2px 0;padding:0;font-size:clamp(25px,3.35vw,54px);letter-spacing:-.045em;line-height:1.12;overflow-wrap:normal;word-break:normal;white-space:normal;text-wrap:balance}
.orbit .orbit-inside .seal-eyebrow{font-size:clamp(9px,.76vw,13px);letter-spacing:.07em;line-height:1.35}
.orbit .orbit-inside small{font-size:clamp(9px,.75vw,12px);letter-spacing:0;line-height:1.35}
.has-customer-showcase .hero-right{gap:8px;padding-top:12px;padding-bottom:12px;justify-content:center}
.has-customer-showcase .hero-right .orbit{width:clamp(260px,22.5vw,345px);max-width:min(95%,40vh);min-width:245px}
.has-customer-showcase .customer-showcase{width:min(94%,510px)}
.has-customer-showcase .customer-photo{max-height:min(27vh,230px)}
/* v1.3.1: AM/PM controls never overflow the available half-column. */
.csd-twelve-time{width:100%;min-width:0;display:grid;grid-template-columns:minmax(55px,1fr) 12px minmax(55px,1fr) minmax(86px,1.15fr);gap:6px;align-items:center}
.csd-twelve-time .day{grid-column:1/-1;width:100%;min-width:0}
.csd-twelve-time .hour{grid-column:1}.csd-twelve-time .time-colon{grid-column:2}.csd-twelve-time .minute{grid-column:3}
.csd-twelve-time .ampm{grid-column:4;display:grid;grid-template-columns:1fr 1fr;min-width:0;align-self:stretch;padding:2px;gap:2px}
.csd-twelve-time .ampm button{min-width:0;width:100%;padding:6px 3px;font-size:11px;white-space:nowrap}
.csd-twelve-time select,.csd-twelve-time input{width:100%;min-width:0;padding:9px 5px;font-size:12px}
@media (max-width:1100px){.csd-twelve-time{grid-template-columns:minmax(70px,1fr) 12px minmax(70px,1fr) minmax(92px,1fr)}}
@media (max-width:650px){.has-customer-showcase .hero-right .orbit{width:clamp(200px,47vw,270px);min-width:0;max-width:95%}.orbit .orbit-inside #seal-number{font-size:clamp(24px,6vw,38px)}.csd-twelve-time{grid-template-columns:minmax(50px,1fr) 10px minmax(50px,1fr) minmax(80px,1fr)}.csd-twelve-time .ampm{grid-column:4}}
@media (max-height:780px) and (min-width:651px){.has-customer-showcase .hero-right .orbit{width:clamp(230px,19vw,290px);max-width:min(96%,40vh)}.has-customer-showcase .customer-photo{max-height:24vh}}
html[dir=rtl] .orbit .orbit-inside #seal-number{white-space:normal;direction:rtl;letter-spacing:0}
