:root{
  --paper:#F4EBDB; --paper-2:#EFE4D0; --card:#FBF6EC; --card-hi:#FFFDF8;
  --ink:#2A2018; --ink-2:#6B5A49; --ink-3:#9A8770;
  --line:#E2D3B8; --line-soft:#EADDC6;
  --green:#1E9E39; --green-dim:#5FB873; --green-deep:#173404;
  /* 六階段色 */
  --s-new:#888780; --s-follow:#378ADD; --s-visit:#1D9E75;
  --s-sign:#7F77DD; --s-prep:#BA7517; --s-aftercare:#639922;
  --red:#E24B4A; --amber:#BA7517;
  --shadow:0 1px 2px rgba(60,40,20,.06), 0 6px 18px rgba(80,52,28,.07);
  --cjk:"Microsoft JhengHei","微軟正黑體","PingFang TC","Heiti TC","Noto Sans TC",sans-serif;
  --num:"Helvetica Neue",Arial,"Microsoft JhengHei",sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--cjk);
  font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;}
a{color:var(--green); text-decoration:none;}
button{font-family:var(--cjk); cursor:pointer;}
.wrap{max-width:860px; margin:0 auto; padding:0 16px;}

/* ---------- LP ---------- */
.lp-hero{background:var(--green-deep); color:#EAF3DE; padding:48px 0 40px;}
.lp-hero .eyebrow{font-size:13px; letter-spacing:3px; color:#9FE1CB; margin:0 0 12px;}
.lp-hero h1{font-size:clamp(28px,6vw,42px); font-weight:800; margin:0 0 14px; line-height:1.25;}
.lp-hero p{font-size:16px; color:#C0DD97; max-width:560px; margin:0;}
.adv{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin:32px 0;}
.adv .a{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; box-shadow:var(--shadow);}
.adv .a i{font-size:24px; color:var(--green);}
.adv .a h3{font-size:17px; font-weight:800; margin:8px 0 4px;}
.adv .a p{font-size:14px; color:var(--ink-2); margin:0;}
.money{display:flex; gap:12px; flex-wrap:wrap; margin:8px 0 36px;}
.money .m{flex:1 1 0; min-width:150px; background:var(--card-hi); border:1px solid var(--line); border-radius:14px; padding:16px 18px;}
.money .m small{font-size:13px; color:var(--ink-2);}
.money .m b{display:block; font-family:var(--num); font-size:26px; font-weight:800; color:var(--green); margin-top:4px;}
.sec-title{font-size:22px; font-weight:800; margin:40px 0 4px;}
.sec-sub{font-size:14px; color:var(--ink-3); margin:0 0 18px;}

/* booking */
.booking{background:var(--card); border:1px solid var(--line); border-radius:18px; padding:24px; box-shadow:var(--shadow); margin-bottom:60px;}
.field{margin-bottom:14px;}
.field label{display:block; font-size:14px; font-weight:700; margin-bottom:6px;}
.field input, .field select{width:100%; font-family:var(--cjk); font-size:15px; padding:11px 12px;
  border:1px solid var(--line); border-radius:10px; background:var(--card-hi); color:var(--ink);}
.field input:focus, .field select:focus{outline:2px solid var(--green-dim); border-color:var(--green);}
.slots{display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:8px;}
.slot{text-align:center; font-size:13px; padding:10px 6px; border:1px solid var(--line);
  border-radius:10px; background:var(--card-hi); transition:.15s;}
.slot.on{background:var(--green); color:#fff; border-color:var(--green);}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.btn-primary{width:100%; background:var(--green); color:#fff; font-size:16px; font-weight:800;
  border:none; border-radius:12px; padding:14px 0; margin-top:8px;}
.btn-primary:disabled{opacity:.5;}
.done-msg{text-align:center; padding:40px 20px;}
.done-msg i{font-size:48px; color:var(--green);}
.done-msg h2{font-size:22px; margin:12px 0 6px;}
.done-msg p{color:var(--ink-2); margin:0;}

/* ---------- ADMIN ---------- */
.adm-top{position:sticky; top:0; z-index:20; background:rgba(244,235,219,.95);
  backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.adm-top .inner{max-width:1200px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.adm-top b{font-size:16px; font-weight:800;}
.tabs{display:flex; gap:6px;}
.tab{font-size:14px; font-weight:600; color:var(--ink-2); background:var(--card); border:1px solid var(--line);
  border-radius:99px; padding:6px 14px;}
.tab.on{background:var(--ink); color:var(--card-hi); border-color:var(--ink);}
.adm-right{margin-left:auto; display:flex; align-items:center; gap:8px;}
.adm-right select, .adm-right input{font-family:var(--cjk); font-size:13px; padding:6px 8px;
  border:1px solid var(--line); border-radius:8px; background:var(--card-hi);}
.adm-body{max-width:1200px; margin:0 auto; padding:16px;}

/* board */
.board{display:grid; grid-template-columns:repeat(6,minmax(150px,1fr)); gap:10px; overflow-x:auto;}
.col-head{display:flex; align-items:center; gap:6px; font-size:13px; font-weight:800; margin-bottom:8px;}
.col-head .dot{width:9px; height:9px; border-radius:50%;}
.col-head .cnt{margin-left:auto; color:var(--ink-3); font-weight:600;}
.col-body{display:flex; flex-direction:column; gap:8px; min-height:40px;}
.kcard{background:var(--card-hi); border:1px solid var(--line); border-radius:10px; padding:9px 10px; cursor:pointer; transition:.12s;}
.kcard:hover{border-color:var(--green-dim);}
.kcard.stuck{border-left:3px solid var(--red); border-radius:0 10px 10px 0;}
.kcard .nm{font-size:14px; font-weight:700;}
.kcard .meta{font-size:11px; color:var(--ink-3); margin-top:2px; display:flex; gap:6px; flex-wrap:wrap; align-items:center;}
.grade{font-size:11px; font-weight:800; padding:1px 6px; border-radius:5px;}
.grade.A{background:#EAF3DE; color:#3B6D11;}
.grade.B{background:#FAEEDA; color:#854F0B;}
.grade.C{background:#F1EFE8; color:#5F5E5A;}
.stuck-tag{color:var(--red); font-weight:700;}
.owner-tag{background:var(--paper-2); border:1px solid var(--line); border-radius:99px; padding:0 7px;}

/* stats row */
.stats{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px;}
.stat{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:10px 16px;}
.stat b{font-family:var(--num); font-size:24px; font-weight:800; display:block;}
.stat small{font-size:12px; color:var(--ink-2);}
.stat.alert b{color:var(--red);}

/* 經營看板 */
.boss-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:14px;}
.boss-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; align-items:start;}
.boss-card{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 18px; box-shadow:var(--shadow);}
.adrow{display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; margin-bottom:12px;}
.adrow label{font-size:12px; color:var(--ink-2); display:flex; flex-direction:column; gap:3px;}
.adrow input{width:110px; font-size:14px; padding:7px 9px; border:1px solid var(--line); border-radius:8px; background:var(--card-hi);}
.adrow .adsave{background:var(--green); color:#fff; border:none; border-radius:8px; padding:8px 14px; font-weight:700; font-size:13px;}
.kvgrid{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.kv{background:var(--card-hi); border:1px solid var(--line-soft); border-radius:10px; padding:8px 10px;}
.kv span{display:block; font-size:11.5px; color:var(--ink-2);}
.kv b{font-family:var(--num); font-size:18px; font-weight:800;}
.boss-card h4{margin:0 0 10px; font-size:15px; font-weight:800;}
.frow{display:flex; align-items:center; gap:10px; margin-bottom:7px; font-size:13px;}
.frow .flabel{width:84px; flex:0 0 auto; color:var(--ink-2);}
.frow .fbar{flex:1; height:14px; background:var(--paper-2); border-radius:99px; overflow:hidden;}
.frow .ffill{display:block; height:100%; border-radius:99px; min-width:2px;}
.frow .fnum{width:26px; text-align:right; font-family:var(--num); font-weight:800;}
.big2{font-family:var(--num); font-size:32px; font-weight:800; color:var(--green-deep); line-height:1.1;}
.trow2{display:flex; justify-content:space-between; font-size:14px; padding:6px 0; border-bottom:1px dashed var(--line-soft);}
@media(max-width:680px){ .boss-grid{grid-template-columns:1fr;} }

/* today list */
.today{max-width:680px;}
.t-row{display:flex; align-items:center; gap:12px; background:var(--card-hi); border:1px solid var(--line);
  border-radius:12px; padding:12px 14px; margin-bottom:8px; cursor:pointer;}
.t-row i{font-size:20px;}
.t-row .body{flex:1;}
.t-row .t1{font-size:14px; font-weight:700;}
.t-row .t2{font-size:12px; color:var(--ink-2);}

/* audit */
.audit-row{font-size:13px; padding:9px 0; border-bottom:1px dashed var(--line-soft);}
.audit-row .when{color:var(--ink-3); font-size:12px;}
.audit-row .who{font-weight:700;}

/* modal */
.overlay{position:fixed; inset:0; background:rgba(40,30,20,.45); display:flex; align-items:flex-start;
  justify-content:center; padding:40px 16px; overflow-y:auto; z-index:50;}
.modal{background:var(--card); border-radius:16px; width:100%; max-width:540px; box-shadow:var(--shadow);}
.modal .mhead{display:flex; align-items:center; gap:10px; padding:16px 20px; border-bottom:1px solid var(--line);}
.modal .mhead h3{font-size:19px; font-weight:800; margin:0;}
.modal .mhead .x{margin-left:auto; background:none; border:none; font-size:22px; color:var(--ink-3);}
.modal .mbody{padding:16px 20px;}
.mrow{display:flex; gap:10px; margin-bottom:12px; flex-wrap:wrap;}
.mrow .f{flex:1; min-width:120px;}
.mrow label{font-size:12px; color:var(--ink-2); display:block; margin-bottom:3px;}
.mrow input, .mrow select, .modal textarea{width:100%; font-family:var(--cjk); font-size:14px; padding:8px 10px;
  border:1px solid var(--line); border-radius:8px; background:var(--card-hi);}
.modal textarea{min-height:60px; resize:vertical;}
.info-line{font-size:13px; color:var(--ink-2); margin:2px 0;}
.checklist{margin:10px 0;}
.checklist label{display:flex; align-items:center; gap:8px; font-size:14px; padding:5px 0; cursor:pointer;}
.checklist .ck-name{flex:1;}
.checklist .ck-time{font-size:12px; color:var(--green); font-weight:600; white-space:nowrap;}
.stage-bar{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0; padding-top:12px; border-top:1px solid var(--line);}
.sbtn{font-size:13px; font-weight:700; border:1px solid var(--line); border-radius:8px; padding:8px 12px; background:var(--card-hi);}
.sbtn.next{background:var(--green); color:#fff; border-color:var(--green);}
.sbtn.back{color:var(--ink-2);}
.sbtn.done{background:var(--ink); color:#fff; border-color:var(--ink);}
.sbtn.lost{color:var(--red); border-color:#F0997B;}
.mfoot{display:flex; gap:10px; padding:14px 20px; border-top:1px solid var(--line);}
.mfoot .save{flex:1; background:var(--green); color:#fff; font-weight:800; border:none; border-radius:10px; padding:11px 0; font-size:15px;}
.mfoot .del{background:none; border:1px solid #F0997B; color:var(--red); border-radius:10px; padding:11px 16px;}
.hist{margin-top:14px; padding-top:12px; border-top:1px solid var(--line);}
.hist h4{font-size:13px; margin:0 0 6px; color:var(--ink-2);}
.muted{color:var(--ink-3);}
.gate{max-width:380px; margin:80px auto; text-align:center;}
.gate input{width:100%; font-size:15px; padding:11px; border:1px solid var(--line); border-radius:10px; margin:12px 0;}

/* ---------- LP 延伸區塊 ---------- */
.lp-hero .cta-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px;}
.btn-cta{background:#fff; color:var(--green-deep); font-weight:800; font-size:15px; border:none;
  border-radius:12px; padding:13px 22px; display:inline-flex; align-items:center; gap:8px;}
.btn-cta.ghost{background:transparent; color:#EAF3DE; border:1px solid #5FB873;}
.lp-hero .trust{margin-top:18px; font-size:13px; color:#9FE1CB; display:flex; gap:16px; flex-wrap:wrap;}

.section-lp{padding:8px 0;}
.kicker{font-size:13px; letter-spacing:2px; color:var(--green); font-weight:700; margin:0 0 6px;}
.lead-lp{font-size:15px; color:var(--ink-2); max-width:620px; margin:0 0 8px;}

/* 痛點 */
.pains{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin:18px 0 6px;}
.pain{background:var(--card-hi); border:1px solid var(--line-soft); border-radius:14px; padding:16px;}
.pain i{font-size:22px; color:var(--amber);}
.pain h4{font-size:15.5px; margin:8px 0 4px;}
.pain p{font-size:13.5px; color:var(--ink-2); margin:0;}
.turn{font-size:17px; font-weight:800; color:var(--green-deep); margin:14px 0 0;}

/* 零庫存流程 */
.flow{display:flex; gap:8px; align-items:stretch; flex-wrap:wrap; margin:16px 0;}
.flow .f{flex:1 1 120px; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:12px; text-align:center;}
.flow .f .fn{font-family:var(--num); font-size:13px; font-weight:800; color:var(--green); }
.flow .f h5{font-size:14px; margin:4px 0 2px;}
.flow .f p{font-size:12px; color:var(--ink-2); margin:0;}
.flow .arr{display:flex; align-items:center; color:var(--green-dim); font-size:18px;}

/* 深色實績帶 */
.band{background:var(--green-deep); color:#EAF3DE; border-radius:18px; padding:26px 22px; margin:24px 0;}
.band h3{color:#fff; font-size:20px; margin:0 0 16px; font-weight:800;}
.band .nums{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:16px;}
.band .nums .n b{font-family:var(--num); font-size:30px; font-weight:800; color:#9FE1CB; display:block; line-height:1;}
.band .nums .n small{font-size:13px; color:#C0DD97;}

/* 對比表 */
.vs{width:100%; border-collapse:collapse; margin:14px 0; font-size:14px; background:var(--card-hi);
  border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.vs th, .vs td{padding:11px 12px; text-align:left; border-bottom:1px solid var(--line-soft);}
.vs thead th{background:var(--paper-2); font-weight:800;}
.vs thead th:nth-child(2){color:var(--green);}
.vs td:nth-child(2){font-weight:700; color:var(--green-deep);}
.vs td:nth-child(3){color:var(--ink-3);}
.vs tr:last-child td{border-bottom:none;}

/* 支援六格 */
.support{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin:16px 0;}
.support .s{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px; box-shadow:var(--shadow);}
.support .s i{font-size:24px; color:var(--green);}
.support .s h4{font-size:15.5px; margin:8px 0 4px;}
.support .s p{font-size:13.5px; color:var(--ink-2); margin:0;}

/* 案例 */
.cases{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; margin:16px 0;}
.case{background:var(--card-hi); border:1px solid var(--line); border-left:4px solid var(--green); border-radius:0 14px 14px 0; padding:16px;}
.case .who{font-size:14px; font-weight:800;}
.case .where{font-size:12px; color:var(--ink-3); margin-bottom:6px;}
.case p{font-size:13.5px; color:var(--ink-2); margin:0;}

/* 方案 */
.plan{background:var(--card); border:2px solid var(--green); border-radius:18px; padding:24px; margin:16px 0; box-shadow:var(--shadow);}
.plan .ttl{font-size:18px; font-weight:800; margin:0 0 4px;}
.plan .big{font-family:var(--num); font-size:38px; font-weight:800; color:var(--green-deep); margin:6px 0;}
.plan .big small{font-size:15px; color:var(--ink-2); font-family:var(--cjk); font-weight:600;}
.plan ul{margin:10px 0 0; padding-left:0; list-style:none;}
.plan li{font-size:14.5px; padding:7px 0; border-top:1px dashed var(--line-soft); display:flex; gap:9px; align-items:flex-start;}
.plan li i{color:var(--green); font-size:18px; flex:0 0 auto;}
.gift{background:#FBF2DC; border:1px dashed var(--amber); border-radius:14px; padding:16px; margin-top:14px;}
.gift h4{margin:0 0 6px; color:#854F0B; font-size:15.5px;}
.gift p{font-size:13.5px; color:#7c6230; margin:2px 0;}
.disclaimer{font-size:12px; color:var(--ink-3); margin-top:12px; line-height:1.6;}

/* 流程 timeline */
.timeline{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin:16px 0;}
.tl{background:var(--card-hi); border:1px solid var(--line); border-radius:12px; padding:14px;}
.tl .tn{width:26px; height:26px; border-radius:50%; background:var(--green); color:#fff; font-family:var(--num);
  font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center;}
.tl h5{font-size:14.5px; margin:8px 0 3px;}
.tl p{font-size:12.5px; color:var(--ink-2); margin:0;}

/* FAQ */
.faq details{background:var(--card-hi); border:1px solid var(--line); border-radius:12px; padding:0 16px; margin-bottom:8px;}
.faq summary{font-size:15px; font-weight:700; padding:14px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; color:var(--green); font-size:20px;}
.faq details[open] summary::after{content:"–";}
.faq details p{font-size:14px; color:var(--ink-2); margin:0 0 14px;}

.foot-legal{font-size:12px; color:var(--ink-3); line-height:1.8; border-top:1px solid var(--line); margin-top:30px; padding:20px 0 60px;}

/* ---------- LP 圖片 ---------- */
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:30px; align-items:center;}
.hero-photo{width:100%; border-radius:16px; display:block; box-shadow:0 12px 34px rgba(0,0,0,.28);}
.split{display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:center; margin:14px 0;}
.split img{width:100%; border-radius:14px; display:block; box-shadow:var(--shadow);}
.section-img{width:100%; border-radius:14px; display:block; box-shadow:var(--shadow); margin:14px 0;}
.band-grid{display:grid; grid-template-columns:1.25fr 1fr; gap:26px; align-items:center;}
.map-card{background:#fff; border-radius:14px; padding:10px;}
.map-card img{width:100%; display:block; border-radius:8px;}
.case{padding:0; overflow:hidden; border-left:none; border-radius:14px;}
.case .cimg{width:100%; height:150px; object-fit:cover; display:block;}
.case .cbody{padding:14px 16px; border-left:4px solid var(--green);}
@media(max-width:720px){
  .hero-grid{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .band-grid{grid-template-columns:1fr;}
}
