.tool-shell{display:grid;gap:1.25rem}.tool-panel{background:#fff;border:1px solid rgba(16,24,32,.14);border-radius:16px;padding:1.2rem}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.tool-field{display:grid;gap:.32rem}.tool-field label{font-weight:800}.tool-field small,.tool-muted{color:#657078;font-size:.86rem;line-height:1.4}.tool-field input,.tool-field select,.tool-field textarea{width:100%;padding:.7rem .75rem;border:1px solid rgba(16,24,32,.22);border-radius:9px;background:#fff;font:inherit}.tool-field textarea{min-height:92px;resize:vertical}.tool-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.tool-kpi{padding:1rem;border-radius:13px;background:#f7f4eb;border-left:4px solid #d4ab56}.tool-kpi span{display:block;color:#657078;font-size:.8rem;font-weight:750}.tool-kpi strong{display:block;margin-top:.15rem;color:#101820;font-size:clamp(1.2rem,3vw,1.75rem)}.tool-alert{padding:.85rem 1rem;border-radius:12px;background:#f3f5f6;color:#45515b}.tool-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:0;border-radius:9px;padding:.68rem .9rem;font:inherit;font-weight:850;cursor:pointer;background:#101820;color:#fff}.tool-btn.secondary{background:#f0e4c8;color:#101820}.tool-btn.ghost{background:#f3f5f6;color:#34404a}.tool-table-wrap{overflow:auto;border:1px solid rgba(16,24,32,.12);border-radius:12px}.tool-table{width:100%;min-width:900px;border-collapse:collapse;background:#fff}.tool-table th,.tool-table td{padding:.55rem;border-bottom:1px solid rgba(16,24,32,.1);vertical-align:top;text-align:left}.tool-table th{position:sticky;top:0;background:#101820;color:#fff;font-size:.82rem}.tool-table input,.tool-table select,.tool-table textarea{width:100%;min-width:105px;border:1px solid rgba(16,24,32,.18);border-radius:7px;padding:.48rem;font:inherit;background:#fff}.tool-table textarea{min-height:64px;resize:vertical}.tool-table .compact{min-width:76px}.tool-result-note{margin-top:.85rem;padding:.9rem 1rem;border-radius:12px;background:#fff6e5;border:1px solid #ead19a}.tool-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1rem;align-items:start}.tool-status{font-size:.85rem;color:#657078}.tool-section-title{margin:0 0 .75rem}.tool-privacy{display:flex;gap:.55rem;align-items:flex-start;padding:.85rem 1rem;border-radius:12px;background:#f3f5f6}.tool-privacy strong{display:block}.tool-prompt{border-left:4px solid #d4ab56;padding:.2rem 0 .2rem .9rem;color:#34404a}.tool-empty{padding:1rem;color:#657078;text-align:center}.tool-danger{color:#a4372a;font-weight:800}@media(max-width:850px){.tool-grid,.tool-split{grid-template-columns:1fr}.tool-kpis{grid-template-columns:1fr}}

/* Browser-audit guard: wide tool content must scroll inside its panel, never widen the page. */
.tool-shell,.tool-panel,.tool-split,.tool-split>*{min-width:0}
.tool-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Legacy standalone simulators use local .panel/.fields/.scenario classes instead of .tool-panel.
   Keep their intrinsic table/input widths from widening the mobile viewport. */
.decum *,.indiv-tool *{box-sizing:border-box}
.decum .shell,.decum .grid,.decum .panel,.decum .fields,.decum .results,.decum .scenario,
.indiv-tool .tool-shell,.indiv-tool .tool-grid,.indiv-tool .panel,.indiv-tool .fields,.indiv-tool .results,.indiv-tool .scenario{min-width:0;max-width:100%}
.decum .panel,.indiv-tool .panel{overflow:hidden}
.decum .scenario>div[style*="overflow"],.indiv-tool .scenario>div[style*="overflow"]{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
.decum table,.indiv-tool table{min-width:620px}
@media(max-width:850px){.decum .shell,.indiv-tool .tool-shell{width:100%;max-width:100%;padding-left:12px!important;padding-right:12px!important}.decum .panel,.indiv-tool .panel{width:100%;max-width:100%;padding:1rem!important}.decum input,.indiv-tool input{min-width:0;max-width:100%}}
