/* EngTool module styles — shared by every tool page. Light theme. */
.wrap{max-width:1100px;margin:0 auto;padding:20px 16px 8px;}

.page-head{margin:6px 0 18px;}
.page-head h1{font-size:24px;margin:0 0 4px;color:var(--et-brand2);}
.page-head .sub{margin:0;color:var(--et-mut);font-size:14px;}

/* ---- Tabs (sub-nav between module pages) ---- */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;}
.tab{
  appearance:none;border:1px solid var(--et-line);background:#fff;color:var(--et-ink);
  padding:9px 14px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;
  transition:all .15s;text-decoration:none;display:inline-block;
}
.tab:hover{border-color:var(--et-brand);}
.tab.active{background:var(--et-brand);border-color:var(--et-brand);color:#fff;box-shadow:0 2px 8px rgba(11,92,171,.25);}

/* ---- Layout grid ---- */
.grid{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:18px;align-items:start;}
@media (max-width:860px){ .grid{grid-template-columns:1fr;} }

.card{
  background:var(--et-card);border:1px solid var(--et-line);border-radius:14px;
  padding:18px;box-shadow:0 1px 3px rgba(20,40,70,.06);
}
.card h2{font-size:16px;margin:0 0 14px;color:var(--et-ink);}
.card h2:not(:first-child){margin-top:22px;}

/* ---- Fields ---- */
.field{margin-bottom:13px;}
.field > label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:#33414f;}
.inrow{display:flex;align-items:center;gap:8px;}
.inrow input,.inrow select{flex:1 1 auto;min-width:0;}
input,select{
  width:100%;padding:9px 10px;font-size:14px;border:1px solid var(--et-line);
  border-radius:9px;background:#fff;color:var(--et-ink);font-family:inherit;
}
input:focus,select:focus{outline:none;border-color:var(--et-brand);box-shadow:0 0 0 3px rgba(11,92,171,.15);}
.unit{font-size:12.5px;color:var(--et-mut);white-space:nowrap;min-width:34px;}
.field .hint{font-size:12px;color:var(--et-mut);margin-top:4px;}

/* ---- Actions ---- */
.actions,.btnrow{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.btn{
  appearance:none;border:1px solid var(--et-brand);background:var(--et-brand);color:#fff;
  padding:10px 18px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;
  transition:background .15s,box-shadow .15s;
}
.btn:hover{background:var(--et-brand2);box-shadow:0 2px 10px rgba(11,92,171,.3);}
.btn.alt{background:#fff;color:var(--et-brand);border-color:var(--et-line);font-weight:600;}
.btn.alt:hover{border-color:var(--et-brand);background:#f3f8ff;box-shadow:none;}
.btn.primary{background:var(--et-accent);border-color:var(--et-accent);}
.btn.primary:hover{background:#cf5f1c;border-color:#cf5f1c;}
.btn.ghost{background:#fff;color:var(--et-mut);border-color:var(--et-line);font-weight:600;}
.btn.ghost:hover{color:var(--et-ink);border-color:var(--et-mut);background:#f6f8fb;box-shadow:none;}

/* ---- Results ---- */
.results{display:flex;flex-direction:column;gap:2px;}
.results .row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:9px 2px;border-bottom:1px dashed var(--et-line);}
.results .row:last-child{border-bottom:none;}
.results .k{font-size:13.5px;color:#33414f;}
.results .v{display:flex;align-items:baseline;gap:6px;}
.results .val{font-size:16px;font-weight:700;color:var(--et-brand2);font-variant-numeric:tabular-nums;}
.results .u{font-size:12px;color:var(--et-mut);}
.results .row.big .val{font-size:20px;color:var(--et-accent);}

/* ---- Notes ---- */
.notes-h{font-size:13px;font-weight:700;margin:18px 0 8px;color:#33414f;}
.notes{list-style:none;padding:0;margin:0;}
.notes li{font-size:13px;padding:7px 11px;border-radius:8px;margin-bottom:6px;line-height:1.45;}
.notes li.ok{background:#eaf6ee;color:#1c6b3a;border-left:3px solid var(--et-ok);}
.notes li.warn{background:#fdf2e2;color:#9a5400;border-left:3px solid var(--et-warn);}
.notes li.info{background:#eef3fb;color:#234b7a;border-left:3px solid var(--et-brand);}

.disclaimer{font-size:11.5px;color:var(--et-mut);margin-top:18px;line-height:1.5;
  border-top:1px solid var(--et-line);padding-top:12px;}

/* ---- Drawing card ---- */
.draw-card{margin-top:18px;}
.draw-canvas{width:100%;height:auto;border:1px solid var(--et-line);border-radius:10px;background:#fbfcfe;}
.btnrow.export{margin-top:12px;}

/* ---- Sub-nav (cross-page links) ---- */
.subnav{display:flex;gap:14px;flex-wrap:wrap;margin:4px 0 16px;}
.et-link{display:inline-block;font-size:13.5px;font-weight:600;color:var(--et-brand);
  text-decoration:none;border:1px solid var(--et-line);border-radius:8px;padding:7px 13px;background:#fff;}
.et-link:hover{background:#f3f7fb;border-color:var(--et-brand);}

/* ---- Standards & References table ---- */
.stdref-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:2px;}
.stdref-table th,.stdref-table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--et-line);vertical-align:top;}
.stdref-table th{background:#f3f7fb;color:#33414f;font-weight:700;border-bottom:2px solid var(--et-line);}
.stdref-table td.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12.5px;color:#27313c;white-space:nowrap;}
.stdref-table td a{color:var(--et-brand);font-weight:600;text-decoration:none;}
.stdref-table td a:hover{text-decoration:underline;}
.stdref-table tbody tr:hover td{background:#fafcfe;}

/* ---- Home module cards ---- */
.hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:8px 0 6px;}
.hub-card{
  background:var(--et-card);border:1px solid var(--et-line);border-radius:14px;
  padding:18px;box-shadow:0 1px 3px rgba(20,40,70,.06);display:flex;flex-direction:column;
  text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;
}
.hub-card:hover{border-color:var(--et-brand);box-shadow:0 4px 14px rgba(11,92,171,.14);}
.hub-card .ic{font-size:26px;}
.hub-card h3{margin:8px 0 6px;font-size:16px;color:var(--et-brand2);}
.hub-card p{margin:0 0 12px;font-size:13px;color:var(--et-mut);line-height:1.5;flex:1 1 auto;}
.hub-card .open{font-size:13px;font-weight:700;color:var(--et-brand);}

/* ---- dark theme ---- */
body.theme-dark{--et-bg:#0f1722;--et-card:#172230;--et-ink:#e6edf5;--et-mut:#9fb0c3;--et-line:#2a3a4f;--et-brand:#3b82f6;--et-brand2:#1e40af;--et-accent:#f0883a;--et-ok:#34d399;--et-warn:#fbbf24;background:var(--et-bg);color:var(--et-ink);}
body.theme-dark #et-topbar{background:linear-gradient(95deg,#10203a,#0b1830);}
body.theme-dark #et-footer{background:#0b1422;color:#9fb2d0;}
body.theme-dark .card,body.theme-dark .results,body.theme-dark .et-link,body.theme-dark .btn.alt,body.theme-dark .btn.ghost,body.theme-dark .hub-card,body.theme-dark .draw-canvas{background:#172230;color:var(--et-ink);border-color:var(--et-line);}
body.theme-dark input,body.theme-dark select{background:#101a27;color:var(--et-ink);}
body.theme-dark .btn.alt,body.theme-dark .btn.ghost{background:#172230;}
body.theme-dark .btn.alt:hover,body.theme-dark .btn.ghost:hover{background:#1f2e40;}
body.theme-dark .field>label,body.theme-dark .results .k,body.theme-dark .notes-h,body.theme-dark .stdref-table th,body.theme-dark .hub-card h3,body.theme-dark .hub-card .open,body.theme-dark .et-link{color:#cdd9e8;}
body.theme-dark .draw-canvas{background:#0c1622;}
body.theme-dark .notes li.ok{background:#0f2a1c;color:#7ee2a8;}
body.theme-dark .notes li.warn{background:#2c2410;color:#f2c879;}
body.theme-dark .notes li.info{background:#102036;color:#9cc4f0;}
body.theme-dark .stdref-table tbody tr:hover td,body.theme-dark .et-link:hover,body.theme-dark .hub-card:hover{background:#1f2e40;}
body.theme-dark .tab{background:#14202e;color:var(--et-mut);border-color:var(--et-line);}
body.theme-dark .tab.active{background:var(--et-brand);color:#fff;}
body.theme-dark .hub-card p{color:#9fb0c3;}
