.utility-panel { min-width:0; padding:26px; border:1px solid var(--line,#e1e6ec); border-radius:4px; background:#fff; }
.utility-panel fieldset { border:0; margin:0; padding:0; min-width:0; }
.utility-panel .utility-title { padding:0; margin:0 0 21px; color:var(--ink,#17212b); font-size:1.15rem; font-weight:700; letter-spacing:-.02em; line-height:1.4; }
.utility-panel .utility-fields { display:grid; gap:20px; }
.utility-panel .field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; align-items:start; }
.utility-panel label { display:block; font-weight:600; font-size:.82rem; margin-bottom:7px; line-height:1.5; color:#526171; }
.utility-panel input,.utility-panel textarea,.utility-panel select { box-sizing:border-box; min-width:0; max-width:100%; width:100%; border:1px solid #c8d1dc; background:#fff; color:#39434e; border-radius:4px; padding:11px; font:inherit; font-size:.86rem; line-height:1.5; }
.utility-panel input[type=file] { font-size:.78rem; padding:8px; background:#f7f9fb; }
.utility-panel input[type=file]::file-selector-button { border:1px solid #c8d1dc; border-radius:3px; background:#fff; color:#39434e; font:inherit; padding:7px 10px; margin-right:10px; cursor:pointer; }
.utility-panel textarea { resize:vertical; min-height:190px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.82rem; line-height:1.7; tab-size:4; }
.utility-panel .check-row { display:flex; align-items:flex-start; gap:9px; padding:5px 0; min-width:0; }
.utility-panel .check-row input { width:16px; height:16px; min-height:16px; flex:0 0 16px; margin:3px 0 0; padding:0; accent-color:#1769e0; }
.utility-panel .check-row label { margin:0; cursor:pointer; font-weight:400; font-size:.77rem; }
.utility-panel .field-help,.utility-panel .utility-note { color:#778593; font-size:.74rem; line-height:1.75; margin:8px 0 0; overflow-wrap:anywhere; }
.utility-panel>.utility-note { margin-top:16px; }
.utility-panel [data-status]:empty { display:none; }
.utility-panel .buttons { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:23px; }
.utility-panel .button { min-height:42px; cursor:pointer; font-size:.79rem; }
.utility-panel button:disabled { opacity:.55; cursor:wait; }
.utility-panel .tool-error { border-left:3px solid #ce594b; background:#fff6f3; color:#a4382d; padding:12px 14px; margin:17px 0 0; font-size:.81rem; line-height:1.7; overflow-wrap:anywhere; }
.utility-panel .result-panel { margin-top:23px; padding:21px; border:1px solid #c6d9ef; border-radius:4px; background:#f4f8fe; min-width:0; }
.utility-panel .utility-output { background:#fff; min-height:145px; max-height:620px; }
.utility-panel [data-warnings] { border-left:3px solid #bf8d33; padding-left:12px; color:#87611c; }
.utility-panel [hidden] { display:none!important; }
.utility-panel :is(input,textarea,select,button,a):focus-visible { outline:3px solid #1769e0; outline-offset:3px; }
@media(max-width:640px) {
  .utility-panel { padding:20px; }
  .utility-panel .field-grid { grid-template-columns:1fr; gap:16px; }
  .utility-panel .result-panel { padding:16px; }
  .utility-panel .buttons { gap:9px; }
  .utility-panel .button { padding:10px 14px; }
  .utility-panel input,.utility-panel select,.utility-panel textarea { font-size:16px; }
  .utility-panel .check-row label { font-size:.75rem; }
}
@media print {
  .utility-panel form,.utility-panel>.utility-note,.utility-panel .buttons { display:none; }
  .utility-panel { padding:0; border:0; }
  .utility-panel .result-panel { background:#fff; border:0; padding:0; }
  .utility-panel .utility-output { max-height:none; }
}
