/* ============================================================
   Tree Value Calculator Pro v9.0 — Compact, USD-only
   treevaluecalculator.us | Solution Cave Marketing
   ============================================================ */

:root {
  --tvc-g1:#1B5E35; --tvc-g2:#2D7A4F; --tvc-g3:#3A9A65;
  --tvc-mint:#4ADE80; --tvc-sage:#86EFAC;
  --tvc-bg:#F0F7F2; --tvc-card:#FFFFFF; --tvc-card2:#F8FCF9;
  --tvc-border:#C8E6D4; --tvc-text:#1A3328; --tvc-muted:#4A7A62;
  --tvc-light:#E8F5EE; --tvc-panel:#0F2D1C;
  --tvc-radius:12px;
  --tvc-font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --tvc-shadow:0 2px 12px rgba(27,94,53,0.09);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--tvc-bg);padding:12px;font-family:var(--tvc-font);}
.tvc-wrap{font-family:var(--tvc-font);max-width:1080px;margin:0 auto;color:var(--tvc-text);line-height:1.6;}

/* ── COMPACT HERO ── */
.tvc-hero{
  background:linear-gradient(135deg,#0A2318 0%,#142E1C 45%,#1B5E35 100%);
  border-radius:var(--tvc-radius) var(--tvc-radius) 0 0;
  padding:24px 36px 20px;
  position:relative;overflow:hidden;
}
.tvc-tree-svg{position:absolute;right:-10px;top:-10px;width:140px;height:160px;opacity:0.15;pointer-events:none;}
.tvc-hero-content{position:relative;z-index:1;}
.tvc-title{font-size:clamp(20px,3vw,30px);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.15;margin-bottom:5px;}
.tvc-subtitle{font-size:12px;color:rgba(255,255,255,0.60);max-width:480px;margin-bottom:14px;line-height:1.6;}
.tvc-stats-row{display:flex;flex-wrap:wrap;gap:5px;}
.tvc-stat{display:flex;flex-direction:column;align-items:center;padding:5px 12px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:8px;}
.tvc-stat-num{font-size:14px;font-weight:800;color:var(--tvc-mint);line-height:1;}
.tvc-stat-label{font-size:8px;color:rgba(255,255,255,0.42);margin-top:1px;text-transform:uppercase;letter-spacing:.06em;}

/* ── BODY ── */
.tvc-body{display:grid;grid-template-columns:1fr 360px;background:var(--tvc-bg);border:1px solid var(--tvc-border);border-top:none;border-radius:0 0 var(--tvc-radius) var(--tvc-radius);}
.tvc-form-col{padding:18px;display:flex;flex-direction:column;gap:14px;border-right:1px solid var(--tvc-border);}
.tvc-result-col{padding:18px;background:var(--tvc-panel);border-radius:0 0 var(--tvc-radius) 0;}

/* ── CARDS ── */
.tvc-card{background:var(--tvc-card);border-radius:var(--tvc-radius);border:1px solid var(--tvc-border);padding:16px;box-shadow:var(--tvc-shadow);}
.tvc-card-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;}
.tvc-step{flex-shrink:0;width:30px;height:30px;background:linear-gradient(135deg,var(--tvc-g1),var(--tvc-g3));color:#fff;border-radius:8px;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.tvc-card-title{font-size:13px;font-weight:700;color:var(--tvc-text);}
.tvc-card-desc{font-size:11px;color:var(--tvc-muted);margin-top:1px;}

/* ── SPECIES ── */
.tvc-select-wrap{position:relative;}
.tvc-select{width:100%;padding:10px 36px 10px 12px;border:1.5px solid var(--tvc-border);border-radius:9px;background:var(--tvc-card2);font-size:13px;font-family:var(--tvc-font);color:var(--tvc-text);appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .15s;}
.tvc-select:focus{outline:none;border-color:var(--tvc-g2);box-shadow:0 0 0 3px rgba(45,122,79,.11);}
.tvc-select-icon{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--tvc-muted);pointer-events:none;}
.tvc-species-info{margin-top:8px;padding:7px 11px;background:var(--tvc-light);border-radius:7px;font-size:11px;color:var(--tvc-muted);display:none;align-items:center;gap:7px;}
.tvc-species-badge{background:var(--tvc-g2);color:#fff;border-radius:100px;padding:2px 9px;font-size:10px;font-weight:700;}

/* ── MEASURE ROW ── */
.tvc-measure-row{display:flex;align-items:center;gap:9px;margin-bottom:8px;}
.tvc-field{display:flex;flex-direction:column;gap:4px;}
.tvc-label{font-size:11px;font-weight:600;color:var(--tvc-text);display:flex;align-items:center;gap:4px;margin-bottom:4px;}
.tvc-tooltip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#D9EDE3;color:var(--tvc-muted);font-size:9px;font-weight:700;cursor:help;}
.tvc-dbh-display{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,var(--tvc-g1),var(--tvc-g2));color:#fff;border-radius:8px;padding:5px 12px;font-size:18px;font-weight:800;box-shadow:0 2px 8px rgba(27,94,53,.25);white-space:nowrap;}
.tvc-height-display{background:linear-gradient(135deg,#1E40AF,#2563EB) !important;}
.tvc-dbh-unit{font-size:11px;font-weight:400;opacity:.75;}
.tvc-num-input{width:80px;border:1.5px solid var(--tvc-border);border-radius:8px;background:var(--tvc-card2);padding:7px 9px;font-size:13px;font-weight:600;color:var(--tvc-text);font-family:var(--tvc-font);}
.tvc-num-input:focus{outline:none;border-color:var(--tvc-g2);box-shadow:0 0 0 3px rgba(45,122,79,.11);}

/* ── INPUT WRAP ── */
.tvc-input-wrap{display:flex;align-items:center;border:1.5px solid var(--tvc-border);border-radius:9px;overflow:hidden;background:var(--tvc-card2);transition:border-color .15s;}
.tvc-input-wrap:focus-within{border-color:var(--tvc-g2);box-shadow:0 0 0 3px rgba(45,122,79,.11);}
.tvc-currency-prefix{padding:0 8px;font-size:12px;font-weight:700;color:var(--tvc-muted);background:var(--tvc-light);border-right:1px solid var(--tvc-border);align-self:stretch;display:flex;align-items:center;}
.tvc-input{flex:1;border:none;background:transparent;padding:9px 10px;font-size:13px;font-weight:600;color:var(--tvc-text);font-family:var(--tvc-font);min-width:0;}
.tvc-input:focus{outline:none;}
.tvc-unit{padding:0 8px;font-size:10px;color:var(--tvc-muted);white-space:nowrap;background:var(--tvc-light);border-left:1px solid var(--tvc-border);align-self:stretch;display:flex;align-items:center;}

/* ── RAINBOW SLIDER ── */
.tvc-slider-wrap{position:relative;height:8px;margin-top:2px;}
.tvc-slider-track{position:absolute;inset:0;border-radius:100px;background:linear-gradient(90deg,#FF0080,#FF4500,#FFD700,#00CC44,#00BFFF,#8B5CF6,#FF0080);background-size:200% 100%;animation:tvcRainbow 4s linear infinite;box-shadow:0 0 7px rgba(255,100,100,.2);}
.tvc-slider-track-blue{background:linear-gradient(90deg,#00BFFF,#3B82F6,#8B5CF6,#EC4899,#F97316,#22C55E,#00BFFF) !important;}
@keyframes tvcRainbow{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.tvc-slider{position:absolute;inset:0;width:100%;height:8px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;margin:0;}
.tvc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:grab;margin-top:-7px;}
.tvc-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.12);}
.tvc-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:grab;}
.tvc-slider::-webkit-slider-runnable-track,.tvc-slider::-moz-range-track{height:8px;background:transparent;}
.tvc-slider-blue::-webkit-slider-thumb{border-color:#3B82F6 !important;box-shadow:0 2px 8px rgba(59,130,246,.35) !important;}
.tvc-slider-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--tvc-muted);margin-top:10px;}

/* ── HEIGHT BADGE ── */
.tvc-height-badge-wrap{margin-top:7px;}
.tvc-height-badge{display:inline-block;padding:3px 10px;border-radius:100px;font-size:10px;font-weight:600;background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE;transition:all .2s;}

/* ── RATINGS ── */
.tvc-rating-head{display:flex;align-items:center;gap:6px;margin-bottom:9px;}
.tvc-rating-label{font-size:12px;font-weight:600;color:var(--tvc-text);}
.tvc-rating-val{margin-left:auto;background:linear-gradient(135deg,var(--tvc-g1),var(--tvc-g3));color:#fff;border-radius:100px;padding:2px 10px;font-size:10px;font-weight:700;}
.tvc-condition-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
.tvc-loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.tvc-cond-btn,.tvc-loc-btn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;text-align:center;padding:10px 5px;border:2px solid #C8E6D4;border-radius:10px;background:#F8FCF9;cursor:pointer;font-family:var(--tvc-font);-webkit-tap-highlight-color:transparent;transition:border-color .18s,background .18s,box-shadow .18s,transform .12s;}
.tvc-cond-btn:hover,.tvc-loc-btn:hover{border-color:#3A9A65;background:#DDF0E6;transform:translateY(-1px);box-shadow:0 3px 10px rgba(45,122,79,.13);}
.tvc-cond-btn.active,.tvc-loc-btn.active{border-color:#2D7A4F;background:#C3E8D0;box-shadow:0 0 0 3px rgba(45,122,79,.2),0 3px 10px rgba(27,94,53,.13);transform:translateY(-1px);}
.tvc-cond-btn:focus-visible,.tvc-loc-btn:focus-visible{outline:2px solid var(--tvc-g2);outline-offset:2px;}
.tvc-cond-dot{width:10px;height:10px;border-radius:50%;margin-bottom:1px;box-shadow:0 1px 3px rgba(0,0,0,.15);}
.tvc-cond-name{font-size:10px;font-weight:700;color:#1A3328;}
.tvc-cond-pct{font-size:9px;color:#4A7A62;font-weight:500;}
.tvc-cond-btn.active .tvc-cond-name,.tvc-loc-btn.active .tvc-cond-name{color:#0F2D1C;}
.tvc-cond-btn.active .tvc-cond-pct,.tvc-loc-btn.active .tvc-cond-pct{color:#1B5E35;font-weight:600;}

/* ── RESULT PANEL ── */
.tvc-result-card{color:#fff;}
.tvc-result-hero{text-align:center;padding:18px 14px 14px;background:rgba(255,255,255,.05);border-radius:var(--tvc-radius);border:1px solid rgba(255,255,255,.08);margin-bottom:12px;}
.tvc-result-label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.42);margin-bottom:4px;}
.tvc-result-value{font-size:clamp(26px,4vw,38px);font-weight:900;color:var(--tvc-mint);letter-spacing:-.03em;line-height:1;transition:all .3s ease;}
.tvc-result-range{font-size:10px;color:rgba(255,255,255,.32);margin-top:4px;}

/* ── GAUGE ── */
.tvc-gauge-wrap{display:flex;justify-content:center;align-items:center;position:relative;margin-bottom:12px;}
.tvc-gauge{width:90px;height:90px;}
#tvc-gauge-ring{transition:stroke-dashoffset .6s cubic-bezier(.4,0,.2,1);}
.tvc-gauge-inner{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.tvc-gauge-pct{font-size:16px;font-weight:900;color:var(--tvc-mint);line-height:1;}
.tvc-gauge-sub{font-size:7px;color:rgba(255,255,255,.32);text-transform:uppercase;letter-spacing:.06em;margin-top:1px;}

/* ── BREAKDOWN ── */
.tvc-breakdown{background:rgba(255,255,255,.04);border-radius:9px;border:1px solid rgba(255,255,255,.07);padding:12px;margin-bottom:11px;}
.tvc-breakdown-title{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.28);margin-bottom:8px;}
.tvc-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px;}
.tvc-breakdown-row:last-child{border-bottom:none;}
.tvc-br-label{color:rgba(255,255,255,.42);}
.tvc-br-val{font-weight:600;color:rgba(255,255,255,.88);}
.tvc-br-total .tvc-br-label,.tvc-br-total .tvc-br-val{color:var(--tvc-mint);font-weight:800;font-size:12px;}

/* ── FORMULA ── */
.tvc-formula-box{background:rgba(74,222,128,.06);border:1px solid rgba(74,222,128,.13);border-radius:9px;padding:10px 12px;margin-bottom:11px;}
.tvc-formula-title{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--tvc-mint);margin-bottom:3px;font-weight:700;}
.tvc-formula-text{font-size:9px;color:rgba(255,255,255,.35);font-style:italic;margin-bottom:4px;}
.tvc-formula-live{font-size:9px;color:rgba(74,222,128,.72);font-family:'Courier New',monospace;line-height:1.7;word-break:break-all;}

/* ── PRINT BTN ── */
.tvc-print-btn{width:100%;padding:10px;background:linear-gradient(135deg,var(--tvc-g1),#047857);color:#fff;border:none;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;margin-bottom:9px;transition:all .18s;font-family:var(--tvc-font);}
.tvc-print-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(27,94,53,.4);}

/* ── DISCLAIMER ── */
.tvc-disclaimer{font-size:9px;color:rgba(255,255,255,.22);line-height:1.6;text-align:center;}

/* ── PRINT BRANDED HEADER ── */
.tvc-print-header{display:none;}
.tvc-print-divider{display:none;}

/* ── PRINT STYLES ── */
@media print {
  @page{size:A4 portrait;margin:10mm 12mm;}
  html,body{visibility:hidden !important;background:#fff !important;}
  .tvc-result-col,.tvc-result-col *{visibility:visible !important;}
  .tvc-result-col{position:fixed !important;top:0 !important;left:0 !important;width:100% !important;background:#fff !important;padding:8mm 10mm !important;border:none !important;box-shadow:none !important;border-radius:0 !important;}
  .tvc-print-header{display:flex !important;align-items:center !important;gap:10pt !important;margin-bottom:6pt !important;}
  .tvc-print-logo{width:60pt !important;height:60pt !important;object-fit:contain !important;border-radius:6pt !important;background:#fff !important;border:1pt solid #C8E6D4 !important;padding:2pt !important;flex-shrink:0 !important;}
  .tvc-print-brand{flex:1 !important;}
  .tvc-print-brand-name{font-family:Arial,sans-serif !important;font-size:15pt !important;font-weight:900 !important;color:#1B5E35 !important;line-height:1.1 !important;}
  .tvc-print-brand-tag{font-family:Arial,sans-serif !important;font-size:7pt !important;color:#8B6914 !important;font-weight:600 !important;letter-spacing:.06em !important;text-transform:uppercase !important;margin-top:1pt !important;}
  .tvc-print-brand-url{font-family:Arial,sans-serif !important;font-size:7pt !important;color:#4A7A62 !important;margin-top:2pt !important;}
  .tvc-print-meta{text-align:right !important;flex-shrink:0 !important;}
  .tvc-print-meta-label{font-family:Arial,sans-serif !important;font-size:8pt !important;font-weight:700 !important;color:#1B5E35 !important;background:#E8F5EE !important;border:1pt solid #C8E6D4 !important;border-radius:4pt !important;padding:2pt 7pt !important;display:inline-block !important;margin-bottom:3pt !important;}
  .tvc-print-meta-date{font-family:Arial,sans-serif !important;font-size:7pt !important;color:#333 !important;font-weight:600 !important;}
  .tvc-print-meta-method{font-family:Arial,sans-serif !important;font-size:6pt !important;color:#4A7A62 !important;margin-top:1pt !important;}
  .tvc-print-divider{display:block !important;width:100% !important;height:2pt !important;background:linear-gradient(90deg,#1B5E35,#8B6914,#1B5E35) !important;border-radius:1pt !important;margin-bottom:7pt !important;}
  .tvc-print-btn{display:none !important;visibility:hidden !important;}
  .tvc-gauge-wrap{display:none !important;visibility:hidden !important;}
  .tvc-result-hero{background:#E8F5EE !important;border:1pt solid #C8E6D4 !important;border-radius:5pt !important;padding:6pt 10pt !important;margin-bottom:5pt !important;text-align:center !important;}
  .tvc-result-label{color:#4A7A62 !important;font-size:7pt !important;}
  .tvc-result-value{color:#1B5E35 !important;font-size:22pt !important;font-weight:900 !important;}
  .tvc-result-range{color:#4A7A62 !important;font-size:8pt !important;}
  .tvc-breakdown{background:#F4FAF6 !important;border:1pt solid #C8E6D4 !important;border-radius:5pt !important;padding:5pt 8pt !important;margin-bottom:5pt !important;}
  .tvc-breakdown-title{color:#2D7A4F !important;font-size:7pt !important;margin-bottom:3pt !important;}
  .tvc-breakdown-row{padding:3pt 0 !important;font-size:8.5pt !important;border-bottom:.5pt solid #D8EDE4 !important;}
  .tvc-br-label{color:#4A7A62 !important;}
  .tvc-br-val{color:#1A3328 !important;font-weight:600 !important;}
  .tvc-br-total .tvc-br-label,.tvc-br-total .tvc-br-val{color:#1B5E35 !important;font-size:10pt !important;font-weight:800 !important;}
  .tvc-formula-box{background:#EAF5EE !important;border:1pt solid #B8DFC8 !important;border-radius:5pt !important;padding:4pt 8pt !important;margin-bottom:5pt !important;}
  .tvc-formula-title{color:#1B5E35 !important;font-size:7pt !important;}
  .tvc-formula-text{color:#4A7A62 !important;font-size:7pt !important;font-style:italic !important;}
  .tvc-formula-live{color:#2D7A4F !important;font-size:7.5pt !important;font-family:'Courier New',monospace !important;word-break:break-all !important;}
  .tvc-disclaimer{color:#888 !important;font-size:6.5pt !important;border-top:.5pt solid #D8EDE4 !important;padding-top:4pt !important;margin-top:3pt !important;}
}

/* ── RESPONSIVE ── */
@media(max-width:820px){.tvc-body{grid-template-columns:1fr;}.tvc-result-col{border-top:1px solid var(--tvc-border);border-radius:0 0 var(--tvc-radius) var(--tvc-radius);}.tvc-form-col{border-right:none;}.tvc-hero{padding:20px 18px 16px;}}
@media(max-width:480px){.tvc-condition-btns{grid-template-columns:repeat(2,1fr);}.tvc-hero{padding:16px 14px;}}
