:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#112641;background:#f5f8fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:disabled{opacity:.48;cursor:not-allowed}.shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:linear-gradient(170deg,#0b223c,#122e50 66%,#10243f);color:#dbe8f5;padding:25px 15px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;margin:0 10px 31px;font-weight:900;letter-spacing:.055em;color:white}.brand small{display:block;font-size:9px;letter-spacing:.11em;font-weight:600;color:#9db4cb;margin-top:3px}.brandbox{display:grid;place-items:center;border-radius:9px;width:33px;height:33px;background:linear-gradient(135deg,#29d1c2,#287af0);font-size:18px}.product{display:flex;gap:12px;align-items:center;padding:15px 11px;background:#ffffff0e;border:1px solid #ffffff18;border-radius:14px;margin-bottom:26px}.product-symbol{background:#28cbb6;color:#0b2845;border-radius:10px;font-size:22px;width:38px;height:38px;display:grid;place-items:center}.product b{display:block;color:white}.product small{font-size:10px;color:#a6c4df}.navtitle{color:#83a0bd;font-size:10px;letter-spacing:.12em;margin:0 11px 11px;font-weight:800}#nav{display:grid;gap:4px}#nav button{background:transparent;border:0;color:#b9d0e7;text-align:left;padding:12px 14px;border-radius:9px;font-weight:600}#nav button span{margin-left:10px}#nav button:hover,#nav button.current{background:#ffffff19;color:white}#nav button.current{border-left:3px solid #25cabc}.navbottom{display:grid;gap:14px;margin-top:auto;padding:25px 10px 5px;border-top:1px solid #ffffff22;font-size:12px}.navbottom span{color:#7f9bb5;font-size:10px}.main{min-width:0;flex:1}.topbar{background:#fff;height:64px;border-bottom:1px solid #e6ecf3;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:14px;color:#60738b;font-size:13px}.lefttop,.topright{display:flex;align-items:center;gap:18px}.topbar strong{color:#152e49}.slash{margin:0 8px;color:#c7ceda}.status{font-weight:600;font-size:12px}.status i{display:inline-block;background:#1cb899;height:7px;width:7px;border-radius:100%;margin-right:5px}.switch{font-weight:700;color:#2768c5}#mobileNav{display:none}.topbar select{border:1px solid #dce5ee;background:#fff;border-radius:8px;padding:6px}.content{padding:33px;max-width:1510px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:#07968e}.heading h1{font-size:clamp(28px,2.8vw,38px);letter-spacing:-.045em;margin:8px 0}.heading p{margin:0;color:#667b91}.filters{display:flex;gap:9px;align-items:end}.filters label,.form label{display:grid;gap:6px;color:#466078;font-size:11px;font-weight:700}.filters input,.filters select,.form input,.form select{height:39px;background:#fff;border:1px solid #dae3ee;border-radius:9px;padding:0 11px;color:#223a52;min-width:120px}.filters button{height:39px}.primary{background:#1667d4;color:#fff;border:1px solid #1667d4;padding:10px 16px;border-radius:9px;font-weight:700}.primary:hover{background:#0f55b7}.outline,.linkbtn{background:white;border:1px solid #dce5ef;color:#2461ae;border-radius:9px;padding:9px 13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}.stats article,.panel{background:#fff;border:1px solid #e3eaf2;border-radius:16px;box-shadow:0 7px 18px rgba(20,48,86,.025)}.stats article{padding:20px;display:grid;gap:6px}.stats article span{color:#60758b;font-size:12px}.stats article strong{font-size:35px;line-height:1.1;letter-spacing:-.04em}.stats article small{color:#99a6b6}.overviewgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.panel{padding:23px;margin-bottom:17px}.panelhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.panelhead h2{font-size:17px;margin:0 0 5px}.panelhead small{color:#8797a8}.panelhead button{background:transparent;border:0;color:#1667d4;font-weight:800}.lines{display:grid;gap:10px}.line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #eef1f5}.line:last-child{border-bottom:0}.line main{display:grid;gap:3px;min-width:0}.line strong{font-size:13px}.line small{font-size:11px;color:#8192a3}.line aside{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-block;background:#e7f7f2;border-radius:100px;color:#087b63;font-size:10px;font-weight:800;padding:5px 8px}.pill.warning{background:#fff1dc;color:#995a0e}.pill.grey{background:#eef2f6;color:#64748b}.line button{border:1px solid #d5e4f7;color:#2168bd;background:#f6faff;border-radius:8px;padding:6px 9px;font-weight:750;font-size:11px}.quick{display:flex;flex-wrap:wrap;gap:10px;padding:10px 0}.quick button,.quick a{background:#e7effb;color:#1460bb;padding:13px 18px;border:0;border-radius:10px;font-weight:800}.form{display:grid;gap:12px;align-items:end}.form.three{grid-template-columns:1fr 1fr 1fr auto}.form.two{grid-template-columns:1fr auto}.form input,.form select{width:100%}.form button{height:39px}.hint,.empty{padding:18px;color:#8091a1;text-align:center;font-size:13px}.access{background:white;border:1px solid #e2e9f2;padding:40px 30px;text-align:center;border-radius:16px;max-width:650px;margin:45px auto}.accessmark{font-size:48px;color:#1bbdad}.access h2{margin:0}.access p{color:#62778e;line-height:1.6}.access .actions{display:flex;justify-content:center;gap:12px;margin-top:23px}#notice{border:1px solid #e5c9aa;background:#fff7e9;color:#785116;padding:13px 16px;border-radius:10px;margin-bottom:18px;font-size:13px}#notice.success{border-color:#c1e7d6;background:#edfbf5;color:#0c755d}#notice[hidden],.page[hidden],#workspace[hidden],.access[hidden],#tenantWrap[hidden],#agendaInfo[hidden]{display:none!important}@media(max-width:900px){.sidebar{width:75px;padding:24px 10px}.brand span:not(.brandbox),.product div,.navtitle,.navbottom,.product-symbol+div,#nav button span{display:none}.product{justify-content:center}.stats{grid-template-columns:repeat(2,1fr)}.form.three{grid-template-columns:1fr 1fr}.overviewgrid{grid-template-columns:1fr}}@media(max-width:640px){.shell{display:block}.sidebar{display:none;position:absolute;z-index:20;width:240px;min-height:100vh}.sidebar.open{display:flex}.sidebar.open .brand span,.sidebar.open .product div,.sidebar.open #nav button span{display:block}.topbar{padding:0 16px}.status{display:none}#mobileNav{display:block;border:0;background:white;font-size:22px}.content{padding:18px}.heading{align-items:start;flex-direction:column}.filters{width:100%;flex-wrap:wrap}.stats{grid-template-columns:repeat(2,1fr)}.stats article{padding:14px}.overviewgrid{grid-template-columns:1fr}.form.three,.form.two{grid-template-columns:1fr}.line{align-items:start}.topright{gap:8px}}

/* v25.36: tenant-scoped Reception device management */
.devices-lead{color:#516b87;line-height:1.7;font-size:14px;max-width:850px}.devices-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.devices-links a{padding:13px 15px;border:1px solid #bed2ee;background:#f2f7ff;border-radius:11px;color:#154ba0;font-weight:800;font-size:13px}.devices-links a:hover{background:#e1efff}.pair-result{padding:18px;border:1px solid #73c5be;background:#e8faf5;border-radius:14px;margin:20px 0}.pair-result strong{font-size:21px;letter-spacing:.07em;color:#0a655b}.pair-result p{color:#28576a}.pair-result a{font-weight:800;color:#105acc}.device-line{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #e7edf6}.device-line strong,.device-line small{display:block}.device-line small{margin-top:5px;color:#677e97}.device-line .outline{min-width:118px}

/* V25.38 direction: physical device code → manager approval */
.reception-pair-links{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 22px}.reception-pair-links a{border:1px solid #cddff4;background:#eef6ff;padding:11px 17px;border-radius:11px;color:#1754a5;font-weight:800;text-decoration:none}.reception-pair-links a:hover{background:#dfeeff}#page-devices .devices-lead{font-size:14px;line-height:1.65;color:#496585}#deviceCreate input[name=pair_code]{font-size:22px;letter-spacing:.16em;font-weight:850}
/* V25.42 Core Reception: separate approval from verified heartbeat. */
.device-online{color:#067b64!important;font-weight:700}.device-offline{color:#b66c1e!important}

/* V38: same comfortable sidebar geometry and icon hierarchy as VOLENG Agenda.
   Native Reception actions and mobile drawer are deliberately unchanged. */
body.vs31-shell[data-vu-product="reception"]>.shell>.sidebar{
  width:214px;min-width:214px;flex:0 0 214px;
  background:linear-gradient(160deg,#0c2039 0%,#112a49 100%);
}
body.vs31-shell[data-vu-product="reception"] .sidebar .product{margin-bottom:22px}
body.vs31-shell[data-vu-product="reception"] .sidebar #nav{gap:4px}
body.vs31-shell[data-vu-product="reception"] .sidebar #nav button[data-page]{
  min-height:43px;width:100%;display:flex;align-items:center;gap:12px;
  margin:0;padding:10px 12px;border-radius:11px;
  font-size:13px;font-weight:650;line-height:1.35;color:#d4e2f5;
}
body.vs31-shell[data-vu-product="reception"] .sidebar #nav button[data-page]>span{margin:0;min-width:0;flex:1}
body.vs31-shell[data-vu-product="reception"] .sidebar #nav .vu38-nav-glyph{
  display:block;flex:none;width:19px;height:19px;fill:none;stroke:currentColor;
}
body.vs31-shell[data-vu-product="reception"] .sidebar #nav button[data-page].current{
  color:white;background:linear-gradient(110deg,#2463e1,#3984f8);
  border-left:0;box-shadow:inset 3px 0 #a9d7ff,0 5px 13px #00143a3b;
}
body.vs31-shell[data-vu-product="reception"] .sidebar #nav button[data-page]:not(.current):hover{background:#1a3c65;color:white}
body.vs31-shell[data-vu-product="reception"] .content{max-width:1510px;padding:24px 26px 44px}
body.vs31-shell[data-vu-product="reception"] .heading h1{font-size:clamp(24px,2.35vw,34px);line-height:1.17}
body.vs31-shell[data-vu-product="reception"] .heading{margin-bottom:19px}
@media (min-width:641px) and (max-width:900px){
 body.vs31-shell[data-vu-product="reception"]>.shell>.sidebar{width:70px;min-width:70px;flex:0 0 70px;padding:24px 8px}
 body.vs31-shell[data-vu-product="reception"] .sidebar #nav button[data-page]{justify-content:center;padding:10px 6px}
 body.vs31-shell[data-vu-product="reception"] .sidebar #nav button[data-page]>span{display:none}
 body.vs31-shell[data-vu-product="reception"] .sidebar .product{justify-content:center}
}
@media(max-width:640px){
 body.vs31-shell[data-vu-product="reception"]>.shell>.sidebar{width:min(280px,85vw);min-width:0;flex-basis:auto}
 body.vs31-shell[data-vu-product="reception"] .sidebar.open #nav button[data-page]{justify-content:flex-start}
 body.vs31-shell[data-vu-product="reception"] .sidebar.open #nav button[data-page]>span{display:block}
 body.vs31-shell[data-vu-product="reception"] .content{padding:17px 15px 35px}
}
/* On small phones, the secondary 'open in a second screen' toolbar action was
   forcing the language selector beyond the viewport. Keep the primary controls. */
@media(max-width:640px){
 body.vs31-shell[data-vu-product="reception"] .vs31-header .vs31-tool[title="Open on a second screen"]{display:none!important}
}
