/* =====================================================================
   BioTecFarm · mtt.css
   Estilos exclusivos do módulo POP 26 — Ensaio de MTT:
   abas internas, checklists, metodologia, placa de 96 poços,
   calculadoras e impressão do protocolo.
   ===================================================================== */

.tabs-wrap{max-width:1060px; margin:-34px auto 0; padding:0 24px; position:relative; z-index:5;}
.tabs{display:flex; background:#fff; border:1px solid var(--border); border-radius:8px;
        overflow:hidden; box-shadow:var(--shadow);}
.tab{position:relative; flex:1 1 0; min-width:96px; font-family:inherit; background:#fff; border:none;
       border-right:1px solid var(--border); border-radius:0; padding:13px 10px; cursor:pointer;
       text-align:center; transition:background .16s ease;}
.tab:last-child{border-right:none;}
.tab:hover{background:#F8FAFC;}
.tab .t-day{display:block; font-size:.79rem; font-weight:600; color:var(--ink); letter-spacing:-.005em;}
.tab .t-name{display:block; font-size:.65rem; color:var(--muted); margin-top:2px; font-weight:400;}
.tab .t-count{display:inline-block; font-size:.59rem; font-weight:600; margin-top:5px; padding:1px 6px;
                border-radius:3px; background:var(--bg); color:var(--muted); border:1px solid var(--border);
                font-variant-numeric:tabular-nums;}
.tab.active::after{content:""; position:absolute; left:14px; right:14px; bottom:0; height:3px; background:var(--primary);}
.tab.active .t-day{color:var(--primary);}
.tab.active .t-name{color:var(--muted);}
.tab.done:not(.active) .t-count{background:var(--ok-soft); color:var(--ok); border-color:#CFE5D9;}
.panel{display:none;}
.panel.active{display:block; animation:fade .2s ease;}
.progress-row{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.pct{font-size:.7rem; font-weight:600; color:var(--muted); min-width:72px; text-align:right; font-variant-numeric:tabular-nums;}
ul.check{list-style:none;}
ul.check li + li{border-top:1px solid var(--border);}
label.item{display:flex; gap:12px; align-items:flex-start; padding:12px 2px; cursor:pointer; transition:background .15s;}
label.item:hover{background:#FAFCFD;}
label.item input{appearance:none; -webkit-appearance:none; flex-shrink:0; width:17px; height:17px; margin-top:2px;
                   border:1.5px solid #C4CFD8; border-radius:3px; background:#fff; display:grid; place-content:center;
                   cursor:pointer; transition:all .15s;}
label.item input:checked{background:var(--primary); border-color:var(--primary);}
label.item input:checked::before{content:''; width:9px; height:9px; background:#fff;
                   clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);}
.item .txt{font-size:.88rem; line-height:1.55; font-weight:500;}
.item .note{display:block; font-size:.73rem; line-height:1.55; color:#768290; margin-top:3px; font-weight:400;}
.item.checked .txt{color:var(--muted); text-decoration:line-through; text-decoration-color:#C4CFD8;}
.txt a{color:var(--primary); font-weight:600; text-decoration:none; border-bottom:1px solid #B9CBDA;}
.txt a:hover{border-bottom-color:var(--primary);}
.stepnum{flex-shrink:0; width:24px; font-size:.72rem; font-weight:700; color:var(--primary);
           font-variant-numeric:tabular-nums; padding-top:2px; letter-spacing:.01em;}
.item.checked .stepnum{color:#9BA7B2;}
.progress-actions{display:flex; justify-content:flex-end; margin:-8px 0 14px;}
.day-reset-btn{appearance:none; -webkit-appearance:none; border:0; background:transparent; padding:4px 0;
                 font-family:inherit; font-size:.68rem; font-weight:500; color:#7B8587; cursor:pointer;
                 text-decoration:none; transition:color .15s ease, opacity .15s ease;}
.day-reset-btn:hover{color:#A24A4A;}
.day-reset-btn:focus-visible{outline:2px solid rgba(31,78,109,.22); outline-offset:3px;}
.card.collapsed .progress-actions{display:none;}
.allready{display:none; align-items:center; gap:9px; background:var(--ok-soft); border:1px solid #CFE5D9;
            color:#2C6349; border-radius:8px; padding:11px 15px; font-weight:600; font-size:.81rem; margin-bottom:14px;}
.allready.show{display:flex; animation:fade .2s ease;}
.allready svg{flex-shrink:0;}
details{margin-bottom:14px;}
details > summary{cursor:pointer; list-style:none; user-select:none;}
details > summary::-webkit-details-marker{display:none;}
summary .card{margin-bottom:0; display:flex; align-items:center; padding:16px 26px; transition:background .16s;}
summary .card h2{font-size:.9rem; font-weight:600;}
summary:hover .card{background:#FAFCFD;}
details[open] > summary .card{border-bottom-left-radius:0; border-bottom-right-radius:0; border-bottom:none;}
details[open] > .card:last-child{border-top-left-radius:0; border-top-right-radius:0; margin-top:0; animation:fade .2s ease;}
.chev{margin-left:auto; color:var(--muted); display:flex; transition:transform .2s ease;}
details[open] .chev{transform:rotate(180deg);}
.card.collapsible{position:relative;}
.collapse-btn{position:absolute; top:19px; right:20px; width:28px; height:28px; border:1px solid var(--border);
                border-radius:6px; background:#fff; color:var(--muted); display:grid; place-content:center;
                cursor:pointer; transition:all .16s ease;}
.collapse-btn:hover{color:var(--ink); border-color:#C4CFD8;}
.collapse-btn svg{transition:transform .2s ease;}
.card.collapsed .collapse-btn svg{transform:rotate(-90deg);}
.card.collapsed .progress-row, .card.collapsed ul.check{display:none;}
details.sub{margin:2px 0 10px 54px;}
details.sub > summary{display:inline-flex; align-items:center; gap:6px; font-size:.73rem; font-weight:600;
    color:var(--sepia); background:var(--sepia-soft); border:1px solid var(--sepia-border); border-radius:5px;
    padding:5px 11px; transition:background .16s ease;}
details.sub > summary::-webkit-details-marker{display:none;}
details.sub > summary:hover{background:#F5F0E7;}
details.sub > summary svg{transition:transform .22s ease; flex-shrink:0;}
details.sub[open] > summary svg{transform:rotate(180deg);}
.sub-body{padding:6px 2px 0; animation:fade .2s ease;}
.sub-h{font-size:.62rem; font-weight:700; color:var(--sepia); letter-spacing:.11em; text-transform:uppercase; margin:13px 0 0;}
.sub-ex{background:var(--sepia-soft); border:1px solid var(--sepia-border); border-radius:8px; padding:12px 14px;
          font-size:.76rem; color:#5E4C36; line-height:1.7; margin-top:12px;}
.sub-ex b{color:#4A3B29;}
.sub-fig{border:1px solid var(--border); border-radius:8px; padding:8px; margin:11px 0 2px; background:#fff;}
.sub-fig svg{display:block; width:100%; height:auto;}
ul.mini{list-style:none; margin:8px 0 2px;}
ul.mini li{display:flex; gap:9px; padding:6px 0; font-size:.8rem; color:#465563; line-height:1.6; border:none;}
ul.mini .mnum{flex-shrink:0; width:16px; text-align:right; font-size:.68rem; font-weight:700; color:#9C8465;
                padding-top:2px; font-variant-numeric:tabular-nums; background:none; border:none; border-radius:0;
                height:auto; display:block;}
.sub-img{display:block; max-width:100%; border:1px solid var(--border); border-radius:8px; margin:10px 0 2px;}
.sub-img.small{max-width:270px;}
.sub-img.wide{max-width:540px;}
.sub-caption{font-size:.71rem; color:var(--muted); margin-bottom:8px; line-height:1.6;}
.method-note{font-size:.75rem; color:var(--muted); line-height:1.65; padding:12px 4px 0;
               border-top:1px solid var(--border); margin-top:6px;}
.footnote{font-size:.74rem; color:var(--muted); line-height:1.65; padding:2px 4px 0;}
.flow{display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:10px; align-items:stretch;}
.flow-step{text-align:left; font-family:inherit; background:#fff; border:1px solid var(--border); border-radius:8px;
             padding:16px 16px 14px; cursor:pointer; transition:all .16s ease; display:flex; flex-direction:column; gap:5px;}
.flow-step:hover{border-color:var(--primary); background:#FBFDFE;}
.fs-num{font-size:.65rem; font-weight:700; letter-spacing:.13em; color:var(--primary);}
.fs-title{font-size:.92rem; font-weight:600; color:var(--ink);}
.fs-desc{font-size:.75rem; color:var(--muted); line-height:1.6; flex:1;}
.fs-go{font-size:.7rem; font-weight:600; color:var(--primary); margin-top:7px;}
.flow-arrow{align-self:center; color:#B9C6D0; font-size:.95rem;}
.tools{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.tool{border:1px solid var(--border); border-radius:8px; padding:16px;}
.tool h3{font-size:.88rem; font-weight:600; margin-bottom:5px;}
.tool p{font-size:.75rem; color:var(--muted); line-height:1.6; margin-bottom:12px;}
.start-row{margin-top:2px;}
.plate-tools{display:flex; gap:20px; flex-wrap:wrap; align-items:flex-start; margin-bottom:18px;
               padding-bottom:16px; border-bottom:1px solid var(--border);}
.groups{display:grid; grid-template-columns:1fr 1fr; gap:4px 20px; flex:1; min-width:290px;}
.grow{display:flex; align-items:center; gap:8px;}
.gsel{flex-shrink:0; width:19px; height:19px; border-radius:4px; border:1px solid rgba(23,33,43,.16);
        cursor:pointer; padding:0; transition:box-shadow .15s ease;}
.grow.sel .gsel{box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--primary);}
.grow.sel .gname{font-weight:600; color:var(--ink);}
.gname{flex:1; min-width:0; font-family:inherit; font-size:.76rem; color:#42505C; border:1px solid transparent;
         border-radius:5px; padding:4px 7px; background:transparent; transition:all .15s ease;}
.gname:hover{border-color:var(--border);}
.gname:focus{outline:none; border-color:var(--primary); background:#fff;}
.gcount{font-size:.68rem; color:var(--muted); font-variant-numeric:tabular-nums; min-width:20px; text-align:right;}
.plate-actions{display:flex; flex-direction:column; gap:7px; align-items:flex-start;}
.plate-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; padding:24px 22px 22px;
        background:linear-gradient(180deg,#F5F5F1 0%,#ECEEEA 100%);
        border:1px solid #D4D9D5; border-radius:12px;
        box-shadow:0 1px 2px rgba(25,35,32,.05), inset 0 1px 0 rgba(255,255,255,.85);}
.plate{display:grid; grid-template-columns:24px repeat(12, minmax(30px, 1fr)); gap:7px;
         min-width:560px; align-items:center;}
.pcol, .prow{font-size:.62rem; color:#68716F; font-weight:600; text-align:center;
               font-variant-numeric:tabular-nums; user-select:none;}
.well{position:relative; aspect-ratio:1/1; border-radius:50%; border:1px solid #BFC6C2; background:#FAFAF7;
        cursor:pointer; font-family:inherit; font-size:.57rem; font-weight:600; color:rgba(255,255,255,.94);
        display:grid; place-content:center; padding:0;
        box-shadow:inset 0 2px 3px rgba(39,49,45,.12), inset 0 -1px 1px rgba(255,255,255,.95), 0 1px 0 rgba(255,255,255,.8);
        transition:background-color .24s ease, border-color .20s ease, box-shadow .20s ease,
                   transform .14s cubic-bezier(.2,.7,.3,1), opacity .18s ease;}
.well::after{content:""; position:absolute; inset:3px; border-radius:50%;
               border:1px solid rgba(255,255,255,.35); pointer-events:none; opacity:.7; transition:opacity .2s ease;}
.well:hover{transform:translateY(-1px); border-color:#78909A;
        box-shadow:inset 0 2px 3px rgba(39,49,45,.10), inset 0 -1px 1px rgba(255,255,255,.9),
                   0 0 0 3px rgba(31,78,109,.07); z-index:2;}
.well:active{transform:scale(.92); box-shadow:inset 0 3px 5px rgba(30,40,36,.18);}
.well.g1{background:#397B5D; border-color:#30684F;}
.well.g2{background:#9A702F; border-color:#80602B;}
.well.g3{background:#315979; border-color:#26465F;}
.well.g4{background:#6286A3; border-color:#526F87;}
.well.g5{background:#A5BBCB; border-color:#879EAF; color:#30424D;}
.well.g6{background:#737D84; border-color:#606970;}
.well.g1, .well.g2, .well.g3, .well.g4, .well.g5, .well.g6{
        box-shadow:inset 0 2px 4px rgba(20,30,30,.15), inset 0 -1px 1px rgba(255,255,255,.25);}
@keyframes wellFill{
    0%{transform:scale(.82); opacity:.45;}
    55%{transform:scale(1.07); opacity:1;}
    78%{transform:scale(.98);}
    100%{transform:scale(1); opacity:1;}
  }
.well.well-pop{animation:wellFill .26s cubic-bezier(.22,.72,.3,1);}
@media (prefers-reduced-motion: reduce){
.well{transition:none;}
.well.well-pop{animation:none;}
}
.gsel.g1-sw{background:#397B5D;}
.gsel.g2-sw{background:#9A702F;}
.gsel.g3-sw{background:#315979;}
.gsel.g4-sw{background:#6286A3;}
.gsel.g5-sw{background:#A5BBCB;}
.gsel.g6-sw{background:#737D84;}
.gsel.g0-sw{background:#fff;}
.plate-foot{font-size:.72rem; color:var(--muted); line-height:1.65; margin-top:6px;}
.calc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.quad{background:#FBFCFD; border:1px solid var(--border); border-radius:8px; padding:12px; text-align:center;
        transition:border-color .15s ease;}
.quad:focus-within{border-color:var(--primary);}
.quad label{display:block; font-size:.59rem; color:var(--muted); font-weight:700; margin-bottom:7px; letter-spacing:.09em;}
.quad input{width:100%; border:1px solid var(--border); border-radius:6px; padding:9px 6px; font-size:1.02rem;
              font-weight:600; text-align:center; font-family:inherit; background:#fff; color:var(--ink);
              font-variant-numeric:tabular-nums;}
.quad input:focus{outline:none; border-color:var(--primary);}
.params{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px;}
.param{background:#FBFCFD; border:1px solid var(--border); border-radius:8px; padding:12px 14px; transition:border-color .15s ease;}
.param:focus-within{border-color:var(--primary);}
.param label{display:block; font-size:.62rem; color:var(--muted); font-weight:700; margin-bottom:6px; letter-spacing:.09em;}
.param input, .param select{width:100%; border:1px solid var(--border); border-radius:6px; padding:8px 10px;
              font-size:.88rem; font-weight:600; font-family:inherit; background:#fff; color:var(--ink);}
.param input:focus, .param select:focus{outline:none; border-color:var(--primary);}
.param .p-note{font-size:.67rem; color:var(--muted); margin-top:5px; display:block; line-height:1.5; font-weight:400;}
.sci-row{display:flex; align-items:center; gap:7px;}
.sci-row .x10{font-size:.81rem; color:var(--muted); white-space:nowrap; font-weight:600;}
.sci-row select{width:auto; flex:0 0 auto; min-width:92px;}
.sci-row input{min-width:0;}
.result{border:1px solid var(--border); border-radius:8px; padding:15px 18px; margin-bottom:10px; background:#fff;}
.result .r-label{font-size:.61rem; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.11em;}
.result .r-value{font-size:1.2rem; font-weight:700; margin:5px 0 3px; letter-spacing:-.015em; font-variant-numeric:tabular-nums;}
.result .r-value .r-sub{font-size:.76rem; font-weight:500; color:var(--muted);}
.result .r-formula{font-size:.73rem; color:#3D4C59; font-family:"IBM Plex Mono","SF Mono",Consolas,monospace;
                     background:#F4F7F9; border:1px solid #E7ECF1; border-radius:5px; padding:7px 10px; margin:8px 0;
                     overflow-x:auto; white-space:nowrap;}
.result .r-explain{font-size:.76rem; color:var(--muted); line-height:1.65;}
.result.hl{border-left:3px solid var(--primary);}
.result.hl .r-value{color:var(--primary);}
.recipe{background:var(--hero); color:#fff; border-radius:var(--radius); padding:22px 24px; margin-top:14px;}
.recipe h3{font-size:.87rem; font-weight:600; margin-bottom:12px; letter-spacing:.01em;}
.recipe .rec-row{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:9px 0;
                   border-bottom:1px solid rgba(255,255,255,.14); font-size:.81rem;}
.recipe .rec-row:last-of-type{border-bottom:none;}
.recipe .rec-row span{color:rgba(255,255,255,.7);}
.recipe .rec-row strong{font-size:.94rem; font-weight:600; font-variant-numeric:tabular-nums;}
.recipe .rec-note{font-size:.71rem; color:rgba(255,255,255,.62); margin-top:11px; line-height:1.6;}
.calc-warn{display:none; border:1px solid #EBCFCF; border-left:3px solid var(--danger); background:var(--danger-soft);
             color:#8E3636; border-radius:8px; padding:12px 16px; font-size:.78rem; margin-bottom:12px; line-height:1.65;}
.calc-warn.show{display:block;}
.calc-empty{text-align:center; color:var(--muted); font-size:.81rem; padding:30px 10px; line-height:1.7;}
@media (max-width:860px){
.tabs{overflow-x:auto; -webkit-overflow-scrolling:touch;}
.tab{flex:0 0 auto; min-width:118px;}
.flow{grid-template-columns:1fr;}
.flow-arrow{display:none;}
}
@media (max-width:700px){
.tools{grid-template-columns:1fr;}
.params{grid-template-columns:1fr;}
.calc-grid{grid-template-columns:repeat(2,1fr);}
.groups{grid-template-columns:1fr;}
summary .card{padding:15px 18px;}
details.sub{margin-left:30px;}
.tabs-wrap{padding-left:16px; padding-right:16px;}
}
@media print{
.tabs-wrap, .plate-tools, .start-row, .collapse-btn, .calc-empty, .flow-step .fs-go, .tool .lbtn, .progress-actions{display:none !important;}
.panel{display:block !important; page-break-before:always;}
.panel[data-day="0"]{page-break-before:avoid;}
details:not([open]) > *:not(summary){display:revert !important;}
details.sub{margin-left:24px;}
.recipe{background:#fff !important; color:var(--ink) !important; border:1px solid var(--border);}
.recipe .rec-row span, .recipe .rec-note{color:var(--muted) !important;}
.recipe .rec-row{border-bottom-color:var(--border) !important;}
.well{print-color-adjust:exact; -webkit-print-color-adjust:exact;}
.flow-step{border-color:var(--border) !important;}
}

/* ===== Navegação direta entre ferramentas ===== */
.tab-with-icon{display:inline-flex !important; align-items:center; justify-content:center; gap:5px;}
.tab-label-icon{width:14px; height:14px; stroke:currentColor; stroke-width:1.7; fill:none; stroke-linecap:round; stroke-linejoin:round;}
.module-title-row{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:1px;}
.module-jump{font-size:.7rem; font-weight:600; color:var(--blue-600); text-decoration:none; white-space:nowrap;
             border-bottom:1px solid transparent; transition:color .15s ease, border-color .15s ease;}
.module-jump:hover{color:var(--blue-800); border-bottom-color:var(--blue-300);}
.module-jump:focus-visible{outline:2px solid rgba(31,78,109,.22); outline-offset:3px;}
@media(max-width:620px){
  .module-title-row{align-items:flex-start; flex-direction:column; gap:5px;}
}


/* ===== V9 · placa mais compacta e grupos melhor organizados ===== */
.groups{align-content:start;}
.groups-label{grid-column:1/-1;font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--primary);padding:2px 0 2px;border-top:1px solid #EDF1F4;margin-top:4px;}
.groups-label:first-child{border-top:0;margin-top:0;}
.groups-label.treatments{color:#355978;}
.groups-label.misc{color:#6A7680;}
.plate-tools{gap:16px;align-items:flex-start;}
.plate-scroll{padding:18px 16px 16px;}
.plate{grid-template-columns:22px repeat(12, 34px);gap:6px;width:max-content;min-width:0;margin:0 auto;}
.pcol,.prow{font-size:.6rem;}
.well{font-size:.54rem;}
.well.g1{background:#3E7E63;border-color:#32674F;}
.well.g2{background:#A1793A;border-color:#87642F;}
.well.g3{background:#2E587A;border-color:#24445E;}
.well.g4{background:#5F8290;border-color:#4C6A76;}
.well.g5{background:#8E7AA6;border-color:#726088;color:#fff;}
.well.g6{background:#C9D1D8;border-color:#A9B4BD;color:#40505B;}
.gsel.g1-sw{background:#3E7E63;}
.gsel.g2-sw{background:#A1793A;}
.gsel.g3-sw{background:#2E587A;}
.gsel.g4-sw{background:#5F8290;}
.gsel.g5-sw{background:#8E7AA6;}
.gsel.g6-sw{background:#C9D1D8;}
@media(max-width:700px){.plate{grid-template-columns:18px repeat(12, 28px);gap:5px;}.plate-scroll{padding:14px 10px 12px;}.groups-label{font-size:.58rem;}}


/* ===== V11 · placa 96 poços ampliada para ocupar melhor o quadro ===== */
.plate-scroll{
  padding:22px 20px 20px;
  overflow-x:auto;
}
.plate{
  width:min(100%, 920px);
  max-width:920px;
  min-width:760px;
  margin:0 auto;
  grid-template-columns:28px repeat(12,minmax(48px,1fr));
  gap:8px;
  align-items:center;
}
.pcol,.prow{
  font-size:.64rem;
}
.well{
  font-size:.58rem;
}
@media(max-width:980px){
  .plate{width:100%;max-width:none;min-width:700px;grid-template-columns:26px repeat(12,minmax(44px,1fr));gap:7px;}
}
@media(max-width:700px){
  .plate-scroll{padding:14px 10px 12px;}
  .plate{min-width:650px;grid-template-columns:24px repeat(12,minmax(40px,1fr));gap:6px;}
  .pcol,.prow{font-size:.6rem;}
  .well{font-size:.55rem;}
}
