/* Individual Survey Calculator pages */
.calculator-tool-page { padding-top:80px; min-height:70vh; }
.calculator-tool-hero { padding:70px 0 55px; background:var(--bg-light); text-align:center; }
.calculator-back { display:inline-flex; margin-bottom:25px; font-weight:600; }
.tool-icon { display:flex; align-items:center; justify-content:center; width:62px; height:62px; margin:0 auto 18px; border-radius:16px; background:rgba(249,115,22,.12); color:var(--primary); font-size:1.7rem; font-weight:700; }
.calculator-tool-hero h1 { margin-bottom:12px; }
.calculator-tool-hero p { max-width:700px; margin:0 auto; color:var(--text-muted); }
.calculator-tool-content { padding:70px 0 100px; }
.tool-placeholder { max-width:850px; margin:0 auto; padding:55px 30px; text-align:center; border:1px solid var(--border); border-radius:18px; background:var(--bg-white); box-shadow:var(--shadow-md); }
.tool-placeholder-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; border-radius:50%; background:var(--primary); color:#fff; font-size:1.4rem; }
.tool-placeholder h2 { margin-bottom:10px; }
.tool-placeholder p { color:var(--text-muted); }
.tool-note { font-size:.9rem; margin-top:20px; }
@media(max-width:600px){.calculator-tool-page{padding-top:70px}.calculator-tool-hero{padding:55px 0 40px}.calculator-tool-content{padding:45px 0 70px}.tool-placeholder{padding:40px 20px}}

/* Bearing calculator workspace */
.bearing-calculator { padding-top: 45px; }
.bearing-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 auto 26px; padding:8px; border:1px solid var(--border); border-radius:14px; background:var(--bg-white); box-shadow:var(--shadow-sm); }
.bearing-tab { border:0; background:transparent; color:var(--text-dark); padding:12px 15px; border-radius:9px; font:inherit; font-weight:650; cursor:pointer; transition:background .2s ease,color .2s ease; }
.bearing-tab:hover { background:rgba(249,115,22,.08); }
.bearing-tab.active { background:var(--primary); color:#fff; }
.bearing-panel { display:none; max-width:1000px; margin:0 auto 28px; padding:30px; border:1px solid var(--border); border-radius:18px; background:var(--bg-white); box-shadow:var(--shadow-md); }
.bearing-panel.active { display:block; }
.tool-panel-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:25px; }
.tool-panel-heading h2 { margin:0 0 8px; font-size:1.35rem; }
.tool-panel-heading p { margin:0; color:var(--text-muted); }
.input-grid { display:grid; gap:18px; }
.input-grid.two-col { grid-template-columns:repeat(2,minmax(0,1fr)); }
.input-card { padding:22px; border:1px solid var(--border); border-radius:14px; background:var(--bg-light); }
.input-card h3 { margin:0 0 17px; font-size:1rem; }
.input-card label { display:block; margin:12px 0 7px; font-size:.9rem; font-weight:650; }
.input-card input,.input-card select { width:100%; box-sizing:border-box; padding:12px 13px; border:1px solid var(--border); border-radius:9px; background:var(--bg-white); color:var(--text-dark); font:inherit; outline:none; }
.input-card input:focus,.input-card select:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(249,115,22,.12); }
.action-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.btn-outline { background:transparent; color:var(--text-dark); border:1px solid var(--border); }
.btn-outline:hover { border-color:var(--primary); color:var(--primary); }
.angle-help { margin-top:14px; padding:11px 13px; border-radius:9px; background:rgba(249,115,22,.07); color:var(--text-muted); font-size:.86rem; }
.result-box { margin-top:24px; padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--bg-light); min-height:70px; }
.result-placeholder { color:var(--text-muted); text-align:center; padding:12px; }
.result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.result-item { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:13px 14px; border:1px solid var(--border); border-radius:9px; background:var(--bg-white); }
.result-item span { color:var(--text-muted); font-size:.9rem; }
.result-item strong { text-align:right; }
.result-highlight { color:var(--primary); }
.result-error { color:#c62828; font-weight:650; }
.conversion-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.mini-result { margin-top:18px; min-height:56px; display:flex; flex-direction:column; justify-content:center; gap:4px; padding:12px 14px; border-radius:9px; background:var(--bg-white); border:1px solid var(--border); }
.mini-result strong { color:var(--primary); font-size:1.1rem; }
.mini-result small { color:var(--text-muted); }
.compact-card { max-width:620px; margin:auto; }
.bearing-reference { max-width:1000px; margin:35px auto 0; padding:28px 30px; border:1px solid var(--border); border-radius:18px; background:var(--bg-white); }
.bearing-reference h2 { margin-top:0; }
.reference-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.reference-grid div { padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--bg-light); text-align:center; }
.reference-grid strong,.reference-grid span { display:block; }
.reference-grid span { margin-top:4px; color:var(--text-muted); font-size:.9rem; }
.bearing-reference p { margin-bottom:0; color:var(--text-muted); }
html.theme-dark .bearing-tab { color:var(--text-dark); }
html.theme-dark .bearing-tab.active { color:#fff; }
@media(max-width:700px){
 .bearing-tabs { display:grid; grid-template-columns:1fr 1fr; }
 .bearing-tab { padding:11px 8px; font-size:.82rem; }
 .bearing-panel { padding:20px; }
 .input-grid.two-col,.conversion-layout,.result-grid { grid-template-columns:1fr; }
 .reference-grid { grid-template-columns:1fr 1fr; }
 .result-item { align-items:flex-start; flex-direction:column; gap:5px; }
 .result-item strong { text-align:left; }
}
@media(max-width:420px){ .bearing-tabs { grid-template-columns:1fr; } .bearing-panel { padding:16px; } .reference-grid { grid-template-columns:1fr; } }

/* Coordinate calculator workspace */
.coordinate-calculator { padding-top:45px; }
.coordinate-tabs { margin-bottom:26px; }
.coordinate-list { display:flex; flex-direction:column; gap:10px; }
.coordinate-row { display:grid; grid-template-columns:36px minmax(0,1fr) minmax(0,1fr) 38px; gap:10px; align-items:center; }
.coordinate-index { display:flex; align-items:center; justify-content:center; width:36px; height:42px; border-radius:9px; background:var(--primary); color:#fff; font-weight:700; }
.coordinate-row input { width:100%; box-sizing:border-box; padding:12px 13px; border:1px solid var(--border); border-radius:9px; background:var(--bg-white); color:var(--text-dark); font:inherit; outline:none; }
.coordinate-row input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(249,115,22,.12); }
.remove-coordinate { width:38px; height:42px; border:1px solid var(--border); border-radius:9px; background:transparent; color:var(--text-muted); font-size:1.35rem; cursor:pointer; }
.remove-coordinate:hover { border-color:var(--primary); color:var(--primary); }
@media(max-width:700px){ .coordinate-row { grid-template-columns:32px minmax(0,1fr) 38px; } .coordinate-row .mean-e,.coordinate-row .mean-n { min-width:0; } .coordinate-row .mean-n { grid-column:2; } .coordinate-row .remove-coordinate { grid-column:3; grid-row:1 / span 2; height:100%; } }


/* Levelling calculator workspace */
.levelling-calculator { padding-top:45px; }
.levelling-input-table input { min-width:92px; }
.levelling-input-table .level-point { min-width:105px; }
.levelling-input-table .level-remark { min-width:130px; }
.levelling-input-table th, .levelling-input-table td { vertical-align:middle; }
.level-reference-grid { margin-top:8px; }
.levelling-result-table th, .levelling-result-table td { white-space:nowrap; }
.levelling-panel .formula-box { overflow-x:auto; }
.levelling-panel .status-good { font-weight:700; }
.levelling-panel .status-warn { font-weight:700; }
@media(max-width:760px){
 .levelling-input-table th,.levelling-input-table td,
 .levelling-result-table th,.levelling-result-table td { padding:.5rem .55rem; font-size:.86rem; }
 .levelling-input-table input { min-width:82px; }
}

/* Circular curves calculator */
.circular-curve-calculator { padding-top:45px; }
.curve-dms-fields { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.75rem; margin-top:.5rem; }
.curve-dms-fields label { grid-column:auto; }
.curve-setting-table th,.curve-setting-table td { white-space:nowrap; }
.curve-panel .formula-box { overflow-x:auto; }
@media(max-width:760px){
 .curve-dms-fields { grid-template-columns:1fr; }
 .curve-setting-table th,.curve-setting-table td { padding:.5rem; font-size:.85rem; }
}

/* Intersection calculator */
.intersection-calculator { padding-top:45px; }
.intersection-panel .formula-box { overflow-x:auto; }
.intersection-panel table th,.intersection-panel table td { white-space:nowrap; }
@media(max-width:760px){
 .intersection-panel table th,.intersection-panel table td { padding:.5rem; font-size:.85rem; }
}

/* Resection calculator */
.resection-calculator { padding-top:45px; }
.resection-panel table th,.resection-panel table td { white-space:nowrap; }
.resection-panel .formula-box { overflow-x:auto; }
@media(max-width:760px){
 .resection-panel table th,.resection-panel table td { padding:.5rem; font-size:.85rem; }
}

/* Trilateration calculator */
.trilateration-calculator { padding-top:45px; }
.trilateration-panel table th,.trilateration-panel table td { white-space:nowrap; }
.tri-adjust-grid { display:grid; gap:.6rem; }
.tri-row { display:grid; grid-template-columns:50px 1fr 1fr 1fr; gap:.6rem; align-items:center; }
.tri-row input { min-width:0; }
.tri-head { font-weight:700; opacity:.8; }
@media(max-width:760px){
 .tri-row { grid-template-columns:35px 1fr; }
 .tri-head { display:none; }
 .tri-row input { width:100%; }
 .trilateration-panel table th,.trilateration-panel table td { padding:.5rem; font-size:.85rem; }
}

/* Coordinate transformation calculator */
.coordinate-transformation { padding-top:45px; }
.ct-control-grid { display:grid; gap:.6rem; }
.ct-row { display:grid; grid-template-columns:45px repeat(4,1fr); gap:.6rem; align-items:center; }
.ct-row input { min-width:0; }
.ct-head { font-weight:700; opacity:.8; }
@media(max-width:760px){.ct-row{grid-template-columns:35px 1fr 1fr}.ct-head{display:none}.ct-row input{width:100%}.ct-control-grid{overflow-x:auto}}

/* DMS & angle conversion calculator */
.angle-conversion { padding-top:45px; }
.angle-conversion .angle-dms-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
.angle-conversion .compact-card { max-width:760px; }
@media(max-width:700px){
 .angle-conversion .angle-dms-fields { grid-template-columns:1fr; }
}


/* Latitude & Departure calculator */
.latitude-departure { padding-top:45px; }
.ld-input-table { width:100%; border-collapse:collapse; }
.ld-input-table th,.ld-input-table td { padding:.62rem .7rem; border-bottom:1px solid rgba(127,127,127,.2); white-space:nowrap; text-align:right; vertical-align:middle; }
.ld-input-table th:first-child,.ld-input-table td:first-child { text-align:center; }
.ld-input-table input { min-width:105px; width:100%; box-sizing:border-box; padding:10px 11px; border:1px solid var(--border); border-radius:8px; background:var(--bg-white); color:var(--text-dark); font:inherit; }
.ld-input-table .ld-point { min-width:105px; }
.ld-remove { width:38px; height:38px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text-muted); cursor:pointer; font-size:1.15rem; }
.ld-remove:hover { border-color:var(--primary); color:var(--primary); }
.ld-result-table { width:100%; border-collapse:collapse; margin-top:1rem; }
.ld-result-table th,.ld-result-table td { padding:.58rem .65rem; border-bottom:1px solid rgba(127,127,127,.2); white-space:nowrap; text-align:right; }
.ld-result-table th:first-child,.ld-result-table td:first-child { text-align:center; }
.ld-result-table td strong { color:var(--primary); }
.ld-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.75rem; margin-top:.9rem; }
.ld-summary-card { padding:.85rem 1rem; border:1px solid var(--border); border-radius:10px; background:var(--bg-white); }
.ld-summary-card strong { display:block; font-size:1.05rem; margin-bottom:.2rem; }
.ld-summary-card span { color:var(--text-muted); font-size:.84rem; }
.ld-table-wrap { overflow-x:auto; }
@media(max-width:760px){ .ld-input-table th,.ld-input-table td,.ld-result-table th,.ld-result-table td { padding:.5rem .55rem; font-size:.86rem; } .ld-input-table input { min-width:90px; } }

/* Offset calculator workspace */
.offset-calculator { padding-top:45px; }
.offset-tabs { max-width:1000px; }
.offset-panel { max-width:1000px; }
.offset-reference { max-width:1000px; }
.offset-reference p { line-height:1.7; margin-top:18px; }
.offset-reference .reference-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:700px){ .offset-reference .reference-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:420px){ .offset-reference .reference-grid{grid-template-columns:1fr;} }

/* Projection conversion workspace */
.projection-converter .nested-card{margin-top:18px;background:var(--bg-white);}
.projection-converter .small-note{font-size:.86rem;color:var(--text-muted);margin:12px 0 0;}
.projection-converter textarea{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid var(--border);border-radius:9px;background:var(--bg-white);color:var(--text-dark);font:inherit;resize:vertical;}
.projection-converter .table-scroll{overflow:auto;border:1px solid var(--border);border-radius:10px;}
.projection-converter .calc-table{width:100%;border-collapse:collapse;min-width:560px;background:var(--bg-white);}
.projection-converter .calc-table th,.projection-converter .calc-table td{padding:11px 13px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;}
.projection-converter .calc-table th:first-child,.projection-converter .calc-table td:first-child{text-align:left;}
.projection-converter .calc-table th{background:var(--bg-light);font-size:.84rem;}
.input-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:700px){.input-grid.three-col{grid-template-columns:1fr;}}

/* Nigerian National Grid calculator --------------------------------------- */
.ng-calculator { padding-top:45px; }
.ng-tabs { max-width:1000px; }
.ng-calculator .bearing-panel { max-width:1000px; }
.ng-batch-panel { max-width:1200px !important; }
.ng-batch-secondary-settings { margin-top:14px; }
.ng-batch-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.ng-batch-section-heading h3 { margin:0 0 5px; }
.ng-batch-section-heading p { margin:0; color:var(--text-muted); font-size:.88rem; }
.ng-batch-badge { flex:0 0 auto; padding:7px 10px; border:1px solid var(--border); border-radius:999px; background:var(--bg-light); color:var(--text-muted); font-size:.75rem; font-weight:800; white-space:nowrap; }
.ng-batch-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin:0 0 16px; }
.ng-batch-toolbar-group { display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.ng-file-btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 14px; border:1px solid var(--border); border-radius:9px; background:var(--bg-white); color:var(--text-dark); cursor:pointer; font:inherit; font-weight:700; }
.ng-file-btn:hover { border-color:var(--primary); color:var(--primary); }
.ng-file-btn input { display:none; }
.ng-batch-table-wrap { overflow:auto; border:1px solid var(--border); border-radius:12px; background:var(--bg-white); }
.ng-batch-input-table { width:100%; min-width:760px; border-collapse:separate; border-spacing:0; }
.ng-batch-input-table th, .ng-batch-input-table td { padding:9px; border-bottom:1px solid var(--border); border-right:1px solid var(--border); vertical-align:middle; }
.ng-batch-input-table th { background:var(--bg-light); color:var(--text-dark); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; text-align:left; white-space:nowrap; }
.ng-batch-input-table th:last-child, .ng-batch-input-table td:last-child { border-right:0; }
.ng-batch-input-table tbody tr:last-child td { border-bottom:0; }
.ng-batch-input-table input { width:100%; min-width:105px; box-sizing:border-box; padding:10px 10px; border:1px solid var(--border); border-radius:8px; background:var(--bg-white); color:var(--text-dark); font:inherit; outline:none; }
.ng-batch-input-table td:first-child input { min-width:130px; }
.ng-batch-input-table input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(249,115,22,.11); }
.ng-batch-input-table input::placeholder { color:var(--text-muted); opacity:.75; }
.ng-remove-cell { width:48px; text-align:center; }
.ngb-row-remove { width:36px; height:36px; border:1px solid var(--border); border-radius:8px; background:transparent; color:var(--text-muted); font-size:1.25rem; line-height:1; cursor:pointer; }
.ngb-row-remove:hover { border-color:var(--primary); color:var(--primary); }
.ng-batch-paste-note { margin-bottom:0; }
.ng-batch-results { max-width:none !important; }
.ng-batch-summary { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:14px; }
.ng-batch-summary span { display:inline-flex; align-items:center; min-height:34px; padding:0 11px; border:1px solid var(--border); border-radius:8px; background:var(--bg-light); color:var(--text-muted); font-size:.8rem; }
.ng-batch-summary strong { color:var(--text-dark); margin-right:4px; }
.ng-batch-result-table { min-width:900px; }
.ng-batch-result-table th, .ng-batch-result-table td { white-space:nowrap; }
.ng-row-error td { color:#c62828; background:rgba(198,40,40,.045); }
html.theme-dark .ng-row-error td { color:#ff9b9b; background:rgba(255,100,100,.07); }
html.theme-dark .ng-file-btn, html.theme-dark .ng-batch-input-table input { background:var(--bg-white); color:var(--text-dark); }
@media(max-width:760px){
 .ng-batch-section-heading { flex-direction:column; }
 .ng-batch-badge { align-self:flex-start; }
 .ng-batch-toolbar { align-items:stretch; }
 .ng-batch-toolbar-group { width:100%; }
 .ng-batch-toolbar-group .btn, .ng-batch-toolbar-group .ng-file-btn { flex:1 1 auto; }
}

/* Calculator UX refinement */
.calculator-hero{padding:76px 0 52px;text-align:left;background:linear-gradient(180deg,var(--bg-light),var(--bg-white))}
.calculator-hero .container{max-width:1000px}
.calculator-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-.035em}
.calculator-grid-section{padding:56px 0 86px}
.calculator-categories{gap:48px}
.calculator-category-heading{border-bottom:0;padding:0 0 6px}
.calculator-card{position:relative;border:1px solid var(--border);border-radius:16px;background:var(--bg-white);box-shadow:0 6px 20px rgba(15,23,42,.06);padding:22px;min-height:205px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.calculator-card:hover{transform:translateY(-4px);border-color:rgba(249,115,22,.35);box-shadow:0 14px 32px rgba(15,23,42,.10)}
.calculator-card:focus-visible{outline:3px solid rgba(249,115,22,.35);outline-offset:3px}
.calculator-card-icon{width:48px;height:48px;border-radius:12px}
.calculator-card h2{font-size:1.05rem;line-height:1.35;margin-top:14px}
.calculator-card p{font-size:.87rem;line-height:1.65}
.calculator-card-link{margin-top:auto;padding-top:12px;font-weight:800}
.calculator-tool-page{padding-top:78px}
.calculator-tool-hero{padding:58px 0 44px;text-align:left}
.calculator-tool-hero .container{max-width:980px}
.calculator-tool-hero h1{font-size:clamp(2rem,4.5vw,3rem);letter-spacing:-.03em}
.calculator-tool-hero p{margin:0;max-width:760px;line-height:1.7}
.calculator-back{margin-bottom:20px;font-size:.9rem}
.tool-icon{margin:0 0 16px;width:54px;height:54px;border-radius:14px}
.calculator-tool-content{padding:48px 0 84px}
.bearing-panel{box-shadow:0 8px 24px rgba(15,23,42,.06)}
.input-card{box-shadow:none}
.result-box{border-color:rgba(249,115,22,.2)}
@media(max-width:700px){
 .calculator-tool-page{padding-top:70px}
 .calculator-tool-hero{padding:48px 0 34px}
 .calculator-tool-content{padding:34px 0 60px}
 .calculator-grid-section{padding:42px 0 62px}
 .calculator-card{min-height:0}
 .action-row .btn{width:100%}
}
html.theme-dark .calculator-card,html.theme-dark .bearing-panel,html.theme-dark .input-card,html.theme-dark .result-box{box-shadow:0 8px 24px rgba(0,0,0,.18)}


/* Page-specific calculator styles: area.php */
.area-calculator .area-tabs { margin-bottom: 1.5rem; }
.area-calculator .area-panel[hidden] { display:none; }
.area-calculator .coordinate-list { display:grid; gap:.75rem; }
.area-calculator .coordinate-row {
  display:grid; grid-template-columns:42px minmax(0,1fr) minmax(0,1fr) 42px;
  gap:.6rem; align-items:center;
}
.area-calculator .coordinate-row input { width:100%; box-sizing:border-box; }
.area-calculator .coordinate-index {
  font-weight:700; text-align:center; opacity:.75;
}
.area-calculator .remove-coordinate {
  width:40px; height:40px; border:1px solid rgba(127,127,127,.35);
  border-radius:8px; background:transparent; cursor:pointer; font-size:1.25rem;
}
.area-calculator .remove-coordinate:disabled { opacity:.35; cursor:not-allowed; }
.area-calculator .table-wrap { overflow-x:auto; }
.area-calculator .area-table { width:100%; border-collapse:collapse; margin-top:.5rem; }
.area-calculator .area-table th,
.area-calculator .area-table td { padding:.65rem .75rem; border-bottom:1px solid rgba(127,127,127,.2); text-align:right; }
.area-calculator .area-table th:first-child,
.area-calculator .area-table td:first-child { text-align:left; }
.area-calculator .result-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.75rem; margin-top:.75rem;
}
.area-calculator .result-stat {
  padding:.85rem 1rem; border:1px solid rgba(127,127,127,.2); border-radius:10px;
}
.area-calculator .result-stat strong { display:block; font-size:1.05rem; margin-bottom:.2rem; }
.area-calculator .result-stat span { font-size:.85rem; opacity:.75; }
.area-calculator .formula-box {
  margin-top:1rem; padding:1rem; border-radius:10px;
  background:rgba(127,127,127,.08); line-height:1.6;
}
.area-calculator .validation-note { margin-top:.75rem; font-size:.9rem; opacity:.8; }
.area-calculator .danger-text { color:#b42318; }
@media (max-width: 640px) {
  .area-calculator .coordinate-row { grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 36px; gap:.35rem; }
  .area-calculator .remove-coordinate { width:34px; height:34px; }
}


/* Page-specific calculator styles: bowditch.php */
.bowditch-calculator{padding-top:45px}.bowditch-calculator .table-wrap{overflow-x:auto}.bowditch-calculator table{width:100%;border-collapse:collapse}.bowditch-calculator th,.bowditch-calculator td{padding:.62rem .7rem;border-bottom:1px solid rgba(127,127,127,.2);white-space:nowrap;text-align:right;vertical-align:middle}.bowditch-calculator th:first-child,.bowditch-calculator td:first-child{text-align:center}.bowditch-calculator input,.bowditch-calculator select{box-sizing:border-box}.bowditch-calculator .input-table input{width:100%;min-width:100px}.bowditch-calculator .row-remove{width:38px;height:38px;border:1px solid rgba(127,127,127,.35);border-radius:8px;background:transparent;cursor:pointer;font-size:1.15rem}.bowditch-calculator .row-remove:disabled{opacity:.35;cursor:not-allowed}.bowditch-calculator .result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin-top:.85rem}.bowditch-calculator .result-stat{padding:.85rem 1rem;border:1px solid rgba(127,127,127,.2);border-radius:10px}.bowditch-calculator .result-stat strong{display:block;font-size:1.05rem;margin-bottom:.2rem}.bowditch-calculator .result-stat span{font-size:.84rem;opacity:.75}.bowditch-calculator .formula-box{margin-top:1rem;padding:1rem;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.65}.bowditch-calculator .small-note{font-size:.88rem;opacity:.78;line-height:1.55}.bowditch-calculator .status-good,.bowditch-calculator .status-warn{font-weight:700}.bowditch-calculator .options{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.bowditch-calculator .options .input-card{flex:1;min-width:190px}.bowditch-calculator .summary-card{margin-top:1rem;padding:1rem;border-radius:10px;border:1px solid rgba(127,127,127,.2)}.bowditch-calculator .adjusted-table td:nth-child(8),.bowditch-calculator .adjusted-table th:nth-child(8),.bowditch-calculator .adjusted-table td:nth-child(9),.bowditch-calculator .adjusted-table th:nth-child(9){font-weight:700}@media(max-width:760px){.bowditch-calculator th,.bowditch-calculator td{padding:.5rem .55rem;font-size:.86rem}.bowditch-calculator .input-table input{min-width:90px}}


/* Page-specific calculator styles: closure.php */
.closure-calculator .closure-tabs{margin-bottom:1.5rem}
.closure-calculator .closure-panel[hidden]{display:none}
.closure-calculator .table-wrap{overflow-x:auto}
.closure-calculator table{width:100%;border-collapse:collapse}
.closure-calculator th,.closure-calculator td{padding:.62rem .7rem;border-bottom:1px solid rgba(127,127,127,.2);white-space:nowrap;text-align:right}
.closure-calculator th:first-child,.closure-calculator td:first-child{text-align:center}
.closure-calculator .input-table input{width:100%;min-width:105px;box-sizing:border-box}
.closure-calculator .row-remove{width:38px;height:38px;border:1px solid rgba(127,127,127,.35);border-radius:8px;background:transparent;cursor:pointer;font-size:1.15rem}
.closure-calculator .row-remove:disabled{opacity:.35;cursor:not-allowed}
.closure-calculator .result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin-top:.85rem}
.closure-calculator .result-stat{padding:.85rem 1rem;border:1px solid rgba(127,127,127,.2);border-radius:10px}
.closure-calculator .result-stat strong{display:block;font-size:1.05rem;margin-bottom:.2rem}
.closure-calculator .result-stat span{font-size:.84rem;opacity:.75}
.closure-calculator .formula-box{margin-top:1rem;padding:1rem;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.65}
.closure-calculator .status-good,.closure-calculator .status-warn{font-weight:700}
.closure-calculator .small-note{font-size:.88rem;opacity:.78;line-height:1.55}
.closure-calculator .summary-card{margin-top:1rem;padding:1rem;border-radius:10px;border:1px solid rgba(127,127,127,.2)}
.closure-calculator .options{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}
.closure-calculator .options .input-card{flex:1;min-width:190px}
@media(max-width:760px){.closure-calculator th,.closure-calculator td{padding:.5rem .55rem;font-size:.88rem}.closure-calculator .input-table input{min-width:92px}}


/* Page-specific calculator styles: earthwork.php */
.earthwork-calculator{padding-top:45px}.ew-panel[hidden]{display:none}.ew-panel .formula-box{margin-top:1rem;padding:1rem;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.7}.ew-panel .small-note{font-size:.88rem;opacity:.78;line-height:1.55}.ew-table-wrap{overflow-x:auto}.ew-table{width:100%;border-collapse:collapse}.ew-table th,.ew-table td{padding:.58rem .65rem;border-bottom:1px solid rgba(127,127,127,.2);text-align:right;white-space:nowrap}.ew-table th:first-child,.ew-table td:first-child{text-align:center}.ew-table input{min-width:90px;width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-white);color:var(--text-dark);font:inherit}.ew-remove{width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:transparent;cursor:pointer}.ew-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-top:.9rem}.ew-stat{padding:.85rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-white)}.ew-stat strong{display:block;font-size:1.05rem;margin-bottom:.2rem}.ew-stat span{font-size:.84rem;color:var(--text-muted)}.ew-mode{display:flex;flex-wrap:wrap;gap:.55rem}.ew-mode label{display:flex;align-items:center;gap:.4rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:9px}.ew-section-note{margin:.6rem 0 0;font-size:.9rem;color:var(--text-muted)}@media(max-width:700px){.ew-table th,.ew-table td{font-size:.84rem;padding:.48rem}.ew-table input{min-width:78px}}


/* Page-specific calculator styles: height-distance.php */
.hd-calculator{padding-top:45px}.hd-panel[hidden]{display:none}.hd-panel .formula-box{margin-top:1rem;padding:1rem;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.7}.hd-panel .result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.hd-panel .result-stat{padding:.85rem 1rem;border:1px solid rgba(127,127,127,.2);border-radius:10px}.hd-panel .result-stat strong{display:block;font-size:1.05rem;margin-bottom:.2rem}.hd-panel .result-stat span{font-size:.84rem;opacity:.75}.hd-panel .small-note{font-size:.88rem;opacity:.78;line-height:1.55}.hd-panel .table-wrap{overflow-x:auto}.hd-panel table{width:100%;border-collapse:collapse}.hd-panel th,.hd-panel td{padding:.62rem .7rem;border-bottom:1px solid rgba(127,127,127,.2);text-align:right;white-space:nowrap}.hd-panel th:first-child,.hd-panel td:first-child{text-align:left}.hd-dms{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.hd-radio{display:flex;flex-wrap:wrap;gap:.6rem}.hd-radio label{display:flex;align-items:center;gap:.4rem;padding:.65rem .85rem;border:1px solid rgba(127,127,127,.2);border-radius:9px}.hd-status{margin-top:1rem;padding:.8rem 1rem;border-radius:9px;background:rgba(249,115,22,.08)}@media(max-width:700px){.hd-dms{grid-template-columns:1fr}.hd-panel th,.hd-panel td{font-size:.86rem;padding:.5rem}}


/* Page-specific calculator styles: slope.php */
.slope-calculator .slope-tabs{margin-bottom:1.5rem}
.slope-calculator .slope-panel[hidden]{display:none}
.slope-calculator .result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin-top:.85rem}
.slope-calculator .result-stat{padding:.85rem 1rem;border:1px solid rgba(127,127,127,.2);border-radius:10px}
.slope-calculator .result-stat strong{display:block;font-size:1.05rem;margin-bottom:.2rem}
.slope-calculator .result-stat span{font-size:.84rem;opacity:.75}
.slope-calculator .formula-box{margin-top:1rem;padding:1rem;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.7}
.slope-calculator .table-wrap{overflow-x:auto}
.slope-calculator table{width:100%;border-collapse:collapse}
.slope-calculator th,.slope-calculator td{padding:.62rem .7rem;border-bottom:1px solid rgba(127,127,127,.2);text-align:right;white-space:nowrap}
.slope-calculator th:first-child,.slope-calculator td:first-child{text-align:left}
.slope-calculator .direction-card{display:flex;gap:.75rem;flex-wrap:wrap}
.slope-calculator .direction-card label{display:flex;align-items:center;gap:.4rem;padding:.65rem .85rem;border:1px solid rgba(127,127,127,.2);border-radius:9px}
.slope-calculator .small-note{font-size:.88rem;opacity:.78;line-height:1.55}
.slope-calculator .mini-result{margin-top:.75rem;font-weight:700}
.slope-calculator .profile-table input{min-width:100px;width:100%;box-sizing:border-box}
@media(max-width:700px){.slope-calculator th,.slope-calculator td{font-size:.88rem;padding:.5rem}}


/* Page-specific calculator styles: transit.php */
.transit-calculator{padding-top:45px}.transit-calculator .table-wrap{overflow-x:auto}.transit-calculator table{width:100%;border-collapse:collapse}.transit-calculator th,.transit-calculator td{padding:.62rem .7rem;border-bottom:1px solid rgba(127,127,127,.2);white-space:nowrap;text-align:right;vertical-align:middle}.transit-calculator th:first-child,.transit-calculator td:first-child{text-align:center}.transit-calculator input,.transit-calculator select{box-sizing:border-box}.transit-calculator .input-table input{width:100%;min-width:100px}.transit-calculator .row-remove{width:38px;height:38px;border:1px solid rgba(127,127,127,.35);border-radius:8px;background:transparent;cursor:pointer;font-size:1.15rem}.transit-calculator .row-remove:disabled{opacity:.35;cursor:not-allowed}.transit-calculator .result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin-top:.85rem}.transit-calculator .result-stat{padding:.85rem 1rem;border:1px solid rgba(127,127,127,.2);border-radius:10px}.transit-calculator .result-stat strong{display:block;font-size:1.05rem;margin-bottom:.2rem}.transit-calculator .result-stat span{font-size:.84rem;opacity:.75}.transit-calculator .formula-box{margin-top:1rem;padding:1rem;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.65}.transit-calculator .small-note{font-size:.88rem;opacity:.78;line-height:1.55}.transit-calculator .summary-card{margin-top:1rem;padding:1rem;border-radius:10px;border:1px solid rgba(127,127,127,.2)}.transit-calculator .corr{font-weight:700}@media(max-width:760px){.transit-calculator th,.transit-calculator td{padding:.5rem .55rem;font-size:.86rem}.transit-calculator .input-table input{min-width:90px}}


/* Page-specific calculator styles: traverse.php */
.traverse-calculator .traverse-tabs { margin-bottom:1.5rem; }
.traverse-calculator .traverse-panel[hidden] { display:none; }
.traverse-calculator .table-wrap { overflow-x:auto; }
.traverse-calculator table { width:100%; border-collapse:collapse; }
.traverse-calculator th,.traverse-calculator td {
  padding:.62rem .7rem; border-bottom:1px solid rgba(127,127,127,.2);
  white-space:nowrap; text-align:right;
}
.traverse-calculator th:first-child,.traverse-calculator td:first-child { text-align:center; }
.traverse-calculator .traverse-input-table input { min-width:105px; width:100%; box-sizing:border-box; }
.traverse-calculator .row-remove {
  width:38px;height:38px;border:1px solid rgba(127,127,127,.35);
  border-radius:8px;background:transparent;cursor:pointer;font-size:1.15rem;
}
.traverse-calculator .row-remove:disabled { opacity:.35;cursor:not-allowed; }
.traverse-calculator .result-grid {
 display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin-top:.85rem;
}
.traverse-calculator .result-stat {
 padding:.85rem 1rem;border:1px solid rgba(127,127,127,.2);border-radius:10px;
}
.traverse-calculator .result-stat strong{display:block;font-size:1.05rem;margin-bottom:.2rem}
.traverse-calculator .result-stat span{font-size:.84rem;opacity:.75}
.traverse-calculator .formula-box {
 margin-top:1rem;padding:1rem;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.65;
}
.traverse-calculator .status-good { font-weight:700; }
.traverse-calculator .status-warn { font-weight:700; }
.traverse-calculator .small-note {font-size:.88rem;opacity:.78;line-height:1.55}
.traverse-calculator .adjustment-options {
 display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;
}
.traverse-calculator .adjustment-options label {
 display:flex;align-items:center;gap:.4rem;padding:.65rem .85rem;border:1px solid rgba(127,127,127,.2);border-radius:9px;
}
.traverse-calculator .summary-card {
 margin-top:1rem;padding:1rem;border-radius:10px;border:1px solid rgba(127,127,127,.2);
}
.traverse-calculator .badge {
 display:inline-block;padding:.2rem .55rem;border-radius:999px;background:rgba(127,127,127,.12);font-size:.82rem;
}
@media(max-width:760px){
 .traverse-calculator th,.traverse-calculator td{padding:.5rem .55rem;font-size:.88rem}
 .traverse-calculator .traverse-input-table input{min-width:92px}
}


/* Page-specific calculator styles: units.php */
.units-calculator{padding-top:45px}.unit-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.25rem}.unit-tab{border:1px solid var(--border);background:var(--bg-white);color:var(--text-dark);padding:.7rem 1rem;border-radius:9px;cursor:pointer;font:inherit}.unit-tab.active{background:var(--text-dark);color:var(--bg-white)}.unit-panel[hidden]{display:none}.unit-convert-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:end}.unit-swap{width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:var(--bg-white);cursor:pointer;font-size:1.1rem}.unit-result{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-white)}.unit-result-main{font-size:1.45rem;font-weight:700;word-break:break-word}.unit-result-secondary{margin-top:.35rem;color:var(--text-muted)}.unit-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin-top:1rem}.unit-quick button{padding:.7rem;border:1px solid var(--border);border-radius:9px;background:var(--bg-white);color:var(--text-dark);cursor:pointer;text-align:left}.unit-table{width:100%;border-collapse:collapse;margin-top:1rem}.unit-table th,.unit-table td{padding:.65rem;border-bottom:1px solid rgba(127,127,127,.2);text-align:left}.unit-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.unit-note{color:var(--text-muted);line-height:1.6}.unit-formula{padding:1rem;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.7;margin-top:1rem}.unit-fav{display:flex;gap:.5rem;align-items:center;margin-top:.8rem}.unit-fav button{border:1px solid var(--border);background:transparent;border-radius:8px;padding:.55rem .7rem;cursor:pointer}@media(max-width:760px){.unit-convert-grid{grid-template-columns:1fr}.unit-swap{justify-self:center;transform:rotate(90deg)}}
