/* Isolated NDS tool: deliberately does not share legacy .tmhr-patcher rules. */
.tmhr-nds { --nds-text: #e2e8f0; box-sizing: border-box; width: 100%; max-width: 800px; margin: 20px auto; padding: clamp(20px, 4vw, 32px); border: 1px solid #343f5a; border-radius: 16px; background: #0f172a; color: var(--nds-text); font-family: 'Red Hat Display', system-ui, sans-serif; font-size: 15px; line-height: 1.6; text-align: left; color-scheme: dark; }
.tmhr-nds *, .tmhr-nds *::before, .tmhr-nds *::after { box-sizing: border-box; }
.tmhr-nds [hidden] { display: none !important; }
.tmhr-nds .tmhr-nds-tag { display: block; color: #cbd5e1; font-size: 11px; font-weight: 700; letter-spacing: 2px; }
.tmhr-nds .tmhr-nds-heading h2 { margin: 6px 0 8px; color: #fff; font: 700 clamp(22px, 4vw, 27px)/1.2 'Red Hat Display', system-ui, sans-serif; text-transform: none; }
.tmhr-nds p { margin: 0 0 16px; color: var(--nds-text); font: inherit; }
.tmhr-nds .tmhr-nds-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 24px; }
.tmhr-nds label { display: flex; flex-direction: column; gap: 9px; min-width: 0; color: var(--nds-text); font: inherit; }
.tmhr-nds label > span { font-weight: 700; }
.tmhr-nds small { display: block; color: #cbd5e1; font: 400 13px/1.5 'Red Hat Display', system-ui, sans-serif; }
.tmhr-nds input[type=file], .tmhr-nds input[type=text] { display: block; width: 100%; min-width: 0; height: auto; margin: 0; padding: 12px; border: 1px solid #64748b; border-radius: 8px; background: #182337; color: #fff; font: inherit; box-shadow: none; }
.tmhr-nds input[type=file] { font-size: 13px; }
.tmhr-nds input[type=file]::file-selector-button { margin: 0 8px 5px 0; padding: 7px 9px; border: 0; border-radius: 5px; background: #343f5a; color: #fff; font: inherit; cursor: pointer; }
.tmhr-nds input[type=text] { max-width: 230px; text-transform: uppercase; }
.tmhr-nds .tmhr-nds-advanced { margin: 20px 0; padding: 12px 0; border-top: 1px solid #343f5a; border-bottom: 1px solid #343f5a; }
.tmhr-nds summary { color: #cbd5e1; cursor: pointer; font: inherit; }
.tmhr-nds details[open] label { margin-top: 16px; }
.tmhr-nds .tmhr-nds-status { overflow-wrap: anywhere; }
.tmhr-nds .tmhr-nds-error { color: #fca5a5; }
.tmhr-nds progress { display: block; width: 100%; height: 7px; margin: 0 0 18px; accent-color: #a0291d; }
.tmhr-nds .tmhr-nds-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tmhr-nds .tmhr-nds-actions button, .tmhr-nds .tmhr-nds-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin: 0; padding: 11px 20px; border: 1px solid transparent; border-radius: 8px; background: #a0291d; color: #fff; font: 700 15px/1.4 'Red Hat Display', system-ui, sans-serif; text-decoration: none; text-transform: none; letter-spacing: 0; box-shadow: none; cursor: pointer; }
.tmhr-nds .tmhr-nds-actions button:hover, .tmhr-nds .tmhr-nds-actions a:hover { background: #842218; color: #fff; }
.tmhr-nds .tmhr-nds-actions .tmhr-nds-cancel { background: #343f5a; }
.tmhr-nds .tmhr-nds-actions .tmhr-nds-download { background: #166534; }
.tmhr-nds .tmhr-nds-actions .tmhr-nds-download:hover { background: #14532d; }
.tmhr-nds button:disabled, .tmhr-nds input:disabled { opacity: .5; cursor: not-allowed; }
.tmhr-nds :focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
.tmhr-nds .tmhr-nds-result { margin: 16px 0 0; color: #bbf7d0; font-size: 13px; overflow-wrap: anywhere; }
.tmhr-nds .tmhr-nds-note { margin: 20px 0 0; color: #cbd5e1; font-size: 13px; }
@media (max-width: 600px) { .tmhr-nds .tmhr-nds-fields { grid-template-columns: 1fr; } .tmhr-nds .tmhr-nds-actions > * { width: 100%; } }
