:root{--brand:#2C64ED;--brand-dark:#1D4BC2;--green:#197038;--green-light:#E5F2EA;--accent:#D97B48;--accent-light:#FBEFE6;--purple:#8A3DB9;--light:#EDF2FD;--ink:#1F2328;--gray:#5F6773;--line:#DDE3EC;--bg:#F5F7FA;--danger:#C0392B;--danger-light:#FBEAE8}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;color:var(--ink);background:var(--bg);line-height:1.75;-webkit-text-size-adjust:100%}a{color:var(--brand-dark)}.wrap{max-width:820px;margin:0 auto;padding:28px 16px 80px}.wrap-narrow{max-width:560px}.wrap-medium{max-width:640px}header.page-header{position:relative;text-align:center;padding:24px 0 22px;margin-bottom:26px}header.page-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--brand),var(--green),var(--accent),var(--purple))}header.page-header h1{color:var(--ink);font-size:1.5rem;letter-spacing:.5px}header.page-header p{color:var(--gray);margin-top:6px;font-size:.9375rem}header.page-header .logo{height:2.75rem;width:auto;margin-bottom:10px}.notice{background:var(--light);border-left:4px solid var(--brand);padding:14px 18px;border-radius:6px;margin-bottom:22px;font-size:.9375rem}.notice p+p{margin-top:6px}.notice.notice-danger{background:var(--danger-light);border-left-color:var(--danger);color:#7A241A;font-weight:600}.notice.notice-ok{background:var(--green-light);border-left-color:var(--green)}.notice.notice-warn{background:var(--accent-light);border-left-color:var(--accent)}.card,section.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px;box-shadow:0 1px 3px rgba(31,35,40,.04)}.card h2,section.card h2{color:var(--brand);font-size:1.125rem;margin-bottom:4px}.card h3{font-size:.9375rem;margin:14px 0 6px}.hint{color:var(--gray);font-size:.875rem;margin-bottom:14px}.field{margin-bottom:16px}.field:last-child{margin-bottom:0}label.q{display:block;font-weight:700;font-size:.9375rem;margin-bottom:6px}label.q .req{color:var(--danger);margin-left:2px}label.q .spec{font-weight:400;color:var(--gray);font-size:.8125rem}.field-error{border-left:4px solid var(--danger);background:#FEF5F4;padding:10px 0 10px 12px;border-radius:6px;scroll-margin-top:20px}input[type=email],input[type=file],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],select,textarea{width:100%;padding:10px 12px;border:1px solid #c8d1dd;border-radius:6px;font-size:1rem;font-family:inherit;background:#FCFDFE;color:var(--ink)}input[readonly]{background:#F1F3F6;color:var(--gray)}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);border-color:transparent}textarea{min-height:88px;resize:vertical}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 14px;gap:0 14px}@media (max-width:600px){.grid-2{grid-template-columns:1fr}}.choice-list{display:grid;grid-gap:10px;gap:10px}.choice{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;background:#fff;font-weight:400}.choice input{margin-top:5px;accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.choice b{display:block}.choice span{font-size:.875rem;color:var(--gray)}.choice.active{border-color:var(--green);background:var(--green-light)}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:.9375rem}.check input{margin-top:5px;accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.btn,button{display:inline-block;border:none;border-radius:8px;padding:12px 24px;font-size:.9375rem;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;text-align:center}.btn-main{background:var(--brand);color:#fff}.btn-main:hover{background:var(--brand-dark)}.btn-main:disabled{background:#B9C0CB;cursor:not-allowed}.btn-sub{background:#fff;color:var(--brand);border:2px solid var(--brand)}.btn-sub:hover{background:var(--light)}.btn-line{background:#06C755;color:#fff}.btn-sm{padding:6px 12px;font-size:.8125rem;border-radius:6px}.btn-danger{background:var(--danger);color:#fff}.btn-block{width:100%}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.badge.gray{background:#ECEEF1;color:#50565F}.badge.orange{background:var(--accent-light);color:#A9531F}.badge.green{background:var(--green-light);color:var(--green)}.badge.blue{background:var(--light);color:var(--brand-dark)}.badge.red{background:var(--danger-light);color:var(--danger)}.badge.purple{background:#F3EAF9;color:var(--purple)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;background:#fff}table{width:100%;border-collapse:collapse;font-size:.875rem}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#FAFBFC;white-space:nowrap}th,th button{color:var(--gray);font-weight:700;font-size:.8125rem}th button{background:none;padding:0}tr:hover td{background:#F7F9FD}td.num,th.num{text-align:right;white-space:nowrap}td .sub{display:block;font-size:.75rem;color:var(--gray)}.funnel{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}@media (max-width:900px){.funnel{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.funnel{grid-template-columns:repeat(2,1fr)}}.funnel-step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;text-align:left;font-weight:400}.funnel-step.active{border-color:var(--brand);box-shadow:0 0 0 2px var(--light)}.funnel-step .label{font-size:.8125rem;color:var(--gray)}.funnel-step .num{font-size:1.625rem;font-weight:700;color:var(--ink);line-height:1.3}.funnel-step .rate{font-size:.75rem;color:var(--gray)}.funnel-step .bar{height:6px;border-radius:3px;background:#ECEEF1;margin-top:8px;overflow:hidden}.funnel-step .bar i{display:block;height:100%;background:var(--brand)}.funnel-step:last-child .bar i{background:var(--purple)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.875rem;font-weight:600;color:var(--ink)}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.chip .count{font-weight:400;margin-left:4px;opacity:.8}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.toolbar input[type=search]{flex:1 1 240px;width:auto}.toolbar select{width:auto}.spacer{flex:1 1}.kv{display:grid;grid-template-columns:9em 1fr;grid-gap:6px 14px;gap:6px 14px;font-size:.9375rem}.kv dt{color:var(--gray)}.kv dd{overflow-wrap:anywhere}@media (max-width:520px){.kv{grid-template-columns:1fr}.kv dt{margin-top:8px}}.product-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;padding:12px;border:1px solid var(--line);border-radius:8px}.product-row>div{flex:1 1;min-width:0}.error-text{color:var(--danger);font-size:.875rem;font-weight:700;margin-top:6px}.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 22px;border-radius:20px;font-size:.875rem;z-index:99;max-width:calc(100vw - 32px)}.admin-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:18px}.admin-top h1{font-size:1.25rem}.admin-top nav{display:flex;gap:8px;flex-wrap:wrap}.footer-ver{margin-top:30px;text-align:center;font-size:.75rem;color:var(--gray)}pre.copy{white-space:pre-wrap;background:#F6F8FA;border:1px solid var(--line);border-radius:8px;padding:12px;font-family:inherit;font-size:.875rem}.choice-list.cols-2{grid-template-columns:1fr}@media (min-width:768px){.wrap{padding:40px 32px 96px}.card,section.card{padding:28px 32px;margin-bottom:24px}.choice-list.cols-2{grid-template-columns:1fr 1fr}header.page-header .logo{height:3.25rem}form button.btn-main.btn-block[type=submit]{display:block;max-width:26rem;margin-left:auto;margin-right:auto}}@media (min-width:1024px){html{font-size:17px}.wrap{max-width:980px}.wrap-narrow{max-width:680px}.wrap-medium{max-width:760px}header.page-header{padding:32px 0 28px;margin-bottom:32px}header.page-header h1{font-size:1.875rem}header.page-header .logo{height:4.25rem;margin-bottom:14px}.grid-2{gap:0 24px}}@media (min-width:1440px){html{font-size:18px}.wrap{max-width:1060px}.wrap-narrow{max-width:720px}.wrap-medium{max-width:820px}}.wrap-wide{max-width:1240px}