/* Namespaced PortalFramework primitives and AndroidSync workspace styles. */
.androidsync-workspace{
    --portal-ink: #17233b;
    --portal-brand: #2563eb;
    --portal-brand-soft: #eff6ff;
    --portal-surface: #ffffff;
    --portal-canvas: #f5f7fb;
    --portal-muted: #586a82;
    --portal-line: #e4e9f0;
    --portal-card: rgba(255, 255, 255, 0.86);
}
.androidsync-workspace *{
    box-sizing: border-box;
}
.androidsync-workspace{
    min-height: 100%;
    margin: 0;
    color: var(--portal-ink);
    background: var(--portal-canvas);
    font-family: "Aptos", "Segoe UI", sans-serif;
}
.androidsync-workspace a{
    color: inherit;
    text-decoration: none;
}
.androidsync-workspace .portal-shell{
    display: flex;
    align-items: stretch;
    min-height: 100dvh;
    background: var(--portal-canvas);
}
.androidsync-workspace .portal-sider{
    position: sticky;
    top: 0;
    width: 242px;
    flex: 0 0 242px;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-right: 1px solid var(--portal-line);
}
.androidsync-workspace .shell-collapsed .portal-sider{
    width: 80px;
    flex-basis: 80px;
}
.androidsync-workspace .portal-sider .sidebar-content{
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}
.androidsync-workspace .collapse-control{
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 26px;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--portal-line);
    color: var(--portal-muted);
    cursor: pointer;
    text-align: left;
    font-size: 12px;
}
.androidsync-workspace .collapse-control:hover{
    background: var(--portal-canvas);
    color: var(--portal-ink);
}
.androidsync-workspace .portal-main{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.androidsync-workspace .portal-header{
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 24px;
    height: 76px;
    padding: 0 36px;
    border-bottom: 1px solid var(--portal-line);
    background: #fff;
}
.androidsync-workspace .header-location{
    display: flex;
    align-items: center;
    gap: 12px;
    white-space: nowrap;
    font-size: 13px;
}
.androidsync-workspace .header-workspace{
    color: var(--portal-muted);
}
.androidsync-workspace .breadcrumb-divider{
    color: #c6cdd7;
}
.androidsync-workspace .header-location strong{
    font-weight: 600;
}
.androidsync-workspace .portal-search{
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(100%, 340px);
    margin: 0 0 0 auto;
    height: 40px;
    border: 1px solid var(--portal-line);
    border-radius: 8px;
    background: #f8f9fc;
    padding-left: 12px;
    color: var(--portal-muted);
}
.androidsync-workspace .portal-search input{
    width: 100%;
    min-width: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font: inherit;
    font-size: 12px;
    color: var(--portal-ink);
}
.androidsync-workspace .portal-search:focus-within{
    outline: 2px solid var(--portal-brand);
    outline-offset: 2px;
}
.androidsync-workspace .portal-search button{
    flex: 0 0 40px;
    height: 40px;
    border: 0;
    background: transparent;
    color: var(--portal-muted);
    cursor: pointer;
    border-radius: 8px;
}
.androidsync-workspace .portal-search button:hover{
    color: var(--portal-brand);
    background: var(--portal-brand-soft);
}
.androidsync-workspace .account-menu{
    flex-shrink: 0;
    position: relative;
}
.androidsync-workspace .account-menu summary{
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    border-radius: 8px;
    padding: 2px 4px;
    list-style: none;
}
.androidsync-workspace .account-menu summary::-webkit-details-marker{
    display: none;
}
.androidsync-workspace .user-avatar{
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    background: #e9eef7;
    color: #314769;
    border: 2px solid #fff;
    outline: 1px solid var(--portal-line);
    border-radius: 50%;
    font-size: 13px;
    font-weight: 600;
}
.androidsync-workspace .user-name{
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 13px;
}
.androidsync-workspace .account-chevron{
    display: flex;
    transform: rotate(90deg);
    color: var(--portal-muted);
}
.androidsync-workspace .account-chevron svg{
    width: 14px;
    height: 14px;
}
.androidsync-workspace .account-popover{
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    width: 240px;
    padding: 8px;
    border: 1px solid var(--portal-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 32px #17233b14;
}
.androidsync-workspace .account-popover > span{
    display: block;
    color: var(--portal-muted);
    font-size: 12px;
    border-bottom: 1px solid var(--portal-line);
    padding: 12px;
    overflow-wrap: anywhere;
}
.androidsync-workspace .account-popover strong{
    display: block;
    color: var(--portal-ink);
    font-weight: 600;
}
.androidsync-workspace .account-popover a, .androidsync-workspace .account-popover button{
    display: flex;
    width: 100%;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 10px 12px;
    border: 0;
    background: transparent;
    color: var(--portal-ink);
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
}
.androidsync-workspace .account-popover a:hover, .androidsync-workspace .account-popover button:hover{
    background: var(--portal-canvas);
}
.androidsync-workspace .portal-content{
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
    padding: 36px;
    flex: 1;
    overflow-wrap: anywhere;
}
.androidsync-workspace .portal-footer{
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 36px;
    color: var(--portal-muted);
    border-top: 1px solid var(--portal-line);
    font-size: 11px;
}
.androidsync-workspace .portal-footer span{
    overflow-wrap: anywhere;
}
.androidsync-workspace .portal-footer a{
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 8px;
}
.androidsync-workspace .portal-footer svg{
    width: 14px;
    height: 14px;
}
.androidsync-workspace .skip-link{
    position: fixed;
    top: -100px;
    left: 12px;
    z-index: 100;
    padding: 12px 18px;
    background: #fff;
    border: 2px solid var(--portal-brand);
    border-radius: 6px;
}
.androidsync-workspace .skip-link:focus{
    top: 12px;
}
.androidsync-workspace .icon-button{
    min-width: 44px;
    min-height: 44px;
    display: inline-grid;
    place-items: center;
    color: var(--portal-ink);
    background: #fff;
    border: 1px solid var(--portal-line);
    border-radius: 8px;
    cursor: pointer;
}
.androidsync-workspace .mobile-menu-trigger{
    display: none;
}
.androidsync-workspace .mobile-menu{
    position: fixed;
    inset: 0 auto 0 0;
    margin: 0;
    max-height: 100dvh;
    height: 100dvh;
    width: min(320px, 90vw);
    max-width: 90vw;
    padding: 0;
    border: 0;
    border-right: 1px solid var(--portal-line);
    background: #fff;
}
.androidsync-workspace .mobile-menu::backdrop{
    background: #17233b66;
}
.androidsync-workspace .mobile-menu-inner{
    min-height: 100%;
    position: relative;
}
.androidsync-workspace .mobile-menu-close{
    position: absolute;
    top: 17px;
    right: 12px;
    z-index: 1;
    width: 32px;
    min-width: 32px;
    min-height: 44px;
    border: 0;
}
.androidsync-workspace #blazor-error-ui{
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: #fff3d6;
    padding: 14px 20px;
    color: #664b0a;
}
.androidsync-workspace #blazor-error-ui a{
    text-decoration: underline;
    margin-left: 8px;
}
@media (min-width: 821px){.androidsync-workspace .mobile-menu[open]{
        display: none;
    }}
@media (max-width: 1180px){.androidsync-workspace .portal-header{
        padding: 0 24px;
        gap: 16px;
    }
.androidsync-workspace .portal-content{
        padding: 28px 24px;
    }
.androidsync-workspace .portal-footer{
        padding: 18px 24px;
    }
.androidsync-workspace .header-workspace, .androidsync-workspace .breadcrumb-divider{
        display: none;
    }}
@media (max-width: 820px){.androidsync-workspace .portal-search input{
        font-size: 16px;
    }
.androidsync-workspace .portal-sider{
        display: none;
    }
.androidsync-workspace .mobile-menu-trigger{
        display: inline-grid;
    }
.androidsync-workspace .portal-header{
        padding: 12px 20px;
        height: auto;
        min-height: 72px;
        flex-wrap: wrap;
        gap: 12px;
    }
.androidsync-workspace .header-location{
        gap: 10px;
    }
.androidsync-workspace .portal-search{
        order: 3;
        width: 100%;
        height: 42px;
    }
.androidsync-workspace .account-menu{
        margin-left: auto;
    }
.androidsync-workspace .user-name{
        max-width: 100px;
    }
.androidsync-workspace .portal-content{
        padding: 24px 20px;
    }
.androidsync-workspace .portal-footer{
        padding: 18px 20px;
        flex-wrap: wrap;
    }}
@media (prefers-reduced-motion: reduce){.androidsync-workspace *{
        scroll-behavior: auto !important;
    }}
.androidsync-workspace .sidebar-content{
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.androidsync-workspace .brand-lockup{
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 22px 24px 28px;
    color: var(--portal-ink);
    min-height: 100px;
}
.androidsync-workspace .brand-mark{
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: var(--portal-brand);
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    overflow: hidden;
}
.androidsync-workspace .brand-mark img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.androidsync-workspace .brand-copy{
    min-width: 0;
}
.androidsync-workspace .brand-copy strong{
    display: block;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
    font-weight: 700;
}
.androidsync-workspace .brand-copy > span{
    display: block;
    margin-top: 2px;
    color: var(--portal-muted);
    font-size: 9px;
    letter-spacing: 1.8px;
    font-weight: 600;
}
.androidsync-workspace .portal-menu{
    padding: 0 14px;
}
.androidsync-workspace .nav-section{
    display: block;
    padding: 4px 12px 12px;
    color: var(--portal-muted);
    font-size: 9px;
    letter-spacing: 1.2px;
    font-weight: 600;
}
.androidsync-workspace .admin-section{
    margin-top: 28px;
}
.androidsync-workspace .portal-menu .portal-menu-item{
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    margin: 3px 0;
    min-height: 46px;
    border-radius: 7px;
    color: #55627a;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}
.androidsync-workspace .portal-menu .portal-menu-item svg{
    flex-shrink: 0;
    width: 19px;
    height: 19px;
}
.androidsync-workspace .portal-menu .portal-menu-item:hover{
    color: var(--portal-brand);
    background: #f7f9fc;
}
.androidsync-workspace .portal-menu .portal-menu-item.active{
    color: var(--portal-brand);
    background: var(--portal-brand-soft);
    font-weight: 600;
}
.androidsync-workspace .sidebar-help{
    display: flex;
    gap: 10px;
    margin: auto 22px 24px;
    padding-top: 44px;
    color: var(--portal-muted);
}
.androidsync-workspace .help-icon{
    padding-top: 2px;
    color: #97a4b7;
}
.androidsync-workspace .help-copy strong{
    color: var(--portal-ink);
    font-size: 11px;
    font-weight: 600;
}
.androidsync-workspace .help-copy p{
    font-size: 10px;
    margin: 5px 0 10px;
}
.androidsync-workspace .help-copy a{
    display: inline-block;
    color: var(--portal-brand);
    font-size: 10px;
    padding: 8px 0;
}
.androidsync-workspace .nav-compact .brand-lockup{
    padding-left: 22px;
    padding-right: 22px;
}
.androidsync-workspace .nav-compact .brand-copy, .androidsync-workspace .nav-compact .nav-label, .androidsync-workspace .nav-compact .nav-section, .androidsync-workspace .nav-compact .sidebar-help{
    display: none;
}
.androidsync-workspace .nav-compact .portal-menu{
    padding: 0 12px;
}
.androidsync-workspace .nav-compact .portal-menu .portal-menu-item{
    justify-content: center;
    padding: 14px 0;
    margin-bottom: 6px;
}
.androidsync-workspace .tenant-context{
    margin-left:auto;
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
    font-size:12px;
    overflow-wrap:anywhere;
}
.androidsync-workspace .tenant-context>span{
    color:var(--portal-muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1px;
}
.androidsync-workspace .mobile-navigation{
    display:none;
}
.androidsync-workspace .mobile-navigation summary{
    display:flex;
    gap:8px;
    align-items:center;
    cursor:pointer;
    min-height:44px;
    font-size:12px;
}
.androidsync-workspace .mobile-navigation nav{
    position:absolute;
    left:12px;
    right:12px;
    top:64px;
    z-index:20;
    padding:12px;
    background:white;
    border:1px solid var(--portal-line);
    border-radius:8px;
    box-shadow:0 12px 30px #17233b14;
}
.androidsync-workspace :focus-visible{
    outline:3px solid var(--portal-brand);
    outline-offset:3px;
}
.androidsync-workspace .portal-footer{
    font-size:11px;
}
.androidsync-workspace .portal-menu-item{
    display:flex;
    align-items:center;
    gap:12px;
}
@media(max-width:850px){.androidsync-workspace .portal-sider{
        display:none;
    }
.androidsync-workspace .mobile-navigation{
        display:block;
    }
.androidsync-workspace .portal-header{
        height:auto;
        min-height:72px;
        flex-wrap:wrap;
        gap:12px;
        padding:12px 18px;
    }
.androidsync-workspace .header-location{
        order:3;
        width:100%;
        font-size:12px;
    }
.androidsync-workspace .portal-content{
        padding:24px 18px;
    }
.androidsync-workspace .portal-footer{
        padding:18px;
        flex-wrap:wrap;
    }
.androidsync-workspace .account-menu .user-name{
        max-width:90px;
    }
.androidsync-workspace .tenant-context{
        max-width:150px;
    }
.androidsync-workspace .mobile-navigation nav .portal-menu-item{
        min-height:44px;
        padding:12px;
    }
.androidsync-workspace .mobile-navigation nav .active{
        background:var(--portal-brand-soft);
        color:var(--portal-brand);
    }}
.androidsync-workspace .page-heading h1{
    margin:0 0 12px;
    font-size:clamp(28px,3vw,40px);
    line-height:1.1;
    letter-spacing:-1px;
}
.androidsync-workspace .page-heading p, .androidsync-workspace .section-heading p{
    color:var(--portal-muted);
    line-height:1.6;
    margin:8px 0 24px;
}
.androidsync-workspace .eyebrow{
    font-size:10px;
    font-weight:700;
    letter-spacing:1.6px;
    color:var(--portal-muted);
    margin-bottom:12px;
}
.androidsync-workspace .section-heading{
    display:flex;
    align-items:start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}
.androidsync-workspace .section-heading h2{
    font-size:20px;
    margin:0;
}
.androidsync-workspace .section-heading .page-heading{
    margin-bottom:0;
}
.androidsync-workspace .metric-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin:28px 0 36px;
}
.androidsync-workspace .metric-card{
    background:white;
    border:1px solid var(--portal-line);
    border-radius:10px;
    padding:22px;
}
.androidsync-workspace .metric-card span, .androidsync-workspace .metric-card small{
    display:block;
    color:var(--portal-muted);
    font-size:12px;
}
.androidsync-workspace .metric-card strong{
    display:block;
    font-size:34px;
    margin:14px 0;
}
.androidsync-workspace .metric-card small{
    font-size:11px;
    line-height:1.6;
}
.androidsync-workspace .device-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.androidsync-workspace .device-card, .androidsync-workspace .panel-card, .androidsync-workspace .task-card{
    padding:24px;
    background:white;
    border:1px solid var(--portal-line);
    border-radius:10px;
}
.androidsync-workspace .card-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:18px;
    flex-wrap:wrap;
}
.androidsync-workspace .object-icon{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    background:var(--portal-brand-soft);
    color:var(--portal-brand);
    border-radius:10px;
}
.androidsync-workspace .device-card h3{
    margin:0 0 8px;
    font-size:18px;
}
.androidsync-workspace .status-pill{
    display:inline-flex;
    padding:6px 9px;
    font-size:10px;
    background:#eef2f7;
    color:#3c4e68;
    border-radius:5px;
    line-height:1.4;
}
.androidsync-workspace .text-link{
    color:var(--portal-brand);
    font-weight:600;
    font-size:12px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 0;
}
.androidsync-workspace .policy-note{
    display:flex;
    align-items:start;
    gap:14px;
    margin:24px 0;
    padding:18px 20px;
    background:#edf3fc;
    border-left:3px solid #8daee2;
    font-size:12px;
    line-height:1.7;
}
.androidsync-workspace .policy-note svg{
    flex-shrink:0;
    margin-top:2px;
}
.androidsync-workspace .policy-note p{
    margin:0;
}
.androidsync-workspace .empty-state{
    text-align:center;
    padding:46px 24px;
    border:1px dashed #cbd6e4;
    border-radius:10px;
    color:var(--portal-muted);
    background:#fff;
}
.androidsync-workspace .empty-state h3{
    color:var(--portal-ink);
    margin:14px 0 8px;
}
.androidsync-workspace .empty-state p{
    font-size:13px;
    line-height:1.7;
}
.androidsync-workspace .muted, .androidsync-workspace small{
    color:var(--portal-muted);
    font-size:11px;
    line-height:1.7;
}
.androidsync-workspace small{
    display:block;
}
.androidsync-workspace code{
    font-family:Consolas,monospace;
    overflow-wrap:anywhere;
    font-size:11px;
    color:#62738d;
}
.androidsync-workspace td code{
    display:block;
    margin-top:6px;
}
.androidsync-workspace h2{
    font-size:19px;
}
.androidsync-workspace p{
    line-height:1.7;
}
.androidsync-workspace label{
    display:block;
    font-size:12px;
    font-weight:600;
    margin:0 0 18px;
}
.androidsync-workspace input, .androidsync-workspace select, .androidsync-workspace textarea{
    display:block;
    width:100%;
    margin-top:8px;
    border:1px solid #cdd7e5;
    border-radius:6px;
    padding:11px 12px;
    font:inherit;
    font-size:13px;
    color:var(--portal-ink);
    background:white;
}
.androidsync-workspace textarea{
    resize:vertical;
}
.androidsync-workspace button, .androidsync-workspace .button{
    font:inherit;
    font-size:12px;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    padding:10px 16px;
    border:1px solid var(--portal-brand);
    border-radius:6px;
    background:var(--portal-brand);
    color:white;
    cursor:pointer;
    line-height:1.5;
}
.androidsync-workspace button:hover, .androidsync-workspace .button:hover{
    filter:brightness(.94);
}
.androidsync-workspace .secondary{
    background:white;
    color:#40536e;
    border-color:#cdd7e5;
}
.androidsync-workspace .danger{
    background:#9b3030;
    border-color:#9b3030;
    color:white;
}
.androidsync-workspace .full-width{
    width:100%;
    margin-top:16px;
}
.androidsync-workspace .table-wrap{
    overflow:auto;
    border:1px solid var(--portal-line);
    border-radius:10px;
    background:white;
}
.androidsync-workspace table{
    width:100%;
    border-collapse:collapse;
    min-width:740px;
    font-size:12px;
}
.androidsync-workspace th{
    text-align:left;
    padding:15px 18px;
    background:#f8fafd;
    color:var(--portal-muted);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.7px;
}
.androidsync-workspace td{
    padding:22px 18px;
    border-top:1px solid var(--portal-line);
    vertical-align:top;
    line-height:1.7;
}
.androidsync-workspace td strong{
    font-size:13px;
}
.androidsync-workspace dl{
    margin:20px 0;
}
.androidsync-workspace dt{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.5px;
    color:var(--portal-muted);
    margin-top:14px;
}
.androidsync-workspace dd{
    font-size:13px;
    margin:6px 0;
    line-height:1.7;
}
.androidsync-workspace .sms-body{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.androidsync-workspace .filter-bar{
    display:flex;
    gap:16px;
    align-items:end;
    flex-wrap:wrap;
    padding:20px;
    background:white;
    border:1px solid var(--portal-line);
    border-radius:10px;
    margin-bottom:24px;
}
.androidsync-workspace .filter-bar label{
    flex:1;
    min-width:180px;
    margin:0;
}
.androidsync-workspace .queue-columns{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:24px;
    align-items:start;
}
.androidsync-workspace .compose-panel p{
    font-size:12px;
    color:var(--portal-muted);
}
.androidsync-workspace .queue-list .section-heading{
    margin-top:4px;
    align-items:center;
}
.androidsync-workspace .task-card{
    margin-bottom:18px;
}
.androidsync-workspace .row-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.androidsync-workspace .error-state{
    padding:16px;
    background:#fff3ee;
    border:1px solid #ebc7b7;
    color:#7a3720;
    font-size:12px;
    line-height:1.7;
    margin:16px 0;
    border-radius:6px;
}
.androidsync-workspace .revoke-confirm summary{
    color:#963838;
    font-size:12px;
    cursor:pointer;
    min-height:40px;
    display:list-item;
    padding:8px 0;
}
.androidsync-workspace .revoke-confirm p{
    max-width:220px;
    font-size:11px;
}
.androidsync-workspace .pair-code{
    font-size:16px;
    line-height:2;
    display:block;
    max-width:760px;
    padding:20px;
    border:1px solid #cdd7e5;
    background:#f8fafd;
    color:var(--portal-ink);
    word-break:break-all;
}
.androidsync-workspace .login-surface{
    min-height:100dvh;
    display:grid;
    place-items:center;
    padding:24px;
}
.androidsync-workspace .login-card{
    width:100%;
    max-width:440px;
    padding:40px;
    background:white;
    border:1px solid var(--portal-line);
    border-radius:12px;
}
.androidsync-workspace .login-card h1{
    font-size:28px;
    margin:16px 0;
}
.androidsync-workspace .login-card p{
    font-size:13px;
}
.androidsync-workspace .consent-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:20px;
}
.androidsync-workspace .consent-actions button{
    min-height:44px;
}
.androidsync-workspace .account-popover form{
    margin:0;
}
.androidsync-workspace .account-popover button{
    border:0;
}
.androidsync-workspace .portal-menu-item svg{
    flex-shrink:0;
}
@media(max-width:1200px){.androidsync-workspace .device-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
.androidsync-workspace .metric-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
.androidsync-workspace .queue-columns{
        grid-template-columns:280px minmax(0,1fr);
    }}
@media(max-width:1000px){.androidsync-workspace .queue-columns{
        grid-template-columns:1fr;
    }
.androidsync-workspace .compose-panel{
        max-width:none;
    }
.androidsync-workspace .metric-card{
        padding:18px;
    }
.androidsync-workspace .device-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }}
@media(max-width:550px){.androidsync-workspace .device-grid, .androidsync-workspace .metric-grid{
        grid-template-columns:1fr;
    }
.androidsync-workspace .section-heading{
        flex-wrap:wrap;
    }
.androidsync-workspace .filter-bar label{
        min-width:100%;
    }
.androidsync-workspace .login-card{
        padding:28px;
    }
.androidsync-workspace .panel-card, .androidsync-workspace .device-card, .androidsync-workspace .task-card{
        padding:20px;
    }}
.androidsync-workspace .integration-config{
    max-width:100%;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    padding:16px;
    background:#f5f8fc;
    border:1px solid var(--portal-line);
    border-radius:8px;
    line-height:1.6;
}
.androidsync-workspace .panel-card + .panel-card{
    margin-top:20px;
}
.androidsync-workspace .phone-name{ color:var(--portal-brand); font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.androidsync-workspace .phone-detail-heading{ margin-top:20px; align-items:center; }
.androidsync-workspace .phone-detail-heading h1{ overflow-wrap:anywhere; }
.androidsync-workspace .phone-detail-layout{ display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:24px; align-items:start; }
.androidsync-workspace .phone-detail-layout > *{ min-width:0; }
.androidsync-workspace .phone-policy .section-heading{ flex-wrap:wrap; }
.androidsync-workspace .phone-policy .section-heading p{ margin-bottom:0; }
.androidsync-workspace .phone-information p{ font-size:12px; }
.androidsync-workspace .phone-information dd{ overflow-wrap:anywhere; }
.androidsync-workspace .policy-options{ border:0; padding:0; margin:24px 0; min-width:0; }
.androidsync-workspace .policy-options legend{ font-size:12px; font-weight:600; margin-bottom:12px; }
.androidsync-workspace .policy-option{ display:flex; gap:12px; align-items:start; border:1px solid var(--portal-line); border-radius:8px; padding:16px; margin:0 0 12px; cursor:pointer; font-weight:400; line-height:1.6; }
.androidsync-workspace .policy-option:has(input:checked){ border-color:var(--portal-brand); background:var(--portal-brand-soft); }
.androidsync-workspace .policy-option input, .androidsync-workspace .policy-confirm input{ width:18px; height:18px; margin:3px 0 0; padding:0; flex-shrink:0; accent-color:var(--portal-brand); }
.androidsync-workspace .policy-option strong{ display:block; margin-bottom:4px; font-size:13px; }
.androidsync-workspace .policy-option span span{ display:block; color:#40536e; }
.androidsync-workspace .policy-confirm{ display:flex; align-items:start; gap:12px; font-weight:400; line-height:1.7; }
.androidsync-workspace .phone-policy .row-actions > *{ min-height:44px; }
.androidsync-workspace .phone-detail-layout :is(input,button,a,summary):focus-visible, .androidsync-workspace .phone-name:focus-visible{ outline:3px solid var(--portal-brand); outline-offset:3px; }
.androidsync-workspace .phone-information .revoke-confirm summary{ border:1px solid #cdd7e5; border-radius:6px; padding:10px 16px; min-height:44px; width:fit-content; list-style:none; font-weight:600; }
.androidsync-workspace .phone-information .revoke-confirm summary::-webkit-details-marker{ display:none; }
.androidsync-workspace .phone-information .revoke-confirm p{ max-width:none; }
@media(max-width:1000px){.androidsync-workspace .phone-detail-layout{ grid-template-columns:minmax(0,1fr); }}

.androidsync-workspace .sms-history-message { border-top: 1px solid var(--portal-border, #dce2e8); padding: 1rem 0; }
.androidsync-workspace .sms-history-message .section-heading { flex-wrap: wrap; overflow-wrap: anywhere; }
.androidsync-workspace .sms-history-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65; }
.androidsync-workspace .filter-bar .history-unread-filter { display: flex; align-items: center; gap: .5rem; align-self: end; padding: .6rem 0; }
.androidsync-workspace .filter-bar .history-unread-filter input { width: auto; margin: 0; }
/* SMS channels reuse the workspace palette and keyboard navigation. */
.androidsync-workspace .sms-conversations{min-width:0}
.androidsync-workspace .conversation-columns{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:20px;align-items:start}
.androidsync-workspace .conversation-sidebar{padding:8px;min-width:0;max-height:75dvh;overflow:auto}
.androidsync-workspace .conversation-link{display:block;padding:16px 12px;border-bottom:1px solid var(--portal-line);border-radius:8px;min-width:0}
.androidsync-workspace .conversation-link:hover{background:var(--portal-canvas)}
.androidsync-workspace .conversation-link.selected{background:var(--portal-brand-soft);box-shadow:inset 3px 0 var(--portal-brand)}
.androidsync-workspace .conversation-link-heading,.androidsync-workspace .conversation-link-footer{display:flex;justify-content:space-between;gap:10px;align-items:baseline;min-width:0}
.androidsync-workspace .conversation-link-heading strong{overflow-wrap:anywhere}
.androidsync-workspace .conversation-link time{font-size:11px;color:var(--portal-muted);white-space:nowrap}
.androidsync-workspace .conversation-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;margin:8px 0;color:var(--portal-muted);font-size:13px;line-height:1.5}
.androidsync-workspace .conversation-link-footer small{color:var(--portal-muted);overflow-wrap:anywhere}
.androidsync-workspace .conversation-unread{border-radius:12px;padding:3px 8px;background:var(--portal-brand);color:var(--portal-surface);font-size:11px;white-space:nowrap}
.androidsync-workspace .conversation-detail{min-width:0;padding:24px}
.androidsync-workspace .conversation-header{padding-bottom:12px;border-bottom:1px solid var(--portal-line)}
.androidsync-workspace .conversation-header h3{margin:8px 0;overflow-wrap:anywhere;font-size:22px}
.androidsync-workspace .conversation-header p{margin:6px 0}
.androidsync-workspace .conversation-back{display:none}
.androidsync-workspace .conversation-messages{display:flex;flex-direction:column;gap:14px;max-height:55dvh;overflow:auto;overscroll-behavior:contain;padding:20px 4px}
.androidsync-workspace .conversation-message{max-width:85%;min-width:0;align-self:flex-start;border:1px solid var(--portal-line);background:var(--portal-canvas);border-radius:16px 16px 16px 4px;padding:12px 16px}
.androidsync-workspace .conversation-message.outgoing{align-self:flex-end;background:var(--portal-brand-soft);border-radius:16px 16px 4px 16px}
.androidsync-workspace .conversation-message.other{align-self:center;border-style:dashed}
.androidsync-workspace .conversation-message-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;color:var(--portal-muted)}
.androidsync-workspace .conversation-message-meta strong{color:var(--portal-ink)}
.androidsync-workspace .conversation-sim{border:1px solid var(--portal-line);border-radius:8px;padding:2px 5px}
.androidsync-workspace .conversation-message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:8px 0}
.androidsync-workspace .conversation-message time{font-size:11px;color:var(--portal-muted)}
.androidsync-workspace .conversation-pagination{align-self:center;margin:8px;display:inline-block}
.androidsync-workspace .conversation-composer{border-top:1px solid var(--portal-line);padding-top:20px;margin-top:20px}
.androidsync-workspace .conversation-composer fieldset{border:0;min-width:0;margin:0;padding:0}
.androidsync-workspace .conversation-composer legend{font-weight:700;font-size:18px;padding:0}
.androidsync-workspace .conversation-composer fieldset:disabled{opacity:.7}
.androidsync-workspace .conversation-composer p{overflow-wrap:anywhere}
.androidsync-workspace .sms-conversations a:focus-visible,.androidsync-workspace .sms-conversations button:focus-visible,.androidsync-workspace .sms-conversations textarea:focus-visible,.androidsync-workspace .conversation-messages:focus-visible{outline:3px solid var(--portal-brand);outline-offset:3px}
.androidsync-workspace .sms-conversations .empty-state .text-link{display:inline-block;margin:8px}
@media(max-width:760px){
    .androidsync-workspace .conversation-columns{grid-template-columns:minmax(0,1fr)}
    .androidsync-workspace .conversation-columns.has-selection .conversation-sidebar{display:none}
    .androidsync-workspace .conversation-columns:not(.has-selection) .conversation-detail{display:none}
    .androidsync-workspace .conversation-sidebar{max-height:none}
    .androidsync-workspace .conversation-detail{padding:16px}
    .androidsync-workspace .conversation-back{display:inline-block;margin-bottom:12px;min-height:32px}
    .androidsync-workspace .conversation-message{max-width:94%}
    .androidsync-workspace .conversation-messages{max-height:60dvh}
    .androidsync-workspace .conversation-link{padding:18px 12px}
    .androidsync-workspace .conversation-link-heading{flex-wrap:wrap;gap:4px}
}

.androidsync-workspace .conversation-composer .conversation-action-label{font-size:12px;color:var(--portal-muted);margin-bottom:8px}
.androidsync-workspace .conversation-composer textarea:read-only{background:var(--portal-canvas)}

/* Settings use the same form, panel and policy primitives as phone details. */
.androidsync-workspace .apk-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:24px}
.androidsync-workspace .apk-download-grid .apk-download-card{display:flex;flex-direction:column;min-width:0;margin:0}
.androidsync-workspace .apk-download-card .section-heading{flex-wrap:wrap;gap:12px}
.androidsync-workspace .apk-download-card h2{margin:0}
.androidsync-workspace .apk-feature-list{line-height:1.8;padding-left:20px;flex:1}
.androidsync-workspace .apk-version{margin-bottom:4px}
.androidsync-workspace .apk-download-card .button{align-self:flex-start;min-height:44px;margin-top:12px}
.androidsync-workspace .apk-checksums{margin-top:20px}
.androidsync-workspace .apk-checksums summary{cursor:pointer;min-height:44px;padding:12px 0;text-decoration:underline}
.androidsync-workspace .apk-checksums dd{margin:4px 0 16px;overflow-wrap:anywhere}
.androidsync-workspace .apk-checksums dt{font-size:12px;color:var(--portal-muted)}
.androidsync-workspace .apk-checksums code{white-space:normal;word-break:break-all}
.androidsync-workspace .apk-install-help{line-height:1.8;overflow-wrap:anywhere}
.androidsync-workspace .apk-download-card :is(a,summary):focus-visible{outline:3px solid var(--portal-brand);outline-offset:3px}
@media(max-width:850px){.androidsync-workspace .apk-download-grid{grid-template-columns:minmax(0,1fr)}}
.androidsync-workspace .settings-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:24px;align-items:start}
.androidsync-workspace .settings-layout > *{min-width:0}
.androidsync-workspace .settings-form .panel-card + .panel-card{margin-top:20px}
.androidsync-workspace .settings-form .section-heading{align-items:center;flex-wrap:wrap}
.androidsync-workspace .settings-form .section-heading p{margin-bottom:0}
.androidsync-workspace .settings-form p{font-size:13px}
.androidsync-workspace .settings-form .muted{font-size:12px}
.androidsync-workspace .settings-form .row-actions > *{min-height:44px}
.androidsync-workspace .settings-form .settings-save{margin-top:20px}
.androidsync-workspace .settings-form button:disabled{opacity:.55;cursor:not-allowed}
.androidsync-workspace .settings-form :is(input,select,button,a):focus-visible{outline:3px solid var(--portal-brand);outline-offset:3px}
@media(max-width:1000px){.androidsync-workspace .settings-layout{grid-template-columns:minmax(0,1fr)}}
/* Plans and transient quote previews share the existing operator workspace tokens. */
.androidsync-workspace .pricing-content{min-width:0;overflow-wrap:anywhere}
.androidsync-workspace .pricing-content .policy-note{display:block}
.androidsync-workspace .pricing-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
.androidsync-workspace .pricing-catalog .pricing-plan{display:flex;flex-direction:column;min-width:0;margin:0}
.androidsync-workspace .pricing-plan .section-heading{flex-wrap:wrap;gap:8px}
.androidsync-workspace .pricing-plan h2{margin:0}
.androidsync-workspace .pricing-unit{margin:16px 0 4px;line-height:1.6}
.androidsync-workspace .pricing-unit strong{font-size:24px;font-variant-numeric:tabular-nums}
.androidsync-workspace .pricing-unit span{color:var(--portal-muted);font-size:13px}
.androidsync-workspace .pricing-features{padding-left:20px;margin:16px 0 24px;line-height:1.8;flex:1}
.androidsync-workspace .pricing-plan .button{align-self:flex-start}
.androidsync-workspace .pricing-builder-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:24px;align-items:start}
.androidsync-workspace .pricing-builder-layout > .panel-card{min-width:0;margin:0}
.androidsync-workspace .pricing-builder{scroll-margin-top:96px}
.androidsync-workspace .pricing-builder label{display:block;margin-top:20px}
.androidsync-workspace .pricing-builder :is(input,select){display:block;width:100%;min-height:44px;margin-top:8px}
.androidsync-workspace .pricing-builder .muted{margin-top:8px}
.androidsync-workspace .pricing-content :is(button,.button){min-height:44px}
.androidsync-workspace .pricing-content .text-link{display:inline-block;min-height:44px;padding:12px 0;text-decoration:underline}
.androidsync-workspace .pricing-content :is(a,button,input,select):focus-visible{outline:3px solid var(--portal-brand);outline-offset:3px}
.androidsync-workspace .quote-preview .section-heading{flex-wrap:wrap;gap:12px}
.androidsync-workspace .quote-preview .eyebrow{margin-top:0}
.androidsync-workspace .quote-details,.androidsync-workspace .quote-totals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px;margin:24px 0;line-height:1.6}
.androidsync-workspace .quote-details dt,.androidsync-workspace .quote-totals dt{margin:0;color:var(--portal-muted);font-size:13px;letter-spacing:normal;text-transform:none;font-weight:400}
.androidsync-workspace .quote-details dd,.androidsync-workspace .quote-totals dd{margin:0;min-width:0;font-variant-numeric:tabular-nums}
.androidsync-workspace .quote-totals{border-top:1px solid var(--portal-line);padding-top:24px}
.androidsync-workspace .quote-totals dd{text-align:right;font-weight:600}
.androidsync-workspace .quote-totals .quote-first-total{border-top:1px solid var(--portal-line);padding-top:12px;color:var(--portal-ink);font-size:16px;font-weight:600}
.androidsync-workspace .quote-terms{border-top:1px solid var(--portal-line);padding-top:12px;font-size:12px;line-height:1.7}
.androidsync-workspace .quote-custom{font-size:20px}
.androidsync-workspace .quote-scope{font-size:13px;line-height:1.7}
.androidsync-workspace .quote-scope h3{font-size:14px;margin:16px 0 8px}
.androidsync-workspace .quote-scope ul{padding-left:20px}
@media(max-width:1000px){.androidsync-workspace .pricing-builder-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){
    .androidsync-workspace .pricing-catalog{grid-template-columns:minmax(0,1fr)}
    .androidsync-workspace .quote-details,.androidsync-workspace .quote-totals{column-gap:16px}
    .androidsync-workspace .pricing-unit strong{font-size:21px}
}
@media print{
    body:has(.pricing-content .quote-preview) *{visibility:hidden!important}
    body:has(.pricing-content .quote-preview) .pricing-content .quote-preview,body:has(.pricing-content .quote-preview) .pricing-content .quote-preview *{visibility:visible!important}
    body:has(.pricing-content .quote-preview) .pricing-content .quote-preview{position:absolute!important;top:0!important;left:0!important;width:100%!important}
    body:has(.pricing-content){background:#fff;color:#000}
    body:has(.pricing-content) :is(.portal-sider,.portal-header,.portal-footer,.skip-link,.pricing-screen-only){display:none!important}
    body:has(.pricing-content) :is(.portal-shell,.portal-main,.portal-content,.androidsync-workspace,.pricing-builder-layout){display:block!important;min-height:0!important;height:auto!important;width:auto!important;margin:0!important;padding:0!important;background:#fff!important;color:#000!important}
    body:has(.pricing-content) .pricing-content:not(:has(.quote-preview)){display:none!important}
    .androidsync-workspace .quote-preview{box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:12px!important;color:#000!important;background:#fff!important}
    .androidsync-workspace .quote-preview :is(h2,p,dt,dd,.eyebrow){color:#000!important}
    .androidsync-workspace .quote-preview{font-size:12px;line-height:1.4}
    .androidsync-workspace .quote-details,.androidsync-workspace .quote-totals{margin:14px 0;gap:6px 20px}
    .androidsync-workspace .quote-scope :is(p,ul){margin:6px 0}
    .androidsync-workspace .quote-example{border:1px solid #777!important;background:#fff!important;color:#000!important;padding:12px!important}
    .androidsync-workspace .quote-details,.androidsync-workspace .quote-totals,.androidsync-workspace .quote-terms,.androidsync-workspace .quote-example{break-inside:avoid}
}
