/* Scoped module styles: no changes to the other professional sections. */
#experiments-view.active { padding: 26px 28px 42px; background: #f6f9f7; }
.ex-page { max-width: 1540px; margin: auto; color: #193e35; font-size: 16px; line-height: 1.5; }
.ex-page *, .ex-modal * { box-sizing: border-box; }
.experiment-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 0 0 24px; }
.experiment-header h2 { font-size: clamp(27px,3vw,38px); color: #103f34; margin: 4px 0; line-height: 1.15; letter-spacing: -.035em; }
.experiment-header p { margin: 8px 0 0; color: #6e827a; }
.ex-eyebrow, .experiment-header .ex-eyebrow { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #347f66; margin: 0 0 6px; }
.experiment-header-actions,.ex-actions,.ex-section-title,.ex-selectors { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
body.has-global-context-toolbar .experiment-header .experiment-header-actions { display: none; }
.ex-btn { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 43px; padding: 9px 15px; border: 1px solid #1b715b; border-radius: 10px; background: #1b715b; color: #fff; font: inherit; font-size: 15px; font-weight: 650; text-decoration: none; cursor: pointer; line-height: 1.4; }
.ex-btn:hover { filter: brightness(.95); }
.ex-btn:disabled { opacity: .55; cursor: wait; }
.ex-btn.is-secondary { background: #fff; border-color: #c4d8cf; color: #235b4b; }
.ex-btn:focus-visible,.ex-page select:focus-visible,.ex-modal input:focus-visible,.ex-modal textarea:focus-visible,.ex-modal select:focus-visible { outline: 3px solid #81b9a2; outline-offset: 2px; }
.ex-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 22px; }
.ex-kpis article { background: #fff; border: 1px solid #dce7e1; border-radius: 15px; padding: 19px; box-shadow: 0 3px 14px #193e3505; min-width: 0; }
.ex-kpis span,.ex-kpis strong,.ex-kpis small { display: block; }
.ex-kpis span { font-size: 14px; color: #627a70; }
.ex-kpis strong { font-size: 29px; line-height: 1.3; color: #133f33; margin: 5px 0; }
.ex-kpis small { font-size: 13px; line-height: 1.5; color: #7a8c83; }
.ex-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.ex-columns { display: grid; grid-template-columns: 1.15fr 1fr; gap: 20px; }
.ex-card { background: #fff; border: 1px solid #d9e5df; border-radius: 18px; padding: 24px; min-width: 0; box-shadow: 0 4px 18px #143e3206; }
.ex-card h3 { font-size: 21px; margin: 0 0 12px; line-height: 1.3; color: #163f33; }
.ex-card h4 { font-size: 17px; margin: 18px 0 6px; }
.ex-card p { margin: 8px 0 16px; }
.ex-meta { font-size: 14px; line-height: 1.6; color: #6d8178; margin: 10px 0 17px; }
.ex-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.ex-badge { display: inline-flex; font-size: 12px; font-weight: 750; color: #2a755a; border-radius: 30px; background: #eaf5ee; padding: 5px 10px; margin-bottom: 10px; }
.ex-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 20px; padding-bottom: 17px; border-bottom: 1px solid #dce7e1; }
.ex-tabs .ex-btn { font-size: 14px; }
.ex-section-title { justify-content: space-between; margin-bottom: 20px; }
.ex-section-title h3,.ex-section-title p { margin: 0; }
.ex-treatment { padding: 14px 0; border-top: 1px solid #e3ebe6; }
.ex-treatment p { margin: 5px 0; color: #6d8178; }
.ex-treatment small { font-size: 13px; color: #6d8178; }
.ex-note { border-left: 3px solid #91baa7; border-radius: 0 10px 10px 0; background: #edf4ef; color: #4a6a5d; font-size: 14px; line-height: 1.65; padding: 16px 19px; margin-top: 20px; }
.ex-empty { padding: 48px 24px; border: 1px dashed #c8dcd1; border-radius: 14px; text-align: center; color: #6e8579; background: #fbfdfb; }
.ex-empty .ex-btn { margin-top: 15px; }
.ex-tank { display: flex; gap: 19px; align-items: center; padding: 22px; border: 1px solid #d9e5df; border-radius: 15px; background: #fbfdfc; min-width: 0; }
.ex-tank > div:last-child { min-width: 0; }
.ex-tank-drawing { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; padding: 15px; width: 86px; min-height: 116px; flex-shrink: 0; background: linear-gradient(140deg,#85d6df,#4eacc5); border: 5px solid #33738a; border-radius: 21px; box-shadow: inset 0 0 0 4px #ffffff50; }
.ex-tank-drawing i { display: block; width: 15px; height: 15px; margin: auto; background: #27724d; border: 3px solid #e3f2df; border-radius: 4px; }
.ex-selectors { align-items: flex-end; margin-bottom: 18px; }
.ex-selectors label,.ex-chart-select { display: grid; gap: 5px; font-size: 14px; color: #5e776c; min-width: 210px; max-width: 100%; }
.ex-selectors select,.ex-chart-select select { font: inherit; color: #254e3e; padding: 10px 13px; border: 1px solid #c9dbd1; border-radius: 9px; background: #fff; width: 100%; }
.ex-actions { margin: 0 0 18px; }
.ex-chart-select { max-width: 330px; }
.ex-chart { display: block; width: 100%; height: auto; margin: 15px 0 20px; }
.ex-chart text { fill: #7b9085; font: 14px sans-serif; }
.ex-table-scroll { overflow: auto; max-width: 100%; border: 1px solid #e1e9e4; border-radius: 12px; overscroll-behavior-inline: contain; }
.ex-table-scroll table { border-collapse: collapse; width: 100%; font-size: 14px; }
.ex-table-scroll th { text-align: left; padding: 12px 15px; background: #f1f6f3; color: #426052; font-weight: 700; white-space: nowrap; }
.ex-table-scroll td { padding: 12px 15px; border-top: 1px solid #e4ece7; vertical-align: top; min-width: 100px; max-width: 300px; overflow-wrap: anywhere; }
.ex-table-scroll tbody tr:hover { background: #fbfdfb; }
.ex-pots { display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0; }
.ex-pot { display: grid; gap: 4px; min-width: 95px; padding: 12px; background: #f1f4f2; border: 1px solid #dbe5df; border-radius: 10px; }
.ex-pot small { font-size: 12px; color: #728379; }
.ex-pot.is-alive { background: #e9f5ec; border-color: #add2b7; }
.ex-pot.is-dead { background: #fbeeed; border-color: #e5b9b5; }
.ex-pot.is-removed { background: #f5f1e7; border-color: #dcd0ae; }
.ex-followup { padding: 18px; border: 1px solid #dae6de; border-radius: 12px; background: #fcfefd; min-width: 0; }
.ex-followup h4 { margin-top: 0; }
.ex-photos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 14px 0; }
.ex-photos button { border: 1px solid #dce6df; border-radius: 10px; padding: 0; overflow: hidden; background: #fff; color: #446b55; cursor: pointer; }
.ex-photos img { width: 100%; height: 170px; object-fit: cover; display: block; }
.ex-photos span { display: block; padding: 6px; font-size: 13px; }
.ex-spacing { margin-top: 20px; }
.ex-overlay { position: fixed; inset: 0; z-index: 2100; background: #092e24ad; backdrop-filter: blur(3px); display: grid; place-items: center; padding: 22px; overflow-y: auto; }
.ex-modal { width: min(950px,100%); max-height: calc(100dvh - 44px); overflow: auto; border-radius: 20px; background: #fff; box-shadow: 0 25px 90px #001b2250; color: #1c4736; font: 16px/1.5 Inter,system-ui,sans-serif; }
.ex-modal > header { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; padding: 23px 26px; border-bottom: 1px solid #dce7df; background: #f5faf6; }
.ex-modal h3 { margin: 0; font-size: 26px; }
.ex-modal h4 { margin: 10px 0 0; font-size: 19px; border-bottom: 1px solid #dce7df; padding-bottom: 12px; }
.ex-modal form { padding: 22px 26px; }
.ex-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ex-form-grid > label { display: grid; gap: 6px; font-size: 14px; font-weight: 650; align-content: start; }
.ex-form-grid input,.ex-form-grid select,.ex-form-grid textarea { min-width: 0; width: 100%; border: 1px solid #c4d8ca; border-radius: 9px; background: #fff; color: #284e39; padding: 10px 12px; font: inherit; font-weight: 400; font-size: 16px; min-height: 43px; }
.ex-form-grid textarea { resize: vertical; }
.ex-full { grid-column: 1 / -1; }
.ex-modal footer { display: flex; justify-content: flex-end; gap: 10px; padding-top: 19px; border-top: 1px solid #e1e9e4; margin-top: 20px; }
.ex-form-error { color: #ae392d; font-size: 15px; }
.ex-photo-controls { display: flex; flex-wrap: wrap; gap: 12px; }
.ex-photo-controls label { position: relative; overflow: hidden; }
.ex-photo-controls input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ex-photo-full { max-height: 65vh; width: 100%; object-fit: contain; }
.ex-primary-actions { padding: 18px; background: #eaf4ee; border: 1px solid #cfdfd5; border-radius: 16px; }
.ex-rounds { display: grid; gap: 14px; }
.ex-round { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px; border: 1px solid #dce7e0; border-radius: 14px; }
.ex-round > div { min-width: 0; overflow-wrap: anywhere; }
.ex-round h4,.ex-round p { margin: 4px 0 8px; }
.ex-round .ex-btn { flex-shrink: 0; }
.ex-simple-modal { width: min(1100px,100%); }
.ex-param-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ex-param-options label,.ex-tank-check { display: flex!important; gap: 12px; align-items: flex-start; padding: 13px; background: #f3f8f5; border-radius: 10px; }
.ex-param-options input[type=checkbox],.ex-tank-check input[type=checkbox] { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; accent-color: #1b715b; margin: 3px 0; }
.ex-param-options small,.ex-tank-check small { display: block; font-weight: 400; color: #6d8276; margin-top: 3px; }
.ex-group-row,.ex-record-row,.ex-custom-row,.ex-override-row { margin: 16px 0; padding: 20px; border: 1px solid #d6e4db; border-radius: 14px; background: #fcfefd; }
.ex-record-row .ex-tank-check { font-size: 17px; background: #eaf4ee; }
.ex-record-row:has([data-include]:not(:checked)) { opacity: .65; }
.ex-record-row:has([data-include]:not(:checked)) > :not(.ex-tank-check) { display: none; }
.ex-simple-modal .ex-photo-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ex-simple-modal .ex-photo-controls .ex-btn { min-width: 0; white-space: normal; overflow-wrap: normal; text-align: center; }
.ex-simple-modal label,.ex-simple-modal p { overflow-wrap: anywhere; }
@media(max-width:760px) {
  .ex-param-options,.ex-simple-modal .ex-photo-controls { grid-template-columns: minmax(0,1fr); }
  .ex-group-row,.ex-record-row,.ex-custom-row,.ex-override-row { padding: 14px; }
  .ex-round { flex-direction: column; align-items: stretch; }
}
@media(max-width:1100px) { .ex-grid,.ex-columns { grid-template-columns: minmax(0,1fr); }.ex-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
  #experiments-view.active { padding: 18px 14px 30px; }
  .experiment-header { display: block; }.experiment-header h2 { font-size: 27px; }
  .ex-card { padding: 18px; }.ex-kpis { gap: 10px; }.ex-kpis article { padding: 14px; }.ex-kpis strong { font-size: 25px; }
  .ex-section-title { align-items: stretch; flex-direction: column; }
  .ex-selectors { display: grid; grid-template-columns: minmax(0,1fr); }.ex-selectors label { min-width: 0; }
  .ex-actions { display: grid; grid-template-columns: minmax(0,1fr); }
  .ex-tank { padding: 16px; gap: 13px; }.ex-tank .ex-btn { width: 100%; margin-bottom: 6px; }
  .ex-tank-drawing { width: 72px; padding: 9px; }
  .ex-overlay { padding: 10px; }.ex-modal { max-height: calc(100dvh - 20px); border-radius: 15px; }
  .ex-modal > header,.ex-modal form { padding: 18px; }.ex-modal h3 { font-size: 23px; }
  .ex-form-grid { grid-template-columns: minmax(0,1fr); }.ex-full { grid-column: auto; }
  .ex-modal footer,.ex-photo-controls { flex-direction: column; }
  .ex-tabs .ex-btn { flex: 1 1 auto; font-size: 13px; padding: 8px 11px; }
  .ex-chart { min-height: 155px; }
}
