/* ===== 家具搬运上楼费计算器 · 电梯井剖面 / 搬运工单视觉（B9） ===== */
:root{
  --fcu-bg:#eef1f3;--fcu-paper:#ffffff;--fcu-ink:#1c2228;--fcu-sub:#5e6770;
  --fcu-line:#dde3e8;--fcu-brand:#e2631b;--fcu-brand-2:#2b6f8c;
  --fcu-soft:#f1f4f6;--fcu-danger:#c0392b;--fcu-ok:#2f7d52;--fcu-warn:#c8901a;
  --fcu-shadow:0 10px 30px -16px rgba(20,40,60,.32);
  --fcu-radius:18px;--fcu-mono:"SFMono-Regular",ui-monospace,Menlo,Consolas,monospace;
}
:root[data-theme="dark"]{
  --fcu-bg:#14181c;--fcu-paper:#1c2127;--fcu-ink:#e8edf1;--fcu-sub:#9aa6b1;
  --fcu-line:#2a323a;--fcu-brand:#ff8a3d;--fcu-brand-2:#5fb0cf;
  --fcu-soft:#222932;--fcu-danger:#e57365;--fcu-ok:#74c08f;--fcu-warn:#e8c34d;
  --fcu-shadow:0 12px 34px -16px rgba(0,0,0,.6);
}
.fcu{background:var(--fcu-bg);color:var(--fcu-ink);padding:26px 0 70px;line-height:1.7;
  font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;}
.fcu *{box-sizing:border-box;}
.fcu .container{max-width:1180px;}
.bcx{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--fcu-sub);margin:6px 0 18px;}
.bcx a{color:var(--fcu-sub);text-decoration:none;transition:.18s;}
.bcx a:hover{color:var(--fcu-brand);}
.bcx .sep{opacity:.55;}
.bcx .cur{color:var(--fcu-ink);font-weight:600;}
/* HERO */
.fcu-hero{display:grid;grid-template-columns:1.35fr .9fr;gap:26px;align-items:center;margin-bottom:24px;}
.fcu-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fcu-brand);font-weight:700;margin-bottom:12px;}
.fcu-kicker::before{content:"";width:26px;height:2px;background:var(--fcu-brand);border-radius:2px;}
.fcu-hero h1{font-size:clamp(28px,4vw,42px);line-height:1.16;margin:0 0 12px;font-weight:800;letter-spacing:-.01em;}
.fcu-hero h1 em{font-style:normal;color:var(--fcu-brand);}
.fcu-lead{font-size:16px;color:var(--fcu-sub);margin:0;max-width:48ch;}
.fcu-lead b{color:var(--fcu-ink);font-weight:700;}
/* 电梯楼层牌装饰 */
.fcu-board{background:linear-gradient(160deg,var(--fcu-paper),var(--fcu-soft));border:1px solid var(--fcu-line);
  border-radius:16px;padding:18px 20px;box-shadow:var(--fcu-shadow);position:relative;overflow:hidden;}
.fcu-board::before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,var(--fcu-brand-2) 0%,transparent 70%);opacity:.16;}
.fcu-board .bd-top{display:flex;justify-content:space-between;align-items:center;position:relative;}
.fcu-board .bd-lamp{width:12px;height:12px;border-radius:50%;background:var(--fcu-ok);box-shadow:0 0 0 4px rgba(47,125,82,.18);}
.fcu-board .bd-elev{font-family:var(--fcu-mono);font-size:34px;font-weight:800;color:var(--fcu-brand-2);line-height:1;}
.fcu-board .bd-sub{font-size:12.5px;color:var(--fcu-sub);margin-top:8px;position:relative;}
.fcu-board .bd-bars{display:flex;gap:4px;margin-top:14px;position:relative;align-items:flex-end;height:54px;}
.fcu-board .bd-bars i{flex:1;background:var(--fcu-line);border-radius:3px 3px 0 0;display:block;}
.fcu-board .bd-bars i.on{background:var(--fcu-brand);}
/* 网格 */
.fcu-grid{display:grid;grid-template-columns:1.32fr .92fr;gap:24px;align-items:start;}
.fcu-panel{background:var(--fcu-paper);border:1px solid var(--fcu-line);border-radius:var(--fcu-radius);padding:22px;box-shadow:var(--fcu-shadow);}
.fcu-step{margin-bottom:22px;}
.fcu-step:last-child{margin-bottom:0;}
.fcu-steph{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;}
.fcu-steph .n{font-family:var(--fcu-mono);font-size:13px;font-weight:700;color:#fff;background:var(--fcu-brand);
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;}
.fcu-steph h3{margin:0;font-size:16.5px;font-weight:700;}
.fcu-steph .hint{font-size:12.5px;color:var(--fcu-sub);margin-left:auto;}
.fcu-dimgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;}
.fcu-field{display:flex;flex-direction:column;gap:6px;}
.fcu-field label{font-size:13px;color:var(--fcu-sub);font-weight:600;}
.fcu-field .unit{color:var(--fcu-brand);font-weight:700;}
.fcu-field input,.fcu-field select{font:inherit;color:var(--fcu-ink);background:var(--fcu-soft);
  border:1.5px solid var(--fcu-line);border-radius:10px;padding:10px 12px;transition:.16s;width:100%;}
.fcu-field input:focus,.fcu-field select:focus{outline:none;border-color:var(--fcu-brand);box-shadow:0 0 0 3px rgba(226,99,27,.15);}
.fcu-pills{display:flex;flex-wrap:wrap;gap:10px;}
.fcu-pill{border:1.5px solid var(--fcu-line);border-radius:12px;padding:10px 14px;cursor:pointer;background:var(--fcu-soft);
  transition:.16s;font-size:14px;display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:max-content;}
.fcu-pill:hover{border-color:var(--fcu-brand-2);}
.fcu-pill.on{border-color:var(--fcu-brand);background:var(--fcu-paper);box-shadow:0 0 0 3px rgba(226,99,27,.14);font-weight:600;}
.fcu-pill .dot{width:9px;height:9px;border-radius:50%;background:var(--fcu-brand-2);}
.fcu-pill.on .dot{background:var(--fcu-brand);}
.fcu-pill small{display:block;font-size:11px;color:var(--fcu-sub);font-weight:400;}
/* 家具清单 */
.fcu-batch{margin-top:6px;}
.fcu-batchhd{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.fcu-batchhd h3{margin:0;font-size:16px;}
.fcu-batchhd .sp{margin-left:auto;display:flex;gap:8px;}
.fcu-tbl{width:100%;border-collapse:collapse;font-size:13.5px;}
.fcu-tbl th,.fcu-tbl td{padding:8px 7px;border-bottom:1px solid var(--fcu-line);text-align:left;vertical-align:middle;}
.fcu-tbl th{font-size:12px;color:var(--fcu-sub);font-weight:600;}
.fcu-tbl td.ri{text-align:right;font-family:var(--fcu-mono);}
.fcu-tbl tr:hover td{background:var(--fcu-soft);}
.fcu-tbl input,.fcu-tbl select{font:inherit;color:var(--fcu-ink);background:var(--fcu-soft);border:1px solid var(--fcu-line);
  border-radius:8px;padding:6px 8px;width:100%;min-width:54px;}
.fcu-tbl input:focus,.fcu-tbl select:focus{outline:none;border-color:var(--fcu-brand);}
.fcu-tbl .tg{display:flex;gap:4px;align-items:center;}
.fcu-tbl .tg label{font-size:11.5px;color:var(--fcu-sub);display:flex;gap:3px;align-items:center;cursor:pointer;}
.fcu-del{color:var(--fcu-danger);cursor:pointer;border:none;background:none;font-size:16px;line-height:1;}
.fcu-totrow td{border-top:2px solid var(--fcu-brand);border-bottom:none;font-weight:700;}
.fcu-totrow td.ri{color:var(--fcu-brand);}
.fcu-empty{padding:16px;text-align:center;color:var(--fcu-sub);font-size:13.5px;border:1.5px dashed var(--fcu-line);border-radius:12px;}
.fcu-err{color:var(--fcu-danger);font-size:12.5px;margin-top:8px;min-height:1em;}
/* 结果工单 */
.fcu-result{position:sticky;top:84px;}
.fcu-waybill{background:var(--fcu-paper);border:1px solid var(--fcu-line);border-radius:16px;padding:18px 20px;
  box-shadow:var(--fcu-shadow);position:relative;}
.fcu-waybill::before,.fcu-waybill::after{content:"";position:absolute;top:14px;width:14px;height:14px;border-radius:50%;background:var(--fcu-bg);}
.fcu-waybill::before{left:-7px;}.fcu-waybill::after{right:-7px;}
.fcu-wbhd{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed var(--fcu-line);
  padding-bottom:10px;margin-bottom:12px;font-size:12px;color:var(--fcu-sub);letter-spacing:.04em;}
.fcu-wbhd b{color:var(--fcu-brand);}
.fcu-big{font-family:var(--fcu-mono);font-size:30px;font-weight:800;color:var(--fcu-brand);line-height:1.1;letter-spacing:-.02em;}
.fcu-big small{font-size:14px;color:var(--fcu-sub);font-weight:600;}
.fcu-units{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px;}
.fcu-chip{font-size:12.5px;background:var(--fcu-soft);border:1px solid var(--fcu-line);border-radius:8px;padding:5px 10px;}
.fcu-chip b{color:var(--fcu-brand);}
.fcu-lift{margin:12px 0;background:var(--fcu-soft);border:1px solid var(--fcu-line);border-radius:12px;padding:12px 14px;font-size:13px;}
.fcu-lift .lh{font-weight:700;color:var(--fcu-brand-2);margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.fcu-shaft{display:flex;gap:3px;align-items:flex-end;height:48px;margin-top:8px;}
.fcu-shaft i{flex:1;background:var(--fcu-line);border-radius:2px 2px 0 0;}
.fcu-shaft i.on{background:var(--fcu-brand);}
.fcu-lift .warn{color:var(--fcu-warn);font-weight:600;}
.fcu-break{margin-top:8px;}
.fcu-break .brow{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 0;color:var(--fcu-sub);border-bottom:1px dashed var(--fcu-line);}
.fcu-break .brow b{color:var(--fcu-ink);font-family:var(--fcu-mono);}
.fcu-break .brow.tot{border-bottom:none;font-weight:700;color:var(--fcu-ink);font-size:15px;padding-top:10px;}
.fcu-break .brow.tot b{color:var(--fcu-brand);}
.fcu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.fcu-btn{border:1.5px solid var(--fcu-line);background:var(--fcu-soft);color:var(--fcu-ink);border-radius:12px;
  padding:11px;font:inherit;font-weight:700;cursor:pointer;transition:.16s;font-size:14px;}
.fcu-btn:hover{border-color:var(--fcu-brand);color:var(--fcu-brand);}
.fcu-btn.primary{background:var(--fcu-brand);color:#fff;border-color:var(--fcu-brand);}
.fcu-btn.primary:hover{filter:brightness(1.06);color:#fff;}
.fcu-add{width:100%;margin-top:14px;background:var(--fcu-brand-2);color:#fff;border:none;}
.fcu-add:hover{filter:brightness(1.06);color:#fff;}
/* AI */
.fcu-ai{margin-top:24px;}
.fcu-card{background:var(--fcu-paper);border:1px solid var(--fcu-line);border-radius:var(--fcu-radius);padding:22px;box-shadow:var(--fcu-shadow);}
.fcu-card h3{margin:0 0 6px;font-size:18px;}
.fcu-card .sub{color:var(--fcu-sub);font-size:13.5px;margin:0 0 14px;}
.fcu-aiout{margin-top:14px;border:1px solid var(--fcu-line);border-radius:12px;padding:14px 16px;background:var(--fcu-soft);
  font-size:14px;white-space:pre-wrap;display:none;max-height:360px;overflow:auto;}
.fcu-aiout.show{display:block;}
.fcu-aiout b,.fcu-aiout strong{color:var(--fcu-brand);}
.fcu-capt{font-size:12px;color:var(--fcu-sub);margin-top:8px;}
.fcu-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}
.fcu-note{background:var(--fcu-paper);border:1px solid var(--fcu-line);border-radius:14px;padding:16px 18px;}
.fcu-note h4{margin:0 0 6px;font-size:15px;color:var(--fcu-brand);}
.fcu-note p{margin:0;font-size:13.5px;color:var(--fcu-sub);}
.fcu-sec{margin-top:34px;}
.fcu-sec h2{font-size:23px;margin:0 0 6px;}
.fcu-sec .lead{color:var(--fcu-sub);font-size:14.5px;margin:0 0 16px;}
.fcu-faq{display:grid;gap:10px;}
.fcu-q{border:1px solid var(--fcu-line);border-radius:12px;background:var(--fcu-paper);overflow:hidden;}
.fcu-q summary{cursor:pointer;padding:14px 18px;font-weight:600;font-size:15px;list-style:none;display:flex;justify-content:space-between;gap:10px;}
.fcu-q summary::-webkit-details-marker{display:none;}
.fcu-q summary::after{content:"+";color:var(--fcu-brand);font-weight:800;font-size:18px;}
.fcu-q[open] summary::after{content:"−";}
.fcu-q .a{padding:0 18px 16px;color:var(--fcu-sub);font-size:14px;}
.fcu-rel{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.fcu-rel a{font-size:13.5px;border:1px solid var(--fcu-line);border-radius:20px;padding:7px 14px;color:var(--fcu-ink);text-decoration:none;transition:.16s;}
.fcu-rel a:hover{border-color:var(--fcu-brand);color:var(--fcu-brand);}
.fcu-disclaim{margin-top:26px;font-size:12.5px;color:var(--fcu-sub);background:var(--fcu-soft);border:1px dashed var(--fcu-line);border-radius:12px;padding:12px 16px;}
.fcu-print{display:none;}
@media print{
  .fcu .container>.fcu-hero,.fcu-grid,.fcu-sec,.fcu-ai,.fcu-rel,.fcu-disclaim{display:none !important;}
  body{background:#fff;}.fcu{background:#fff;padding:0;}
  .fcu-print{display:block;padding:24px;color:#000;font-size:13px;}
  .fcu-print h2{margin:0 0 4px;}.fcu-print .ph{color:#444;margin:0 0 16px;font-size:12px;}
  .fcu-print table{width:100%;border-collapse:collapse;margin-top:12px;}
  .fcu-print th,.fcu-print td{border:1px solid #999;padding:7px 8px;text-align:left;font-size:12px;}
  .fcu-print tfoot td{font-weight:700;border-top:2px solid #000;}
  .fcu-print .pp{margin-top:14px;font-size:12px;color:#333;}
}
@media(max-width:980px){
  .fcu-hero,.fcu-grid{grid-template-columns:1fr;}
  .fcu-result{position:static;}.fcu-notes{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .fcu-actions{grid-template-columns:1fr;}
  .fcu-hero h1{font-size:28px;}
}
