#queue-shell{font:15px Sarabun,sans-serif;color:#18364c;--q-size:360px}#queue-shell [hidden]{display:none!important}#queue-shell button,#queue-shell input,#queue-shell select,.flow-admin button,.flow-admin input,.flow-admin select{font:inherit;min-height:44px;border:1px solid #c5d4df;border-radius:9px;padding:8px 12px;background:white;color:#18364c}#queue-shell button{cursor:pointer}#queue-shell button:disabled{opacity:.5;cursor:not-allowed}#queue-launch{position:fixed;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:1300;background:#176b67!important;color:white!important;box-shadow:0 3px 14px #0003}#queue-panel{position:fixed;right:0;top:0;bottom:0;width:var(--q-size);background:#f2f7fa;z-index:1301;border-left:1px solid #c5d4df;overflow:auto;overscroll-behavior:contain;padding:16px;box-sizing:border-box}#queue-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}#queue-panel label{display:block;margin:10px 0}#queue-panel select,#queue-panel input{width:100%;box-sizing:border-box}#queue-panel .q-primary{background:#176b67;color:white;width:100%;margin:12px 0}#queue-panel .q-card{padding:12px;border-radius:12px;background:white;border:1px solid #d9e4eb;margin:10px 0}#queue-panel .q-card strong{font-size:28px;margin-right:8px}#queue-panel .q-calling{border:2px solid #167f77}#queue-panel .q-missed{border-color:#d59a42}#queue-panel .q-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}#queue-connection,#queue-panel small{font-size:12px;color:#48677c}#queue-message{margin:14px 0;overflow-wrap:anywhere}#queue-shell button:focus-visible,#queue-shell select:focus-visible{outline:3px solid #e2a224;outline-offset:2px}.queue-open #app{width:calc(100% - 360px)}.queue-open .modal-overlay,.queue-open .draw-overlay{right:360px!important;width:auto!important}.queue-open #queue-launch{display:none}.queue-open .toast-container{left:16px}.flow-admin{max-width:900px}.flow-admin form{padding:20px;border:1px solid #dce5ed;border-radius:14px;background:white;display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}.flow-admin label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flow-admin output{display:block;overflow-wrap:anywhere;user-select:all}.flow-admin h3{margin-top:24px}
/* Keep the launcher away from fixed save footers; reserve scrollable space. */
body:has(#queue-launch:not([hidden])) .page-content{padding-bottom:80px}
@media(max-width:840px){#queue-panel{top:auto;height:40dvh;width:100%;border-left:0;border-top:1px solid #c5d4df;padding-bottom:max(16px,env(safe-area-inset-bottom))}.queue-open #app{width:100%;height:60dvh;overflow:auto}.queue-open .modal-overlay,.queue-open .draw-overlay{right:0!important;bottom:40dvh!important;height:auto!important}.queue-open .toast-container{left:16px;bottom:calc(40dvh + 12px)}#queue-launch{bottom:max(16px,env(safe-area-inset-bottom))}}
@media print{#queue-shell{display:none!important}.queue-open #app{width:100%!important;height:auto!important}}
/* A reserved rail means even the collapsed launcher cannot cover a save button. */
.queue-available:not(.queue-open) #app{width:calc(100% - 76px)}
.queue-available:not(.queue-open) .modal-overlay,.queue-available:not(.queue-open) .draw-overlay{right:76px!important;width:auto!important}
.queue-available:not(.queue-open) #queue-launch{width:64px;right:6px;white-space:normal;padding:8px 4px}
@media(max-width:840px){.queue-available:not(.queue-open) #app{width:100%;height:calc(100dvh - 64px);overflow:auto}.queue-available:not(.queue-open) .modal-overlay,.queue-available:not(.queue-open) .draw-overlay{right:0!important;bottom:64px!important;height:auto!important}.queue-available:not(.queue-open) #queue-launch{width:auto;bottom:8px;right:12px;min-height:48px}}
@media print{.queue-available #app{width:100%!important;height:auto!important}}
.queue-available:not(.queue-open) .exam-fab{right:96px!important}.queue-open .exam-fab{right:380px!important}
.queue-available:not(.queue-open) .doc-viewer{right:76px!important}.queue-open .doc-viewer{right:360px!important}
.queue-available .main-content{min-width:0;overflow-x:auto}
@media(max-width:840px){.queue-available:not(.queue-open) .exam-fab{right:12px!important;bottom:80px!important}.queue-open .exam-fab{right:12px!important;bottom:calc(40dvh + 16px)!important}.queue-available:not(.queue-open) .doc-viewer{right:0!important;bottom:64px!important}.queue-open .doc-viewer{right:0!important;bottom:40dvh!important}}
/* The shared Mobile bridge loads after this stylesheet; keep its back bar in the work area. */
@media(min-width:841px){body.mobile-shared.queue-open #mobile-shared-bar{right:360px}body.mobile-shared.queue-available:not(.queue-open) #mobile-shared-bar{right:76px}}
@media(max-width:840px){body.mobile-shared.queue-open #app{height:calc(60dvh - 48px - env(safe-area-inset-top))}body.mobile-shared.queue-available:not(.queue-open) #app{height:calc(100dvh - 112px - env(safe-area-inset-top))}}

#queue-next-reason{font-size:13px;line-height:1.6;background:#e5eef4;border-radius:8px;padding:10px;margin:10px 0}#queue-message:empty{display:none}#queue-message{padding:8px;background:#fff6db;border-radius:8px}
