:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f5f7;--color-bg-dark:#000;--color-surface:#fff;--color-surface-alt:#f5f5f7;--color-text:#1d1d1f;--color-text-2:#000c;--color-text-3:#0000007a;--color-muted:#0000007a;--color-accent:#0071e3;--color-accent-hover:#0077ed;--color-link:#06c;--color-link-dark:#2997ff;--color-focus:#0071e3;--color-border:#0000000f;--color-border-light:#0000000a;--color-overlay:#0000007a;--color-success-bg:#dff7e8;--color-success-fg:#166534;--color-danger-bg:#fde2e2;--color-danger-fg:#991b1b;--color-warning-bg:#ffedd5;--color-warning-fg:#9a3412;--color-info-bg:#dbeafe;--color-info-fg:#1d4ed8;--color-neutral-bg:#e5e7eb;--color-neutral-fg:#374151;--font-display:"SF Pro Display", -apple-system, BlinkMacSystemFont, "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-text:"SF Pro Text", -apple-system, BlinkMacSystemFont, "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;--fs-page-title:28px;--fs-section:21px;--fs-body:17px;--fs-label:14px;--fs-micro:12px;--space-1:4px;--space-2:6px;--space-3:8px;--space-4:10px;--space-5:12px;--space-6:14px;--space-7:16px;--space-8:18px;--space-9:20px;--space-10:24px;--space-page:24px;--radius-input:11px;--radius-button:8px;--radius-card:12px;--radius-pill:980px;--radius-circle:50%;--shadow-card:0 1px 3px #00000014;--shadow-elevated:#00000038 3px 5px 30px 0px;--shadow-popover:var(--shadow-elevated);--shadow-focus:0 0 0 2px var(--color-focus);color:var(--color-text);background:var(--color-bg);font-family:var(--font-text)}html{font-size:100%}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}.boot-screen{text-align:center;place-content:center;gap:8px;min-height:100vh;display:grid}.app-shell{flex-direction:column;min-height:100vh;display:flex}.brand{color:var(--color-text);align-items:center;gap:10px;min-height:38px;font-weight:700;display:flex}.brand-logo{box-shadow:var(--shadow-elevated);object-fit:cover;border-radius:9px;flex:none;width:34px;height:34px;display:block}.nav-list{align-items:center;gap:var(--space-5);margin:0 auto;display:flex}.nav-item{text-decoration:none}.nav-list .nav-item{color:var(--color-text-3);padding:8px 14px;font-size:13px}.nav-list .nav-item:hover{text-decoration:none}.nav-list .nav-item.active{color:var(--color-text);text-decoration:none}.nav-overlay{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);z-index:40;background:#000c;justify-content:center;align-items:center;animation:.2s both modal-backdrop-enter;display:flex;position:fixed;inset:0}.nav-overlay-list{gap:var(--space-3);flex-direction:column;width:min(420px,100vw - 32px);display:flex}.nav-overlay-list .nav-list{display:contents}.nav-overlay-list .nav-item{border-radius:var(--radius-button);color:#fff;align-items:center;gap:var(--space-3);min-height:48px;padding:14px 12px;font-size:17px;display:flex}.nav-overlay-list .nav-item:hover,.nav-overlay-list .nav-item.active{color:#fff;background:#ffffff1a}.topbar-end{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.topbar-end .icon-button{color:var(--color-text-2)}.topbar-version{color:var(--color-text-3);font-family:var(--font-mono,ui-monospace, monospace);white-space:nowrap;font-size:12px}.main-pane{min-block-size:0;flex-direction:column;flex:auto;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--color-border);color:var(--color-text);align-items:center;gap:var(--space-5);height:52px;padding:0 var(--space-page);z-index:50;background:#ffffffd1;display:flex;position:sticky;top:0}.topbar-start{align-items:center;gap:var(--space-3);display:flex}.topbar-device-detail{gap:12px;min-inline-size:0}.topbar-device-back{flex:none;text-decoration:none}.topbar-device-title-group{gap:2px;min-inline-size:0;display:grid}.topbar-device-title{color:var(--color-text);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;font-size:16px;font-weight:700;overflow:hidden}.topbar-device-meta{align-items:center;gap:6px;min-inline-size:0;display:flex;overflow:hidden}.topbar-device-source-tag{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-3);text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.2;overflow:hidden}.topbar-nav-button{color:var(--color-text-2);background:0 0;min-width:44px;min-height:44px}.top-nav{box-shadow:0 1px #ffffffc2}.nav-brand{font-family:var(--font-display);letter-spacing:0;font-size:15px}.nav-brand .brand-logo{box-shadow:none}.nav-tabs{justify-content:center;gap:4px}.top-nav .nav-tab{letter-spacing:0;border-radius:6px;align-items:center;gap:6px;min-height:36px;font-weight:500;transition:background-color .18s,color .18s,transform .14s;display:inline-flex;position:relative}.top-nav .nav-tab:after{background:var(--color-accent);content:"";border-radius:999px;block-size:2px;inline-size:0;transition:inline-size .18s;position:absolute;inset-block-end:-8px;inset-inline-start:50%;transform:translate(-50%)}.top-nav .nav-tab:hover{color:var(--color-text);background:#1d1d1f0a}.top-nav .nav-tab:hover:after{inline-size:60%}.top-nav .nav-tab:active{transform:scale(.97)}.top-nav .nav-tab.active{color:var(--color-text);font-weight:600}.top-nav .nav-tab.active:after{inline-size:70%}.nav-meta{color:var(--color-text-3)}.top-nav .icon-button:hover:not(:disabled),.top-nav .icon-button:focus-visible{color:var(--color-text);background:#1d1d1f0d}.page-content{padding:var(--space-page);flex:auto}.page-content.page-content-flush{min-block-size:0;padding:0;overflow:hidden}.page-content.page-content-flush .page-content-animate{block-size:100%;min-block-size:0;overflow:hidden}.page-content.page-content-flush .devices-workbench{block-size:calc(100dvh - 52px)}.muted{color:var(--color-text-3)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.dashboard-primary-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-primary-card{background:var(--color-surface);box-shadow:var(--shadow-card);border:0;border-radius:8px;gap:8px;min-width:0;padding:20px;display:grid}.dashboard-primary-label,.dashboard-primary-detail{color:var(--color-text-3);letter-spacing:-.224px;font-size:14px}.dashboard-primary-value{color:var(--color-text);letter-spacing:0;font-size:42px;font-weight:600;line-height:1.05}.dashboard-secondary-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat-card,.panel{background:var(--color-surface);box-shadow:var(--shadow-card);border:0;border-radius:8px;padding:16px}.stat-label,.stat-detail{color:var(--color-text-3);letter-spacing:-.224px;font-size:14px}.stat-value{letter-spacing:.196px;margin-inline:0;margin-top:6px;font-size:28px;font-weight:400}.stat-card{margin-block:0}.status-badge{letter-spacing:-.12px;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.status-badge-icon{flex-shrink:0}.status-succeeded,.status-online{color:#166534;background:#dff7e8}.status-failed,.status-offline{color:#991b1b;background:#fde2e2}.status-timeout,.status-unauthorized{color:#9a3412;background:#ffedd5}.status-running,.status-busy{color:#0071e3;background:#dbeafe}.status-pending,.status-unknown,.status-cancelled{color:#374151;background:#e5e7eb}.empty-state{border:1px dashed var(--color-border);color:var(--color-text-3);border-radius:8px;padding:18px;animation:.35s both fade-in-up}.error-panel{border:1px dashed var(--color-border);color:var(--color-text-3);align-items:flex-start;gap:var(--space-3);border-radius:8px;flex-direction:column;padding:18px;display:flex}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.page-stack{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.page-stack h1,.page-stack h2{margin:0 0 8px}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.list-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.agent-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.agent-section-heading h2{margin:0}.agent-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.agent-overview-item{border-top:1px solid var(--color-border);min-width:0;padding-top:10px}.agent-overview-value{overflow-wrap:anywhere;margin-top:6px;font-size:21px;font-weight:600;line-height:1.19}.agent-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.agent-contact-list,.agent-session-list{gap:8px;display:grid}.agent-contact-row,.agent-session-row{border-top:1px solid var(--color-border);min-width:0;padding-top:10px}.agent-contact-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.agent-contact-main,.agent-session-main{min-width:0}.agent-contact-title{overflow-wrap:anywhere;font-weight:600}.agent-contact-meta{color:var(--color-text-3);flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-top:4px;font-size:14px;display:flex}.agent-contact-meta code,.agent-contact-sync,.agent-session-reason{overflow-wrap:anywhere}.agent-contact-sync{color:var(--color-text-3);justify-items:end;gap:2px;min-width:0;font-size:12px;display:grid}.agent-session-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:10px 12px;display:grid}.agent-session-status{place-items:end;gap:6px;display:grid}.agent-session-reason{color:var(--color-text-3);grid-column:1/-1;font-size:12px}@media (width<=640.98px){.agent-overview-grid,.agent-detail-grid,.agent-contact-row,.agent-session-row{grid-template-columns:minmax(0,1fr)}.agent-contact-sync,.agent-session-status{justify-items:start}}.page-header{justify-content:space-between;align-items:center;display:flex}.page-header-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-header-actions input[type=text],.page-header-actions input[type=search]{flex:140px;min-width:0}.page-header select,.page-header input{min-height:44px}.empty-row{padding:var(--space-10);text-align:center}select,input,textarea{border:1px solid var(--color-border);border-radius:11px;padding:8px 10px}input[type=text],input[type=search],select{background:#fafafc}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--color-border);text-align:left;padding:10px}th{letter-spacing:-.224px;font-size:14px;font-weight:600}.button-row,.schedule-actions{flex-wrap:wrap;gap:8px;display:flex}:where(button,.submit-button,.secondary-button,.icon-button,.topbar-nav-button,.nav-item,a,input,select,textarea):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.form-field{gap:6px;min-width:0;display:grid}.form-field-label,.checkbox-field-label{color:var(--color-text-2);font-size:var(--fs-label);letter-spacing:-.224px;font-weight:600}.form-field-help,.form-field-error,.checkbox-field-description,.checkbox-field-error{color:var(--color-text-3);font-size:var(--fs-micro);line-height:1.35}.field-control{border-radius:var(--radius-input);background:#fff;border:1px solid #0000001a;align-items:center;gap:8px;min-width:0;min-height:40px;padding:0 10px 0 12px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb8,0 1px 2px #00000008}.field-control:before{background:var(--color-accent);border-radius:var(--radius-pill);content:"";bottom:7px;opacity:0;inset-inline-start:6px;inline-size:3px;transition:opacity .16s;position:absolute;top:7px}.field-control>*{z-index:1;position:relative}.field-control:focus-within{border-color:var(--color-accent);box-shadow:inset 0 1px 0 #ffffffb8, var(--shadow-focus);background:#fff}.field-control.is-invalid{border-color:#00000042;box-shadow:inset 0 1px #ffffffb8,0 0 0 1px #0000001a}.field-control:focus-within:before,.field-control.is-invalid:before{opacity:1}.field-control.is-disabled{background:var(--color-surface-alt);opacity:.62}.field-control .field-control-input,.field-control .field-control-select,.field-control .field-control-textarea{color:var(--color-text);background:0 0;border:0;outline:0;flex:auto;width:100%;min-width:0;min-height:0;padding:8px 0;line-height:1.25}.field-control-textarea{resize:vertical;min-height:88px}.field-control input[type=number]{appearance:textfield}.field-control input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-control input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media (pointer:coarse){.field-control{min-height:44px}}.checkbox-field{cursor:pointer;align-items:flex-start;gap:9px;min-width:0;display:flex}.checkbox-field input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.checkbox-field-box{color:#0000;background:#fff;border:1px solid #0000002e;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:13px;font-weight:700;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s;display:inline-flex}.checkbox-field input:checked+.checkbox-field-box{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.checkbox-field input:focus-visible+.checkbox-field-box{box-shadow:var(--shadow-focus)}.file-drop-field{cursor:pointer;background:#fff;border:1px solid #0000001f;border-radius:8px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-height:112px;padding:14px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:grid}.file-drop-field:focus-visible,.file-drop-field.is-dragging{border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.file-drop-field:hover:not(.is-disabled){background:#fafafc;border-color:#0000002e}.file-drop-field-input{display:none}.file-drop-icon,.file-drop-preview{border:1px solid var(--color-border);color:var(--color-accent);object-fit:cover;background:#fafafc;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.file-drop-copy{gap:4px;min-width:0;display:grid}.file-drop-button{border-radius:var(--radius-button);color:var(--color-accent);font-size:var(--fs-label);overflow-wrap:anywhere;background:#fff;border:1px solid #0000001f;justify-self:start;align-items:center;max-width:100%;min-height:34px;padding:0 12px;font-weight:600;line-height:1.2;transition:border-color .16s,box-shadow .16s,background-color .16s;display:inline-flex;box-shadow:inset 0 1px #ffffffb8,0 1px 2px #00000008}.file-drop-field:hover:not(.is-disabled) .file-drop-button,.file-drop-field:focus-visible .file-drop-button,.file-drop-field.is-dragging .file-drop-button{border-color:var(--color-accent);background:#fff;box-shadow:inset 0 1px #ffffffb8,0 0 0 1px #0071e32e}.file-drop-description,.file-drop-file,.file-drop-status{color:var(--color-text-3);font-size:var(--fs-micro);overflow-wrap:anywhere;line-height:1.35}@media (pointer:coarse){.file-drop-button{min-height:44px;padding:0 14px}}@media (width<=640px){.file-drop-field{grid-template-columns:1fr;min-height:0}.file-drop-button{min-height:44px;padding:0 14px}}button{background:var(--color-accent);border-radius:var(--radius-button);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 15px;transition:background-color .14s,box-shadow .14s,transform .14s;display:inline-flex}button:hover:not(:disabled){background:var(--color-accent-hover)}button:active:not(:disabled){transform:translateY(1px)scale(.99)}button:disabled{cursor:not-allowed;opacity:.68}.action-panel{gap:12px;display:grid}.action-task-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.action-task-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);min-width:0;padding:var(--space-10);transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.action-task-card:hover,.action-task-card.is-expanded{border-color:var(--color-accent);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.action-task-trigger{color:var(--color-text);align-items:start;gap:var(--space-5);text-align:left;background:0 0;border:0;justify-content:stretch;width:100%;padding:0;display:grid}.action-task-trigger:hover:not(:disabled){background:0 0}.action-task-trigger:active:not(:disabled){transform:none}.action-task-icon{color:var(--color-accent);align-items:center;display:inline-flex}.action-task-head{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.action-task-title{font-size:var(--fs-section);font-weight:600}.action-task-type{background:var(--color-surface-alt);color:var(--color-text-3);font-size:var(--fs-micro);border-radius:6px;padding:2px 6px}.action-task-desc{color:var(--color-text-3);font-size:var(--fs-label);line-height:1.4}.action-task-meta{gap:var(--space-3);flex-wrap:wrap;display:flex}.action-task-form-shell{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .22s,opacity .18s,margin-top .18s;display:grid;overflow:hidden}.action-task-card.is-expanded .action-task-form-shell{opacity:1;grid-template-rows:1fr;margin-top:12px}.action-task-form-inner{min-height:0;overflow:hidden}.action-button-row{flex-wrap:wrap;gap:8px;display:flex}.action-button-row button{min-height:38px}.action-panel label{gap:6px;display:grid}textarea{resize:vertical;min-height:90px}.submit-button{min-height:38px;position:relative}.submit-button.is-loading{background:var(--color-accent);box-shadow:var(--shadow-focus)}.submit-button.is-loading svg{animation:.9s linear infinite spin}.upload-field input{background:var(--color-surface-alt);cursor:pointer}.upload-state{background:var(--color-info-bg);border:1px solid var(--color-info-fg);color:var(--color-accent);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.upload-state svg{animation:.9s linear infinite spin}.image-preview{border:0;border-radius:8px;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;padding:10px;display:grid}.image-preview img{aspect-ratio:1;background:var(--color-bg);object-fit:cover;border-radius:6px;width:96px;display:block}.image-preview div{gap:4px;min-width:0;display:grid}.image-preview strong,.image-preview span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.image-preview span{color:var(--color-text-3);font-size:13px}.loop-controls{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.loop-controls h3{grid-column:1/-1;margin:0}.loop-controls button{grid-column:1/-1}.modal-backdrop{background:var(--color-overlay);z-index:60;place-items:center;animation:.2s both modal-backdrop-enter;display:grid;position:fixed;inset:0}.modal-panel{background:var(--color-surface);box-shadow:var(--shadow-elevated);overscroll-behavior:contain;max-width:560px;max-height:calc(100vh - 48px);padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));border:0;border-radius:8px;gap:12px;width:calc(100vw - 48px);animation:.25s cubic-bezier(.34,1.56,.64,1) both scale-in;display:grid;overflow:auto}.dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dialog-grid input,.dialog-grid select{min-width:0}.checkbox-row{align-items:center;gap:8px;display:flex}.checkbox-row input{flex:none}.task-preview{background:var(--color-bg);border:0;border-radius:8px;gap:6px;padding:10px;display:grid}.task-preview code{overflow-wrap:anywhere}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.secondary-button{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-button);color:var(--color-text-2)}.secondary-button:hover:not(:disabled){background:#0000000a}.button-danger{background:var(--color-text);border-radius:var(--radius-button);color:#fff;border:1px solid #0000}.button-danger:hover:not(:disabled){background:#000}@media (width<=640px){.secondary-button,.button-danger{min-height:44px}}.clickable-row{cursor:pointer}.icon-button{border-radius:var(--radius-button);color:inherit;background:0 0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}.icon-button:hover:not(:disabled){background:#0000000a}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.clickable-row:hover{background:#0000000a}.drawer{background:var(--color-surface);box-shadow:var(--shadow-elevated);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);z-index:55;border-left:0;flex-direction:column;width:min(720px,100vw);animation:.28s cubic-bezier(.32,.72,0,1) both drawer-enter;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-header{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px;display:flex}.drawer-body{overscroll-behavior:contain;flex:1;gap:16px;min-height:0;padding:18px;display:grid;overflow:hidden auto}.drawer pre{background:var(--color-bg);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;border-radius:6px;padding:12px;overflow:auto}.connect-bar{gap:8px;display:flex}.connect-bar input{flex:1;max-width:320px}.tag{font-size:var(--fs-micro);vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 7px;font-weight:600;display:inline-block}.tag-adb{color:var(--color-text-3);background:#e5e7eb}.tag-cloud,.tag-region,.tag-key,.tag-device-tag{background:var(--color-neutral-bg);color:var(--color-neutral-fg)}.tag-installed{color:#166534;background:#dff7e8}.tag-missing{color:#991b1b;background:#fde2e2}.tag-adb-disconnected{background:var(--color-neutral-bg);color:var(--color-text-3);opacity:.62;font-weight:500}.tag-unknown{color:var(--color-text-3);background:#e5e7eb}.tag-warning{color:#9a3412;background:#ffedd5}.health-panel h2{margin:0;font-size:16px}.health-grid{margin-top:var(--space-4);gap:10px;display:grid}.health-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.device-meta-inline,.cloud-tag-list{flex-wrap:wrap;gap:4px;max-width:360px;margin-top:6px;display:flex}.device-meta-inline .tag,.cloud-tag-list .tag{overflow-wrap:anywhere;max-width:100%;margin-left:0}.health-detail{color:#9a3412;padding:4px 0;font-size:13px}.result-banner p{margin:4px 0 0}.result-ok{border-color:#166534}.result-err{border-color:#991b1b}.action-menu-cell{min-width:86px;position:relative}.action-menu{justify-content:flex-end;display:inline-flex;position:relative}.action-menu>button{min-height:44px}.action-menu-panel{background:var(--color-surface);box-shadow:var(--shadow-elevated);z-index:45;border:0;border-radius:8px;gap:4px;min-width:150px;padding:6px;display:none;position:fixed}.action-menu.open .action-menu-panel{animation:.2s both slide-down;display:grid}.action-menu-panel button{background:var(--color-surface);color:var(--color-text-2);justify-content:flex-start;width:100%;min-height:34px}.action-menu-panel button:hover:not(:disabled){background:var(--color-surface-alt);box-shadow:none}.device-row-clickable{cursor:pointer;animation:.2s backwards row-enter}.device-row-clickable:hover>td{background:#0000000a}.zalo-detail-row td{background:#0000000a;padding:14px}.zalo-detail-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.zalo-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.zalo-detail-panel{background:var(--color-surface);border:0;border-radius:8px;gap:8px;padding:12px;display:grid}.zalo-detail-panel h3,.zalo-detail-panel p{margin:0}.zalo-avatar{object-fit:cover;border:0;border-radius:8px;width:72px;height:72px}.zalo-detail-panel pre{background:var(--color-bg);white-space:pre-wrap;border:0;border-radius:6px;max-height:220px;margin:0;padding:10px;overflow:auto}@media (width<=1023.98px){.action-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.dialog-grid{grid-template-columns:1fr}}@media (width<=980px){.zalo-detail-grid{grid-template-columns:1fr}}@media (width<=834px){.page-content{padding:16px}}@media (width<=640px){.page-content{padding:14px}}@media (width>=834px){.topbar-nav-button{display:none}}@media (width<=833.98px){.topbar .nav-list{display:none}}@media (width<=640px){.topbar,.topbar-start{min-width:0}.brand span,.topbar-version{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-shell,.page-loading{min-height:100dvh}.login-shell{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-panel{width:100%;max-width:360px}.login-panel input{box-sizing:border-box;width:100%;min-height:44px;font-size:17px}.login-panel h2{font-family:var(--font-display);font-size:var(--fs-section);letter-spacing:.231px;margin:0;font-weight:600}.login-panel .submit-button{width:100%;min-height:44px}.login-panel label{gap:6px;display:grid}.login-panel .brand{color:var(--color-text)}.error-text{color:var(--color-danger-fg);margin:0}.page-loading{align-items:center;gap:var(--space-3);color:var(--color-text-3);flex-direction:column;justify-content:center;min-height:100dvh;display:flex}.page-loading-spinner{animation:.9s linear infinite spin}@media (width<=640px){.login-shell{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}}.table-panel{overscroll-behavior:contain;overflow-x:clip}.tasks-pagination,.devices-pagination{border-top:1px solid var(--color-border);color:var(--color-text-2);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 0;display:flex}.tasks-pagination-summary,.devices-pagination-summary{font-size:var(--fs-label)}.tasks-pagination-actions,.devices-pagination-actions{align-items:center;gap:8px;display:flex}.tasks-page-size{color:var(--color-text-2);font-size:var(--fs-label);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.tasks-page-size select{border:1px solid var(--color-border);color:var(--color-text);font:inherit;background:#fff;border-radius:8px;min-block-size:34px;padding:0 28px 0 10px}.tasks-pagination-pages{align-items:center;gap:4px;display:inline-flex}.tasks-page-button{border-radius:6px;justify-content:center;align-items:center;min-block-size:32px;min-inline-size:32px;font-size:12px;font-weight:600;display:inline-flex}.tasks-page-button.is-active{background:var(--color-accent);color:var(--color-surface)}.tasks-pagination-actions button,.devices-pagination-actions button{border:1px solid var(--color-border);color:var(--color-text);font:inherit;background:#fff;border-radius:8px;min-block-size:34px;padding:0 12px}.tasks-pagination-actions button:hover:not(:disabled),.tasks-pagination-actions button:focus-visible,.devices-pagination-actions button:hover:not(:disabled),.devices-pagination-actions button:focus-visible,.tasks-page-size select:hover,.tasks-page-size select:focus-visible{background:#1d1d1f0d;outline:none}.tasks-pagination-actions button:disabled,.devices-pagination-actions button:disabled{color:var(--color-text-3);cursor:not-allowed;opacity:.6}.ops-workbench{gap:16px;min-width:0;display:grid}.workbench-title{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ops-toolbar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.ops-toolbar-main,.ops-toolbar-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.ops-toolbar-main{flex:auto}.ops-toolbar-actions{flex:none;justify-content:flex-end}.ops-workbench-grid{min-block-size:0;flex:auto;align-items:stretch;gap:0;min-width:0;display:flex;overflow:hidden}.ops-list-pane{background:var(--color-surface);border:1px solid var(--color-border);min-block-size:0;border-radius:8px;flex-direction:column;flex:auto;min-width:0;display:flex;overflow:hidden}.ops-detail-panel{--ops-detail-panel-width:min(420px, 38vw);background:var(--color-surface);inline-size:0;border-left:1px solid #0000;flex-direction:column;flex:none;min-width:0;min-height:0;transition:border-color .18s;display:flex;overflow:hidden}.ops-detail-panel.is-open{border-left-color:var(--color-border);inline-size:var(--ops-detail-panel-width)}.ops-detail-panel.is-closed{pointer-events:none;visibility:hidden;inline-size:0}.ops-workbench-grid>.ops-detail-panel{block-size:100%;max-block-size:100%}.ops-detail-panel-inner{block-size:100%;height:100%;inline-size:var(--ops-detail-panel-width);min-block-size:0;opacity:0;flex-direction:column;min-height:0;transition:opacity .18s,transform .22s;display:flex;overflow:hidden;transform:translate(12px)}.ops-detail-panel.is-open .ops-detail-panel-inner{opacity:1;transform:translate(0)}.ops-detail-panel-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:flex-start;gap:10px;padding:18px 20px;display:grid}.ops-detail-panel-heading h2,.ops-detail-panel-heading p{min-width:0;margin:0}.ops-detail-panel-heading h2{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.25;overflow:hidden}.ops-detail-panel-heading p{color:var(--color-text-2);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.ops-detail-panel-badge{align-self:center}.ops-detail-close{align-self:start}.ops-detail-panel-body{min-block-size:0;overscroll-behavior:contain;flex:auto;gap:0;min-height:0;padding:0;display:grid;overflow-y:auto}.ops-detail-panel-empty{color:var(--color-text-2);justify-content:center;align-items:center;min-height:240px;padding:24px;display:flex}.ops-detail-panel-skeleton{background:linear-gradient(90deg,#1d1d1f0a,#1d1d1f14,#1d1d1f0a) 0 0/200% 100%;border-radius:8px;height:180px;margin:20px;animation:1.2s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ops-detail-panel-footer{background:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 20px;display:grid}.ops-detail-section{border-bottom:1px solid var(--color-border);gap:12px;padding:18px 20px;display:grid}.ops-detail-section h3{color:var(--color-text);margin:0;font-size:13px;font-weight:700}.ops-info-row{grid-template-columns:minmax(96px,auto) minmax(0,1fr);align-items:start;gap:12px;display:grid}.ops-info-label{color:var(--color-text-2);font-size:12px}.ops-info-value{color:var(--color-text);overflow-wrap:anywhere;text-align:right;min-width:0;font-size:13px}.ops-code-block{color:#e8f5ee;white-space:pre-wrap;background:#1d1d1f;border-radius:8px;max-height:220px;margin:0;padding:14px;font-size:12px;line-height:1.5;overflow:auto}.ops-toolbar button:focus-visible,.ops-toolbar input:focus-visible,.ops-toolbar select:focus-visible,.ops-detail-panel button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ops-mobile-detail-backdrop{background:var(--color-overlay);z-index:54;align-items:flex-end;display:flex;position:fixed;inset:0}.workbench-detail-overlay{justify-content:flex-end;align-items:stretch}.workbench-detail-overlay .overlay-panel-host{justify-content:flex-end;width:min(520px,100vw);min-width:0;max-width:min(520px,100vw);display:flex}.workbench-detail-overlay .ops-detail-panel,.workbench-detail-overlay .ops-detail-panel.is-open{border-left:1px solid var(--color-border);inline-size:100%;visibility:visible;border-radius:8px 0 0 8px;width:100%;max-height:100dvh}.workbench-detail-overlay .ops-detail-panel-inner{inline-size:100%}@media (width<=1179.98px){.ops-workbench-grid{min-height:0}.ops-list-pane{border-radius:8px}}@media (width<=767.98px){.ops-toolbar,.ops-toolbar-main,.ops-toolbar-actions{flex-direction:column;align-items:stretch}.ops-toolbar-actions{width:100%}.ops-list-pane{background:0 0;border:0;overflow:visible}.workbench-detail-overlay{justify-content:center;align-items:flex-end}.workbench-detail-overlay .overlay-panel-host{width:100vw;max-width:100vw;max-height:90dvh}.workbench-detail-overlay .ops-detail-panel,.workbench-detail-overlay .ops-detail-panel.is-open{border-radius:14px 14px 0 0;max-height:90dvh}.workbench-detail-overlay .ops-detail-panel-footer{padding-bottom:max(16px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.ops-detail-panel,.ops-detail-panel-inner{transition:none}.ops-detail-panel-skeleton{animation:none}}.device-detail-panel .ops-detail-panel-footer{display:block}.device-detail-section-title{color:var(--color-text-2);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0;font-size:12px;font-weight:700;display:flex}.device-detail-actions{flex-wrap:wrap;gap:10px;display:flex}.device-detail-action-btn{border-radius:8px;flex:calc(50% - 5px);justify-content:center;align-items:center;gap:6px;min-block-size:38px;min-inline-size:calc(50% - 5px);padding:0 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.device-detail-action-btn.primary{background:var(--color-accent);color:var(--color-surface)}.device-detail-action-btn.secondary{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text)}.device-detail-action-btn.danger{color:var(--color-danger-fg);background:#ff3b301f;border:1px solid #ff3b303d}.device-detail-action-btn:hover:not(:disabled){filter:brightness(.98)}@media (width<=767.98px){.device-detail-action-btn{flex-basis:100%;min-inline-size:100%}}.task-detail-content{min-width:0;display:grid}.task-detail-status{grid-template-columns:auto minmax(0,1fr);align-items:center}.task-detail-status code{color:var(--color-text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-detail-refetch-error{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 20px;display:grid}.task-detail-refetch-error .error-text{overflow-wrap:anywhere}.task-log-list{gap:10px;display:grid}.task-log-entry{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.task-log-meta{color:var(--color-text-2);font-size:11px}.task-log-message{color:var(--color-text);overflow-wrap:anywhere;font-size:12px}.task-detail-actions{background:var(--color-surface);border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 20px;display:grid;position:sticky;bottom:0}.task-detail-actions button:last-child:nth-child(3){grid-column:1/-1}.task-detail-section-title{color:var(--color-text-2);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0;font-size:12px;font-weight:700;display:flex}.task-timeline{gap:0;display:grid}.task-timeline-item{grid-template-columns:12px minmax(0,1fr);gap:12px;padding-bottom:14px;display:grid;position:relative}.task-timeline-item:before{background:var(--color-border);content:"";bottom:0;inset-inline-start:5px;inline-size:1px;position:absolute;top:14px}.task-timeline-item:last-child{padding-bottom:0}.task-timeline-item:last-child:before{display:none}.task-timeline-dot{background:var(--color-surface);border:2px solid var(--color-border);border-radius:50%;block-size:11px;inline-size:11px;margin-top:2px}.task-timeline-dot.active{background:var(--color-success-fg);border-color:var(--color-success-fg)}.task-timeline-info{gap:2px;display:grid}.task-timeline-label{color:var(--color-text);font-size:12px;font-weight:600}.task-timeline-time{color:var(--color-text-2);font-variant-numeric:tabular-nums;font-size:11px}.task-detail-action-btn{border-radius:8px;justify-content:center;align-items:center;gap:6px;min-block-size:38px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.task-detail-action-btn.primary{background:var(--color-accent);color:var(--color-surface)}.task-detail-action-btn.secondary{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text)}.task-detail-action-btn:hover:not(:disabled){filter:brightness(.98)}.task-detail-drawer-panel{inline-size:min(520px,100vw);width:min(520px,100vw);max-width:520px}.task-detail-drawer-panel.ops-detail-panel.is-open{visibility:visible;inline-size:min(520px,100vw)}.task-detail-drawer-panel .ops-detail-panel-inner{inline-size:100%}.devices-table th{white-space:nowrap;vertical-align:top;position:relative}.devices-table.table-resizable td{word-break:break-word;overflow-wrap:anywhere}.devices-table th>span:first-child{text-overflow:ellipsis;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.col-resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;z-index:2;width:6px;position:absolute;top:0;bottom:0;right:0}.col-resizer:after{content:"";background:0 0;border-radius:1px;width:2px;transition:background-color .12s;position:absolute;top:4px;bottom:4px;right:2px}.col-resizer:hover:after,.col-resizing .col-resizer:after{background:var(--color-accent,#0071e3);opacity:.5}body.col-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.col-resizing *{cursor:col-resize!important}@media (width<=640px){.table-panel{-webkit-overflow-scrolling:touch;overflow-x:auto}.tasks-table-panel,.schedules-table-panel,.contacts-table-panel,.users-table-panel{overflow:visible}.tasks-table-panel thead,.schedules-table-panel thead,.contacts-table-panel thead,.users-table-panel thead{display:none}.tasks-table-panel tbody,.schedules-table-panel tbody,.contacts-table-panel tbody,.users-table-panel tbody{display:block}.tasks-table-panel tr,.schedules-table-panel tr,.contacts-table-panel tr,.users-table-panel tr{border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin:0 0 var(--space-3);padding:var(--space-3) var(--space-5);display:block}.tasks-table-panel td,.schedules-table-panel td,.contacts-table-panel td,.users-table-panel td{gap:var(--space-3);padding:var(--space-1) 0;text-align:left;border:0;grid-template-columns:auto minmax(0,1fr);display:grid}.tasks-table-panel td:before,.schedules-table-panel td:before,.contacts-table-panel td:before,.users-table-panel td:before{content:attr(data-label);color:var(--color-text-3);font-weight:600;font-size:var(--fs-micro);letter-spacing:-.12px}.schedules-table-panel .schedule-actions{align-items:stretch;gap:var(--space-2);flex-direction:column}.schedules-table-panel .schedule-actions button{width:100%}.modal-backdrop{align-items:flex-end}.modal-panel{border-radius:14px 14px 0 0;width:100vw;max-width:none;max-height:90vh}.modal-actions{background:var(--color-surface);padding-block:var(--space-3);position:sticky;bottom:0}}.drawer-backdrop{background:var(--color-overlay);z-index:54;animation:.25s both modal-backdrop-enter;position:fixed;inset:0}@media (width<=640px){.drawer{border-left:0;border-top:1px solid var(--color-border);border-radius:14px 14px 0 0;width:auto;height:min(90vh,100%);animation-name:drawer-mobile-enter;inset:auto 0 0}}@media (width<=834px){.grid-two{grid-template-columns:1fr}}@media (width<=640px){.page-header{align-items:stretch;gap:var(--space-3);flex-direction:column}.list-row{gap:var(--space-3);flex-wrap:wrap}.list-row>*{overflow-wrap:anywhere;min-width:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.dashboard-primary-metrics,.dashboard-secondary-metrics{grid-template-columns:1fr}.dashboard-primary-card{padding:16px}.dashboard-primary-value{font-size:34px}.clickable-row:active{background:#0000000a}.clickable-row{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.action-panel input,.action-panel select{box-sizing:border-box;width:100%;min-width:0}@media (width<=640px){.action-task-grid{grid-template-columns:1fr}.action-button-row{flex-direction:column}.action-button-row button{width:100%}.image-preview{grid-template-columns:64px minmax(0,1fr)}.image-preview img{width:64px;height:auto}.image-preview strong,.image-preview span{white-space:normal;word-break:break-word}.action-menu-panel{min-width:min(180px,60vw)}}@media (width<=480px){.connect-bar{flex-wrap:wrap}.connect-bar input{flex:100%;max-width:none}}@media (width<=640px){.dialog-grid input[type=datetime-local],input[type=datetime-local]{font-size:16px}}.page-subtitle{color:var(--color-text-3);font-size:var(--fs-label);margin:4px 0 0}.task-def-grid{gap:var(--space-10);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.task-def-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;gap:var(--space-5);padding:var(--space-10);text-align:left;flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex}button.task-def-card:hover{background:var(--color-surface);border-color:var(--color-accent);box-shadow:var(--shadow-elevated);transform:translateY(-1px)}.task-def-card-head{color:var(--color-accent);align-items:center;gap:var(--space-5);display:flex}.task-def-card-head h2{color:var(--color-text);font-size:var(--fs-section);margin:0}.task-def-type{background:var(--color-surface-alt);border-radius:var(--radius-input);color:var(--color-text-2);font-size:var(--fs-micro);padding:2px var(--space-5);width:fit-content}.task-def-desc{color:var(--color-text-3);font-size:var(--fs-label);margin:0}.task-def-meta{gap:var(--space-4);flex-wrap:wrap;display:flex}.tag-chip{background:var(--color-neutral-bg);border-radius:var(--radius-pill);color:var(--color-neutral-fg);font-size:var(--fs-micro);align-items:center;gap:var(--space-2);padding:2px var(--space-5);font-weight:600;display:inline-flex}.tag-accent{background:var(--color-info-bg);color:var(--color-info-fg)}.tag-ok{background:var(--color-success-bg);color:var(--color-success-fg)}.drawer-tabs{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);gap:var(--space-2);padding:0 var(--space-10);flex-shrink:0;display:flex}.drawer-tabs button{color:var(--color-text-3);cursor:pointer;font-size:var(--fs-label);padding:var(--space-7) var(--space-5);background:0 0;border:0;border-bottom:2px solid #0000}.drawer-tabs button.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.task-def-section{gap:var(--space-7);min-height:fit-content;padding-bottom:var(--space-10);flex-direction:column;display:flex}.task-def-section h3{font-size:var(--fs-label);text-transform:uppercase;margin:0}.task-def-kv{gap:var(--space-4);margin:0;display:grid}.task-def-kv div{gap:var(--space-7);justify-content:space-between;display:flex}.task-def-kv dt{color:var(--color-text-3);font-size:var(--fs-micro);margin:0}.task-def-kv dd{text-align:right;margin:0}.param-schema-table{border-collapse:collapse;width:100%}.param-schema-table th{color:var(--color-text-3);font-size:var(--fs-micro);text-align:left;padding:var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border);font-weight:600}.param-schema-table td{color:var(--color-text-2);font-size:var(--fs-micro);padding:var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border-light)}.param-schema-table tbody tr:last-child td{border-bottom:none}.task-def-version-row{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-input);gap:var(--space-4);padding:var(--space-7);margin-bottom:var(--space-4);display:grid}.task-def-version-row:last-child{margin-bottom:0}.task-def-version-head{align-items:center;gap:var(--space-5);display:flex}.task-def-version-path{align-items:center;gap:var(--space-4);color:var(--color-text-3);flex-wrap:wrap;display:flex}.task-def-version-select{gap:var(--space-4);display:grid}.task-def-source-meta{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.code-block{background:var(--color-bg);border-radius:var(--radius-input);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--fs-micro);max-height:60vh;padding:var(--space-7);white-space:pre;line-height:1.5;overflow:auto}.label-row{align-items:center;gap:var(--space-4);display:inline-flex}.ghost-link{color:var(--color-link);cursor:pointer;font-size:var(--fs-label);gap:var(--space-2);background:0 0;border:none;padding:0;text-decoration:none;display:inline-flex}.ghost-link:hover:not(:disabled),.ghost-link:focus-visible{color:var(--color-link);background:0 0;text-decoration:underline}.ghost-link:disabled{color:var(--color-text-3);cursor:not-allowed}.hint-text{color:var(--color-text-3);font-size:var(--fs-micro);margin:0}.filter-row{align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-row label{flex:200px;margin:0}.contacts-segmented-control{inline-size:fit-content}.zalo-contact-controls .filter-row{margin-bottom:0}.zalo-contact-friend-toggle{flex:0 auto;align-self:flex-end;min-block-size:44px}.zalo-contact-cache-line{color:var(--color-text-3);font-size:var(--fs-micro);gap:var(--space-5);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.zalo-contact-workspace{align-items:stretch;gap:var(--space-6);grid-template-columns:minmax(18rem,.9fr) minmax(0,1.1fr);min-block-size:min(42rem,100vh - 16rem);min-inline-size:0;display:grid}.zalo-contact-list,.zalo-contact-detail-panel{background:var(--color-surface);min-inline-size:0;padding:var(--space-5);border-radius:8px}.zalo-contact-list{align-content:start;gap:var(--space-3);display:grid;overflow:auto}.zalo-contact-row{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);align-items:center;gap:var(--space-4);padding:var(--space-5);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr);display:grid}.zalo-contact-row:hover:not(:disabled),.zalo-contact-row:focus-visible,.zalo-contact-row.is-selected{background:var(--color-surface-alt);color:var(--color-text)}.zalo-contact-row.is-selected{box-shadow:inset 3px 0 0 var(--color-accent);border-color:#0071e34d}.zalo-contact-avatar-wrap{place-items:center;block-size:2.75rem;inline-size:2.75rem;display:inline-grid;position:relative}.zalo-contact-avatar-wrap.is-large{block-size:3.75rem;inline-size:3.75rem}.zalo-contact-avatar{border:1px solid var(--color-border);color:var(--color-text-2);font-size:var(--fs-label);background:#fafafc;border-radius:50%;justify-content:center;align-items:center;block-size:2.75rem;inline-size:2.75rem;font-weight:600;display:inline-flex;overflow:hidden}.zalo-contact-agent-status{background:var(--color-neutral-fg);border:2px solid var(--color-surface);block-size:.7rem;box-shadow:0 0 0 1px var(--color-border);border-radius:50%;inline-size:.7rem;position:absolute;inset-block-end:.1rem;inset-inline-end:.1rem}.zalo-contact-agent-status.is-online{background:var(--color-success-fg)}.zalo-contact-avatar.is-large{block-size:3.75rem;inline-size:3.75rem}.zalo-contact-avatar img{object-fit:cover;block-size:100%;inline-size:100%}.zalo-contact-row-main,.zalo-contact-row-meta{gap:var(--space-1);min-inline-size:0;display:grid}.zalo-contact-row-main strong,.zalo-contact-row-main span,.zalo-contact-row-meta span{overflow-wrap:anywhere}.zalo-contact-row-main span,.zalo-contact-row-meta{color:var(--color-text-3);font-size:var(--fs-micro)}.zalo-contact-row-meta{grid-column:2}.zalo-contact-detail-panel{align-content:start;gap:var(--space-6);display:grid;overflow:auto}.zalo-contact-detail-header{align-items:center;gap:var(--space-5);min-inline-size:0;display:flex}.zalo-contact-detail-header h2{font-size:var(--fs-section);overflow-wrap:anywhere;margin:0}.zalo-contact-detail-header p{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.zalo-contact-message-form{gap:var(--space-4);display:grid}.zalo-contact-message-form .submit-button{justify-self:start}.zalo-contact-relationship-actions{align-items:center;display:flex}.zalo-contact-relationship-actions .button-danger{align-items:center;gap:var(--space-2);display:inline-flex}.zalo-contact-detail-grid{gap:var(--space-3) var(--space-5);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.zalo-contact-detail-grid dt{color:var(--color-text-3);font-size:var(--fs-micro)}.zalo-contact-detail-grid dd{overflow-wrap:anywhere;min-inline-size:0;margin:0}@media (width<=900px){.zalo-contact-workspace{grid-template-columns:1fr}.zalo-contact-list{max-block-size:28rem}}@media (width<=640px){.contacts-segmented-control{inline-size:100%}.contacts-segmented-control button{flex:1 1 0}.zalo-contact-detail-grid{grid-template-columns:1fr}}.stat-row{gap:var(--space-8);flex-wrap:wrap;display:flex}.stat-row span{font-size:var(--fs-label);align-items:baseline;gap:var(--space-1);flex-direction:column;display:inline-flex}.stat-row strong{color:var(--color-text-3);font-size:var(--fs-micro);font-weight:500}.contact-pick-list{gap:var(--space-2);margin-top:var(--space-5);flex-direction:column;max-height:40vh;display:flex;overflow-y:auto}.contact-pick-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);cursor:pointer;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);text-align:left;justify-content:space-between;display:flex}.contact-pick-item:hover{border-color:var(--color-accent)}.contact-pick-phone{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.contact-pick-group{background:var(--color-surface-alt);border-radius:var(--radius-input);color:var(--color-text-3);font-size:var(--fs-micro);padding:2px var(--space-4)}.stats-tabs{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-button);align-self:flex-start;gap:var(--space-1);padding:var(--space-1);display:inline-flex}.stats-tabs button{color:var(--color-text-3);cursor:pointer;font:inherit;padding:var(--space-3) var(--space-5);background:0 0;border:0;border-radius:6px}.stats-tabs button.active{background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text)}.raw-packet-stack{gap:var(--space-5);min-width:0;display:grid}.raw-packet-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);align-items:end;gap:var(--space-4);padding:var(--space-5);grid-template-columns:repeat(6,minmax(110px,1fr)) auto;display:grid}.raw-packet-filter-actions{align-items:center;gap:var(--space-2);min-block-size:38px;display:flex}.raw-packet-filter-actions button{align-items:center;gap:var(--space-2);white-space:nowrap;min-block-size:38px;display:inline-flex}.raw-packet-stat-grid .stat-card{min-width:0}.raw-packet-section-heading{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.raw-packet-section-heading h2{margin:0}.raw-packet-section-heading span{color:var(--color-text-3);font-size:var(--fs-label)}.raw-packet-chart-panel{min-width:0}.raw-packet-chart-panel .recharts-responsive-container{margin-top:var(--space-4)}.raw-packet-analysis-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}.raw-packet-distributions{align-content:start;gap:var(--space-5);display:grid}.raw-packet-distributions h2,.raw-packet-distribution h3{margin:0}.raw-packet-distribution{gap:var(--space-2);display:grid}.raw-packet-distribution h3{color:var(--color-text-3);font-size:var(--fs-label)}.raw-packet-distribution-row{border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-3);padding:var(--space-2) 0;grid-template-columns:minmax(60px,1fr) 56px 84px;display:grid}.raw-packet-distribution-row span{text-align:right}.raw-packet-table-panel{min-width:0}.raw-packet-list{margin-top:var(--space-3)}.raw-packet-item{border-bottom:1px solid var(--color-border)}.raw-packet-row{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) 0;grid-template-columns:minmax(160px,1.3fr) minmax(100px,1fr) 78px 58px 72px 72px 92px 52px;display:grid}.raw-packet-item>summary{cursor:pointer;list-style:none}.raw-packet-item>summary::-webkit-details-marker{display:none}.raw-packet-item>summary:hover{background:var(--color-surface-alt)}.raw-packet-row>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.raw-packet-row-header{color:var(--color-text-3);font-size:var(--fs-micro);text-transform:uppercase;font-weight:700}.raw-packet-direction{font-size:var(--fs-label);font-weight:600}.raw-packet-direction.is-inbound{color:var(--color-success-fg)}.raw-packet-direction.is-outbound{color:var(--color-accent)}.raw-packet-ret.is-error{color:var(--color-danger-fg);font-weight:700}.raw-packet-detail{background:var(--color-surface-alt);gap:var(--space-4);padding:var(--space-4);display:grid}.raw-packet-detail dl{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.raw-packet-detail dl>div{min-width:0}.raw-packet-detail dt{color:var(--color-text-3);font-size:var(--fs-micro);font-weight:700}.raw-packet-detail dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.raw-packet-detail pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);max-block-size:360px;padding:var(--space-4);white-space:pre-wrap;word-break:break-word;margin:0;overflow:auto}.raw-packet-pagination{color:var(--color-text-2);padding-top:var(--space-4);justify-content:space-between;align-items:center;display:flex}.raw-packet-pagination>div{gap:var(--space-2);display:flex}.raw-packet-pagination .icon-button{block-size:36px;inline-size:36px}@media (width<=1180px){.raw-packet-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}.raw-packet-filter-actions{grid-column:1/-1}}@media (width<=760px){.raw-packet-filters{padding:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.raw-packet-filter-actions{align-items:stretch}.raw-packet-filter-actions button{white-space:normal;flex:1 1 0;justify-content:center}.raw-packet-analysis-grid{grid-template-columns:minmax(0,1fr)}.raw-packet-row-header{display:none}.raw-packet-row{padding:var(--space-4) 0;grid-template-columns:repeat(2,minmax(0,1fr))}.raw-packet-row>*{white-space:normal}.raw-packet-item .raw-packet-row>:before{color:var(--color-text-3);content:attr(data-label);font-size:var(--fs-micro);margin-bottom:var(--space-1);font-weight:600;display:block}.raw-packet-detail dl{grid-template-columns:minmax(0,1fr)}}@media (width<=460px){.raw-packet-filters{grid-template-columns:minmax(0,1fr)}.raw-packet-filter-actions{flex-direction:column}}.api-route-table-grid{gap:var(--space-2);min-width:1080px;display:grid}.api-route-row{border-bottom:1px solid var(--color-border);align-items:center;gap:var(--space-4);padding:var(--space-3) 0;grid-template-columns:72px minmax(220px,1fr) repeat(9,minmax(64px,auto));display:grid}.api-route-header{color:var(--color-text-3);font-size:var(--fs-micro);text-transform:uppercase;font-weight:700}.api-route-row code,.api-request-row code{overflow-wrap:anywhere}.api-method{color:var(--color-text-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-micro);font-weight:700}.api-request-row{border-bottom:1px solid var(--color-border);padding:var(--space-2) 0}.api-request-row summary{cursor:pointer;align-items:center;gap:var(--space-4);grid-template-columns:72px minmax(180px,1fr) 64px 84px;list-style:none;display:grid}.api-request-row summary::-webkit-details-marker{display:none}.api-request-params{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-card);gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-4);display:grid}.api-request-params pre{white-space:pre-wrap;max-height:260px;margin:0;overflow:auto}.api-stats-settings-grid{gap:var(--space-5);display:grid}.api-stats-storage{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.adb-pool-panel{align-items:flex-start;gap:var(--space-8);justify-content:space-between;display:flex}.adb-pool-grid{align-items:center;gap:var(--space-4);grid-template-columns:repeat(2,minmax(120px,1fr));min-width:min(100%,420px);display:grid}.adb-pool-grid label{color:var(--color-text-3);gap:var(--space-2);display:grid}.adb-pool-grid input{min-width:0}@media (width<=720px){.adb-pool-panel{flex-direction:column}.adb-pool-grid{width:100%}}.notification-center,.notification-center-shell,.notification-bell,.notification-bell-button{position:relative}.notification-bell-button{transition:background-color .16s,color .16s,transform .16s}.notification-bell-button:hover,.notification-bell-button:focus-visible{color:var(--color-accent);background:#0071e314}.notification-badge,.notification-badge-count{background:var(--color-accent);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-inline-size:1.2rem;padding:0 .25rem;font-size:.68rem;font-weight:700;display:inline-flex;position:absolute;inset-block-start:-6px;inset-inline-end:-8px}.notification-center-panel,.notification-panel-shell{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-popover);color:var(--color-text);z-index:80;border-radius:8px;max-block-size:min(38rem,100vh - 5rem);inline-size:min(30rem,100vw - 1.5rem);padding:.875rem;animation:.2s both slide-down;position:absolute;inset-block-start:calc(100% + .75rem);inset-inline-end:0;overflow:auto}.notification-panel-shell{grid-template-rows:auto auto minmax(0,1fr);padding:0;display:grid;overflow:hidden}.notification-center-header,.notification-panel-header,.notification-center-actions,.notification-panel-actions,.notification-filters,.notification-panel-filters,.notification-toast,.notification-toast-meta,.notification-list-item{display:flex}.notification-center-header,.notification-panel-header,.notification-toast-meta{justify-content:space-between;align-items:center}.notification-center-header,.notification-panel-header{padding:.875rem .875rem .625rem}.notification-center-header .notification-panel-header{padding:0;display:contents}.notification-center-actions,.notification-panel-actions{align-items:center;gap:.5rem}.notification-mark-all-read{color:var(--color-accent);cursor:pointer;font-size:var(--fs-micro);background:0 0;border:none;border-radius:6px;align-items:center;gap:.25rem;padding:.25rem .375rem;transition:background-color .16s;display:inline-flex}.notification-mark-all-read:disabled{color:var(--color-text-3);cursor:default;opacity:.65}.notification-mark-all-read:hover,.notification-mark-all-read:focus-visible{background:#0071e314}.notification-mark-all-read:disabled:hover,.notification-mark-all-read:disabled:focus-visible{background:0 0}.notification-center-header h2{font-size:var(--fs-section);margin:0}.notification-filters,.notification-panel-filters{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0 .75rem}.notification-panel-filters{border-block:1px solid var(--color-border);margin:0;padding:.625rem .875rem}.notification-filters label{color:var(--color-text-2);align-items:center;gap:.375rem;margin:0;display:inline-flex}.notification-filters select,.notification-filter-control{color:var(--color-text-2);font:inherit;background:#fafafc;border:3px solid #0000000a;border-radius:11px;min-inline-size:8rem;padding:.25rem .5rem}.notification-filter-control:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.notification-filter-checkbox{min-block-size:2rem}.notification-filter-checkbox input{accent-color:var(--color-accent)}.notification-list,.notification-list-scroll{gap:.5rem;display:grid}.notification-list-scroll{align-content:start;min-block-size:0;max-block-size:min(30rem,100vh - 12rem);padding:.5rem;overflow:auto}.notification-list-item{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);text-align:left;border-radius:8px;align-items:flex-start;gap:.625rem;padding:.75rem;transition:background-color .16s,border-color .16s;position:relative}.notification-list-scroll .notification-list-item{grid-template-columns:3px auto minmax(0,1fr);min-block-size:4.25rem;display:grid}.notification-list-item:hover:not(:disabled),.notification-list-item:focus-visible{background:var(--color-surface-alt);color:var(--color-text)}.notification-list-item.is-unread{background:#fafafc;border-color:#0071e33d}.notification-panel-shell .notification-list-item.is-unread:before{content:none}.notification-list-item.is-unread:before{background:var(--color-accent);content:"";border-radius:999px;inline-size:3px;position:absolute;inset-block:.75rem;inset-inline-start:.375rem}.notification-list-item .notification-unread-rail{background:0 0;border-radius:999px;align-self:stretch;inline-size:3px}.notification-list-item.is-unread .notification-unread-rail{background:var(--color-accent)}.notification-dot{background:var(--color-text-3);border-radius:999px;flex:none;block-size:.55rem;inline-size:.55rem;margin-block-start:.35rem}.notification-list-item.is-unread .notification-dot{background:var(--color-accent)}.notification-list-body,.notification-content{text-align:left;gap:.25rem;min-inline-size:0;display:grid}.notification-list-body strong,.notification-message{color:var(--color-text);font-size:var(--fs-label);overflow-wrap:anywhere;line-height:1.35}.notification-list-item.is-unread .notification-list-body strong{font-weight:700}.notification-list-body span,.notification-source-line,.notification-toast-meta{color:var(--color-text-3);font-size:.78rem}.notification-view-all{color:var(--color-link);font-size:var(--fs-label);text-decoration:none;display:inline-flex}.notification-view-all:hover{text-decoration:underline}.notification-toast-stack{pointer-events:none;z-index:90;gap:.75rem;display:grid;position:fixed;inset-block-start:4.5rem;inset-inline-end:max(1rem, env(safe-area-inset-right))}.notification-toast{border:1px solid var(--color-border);box-shadow:var(--shadow-popover);pointer-events:auto;background:#fff;border-radius:8px;align-items:flex-start;gap:.75rem;inline-size:min(28rem,100vw - 2rem);padding:.875rem;animation:.18s notification-toast-in}.notification-toast-body{flex:auto;gap:.25rem;min-inline-size:0;display:grid}.notification-toast-body p{overflow-wrap:anywhere;margin:0}.notification-toast-icon{color:var(--color-accent);flex:none}.notification-toast-close{flex:none}@keyframes notification-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notifications-page{min-inline-size:0}.notification-page-count,.notification-page-filters,.notification-history-row,.notification-metadata-chip{align-items:center;display:flex}.notification-page-count{color:var(--color-text-2);gap:.375rem}.notification-page-filters{background:var(--color-surface);border-radius:8px;flex-wrap:wrap;gap:.625rem;padding:.75rem}.notification-page-filters label{margin:0}.notification-page-filters select,.notification-page-filters input[type=text],.notification-page-filters input:not([type]){color:var(--color-text-2);background:#fafafc;border:3px solid #0000000a;border-radius:11px;min-inline-size:10rem}.segmented-control{background:#fafafc;border:3px solid #0000000a;border-radius:11px;padding:.125rem;display:inline-flex}.segmented-control button{color:var(--color-text-2);background:0 0;border:none;padding:.375rem .75rem}.segmented-control button.active{background:var(--color-surface);color:var(--color-text)}.notification-search{flex:16rem}.notification-expired-toggle{color:var(--color-text-2);flex:0 auto}.notification-page-layout{gap:1rem;min-block-size:min(42rem,100vh - 14rem);min-inline-size:0;display:flex}.notification-history-list,.notification-detail-panel{background:var(--color-surface);border-radius:8px;min-inline-size:0;padding:.75rem}.notification-history-list{flex:24rem;align-content:start;gap:.5rem;display:grid}.notification-detail-panel{flex:20rem;overflow:auto}.notification-detail-panel header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.notification-detail-panel h2{font-size:var(--fs-section);overflow-wrap:anywhere;margin:0}.notification-history-row{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;gap:.625rem;padding:.75rem;display:grid}.notification-history-row:hover:not(:disabled),.notification-history-row:focus-visible,.notification-history-row.is-selected{background:var(--color-surface-alt);color:var(--color-text)}.notification-history-row.is-unread{border-color:#0071e33d}.notification-history-main{gap:.25rem;min-inline-size:0;display:grid}.notification-history-main strong{overflow-wrap:anywhere}.notification-history-main span{color:var(--color-text-3);font-size:var(--fs-micro)}.notification-unread-chip,.notification-metadata-chip{color:var(--color-text-2);font-size:var(--fs-micro);background:#fafafc;border-radius:8px;padding:.25rem .5rem}.notification-detail-grid{grid-template-columns:max-content minmax(0,1fr);gap:.5rem .75rem;display:grid}.notification-detail-grid dt{color:var(--color-text-3)}.notification-detail-grid dd{overflow-wrap:anywhere;min-inline-size:0;margin:0}.notification-metadata{gap:.625rem;display:grid}.notification-metadata-chips{flex-wrap:wrap;gap:.375rem;display:flex}.notification-metadata-chip{gap:.25rem}.notification-metadata-chip a{color:var(--color-link);text-decoration:none}.notification-metadata-chip a:hover{text-decoration:underline}.notification-metadata pre{background:var(--color-bg);border-radius:8px;padding:.75rem;overflow:auto}@media (width<=640px){.notification-center-panel{inline-size:auto;inset-block-start:max(4rem, env(safe-area-inset-top));inset-inline:max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right));max-block-size:calc(100vh - 5rem);position:fixed}.notification-toast-stack{inset-block-start:4rem;inset-inline:.75rem}.notification-toast{inline-size:100%}.notification-page-layout{flex-direction:column;min-block-size:auto}.notification-detail-panel{flex-basis:auto}.notification-history-row{grid-template-columns:auto minmax(0,1fr)}.notification-unread-chip{grid-column:2;justify-self:start}}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-header-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-pulse{0%,to{opacity:.35}50%{opacity:.7}}@keyframes row-enter{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes row-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(12px)}}@keyframes status-flash{0%{background-color:#0000}30%{background-color:var(--color-success-bg)}to{background-color:#0000}}@keyframes ripple{to{opacity:0;transform:scale(2.5)}}@keyframes bell-shake{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(6deg)}80%{transform:rotate(-3deg)}}@keyframes badge-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes modal-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes drawer-enter{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawer-mobile-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-bar{0%{width:0%}to{width:var(--progress,0%)}}@keyframes confirm-bounce{0%{transform:scale(1)}40%{transform:scale(.995)}to{transform:scale(1)}}.page-content-animate{animation:.28s backwards page-enter}.page-header-animate{animation:.28s 60ms both page-header-enter}.skeleton{background:linear-gradient(90deg,#0000000f 25%,#0000001a 50%,#0000000f 75%) 0 0/200% 100%;border-radius:6px;animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-card{background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:8px;padding:16px}.skeleton-row{border-top:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 0;display:flex}.row-animate{animation:.2s both row-enter}.row-exit{pointer-events:none;animation:.18s forwards row-exit}.status-flash{animation:.6s status-flash}.btn-ripple-wrap{position:relative;overflow:hidden}.btn-ripple-wrap .ripple-circle{height:8px;left:var(--ripple-x,50%);pointer-events:none;top:var(--ripple-y,50%);background:#ffffff59;border-radius:50%;width:8px;animation:.5s ease-out forwards ripple;position:absolute;transform:translate(-50%,-50%)}.btn-success{transition:background-color .3s;background:var(--color-success-fg)!important}.form-confirm{animation:.35s confirm-bounce}.panel-hover{transition:box-shadow .3s,transform .3s}.panel-hover:hover{box-shadow:var(--shadow-elevated)}.modal-backdrop-animate{animation:.2s both modal-backdrop-enter}.modal-panel-animate{animation:.25s cubic-bezier(.34,1.56,.64,1) both scale-in}.drawer-animate{animation:.28s cubic-bezier(.32,.72,0,1) both drawer-enter}.drawer-backdrop-animate{animation:.25s both modal-backdrop-enter}@media (width<=640px){.drawer-animate{animation-name:drawer-mobile-enter}}.dropdown-animate{animation:.2s both slide-down}.empty-state-animate{animation:.35s both fade-in-up}.badge-animate{animation:.3s cubic-bezier(.34,1.56,.64,1) badge-pop}.bell-animate svg{animation:.5s bell-shake}.nav-indicator{background:#ffffffd9;border-radius:2px;height:2px;transition:left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:2px}.hamburger-icon{flex-direction:column;justify-content:center;gap:5px;width:20px;height:18px;display:flex}.hamburger-icon span{background:currentColor;border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .2s;display:block}.hamburger-icon.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-icon.is-open span:nth-child(2){opacity:0}.hamburger-icon.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.stat-value-animate{animation:.3s both fade-in-up}.progress-bar{background:var(--color-surface-alt);border-radius:4px;height:4px;position:relative;overflow:hidden}.progress-bar-fill{background:var(--color-accent);border-radius:4px;height:100%;transition:width .4s;animation:.4s both progress-bar}.setting-toggle{background:#fff;border:1px solid #00000014;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.setting-toggle.is-disabled{cursor:not-allowed;opacity:.68}.setting-toggle-copy{gap:3px;min-width:0;display:grid}.setting-toggle-label{font-size:var(--fs-label);letter-spacing:-.224px;font-weight:600}.setting-toggle-description{color:var(--color-text-3);font-size:var(--fs-micro);line-height:1.35}.setting-toggle input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.setting-toggle-track{border-radius:var(--radius-pill);background:#00000029;flex:none;align-items:center;block-size:26px;inline-size:44px;padding:3px;transition:background-color .16s,box-shadow .16s;display:inline-flex}.setting-toggle-thumb{border-radius:var(--radius-circle);background:#fff;block-size:20px;inline-size:20px;transition:transform .16s;box-shadow:0 1px 2px #0003}.setting-toggle input:checked+.setting-toggle-track{background:var(--color-accent)}.setting-toggle input:checked+.setting-toggle-track .setting-toggle-thumb{transform:translate(18px)}.setting-toggle input:focus-visible+.setting-toggle-track{box-shadow:var(--shadow-focus)}.settings-page{align-content:start}.settings-layout{align-items:start;gap:var(--space-10);grid-template-columns:minmax(180px,240px) minmax(0,1fr);display:grid}.settings-nav{background:var(--color-surface);border:1px solid var(--color-border);gap:var(--space-2);padding:var(--space-3);border-radius:8px;display:grid}.settings-nav-item{color:var(--color-text-2);text-align:left;background:0 0;border:0;justify-content:flex-start;min-block-size:44px;padding:10px 12px}.settings-nav-item:hover:not(:disabled),.settings-nav-item.active{color:var(--color-text);background:#0000000a}.settings-main{gap:var(--space-7);min-width:0;display:grid}.settings-hero,.settings-section{background:var(--color-surface);border:1px solid var(--color-border);min-width:0;padding:var(--space-7);border-radius:8px}.settings-hero{align-items:start;gap:var(--space-7);justify-content:space-between;display:flex}.settings-hero h2,.settings-section h2{font-size:var(--fs-section);margin:0;line-height:1.19}.settings-hero p,.settings-section-head p{color:var(--color-text-3);font-size:var(--fs-label);margin:6px 0 0;line-height:1.4}.settings-hero-meta{color:var(--color-text-3);font-size:var(--fs-micro);gap:var(--space-5);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.settings-actions,.settings-footer-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.settings-section{gap:var(--space-7);display:grid}.settings-section-body{gap:var(--space-6);display:grid}.settings-field{align-items:start;gap:var(--space-7);grid-template-columns:minmax(150px,220px) minmax(0,1fr);display:grid}.settings-field-copy{gap:3px;display:grid}.settings-field-label{color:var(--color-text-2);font-size:var(--fs-label);letter-spacing:-.224px;font-weight:600}.settings-field-hint{color:var(--color-text-3);font-size:var(--fs-micro);line-height:1.35}.settings-field-control{min-width:0}.settings-field-control input,.settings-field-control textarea,.settings-tag-row input{color:var(--color-text);background:#fafafc;border:3px solid #0000000a;border-radius:11px;inline-size:100%;min-inline-size:0}.settings-field-control textarea{min-block-size:88px}.settings-unit-input{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.settings-unit-input span{color:var(--color-text-3);font-size:var(--fs-label)}.settings-inline-status{color:var(--color-text-3);font-size:var(--fs-label);align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.settings-tag-list{gap:var(--space-3);display:grid}.settings-tag-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.settings-icon-button{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-2);min-block-size:44px;min-inline-size:44px;padding:0}.settings-icon-button:hover:not(:disabled){background:#0000000a}.settings-add-row{justify-self:start}.settings-sync-summary{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.settings-sync-summary span{background:var(--color-surface-alt);color:var(--color-text-3);font-size:var(--fs-micro);padding:var(--space-4);border-radius:8px;gap:3px;display:grid}.settings-sync-summary strong{color:var(--color-text);font-size:var(--fs-section);font-weight:400}@media (width<=834px){.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow-x:auto}.settings-nav-item{white-space:nowrap;flex:none}.settings-hero{flex-direction:column}.settings-actions,.settings-footer-actions{justify-content:flex-start}.settings-field,.settings-tag-row{grid-template-columns:1fr}}.api-token-modal{max-inline-size:min(42rem,100vw - 2rem)}.api-token-created{background:#fafafc;border:1px solid #00000014;border-radius:8px;gap:.75rem;padding:.875rem;display:grid}.api-token-created code{overflow-wrap:anywhere;color:var(--color-text);display:block}.settings-inline-form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.settings-inline-form label{flex:16rem}.api-token-row{border-block-start:1px solid #00000014;justify-content:space-between;gap:1rem;padding:.875rem 0;display:flex}.api-token-row div{gap:.25rem;display:grid}.api-token-row span,.api-token-row small{color:var(--color-muted)}.device-detail-page{block-size:calc(100dvh - 52px);min-block-size:0;background:var(--color-bg);min-width:0;color:var(--color-text);overflow:hidden}.device-detail-layout{block-size:100%;min-block-size:0;grid-template-columns:minmax(0,1fr) 340px;min-width:0;display:grid;overflow:hidden}.device-detail-main{min-block-size:0;overscroll-behavior:contain;flex-direction:column;gap:20px;min-width:0;padding:20px;display:flex;overflow-y:auto}.device-detail-sidebar{background:var(--color-surface);border-left:1px solid var(--color-border);min-block-size:0;overscroll-behavior:contain;min-width:0;padding:20px;overflow-y:auto}.device-detail-card{background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:18px;min-width:0;padding:20px}.device-detail-card-title{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:16px;font-size:15px;font-weight:650;display:flex}.device-detail-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;min-width:0;display:grid}.device-detail-info-row{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:9px 0;display:flex}.device-detail-info-label{color:var(--color-text-3);flex:none;font-size:12px}.device-detail-info-value{color:var(--color-text);overflow-wrap:anywhere;text-align:right;min-width:0;font-size:13px;font-weight:550}code.device-detail-info-value,.device-detail-sidebar-row code{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:11px}.device-detail-tag,.device-detail-state-pill{background:var(--color-surface-alt);border-radius:var(--radius-pill);color:var(--color-text-3);padding:4px 8px;font-size:11px;font-weight:650;line-height:1.2;display:inline-flex}.device-detail-tags{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.device-detail-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;min-width:0;display:grid}.device-detail-metric-card{background:var(--color-surface);box-shadow:var(--shadow-card);text-align:center;border-radius:18px;min-width:0;padding:16px;transition:box-shadow .18s,transform .18s}.device-detail-metric-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.device-detail-metric-value{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin-bottom:6px;font-size:28px;font-weight:650;line-height:1.1}.device-detail-metric-value-success{color:var(--color-success-fg)}.device-detail-metric-value-failed{color:var(--color-danger-fg)}.device-detail-metric-value-timeout{color:var(--color-warning-fg)}.device-detail-metric-value-neutral{color:var(--color-text)}.device-detail-metric-label{color:var(--color-text-3);letter-spacing:.02em;font-size:11px;font-weight:600}.device-detail-task-history{gap:12px;display:grid}.device-detail-task-table-scroll{min-width:0;overflow-x:auto}.device-detail-task-table{border-collapse:collapse;inline-size:100%;font-size:13px}.device-detail-task-table th,.device-detail-task-table td{border-bottom:1px solid var(--color-border-light);text-align:left;vertical-align:middle;padding:10px 12px}.device-detail-task-table th{color:var(--color-text-3);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.device-detail-task-row{cursor:pointer;outline:none}.device-detail-task-row:hover,.device-detail-task-row:focus-visible{background:#0071e30f}.device-detail-task-row.is-selected{background:#0071e31a}.device-detail-task-id{text-overflow:ellipsis;white-space:nowrap;max-inline-size:120px;display:inline-block;overflow:hidden}.device-detail-task-type{background:var(--color-surface-alt);border-radius:var(--radius-pill);color:var(--color-text);align-items:center;max-inline-size:160px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.device-detail-task-error{color:var(--color-danger-fg)}.device-detail-pagination{color:var(--color-text-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:2px;font-size:12px;display:flex}.device-detail-pagination-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.device-detail-page-size{color:var(--color-text-3);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.device-detail-page-size select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-button);color:var(--color-text);font:inherit;min-block-size:32px}.device-detail-page-buttons{align-items:center;gap:4px;display:inline-flex}.device-detail-pagination-page{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-button);block-size:32px;color:var(--color-text-3);cursor:pointer;min-inline-size:32px;font-weight:800}.device-detail-pagination-page:hover:not(:disabled),.device-detail-pagination-page:focus-visible{color:var(--color-accent);border-color:#0071e359}.device-detail-pagination-page.is-active,.device-detail-pagination-page:disabled.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;cursor:default}.device-detail-pagination-ellipsis{color:var(--color-text-3);padding:0 4px;font-weight:800}.device-detail-sidebar-section{border-bottom:1px solid var(--color-border-light);gap:10px;padding:16px 0;display:grid}.device-detail-sidebar-section:last-child{border-bottom:0}.device-detail-sidebar-title{color:var(--color-text-3);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;inline-size:100%;padding:0;font-size:11px;font-weight:900;display:flex}.device-detail-sidebar-title-chevron{flex:none;transition:transform .16s}.device-detail-sidebar-section.is-collapsed .device-detail-sidebar-title-chevron{transform:rotate(-90deg)}.device-detail-sidebar-section-content{gap:10px;display:grid}.device-detail-sidebar-row{justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:6px 0;display:flex}.device-detail-sidebar-row span:first-child{color:var(--color-text-3);flex:none;font-size:12px}.device-detail-sidebar-row span:last-child,.device-detail-sidebar-row code{color:var(--color-text);overflow-wrap:anywhere;text-align:right;min-width:0;font-size:13px;font-weight:550}.device-detail-raw-packet-setting{gap:7px;padding:2px 0;display:grid}.device-detail-raw-packet-setting .setting-toggle{background:var(--color-surface-alt);min-width:0}.device-detail-raw-packet-status{color:var(--color-text-3);font-size:11px;line-height:1.4}.device-detail-contact-list,.device-detail-timeline-list{gap:0;min-width:0;display:grid}.device-detail-contact-item{border-bottom:1px solid var(--color-border-light);grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:9px 0;display:grid}.device-detail-contact-item:last-child{border-bottom:0}.device-detail-contact-avatar{border-radius:var(--radius-circle);color:#fff;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.device-detail-contact-avatar-img{border-radius:inherit;object-fit:cover;block-size:100%;inline-size:100%}.device-detail-avatar-0{background:#0071e3}.device-detail-avatar-1{background:#30b0c7}.device-detail-avatar-2{background:#5e5ce6}.device-detail-avatar-3{background:#34c759}.device-detail-avatar-4{background:#ff9500}.device-detail-avatar-5{background:#ff3b30}.device-detail-contact-main{min-width:0}.device-detail-contact-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.device-detail-contact-uid{color:var(--color-text-3);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);overflow-wrap:anywhere;font-size:10px}.device-detail-contact-meta{color:var(--color-text-3);white-space:nowrap;justify-items:end;gap:2px;font-size:10px;display:grid}.device-detail-contact-actions{justify-content:flex-end;align-items:center;min-width:26px;display:flex}.device-detail-contact-delete,.device-detail-contact-confirm-yes,.device-detail-contact-confirm-no{border:0;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background-color .16s,color .16s,opacity .16s,transform .16s;display:inline-flex}.device-detail-contact-delete{color:var(--color-text-3);opacity:0;background:0 0}.device-detail-contact-item:hover .device-detail-contact-delete,.device-detail-contact-delete:focus-visible{opacity:1}.device-detail-contact-delete:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger-fg)}.device-detail-contact-delete:active:not(:disabled),.device-detail-contact-confirm-yes:active:not(:disabled),.device-detail-contact-confirm-no:active:not(:disabled){transform:scale(.9)}.device-detail-contact-delete:disabled{cursor:not-allowed;opacity:.35}.device-detail-contact-confirm{align-items:center;gap:5px;display:flex}.device-detail-contact-confirm>span{color:var(--color-danger-fg);white-space:nowrap;font-size:10px;font-weight:600}.device-detail-contact-confirm-yes{background:var(--color-danger-fg);color:#fff}.device-detail-contact-confirm-no{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-3)}.device-detail-contact-confirm-yes:disabled,.device-detail-contact-confirm-no:disabled{cursor:not-allowed;opacity:.45}.device-detail-timeline-entry{border-bottom:1px solid var(--color-border-light);border-radius:10px;grid-template-columns:12px minmax(0,1fr);gap:12px;min-width:0;margin-inline:-6px;padding:10px 6px;transition:background-color .16s,box-shadow .16s;display:grid}.device-detail-timeline-entry:hover{background:#1d1d1f08;box-shadow:inset 3px 0 #0071e32e}.device-detail-timeline-entry:last-child{border-bottom:0}.device-detail-timeline-dots{flex-direction:column;align-items:center;padding-top:4px;display:flex}.device-detail-timeline-dot-online,.device-detail-timeline-dot-offline{border-radius:var(--radius-circle);width:8px;height:8px;display:block}.device-detail-timeline-dot-online{background:#34c759}.device-detail-timeline-dot-offline{background:var(--color-border)}.device-detail-timeline-line{background:var(--color-border);flex:auto;width:1px;min-height:12px;display:block}.device-detail-timeline-info{min-width:0}.device-detail-timeline-row{align-items:center;gap:8px;min-width:0;display:flex}.device-detail-timeline-row span{color:var(--color-text-3);flex:0 0 28px;font-size:11px;font-weight:600}.device-detail-timeline-row time{color:var(--color-text);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);overflow-wrap:anywhere;min-width:0;font-size:11px}.device-detail-timeline-row b{background:var(--color-surface-alt);border-radius:var(--radius-pill);color:var(--color-text-3);white-space:nowrap;margin-left:auto;padding:2px 6px;font-size:10px}.device-detail-timeline-reason{color:var(--color-text-3);overflow-wrap:anywhere;margin-top:4px;font-size:10px}.device-detail-load-more{border-radius:var(--radius-button);color:var(--color-accent);background:0 0;justify-content:center;align-items:center;gap:6px;width:100%;min-height:36px;margin-top:6px;font-size:12px;font-weight:650;display:inline-flex}.device-detail-load-more:hover:not(:disabled){background:#0071e314}.device-detail-load-more-icon{flex:none}.device-detail-load-more-count{color:var(--color-text-3);text-align:center;font-size:10px}.device-detail-action-error{background:var(--color-danger-bg);border-radius:var(--radius-button);color:var(--color-danger-fg);padding:8px 10px;font-size:12px}.device-detail-action-button{border-radius:var(--radius-button);justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;padding:10px 12px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.device-detail-action-button-primary{background:var(--color-accent);color:#fff}.device-detail-action-button-primary:hover:not(:disabled){background:var(--color-accent-hover);color:#fff}.device-detail-action-button-secondary,.device-detail-action-button-muted{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-2)}.device-detail-action-button-muted:disabled{cursor:default;opacity:.72}@media (width<=1279.98px){.device-detail-page{block-size:auto;min-block-size:calc(100dvh - 52px);overflow:visible}.device-detail-layout{grid-template-columns:minmax(0,1fr);block-size:auto;overflow:visible}.device-detail-main,.device-detail-sidebar{overflow:visible}.device-detail-sidebar{border-left:0;border-top:1px solid var(--color-border)}.device-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767.98px){.topbar-device-detail{flex:auto}.topbar-device-title{font-size:14px}.topbar-device-source-tag{max-inline-size:42vw}.device-detail-page{overflow-x:hidden}.device-detail-main,.device-detail-sidebar{padding:14px}.device-detail-main{gap:14px}.device-detail-card{border-radius:14px;padding:14px}.device-detail-info-grid{grid-template-columns:minmax(0,1fr)}.device-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.device-detail-metric-card{padding:14px 10px}.device-detail-metric-value{font-size:24px}.device-detail-contact-item{grid-template-columns:32px minmax(0,1fr)}.device-detail-contact-meta{white-space:normal;grid-column:2;justify-items:start}.device-detail-contact-actions{grid-column:2;justify-content:flex-start}.device-detail-contact-delete{opacity:1}.device-detail-pagination,.device-detail-pagination-actions{align-items:stretch;width:100%}.device-detail-pagination-actions .secondary-button,.device-detail-page-size,.device-detail-page-size select{flex:1 1 0}}.asset-wrap{overflow-wrap:anywhere;word-break:break-word;min-width:0}.asset-file-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;margin-bottom:8px;padding:12px 16px}.asset-file-card.is-missing{background:#fafafc;border-style:dashed}.afc-row1,.afc-row3{justify-content:space-between;align-items:center;gap:12px;display:flex}.afc-label{align-items:center;gap:6px;min-width:0;display:flex}.afc-label strong{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.afc-size,.afc-status,.afc-path,.afc-hash{color:var(--color-muted)}.afc-size,.afc-status{flex-shrink:0;font-size:.85rem}.afc-row2{margin-top:4px}.afc-path{overflow-wrap:anywhere;background:0 0;padding:0;font-size:.8rem}.afc-row3{margin-top:4px}.afc-hash{overflow-wrap:anywhere;background:0 0;min-width:0;padding:0;font-size:.78rem}.afc-badge{border:1px solid var(--color-border);color:var(--color-muted);background:#fafafc;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:1px 5px;font-size:.7rem;font-weight:600;display:inline-flex}.asset-mapping-card{border:1px solid var(--color-border);background:#fff;border-radius:6px;margin-bottom:16px;padding:16px}.asset-mapping-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin-bottom:12px;display:grid}.asset-mapping-title{gap:4px;min-width:0;display:grid}.asset-mapping-title strong{font-size:1.05rem}.asset-mapping-summary,.asset-derived-preview,.asset-resource-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 16px;margin:0;display:grid}.asset-mapping-summary{border-bottom:1px solid var(--color-border);padding-bottom:12px}.asset-mapping-summary div,.asset-derived-preview div,.asset-resource-meta div{min-width:0}.asset-mapping-summary dt,.asset-derived-preview dt,.asset-resource-meta dt{color:var(--color-muted);margin-bottom:2px;font-size:.75rem;font-weight:600}.asset-mapping-summary dd,.asset-derived-preview dd,.asset-resource-meta dd{color:var(--color-text);margin:0;font-size:.85rem}.asset-mapping-form{border:1px solid var(--color-border);background:#fff;border-radius:6px;margin-top:16px;padding:16px}.asset-binding-grid{grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) auto;align-items:end;gap:16px;display:grid}.asset-binding-actions{justify-content:flex-end;margin:0}.asset-empty-state{border:1px dashed var(--color-border);color:var(--color-muted);background:#fafafc;border-radius:6px;margin:12px 0 0;padding:12px}.asset-derived-preview{border:1px solid var(--color-border);background:#fafafc;border-radius:6px;margin-top:12px;padding:12px}.asset-unavailable-regions{color:var(--color-muted);gap:6px;margin-top:12px;font-size:.85rem;display:grid}.asset-resource-row{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:14px 0;display:grid}.asset-resource-main{min-width:0}.asset-resource-title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.asset-resource-state{color:var(--color-muted);align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.asset-resource-state.is-uploaded{color:var(--color-text)}.asset-resource-action{justify-content:flex-end;display:flex}.asset-history-list{border-top:1px solid var(--color-border);color:var(--color-muted);gap:6px;padding-top:12px;font-size:.85rem;display:grid}.asset-prereq-list{color:var(--color-muted);margin:8px 0 0;padding-left:18px}.upload-progress{background:var(--color-surface);border:1px solid var(--color-accent);color:var(--color-accent);border-radius:5px;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.device-source-filter,.devices-batch-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.device-source-filter .secondary-button.active{border-color:#0071e3;box-shadow:0 0 0 2px #0071e31f}.devices-batch-toolbar{justify-content:flex-start}.devices-batch-toolbar input{max-width:160px}.device-select-checkbox{accent-color:#0071e3;vertical-align:middle;width:18px;height:18px;margin-right:8px}@media (width<=760px){.afc-row1,.afc-row3,.asset-resource-row{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.asset-binding-grid{grid-template-columns:1fr}.asset-binding-actions,.asset-resource-action{justify-content:stretch}.asset-binding-actions button,.asset-resource-action button{width:100%}}.task-progress-stage{color:var(--color-text);white-space:nowrap;font-weight:500}.task-progress-summary .list-row span:last-child{overflow-wrap:anywhere;min-width:0}.chat-page{block-size:calc(100dvh - 52px - (var(--space-page) * 2));min-block-size:0}.chat-filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-device-select{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;min-block-size:38px;padding:0 12px}.chat-device-select:focus{outline:2px solid var(--color-accent);outline-offset:2px}.chat-workspace{grid-template-columns:minmax(240px,300px) minmax(0,1fr) minmax(220px,280px);gap:12px;block-size:100%;min-block-size:0;display:grid;position:relative}.chat-conversation-rail,.chat-message-timeline,.chat-context-rail{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;min-block-size:0}.chat-conversation-rail{padding:8px;overflow:hidden}.chat-conversation-item{color:var(--color-text);text-align:start;background:0 0;border:0;border-radius:8px;place-items:stretch stretch;gap:5px;min-block-size:72px;inline-size:100%;padding:10px;display:grid}.chat-conversation-item:hover,.chat-conversation-item.is-selected{box-shadow:var(--shadow-card);background:#fff;transform:translateY(-1px)}.chat-conversation-item.is-selected{box-shadow:inset 3px 0 0 var(--color-accent), var(--shadow-card);background:#0071e312;outline:none}.chat-conversation-title{text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;font-weight:600;overflow:hidden}.chat-conversation-tags,.chat-thread-tags{flex-wrap:wrap;align-items:center;gap:4px;min-inline-size:0;display:flex}.chat-conversation-tag{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-2);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;min-block-size:20px;min-inline-size:0;max-inline-size:100%;padding:2px 6px;font-size:.72rem;line-height:1.2;display:inline-flex;overflow:hidden}.chat-agent-online-dot{background:var(--color-success-fg);border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border);border-radius:50%;flex:none;block-size:.55rem;inline-size:.55rem}.chat-title-row{align-items:center;gap:10px;display:flex}.chat-agents-online{color:var(--color-text-2);align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:inline-flex}.chat-agents-online-dot{background:var(--color-text-3,#00000047);border-radius:50%;flex:none;block-size:.5rem;inline-size:.5rem}.chat-agents-online.is-online .chat-agents-online-dot{background:var(--color-success-fg)}.chat-thread-tags{margin-top:6px}.chat-conversation-preview{color:var(--color-text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-conversation-meta{color:var(--color-text-3);justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;display:flex}.chat-conversation-meta strong{background:var(--color-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-block-size:20px;min-inline-size:20px;padding:0 6px;font-size:.72rem;display:inline-flex}.chat-message-timeline{grid-template-rows:auto minmax(0,1fr) auto;min-block-size:0;display:grid;position:relative;overflow:hidden}.chat-thread-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px;display:flex}.chat-ai-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.chat-ai-soul-control{border:1px solid var(--color-border);color:var(--color-text-3);background:#fff;border-radius:8px;align-items:center;gap:5px;min-block-size:36px;padding:3px 5px 3px 8px;display:inline-flex}.chat-ai-soul-control span{font-size:var(--fs-micro);font-weight:700}.chat-ai-soul-control select{color:var(--color-text);font:inherit;font-size:var(--fs-micro);background:0 0;border:0;outline:none;min-block-size:28px;padding:0 24px 0 4px}.chat-ai-mode-control{border:1px solid var(--color-border);background:#fff;border-radius:8px;align-items:center;gap:3px;padding:3px;display:inline-flex}.chat-ai-mode-control>svg{color:var(--color-text-3);margin-inline:5px 2px}.chat-ai-mode-control button{color:var(--color-text-2);font-size:var(--fs-micro);background:0 0;border:0;border-radius:6px;min-block-size:28px;padding:0 8px}.chat-ai-mode-control button.is-active{background:var(--color-accent);color:#fff}.chat-thread-header h2,.chat-context-rail h2{margin:0;font-size:1rem}.chat-device-state{color:var(--color-text-2);align-items:center;gap:6px;font-size:.84rem;display:inline-flex}.chat-message-list-shell{min-block-size:0;position:relative}.chat-message-list{overscroll-behavior:contain;align-content:start;gap:10px;block-size:100%;min-block-size:0;padding:14px;display:grid;overflow:auto}.chat-new-messages-button{background:var(--color-text);box-shadow:var(--shadow-popover);color:#fff;font-size:var(--fs-small);z-index:4;border:0;border-radius:8px;align-items:center;gap:6px;min-block-size:34px;padding:0 12px;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.chat-new-messages-button:hover,.chat-new-messages-button:focus-visible{color:#fff;outline:2px solid var(--color-accent);outline-offset:2px;background:#000}.chat-incoming-message-alert{box-shadow:var(--shadow-popover);color:var(--color-text);text-align:start;z-index:8;background:#fff;border:1px solid #0071e33d;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;inline-size:min(340px,100% - 24px);padding:10px 12px;display:grid;position:absolute;inset-block-start:72px;inset-inline-end:12px}.chat-incoming-message-alert>svg:first-child{color:var(--color-accent)}.chat-incoming-message-alert>span{gap:2px;min-inline-size:0;display:grid}.chat-incoming-message-alert strong,.chat-incoming-message-alert small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-incoming-message-alert strong{font-size:var(--fs-small)}.chat-incoming-message-alert small{color:var(--color-text-3);font-size:var(--fs-micro)}.chat-incoming-message-alert:hover,.chat-incoming-message-alert:focus-visible{border-color:var(--color-accent);outline:none}.chat-message-row{display:flex}.chat-message-bubble{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;max-inline-size:min(70%,560px);padding:10px 12px}.chat-message-row.is-outbound .chat-message-bubble{background:#0071e314;border-color:#0071e32e}.chat-message-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.chat-ai-message-badge{color:#514fc0;background:#5e5ce61f;border-radius:4px;margin:0 5px 0 0;padding:1px 4px;font-size:.68rem;font-weight:700;display:inline-block}.chat-message-bubble.has-image{inline-size:min(360px,68vw);padding:6px}.chat-message-image-link{color:inherit;text-decoration:none;display:block}.chat-message-image-frame{aspect-ratio:4/3;background:#1d1d1f0d;border-radius:5px;justify-content:center;align-items:center;min-block-size:120px;max-block-size:420px;inline-size:100%;display:flex;overflow:hidden}.chat-message-image-frame img{object-fit:contain;block-size:100%;inline-size:100%;display:block}.chat-message-image-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-message-image-unavailable{aspect-ratio:4/3;border:1px dashed var(--color-border);color:var(--color-text-3);font-size:var(--fs-small);text-align:center;background:#1d1d1f0d;border-radius:5px;justify-content:center;align-items:center;min-block-size:120px;padding:16px;display:flex}.chat-message-bubble.has-image>p,.chat-message-bubble.has-image>span{padding-inline:6px}.chat-message-bubble.has-image>p{margin-top:8px}.chat-message-attachment-chip{border:1px solid var(--color-border);color:inherit;background:#1d1d1f0d;border-radius:6px;align-items:center;gap:6px;max-inline-size:100%;padding:6px 10px;text-decoration:none;display:inline-flex}a.chat-message-attachment-chip:hover{border-color:var(--color-accent)}.chat-message-attachment-chip svg{color:var(--color-text-3);flex:none}.chat-message-attachment-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-message-attachment-chip.is-muted{color:var(--color-text-3);background:0 0;border-style:dashed}.chat-message-attachment-chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-message-sticker img{object-fit:contain;block-size:auto;max-block-size:140px;max-inline-size:140px;display:block}.chat-message-attachment-video{display:block;position:relative}.chat-message-video-play{color:#fff;background:#00000073;border-radius:50%;justify-content:center;align-items:center;padding:10px;display:flex;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.chat-composer{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.chat-composer-input{gap:8px;min-inline-size:0;display:grid}.chat-composer-preview{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-2);border-radius:8px;align-items:start;gap:4px;min-block-size:44px;padding:8px 10px;display:grid}.chat-composer-preview span{color:var(--color-text-3);font-size:.74rem}.chat-composer-preview strong{color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap;font-size:.92rem;font-weight:500}.chat-composer-actions{align-items:end;gap:8px;display:flex}.chat-composer button{align-items:center;gap:6px;min-block-size:44px;display:inline-flex}.chat-emoji-wrap{position:relative}.chat-emoji-button{justify-content:center;min-inline-size:44px;padding:0}.chat-emoji-popover{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-popover);z-index:20;border-radius:8px;grid-template-columns:repeat(5,minmax(46px,1fr));gap:6px;max-block-size:min(330px,54vh);inline-size:min(320px,100vw - 32px);padding:8px;display:grid;position:absolute;inset-block-end:calc(100% + 8px);inset-inline-end:0;overflow:auto}.chat-composer .chat-emoji-option{background:var(--color-surface-alt);color:var(--color-text);border:1px solid #0000;border-radius:8px;place-items:center;gap:2px;min-block-size:48px;padding:4px;display:grid}.chat-composer .chat-emoji-option:hover,.chat-composer .chat-emoji-option:focus-visible{border-color:var(--color-accent);outline:none}.chat-composer .chat-emoji-option span{font-size:1.2rem;line-height:1}.chat-composer .chat-emoji-option small{color:var(--color-text-3);text-overflow:ellipsis;white-space:nowrap;max-inline-size:100%;font-size:.62rem;line-height:1;overflow:hidden}.chat-context-rail{overscroll-behavior:contain;align-content:start;gap:8px;min-block-size:0;padding:12px;display:grid;overflow:hidden auto}.chat-context-head{justify-content:space-between;align-items:center;gap:8px;margin-block-end:2px;display:flex}.chat-context-toggle{color:var(--color-text-2);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;min-block-size:28px;inline-size:28px;padding:0;display:inline-flex}.chat-context-toggle:hover{background:var(--color-surface-alt);color:var(--color-text)}.chat-context-rail.is-collapsed{gap:6px;padding:10px 12px}.chat-context-body{gap:6px;display:grid}.chat-context-row{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 8px;min-inline-size:0;padding:7px 0;display:flex}.chat-context-row>span{overflow-wrap:anywhere;min-inline-size:0;font-size:.84rem;line-height:1.35}.chat-context-row>span:first-child{color:var(--color-text-3);text-transform:none;flex:none;font-size:.72rem}.chat-context-row>span:last-child{text-align:end;flex:auto}.chat-context-summary{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.chat-context-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.chat-context-summary .muted{color:var(--color-text-3);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;text-decoration:none;overflow:hidden}.chat-device-link{color:var(--color-accent);font-weight:600;text-decoration:none}.chat-device-link:hover,.chat-device-link:focus-visible{color:var(--color-accent-hover);text-decoration:underline}.chat-context-row .chat-device-link{overflow-wrap:anywhere}.chat-context-participants{border-top:0;gap:10px;padding-block-start:0;display:grid}.chat-participant-list{flex-wrap:wrap;gap:6px;display:flex}.chat-participant-list .tag{align-items:center;gap:4px;display:inline-flex}.chat-empty-thread{color:var(--color-text-2);justify-content:center;align-items:center;min-block-size:320px;display:flex}.chat-contact-avatar-wrap{place-items:center;block-size:2.5rem;inline-size:2.5rem;display:inline-grid;position:relative}.chat-contact-avatar-wrap.is-large{block-size:3.25rem;inline-size:3.25rem}.chat-contact-avatar{border:1px solid var(--color-border);block-size:2.5rem;color:var(--color-text-2);font-size:var(--fs-label);background:#fafafc;border-radius:50%;justify-content:center;align-items:center;inline-size:2.5rem;font-weight:600;display:inline-flex;overflow:hidden}.chat-contact-agent-status{background:var(--color-neutral-fg);border:2px solid var(--color-surface);block-size:.65rem;box-shadow:0 0 0 1px var(--color-border);border-radius:50%;inline-size:.65rem;position:absolute;inset-block-end:.08rem;inset-inline-end:.08rem}.chat-contact-agent-status.is-online{background:var(--color-success-fg)}.chat-contact-avatar.is-large{block-size:3.25rem;inline-size:3.25rem}.chat-contact-avatar img{object-fit:cover;block-size:100%;inline-size:100%}.chat-workspace-shell{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;grid-template-columns:minmax(270px,330px) minmax(0,1fr) minmax(250px,300px);gap:0;block-size:100%;min-block-size:0;overflow:hidden}.chat-workspace-shell>.chat-conversation-rail,.chat-workspace-shell>.chat-message-timeline,.chat-workspace-shell>.chat-context-rail{border:0;border-radius:0}.chat-workspace-shell>.chat-conversation-rail,.chat-workspace-shell>.chat-context-rail{background:#fafafc}.chat-workspace-shell>.chat-message-timeline{background:var(--color-surface-alt)}.chat-sidebar{grid-template-rows:auto minmax(0,1fr);block-size:100%;min-block-size:0;padding:0;display:grid}.chat-sidebar-header{border-bottom:1px solid var(--color-border);background:#ffffffe0;gap:10px;padding:14px;display:grid}.chat-sidebar-title-row{justify-content:space-between;min-inline-size:0}.chat-sidebar-title-row h1{font-size:var(--fs-section);margin:0}.chat-agent-selector{position:relative}.chat-agent-selector-button{border:1px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-block-size:42px;inline-size:100%;padding:0 10px;display:flex}.chat-agent-selector-button:hover,.chat-agent-selector-button:focus-visible,.chat-agent-selector.is-open .chat-agent-selector-button{border-color:#0071e359;outline:none}.chat-agent-selector-main{align-items:center;gap:8px;min-inline-size:0;display:inline-flex}.chat-agent-selector-main>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-agent-count{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-2);font-size:var(--fs-micro);border-radius:999px;align-items:center;gap:4px;min-block-size:20px;padding:0 6px;display:inline-flex}.chat-agent-count span,.chat-agent-status-dot{background:var(--color-text-3);border-radius:50%;block-size:7px;inline-size:7px}.chat-agent-dropdown{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-popover);z-index:30;border-radius:8px;gap:4px;max-block-size:min(360px,60vh);padding:6px;display:grid;position:absolute;inset-block-start:calc(100% + 6px);inset-inline:0;overflow:auto}.chat-agent-dropdown button{color:var(--color-text);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-block-size:46px;padding:7px 8px;display:grid}.chat-agent-dropdown button:first-child{grid-template-columns:auto minmax(0,1fr)}.chat-agent-dropdown button:hover,.chat-agent-dropdown button:focus-visible,.chat-agent-dropdown button.is-active{background:#1d1d1f0d;outline:none}.chat-agent-dropdown button.is-active{box-shadow:inset 3px 0 0 var(--color-accent)}.chat-agent-avatar,.chat-conversation-avatar,.chat-thread-avatar{border:1px solid var(--color-border);block-size:40px;color:var(--color-text);font-size:var(--fs-label);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;inline-size:40px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.chat-conversation-avatar-stack{flex:none;block-size:40px;inline-size:52px;display:inline-block;position:relative}.chat-conversation-avatar-agent,.chat-conversation-avatar-customer{color:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:absolute;overflow:hidden}.chat-conversation-avatar-agent{z-index:1;background:#5e5ce6;block-size:36px;inline-size:36px;font-size:13px;inset-block-start:2px;inset-inline-start:0;box-shadow:inset 0 0 0 1px #ffffff73}.chat-conversation-avatar-customer{block-size:30px;box-shadow:var(--shadow-card);z-index:2;background:#30b0c7;border:2px solid #fff;inline-size:30px;font-size:11px;inset-block-start:5px;inset-inline-start:22px}.chat-conversation-avatar-customer img{object-fit:cover;block-size:100%;inline-size:100%}.chat-thread-avatar{block-size:42px;inline-size:42px}.chat-conversation-avatar img,.chat-thread-avatar img{object-fit:cover;block-size:100%;inline-size:100%}.chat-agent-status-dot{border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border);position:absolute;inset-block-end:0;inset-inline-end:0}.chat-agent-status-dot.is-online,.chat-agent-count span,.chat-agent-online-dot{background:var(--color-success-fg)}.chat-agent-option-text{gap:2px;min-inline-size:0;display:grid}.chat-agent-option-text strong,.chat-agent-option-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-agent-option-text span,.chat-agent-status-pill{color:var(--color-text-3);font-size:var(--fs-micro)}.chat-agent-status-pill{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;padding:2px 7px}.chat-agent-status-pill.is-online{color:var(--color-text-2)}.chat-search-wrap{color:var(--color-text-3);background:#fff;border:3px solid #0000000a;border-radius:11px;align-items:center;gap:8px;min-block-size:40px;padding:0 10px;display:flex}.chat-search-wrap:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.chat-search-wrap input{color:var(--color-text);font:inherit;background:0 0;border:0;outline:0;inline-size:100%;min-inline-size:0}.chat-sidebar-tabs{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;display:grid}.chat-sidebar-tabs button{color:var(--color-text-2);font-size:var(--fs-micro);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-block-size:30px;padding:0 6px;display:inline-flex}.chat-sidebar-tabs button:hover,.chat-sidebar-tabs button:focus-visible,.chat-sidebar-tabs button.active{color:var(--color-text);background:#fff;outline:none}.chat-sidebar-tabs button:active{transform:scale(.97)}.chat-filter-count{color:var(--color-text-3);font-size:var(--fs-micro)}.chat-conversation-list,.chat-sidebar-contact-list{align-content:start;gap:6px;min-block-size:0;padding:8px;display:grid;overflow:auto}.chat-contact-agent-required{color:var(--color-text-2);text-align:center;justify-content:center;align-items:center;gap:8px;min-block-size:180px;padding:16px;display:flex}.chat-conversation-card{grid-template-columns:auto minmax(0,1fr) auto;min-block-size:82px}.chat-conversation-card-main,.chat-sidebar-contact-main{gap:4px;min-inline-size:0;display:grid}.chat-conversation-card-top{color:var(--color-text-3);font-size:var(--fs-micro);justify-content:space-between;align-items:center;gap:8px;min-inline-size:0;display:flex}.chat-conversation-tags{flex-wrap:nowrap;overflow:hidden}.chat-conversation-preview{align-items:center;gap:6px;min-inline-size:0;display:flex}.chat-unread-dot{background:var(--color-accent);border-radius:50%;flex:none;block-size:6px;inline-size:6px}.chat-conversation-unread{background:var(--color-accent);color:#fff;font-size:var(--fs-micro);border-radius:999px;justify-content:center;align-self:center;min-block-size:20px;min-inline-size:20px;padding:2px 6px;display:inline-flex}.chat-sidebar-contact-row{color:var(--color-text);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-block-size:64px;padding:8px;display:grid}.chat-sidebar-contact-row:hover,.chat-sidebar-contact-row:focus-visible,.chat-sidebar-contact-row.is-selected{box-shadow:var(--shadow-card);background:#fff;outline:none}.chat-sidebar-contact-row:hover{transform:translateY(-1px)}.chat-sidebar-contact-row.is-selected{box-shadow:inset 3px 0 0 var(--color-accent), var(--shadow-card);background:#0071e312}.chat-sidebar-contact-main strong,.chat-sidebar-contact-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-sidebar-contact-main span{color:var(--color-text-3);font-size:var(--fs-micro)}.chat-thread-heading{align-items:center;gap:12px;min-inline-size:0;display:flex}.chat-thread-heading>div{min-inline-size:0}.chat-message-date-group{gap:8px;display:grid}.chat-message-date-separator{color:var(--color-text-3);font-size:var(--fs-micro);background:#0000000d;border-radius:999px;place-self:center;padding:3px 9px}.chat-message-row{align-items:flex-start;gap:8px;inline-size:100%;display:flex}.chat-message-row.is-outbound{justify-content:flex-end}.chat-message-sender-avatar{color:#fff;font-size:var(--fs-micro);background:linear-gradient(145deg,#30b0c7,#168da4);border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;min-block-size:32px;inline-size:32px;margin-block-start:2px;font-weight:700;display:inline-flex;overflow:hidden}.chat-message-sender-avatar img{object-fit:cover;block-size:100%;inline-size:100%}.chat-message-cluster{justify-items:start;gap:4px;min-inline-size:0;max-inline-size:min(72%,560px);display:grid}.chat-message-row.is-outbound .chat-message-cluster{justify-items:end}.chat-message-line{align-items:center;gap:6px;min-inline-size:0;max-inline-size:100%;display:flex}.chat-message-actions{opacity:0;align-items:center;gap:4px;transition:opacity .16s;display:inline-flex}.chat-message-row:hover .chat-message-actions,.chat-message-row:focus-within .chat-message-actions{opacity:1}.chat-message-actions button{border:1px solid var(--color-border);color:var(--color-text-2);background:#fff;border-radius:50%;justify-content:center;align-items:center;min-block-size:28px;inline-size:28px;padding:0;display:inline-flex}.chat-message-actions button:hover,.chat-message-actions button:focus-visible{color:var(--color-accent);background:#1d1d1f0a;border-color:#0000001f;outline:none}.chat-message-bubble{color:var(--color-text);background:#e9e9eb;border:0;border-radius:6px 16px 16px;inline-size:fit-content;max-inline-size:100%;padding:10px 14px}.chat-message-row.is-outbound .chat-message-bubble{background:var(--color-accent);color:#fff;border:0;border-radius:16px 6px 16px 16px}.chat-message-bubble p{color:inherit;font-size:.875rem;line-height:1.5}.chat-message-meta{color:var(--color-text-3);font-size:var(--fs-micro);align-items:center;gap:6px;min-block-size:16px;padding-inline:4px;display:flex}.chat-message-status:before{content:"·";margin-inline-end:6px}.chat-message-status.is-failed{color:var(--color-danger)}.chat-message-status.is-succeeded,.chat-message-status.is-sent{color:var(--color-text-3)}.chat-composer-shell{background:#ffffffe6;grid-template-columns:1fr;align-items:stretch;gap:8px;display:grid}.chat-ai-draft{background:#5e5ce60f;border:1px solid #5e5ce633;border-radius:8px;gap:8px;padding:10px;display:grid}.chat-ai-draft-head,.chat-ai-draft-head>span,.chat-ai-draft-actions{align-items:center;gap:6px;display:flex}.chat-ai-draft-head{justify-content:space-between}.chat-ai-draft-head small{color:var(--color-text-3)}.chat-ai-draft textarea{border:1px solid var(--color-border);color:var(--color-text);font:inherit;resize:vertical;background:#fff;border-radius:6px;min-block-size:72px;padding:8px}.chat-ai-draft-actions{justify-content:flex-end}.chat-ai-turn-limit{border-top:1px solid var(--color-border);font-size:var(--fs-small);justify-content:space-between;align-items:center;padding-block-start:8px;display:flex}.chat-ai-turn-limit input{border:1px solid var(--color-border);border-radius:6px;min-block-size:30px;inline-size:72px;padding-inline:7px}.chat-ai-reset{justify-content:center;inline-size:100%}.chat-ai-run-state{background:var(--color-surface-alt);border-radius:6px;gap:5px;padding:8px;display:grid}.chat-ai-run-state small{color:var(--color-text-3);overflow-wrap:anywhere}.settings-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.settings-ai-model-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.settings-inline-status>span{align-items:center;gap:5px;display:inline-flex}@media (width<=760px){.chat-thread-header{flex-direction:column;align-items:flex-start;gap:10px}.chat-ai-mode-control,.chat-ai-controls,.chat-ai-soul-control{inline-size:100%}.chat-ai-soul-control select,.chat-ai-mode-control button{flex:1}.settings-ai-grid,.settings-ai-model-control{grid-template-columns:1fr}}.chat-input-toolbar{align-items:center;gap:6px;display:flex}.chat-input-toolbar button{color:var(--color-text-2);font-size:var(--fs-micro);background:0 0;border:0;border-radius:6px;min-block-size:28px;padding:0 8px}.chat-input-toolbar button:hover,.chat-input-toolbar button:focus-visible{color:var(--color-accent);background:#1d1d1f0d;outline:none}.chat-input-toolbar button:disabled{color:var(--color-text-3);cursor:not-allowed;opacity:.6}.chat-translate-toggle{align-items:center;gap:4px;margin-inline-start:auto;display:inline-flex}.chat-translate-toggle.is-active{color:var(--color-accent)!important;background:#0071e31a!important}.chat-translate-panel{border:1px solid var(--color-border);border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;margin-block-end:8px;padding:10px 12px;display:grid}.chat-translate-panel.is-stale{border-color:var(--color-danger-fg)}.chat-translate-pane{gap:4px;min-inline-size:0;display:grid}.chat-translate-pane-label{color:var(--color-text-3);font-size:var(--fs-micro)}.chat-translate-source{color:var(--color-text-2);overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.chat-translate-result{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font:inherit;resize:vertical;border-radius:6px;padding:6px 8px}.chat-translate-stale{color:var(--color-danger-fg);grid-column:1/-1;align-items:center;gap:10px;display:flex}.chat-translate-stale button{color:inherit;background:0 0;border:1px solid;border-radius:6px;padding:2px 10px}.chat-contact-thread-empty{border:1px solid var(--color-border);color:var(--color-text-2);background:#ffffffb8;border-radius:8px;place-self:center;align-items:center;gap:8px;max-inline-size:min(420px,100%);padding:10px 12px;display:inline-flex}.chat-composer-input-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;display:grid}.chat-composer-input{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:8px 10px}.chat-composer-input:focus-within{border-color:#0071e359;box-shadow:0 0 0 2px #0071e314}.chat-composer-textarea{color:var(--color-text);font:inherit;resize:vertical;background:0 0;border:0;outline:0;min-block-size:2.25rem;max-block-size:9rem;inline-size:100%}.chat-composer-footer{color:var(--color-text-3);justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-composer-footer strong{color:var(--color-text-2);font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;font-weight:500;overflow:hidden}.chat-char-count{font-size:var(--fs-micro)}.chat-send-button{border-radius:50%;justify-content:center;align-items:center;min-block-size:44px;inline-size:44px;padding:0}.chat-send-button:disabled{opacity:.48}.chat-detail-panel{border-left:1px solid var(--color-border)}.chat-detail-section{border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:6px;padding:10px;display:grid}.chat-detail-section h3{color:var(--color-text);font-size:var(--fs-label);margin:0 0 2px}.chat-detail-participant{border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-inline-size:0;padding:8px;transition:background .16s,transform .16s;display:grid}.chat-detail-participant:hover{background:var(--color-surface-alt)}.chat-detail-participant-list{gap:4px;display:grid}.chat-detail-participant-flow{background:linear-gradient(135deg,#0071e314,#30b0c71a);border:1px solid #0071e31f;border-radius:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:10px;display:grid}.chat-detail-flow-person{place-items:center;gap:6px;min-inline-size:0;display:grid}.chat-detail-flow-person small{color:var(--color-text-2);text-align:center;text-overflow:ellipsis;white-space:nowrap;inline-size:100%;font-size:11px;font-weight:600;overflow:hidden}.chat-detail-participant-arrow{border:1px solid var(--color-border);box-shadow:var(--shadow-card);color:var(--color-accent);background:#fff;border-radius:999px;justify-content:center;align-items:center;min-block-size:28px;inline-size:28px;font-size:14px;font-weight:700;display:inline-flex}.chat-detail-participant-main{gap:2px;min-inline-size:0;display:grid}.chat-detail-participant-main b{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chat-detail-participant-main span{color:var(--color-text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.chat-detail-participant-avatar{background:var(--color-surface-alt);border:1px solid var(--color-border);color:#fff;font-size:var(--fs-micro);border-radius:50%;justify-content:center;align-items:center;block-size:32px;inline-size:32px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.chat-detail-participant-avatar.is-agent{background:#5e5ce6;border-color:#ffffffb3}.chat-detail-participant-avatar.is-customer{background:#30b0c7;border-color:#ffffffb3}.chat-detail-participant-avatar img{object-fit:cover;block-size:100%;inline-size:100%}.chat-detail-status-pill{background:var(--color-surface-alt);color:var(--color-text-3);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.chat-detail-status-pill span{background:var(--color-text-3);border-radius:50%;block-size:5px;inline-size:5px}.chat-detail-status-pill.is-online{background:var(--color-success-bg);color:var(--color-success-fg)}.chat-detail-status-pill.is-online span{background:var(--color-success-fg)}.chat-detail-status-pill.is-offline{background:var(--color-neutral-bg);color:var(--color-neutral-fg)}.chat-detail-status-pill.is-offline span{background:var(--color-neutral-fg)}.chat-detail-status-pill.is-customer{color:var(--color-accent);background:#0071e314}@media (width<=900px){.chat-page,.chat-workspace-shell{block-size:auto}.chat-workspace{grid-template-columns:1fr;block-size:auto}.chat-conversation-rail,.chat-context-rail{max-block-size:320px}.chat-composer{grid-template-columns:1fr}.chat-composer-actions{justify-content:flex-end}.chat-message-bubble{max-inline-size:100%}.chat-message-cluster{max-inline-size:84%}.chat-message-sender-avatar{flex-basis:28px;min-block-size:28px;inline-size:28px}}.audit-filter-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:10px;display:grid}.audit-table code{font-size:var(--fs-micro)}.audit-metadata{margin-top:6px}.audit-metadata summary{color:var(--color-accent);cursor:pointer;font-size:var(--fs-micro)}.audit-metadata pre{border:1px solid var(--color-border);white-space:pre-wrap;background:#1d1d1f0a;border-radius:6px;max-block-size:220px;margin:6px 0 0;padding:8px;overflow:auto}.tasks-workbench .task-table{border-collapse:collapse;width:100%;font-size:12px}.tasks-workbench .task-table th,.tasks-workbench .task-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:12px 14px}.tasks-workbench .task-table th{background:var(--color-surface);color:var(--color-text-2);letter-spacing:.04em;text-transform:uppercase;z-index:1;font-size:11px;font-weight:700;position:sticky;top:0}.task-table-row{cursor:pointer;outline:none;transition:background-color .14s,box-shadow .14s;position:relative}.task-table-row:hover,.task-table-row:focus-visible{background:#1d1d1f0a}.task-table-row.is-selected{box-shadow:inset 3px 0 0 var(--color-accent);background:#0071e31a}.task-type-pill{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;background:#1d1d1f0d;border-radius:6px;max-width:180px;padding:3px 8px;display:inline-block;overflow:hidden}.task-error-code{color:var(--color-danger-fg);font-family:var(--font-mono)}.mobile-task-card-list{display:none}@media (width<=767.98px){.tasks-workbench .task-table{display:none}.tasks-workbench .mobile-task-card-list{gap:8px;display:grid}.tasks-workbench .mobile-task-card{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);text-align:left;border-radius:8px;gap:8px;padding:14px;transition:background-color .14s,border-color .14s,box-shadow .14s;display:grid}.tasks-workbench .mobile-task-card:focus-visible,.tasks-workbench .mobile-task-card:hover{border-color:#0071e3;outline:none}.tasks-workbench .mobile-task-card.is-selected{background:#0071e314;border-color:#0071e3}.tasks-workbench .mobile-task-card-top,.tasks-workbench .mobile-task-card-bottom{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.tasks-workbench .mobile-task-card-type{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.tasks-workbench .mobile-task-card-bottom{color:var(--color-text-2);font-size:12px}}.tasks-workbench,.devices-workbench{block-size:calc(100dvh - 52px - (var(--space-page) * 2));flex-direction:column;gap:0;min-block-size:0;display:flex;overflow:hidden}.tasks-toolbar{border:0;border-bottom:1px solid var(--color-border);border-radius:0;padding:12px 20px}.tasks-list-pane{flex-direction:column;display:flex}.task-table-scroll{overscroll-behavior:contain;flex:auto;min-block-size:0;overflow:auto}.task-detail-panel .task-detail-content{min-height:100%}@media (width<=767.98px){.tasks-workbench,.devices-workbench{block-size:auto;min-block-size:calc(100dvh - 96px);overflow:visible}.tasks-list-pane{gap:12px;display:grid}.task-table-scroll{overflow:visible}}.devices-toolbar{background:var(--color-surface);border:0;border-bottom:1px solid var(--color-border);border-radius:0;flex-shrink:0;padding:16px 20px}.devices-toolbar .field-control{background:var(--color-bg);border-color:#0000}.devices-list-pane{background:var(--color-bg);border:0;border-radius:0;flex-direction:column;display:flex}.device-source-filter{gap:2px;display:flex}.device-filter-tab{background:var(--color-bg);color:var(--color-text-2);border:0;border-radius:980px;padding:6px 14px;font-size:12px;font-weight:600}.device-filter-tab:hover:not(:disabled){color:var(--color-text);background:#1d1d1f0f}.device-filter-tab.active{background:var(--color-text);color:var(--color-surface)}.devices-connect-group{align-items:center;gap:8px;margin-left:auto;display:flex}.devices-connect-group .field-control{min-width:180px}.adb-input{font-family:var(--font-text)}.stats-page,.stats-page>[role=tabpanel],.stats-pane-stack,.stats-chart-panel,.grid-two>*{min-width:0}.stats-pane-stack{gap:var(--space-5);display:grid}.stats-page .page-header>.form-field{min-width:170px}.stats-tabs{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.stats-tabs button{touch-action:manipulation;white-space:nowrap}.stats-tabs button:hover{background:var(--color-surface);color:var(--color-text)}.stats-tabs button[aria-selected=true]{background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text)}.stats-refresh-status{color:var(--color-text-3);font-size:var(--fs-micro);align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;min-height:18px;display:flex}.stat-value,.stats-table,.adb-runtime-grid,.raw-packet-table,.raw-packet-pagination{font-variant-numeric:tabular-nums}.stats-chart-panel h2,.api-route-table h2{margin-top:0}.stats-chart-panel .recharts-responsive-container{margin-top:var(--space-4)}.stats-table-wrap{overscroll-behavior-inline:contain;min-width:0;max-width:100%;overflow-x:auto}.stats-table{border-collapse:collapse;width:100%}.stats-table-wide .stats-table{min-width:1080px}.stats-table th,.stats-table td{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-2);text-align:left;vertical-align:middle}.stats-table th{color:var(--color-text-3);font-size:var(--fs-micro);white-space:nowrap;font-weight:700}.stats-table td{overflow-wrap:anywhere}.stats-table td:not(:first-child),.stats-table th:not(:first-child){text-align:right}:is(.stats-table td:nth-child(2):has(code),.stats-table-wide th:nth-child(2),.stats-table-wide td:nth-child(2)){text-align:left}.api-route-table,.api-hot-table{overflow-x:hidden}.stats-panel-hint{margin:0 0 var(--space-2)}.api-hot-share{align-items:center;gap:8px;inline-size:100%;min-inline-size:120px;display:inline-flex}.api-hot-share-bar{background:var(--color-accent);opacity:.55;border-radius:4px;flex:none;block-size:8px;min-inline-size:2px;max-inline-size:60%}.api-hot-share-value{color:var(--color-text-2);flex:none}.stats-table a,.stats-drilldown-list a,.stats-compact-list a{color:inherit;text-decoration:none}.stats-table a:hover,.stats-drilldown-list a:hover,.stats-compact-list a:hover{color:var(--color-accent);text-decoration:underline}.stats-drilldown-list,.stats-compact-list{gap:var(--space-2);margin-top:var(--space-3);display:grid}.stats-drilldown-list a,.stats-compact-list a{border-top:1px solid var(--color-border);align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) 0;justify-content:space-between;display:flex}.stats-drilldown-list code,.stats-compact-list span{overflow-wrap:anywhere;min-width:0}.stats-compact-list a>span{gap:var(--space-1);display:grid}.stats-compact-list a>span:last-child{text-align:right}.stats-compact-list small{color:var(--color-text-3)}.chart-data-disclosure{border-top:1px solid var(--color-border);margin-top:var(--space-3);padding-top:var(--space-3)}.chart-data-disclosure summary{color:var(--color-accent);cursor:pointer;font-size:var(--fs-label);width:fit-content}.chart-data-table-wrap{margin-top:var(--space-3);max-height:260px;overflow:auto}.chart-data-table-wrap table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.chart-data-table-wrap th,.chart-data-table-wrap td{border-bottom:1px solid var(--color-border);padding:var(--space-2);text-align:left}.adb-runtime-panel{gap:var(--space-5);display:grid}.adb-runtime-heading{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.adb-runtime-heading h2,.adb-runtime-heading p{margin:0}.adb-runtime-heading p{margin-top:var(--space-2)}.adb-runtime-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0;display:grid}.adb-runtime-grid>div{background:var(--color-surface-alt);border-radius:var(--radius-input);gap:var(--space-2);min-width:0;padding:var(--space-4);display:grid}.adb-runtime-grid dt{color:var(--color-text-3);font-size:var(--fs-micro)}.adb-runtime-grid dd{overflow-wrap:anywhere;margin:0}.stats-long-row{content-visibility:auto;contain-intrinsic-size:0 48px}.tasks-type-filter{text-overflow:ellipsis;white-space:nowrap;max-width:min(320px,100%);overflow:hidden}.raw-packet-filter-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.raw-packet-filter-toolbar button{align-items:center;gap:var(--space-2);display:inline-flex}.raw-packet-filter-toolbar .lucide-chevron-down,.raw-packet-disclosure-button .lucide-chevron-right{transition:transform .16s}.raw-packet-filter-toolbar .lucide-chevron-down.is-open{transform:rotate(180deg)}.raw-packet-disclosure-button .lucide-chevron-right.is-open{transform:rotate(90deg)}.raw-packet-filter-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.raw-packet-filter-chips span{background:var(--color-surface-alt);border:1px solid var(--color-border);font-size:var(--fs-micro);max-width:240px;padding:var(--space-1) var(--space-3);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;overflow:hidden}.raw-packet-primary-empty{min-height:220px}.raw-packet-stable-page-note{background:var(--color-surface-alt);border-radius:var(--radius-input);color:var(--color-text-2);font-size:var(--fs-label);margin:var(--space-3) 0;padding:var(--space-3)}.raw-packet-table-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.raw-packet-table{border-collapse:collapse;width:100%;min-width:920px}.raw-packet-table th,.raw-packet-table td{border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-2);text-align:left;vertical-align:middle}.raw-packet-table th{color:var(--color-text-3);font-size:var(--fs-micro);font-weight:700}.raw-packet-table td{overflow-wrap:anywhere}.raw-packet-disclosure-button{color:inherit;font:inherit;align-items:center;gap:var(--space-2);text-align:left;background:0 0;border:0;padding:0;display:inline-flex}.raw-packet-detail-row>td{padding:0}.raw-packet-detail-row .raw-packet-detail{border-bottom:1px solid var(--color-border)}@media (width<=760px){.stats-page .page-header>.form-field{width:100%}.stats-tabs{grid-template-columns:repeat(4,minmax(max-content,1fr));width:100%;display:grid}.stats-tabs button{padding-inline:var(--space-4)}.stats-refresh-status{justify-content:flex-start}.adb-runtime-heading{flex-direction:column;align-items:stretch}.stats-table:not(.stats-table-wide .stats-table){min-width:520px}.api-request-row summary{grid-template-columns:minmax(0,1fr) auto}.api-request-row summary>*{overflow-wrap:anywhere;min-width:0}.api-request-row summary>:before{color:var(--color-text-3);content:attr(data-label);font-size:var(--fs-micro);margin-bottom:var(--space-1);font-weight:600;display:block}.raw-packet-filter-toolbar{flex-direction:column;align-items:stretch}.raw-packet-filter-toolbar>button{justify-content:center;width:100%}.raw-packet-table{min-width:0}.raw-packet-table thead{display:none}.raw-packet-table,.raw-packet-table tbody,.raw-packet-table tr,.raw-packet-table td{width:100%;display:block}.raw-packet-table .raw-packet-item{border-bottom:1px solid var(--color-border);gap:0 var(--space-4);padding:var(--space-3) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.raw-packet-table .raw-packet-item td{min-width:0;padding:var(--space-2) 0;border:0}.raw-packet-table .raw-packet-item td:before{color:var(--color-text-3);content:attr(data-label);font-size:var(--fs-micro);margin-bottom:var(--space-1);font-weight:600;display:block}.raw-packet-detail-row td:before{content:none}.raw-packet-detail-row .raw-packet-detail{padding-inline:0}}@media (width<=460px){.stats-tabs{grid-template-columns:repeat(4,max-content)}.stats-compact-list a,.stats-drilldown-list a{flex-direction:column;align-items:flex-start}.stats-compact-list a>span:last-child{text-align:left}}@media (prefers-reduced-motion:reduce){.raw-packet-filter-toolbar .lucide-chevron-down,.raw-packet-disclosure-button .lucide-chevron-right{transition:none}}.connect-btn{background:var(--color-accent);color:var(--color-surface);border:0;border-radius:8px;min-block-size:36px;padding:0 16px;font-weight:700}.connect-btn:hover:not(:disabled){background:var(--color-accent-hover)}.devices-empty-list{color:var(--color-text-2);text-align:center;padding:24px}.devices-workbench .devices-pagination{flex-shrink:0;margin-top:0}@media (width<=767.98px){.devices-connect-group{flex-direction:column;align-items:stretch;width:100%;margin-left:0}.devices-connect-group .field-control{width:100%;min-width:0}}.device-card-list{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:10px;min-block-size:0;margin:0;padding:16px 20px;list-style:none;display:flex;overflow-y:auto}.device-card{background:var(--color-surface);border:1.5px solid #0000;border-radius:12px;outline:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;min-width:0;padding:16px 20px;transition:transform .18s,background-color .18s,border-color .18s,box-shadow .18s;display:grid;position:relative}.device-card:hover,.device-card:focus-within{border-color:var(--color-border);transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.device-card:active{transform:translateY(0)scale(.995)}.device-card.is-selected{border-color:var(--color-accent);background:#0071e314;box-shadow:0 1px 3px #0000000f}.device-card-button{color:inherit;cursor:pointer;text-align:left;z-index:1;background:0 0;border:0;block-size:100%;inline-size:100%;padding:0;position:absolute;inset:0}.device-card-button:hover:not(:disabled),.device-card-button:active:not(:disabled){background:0 0;transform:none}.device-card-button:focus-visible{border-radius:inherit;outline:2px solid var(--color-accent);outline-offset:4px}.device-card-content{pointer-events:none;grid-template-columns:48px minmax(0,1fr);gap:14px;min-width:0;display:grid}.device-card-icon{background:var(--color-surface-alt);color:var(--color-text-2);border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.device-card-main{gap:8px;min-width:0;display:grid}.device-card-top,.device-card-statuses,.device-card-tags,.device-card-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.device-card-id{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.device-card-model,.device-card-meta{color:var(--color-text-2);overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:12px}.device-card-model{overflow-wrap:anywhere;min-width:0;max-width:100%}.device-card-statuses .tag,.device-card-tags .tag{overflow-wrap:anywhere;min-width:0;max-width:100%;margin-left:0}.device-card-meta code{overflow-wrap:anywhere;min-width:0;max-width:100%;display:inline-block}.device-card-select{cursor:pointer;z-index:2;place-items:center;min-width:44px;min-height:44px;display:grid;position:relative}.device-card-select input{accent-color:#0071e3;width:18px;height:18px}@media (width<=767.98px){.device-card-list{padding:0;overflow:visible}.device-card{padding:14px}.device-card-button{grid-template-columns:44px minmax(0,1fr)}.device-card-tags .tag:nth-child(n+5){display:none}}.device-detail-friend-add{gap:12px;display:grid}.device-detail-friend-step-label{color:var(--color-text);letter-spacing:-.01em;font-size:.8rem;font-weight:700}.device-detail-friend-form{grid-template-columns:minmax(0,1fr) minmax(140px,.75fr);gap:10px;display:grid}.device-detail-friend-form .device-detail-action-button{grid-column:1/-1}.device-detail-friend-field{color:var(--color-muted);gap:5px;font-size:.78rem;display:grid}.device-detail-friend-field input,.device-detail-friend-field select,.device-detail-friend-textarea{border:1px solid var(--color-border);background:var(--color-surface-raised);width:100%;color:var(--color-text);font:inherit;border-radius:12px;padding:9px 10px}.device-detail-friend-field select{cursor:pointer;min-width:0}.device-detail-friend-field input:focus,.device-detail-friend-field select:focus,.device-detail-friend-textarea:focus{outline:2px solid var(--color-accent);outline-offset:2px}.device-detail-friend-country-hint{color:var(--color-muted);grid-column:1/-1;font-size:.75rem}.device-detail-friend-country-hint.is-detected{color:#15803d}.device-detail-friend-country-hint.is-warning{color:#a16207}.device-detail-friend-profile{border:1px solid var(--color-border);background:var(--color-surface-raised);border-radius:16px;gap:10px;padding:12px;display:grid}.device-detail-friend-profile-empty{background:var(--color-surface);border-style:dashed}.device-detail-friend-profile-head{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.device-detail-friend-profile-avatar{width:40px;height:40px;color:var(--color-accent);background:#0071e31f;border-radius:14px;place-items:center;font-weight:700;display:grid;overflow:hidden}.device-detail-friend-profile-avatar img{object-fit:cover;width:100%;height:100%}.device-detail-friend-profile-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.device-detail-friend-profile-uid{color:var(--color-muted);font-size:.75rem}.device-detail-friend-status{background:var(--color-surface);color:var(--color-muted);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:.72rem}.device-detail-friend-status-lookup-found,.device-detail-friend-status-request-sent{color:#15803d;background:#16a34a1f}.device-detail-friend-status-lookup-not-found,.device-detail-friend-status-lookup-failed,.device-detail-friend-status-add-failed{color:var(--color-danger-fg);background:#dc26261f}.device-detail-friend-status-lookup-sent,.device-detail-friend-status-add-sent,.device-detail-friend-status-official-account{color:#a16207;background:#eab30829}.device-detail-friend-hint{color:var(--color-muted);font-size:.78rem}.device-detail-friend-hint.is-warning{color:#a16207}.device-detail-friend-hint.is-error{color:var(--color-danger-fg)}.device-detail-friend-direct-chat{border-top:1px solid var(--color-border);gap:10px;padding-top:10px;display:grid}.device-detail-inline-link{min-height:0;color:var(--color-accent);font-size:inherit;background:0 0;border:0;margin-left:6px;padding:0;font-weight:700;display:inline-flex}.device-detail-inline-link:hover:not(:disabled){color:var(--color-accent-hover);background:0 0;text-decoration:underline}.device-detail-friend-meta{color:var(--color-muted);justify-content:space-between;gap:10px;font-size:.76rem;display:flex}.device-detail-friend-meta code{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-detail-friend-jobs{gap:8px;display:grid}.device-detail-friend-job-row{border:1px solid var(--color-border);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:14px;justify-content:space-between;gap:10px;padding:9px 10px;display:flex}.device-detail-friend-job-row:hover,.device-detail-friend-job-row:focus-visible,.device-detail-friend-job-row.is-selected{border-color:var(--color-accent);background:var(--color-surface-raised)}.device-detail-friend-job-main,.device-detail-friend-job-meta{gap:3px;min-width:0;display:grid}.device-detail-friend-job-main b,.device-detail-friend-job-main code,.device-detail-friend-job-meta span,.device-detail-friend-job-meta time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-detail-friend-job-main code,.device-detail-friend-job-meta{color:var(--color-muted);font-size:.72rem}.device-detail-friend-request-panel{gap:10px;display:grid}.device-detail-friend-request-toolbar{color:var(--color-muted);justify-content:space-between;align-items:center;font-size:.76rem;display:flex}.device-detail-icon-button{border:1px solid var(--color-border);background:var(--color-surface-raised);width:30px;height:30px;color:var(--color-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.device-detail-icon-button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.device-detail-icon-button:disabled{cursor:not-allowed;opacity:.5}.device-detail-icon-button .spin{animation:.9s linear infinite spin}.device-detail-friend-request-list{gap:8px;display:grid}.device-detail-friend-request-item{border-bottom:1px solid var(--color-border);grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.device-detail-friend-request-item:last-child{border-bottom:0}.device-detail-friend-request-main,.device-detail-friend-request-meta{gap:3px;min-width:0;display:grid}.device-detail-friend-request-main strong,.device-detail-friend-request-main code,.device-detail-friend-request-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-detail-friend-request-main code,.device-detail-friend-request-main span,.device-detail-friend-request-meta{color:var(--color-muted);font-size:.72rem}.device-detail-friend-request-meta{white-space:nowrap;justify-items:end}.device-detail-friend-request-action{justify-content:flex-end;align-items:center;min-width:30px;display:flex}.device-detail-friend-request-confirm{justify-content:flex-end;gap:6px;display:flex}.device-detail-friend-request-confirm .device-detail-icon-button{flex:0 0 30px}.device-detail-friend-request-confirm .device-detail-icon-button.is-danger{border-color:var(--color-danger-border);color:var(--color-danger-fg)}
