/* The reward builder has its own geometry; compact purchase dialogs keep theirs. */
html:root body.cabinet-page .case-reward-dialog {
  width:min(1180px,calc(100vw - 40px)); max-width:none; height:auto;
  max-height:calc(var(--aloha-visual-height,100dvh) - 40px); padding:0; border:1px solid var(--aloha-ui-line-strong);
  border-radius:20px; background:var(--aloha-ui-panel); color:var(--aloha-ui-text);
  font-family:var(--font-copy),Inter,system-ui,sans-serif;
}
html:root body.cabinet-page .case-reward-dialog .case-reward-dialog-shell {
  min-height:0; max-height:calc(var(--aloha-visual-height,100dvh) - 42px); border:0; border-radius:inherit;
  background:var(--aloha-ui-panel); color:var(--aloha-ui-text);
}
html:root body.cabinet-page .case-reward-dialog header,
html:root body.cabinet-page .case-reward-dialog footer {
  padding:20px 26px; border-color:var(--aloha-ui-line); background:var(--aloha-ui-panel);
}
html:root body.cabinet-page .case-reward-dialog header small { color:var(--aloha-ui-copy); font:600 11px/1.4 var(--font-copy); letter-spacing:.07em; }
html:root body.cabinet-page .case-reward-dialog header h3 { margin-top:5px; color:var(--aloha-ui-text); font:750 25px/1.3 var(--font-copy); overflow-wrap:anywhere; }
html:root body.cabinet-page .case-reward-dialog header p { display:block; margin-top:6px; color:var(--aloha-ui-copy); font:400 13px/1.5 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog .dialog-close { width:42px; height:42px; min-width:42px; min-height:42px; border-width:1px; border-radius:12px; font-size:22px; }
html:root body.cabinet-page .case-reward-dialog-body {
  display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);
  gap:22px; padding:23px 26px 27px; min-height:0; min-width:0; overflow:auto;
}
html:root body.cabinet-page .case-reward-dialog-body>* { min-width:0; margin:0; }
html:root body.cabinet-page .case-reward-dialog .case-reward-row-main {
  grid-column:1/-1; display:grid; grid-template-columns:76px minmax(0,1fr) minmax(145px,.6fr) 100px 84px;
  gap:14px; align-items:end;
}
html:root body.cabinet-page .case-reward-dialog :is(label,input,select,textarea,output) { min-width:0; max-width:100%; }
html:root body.cabinet-page .case-reward-dialog label:not(.case-reward-policy):not(.reward-image-upload) { display:grid; gap:8px; align-content:start; }
html:root body.cabinet-page .case-reward-dialog :is(label>span,.case-reward-actions small) { color:var(--aloha-ui-copy); font:500 12px/1.5 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog :is(input:not([type="checkbox"]):not([type="file"]),select,textarea) {
  width:100%; min-height:46px; padding:11px 13px; border:1px solid var(--aloha-ui-line-strong);
  border-radius:10px; background:var(--aloha-ui-panel); color:var(--aloha-ui-text);
  font:500 15px/1.5 var(--font-copy); box-shadow:none;
}
html:root body.cabinet-page .case-reward-dialog textarea { resize:vertical; min-height:107px; }
html:root body.cabinet-page .case-reward-dialog .case-reward-row-main output {
  display:grid; place-items:center; min-height:46px; padding:11px 6px; grid-column:auto;
  border-radius:10px; background:var(--aloha-ui-raised); color:var(--aloha-ui-text);
  font:700 15px/1.5 var(--font-copy);
}
html:root body.cabinet-page .case-reward-dialog .reward-image-editor {
  display:grid; grid-template-columns:94px minmax(0,1fr); align-content:center; align-items:center;
  gap:14px; padding:19px; border:1px solid var(--aloha-ui-line); border-radius:13px;
  background:var(--aloha-ui-raised);
}
html:root body.cabinet-page .case-reward-dialog .reward-image-preview { width:94px; height:94px; min-width:0; border-radius:12px; background:var(--aloha-ui-panel); }
html:root body.cabinet-page .case-reward-dialog .reward-image-copy strong { color:var(--aloha-ui-text); font:650 13px/1.5 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog .reward-image-copy small { display:block; margin-top:6px; color:var(--aloha-ui-copy); font:400 12px/1.6 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog .reward-image-editor>:is(.reward-image-upload,.reward-image-speed,.reward-image-remove) { grid-column:1/-1; width:auto; }
html:root body.cabinet-page .case-reward-dialog .reward-image-upload { display:block; }
html:root body.cabinet-page .case-reward-dialog .reward-image-upload>span { display:block; padding:11px 16px; border:1px solid var(--aloha-ui-line-strong); border-radius:9px; text-align:center; cursor:pointer; color:var(--aloha-ui-text)!important; background:var(--aloha-ui-panel); font:650 13px/1.5 var(--font-copy)!important; }
html:root body.cabinet-page .case-reward-dialog .case-reward-story { display:grid; grid-template-columns:minmax(0,1fr); gap:15px; align-content:start; }
html:root body.cabinet-page .case-reward-dialog .case-reward-policies { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
html:root body.cabinet-page .case-reward-dialog label.case-reward-policy {
  display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:12px;
  padding:17px; margin:0; grid-column:auto; border:1px solid var(--aloha-ui-line);
  border-radius:12px; background:var(--aloha-ui-raised); text-align:left; cursor:pointer;
}
html:root body.cabinet-page .case-reward-dialog .case-reward-policy input { width:20px; height:20px; min-height:0; padding:0; margin:2px 0 0; accent-color:#159c9b; }
html:root body.cabinet-page .case-reward-dialog .case-reward-policy>span { display:block; }
html:root body.cabinet-page .case-reward-dialog .case-reward-policy strong { display:block; color:var(--aloha-ui-text); font:650 14px/1.5 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog .case-reward-policy small { display:block; margin-top:6px; color:var(--aloha-ui-copy); font:400 12px/1.6 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog :is(.case-reward-actions,.minecraft-item-admin) { grid-column:1/-1; }
html:root body.cabinet-page .case-reward-dialog .case-reward-actions { padding:20px; border:1px solid var(--aloha-ui-line); border-radius:13px; background:var(--aloha-ui-raised); }
html:root body.cabinet-page .case-reward-dialog .case-reward-actions>div:first-child { display:flex; flex-wrap:wrap; flex-direction:row; align-items:center; gap:8px 16px; margin-bottom:17px; }
html:root body.cabinet-page .case-reward-dialog .case-reward-actions strong { color:var(--aloha-ui-text); font:650 13px/1.5 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog .case-reward-actions [data-add-action] { margin-left:auto; width:auto; padding:10px 15px; min-height:44px; border:1px solid var(--aloha-ui-line-strong); border-radius:9px; background:var(--aloha-ui-panel); color:var(--aloha-ui-text); font:650 13px/1.5 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog .case-reward-action-row {
  display:grid; grid-template-columns:minmax(180px,.75fr) minmax(0,1.7fr) 40px;
  align-items:end; gap:12px; padding-top:14px; border-color:var(--aloha-ui-line);
}
html:root body.cabinet-page .case-reward-dialog .case-reward-action-row[data-action-type="case_key"] { grid-template-columns:minmax(180px,1fr) minmax(90px,.45fr) minmax(160px,1fr) 40px; }
html:root body.cabinet-page .case-reward-dialog .case-reward-action-row .reward-remove { width:40px; height:46px; margin:0; border-radius:9px; font-size:20px; }
html:root body.cabinet-page .case-reward-dialog footer { display:flex; flex-direction:row; gap:15px; justify-content:space-between; padding-block:15px; }
html:root body.cabinet-page .case-reward-dialog footer>button { width:auto; min-height:46px; border-radius:10px; font:650 14px/1.5 var(--font-copy); }
html:root body.cabinet-page .case-reward-dialog footer .primary-action { min-width:160px; width:auto; padding:11px 20px; gap:22px; }
html:root body.cabinet-page .case-reward-dialog footer .primary-action b { display:none; }
html:root body.cabinet-page [data-reward-card-rule] { margin-top:6px; color:var(--aloha-ui-copy); font:600 11px/1.4 var(--font-copy); text-transform:none; }
html:root body.cabinet-page .case-reward-unique-note { display:inline-flex; padding:5px 8px; border:1px solid var(--aloha-ui-line-strong); border-radius:7px; color:var(--aloha-ui-text); background:var(--aloha-ui-panel); font:600 11px/1.45 var(--font-copy); }
html:root body.cabinet-page .case-reward.is-collected { background:var(--aloha-ui-raised); border-color:var(--aloha-ui-line); }
html:root body.cabinet-page .case-reward.is-collected>i { opacity:.65; }
@media(max-width:900px) {
  html:root body.cabinet-page .case-reward-dialog { width:calc(100vw - 28px); max-height:calc(var(--aloha-visual-height,100dvh) - 28px); }
  html:root body.cabinet-page .case-reward-dialog .case-reward-dialog-shell { max-height:calc(var(--aloha-visual-height,100dvh) - 30px); }
  html:root body.cabinet-page .case-reward-dialog-body { gap:18px; padding:20px; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); }
  html:root body.cabinet-page .case-reward-dialog .case-reward-row-main { grid-template-columns:68px minmax(0,1fr) minmax(0,1fr) 85px; }
  html:root body.cabinet-page .case-reward-dialog .reward-name-field { grid-column:1/-1; grid-row:1; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-row-main output { grid-column:auto; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row[data-action-type="case_key"] { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row[data-action-type="case_key"] [data-action-target-wrap] { grid-column:1/3; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row[data-action-type="case_key"] .reward-remove { grid-column:3; grid-row:1/3; align-self:end; }
}
@media(max-width:760px) {
  html:root body.cabinet-page .case-reward-dialog { inset:auto; width:calc(100vw - 12px)!important; max-width:none!important; max-height:calc(var(--aloha-visual-height,100dvh) - 12px)!important; margin:auto; border-radius:16px; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-dialog-shell { max-height:calc(var(--aloha-visual-height,100dvh) - 14px); min-height:0; border-radius:16px; }
  html:root body.cabinet-page .case-reward-dialog header,html:root body.cabinet-page .case-reward-dialog footer { padding:16px; }
  html:root body.cabinet-page .case-reward-dialog header h3 { font-size:21px; }
  html:root body.cabinet-page .case-reward-dialog-body { display:flex; flex-direction:column; padding:16px; gap:18px; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-row-main { display:grid; grid-template-columns:1fr 1fr!important; gap:13px; }
  html:root body.cabinet-page .case-reward-dialog .reward-name-field { grid-column:1/-1; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-row-main output { grid-column:auto; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-policies { grid-template-columns:1fr; gap:12px; }
  html:root body.cabinet-page .case-reward-dialog :is(input:not([type="checkbox"]):not([type="file"]),select,textarea) { font-size:16px; }
  html:root body.cabinet-page .case-reward-dialog .reward-image-editor { grid-template-columns:80px minmax(0,1fr); padding:15px; }
  html:root body.cabinet-page .case-reward-dialog .reward-image-preview { width:80px; height:80px; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-actions { padding:15px; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row,
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row[data-action-type="case_key"] { grid-template-columns:minmax(0,1fr) 40px!important; gap:12px; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row>label,
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row[data-action-type="case_key"] [data-action-target-wrap] { grid-column:1; }
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row .reward-remove,
  html:root body.cabinet-page .case-reward-dialog .case-reward-action-row[data-action-type="case_key"] .reward-remove { grid-column:2; grid-row:1; }
  html:root body.cabinet-page .case-reward-dialog footer .primary-action { min-width:125px; }
  html:root body.cabinet-page .case-reward-dialog footer .danger-quiet { max-width:48%; }
}

html:root body.cabinet-page .case-reward-dialog .reward-image-remove { min-height:44px; padding:10px 15px; background:var(--aloha-ui-panel); color:var(--aloha-ui-danger)!important; border:1px solid var(--aloha-ui-line); font:600 13px/1.5 var(--font-copy)!important; }
html:root body.cabinet-page .case-reward-dialog .reward-image-upload:focus-within { outline:2px solid var(--aloha-ui-accent); outline-offset:3px; }
html:root body.cabinet-page .case-simulation-collection-note { grid-column:1/-1; margin:5px 0; color:var(--aloha-ui-copy); font:400 13px/1.7 var(--font-copy); }

html:root body.cabinet-page .case-reward-dialog .reward-image-upload { position:relative; }
html:root body.cabinet-page .case-reward-dialog .reward-file-input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
html:root body.cabinet-page .case-reward-dialog :is(input,select,textarea,button):focus-visible { outline:2px solid var(--aloha-ui-accent); outline-offset:3px; }
