.support-v016{display:grid;gap:1.2rem}.support-grid{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(24rem,1.4fr);gap:1.2rem}.ticket-list{display:grid;gap:.7rem}.ticket-item{border:1px solid var(--line,#ddd);background:#fff;padding:1rem;text-align:left;color:inherit;text-transform:none;letter-spacing:0;min-height:auto;font-family:inherit;font-size:inherit;display:block}.ticket-item strong{display:block;font-family:Montserrat,Arial,sans-serif}.ticket-meta{margin-top:.4rem;color:var(--muted,#777);font-size:.82rem}.ticket-unread{font-weight:700}.thread{border:1px solid var(--line,#ddd);background:#fff;padding:1.25rem}.thread-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid var(--line,#ddd);padding-bottom:1rem;margin-bottom:1rem}.messages{display:grid;gap:.8rem;max-height:28rem;overflow:auto;padding-right:.3rem}.message{border-left:3px solid #aaa;background:#f5f5f5;padding:.9rem 1rem}.message.admin{border-left-color:#191919}.message small{display:block;color:#777;margin-bottom:.35rem}.support-form{display:grid;gap:1rem}.support-actions{display:flex;gap:.7rem;flex-wrap:wrap}.support-actions>*{flex:0 0 auto}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.backup-card{border:1px solid var(--line,#ddd);background:#fff;padding:1.3rem}.backup-card h2{margin-top:0}.danger-zone{border-left:3px solid #a82c22}.inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.mail-warning{border-left:3px solid #8b5a00;background:#fff8e8;padding:1rem}.mail-good{border-left:3px solid #22623d;background:#edf7f0;padding:1rem}@media(max-width:900px){.support-grid,.backup-grid,.inline-fields{grid-template-columns:1fr}.thread-head{display:block}}


.ticket-item{cursor:pointer}.ticket-item:focus-visible{outline:2px solid currentColor;outline-offset:2px}


.ticket-item{cursor:pointer}.ticket-item:focus-visible{outline:2px solid currentColor;outline-offset:2px}



.ticket-item:hover,
.ticket-item:focus-visible{
  background:#f3f3f3!important;
  color:#191919!important;
}
.ticket-item:hover strong,
.ticket-item:focus-visible strong{color:#191919!important;}
.ticket-item:hover .ticket-meta,
.ticket-item:focus-visible .ticket-meta{color:#666!important;}



.support-grid>.support-column{min-width:0;display:flex;flex-direction:column}
.support-grid>.support-column>.section-title{margin-top:0}
.support-grid>.support-column>.ticket-list,
.support-grid>.support-column>#ticket-pane{min-width:0;flex:1}
.account-notification-toggle{display:flex;align-items:flex-start;gap:.8rem;margin-top:1.25rem;padding:1rem;border:1px solid var(--line,#ddd);background:#f7f7f7;cursor:pointer;text-transform:none;letter-spacing:0}
.account-notification-toggle input{width:auto!important;min-width:1rem!important;margin-top:.15rem;flex:0 0 auto}
.account-notification-toggle span{display:grid;gap:.2rem}
.account-notification-toggle strong{font-family:Montserrat,Arial,sans-serif}
.account-notification-toggle small{color:var(--muted,#777);font-weight:400;line-height:1.4}



.customer-support-overlay{position:relative;z-index:2}
.ticket-item{cursor:pointer;user-select:none}
.ticket-item:hover,.ticket-item:focus-visible{background:#f3f3f3!important;color:#191919!important}
.ticket-item:hover strong,.ticket-item:focus-visible strong{color:#191919!important}
.ticket-item:hover .ticket-meta,.ticket-item:focus-visible .ticket-meta{color:#666!important}
.account-notification-card h2{margin-top:0}
.account-notification-card .account-notification-toggle{margin-top:1rem}

/* Support unread badge */
.sidebar nav button{position:relative}
.support-nav-badge{margin-left:auto;min-width:1.35rem;height:1.35rem;padding:0 .36rem;border-radius:999px;background:#d92626;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;line-height:1;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}


.marketing-consent-card h2{margin-top:0}
.marketing-consent-card .account-notification-toggle{margin-top:1rem}
.marketing-consent-card .success,.marketing-consent-card .error{margin-top:1rem}



.sb-product-manager{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.1rem}
.sb-product-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.sb-product-summary>div{display:grid;gap:.2rem}
.sb-product-summary span{color:var(--muted);font-size:.9rem}
.sb-product-card-expanded{grid-column:1/-1}
.sb-product-actions{display:flex;justify-content:flex-end;margin:.75rem 0}
.sb-activation-note{margin:1rem 0;max-width:none}
.sb-registration-note{margin:1rem 0 .4rem}
.sb-registration-note+.sb-add-form{margin-top:.4rem}
.sb-license-panel{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1.2rem}
.sb-license-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1rem}
.sb-license-stats{display:grid;gap:.25rem;text-align:right;white-space:nowrap}
.sb-device-table{overflow-x:auto}
.sb-device-table table{min-width:58rem}
.sb-status{font-weight:700}
.sb-add-form{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(18rem,1fr) auto;gap:1rem;align-items:end;margin-top:1rem}
.sb-add-form .sb-form-msg{grid-column:1/-1}
.sb-no-slot{margin-top:1rem}
.sb-device-guidance{margin:0 0 1.5rem}
.sb-device-guidance .sb-open-products{margin-left:1rem}
@media(max-width:900px){.sb-product-summary,.sb-license-head{display:grid}.sb-license-stats{text-align:left;white-space:normal}.sb-add-form{grid-template-columns:1fr}.sb-add-form .sb-form-msg{grid-column:auto}.sb-device-guidance .sb-open-products{margin:.75rem 0 0;display:flex}}



.pd-product-manager{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.1rem}
.pd-product-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.pd-product-summary>div{display:grid;gap:.2rem}.pd-product-summary span{color:var(--muted);font-size:.9rem}
.pd-product-card-expanded{grid-column:1/-1}.pd-product-body{margin-top:1rem}.pd-device-table{overflow-x:auto}.pd-device-table table{min-width:48rem}
.pd-replacement-note{margin:1rem 0}.pd-pair-form{display:grid;grid-template-columns:minmax(16rem,1fr) auto;gap:1rem;align-items:end;margin-top:1rem}.pd-pair-form .pd-form-msg{grid-column:1/-1}.pd-pair-form input{text-transform:uppercase;letter-spacing:.08em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:900px){.pd-product-summary{display:grid}.pd-pair-form{grid-template-columns:1fr}.pd-pair-form .pd-form-msg{grid-column:auto}}

/* Portal-native messages and confirmations */
.abp-message-backdrop{z-index:100000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:1rem!important}
.abp-message-dialog{width:min(34rem,calc(100dvw - 2rem))!important;max-width:calc(100dvw - 2rem)!important;max-height:calc(100dvh - 2rem)!important;overflow:auto!important;box-sizing:border-box!important}
.abp-message-dialog .eyebrow{margin:0 0 .55rem!important}
.abp-message-dialog h2{margin:.1rem 0 .8rem!important}
.abp-message-text{white-space:pre-wrap;line-height:1.55;margin:0;color:inherit}
.abp-message-actions{margin-top:1.35rem!important;justify-content:flex-end!important;display:flex!important;gap:.65rem!important;flex-wrap:wrap!important}
.abp-message-actions button{min-width:7rem}
.abp-message-error{border-top:3px solid #a82c22!important}
.abp-message-success{border-top:3px solid #22623d!important}
.abp-message-warning{border-top:3px solid #8b5a00!important}
@media(max-width:600px){.abp-message-actions{display:grid!important;grid-template-columns:1fr!important}.abp-message-actions button{width:100%!important}}

.pending-device-note{margin:0 0 1rem 0;}


.cards.abp-products-full-width{grid-template-columns:minmax(0,1fr)!important}


.downloads-v143{display:grid;gap:1rem}.download-release-card{border:1px solid #d8d8d8;background:#fff;padding:1.45rem;display:grid;gap:1rem}.download-release-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.download-release-head h2{margin:.15rem 0 .35rem}.download-release-version{margin:0;color:#666}.download-release-badge{border:1px solid #9a9a9a;padding:.28rem .5rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.release-notes{border-top:1px solid #e3e3e3;padding-top:1rem}.release-notes p{margin:.35rem 0 0;line-height:1.55}.download-file-row{border-top:1px solid #e3e3e3;padding-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.download-file-row>div:first-child{display:grid;gap:.3rem;min-width:0}.download-file-row span{color:#666;font-size:.86rem;overflow-wrap:anywhere}.download-actions{display:flex;gap:.65rem;flex-wrap:wrap}.download-actions button{white-space:nowrap}.release-flash-backdrop{z-index:130!important}.release-flash-dialog{width:min(760px,calc(100vw - 2rem))!important;max-width:760px!important}.release-flash-warning{border:1px solid #c46f1b;background:#fff7ec;padding:1rem;display:grid;gap:.25rem}.release-flash-device{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:.85rem 0}.release-flash-progress{display:grid;gap:.4rem}.release-flash-progress>div{height:9px;border:1px solid #aaa;background:#f2f2f2}.release-flash-progress span{display:block;height:100%;width:0;background:#222;transition:width .15s linear}.release-flash-progress p{margin:0;color:#666}.release-flash-log{max-height:170px;overflow:auto;background:#171717;color:#eee;padding:.8rem;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;min-height:64px}.release-flash-log:empty{display:none}
@media(max-width:700px){.download-release-head,.download-file-row{display:grid}.download-actions{width:100%}.download-actions button{flex:1}.release-flash-dialog{width:calc(100vw - 1rem)!important}}

.download-profile{display:grid;gap:.2rem;border-top:1px solid #e3e3e3;padding-top:1rem}.download-profile span,.download-file-row small{color:#666;line-height:1.45}.recovery-row{background:#fafafa;padding:1rem;margin-left:-1rem;margin-right:-1rem}.release-customer-erase{display:flex;gap:.7rem;align-items:flex-start;border:1px solid #d8d8d8;padding:1rem}.release-customer-erase input{width:18px;height:18px;flex:0 0 18px;margin-top:.15rem}.release-customer-erase span{display:grid;gap:.25rem}.release-customer-erase small{color:#666;line-height:1.45}.release-build-profile{display:grid;gap:.25rem;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:.85rem 0}.release-build-profile span{color:#666}.release-update-safe{line-height:1.5}.release-erase-recommend{line-height:1.5}



.abp-expiry-line{font-weight:600;color:#525252}
.abp-expiry-line.warning{color:#b26a00}
.abp-expiry-line.danger{color:#b42318}




.overview-expiry-line{margin:.85rem 0 0!important;font-size:.95rem;line-height:1.4}
.overview-expiry-label{color:#525252;font-weight:600}
.overview-expiry-value{color:#525252;font-weight:600}
.overview-expiry-value.warning{color:#b26a00}
.overview-expiry-value.danger{color:#b42318}


.release-backup-guidance{border:1px solid #d8d8d8;padding:1rem;display:grid;gap:.35rem;line-height:1.5}.release-backup-guidance.supported{border-left:4px solid #2d7b4a}.release-backup-guidance.unsupported{border-left:4px solid #b43a32}.release-flash-segment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:.85rem 0}.release-flash-segment-list div{display:flex;justify-content:space-between;gap:1rem}.release-flash-segment-list span{color:#666;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.firmware-flash-action{padding-top:.2rem}.firmware-segment-files{display:grid}.firmware-segment-files .download-file-row:first-child{border-top:1px solid #e3e3e3}@media(max-width:700px){.release-flash-segment-list{grid-template-columns:1fr}}



.release-flash-dialog,.release-flash-terminal-dialog{max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain}
.release-flash-terminal-dialog{width:min(900px,calc(100vw - 2rem))!important;max-width:900px!important}
.release-flash-terminal-dialog .release-flash-log{display:block;min-height:220px;max-height:42vh;overflow:auto}
.release-flash-terminal-dialog .release-flash-progress{position:sticky;top:0;background:#fff;padding:.35rem 0;z-index:1}
.firmware-manual-files{border-top:1px solid #e3e3e3;padding-top:1rem}
.firmware-manual-files summary{cursor:pointer;font-family:Montserrat,Arial,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.04rem}
.firmware-manual-files>p{color:#666;line-height:1.5;margin:.75rem 0 .25rem}
.firmware-manual-files:not([open]) .firmware-segment-files{display:none}
@media(max-width:700px){.release-flash-terminal-dialog{width:calc(100vw - 1rem)!important}.release-terminal-actions{display:grid}.release-terminal-actions button{width:100%}}



.account-notification-card .account-settings-section{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}
.account-notification-card .account-settings-section h2{margin-top:0}
.account-notification-card .account-settings-section .account-notification-toggle{margin-top:1rem}
.account-notification-card .account-settings-section .success,.account-notification-card .account-settings-section .error{margin-top:1rem}


.account-notification-card .account-settings-section h3{margin:0 0 .35rem;font-size:1rem;line-height:1.3}
.account-notification-card .account-settings-section .account-notification-toggle{display:flex;align-items:flex-start;gap:.85rem;cursor:pointer;text-transform:none;letter-spacing:0}
.account-notification-card .account-settings-section .account-notification-toggle input{width:1.1rem;height:1.1rem;padding:0;margin-top:.15rem;flex:0 0 auto}
.account-notification-card .account-settings-section .account-notification-toggle span{display:grid;gap:.25rem}



.brand{display:inline-flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;}
.brand strong{text-align:center;white-space:nowrap;}
.brand .brand-logo{display:block;width:2.38rem;height:auto;margin:.95rem auto 0;}
.brand.compact .brand-logo{width:1.57rem;margin-top:.45rem;}
.sidebar .brand{margin-bottom:1rem;}
.sidebar .portal-title{margin-top:1.35rem;}


.overview-expiry-line{margin-top:.7rem}
.overview-expiry-line>div+div{margin-top:.14rem}
.overview-expiry-date{color:#444;font-weight:600}

.overview-expiry-exact.danger .overview-expiry-label{color:#525252!important;font-weight:600!important}
.overview-expiry-exact.danger .overview-expiry-date,.overview-expiry-date.danger{color:#b42318!important;font-weight:600!important}
.overview-expiry-value.danger.expired{color:#b42318!important;font-weight:400!important}



.overview-expiry-line.overview-expiry-stacked{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.28rem;row-gap:.14rem;align-items:baseline}
.overview-expiry-line.overview-expiry-stacked .overview-expiry-exact{display:contents}
.overview-expiry-line.overview-expiry-stacked .overview-expiry-label{grid-column:1;grid-row:1;white-space:nowrap}
.overview-expiry-line.overview-expiry-stacked .overview-expiry-date{grid-column:2;grid-row:1}
.overview-expiry-line.overview-expiry-stacked .overview-expiry-value{grid-column:2;grid-row:2;margin-top:0!important}



@media (max-width:1024px){
  .topbar{
    display:flex;
    height:auto;
    min-height:calc(6rem + env(safe-area-inset-top));
    padding-top:calc(1rem + env(safe-area-inset-top));
    padding-right:max(1rem,env(safe-area-inset-right));
    padding-bottom:1rem;
    padding-left:max(1rem,env(safe-area-inset-left));
  }
  .sidebar{
    width:min(17.5rem,calc(100dvw - 2.5rem));
    max-width:calc(100dvw - 2.5rem);
    padding-top:max(2.2rem,calc(1rem + env(safe-area-inset-top)));
    padding-right:1.25rem;
    padding-bottom:max(2.2rem,calc(1rem + env(safe-area-inset-bottom)));
    padding-left:max(1.25rem,env(safe-area-inset-left));
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    transition:transform .2s;
    transform:translateX(-105%);
  }
  .sidebar.open{transform:none;box-shadow:30px 0 80px #0003}
  .close-button{display:inline-flex}
  .scrim{z-index:25;background:#0006;border:0;display:block;position:fixed;inset:0}
  .content{
    margin-left:0;
    padding-top:calc(8.4rem + env(safe-area-inset-top));
    padding-right:max(1rem,env(safe-area-inset-right));
    padding-bottom:max(3rem,calc(2rem + env(safe-area-inset-bottom)));
    padding-left:max(1rem,env(safe-area-inset-left));
  }
  .topbar .brand.compact{min-width:0;max-width:calc(100% - 4rem)}
}

@media (max-width:700px), (max-width:1024px) and (max-height:600px){
  .menu-button,.close-button{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0}
  .row-actions button,.download-actions button,.release-terminal-actions button{min-height:2.75rem}
  .table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .dialog-backdrop,.release-flash-backdrop{
    padding-top:max(1rem,env(safe-area-inset-top));
    padding-right:max(1rem,env(safe-area-inset-right));
    padding-bottom:max(1rem,env(safe-area-inset-bottom));
    padding-left:max(1rem,env(safe-area-inset-left));
  }
  .release-flash-dialog,.release-flash-terminal-dialog,.abp-message-dialog{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    max-height:100%!important;
    overflow:auto!important;
    overscroll-behavior:contain;
  }

  /* Native Registered devices tables are marked by portal-v018.js and become phone cards. */
  table.abp-mobile-registered-devices{width:100%!important;min-width:0!important;table-layout:auto!important;background:transparent!important}
  table.abp-mobile-registered-devices thead{display:none!important}
  table.abp-mobile-registered-devices,table.abp-mobile-registered-devices tbody,table.abp-mobile-registered-devices tr,table.abp-mobile-registered-devices td{display:block!important;width:100%!important}
  table.abp-mobile-registered-devices tbody{display:grid!important;gap:.85rem!important}
  table.abp-mobile-registered-devices tr{border:1px solid var(--line,#d8d8d8);background:#fff;padding:.65rem .85rem}
  table.abp-mobile-registered-devices td{display:grid!important;grid-template-columns:minmax(6.8rem,38%) minmax(0,1fr)!important;gap:.75rem!important;align-items:start!important;border:0!important;border-bottom:1px solid #ececec!important;padding:.55rem 0!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  table.abp-mobile-registered-devices td:last-child{border-bottom:0!important}
  table.abp-mobile-registered-devices td::before{color:#777;letter-spacing:.07rem;text-transform:uppercase;font-family:Montserrat,Arial,sans-serif;font-size:.64rem;font-weight:600;line-height:1.35}
  table.abp-mobile-registered-devices td:nth-child(1)::before{content:"Device"}
  table.abp-mobile-registered-devices td:nth-child(2)::before{content:"Product"}
  table.abp-mobile-registered-devices td:nth-child(3)::before{content:"MAC"}
  table.abp-mobile-registered-devices td:nth-child(4)::before{content:"Firmware"}
  table.abp-mobile-registered-devices td:nth-child(5)::before{content:"Status"}
  table.abp-mobile-registered-devices td:nth-child(6)::before{content:"Activated"}
  table.abp-mobile-registered-devices td:nth-child(7)::before{content:"Service expires"}
  table.abp-mobile-registered-devices td:nth-child(8)::before{content:"Last seen"}
  table.abp-mobile-registered-devices td:nth-child(7)>.overview-expiry-date,
  table.abp-mobile-registered-devices td:nth-child(7)>.overview-expiry-value{grid-column:2!important}
  table.abp-mobile-registered-devices td[colspan]{display:block!important}
  table.abp-mobile-registered-devices td[colspan]::before{display:none!important}

  /* Product-specific device tables use the same compact card pattern on phones. */
  .sb-device-table,.pd-device-table{overflow:visible!important}
  .sb-device-table table,.pd-device-table table{width:100%!important;min-width:0!important;table-layout:auto!important;background:transparent!important}
  .sb-device-table thead,.pd-device-table thead{display:none!important}
  .sb-device-table table,.sb-device-table tbody,.sb-device-table tr,.sb-device-table td,
  .pd-device-table table,.pd-device-table tbody,.pd-device-table tr,.pd-device-table td{display:block!important;width:100%!important}
  .sb-device-table tbody,.pd-device-table tbody{display:grid!important;gap:.85rem!important}
  .sb-device-table tr,.pd-device-table tr{border:1px solid var(--line,#d8d8d8);background:#fff;padding:.65rem .85rem}
  .sb-device-table td,.pd-device-table td{display:grid!important;grid-template-columns:minmax(7rem,40%) minmax(0,1fr)!important;gap:.75rem!important;align-items:start!important;border:0!important;border-bottom:1px solid #ececec!important;padding:.55rem 0!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .sb-device-table td:last-child,.pd-device-table td:last-child{border-bottom:0!important}
  .sb-device-table td::before,.pd-device-table td::before{color:#777;letter-spacing:.07rem;text-transform:uppercase;font-family:Montserrat,Arial,sans-serif;font-size:.64rem;font-weight:600;line-height:1.35}
  .sb-device-table td:nth-child(1)::before{content:"SoundBridge / MAC"}
  .sb-device-table td:nth-child(2)::before{content:"Status"}
  .sb-device-table td:nth-child(3)::before{content:"Activated"}
  .sb-device-table td:nth-child(4)::before{content:"Service expires"}
  .sb-device-table td:nth-child(5)::before{content:"Action"}
  .pd-device-table td:nth-child(1)::before{content:"Device"}
  .pd-device-table td:nth-child(2)::before{content:"Hardware ID"}
  .pd-device-table td:nth-child(3)::before{content:"Status"}
  .pd-device-table td:nth-child(4)::before{content:"Firmware"}
  .pd-device-table td:nth-child(5)::before{content:"Last heartbeat"}
  .sb-device-table td:nth-child(5) button{width:100%!important;min-height:2.75rem!important}
  .sb-device-table td[colspan],.pd-device-table td[colspan]{display:block!important}
  .sb-device-table td[colspan]::before,.pd-device-table td[colspan]::before{display:none!important}
}

@media (max-width:520px){
  .content{padding-right:max(.85rem,env(safe-area-inset-right));padding-left:max(.85rem,env(safe-area-inset-left))}
  .dialog-actions{display:grid!important;grid-template-columns:1fr!important}
  .dialog-actions button,.dialog-actions .button{width:100%!important;min-height:2.75rem!important}
  .download-actions{display:grid!important;grid-template-columns:1fr!important}
  .download-actions button{width:100%!important}
}



@media (max-width:1024px){
  /* At tablet/phone widths the padded backdrop, not 100vw, is the usable dialog width. */
  .release-flash-dialog,.release-flash-terminal-dialog,.abp-message-dialog{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:auto!important;
    overscroll-behavior:contain;
  }
  body:has(.sidebar.open),body:has(.dialog-backdrop),body:has(.release-flash-backdrop){overflow:hidden}
}

@media (max-width:520px){
  .auth-page{
    padding-top:env(safe-area-inset-top)!important;
    padding-right:env(safe-area-inset-right)!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
    padding-left:env(safe-area-inset-left)!important;
  }
  .auth-panel{min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important}
}



.customer-docs-overlay{position:relative;z-index:2}.customer-docs-toolbar{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(2,minmax(170px,.7fr));gap:.75rem;margin:1.25rem 0 1.5rem}.customer-docs-toolbar input,.customer-docs-toolbar select{width:100%;border:1px solid var(--line,#d6d6d6);background:#fff;color:inherit;padding:.75rem .8rem;font:inherit}
.customer-docs-section{margin:2rem 0 2.5rem}.customer-docs-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin-bottom:1rem}.customer-docs-heading h2{margin:.2rem 0 0}.customer-doc-list{display:grid;gap:.8rem}.customer-doc-card{border:1px solid var(--line,#ddd);background:#fff;padding:1.1rem 1.2rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.customer-doc-card h3{margin:.25rem 0 .45rem;font-size:1.05rem}.customer-doc-card p{margin:.25rem 0 .65rem;color:var(--muted,#666);line-height:1.55}.customer-doc-card small{display:block;color:var(--muted,#777);margin-top:.55rem}.customer-doc-meta,.customer-doc-products{display:flex;gap:.4rem;flex-wrap:wrap}.customer-doc-meta span,.customer-doc-products span{display:inline-block;border:1px solid var(--line,#ddd);padding:.18rem .45rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.customer-doc-products{margin-top:.4rem}.customer-doc-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.customer-faq-list{display:grid;gap:.65rem}.customer-faq{border:1px solid var(--line,#ddd);background:#fff}.customer-faq summary{list-style:none;cursor:pointer;padding:1rem 1.1rem;display:flex;justify-content:space-between;gap:1rem;font-weight:700}.customer-faq summary::-webkit-details-marker{display:none}.customer-faq summary span:last-child{font-size:1.3rem;font-weight:400;line-height:1}.customer-faq[open] summary span:last-child{transform:rotate(45deg)}.customer-faq-answer{padding:0 1.1rem 1.1rem;border-top:1px solid var(--line,#eee)}.customer-faq-answer .customer-doc-meta{margin-top:1rem}.customer-faq-answer p{line-height:1.65;margin:1rem 0 0}
@media(max-width:760px){.customer-docs-toolbar{grid-template-columns:1fr}.customer-doc-card{grid-template-columns:1fr}.customer-doc-actions{justify-content:flex-start}.customer-doc-actions button{flex:1}.customer-docs-heading{align-items:flex-start;flex-direction:column}}



body.abp-customer-docs-active #root .content:not(.customer-docs-overlay){display:none!important}
body.abp-customer-docs-active #root .customer-docs-overlay{display:block!important}



.ticket-item.support-unread{border-color:#d92626!important}
.ticket-item.support-unread strong{font-weight:700}
.ticket-item.support-unread:hover,.ticket-item.support-unread:focus-visible{border-color:#d92626!important}




.support-image-picker{display:grid;gap:.65rem;margin:.9rem 0;padding:.85rem;border:1px solid var(--line,#ddd);border-radius:10px;background:#fafafa}
.support-image-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.support-image-picker-head span{font-size:.78rem;color:var(--muted,#777)}
.support-image-input{display:block;width:100%;font:inherit}.support-image-error{font-size:.82rem;color:#a82c22;font-weight:600}
.support-image-previews,.support-attachments{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem}
.support-image-preview,.support-attachment{min-width:0;border:1px solid var(--line,#ddd);border-radius:8px;background:#fff;overflow:hidden}
.support-image-preview img,.support-attachment img{display:block;width:100%;height:110px;object-fit:cover;background:#eee}
.support-image-preview-meta{display:grid;gap:.15rem;padding:.5rem .55rem}.support-image-preview-meta span,.support-attachment span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.support-image-preview-meta small{color:var(--muted,#777)}
.support-image-remove{width:calc(100% - 1rem);margin:0 .5rem .5rem;min-height:2rem;padding:.35rem .5rem}
.support-attachments{margin-top:.75rem}.support-attachment{color:inherit;text-decoration:none}.support-attachment:hover{text-decoration:none}.support-attachment span{padding:.48rem .55rem;color:var(--muted,#666)}
@media(max-width:600px){.support-image-previews,.support-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}.support-image-preview img,.support-attachment img{height:96px}}

.support-attachment-missing{display:flex;align-items:center;min-height:3.2rem}.support-attachment-missing span{white-space:normal}



.customer-overview-dashboard{margin:0 0 2rem}
.customer-overview-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.customer-overview-stat{display:flex;flex-direction:column;min-width:0;min-height:13rem}
.customer-overview-stat h2{margin-top:0}
.customer-overview-stat .metric{margin:.35rem 0 .1rem}
.customer-overview-stat>p{margin:.15rem 0 1rem;color:var(--muted,#666)}
.customer-overview-stat>button{align-self:flex-start;margin-top:auto}
.customer-overview-support-lines{display:grid;gap:.28rem;margin:0 0 1rem;font-size:.88rem;line-height:1.4;color:var(--muted,#666)}
.customer-overview-support-lines [data-overview-support-unread].has-new{color:#d92626;font-weight:700}
.customer-overview-support-lines [data-overview-support-waiting].has-waiting{color:#8b5a00;font-weight:700}
.customer-overview-dashboard-status{margin-top:1rem}
.customer-overview-products-heading{margin:2rem 0 1rem}
.customer-overview-products-heading .section-title{margin:0}
@media(max-width:900px){.customer-overview-summary{grid-template-columns:1fr}.customer-overview-stat{min-height:0}.customer-overview-stat>button{margin-top:.4rem}}

/* POWERSDAFUNK perpetual capacity and update entitlement; lives inside existing Products manager. */
.pd-pbx-entitlement{border:1px solid var(--line,#d8d8d8);background:var(--card,#fff);border-radius:10px;padding:1rem;margin:.8rem 0 1rem;min-width:0}
.pd-pbx-entitlement>strong{display:block;letter-spacing:.045em;font-size:.8rem;margin-bottom:.7rem}
.pd-pbx-entitlement>small{display:block;color:var(--muted,#666);margin-top:.6rem;overflow-wrap:anywhere}
.pd-pbx-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem}
.pd-pbx-facts>div{min-width:0;display:flex;flex-direction:column;gap:.25rem}
.pd-pbx-facts small{color:var(--muted,#666);font-size:.77rem}
.pd-pbx-facts b{font-size:1rem;font-weight:700;overflow-wrap:anywhere}
@media(max-width:600px){.pd-pbx-facts{grid-template-columns:1fr}.pd-pbx-entitlement{padding:.85rem}}

/* POWERSDAFUNK is a software installation licence, not a hardware/device seat. */
.pd-pbx-product-card .pd-product-manager{border-top:1px solid var(--line)}
.pd-pbx-installations .pd-product-summary strong{font-variant-numeric:tabular-nums}


/* v0.1.97: POWERSDAFUNK-only compact product licence, no duplicate device metric. */
.pd-pbx-product-card .pd-product-manager.pd-pbx-compact{border-top:1px solid var(--line,#ddd);margin-top:1.1rem;padding-top:.85rem}
.pd-pbx-compact .pd-pbx-entitlement{border:0;border-radius:0;padding:0;margin:0 0 1rem;background:transparent}
.pd-pbx-compact .pd-pbx-eyebrow{font-size:.7rem;color:var(--muted,#666);text-transform:uppercase;letter-spacing:.065em;font-weight:700;margin-bottom:.7rem}
.pd-pbx-compact .pd-pbx-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;align-items:start}
.pd-pbx-compact .pd-pbx-facts>div{padding:0 .65rem;min-width:0;border-left:1px solid var(--line,#ddd)}
.pd-pbx-compact .pd-pbx-facts>div:first-child{border-left:0;padding-left:0}
.pd-pbx-compact .pd-pbx-facts small{font-size:.74rem}
.pd-pbx-compact .pd-pbx-facts b{font-size:1rem;font-weight:700}
.pd-pbx-install-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;border-top:1px solid var(--line,#ddd);padding:.9rem 0 .7rem}
.pd-pbx-install-head strong{font-size:.83rem}
.pd-pbx-install-head span{font-size:.85rem;color:var(--muted,#666);font-variant-numeric:tabular-nums}
.pd-pbx-table-wrap{width:100%;overflow-x:auto}
.pd-pbx-install-table{border-collapse:collapse;width:100%;table-layout:auto;font-size:.83rem}
.pd-pbx-install-table thead{background:#f9f9f9}
.pd-pbx-install-table th,.pd-pbx-install-table td{text-align:left;border-top:1px solid var(--line,#e3e3e3);padding:.7rem .6rem;vertical-align:middle}
.pd-pbx-install-table th{color:var(--muted,#777);font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.pd-pbx-install-table td:first-child,.pd-pbx-install-table th:first-child{padding-left:.55rem}
.pd-pbx-install-table td:last-child,.pd-pbx-install-table th:last-child{text-align:right}
.pd-pbx-state{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.03em}
.pd-pbx-state.is-active{color:#286743}.pd-pbx-state.is-pending{color:#996100}
.pd-pbx-activate{display:flex;justify-content:flex-end;margin-top:.85rem}
.pd-pbx-pair-body{margin-top:.8rem;max-width:520px}
@media(max-width:960px){.pd-pbx-compact .pd-pbx-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1rem}.pd-pbx-compact .pd-pbx-facts>div:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:640px){
 .pd-pbx-install-table thead{display:none}
 .pd-pbx-install-table,.pd-pbx-install-table tbody{display:block;width:100%}
 .pd-pbx-install-table tr.pd-pbx-install-row{display:grid;gap:0;border-top:1px solid var(--line,#ddd);padding:.4rem 0}
 .pd-pbx-install-table tr.pd-pbx-install-row td{display:flex;justify-content:space-between;gap:1rem;align-items:center;text-align:right!important;padding:.45rem .2rem;border:0;min-width:0;overflow-wrap:anywhere}
 .pd-pbx-install-table tr.pd-pbx-install-row td[data-label]::before{content:attr(data-label);font-size:.72rem;color:var(--muted,#666);flex:0 0 7rem;text-align:left}
}
@media(max-width:420px){.pd-pbx-compact .pd-pbx-facts{grid-template-columns:1fr}.pd-pbx-compact .pd-pbx-facts>div{padding:0 0 .6rem!important;border-left:0;border-bottom:1px solid var(--line,#ddd)}.pd-pbx-compact .pd-pbx-facts>div:last-child{border:0}}

/* ABP Customer v0.1.99: POWERSDAFUNK perpetual license and update renewal status. */
.pd-pbx-update-policy{margin-top:1rem;padding:.95rem 1rem;border-top:1px solid var(--line,#ddd);font-size:.82rem;line-height:1.55}
.pd-pbx-update-policy strong{font-weight:700}
.pd-pbx-update-policy button{display:block;margin:.8rem 0 .2rem;min-height:40px}
.pd-pbx-update-policy small{display:block;color:var(--muted,#666)}

/* Customer v0.2.02: overview 3 metrics share one outside frame, no inside boxes. */
.customer-overview-dashboard .customer-overview-summary {
  gap: 0;
  border: 1px solid var(--line,#d8d8d8);
  background: #fff;
}
.customer-overview-dashboard .customer-overview-summary > article.card.customer-overview-stat {
  border: 0;
  border-radius: 0;
  margin: 0;
  background: transparent;
}
