/* Shared controls and spacing for the dashboard, orders, and public content pages. */
.icon-action{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #ffffff20;border-radius:7px;background:#25202e;color:#cbbbd9;cursor:pointer;text-decoration:none;box-sizing:border-box;transition:background .15s,border-color .15s}.icon-action svg{width:16px;height:16px;pointer-events:none}.icon-action:hover{background:#35283f;border-color:#ac7bcc;color:#f0defe}.icon-action:focus-visible{outline:2px solid #c99ced;outline-offset:3px}.icon-action.icon-danger:hover{background:#3c222d;border-color:#bb627d;color:#ffc2d4}.icon-action.brand-apply{color:#c9b0ef}.icon-action:disabled{opacity:.45;cursor:wait}.workspace .page-heading h1,.orders-page .page-heading h1{line-height:1.2;letter-spacing:-.6px}.workspace .page-heading>p,.orders-page .page-heading>p{line-height:1.65}.workspace :is(.form-actions,.branding-actions),.orders-page .form-actions{gap:10px;flex-wrap:wrap}.workspace :is(input,select,textarea){box-sizing:border-box;min-width:0}.workspace .panel,.orders-page .order-card{min-width:0}.workspace .panel>h2:first-child{margin-top:0}.order-heading-actions{gap:10px}.review-pagination a,.pagination a{border-radius:6px}.review-pagination a:focus-visible,.pagination a:focus-visible,.nav-menu a:focus-visible,.nav-menu summary:focus-visible{outline:2px solid #c99ced;outline-offset:3px}.nav-menu .nav-links summary{min-height:42px;box-sizing:border-box}.nav-menu .nav-links a{min-height:38px;box-sizing:border-box}.nav-menu .button-icon{flex-shrink:0}.workspace button:disabled,.orders-page button:disabled{cursor:not-allowed}.brand-card-actions .icon-action{width:38px;height:38px}
@media(max-width:600px){.icon-action{width:40px;height:40px;min-width:40px;min-height:40px}.workspace .page-heading,.orders-page .page-heading{margin-bottom:22px}.order-heading{gap:12px;flex-wrap:wrap}.order-heading-actions{margin-left:auto}.workspace input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]),.workspace textarea,.workspace select{font-size:16px}.brand-card-actions .icon-action{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.icon-action{transition:none}}

/* Keep paired controls aligned without constraining long labels or narrow screens. */
body :is(.button,.quiet,.action-button,.brand-primary,.brand-secondary){max-width:100%;text-align:center;white-space:normal;overflow-wrap:anywhere}
body :is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid #d1a9ef;outline-offset:3px}
body button:disabled{cursor:not-allowed}
body button[aria-busy="true"]{cursor:progress}
.workspace .tool-grid>*,.workspace .tools-layout>*,.onsay-list article>div{min-width:0}
.tool-form input[type="color"]{height:50px;min-height:50px;padding:6px;cursor:pointer}
.tool-form input[type="color"]::-webkit-color-swatch-wrapper{padding:0}
.tool-form input[type="color"]::-webkit-color-swatch{border:0;border-radius:5px}
.onsay-list article{flex-wrap:wrap}
.onsay-list article>div:first-child{flex:1 1 160px;overflow-wrap:anywhere}
.onsay-list .tool-actions{flex:0 1 auto;margin-left:auto;align-items:center}
.onsay-list .tool-actions>form{margin:0}
.onsay-list .tool-actions [data-tool-status]:empty{display:none}
.tool-icon{flex-shrink:0;cursor:pointer}
.catalog-heading>.button{width:auto;margin:0;flex:0 1 auto}
.catalog-heading>.cart-link{margin-left:auto}
body>footer{padding-bottom:max(112px,env(safe-area-inset-bottom))}
@media(max-width:600px){
 body :is(.icon-action,.tool-icon,.brand-card-actions .icon-action){width:44px;height:44px;min-width:44px;min-height:44px}
 body :is(.button,.quiet,.action-button,.brand-primary,.brand-secondary){min-height:44px}
 .ticket-panel-actions{align-items:stretch}
 .ticket-panel-actions>form,.ticket-panel-actions>details{min-width:0}
 .workspace .reward-row{grid-template-columns:minmax(0,1fr) 44px}
 .workspace .reward-row>label:first-child{grid-column:1/-1}
 .workspace .reward-row .tool-icon{margin-bottom:14px}
 .workspace input[type="color"]{font-size:16px}
}

