html{scrollbar-gutter:stable}.app-picker-row:hover{background:var(--tblr-active-bg,#ffffff0d)}.app-picker-row:last-child{border-bottom:none!important}@keyframes spin{to{transform:rotate(360deg)}}.page-loading-bar{background:var(--tblr-primary);z-index:9999;width:0;height:3px;box-shadow:0 0 8px var(--tblr-primary);pointer-events:none;animation:.7s ease-out forwards pageLoadProgress;position:fixed;top:0;left:0}@keyframes pageLoadProgress{0%{opacity:1;width:0%}60%{opacity:1;width:85%}85%{opacity:1;width:100%}to{opacity:0;width:100%}}*{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.form-control:focus,.form-select:focus{box-shadow:none;border-color:var(--tblr-border-color);outline:none}.form-switch .form-check-input:focus{box-shadow:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");border-color:#0000}.react-colorful{border-radius:var(--tblr-border-radius)!important}.react-colorful__saturation{border-radius:var(--tblr-border-radius)var(--tblr-border-radius)0 0!important}.react-colorful__hue{border-radius:0 0 var(--tblr-border-radius)var(--tblr-border-radius)!important}.status-dot{background:#555;border-radius:50%;width:10px;height:10px;display:inline-block}.status-dot.connected{background:#4caf50;box-shadow:0 0 8px #4caf5088}.status-dot.connecting{background:#ff9800;animation:1s infinite pulse}.status-dot.disconnected{background:#f44336}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.battery-icon{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.battery-icon.high{background:#4caf50}.battery-icon.mid{background:#ff9800}.battery-icon.low{background:#f44336}.perm-dot{background:#555;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.perm-dot.granted{background:#4caf50}.perm-dot.denied{background:#f44336}.perm-list{flex-direction:column;gap:6px;display:flex}.perm-item{align-items:center;gap:8px;display:flex}.perm-label{flex:1;font-size:13px}.mute-btn{border:1px solid var(--tblr-border-color);color:var(--tblr-body-color);cursor:pointer;background:0 0;border-radius:6px;width:36px;height:36px;font-size:16px;transition:all .2s}.mute-btn:hover{border-color:var(--tblr-primary)}.mute-btn.muted{background:var(--tblr-danger);border-color:var(--tblr-danger);color:#fff}.volume-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.volume-row:last-child{margin-bottom:0}.volume-label{width:80px;color:var(--tblr-secondary);font-size:14px}.volume-row .form-range{flex:1}.volume-val{text-align:center;width:30px;font-size:14px;font-weight:500}.screen-viewer-wrap{flex-direction:column;height:100%;display:flex}.screen-viewer-row{opacity:0;align-items:stretch;gap:0;height:100%;transition:opacity .4s,transform .4s;display:flex;transform:scale(.97)}.screen-viewer-row.visible{opacity:1;transform:scale(1)}.screen-viewer-phone{flex:none;height:100%}.screen-container{border:1px solid var(--tblr-border-color);background:#e5e7eb;border-right:none;border-radius:8px 0 0 8px;justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow:hidden}#screen-canvas{cursor:crosshair;border-radius:4px;width:100%;height:100%;display:none}#screen-canvas.streaming{display:block}.screen-loading{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.screen-loading-spinner{border:3px solid #0000001a;border-top-color:#0006;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.screen-offline{color:#0000004d;flex-direction:column;align-items:center;gap:8px;display:flex}.screen-offline span{letter-spacing:.5px;text-transform:uppercase;font-size:12px;font-weight:500}.screen-idle{color:#00000040;flex-direction:column;align-items:center;gap:8px;display:flex}.screen-idle span{letter-spacing:.3px;text-align:center;padding:0 20px;font-size:11px;font-weight:500}.screen-toolbar{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);z-index:10;scrollbar-width:thin;border-left:none;border-radius:0 8px 8px 0;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;gap:2px;max-height:100%;padding:6px 4px;display:flex;position:relative;overflow:visible auto}.screen-toolbar::-webkit-scrollbar{width:3px}.screen-toolbar::-webkit-scrollbar-thumb{background:var(--tblr-border-color);border-radius:3px}.screen-toolbar-btn{color:var(--tblr-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.screen-toolbar-btn:hover,.screen-toolbar-btn.popup-open{color:var(--tblr-body-color);background:var(--tblr-bg-surface-secondary)}.screen-toolbar-btn.active{color:var(--tblr-primary)}.screen-toolbar>*{opacity:0;flex-shrink:0;transition:all .15s,opacity .4s}.screen-toolbar.ready>*{opacity:1}.toolbar-tooltip{background:var(--tblr-dark,#1e293b);color:#fff;white-space:nowrap;pointer-events:none;z-index:9999;opacity:0;border-radius:4px;padding:5px 8px;font-size:12px;font-weight:400;line-height:1;transition:opacity .15s;position:fixed}.toolbar-tooltip.visible{opacity:1}.toolbar-tooltip-arrow{border:4px solid #0000;border-left-color:var(--tblr-dark,#1e293b);pointer-events:none;z-index:9999;opacity:0;width:0;height:0;transition:opacity .15s;position:fixed}.toolbar-tooltip-arrow.visible{opacity:1}.tblr-tooltip{flex:1;min-width:0;display:inline-flex;position:relative}.tblr-tooltip-text{bottom:calc(100% + var(--tblr-tooltip-arrow-height,.4rem));color:#f3f4f6;border-radius:var(--tblr-border-radius,4px);white-space:nowrap;pointer-events:none;opacity:0;z-index:var(--tblr-tooltip-zindex,1080);background-color:#354052;border:1px solid #ffffff1a;padding:.25rem .5rem;font-size:.75rem;font-weight:400;line-height:1.42857;transition:opacity .15s;position:absolute;left:50%;transform:translate(-50%)}.tblr-tooltip-text:after{content:"";border-width:var(--tblr-tooltip-arrow-height,.4rem)calc(var(--tblr-tooltip-arrow-width,.8rem)*.5)0;border-style:solid;border-color:#354052 #0000 #0000;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tblr-tooltip:hover .tblr-tooltip-text{opacity:var(--tblr-tooltip-opacity,.9)}.tblr-tooltip-bottom .tblr-tooltip-text{bottom:auto;top:calc(100% + var(--tblr-tooltip-arrow-height,.4rem));left:0;transform:none}.tblr-tooltip-bottom .tblr-tooltip-text:after{border-width:0 calc(var(--tblr-tooltip-arrow-width,.8rem)*.5)var(--tblr-tooltip-arrow-height,.4rem);border-color:#0000 #0000 #354052;top:auto;bottom:100%;left:1rem;transform:none}.screen-toolbar-sep{background:var(--tblr-border-color);width:24px;height:1px;margin:4px 0}.toolbar-popup{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);z-index:9998;border-radius:8px;width:240px;padding:10px;animation:.15s popupIn;position:fixed;box-shadow:0 4px 16px #0000004d}@keyframes popupIn{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}.app-list{max-height:300px;overflow-y:auto}.app-item{border-bottom:1px solid var(--tblr-border-color);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.app-item:last-child{border-bottom:none}.app-name{font-size:14px}.event-log{max-height:400px;padding:0 1.25rem;overflow-y:auto}.event-item{border-bottom:1px solid var(--tblr-border-color);padding:6px 0;font-size:13px}.event-item:last-child{border-bottom:none}.event-item-header{align-items:center;gap:8px;display:flex}.event-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.event-dot.device{background:#2196f3}.event-dot.command{background:#ff9800}.event-dot.lockscreen{background:#d63939}.event-dot.notification{background:#9c27b0}.event-dot.app{background:color-mix(in srgb,var(--tblr-purple)calc(var(--tblr-text-opacity,1)*100%),transparent)!important}.event-dot.number{background:#20c997}.event-dot.module_loaded{background:#4caf50}.event-dot.module_not_loaded{background:#d63939}.event-dot.module_sent{background:#2196f3}.event-dot.reload_module{background:#ff9800}.event-dot.device_deactivated{background:#d63939}.btn-event-delete{color:var(--tblr-secondary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;padding:2px;line-height:1;transition:opacity .15s}.event-item:hover .btn-event-delete{opacity:.5}.btn-event-delete:hover{color:var(--tblr-danger);opacity:1!important}.event-action{font-weight:500}.event-details{word-break:break-all;padding-left:16px;font-size:12px}.event-time{white-space:nowrap;font-size:12px}#toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.app-toast{color:#fff;border-radius:8px;max-width:300px;padding:10px 16px;font-size:13px;animation:.3s slideIn}.app-toast-info{background:#2a2a4a}.app-toast-success{background:#2e7d32}.app-toast-error{background:#c62828}.app-toast.fade-out{animation:.3s forwards fadeOut}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.brightness-row{align-items:center;gap:12px;display:flex}.brightness-row .form-range{flex:1}.screen-usage-stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.screen-usage-stat{background:var(--tblr-bg-surface-secondary);text-align:center;border-radius:8px;padding:14px 12px}.screen-usage-stat-value{color:var(--tblr-body-color);font-size:20px;font-weight:700}.screen-usage-stat-label{letter-spacing:.5px;color:var(--tblr-secondary);margin-top:2px;font-size:11px;font-weight:500}.calendar-popup{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);z-index:100;border-radius:8px;min-width:480px;padding:16px;animation:.15s calendarIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0006}@keyframes calendarIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.device-records-layout{gap:0;height:420px;display:flex}.device-records-list{border-right:1px solid var(--tblr-border-color);flex-shrink:0;width:200px;overflow-y:auto}.device-records-content{flex-direction:column;flex:1;min-width:0;display:flex}.device-records-info{flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.device-records-info>div{flex:1;min-width:0;padding:12px;overflow-y:auto}.device-records-info>div+div{border-left:1px solid var(--tblr-border-color)}.record-item{border-bottom:1px solid var(--tblr-border-color);cursor:pointer;padding:8px 12px;transition:background .1s}.record-item:hover{background:var(--tblr-bg-surface-secondary)}.record-item.active{background:var(--tblr-primary-lt)}.record-item-nested{padding-left:28px}.record-group-header{border-bottom:1px solid var(--tblr-border-color);background:var(--tblr-bg-surface);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.record-group-header:hover{background:var(--tblr-bg-surface-secondary)}.record-group-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.record-group-count{color:var(--tblr-secondary);background:var(--tblr-bg-surface-secondary);border-radius:10px;flex-shrink:0;padding:1px 6px;font-size:11px;font-weight:500}.device-records-toolbar{border-bottom:1px solid var(--tblr-border-color);background:var(--tblr-bg-surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex}.device-records-nav{padding:2px 4px;line-height:1}.wireframe-layer-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;opacity:1;align-items:center;gap:4px;transition:opacity .15s;display:flex}.wireframe-layer-toggle.disabled{opacity:.4;text-decoration:line-through}.wireframe-layer-checkbox{border:2px solid;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:background .15s;display:inline-flex}.screen-text-list{margin:0;padding:0;list-style:none}.screen-text-item{background:var(--tblr-bg-surface-secondary);border-left:3px solid #ffa726;border-radius:0 4px 4px 0;margin-bottom:4px;padding:6px 8px;font-size:12px}.element-detail-row{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.element-detail-label{color:var(--tblr-secondary);flex-shrink:0;min-width:90px;font-size:12px}.element-detail-value{background:var(--tblr-bg-surface-secondary);word-break:break-all;border-radius:4px;padding:3px 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.screen-toolbar-btn.recording{color:#f44336}.input-group:focus-within,.input-group:focus-within .input-group-text,.input-group:focus-within .form-control,.input-group:focus-within .btn{box-shadow:none!important;border-color:var(--tblr-border-color)!important;outline:none!important}.navbar{z-index:100;position:sticky!important;top:0!important}.device-page-body{gap:var(--tblr-page-padding);padding:var(--tblr-page-padding-y)0 var(--tblr-page-padding);align-items:flex-start;display:flex}.device-page-phone{top:calc(57px + var(--tblr-page-padding-y));height:calc(100vh - 57px - var(--tblr-page-padding-y) - var(--tblr-page-padding-y));flex-shrink:0;display:flex;position:sticky}.device-page-content{gap:var(--tblr-page-padding);flex-direction:column;flex:1;min-width:0;display:flex}.device-page-content>*{margin-bottom:0!important}.device-page-content>:last-child{margin-bottom:.5rem!important}.device-page-content-full{max-width:100%}@media (max-width:1199px){.device-page-content .grid-2col{grid-template-columns:1fr!important}}@media (max-width:768px){.device-page-body{flex-direction:column;max-width:100%;overflow-x:hidden}.device-page-phone{width:100%;height:auto;position:relative;top:auto}.device-page-phone .screen-viewer-wrap{width:100%;height:auto}.device-page-phone .screen-viewer-row{height:auto;padding-right:45px;display:flex;position:relative}.device-page-phone .screen-viewer-phone{flex:auto;min-width:0;height:auto}.device-page-phone .screen-container{height:auto}.device-page-phone .screen-toolbar{position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.device-page-content{max-width:100%}.device-page-content .grid-2col{grid-template-columns:1fr!important}.card-header{flex-wrap:wrap;gap:.5rem}.card-header .ms-auto{flex-wrap:wrap;margin-left:0!important}}.btn-gen-password{border:1px solid var(--tblr-border-color);color:var(--tblr-secondary);background:0 0;align-items:center;display:flex}.btn-gen-password:hover{background:var(--tblr-bg-surface-secondary);color:var(--tblr-body-color);border-color:var(--tblr-border-color)}.settings-nav.list-group-flush>.list-group-item{text-align:left;background:0 0;border:0!important;margin-top:0!important}.settings-nav.list-group-flush>.list-group-item+.list-group-item.active{border-top-width:0!important;margin-top:0!important}.settings-nav.list-group-flush>.list-group-item.active{background-color:var(--tblr-list-group-active-bg)}.card-table th.col-actions,.card-table td.col-actions{white-space:nowrap;text-align:center;z-index:1;width:1%;position:sticky;right:0;box-shadow:-4px 0 8px #00000026;background:var(--tblr-bg-surface)!important;padding-left:.75rem!important;padding-right:.75rem!important}@media (max-width:767.98px){:root{--tblr-page-padding:1rem!important}}.device-row-card{border-radius:8px;overflow:visible}.device-card-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.device-card-status-dot.online{background:#4caf50;box-shadow:0 0 6px #4caf5088}.device-card-status-dot.offline{background:#6c757d}.device-card-status-dot.unconfigured{background:#ff9800}.device-row{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.device-row-main{flex-shrink:0;align-items:center;gap:8px;min-width:0;display:flex}.device-row-pills{flex-wrap:wrap;flex:1;align-items:center;gap:5px;min-width:0;display:flex}.device-row-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.device-panels{grid-template-columns:1fr 1fr 1fr 1fr;min-height:0;display:grid}.device-panel{flex-direction:column;min-width:0;display:flex;overflow:hidden}.device-panel-info{align-self:start;overflow:visible}.device-panel+.device-panel{border-left:1px solid var(--tblr-border-color)}.device-panel-header{letter-spacing:.5px;text-transform:uppercase;height:34px;color:var(--tblr-secondary);border-bottom:1px solid var(--tblr-border-color);flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:600;display:flex}.device-panel-body{flex:1;min-height:0;padding:8px 12px;overflow-y:auto}.device-info-list{flex-direction:column;gap:4px;display:flex}.device-info-row{align-items:center;gap:8px;min-height:22px;font-size:12px;display:flex}.device-info-label{color:var(--tblr-secondary);flex-shrink:0;min-width:70px;font-weight:500}.device-panel-add-btn{cursor:pointer;color:var(--tblr-secondary);background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex}.device-panel-add-btn:hover{color:var(--tblr-primary)}.device-panel-delete-btn{cursor:pointer;color:var(--tblr-secondary);background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex}.device-panel-delete-btn:hover{color:#d63939}.device-panel-header a.fw-bold{color:inherit;text-decoration:none;transition:color .15s}.device-panel-header a.fw-bold:hover{color:var(--tblr-primary)!important}.confirm-modal-cancel{color:var(--tblr-secondary);border:1px solid var(--tblr-border-color);background:0 0}.confirm-modal-cancel:hover{color:#fff;background:#ffffff0f;border-color:#fff3}.device-comment-item{border-bottom:1px solid var(--tblr-border-color);padding:5px 0}.device-comment-item:last-child{border-bottom:none}.device-comment-text{word-break:break-word;font-size:12px;line-height:1.4}.device-comment-actions{opacity:0;transition:opacity .15s}.device-comment-item:hover .device-comment-actions{opacity:1}.device-event-item{border-bottom:1px solid var(--tblr-border-color);align-items:flex-start;gap:8px;padding:8px 0;display:flex}.device-event-item:last-child{border-bottom:none}.device-event-item .event-dot{margin-top:4px}.device-target-app{background:var(--tblr-bg-surface-secondary);border:1px solid var(--tblr-border-color);border-radius:6px;flex:1;min-width:140px;padding:8px 10px}@media (max-width:1199px){.device-panels{grid-template-columns:1fr 1fr}.device-panel+.device-panel{border-left:none}.device-panel:nth-child(2n){border-left:1px solid var(--tblr-border-color)}.device-panel:nth-child(n+3){border-top:1px solid var(--tblr-border-color)}}@media (max-width:767px){.device-panels{grid-template-columns:1fr}.device-panel+.device-panel,.device-panel:nth-child(2n){border-left:none}.device-panel:nth-child(n+2){border-top:1px solid var(--tblr-border-color)}}@media (min-width:992px){.page-sidebar-350{flex:0 0 350px!important;width:350px!important;min-width:350px!important;max-width:350px!important}}.wireframe-ctx-menu{background:var(--tblr-bg-surface);border:1px solid var(--tblr-border-color);z-index:10000;border-radius:6px;min-width:200px;max-height:400px;padding:4px 0;font-size:12px;animation:.1s ctxMenuIn;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #0006}@keyframes ctxMenuIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.wireframe-ctx-header{color:var(--tblr-secondary);border-bottom:1px solid var(--tblr-border-color);white-space:nowrap;text-overflow:ellipsis;max-width:320px;padding:6px 12px;font-size:11px;overflow:hidden}.wireframe-ctx-item{width:100%;color:var(--tblr-body-color);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.wireframe-ctx-item:hover{background:var(--tblr-primary);color:#fff}
