:root{--sp-safe-gap:clamp(10px,2vw,24px);--sp-control-h:42px}
*,*::before,*::after{box-sizing:border-box}
html{min-width:320px;overflow-x:hidden}
body{min-width:320px;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,select,textarea{font:inherit;max-width:100%}
button,[role="button"],a{touch-action:manipulation}
button{min-height:var(--sp-control-h);white-space:normal;overflow-wrap:anywhere}
input,select,textarea{min-height:var(--sp-control-h)}
textarea{resize:vertical}
.grid,.grid2,.grid3,.grid4,.grid6,.grid2form,.cards{min-width:0}
.grid>*,.grid2>*,.grid3>*,.grid4>*,.grid6>*,.grid2form>*,.cards>*{min-width:0}
.actions,.toolbar,.top-actions,.bulk-actions,.toolbar-left,.pager,header nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.actions>*,.toolbar>*,.top-actions>*,.bulk-actions>*,.toolbar-left>*,.pager>*{max-width:100%}
.tablewrap,.wrap,.sp-table-scroll{width:100%;max-width:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
table{max-width:none}
.sp-dialog,.sp-modal,[role="dialog"],dialog{max-width:100%}
.sp-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:var(--sp-safe-gap);background:rgba(2,6,23,.78);backdrop-filter:blur(5px);overflow:hidden}
.sp-modal[hidden]{display:none!important}
.sp-dialog{width:min(680px,100%);max-height:calc(100dvh - (2 * var(--sp-safe-gap)));overflow:auto;overscroll-behavior:contain;border:1px solid #334155;border-radius:18px;background:#111827;color:#e5e7eb;box-shadow:0 28px 90px rgba(0,0,0,.5)}
.sp-dialog__header,.sp-dialog__footer{position:sticky;z-index:2;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;background:#111827}
.sp-dialog__header{top:0;border-bottom:1px solid #334155;justify-content:space-between}
.sp-dialog__footer{bottom:0;border-top:1px solid #334155;justify-content:flex-end}
.sp-dialog__body{padding:16px}
.sp-dialog__header h2,.sp-dialog__header h3{margin:0;min-width:0}
.sp-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:42vh;overflow:auto;border:1px solid #334155;border-radius:10px;background:#020617;color:#cbd5e1;padding:12px}
body.sp-modal-open{overflow:hidden}
.sp-floating-actions{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:98000;display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:min(760px,calc(100vw - 24px));pointer-events:none}
.sp-floating-actions>*{position:static!important;inset:auto!important;margin:0!important;transform:none!important;pointer-events:auto;max-width:min(260px,calc(100vw - 24px))}
.sp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#queueStatusModal,#spStorageIntegrityModal,.sp-store-v595-panel{padding:var(--sp-safe-gap)!important;overflow:hidden!important}
#queueStatusModal .queue-box,#spStorageIntegrityModal .box,.sp-store-v595-box{width:min(1180px,100%)!important;max-width:100%!important;max-height:calc(100dvh - (2 * var(--sp-safe-gap)))!important;overflow:auto!important}
#queueStatusModal .queue-head,#spStorageIntegrityModal .box>div:first-child,.sp-store-v595-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#queueStatusModal .queue-head-actions{display:flex;gap:8px;flex-wrap:wrap}
#spStorageIntegrityModal table{min-width:760px}
#sp-proxy-cancel-panel{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;padding:8px!important}
.sp-store-v595-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.sp-store-v595-controls>button{width:100%}
@media(max-width:900px){
  .grid2,.grid3,.grid4,.grid6,.grid2form{grid-template-columns:minmax(0,1fr)!important}
  header,.toolbar{align-items:flex-start}
  .sp-floating-actions{left:12px;right:12px;max-width:none}
  #queueStatusModal .queue-grid,#queueStatusModal .queue-two-cols,.sp-store-v595-body{grid-template-columns:minmax(0,1fr)!important}
  #queueStatusModal .queue-two-cols{display:grid!important}
  #queueStatusModal .queue-study-list{max-height:32vh}
}
@media(max-width:600px){
  :root{--sp-safe-gap:8px;--sp-control-h:44px}
  main{max-width:100%;overflow-x:hidden}
  header,.toolbar,.box-title{gap:10px!important}
  header>*,.toolbar>*,.box-title>*{min-width:0}
  .actions>button,.actions>a,.sp-dialog__footer>button,.sp-dialog__footer>a{flex:1 1 100%;width:100%}
  .top-actions>button,.bulk-actions>button,.bulk-actions>select,.pager>button{flex:1 1 calc(50% - 8px)}
  .sp-dialog{border-radius:14px;max-height:calc(100dvh - 16px)}
  .sp-dialog__header,.sp-dialog__body,.sp-dialog__footer{padding:12px}
  .sp-floating-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .sp-floating-actions>*{width:100%!important;max-width:none!important;min-width:0!important}
  #queueStatusModal .queue-head-actions>button{flex:1 1 calc(50% - 8px)}
  .sp-store-v595-controls{grid-template-columns:1fr!important}
  #sp-proxy-cancel-panel .sp-proxy-cancel-title{grid-column:1/-1;text-align:center;width:100%}
}
@media(max-width:380px){.sp-floating-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
