/* Shared outer frame for the campaign and account area (Create your ad is the reference).
   Only the outer width/gutters are standardized; inner grids keep their own layout. */
html{scrollbar-gutter:stable}
.bt-container{width:100%!important;box-sizing:border-box!important;margin-left:auto!important;margin-right:auto!important;max-width:1360px!important;padding-left:40px!important;padding-right:40px!important;min-width:0}
@media(min-width:1500px){.bt-container{max-width:1480px!important}}
@media(max-width:1100px){.bt-container{padding-left:28px!important;padding-right:28px!important}}
@media(max-width:600px){.bt-container{padding-left:16px!important;padding-right:16px!important}}
/* Studio's fixed action bar spans the container content width on desktop and tablet. */
.studio-actions{width:min(calc(100% - 80px),1280px)!important;max-width:none!important}
@media(min-width:1500px){.studio-actions{width:min(calc(100% - 80px),1400px)!important}}
@media(max-width:1100px){.studio-actions{width:calc(100% - 56px)!important}}
@media(max-width:600px){.studio-actions{width:calc(100% - 24px)!important}}
/* Horizontal workspace menus scroll inside the frame instead of widening the page. */
.bt-container .accountnav{max-width:100%;min-width:0;overflow-x:auto}
.bt-container .accountlayout>*{min-width:0}
.bt-container .tablewrap{max-width:100%;overflow-x:auto}
/* Save buttons: clearly inactive when there is nothing to save, with visible progress while saving. */
button.bt-save:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;filter:saturate(.6)}
button.bt-save.bt-saving{opacity:.8;cursor:progress;filter:none}
button.bt-save.bt-saving::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:bt-spin .7s linear infinite}
@keyframes bt-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){button.bt-save.bt-saving::before{animation-duration:2s}}
