/* JDRC_DRIVER_PRESENCE_AND_UPDATES_V1 */
.jdrc-presence-panel{margin-top:18px}
.jdrc-presence-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.jdrc-presence-counts{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.jdrc-presence-counts>span{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px}
.jdrc-presence-counts .total{opacity:.75}
.jdrc-presence-led{display:inline-block;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 10px currentColor}
.jdrc-presence-led.online{background:#39e75f;color:#39e75f}
.jdrc-presence-led.away{background:#ffbd2e;color:#ffbd2e}
.jdrc-presence-led.offline{background:#ff4d4f;color:#ff4d4f;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.jdrc-presence-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr);gap:12px;margin:16px 0}
.jdrc-presence-settings{display:grid;grid-template-columns:auto minmax(140px,.5fr) minmax(180px,1fr) auto;gap:10px;align-items:end;margin:14px 0}
.jdrc-presence-settings label{display:grid;gap:6px}
.jdrc-presence-settings .check{display:flex;align-items:center;gap:8px;padding-bottom:10px}
.jdrc-presence-list{display:grid;gap:10px;margin-top:12px}
.jdrc-presence-driver{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.025)}
.jdrc-presence-main{display:flex;gap:12px;align-items:flex-start;min-width:0}
.jdrc-presence-main h3{margin:0 0 4px}
.jdrc-presence-main h3 small{opacity:.72}
.jdrc-presence-main p{margin:0;opacity:.82}
.jdrc-presence-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.jdrc-presence-meta span{font-size:.78rem;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.07)}
.jdrc-presence-actions{display:flex;gap:7px;flex-wrap:wrap}
.jdrc-presence-status{min-height:1.2em;opacity:.72;margin:6px 0 0}
.jdrc-update-open{overflow:hidden}
.jdrc-update-modal{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:18px}
.jdrc-update-modal[hidden]{display:none}
.jdrc-update-card{width:min(760px,100%);max-height:min(86vh,900px);overflow:auto;background:#0d1117;border:1px solid rgba(255,255,255,.16);border-radius:20px;box-shadow:0 25px 80px rgba(0,0,0,.6)}
.jdrc-update-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:22px 22px 12px;position:sticky;top:0;background:#0d1117;z-index:2}
.jdrc-update-head h2{margin:3px 0 0}
.jdrc-update-meta{margin:5px 0 0;opacity:.7}
.jdrc-update-body{padding:6px 22px 18px;line-height:1.6}
.jdrc-update-body p{margin:0 0 14px}
.jdrc-update-ack{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 22px;background:#0d1117;border-top:1px solid rgba(255,255,255,.12)}
.jdrc-update-ack p{margin:0;opacity:.7;font-size:.86rem}
.jdrc-update-error{color:#ff7678}
.jdrc-admin-update-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:18px}
.jdrc-admin-update-card{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px;margin-bottom:12px;background:rgba(255,255,255,.025)}
.jdrc-admin-update-head{display:flex;justify-content:space-between;gap:14px}
.jdrc-admin-update-head h3{margin:8px 0 3px}
.jdrc-admin-update-head p{margin:0;opacity:.7}
.jdrc-admin-update-copy{margin:13px 0;line-height:1.5}
.jdrc-admin-update-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){
  .jdrc-presence-settings,.jdrc-presence-controls,.jdrc-admin-update-grid{grid-template-columns:1fr}
  .jdrc-presence-driver,.jdrc-update-ack{align-items:flex-start;flex-direction:column}
  .jdrc-presence-actions{width:100%}
  .jdrc-presence-actions .button{flex:1}
}

/* JDRC_MOBILE_UPDATE_DIALOG_V2 */
.jdrc-update-modal{
 box-sizing:border-box;
 padding:12px;
 padding-top:max(12px,env(safe-area-inset-top));
 padding-bottom:max(12px,env(safe-area-inset-bottom));
 padding-left:max(12px,env(safe-area-inset-left));
 padding-right:max(12px,env(safe-area-inset-right));
 overflow:hidden;
}
.jdrc-update-modal .jdrc-update-card{
 box-sizing:border-box;display:flex;flex-direction:column;
 width:min(760px,100%);min-width:0;min-height:0;
 max-height:calc(100vh - 24px);
 max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));
 overflow:hidden;
}
.jdrc-update-modal .jdrc-update-head{
 position:static;flex:0 0 auto;min-height:0;
 max-height:28vh;max-height:28dvh;overflow:auto;
 padding:16px 18px 10px;gap:10px;
 touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;
}
.jdrc-update-modal .jdrc-update-head>div{min-width:0}
.jdrc-update-modal .jdrc-update-head h2{font-size:clamp(20px,5vw,28px);line-height:1.2;overflow-wrap:anywhere}
.jdrc-update-modal .jdrc-update-head .eyebrow{margin:0 0 4px}
.jdrc-update-modal .jdrc-update-meta{overflow-wrap:anywhere}
.jdrc-update-modal .jdrc-update-body{
 flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
 overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;
 touch-action:pan-y pinch-zoom;overflow-wrap:anywhere;
 padding:8px 18px 16px;scroll-padding-block:12px;
}
.jdrc-update-modal .jdrc-update-body p{max-width:100%}
.jdrc-update-modal .jdrc-update-ack{
 box-sizing:border-box;position:static;flex:0 0 auto;
 padding:12px 18px;gap:10px;align-items:center;
}
.jdrc-update-modal #jdrcUpdateAck{
 min-height:48px;min-width:120px;white-space:normal;
 touch-action:manipulation;flex-shrink:0;
}
@media(max-width:760px){
 .jdrc-update-modal .jdrc-update-card{border-radius:14px}
 .jdrc-update-modal .jdrc-update-ack{flex-direction:column;align-items:stretch}
 .jdrc-update-modal .jdrc-update-ack p{font-size:12px;line-height:1.35}
 .jdrc-update-modal #jdrcUpdateAck{width:100%;min-height:50px;margin:0}
}
@media(max-height:450px){
 .jdrc-update-modal .jdrc-update-head{padding:8px 14px 6px;max-height:25vh;max-height:25dvh}
 .jdrc-update-modal .jdrc-update-ack{padding:8px 14px}
 .jdrc-update-modal .jdrc-update-ack p{display:none}
 .jdrc-update-modal .jdrc-update-body{padding:6px 14px 10px}
}
