/* UTIL-026 Cắt, xoay và lật ảnh — trình chỉnh. Bổ sung cho bộ giao diện ảnh dùng chung (image-compressor.css). Font kế thừa; không ghi đè font icon. */
.icr-modes{margin:14px 0 0;padding:10px 14px 4px;border:1px solid var(--sou-line);border-radius:12px;background:#fbfcff;min-width:0}
.icr-modes legend,.icr-group legend{width:auto;margin:0;padding:0 6px;border:0;font-size:15px;line-height:1.4;font-weight:700;color:var(--sou-ink)}
.icr-modes .sou-check strong{color:var(--sou-ink)}
.icr-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 10px}
.icr-file{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--sou-muted);font-size:14px}
.icr-file strong{color:var(--sou-ink);font-size:15px}
.icr-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.icr-tools .soi-mini{padding:6px 10px}
.icr-lbl{margin-left:2px}
.icr-sep{width:1px;height:28px;background:var(--sou-line);margin:0 2px}
.icr-zoom{min-width:52px;text-align:center;font-weight:700;color:var(--sou-ink);font-variant-numeric:tabular-nums;font-size:14px}
.icr-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;padding:8px 10px;border-radius:12px;background:var(--sou-soft)}
.icr-nav p{margin:0;flex:1 1 200px;font-weight:700;color:var(--sou-ink);font-size:14px}
.icr-nav .icr-skip{padding:0;min-height:44px;align-items:center}
.icr-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.icr-stage-wrap{min-width:0;position:relative}
.icr-stage{height:min(62vh,560px);min-height:260px}
.icr-stage canvas{cursor:crosshair}
.icr-stage canvas:focus-visible{outline:3px solid #3869ed;outline-offset:-3px}
.icr-exit{display:none!important}
.icr-stage-wrap:fullscreen,.icr-stage-wrap.sou-fullscreen{display:flex;flex-direction:column;gap:10px;padding:12px;background:#fff}
.icr-stage-wrap:fullscreen .icr-stage,.icr-stage-wrap.sou-fullscreen .icr-stage{flex:1;height:auto}
.icr-stage-wrap:fullscreen .icr-exit,.icr-stage-wrap.sou-fullscreen .icr-exit{display:inline-flex!important;align-self:flex-start}
.icr-panel{min-width:0}
.icr-group{margin:0 0 14px;padding:10px 12px;border:1px solid var(--sou-line);border-radius:12px;min-width:0}
.icr-xywh{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.icr-xywh .sou-field{margin:0 0 8px}
.icr-xywh label{font-size:14px}
.sou-page .icr-xywh input{padding:8px;font-variant-numeric:tabular-nums}
.icr-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.icr-row .soi-mini{flex:1 1 130px}
.icr-ratio{display:flex;align-items:center;gap:6px;margin:0 0 8px}
.sou-page .icr-ratio input{width:72px;text-align:center}
.icr-panel .soi-mini[aria-pressed=true]{border-color:var(--sou-primary);background:#edf3ff;color:#1948c6}
.icr-panel [data-inner]{margin:0 0 10px}
@media(max-width:1000px){.icr-layout{grid-template-columns:1fr}}
@media(max-width:600px){.icr-nav p{order:-1;flex-basis:100%}.icr-nav .soi-mini{flex:1 1 40%}.icr-stage{height:min(45vh,420px);min-height:240px}.icr-xywh{grid-template-columns:repeat(2,minmax(0,1fr))}.icr-lbl{display:none}}
@media print{.icr-tools,.icr-nav,.icr-panel,.icr-modes{display:none!important}}
