:root{--p:#4F46E5;--p2:#4338CA;--pl:#EEF2FF;--ink:#111827;--mut:#6B7280;--line:#E5E7EB;--bg:#F9FAFB;--amb:#F59E0B}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:#fff}
a{color:var(--p)}a:hover{color:var(--p2)}
.wrap{max-width:1152px;margin:0 auto;padding:0 16px}   /* 前台統一寬度：與登入首頁（max-w-6xl＝1152px、左右 16px）、登入後的版面、公開公司頁相同 */
header.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);text-decoration:none}.brand img{width:32px;height:32px}
nav.m{display:flex;gap:18px;align-items:center;font-size:14px}nav.m a{color:#374151;text-decoration:none}nav.m a:hover{color:var(--p)}
.btn{display:inline-block;background:var(--p);color:#fff!important;text-decoration:none;padding:10px 20px;border-radius:10px;font-weight:600;border:0;cursor:pointer;font-size:15px}
.btn:hover{background:var(--p2)}.btn.ghost{background:#fff;color:var(--p)!important;border:1px solid var(--p)}
.hero{background:linear-gradient(180deg,var(--pl),#fff);padding:64px 0 48px}
.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.25;margin:0 0 14px}
.hero p.lead{font-size:18px;color:#374151;max-width:640px;margin:0 0 24px}
.pill{display:inline-block;font-size:13px;background:#fff;border:1px solid #C7D2FE;color:var(--p2);padding:3px 12px;border-radius:99px;margin-bottom:16px}
section{padding:48px 0}section.alt{background:var(--bg)}
h2{font-size:26px;margin:0 0 10px}h3{font-size:18px;margin:0 0 6px}
.sub{color:var(--mut);margin:0 0 28px}
.grid{display:grid;gap:16px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}@media(max-width:900px){.g3{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.g3,.g2{grid-template-columns:1fr}}   /* 固定欄數：auto-fit 在 1120px 會排出 4＋2 的不整齊（2026-11-07） */
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.card .ic{font-size:26px}.card p{margin:6px 0 0;color:#4B5563;font-size:15px}
.card a.more{display:inline-block;margin-top:10px;font-size:14px}
.tl{border-left:3px solid #C7D2FE;margin:8px 0 0 8px;padding-left:20px}
.tl .ev{position:relative;margin-bottom:18px}.tl .ev:before{content:"";position:absolute;left:-28px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--p);border:2px solid #fff}
.tl .d{font-size:13px;color:var(--mut)}.tl .src{font-size:12px;color:var(--mut)}
.ai{background:var(--pl);border-radius:10px;padding:10px 14px;font-size:14px;margin-top:6px}
.note{font-size:13px;color:var(--mut)}
.warn{background:#FFFBEB;border:1px solid #FDE68A;border-radius:12px;padding:14px 18px;font-size:15px}
table.pr{width:100%;border-collapse:collapse;font-size:15px}table.pr th,table.pr td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}table.pr th{background:#eef2ff;color:#3730a3;font-weight:600}table.pr td:not(:first-child){text-align:center}table.pr tbody th{background:#f8fafc;color:inherit;font-weight:500}
.steps{counter-reset:s;display:grid;gap:14px}.steps .card{position:relative;padding-left:58px}.steps .card:before{counter-increment:s;content:counter(s);position:absolute;left:18px;top:18px;width:28px;height:28px;border-radius:50%;background:var(--p);color:#fff;text-align:center;line-height:28px;font-weight:700}
form.wl{background:#fff;border:1px solid #C7D2FE;border-radius:16px;padding:22px;max-width:560px;box-shadow:0 8px 24px rgba(79,70,229,.08)}
form.wl label{display:block;font-size:14px;font-weight:600;margin:12px 0 4px}
form.wl input[type=email],form.wl select,form.wl textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #D1D5DB;border-radius:10px;background:#fff}
form.wl .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
form.wl .msg{margin-top:12px;font-size:14px}form.wl .ok{color:#047857}form.wl .bad{color:#B91C1C}
.faq details{border-bottom:1px solid var(--line);padding:12px 0}.faq summary{cursor:pointer;font-weight:600}.faq p{margin:8px 0 0;color:#4B5563}
footer{background:#111827;color:#9CA3AF;padding:32px 0;font-size:14px}footer a{color:#C7D2FE}footer .cols{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
.prose{max-width:720px}.wrap.prose{max-width:1152px}.wrap.prose>*{max-width:720px}   /* 長文頁：外框與頁首同寬（左邊對齊 logo），文字行寬仍限 720px 好讀 */.prose h2{margin-top:28px;font-size:20px}.prose li{margin:4px 0}
header.top nav.sub{margin:0 auto;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;font-size:14px}header.top nav.sub::-webkit-scrollbar{display:none}header.top nav.sub a{flex:none;padding:7px 12px;border-radius:8px;color:#374151;text-decoration:none;white-space:nowrap}header.top nav.sub a:hover{background:var(--pl);color:var(--p)}
@media(max-width:640px){nav.m a.hide{display:none}.hero{padding:40px 0 32px}}

/* 對外頁面頁首：與登入首頁（src/enterprise/PublicHeader.jsx）同位置同尺寸（2026-11-07，老闆指定；scripts/test-enterprise-layout.mjs 比對） */
header.top{position:static;background:#fff;backdrop-filter:none;border-bottom:1px solid #E5E7EB}
header.top .wrap.hd{display:flex;align-items:center;justify-content:space-between;height:auto;gap:12px;padding:12px 16px 4px}
header.top .brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:400}
header.top .brand img{width:38px;height:38px}
header.top .brand .bt{display:block;font-size:16px;line-height:1.25;font-weight:700;color:#111827}
header.top .brand .bs{display:block;font-size:11px;line-height:1.25;font-weight:400;color:#6B7280}
header.top .hr{display:flex;align-items:center;gap:12px}
header.top .en{white-space:nowrap;flex-shrink:0;border:1px solid #E5E7EB;border-radius:9999px;padding:6px 12px;font-size:12px;line-height:16px;color:#4B5563;text-decoration:none;background:#fff}
header.top .en:hover{background:#EEF2FF;color:#4B5563}
header.top .login{white-space:nowrap;flex-shrink:0;background:#4F46E5;color:#fff;border-radius:12px;padding:10px 20px;font-size:14px;line-height:20px;font-weight:600;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.05)}
header.top .login:hover{background:#4338CA;color:#fff}
header.top nav.sub{height:auto;align-items:stretch;gap:4px;padding:0 16px;font-size:14px;line-height:20px}
header.top nav.sub a{padding:8px 12px;font-weight:500;color:#374151;border-radius:8px 8px 0 0}
header.top nav.sub a:hover{background:#EEF2FF;color:#4338CA}
header.top nav.sub{justify-content:flex-start}   /* header.top .wrap 的 space-between 會套到導覽列（它也是 .wrap），讓導覽項目撐開到整個寬度 */
table.pr{table-layout:fixed}table.pr th:first-child{width:44%}table.pr th:not(:first-child){width:18.67%}   /* 方案表：三個方案欄等寬，價格不換行亂拆 */
@media(max-width:700px){table.pr{min-width:680px}}   /* 手機：方案表在自己的卷軸裡橫向捲動，不把欄位擠爆 */

/* 內文表格（指南頁）：框線、表頭底色、數字欄靠右由欄位內容決定，不另寫 */
.prose table:not(.pr){width:100%;border-collapse:collapse;font-size:15px;margin:12px 0}.prose table:not(.pr) th,.prose table:not(.pr) td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}.prose table:not(.pr) th{background:#eef2ff;color:#3730a3;font-weight:600;white-space:nowrap}.prose table:not(.pr) tbody tr:nth-child(even) td{background:#f8fafc}

/* 方案頁美化（2026-11-14）：價格卡、功能比較表、點數卡片 */
.phero{padding:48px 0 40px}.phero h1{font-size:clamp(28px,5vw,40px)}.phero p.lead{max-width:720px}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px;align-items:stretch}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px 24px;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(17,24,39,.05)}
.plan.rec{border:2px solid var(--p);box-shadow:0 12px 32px rgba(79,70,229,.18);transform:translateY(-6px)}
.plan .badge{position:absolute;top:-13px;left:24px;background:var(--p);color:#fff;font-size:12.5px;font-weight:600;padding:4px 12px;border-radius:99px}
.plan h3{margin:0 0 8px;font-size:18px}.plan .price{display:flex;align-items:baseline;gap:4px}.plan .price b{font-size:34px;line-height:1.2;letter-spacing:-.5px}.plan .price>span{color:#6b7280;font-size:15px}
.plan .pnote{margin:4px 0 16px;color:#6b7280;font-size:14px}.plan ul.pl{list-style:none;padding:0;margin:0 0 22px;flex:1}.plan ul.pl li{display:flex;gap:8px;padding:6px 0;font-size:15px;border-top:1px solid #f1f5f9}.plan ul.pl li:first-child{border-top:0}
.plan .btn{text-align:center}
.ck{color:#16a34a;font-weight:700}.no{color:#9ca3af}
table.pr{border:0;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}table.pr th,table.pr td{border:0;border-bottom:1px solid #eef0f4}
table.pr thead th{background:#4338ca;color:#fff;font-size:15px}table.pr thead th small{color:#e0e7ff;font-weight:400}
table.pr tbody th{background:#fff;color:#1f2937;font-weight:500}table.pr tbody tr:nth-child(even) th,table.pr tbody tr:nth-child(even) td{background:#f8fafc}
table.pr td:not(:first-child){text-align:center}
table.pr.pp{box-shadow:none;table-layout:auto}table.pr.pp th{width:auto;background:transparent!important}table.pr.pp td{text-align:right!important;white-space:nowrap;font-weight:600;color:#3730a3}table.pr.pp td:not(:first-child){width:auto}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;margin-top:16px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px}.pcard h3{margin:0 0 8px;font-size:17px}
ul.rules{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}ul.rules li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:15px}
section.alt .faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:10px 0}section.alt .faq summary{cursor:pointer;font-weight:600}
@media(max-width:900px){.plans{grid-template-columns:1fr}.plan.rec{transform:none}.pgrid{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){}
table.pr thead th small{font-size:13px;line-height:1.7}table.pr thead th small b{font-size:16px}
table.pr.pp,table.pr.pp tbody{display:block;width:100%;min-width:0}table.pr.pp tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,max-content);gap:4px 14px;align-items:start;padding:9px 0;border-bottom:1px solid #eef0f4}table.pr.pp tr:last-child{border-bottom:0}
table.pr.pp th,table.pr.pp td{display:block;border:0;padding:0;background:transparent!important;width:auto!important;white-space:normal!important;font-size:14.5px}table.pr.pp td{text-align:right!important;max-width:15em}
@media(max-width:700px){table.pr.pp{min-width:0}table.pr.pp tr{grid-template-columns:1fr}table.pr.pp td{text-align:left!important;max-width:none}}
@media(max-width:900px){.plan.rec{order:-1}}
