/* ============================================================
   HORIZONPACK — estimator.css
   成本估价器专用样式
   ============================================================ */
:root{
  --est-accent:#FF7A45;
  --est-accent-2:#2B6CFF;
  --est-ink:#1c2433;
  --est-muted:#6b7688;
  --est-line:#e7eaf0;
  --est-bg:#f5f7fb;
  --est-card:#ffffff;
  --est-good:#1f9d6b;
}
*{box-sizing:border-box}
body{background:var(--est-bg);color:var(--est-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;}

/* top bar */
.est-topbar{position:sticky;top:0;z-index:50;background:#0e1424;padding:14px 0;}
.est-topbar-inner{display:flex;align-items:center;justify-content:space-between;}
.est-top-actions{display:flex;align-items:center;gap:18px;}
.est-home{color:#cdd6e6;text-decoration:none;font-size:14px;}
.est-home:hover{color:#fff;}
.lang-toggle{display:inline-flex;background:#1c2740;border-radius:999px;padding:3px;cursor:pointer;}
.lang-opt{padding:5px 12px;font-size:13px;color:#9fb0c9;border-radius:999px;user-select:none;}
.lang-opt.active{background:var(--est-accent);color:#fff;}

/* hero */
.est-hero{padding:46px 0 26px;text-align:center;}
.est-kicker{display:inline-block;font-size:12px;letter-spacing:.22em;color:var(--est-accent);font-weight:700;margin-bottom:10px;}
.est-hero h1{font-size:34px;margin:0 0 12px;font-weight:800;}
.est-hero p{max-width:720px;margin:0 auto;color:var(--est-muted);line-height:1.7;font-size:15px;}

/* grid */
.est-grid{display:grid;grid-template-columns:1.55fr .95fr;gap:26px;align-items:start;padding-bottom:60px;}
.est-inputs{display:flex;flex-direction:column;gap:18px;}
.est-card{background:var(--est-card);border:1px solid var(--est-line);border-radius:16px;padding:22px 22px 24px;box-shadow:0 8px 24px rgba(20,30,60,.04);}
.est-card h3{margin:0 0 16px;font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px;}
.est-card h3::before{content:"";width:4px;height:16px;background:var(--est-accent);border-radius:2px;display:inline-block;}

.est-field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.est-field>span{font-size:13px;color:var(--est-muted);font-weight:600;}
.est-field input,.est-field select{
  width:100%;padding:11px 13px;border:1px solid var(--est-line);border-radius:10px;
  font-size:15px;background:#fcfdff;color:var(--est-ink);transition:border-color .15s,box-shadow .15s;
}
.est-field input:focus,.est-field select:focus{outline:none;border-color:var(--est-accent);box-shadow:0 0 0 3px rgba(255,122,69,.14);}
.est-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.est-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.est-row3 .est-field,.est-row2 .est-field{margin-bottom:0;}

/* checkboxes */
.est-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;}
.est-checks label{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--est-ink);cursor:pointer;padding:8px 10px;border:1px solid var(--est-line);border-radius:10px;transition:border-color .15s,background .15s;}
.est-checks label:hover{border-color:var(--est-accent);}
.est-checks input{width:17px;height:17px;accent-color:var(--est-accent);}

.est-hint{font-size:12.5px;color:var(--est-muted);line-height:1.6;margin:10px 0 0;}

/* advanced params */
.est-params summary{cursor:pointer;font-size:15px;font-weight:700;list-style:none;}
.est-params summary::-webkit-details-marker{display:none;}
.est-params summary::before{content:"▸";color:var(--est-accent);margin-right:8px;}
.est-params[open] summary::before{content:"▾";}
#estParamGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:16px;}
.param-field{display:flex;flex-direction:column;gap:5px;}
.param-field label{font-size:12.5px;color:var(--est-muted);font-weight:600;}
.param-field .param-unit{color:#aab3c2;font-weight:500;font-size:11px;}
.param-field input{width:100%;padding:8px 10px;border:1px solid var(--est-line);border-radius:8px;font-size:14px;}

/* result */
.est-result{position:sticky;top:88px;}
.est-result-card{border:1px solid var(--est-line);}
.est-result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.est-result-head h3{margin:0;}
.est-style-tag{font-size:12.5px;background:rgba(255,122,69,.12);color:var(--est-accent);padding:5px 12px;border-radius:999px;font-weight:700;}

.est-unit{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:16px 18px;background:linear-gradient(135deg,#fff7f3,#fef0ea);border:1px solid #ffd9c7;border-radius:14px;margin-bottom:18px;}
.est-unit-main{display:flex;flex-direction:column;gap:3px;}
.est-unit-label{font-size:12.5px;color:var(--est-muted);font-weight:600;}
.est-unit-main strong{font-size:30px;color:var(--est-ink);line-height:1;}
.est-unit-usd{font-size:14px;color:var(--est-accent);font-weight:600;}
.est-unit-total{flex-direction:column;display:flex;align-items:flex-end;gap:3px;}
.est-unit-total strong{font-size:22px;color:var(--est-ink);}

.est-breakdown{width:100%;border-collapse:collapse;font-size:14px;}
.est-breakdown tr{border-bottom:1px dashed var(--est-line);}
.est-breakdown td{padding:9px 2px;}
.est-breakdown td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;}
.est-breakdown .bd-group td{font-size:12px;font-weight:700;color:var(--est-muted);text-transform:uppercase;letter-spacing:.04em;padding-top:14px;border-bottom:none;}
.est-breakdown .bd-total td{font-size:15px;font-weight:800;border-top:2px solid var(--est-ink);border-bottom:none;padding-top:12px;}
.est-breakdown .bd-profit td{color:var(--est-good);}
.est-breakdown .bd-quote td{font-size:16px;color:var(--est-accent);font-weight:800;border-top:2px solid var(--est-accent);border-bottom:none;padding-top:12px;}

.est-actions{display:flex;gap:12px;margin-top:20px;}
.est-actions .btn{flex:1;text-align:center;padding:13px 10px;font-size:14px;border-radius:11px;}
.btn-primary{background:var(--est-accent);color:#fff;border:none;text-decoration:none;font-weight:700;transition:transform .12s,box-shadow .12s;}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(255,122,69,.34);}
.btn-ghost{background:#fff;color:var(--est-ink);border:1px solid var(--est-line);cursor:pointer;font-weight:600;}
.btn-ghost:hover{border-color:var(--est-accent);color:var(--est-accent);}
.est-foot{font-size:11.5px;color:#9aa4b4;margin:14px 0 0;text-align:center;line-height:1.5;}

.est-footer{margin-top:0;}

/* admin-only (factory control: margin & unit-price editor) */
.est-admin-only{display:none !important;}

/* responsive */
@media (max-width:880px){
  .est-grid{grid-template-columns:1fr;}
  .est-result{position:static;}
  .est-hero h1{font-size:27px;}
}
@media (max-width:520px){
  .est-row3{grid-template-columns:1fr;}
  .est-checks{grid-template-columns:1fr;}
  #estParamGrid{grid-template-columns:1fr;}
  .est-unit{flex-direction:column;align-items:flex-start;gap:14px;}
  .est-unit-total{align-items:flex-start;}
}
