@import url("../shared/ep-como-usar.css");
:root{--ink:#0e1916;--muted:#687872;--line:#d7e2de;--panel:#fff;--paper:#f6f9f8;--green:#07835f;--green-deep:#0c3327;--mint:#e9f7f1;--red:#e5484d;--blue:#2d6ece;--sand:#d1a16e;--clay:#b77d57}*{box-sizing:border-box}body{margin:0;background:#edf3f1;color:var(--ink);font-family:var(--ep-fonte);font-weight:300}.app-shell{min-width:1120px}.topbar{height:92px;background:#fff;display:flex;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);gap:36px}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:14px;min-width:430px}/* O simbolo EP em SVG. O azulejo com "EP" escrito saiu daqui; o porque
   esta em app/components/marca.tsx. */
.brand-mark {
  display: block;
  width: auto;
  height: 38px;
  background: none;
  border-radius: 0;
}.brand strong{display:block;font-size:20px;font-weight:650;letter-spacing:-.4px}.brand small,.project-identity span,.property-heading>span,.canvas-heading span,.output-strip span,.panel-heading span{display:block;color:var(--green);font-weight:700;font-size:10px;letter-spacing:1.45px;margin-top:4px}.project-identity{border-left:1px solid var(--line);padding-left:25px;min-width:205px}.project-identity strong{font-size:16px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.save-state{font-size:10px;color:var(--muted);margin-right:6px}.top-button,.ribbon-button,.secondary-button,.optimize-button,.primary-button{height:42px;border:1px solid #b8cac3;background:#fff;border-radius:11px;padding:0 15px;font:600 13px inherit;color:var(--ink);cursor:pointer;white-space:nowrap}.file-button{display:flex;align-items:center}.file-button input{display:none}.primary-button{background:var(--green);border-color:var(--green);color:#fff}.danger-button{border-color:#efc2c4;color:#b13c40}.ribbon{height:58px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:15px;padding:0 28px;font-size:12px;color:var(--muted)}.ribbon>div{display:flex;gap:9px}.workspace{display:grid;grid-template-columns:312px minmax(0,1fr);min-height:calc(100vh - 184px)}.input-panel{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.property-heading{padding:25px 20px 18px;border-bottom:1px solid var(--line)}.property-heading h2{margin:7px 0;font-size:23px;font-weight:650;letter-spacing:-.4px}.property-heading p{color:var(--muted);font-size:13px;line-height:1.45;margin:0}.model-flow{height:57px;display:flex;gap:8px;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.model-flow button{border:0;background:transparent;color:#687872;font:600 11px inherit;cursor:pointer}.model-flow i{font-style:normal;color:#9cacA5}.tool-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:13px;border-bottom:1px solid var(--line)}.tool-button{background:#fff;border:1px solid transparent;border-radius:10px;height:70px;color:#6a7872;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:600 11px inherit;cursor:pointer}.tool-button b{font-size:22px;font-weight:400}.tool-button.active{background:var(--mint);border-color:#8edcc4;color:var(--green)}.property-content{overflow:auto;padding:18px 20px;min-height:370px}.property-content h3{font-size:18px;margin:0 0 15px;font-weight:650}.property-content .note{font-size:12px;line-height:1.4;color:var(--muted);border:1px dashed #bed1ca;border-radius:9px;padding:10px;margin:0 0 13px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-grid.one{grid-template-columns:1fr}.field{display:block;font-size:11px;font-weight:650;color:#41514b;margin-bottom:11px}.field input,.field select{display:block;width:100%;height:39px;border:1px solid #c7d8d1;border-radius:9px;background:#fff;color:#26352f;font:400 14px inherit;margin-top:6px;padding:0 10px}.field small{float:right;color:#718079;font-size:10px;font-weight:500}.inline-button{border:1px solid #b8cac3;background:#fff;border-radius:8px;color:var(--green);font:600 12px inherit;padding:7px 10px;cursor:pointer}.spt-edit-row{padding:10px 0;border-bottom:1px solid #e4ece9}.spt-edit-row strong{font-size:12px}.spt-edit-row .field-grid{margin-top:8px}.property-legend{padding:18px 20px;margin-top:auto;border-top:1px solid var(--line);font-size:12px;line-height:1.45;color:var(--muted)}.property-legend strong{display:block;color:#26352f;margin-bottom:4px}.property-legend p{margin:0}.canvas-column{min-width:0;padding:10px 12px 0}.drawing-stage,.output-strip,.results-dock{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.canvas-heading{height:111px;padding:20px 26px;display:flex;align-items:flex-start;justify-content:space-between}.canvas-heading h1{margin:7px 0 3px;font-size:28px;letter-spacing:-.65px;font-weight:650}.canvas-heading p{margin:0;color:var(--muted);font-size:13px}.calculation-state{margin-top:12px;border-radius:999px;background:var(--mint);color:var(--green);font-size:11px;font-weight:700;letter-spacing:1px;padding:9px 13px}.calculation-state.review{background:#fff1f1;color:#b53b40}.canvas-surface{height:385px;position:relative;border-top:1px solid var(--line);overflow:hidden;background-color:#fbfdfc;background-image:radial-gradient(#dce8e4 1.2px,transparent 1.2px);background-size:40px 40px}.canvas-surface:not(.grid-on){background-image:none}.canvas-surface svg{width:100%;height:100%;display:block}.canvas-mode{position:absolute;left:18px;top:16px;padding:10px 12px;border:1px solid #a8dfcd;border-radius:9px;background:#edf9f4;color:#5c756c;font-size:12px}.canvas-mode strong{display:block;color:var(--green);font-size:10px;letter-spacing:1px}.canvas-edit-controls,.canvas-controls,.canvas-legend{position:absolute;background:#fff;border:1px solid #d5e3de;border-radius:10px;box-shadow:0 3px 12px #1231 0}.canvas-edit-controls{left:18px;bottom:15px;display:flex;align-items:center}.canvas-edit-controls button,.canvas-controls button{border:0;background:#fff;padding:10px 11px;cursor:pointer;font:600 12px inherit}.toggle{padding:0 9px;font:600 11px inherit;color:#65746f}.toggle input{accent-color:var(--green);vertical-align:middle}.canvas-controls{right:18px;top:15px;display:flex;align-items:center;overflow:hidden}.canvas-controls output{padding:10px 13px;border-inline:1px solid #d5e3de;font-size:12px;color:#65746f}.canvas-legend{right:18px;bottom:15px;padding:9px 12px;display:flex;gap:13px;font-size:11px;color:#687872}.canvas-legend i{display:inline-block;width:16px;border-top:4px solid var(--ink);vertical-align:middle;margin-right:5px}.canvas-legend .legend-sand{border-color:var(--sand)}.canvas-legend .legend-clay{border-color:var(--clay)}.canvas-legend .legend-tip{border-color:var(--red)}.output-strip{margin-top:10px;min-height:74px;padding:13px 17px;display:flex;align-items:center;justify-content:space-between}.output-strip strong{font-size:13px}.output-actions{display:flex;gap:9px}.results-dock{margin-top:10px;border-radius:15px 15px 0 0}.dock-tabs{height:53px;display:flex;border-bottom:1px solid var(--line)}.dock-tab{padding:0 21px;border:0;border-right:1px solid var(--line);background:#fff;color:#66746f;font:600 12px inherit;cursor:pointer}.dock-tab.active{color:var(--green);border-top:4px solid #19ac82}.dock-toggle{margin-left:auto;border:0;background:#fff;width:48px;color:#67756f;font-size:18px;cursor:pointer}.dock-body{padding:22px}.results-dock.collapsed .dock-body{display:none}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-heading h2{font-size:23px;font-weight:650;margin:6px 0;letter-spacing:-.4px}.panel-heading p{font-size:13px;color:var(--muted);margin:0}.result-panel{display:none}.result-panel.active{display:block}.result-cards{display:grid;border-radius:14px;overflow:hidden;margin-bottom:18px}.four-cards{grid-template-columns:repeat(4,1fr)}.result-cards article{background:#0e1916;color:#fff;padding:19px 24px;border-right:1px solid #354139;min-height:113px}.result-cards article.featured{background:#0c3327}.result-cards span{display:block;color:#b6c9d1;font-size:11px;font-weight:700;letter-spacing:.9px;text-transform:uppercase}.result-cards strong{font-size:34px;font-weight:500;line-height:1.2;margin-top:10px;display:inline-block}.result-cards small{font-size:13px;margin-left:5px;color:#cbd7d2}.method-summary,.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.method-card{border:1px solid var(--line);border-top:4px solid var(--green);border-radius:12px;padding:16px;background:#fff}.method-card h3{font-size:17px;margin:0 0 8px;font-weight:650}.method-card p{margin:4px 0;color:#66766f;font-size:13px}.method-card strong{font-size:25px;color:var(--green);font-weight:500}.method-card.governing{background:#eff9f5}.verification-board{display:grid;gap:8px}.check-row{border:1px solid #dbe6e2;border-left:4px solid #20b182;border-radius:9px;padding:12px 14px;display:grid;grid-template-columns:1.3fr .8fr .8fr auto;gap:10px;align-items:center;font-size:12px}.check-row.review{border-left-color:var(--red);background:#fff8f8}.check-row strong{font-weight:650}.check-row span{color:var(--muted)}.check-row b{color:var(--green);font-size:12px}.check-row.review b{color:#b63e43}.table-card{border:1px solid var(--line);border-radius:12px;overflow:auto;background:#fff}.table-wrap{min-width:730px}table{width:100%;border-collapse:collapse;font-size:12px}th{background:#edf4f1;text-align:left;color:#4d5d57;font-weight:700;letter-spacing:.4px;font-size:10px;text-transform:uppercase}th,td{padding:11px 13px;border-bottom:1px solid #e3ece8}td{color:#4d5d57}.spt-profile{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.spt-card{border:1px solid var(--line);border-radius:11px;padding:13px;display:flex;align-items:center;gap:13px}.spt-dot{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f1e1cf;color:#704827;font-weight:650}.spt-card strong{font-size:14px}.spt-card span{font-size:12px;color:var(--muted)}.memory-preview{white-space:pre-wrap;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:12px;background:#fff;padding:24px;line-height:1.62;font-size:13px;color:#3d4d47;max-width:930px}.statusbar{height:36px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 24px;color:#63736d;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}.message{margin:0 0 8px;padding:10px 14px;border:1px solid #f0b8bb;border-radius:10px;background:#fff1f1;color:#a6353b;font-size:13px}@media(max-width:1200px){.app-shell{min-width:1000px}.brand{min-width:320px}.topbar{padding:0 16px;gap:20px}.canvas-heading h1{font-size:25px}.input-panel{width:auto}.workspace{grid-template-columns:285px minmax(0,1fr)}}
.workspace{grid-template-columns:500px minmax(0,1fr);min-height:calc(100vh - 186px)}
.input-panel{min-height:0;overflow:hidden}.property-heading{padding-bottom:16px}.property-content{padding:0 20px 24px;overflow:auto;min-height:0}
.input-section{padding:18px 0;border-bottom:1px solid var(--line)}.input-section h3{font-size:17px;margin:0 0 12px}.input-section .note{margin:12px 0 0}.check-field{display:block;font-size:12px;color:#42524c;font-weight:600}.check-field input{accent-color:var(--green);margin-right:7px}
.section-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.section-title h3{margin-bottom:3px}.section-title p{margin:0;color:var(--muted);font-size:12px}
.spt-input-table{border:1px solid var(--line);border-radius:10px;overflow:auto;background:#fff;max-height:430px}.spt-input-table table{min-width:430px;font-size:11px}.spt-input-table th,.spt-input-table td{padding:7px;white-space:nowrap}.spt-input-table th{position:sticky;top:0;z-index:1}.spt-input-table input,.spt-input-table select{width:100%;min-width:0;height:30px;border:1px solid #c7d8d1;border-radius:6px;background:#fff;padding:0 6px;font:400 11px inherit;color:#26352f}.spt-input-table td:nth-child(1){width:43px;color:#5d6c66;font-weight:650}.spt-input-table td:nth-child(2){width:54px}.spt-input-table td:nth-child(3){width:90px}.spt-input-table td:nth-child(4){width:105px}.spt-input-table td:last-child{width:29px}.table-remove{width:25px;height:25px;border:1px solid #edc4c5;border-radius:6px;background:#fff;color:#b43c41;font:600 16px/1 inherit;cursor:pointer}.project-section{padding-bottom:4px}
.results-column{min-width:0;padding:10px 12px 0}.calculation-stage,.output-strip,.results-dock{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.calculation-heading{padding:22px 26px 20px;display:flex;align-items:flex-start;justify-content:space-between}.calculation-heading>div{max-width:720px}.calculation-heading span{display:block;color:var(--green);font-weight:700;font-size:10px;letter-spacing:1.45px;margin-top:4px}.calculation-heading h1{margin:8px 0 5px;font-size:28px;line-height:1.1;letter-spacing:-.65px;font-weight:650}.calculation-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.calculation-stage>.result-cards{margin:0;border-radius:0}.calculation-stage>.method-summary,.calculation-stage>.verification-board{margin:18px 24px}.calculation-stage>.verification-board{margin-bottom:22px}.analysis-note{max-width:720px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;padding:15px 17px;line-height:1.55;color:#52625c;font-size:13px}.output-strip{margin-top:10px}
@media(max-width:1200px){.workspace{grid-template-columns:430px minmax(0,1fr)}.input-panel{width:auto}.calculation-heading h1{font-size:25px}}
.property-content{flex:1}
.spt-workstage{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.spt-work-heading{padding:20px 25px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.spt-work-heading span,.soil-profile-heading span{display:block;color:var(--green);font-weight:700;font-size:10px;letter-spacing:1.45px}.spt-work-heading h1{margin:7px 0 4px;font-size:27px;line-height:1.1;letter-spacing:-.6px;font-weight:650}.spt-work-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.spt-work-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;padding:16px 20px 20px;background:#fbfdfc}.soil-profile-card,.spt-entry-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.soil-profile-heading{padding:12px 13px 10px;border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:8px}.soil-profile-heading strong{display:block;margin-top:4px;font-size:14px;font-weight:650}.soil-profile-heading small{font-size:10px;color:var(--muted)}.soil-layers{position:relative;display:flex;flex-direction:column;height:360px;overflow:hidden;background:#f4eee7}.soil-layer{position:relative;min-height:27px;padding:5px 9px;color:#3c3126;display:grid;grid-template-columns:48px 1fr auto;gap:6px;align-items:center;border-bottom:1px solid #fff8}.soil-layer::after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,transparent 0 7px,#fff5 8px 9px);pointer-events:none}.soil-layer>*{position:relative;z-index:1}.soil-layer span,.soil-layer small{font-size:9px;color:#634c39}.soil-layer strong{font-size:10px;font-weight:650}.soil-sand{background:#e4c394}.soil-silt{background:#cfaf88}.soil-clay{background:#c88d65}.tip-depth-marker{position:absolute;left:0;right:0;border-top:2px solid var(--red);z-index:2}.tip-depth-marker span{position:absolute;right:8px;top:-8px;padding:2px 5px;border-radius:4px;background:#fff;color:#b3383e;font-size:10px;font-weight:650}.soil-profile-card>p{margin:0;padding:10px 12px;color:var(--muted);font-size:10px;line-height:1.35}.spt-entry-title{height:52px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.spt-entry-title strong{font-size:14px;font-weight:650}.spt-entry-title span{font-size:11px;color:var(--green);font-weight:600}.spt-entry-card .spt-input-table{border:0;border-radius:0;max-height:402px}.spt-entry-card .spt-input-table table{min-width:0}.spt-entry-card .spt-input-table th,.spt-entry-card .spt-input-table td{padding:7px 9px}.spt-entry-card .spt-input-table td:nth-child(3){width:120px}.spt-entry-card .spt-input-table td:nth-child(4){width:135px}.spt-workstage+.calculation-stage{margin-top:10px}@media(max-width:1200px){.spt-work-grid{grid-template-columns:215px minmax(0,1fr);gap:12px;padding:12px}.soil-layer{grid-template-columns:40px 1fr}.soil-layer small{display:none}.spt-work-heading h1{font-size:24px}}

/* ALINHAMENTO DOS CAMPOS DA GRADE.
 *
 * O label era `display: block`, então o campo começava onde o texto acabasse:
 * "Garantia temporal pretendida" ocupa duas linhas, "Anos mínimos de série"
 * ocupa uma, e os dois campos da mesma linha saíam em alturas diferentes.
 *
 * Coluna flexível com o campo empurrado para o fim resolve sem depender de o
 * rótulo caber numa linha — que é uma condição que nenhum texto em português
 * respeita por muito tempo. O `:not(.checkbox)` preserva a caixa de marcação,
 * que é deitada de propósito. */
.field-grid label:not(.checkbox) { display: flex; flex-direction: column; gap: 5px; }
.field-grid label:not(.checkbox) > .input-with-unit,
.field-grid label:not(.checkbox) > input,
.field-grid label:not(.checkbox) > select,
.field-grid label:not(.checkbox) > textarea { margin-top: auto; }
