.jchde-mobile-launcher-button{position:fixed;right:22px;bottom:22px;z-index:99990;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;background:#1769aa;color:#fff;font-weight:800;box-shadow:0 14px 35px rgba(15,23,42,.24);cursor:pointer}.jchde-mobile-launcher-button:hover{background:#0f5d99}.jchde-mobile-launcher-button[hidden]{display:none!important}.jchde-mobile-launcher-button .dashicons{font-size:20px;width:20px;height:20px}
.jchde-mobile-dock[hidden]{display:none!important}.jchde-mobile-dock{position:fixed;right:18px;bottom:18px;z-index:99989;width:min(438px,calc(100vw - 28px));max-height:calc(100vh - 36px);display:flex;flex-direction:column;background:#fff;border:1px solid #dbe3ec;border-radius:18px;box-shadow:0 24px 72px rgba(15,23,42,.28);overflow:hidden}.jchde-mobile-dock.is-collapsed{width:360px;max-width:calc(100vw - 28px)}.jchde-mobile-dock.is-collapsed .jchde-mobile-dock-body{display:none}
.jchde-mobile-dock-header{flex:0 0 auto;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;background:#0f172a;color:#fff}.jchde-mobile-dock-title{min-width:0}.jchde-mobile-dock-title strong{display:block;font-size:14px;line-height:1.25}.jchde-mobile-dock-title span{display:block;margin-top:3px;color:#cbd5e1;font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jchde-mobile-dock-header-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.jchde-icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:20px;font-weight:700;line-height:1;cursor:pointer}.jchde-icon-button:hover{background:rgba(255,255,255,.16)}
.jchde-mobile-dock-body{min-height:0;padding:12px;background:#eef2f7;overflow:auto}.jchde-mobile-dock-controls{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-bottom:10px}.jchde-mobile-dock-controls label{min-width:0}.jchde-mobile-dock-controls label[hidden]{display:none!important}.jchde-mobile-dock-controls span{display:block;margin:0 0 4px;color:#334155;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.jchde-mobile-dock-controls select{width:100%;height:36px;min-height:36px;margin:0;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:0 28px 0 9px;font-size:12px}
.jchde-phone-shell{position:relative;width:390px;max-width:100%;margin:0 auto;padding:16px 12px 18px;background:linear-gradient(180deg,#22262e,#0d1015);border-radius:42px;box-shadow:0 18px 45px rgba(15,23,42,.24)}.jchde-phone-top{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:140px;height:28px;border-radius:20px;background:#080b0f;display:flex;align-items:center;justify-content:center;gap:8px;z-index:6}.jchde-phone-camera{width:9px;height:9px;border-radius:50%;background:#263044}.jchde-phone-speaker{width:54px;height:7px;border-radius:999px;background:#1d2633}.jchde-phone-screen{position:relative;overflow:hidden;border-radius:31px;background:#fff;min-height:610px}.jchde-phone-status{height:39px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:800;color:#334155}.jchde-phone-screen iframe{display:block;width:100%;height:min(650px,calc(100vh - 250px));min-height:560px;border:0;background:#fff}.jchde-phone-home{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:126px;height:5px;border-radius:999px;background:rgba(255,255,255,.78)}
.jchde-ios-notification[hidden]{display:none!important}.jchde-ios-notification{position:absolute;top:48px;left:8px;right:8px;z-index:20;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:start;padding:10px;border:1px solid rgba(148,163,184,.45);border-radius:17px;background:rgba(248,250,252,.96);box-shadow:0 12px 28px rgba(15,23,42,.25);backdrop-filter:blur(12px);transform:translateY(-130%);opacity:0;transition:transform .22s ease,opacity .22s ease}.jchde-ios-notification.is-showing{transform:translateY(0);opacity:1}.jchde-ios-notification-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#1769aa;color:#fff;font-size:20px;font-weight:900}.jchde-ios-notification-copy{min-width:0}.jchde-ios-notification-copy strong{display:block;color:#0f172a;font-size:12px;line-height:1.25}.jchde-ios-notification-copy span{display:block;margin-top:2px;color:#334155;font-size:11px;line-height:1.35}.jchde-ios-notification-time{color:#64748b;font-size:10px;white-space:nowrap}
.jchde-demo-toast-stack{position:fixed;top:18px;right:18px;z-index:100005;width:min(360px,calc(100vw - 36px));display:flex;flex-direction:column;gap:9px;pointer-events:none}.jchde-demo-toast{display:flex;flex-direction:column;gap:3px;padding:13px 15px;border:1px solid #dbe3ec;border-radius:13px;background:#fff;box-shadow:0 14px 38px rgba(15,23,42,.22);animation:jchde-toast-in .2s ease both}.jchde-demo-toast.is-leaving{opacity:0;transform:translateX(14px);transition:opacity .24s ease,transform .24s ease}.jchde-demo-toast-type{color:#1769aa;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.jchde-demo-toast strong{color:#0f172a;font-size:13px}.jchde-demo-toast>span:last-child{color:#475569;font-size:12px;line-height:1.4}@keyframes jchde-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.jchde-sms-demo-popup[hidden]{display:none!important}.jchde-sms-demo-popup{position:fixed;right:474px;bottom:24px;z-index:100010;width:min(390px,calc(100vw - 36px));padding:14px;border:1px solid #dbe3ec;border-radius:16px;background:#fff;box-shadow:0 20px 55px rgba(15,23,42,.28);opacity:0;transform:translateY(16px) scale(.98);transition:opacity .22s ease,transform .22s ease}.jchde-sms-demo-popup.is-showing{opacity:1;transform:translateY(0) scale(1)}.jchde-sms-demo-popup-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.jchde-sms-demo-popup-head strong{color:#0f172a;font-size:14px}.jchde-sms-demo-popup-head button{width:30px;height:30px;border:0;border-radius:8px;background:#f1f5f9;color:#334155;font-size:20px;cursor:pointer}.jchde-sms-demo-destination{margin-top:8px;color:#64748b;font-size:11px;font-weight:700}.jchde-sms-demo-bubble{margin-top:10px;padding:12px 14px;border-radius:16px 16px 4px 16px;background:#dcfce7;color:#14532d;font-size:13px;line-height:1.5}.jchde-sms-demo-safety{margin-top:9px;color:#64748b;font-size:10px;line-height:1.35}
@media(max-width:980px){.jchde-sms-demo-popup{right:18px;bottom:96px}.jchde-mobile-dock{right:10px;bottom:10px}.jchde-phone-screen iframe{height:min(620px,calc(100vh - 245px))}}
@media(max-width:520px){.jchde-mobile-dock{right:6px;bottom:6px;width:calc(100vw - 12px);max-height:calc(100vh - 12px)}.jchde-mobile-dock.is-collapsed{width:calc(100vw - 12px)}.jchde-mobile-dock-body{padding:8px}.jchde-mobile-dock-controls{grid-template-columns:1fr}.jchde-phone-shell{width:100%;border-radius:34px}.jchde-phone-screen{border-radius:25px}.jchde-phone-screen iframe{height:calc(100vh - 225px);min-height:480px}.jchde-demo-toast-stack{top:8px;right:8px;width:calc(100vw - 16px)}.jchde-sms-demo-popup{right:8px;bottom:76px;width:calc(100vw - 16px)}}

/* v0.6.2 demo-app dock: keep the sales dashboard usable while the phone is hidden. */
.jchde-mobile-launcher-button{padding:10px 15px;min-height:42px;box-shadow:0 10px 28px rgba(15,23,42,.22)}
.jchde-mobile-dock{contain:layout paint;will-change:auto}
.jchde-mobile-dock-body{display:flex;flex-direction:column}
.jchde-mobile-dock-minimise{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;margin-top:10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:12px;font-weight:800;cursor:pointer}
.jchde-mobile-dock-minimise:hover{background:#f8fafc;border-color:#94a3b8}
.jchde-mobile-dock-minimise .dashicons{width:18px;height:18px;font-size:18px}
.jchde-phone-screen iframe[src="about:blank"]{background:#f8fafc}
@media(max-width:520px){.jchde-mobile-launcher-button{right:10px;bottom:10px;padding:9px 13px}.jchde-mobile-dock-minimise{min-height:38px;margin-top:8px}}


/* v0.6.3: keep the hidden Demo Apps launcher clear of JobCardHub's bottom action controls. */
.jchde-mobile-launcher-button{top:18px;right:18px;bottom:auto}
@media(max-width:520px){.jchde-mobile-launcher-button{top:10px;right:10px;bottom:auto}}
