[hidden] { display: none !important; }
.simulator-card { display: block; padding: clamp(1rem, 3vw, 2rem); }
.brand-title { margin: 0 0 .5rem; letter-spacing: 0; }
.eyebrow { color: #416b4b; text-transform: uppercase; font-weight: 700; font-size: .8rem; margin: 0 0 .4rem; }
.sim-heading, .section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.sim-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); gap: 1rem; }
.sim-panel { padding: 1.1rem; border: 1px solid #d6e1d8; border-radius: 12px; min-width: 0; background: #fff; }
.sim-panel h2 { font-size: 1.05rem; font-weight: 700; margin: 0 0 1rem; }
label { display: grid; gap: .3rem; font-size: .9rem; font-weight: 600; min-width: 0; }
.select-field { display: grid; gap: .3rem; min-width: 0; }
.login-grid { display: grid; gap: 1rem; max-width: 540px; }
.sim-notice { background: #fff2d4; border: 1px solid #d6b16c; border-radius: 10px; padding: 1rem; margin: 1rem 0; overflow-wrap: anywhere; }
.environment { color: #54645a; font-size: .8rem; overflow-wrap: anywhere; border-bottom: 1px solid #d6e1d8; padding-bottom: 1rem; }
.account-chip { display: inline-block; background: #edf3ee; color: #31563b; border-radius: 20px; padding: .4rem .75rem; font-size: .8rem; }
.band-form, .add-form, .scenario-form { display: flex; align-items: end; gap: .6rem; flex-wrap: wrap; }
.band-form > label, .add-form > .select-field, .scenario-form > label, .scenario-form > .select-field { flex: 1 1 130px; }
.session-info { background: #f3f6f2; border-radius: 8px; margin: .9rem 0; padding: .8rem; white-space: pre-line; overflow-wrap: anywhere; }
.timing { display: grid; gap: .7rem; margin-top: 1rem; }
.text-button { border: 0; background: none; color: #375e40; text-decoration: underline; font-size: .85rem; padding: .5rem 0; text-align: left; }
.hint { color: #5c6b62; font-size: .8rem; margin: .8rem 0 0; }
.steps { list-style: none; padding: 0; margin: 1rem 0 .4rem; display: grid; gap: .6rem; }
.step { display: grid; grid-template-columns: 1fr 120px auto; align-items: center; gap: .65rem; padding: .7rem; background: #f3f6f2; border-radius: 8px; min-width: 0; }
.step-station { overflow-wrap: anywhere; }
.step-station small { display: block; color: #5c6b62; }
.step-actions { display: flex; gap: .3rem; }
.step-actions button { min-width: 32px; min-height: 36px; }
.empty-sequence { padding: 2rem 1rem; border: 1px dashed #c1d1c3; border-radius: 8px; text-align: center; color: #5c6b62; margin: 1rem 0; }
.upload-actions, .file-actions { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin-top: 1rem; }
.upload-actions .btn-dark { background: #315e3e; border-color: #315e3e; }
.result-panel, .scenarios-panel { margin-top: 1rem; }
.result-panel { background: #f3f6f2; }
#result-summary { margin-bottom: 0; white-space: pre-line; overflow-wrap: anywhere; }
details { margin-top: 1rem; }
summary { cursor: pointer; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; background: white; padding: .8rem; font-size: .8rem; margin-top: .5rem; max-height: 350px; overflow: auto; }
.scenario-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 1rem; }
.file-label { font-size: .8rem; }
.simulation-footer { text-align: center; padding: 1.5rem; color: #39533f; font-size: .8rem; }
fieldset { min-width: 0; }
@media (max-width: 900px) { .sim-grid, .scenario-grid { grid-template-columns: 1fr; } }
@media (max-width: 575px) {
  .step { grid-template-columns: 1fr 100px; }
  .step-actions { grid-column: 1 / -1; justify-content: end; }
  .site-actions { flex-wrap: wrap; }
  .upload-actions .btn { width: 100%; }
}
